Instrumentación - Universidad Complutense de Madrid

Anuncio
1
tema 6: instrumentación
Diseño Automático de Sistemas
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
2
Xilinx ChipScope
 Es un conjunto de herramientas de Xilinx que permiten analizar en tiempo real el
comportamiento temporal de cualquier señal de un diseño volcado sobre una FPGA
 Funciona como un analizador lógico de muestreo síncrono:
© J.M. Mendías, 2012
 captura el valor de la señal en un flanco del reloj del sistema
 no requiere modificar el diseño ni la configuración del proyecto
 monitoriza cualquier conjunto de señales en tiempo real y de forma no intrusiva
 ¿Cómo utilizar ChipScope para depurar un diseño?:
 Sintetizar e implementar normalmente la especificación.
 Insertar en la netlist del diseño los cores de muestreo – ChipScope Core Inserter
 Alternativamente pueden instanciarse directamente en el VHDL – Core Generator
 Re-implementar la netlist (sin re-sintetizar la especificación).
 Bajar el conjunto a la FPGA en modo Boundary Scan (JTAG) – Xilinx Impact
 Configurar el analizador y arrancar el muestreo – ChipScope Analizer
 las muestras se toman en la FPGA cuando se cumplen las condiciones de disparo.
 una vez recogidas se envían a través de JTAG al PC para ser visualizadas.
diseño automático de sistemas
3
ChipScope Core Inserter (i)
 Inserta en la netlist (*.ngc) de un diseño un conjunto de cores configurados ad-hoc
para muestrear síncronamente bajo ciertas condiciones disparo el valor de un
conjunto dado de señales de la netlist.
© J.M. Mendías, 2012
 ILA: analizador lógico que integra "sondas", lógica de disparo y memoria de muestras.
 ICON: comunica a través de JTAG los cores ILA con el ChipScope Analyzer
 La inserción se realiza a través de un asistente que permite:




Seleccionar la netlist del diseño que se desea depurar (Input Design Netlist).
Seleccionar el dispositivo (Device Family)
Insertar un core (o varios) de análisis lógico (New ILA Unit)
Configurar el core de análisis lógico:
 Configurar los parámetros de disparo (Trigger Parameters).
 Configurar los parámetros de captura (Capture Parameters).
 Seleccionar las señales del diseño que se desean muestrear (Net Connections).
 Insertar el sistema de muestreo en la netlist del diseño que se desea depurar (Insert).
diseño automático de sistemas
4
ChipScope Core Inserter (ii)
Selección de la netlist a depurar y del tipo de dispositivo de volcado
© J.M. Mendías, 2012
netlist
dispositivo
diseño automático de sistemas
5
ChipScope Core Inserter (iii)
© J.M. Mendías, 2012
Insertar cores de análisis lógico
insertar core
diseño automático de sistemas
6
ChipScope Core Inserter (iv)
Configuración de los parámetros de disparo
 Determina el número y características de los "pods" de disparo
© J.M. Mendías, 2012




Número de "pods" de disparo – Number of Input Trigger Ports
Número de "sondas" por "pod" – Trigger width
Número de unidades de comparación por "pod" – # Match Units
Funcionalidad de las unidades de comparación – Match Type
 Basic (==, <>)
 Extended (==, <>, >, <, >=, <=)
 Range (==, <>, >, <, >=, <=, “in range”, “not in range”)
 Cada uno de ellos puede ser configurado para detectar transiciones (opción 'edges).
 Las unidades de comparación pueden estar asociados a contadores de ocurrencias de
cierta anchura (Counter Width)
 Al menos n ocurrencias de la condición de disparo
 Exactamente n ocurrencias de la condición de disparo
 Al menos n ocurrencias consecutivas de la condición de disparo
 Las unidades de comparación pueden ser combinadas en una expresión lógica y
encadenadas en una cascada (Enable Trigger Sequencer) de n niveles (Max Number of
Sequencer Levels)
 Asimismo las unidades de comparación pueden usarse para determinar que clase de
valores se almacenan una vez disparado el muestreo (Enable Storage Qualification)
diseño automático de sistemas
7
ChipScope Core Inserter (v)
© J.M. Mendías, 2012
Configuración de los parámetros de disparo
diseño automático de sistemas
8
ChipScope Core Inserter (vi)
Configuración de los parámetros de captura
 Determina como se realiza la captura de datos
© J.M. Mendías, 2012
 Flanco de reloj bajo el que se muestrean las señales – Sample on ... Clock Edge
 Si los "pods" de datos son los mismos que los de disparo - Data Same As Trigger
 en caso de ser distintos, número de "sondas" del "pod" de datos – Data Width
 Número máximo de muestras que pueden tomarse por el "pod" de datos tras el disparo Depth of sampling
Selección de las señales del diseño que se desean muestrear
 Conecta (Modify / Make Connections) cada "sonda" a una señal del diseño
 Las "sondas" de cada "pod" de disparo (Trigger Signals) y de cada "pod" de datos (Data
Signals) se conectan a las señales del diseño que correspondan.
 La "sonda" de reloj (Clock Signals) debe conectarse al reloj que define el dominio de las
señales muestreadas (clk_BUFGP).
diseño automático de sistemas
9
ChipScope Core Inserter (vii)
© J.M. Mendías, 2012
Configuración de los parámetros de captura
diseño automático de sistemas
10
ChipScope Core Inserter (viii)
© J.M. Mendías, 2012
Selección de las señales del diseño que se desean muestrear
diseño automático de sistemas
11
ChipScope Core Inserter (ix)
© J.M. Mendías, 2012
Selección de las señales del diseño que se desean muestrear
diseño automático de sistemas
12
Xilinx Impact
© J.M. Mendías, 2012
 Es una herramienta que asiste la configuración de FPGAs/CPLDs según distintos
modos de comunicación (Boundary Scan, Slave Serial, etc.) y a través de cables
específicos de Xilinx, permitiendo:




Bajar configuraciones (download) .
Subir configuraciones (read back) .
Depurar problemas de configuración.
Crear ficheros de configuración en distintos formatos.
diseño automático de sistemas
13
ChipScope Analyzer (i)
© J.M. Mendías, 2012
 Permite configurar los elementos de analizador lógico, arrancar/parar la
monitorización de señales y visualizar las formas de onda resultantes a través de
JTAG.
 Los elementos a configurar antes de arrancar la monitorización son:
 Valores y número de ocurrencias para disparar el muestreo (Match Functions)
 Muestras que deben almacenarse hasta agotar la profundidad de muestreo (Capture
Settings)
 n muestras desde cada disparo
 una ventana (o varias) de n muestras donde el disparo está en una cierta posición de
la ventana.
 Habilitar/desabilitar/combinar condiciones de disparo (Trigger Conditions)
diseño automático de sistemas
14
© J.M. Mendías, 2012
ChipScope Analyzer (ii)
diseño automático de sistemas
Descargar