Departamento de Sistemas e Informática Chip Scope – ISE Prueba/verificación del circuito TC - 2016 Concepto de test CBT • Test lógico/funcionamiento/ • Test de retrasos /dinámico/ • Test paramétrico/estático/ (tensiones umbral, intensidad, fugas, etc) Si la exploración es exhaustiva En circ. sumador de 32 bits a 107 vectores/s Cir. secuencial de 16 entradas y 32 biestables 600 siglos!!! 10 meses !!! Pruebas • Tests aleatorios • Tests pseudo exhaustivos • Técnicas heurísticas Debugging (depuración) • En SW es una actividad habitual – Agregamos sentencias “print” • Monitoreo del flujo del proceso • Monitoreo de valores de variables – Uso de “debuggers” • Cómo hacemos un debug en HW? – Es más, cómo hacemos un debug SW y HW al mismo tiempo? Monitoreo de señales Teóricamente, una señal sobre un circuito impreso puede ser testeada • Punta de prueba, osciloscopio, analizador lógico Cómo ver el estado dentro de un chip? • un registro, un bus, etc. Protocolo JTAG (Joint Test Action Group) • Joint Test Action Group (JTAG) es un grupo de la industria formado en 1985 para desarrollar métodos de verificar circuitos impresos (PCBs) • En 1990 se convierte en el estándar del IEEE 1149.1 titulado “Standard Test Access Port and Boundary- Scan Architecture” (conocido por las siglas abreviadas BST) • A partir de 1990 es adoptado masivamente por los fabricantes de dispositivos, y sus usos se han diversificado notablemente • En 1994 se agrega la especificación del Boundary Scan Description Language (BSDL) • Actualmente, Boundary-scan , JTAG y BST son sinónimos Aplicaciones • Test de PCBs. Puede testearse la integridad de las pistas y de las soldaduras de un circuito impreso. • Test de ASICs. De manera similar puede testearse la lógica interna de los dispositivos. Se inyectan vectores de test sobre las entradas del diseño y se evalúan las salidas. • Programación de FLASHs. Las memorias FLASHs pueden ser programadas usando los pines de un dispositivo JTAG, sin desprenderlas del circuito impreso. • Programación de μCs • Programación de CPLDs y FPGAs ChipScope (ISE) • Herramienta para el monitoreo de señales en tiempo real dentro de la FPGA • Tiene dos componentes principales: – Cores embebidos en la fpga para captura, almacenamiento y comunicación de valores de señales. – Aplicaciones software que permiten leer y visualizar las señales en la PC El fabricante de FPGA provee visibilidad interna •Acceso a las señales internas y nodos de la FPGA •Acceso a los buses implementados en la FPGA Usa los tiempos (mismo clock) del diseño Mínimos pins extras para el debug • Acceso via interfase JTAG/BST (Join Test Action Group)/(Boundary-Scan Test). Integrated logic analyzer (ILA) Integrated Controller (ICON)) Integrated bus analyzer (IBA) Cuatro cores: o ICON (Integrated Controller) core, provee un camino de comunicación a través de los puertos JTAG Boundary Scan del chip con hasta 15 ILA core. o ILA (Integrated Logic Analyzer) core de captura y analizador lógico (parametrizable) o IBA/OPB (Integrated Bus Analyzer for the IBMMR CoreConnectOn-Chip Peripheral Bus core). Nucleo para capturar buses CoreConnect OPB. o IBA/PLB (Integrated Bus Analyzer for CoreConnect Processor Local Bus core): Similar al IBA/OPB core, pero para el bus PLB Aplicación en un caso Sistema: Se reciben caracteres de la PC por el puerto serie. Si son números decimales menor o igual a 9 se los muestra en los leds, codificados en binarios. De recibir cualquier otro caracter, se encienden todos los leds Resulta conveniente modificar el siguiente parámetro de síntesis: Creando una nueva fuente ChipScope Doble clic Reduce la cantidad de lógica usada Crea un core más rápido Cantidad de puertos a testear Cantidad de bits de cada puerto Cantidad de muestras a guardar Muestrea con el flanco positivo Seleccionar la señal de reloj y hacer la conexión En cada pestaña hacer conexión con una señal a muestrear 2º 1º En la ventana de procesos del ISE Generar archivo de configuración Configurar FPGA En la ventana de procesos del ISE Se lanza el analizador de ChipScope Verificar Clic Se abre esta ventana y se seleccionan las señales de disparo Seleccionar la condición lógica de disparo y la cantidad de muestras Contador de 8 bits con Clk_En Contador de 8 bits con Clk_En Doble clic 3º 1º 2º Doble clic Doble clic Visualiza inmediatamente de producido el Trigger El El trigger triguer ocurre a los 8 ciclos de producido el flanco subida de enable ¿…..?