diseŇo de sistemas digitales avanzados con vhdl e ...dea.unsj.edu.ar/sda/lab 3_sda.pdf · realice...

14
DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e IMPLEMENTADOS en FPGAs Laboratorio 3 Objetivo Utilización de las instrucciones concurrentes CSA, SSA, component- declaration y component-instantiation aprendidas en clase. Familiarización con el software Quartus y con el software ModelSim. Uso y escritura de test bench para verificar funcionalmente el correcto comportamiento de un sistema descrito en VHDL. Visualización de los principales caminos críticos en un sistema combinacional. Distintos componentes de un camino crítico. Uso de archivo de restricción para pines E/S del FPGA vinculados a hardware del board DE2-115. Configuración del FPGA con el código VHDL correspondiente. Parte A Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits de entrada que codifica un número entre 0 y 15. El decodificador tiene siete salidas desde ‘a’ hasta ‘g’, correspondiendo cada letra a un segmento del LED display. Cada segmento es activo en bajo. Compruebe el funcionamiento del decodificador mediante la simulación adecuada del mismo. En el test bench use instrucción assert para verificar en código el correcto funcionamiento de la descripción realizada.

Upload: others

Post on 11-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

DISEŇO de SISTEMAS DIGITALES AVANZADOS

CON VHDL e IMPLEMENTADOS en FPGAs

Laboratorio 3

Objetivo

Utilización de las instrucciones concurrentes CSA, SSA, component-

declaration y component-instantiation aprendidas en clase.

Familiarización con el software Quartus y con el software ModelSim.

Uso y escritura de test bench para verificar funcionalmente el correcto

comportamiento de un sistema descrito en VHDL.

Visualización de los principales caminos críticos en un sistema

combinacional. Distintos componentes de un camino crítico.

Uso de archivo de restricción para pines E/S del FPGA vinculados a

hardware del board DE2-115. Configuración del FPGA con el código VHDL

correspondiente.

Parte A

Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene

cuatro bits de entrada que codifica un número entre 0 y 15. El decodificador tiene

siete salidas desde ‘a’ hasta ‘g’, correspondiendo cada letra a un segmento del

LED display. Cada segmento es activo en bajo. Compruebe el funcionamiento del

decodificador mediante la simulación adecuada del mismo. En el test bench use

instrucción assert para verificar en código el correcto funcionamiento de la

descripción realizada.

Page 2: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 2

Parte B

Usando component-declaration y component-instantiation describa el siguiente

sistema en VHDL. Compruebe su funcionamiento con un test bench. Trate de usar

for-generate para el multiplexado de los contadores.

Deco

Hex - 7Segments

C_2

C_3

C_4

C_1

Sel

b0

b1

b2

b3

Nota 1: Los bloques C_1-C_4 son contadores de 4 bits que serán implementados

en el próximo laboratorio. Por ahora lo único que interesa es que cada contador

tiene 4 bits de salida.

Nota 2: Las salidas de los contadores C_1-C_4 no han sido conectados para una

mayor claridad del diagrama. Pero todas deben ser conectadas como entradas en

la entidad.

Parte C

Usando el proyecto realizado en el punto A de este laboratorio, escriba un archivo

de restricción (constraint file) en el que se asigne las señales de entrada del a

switches, y las salidas a los LEDs disponibles en el board DE2-115.

Page 3: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 3

Compruebe la correcta asignación de la señales de entrada/salida con los

respectivos pines de E/S del FPGA revisando el reporte de respectivo.

Una vez comprobado el correcto funcionamiento en simulación, genere el archivo

de configuración del FPGA.

Finalmente se procederá a configurar el Cyclone IV (en el laboratorio).

Parte D

Usando el proyecto realizado en el punto B de este laboratorio, escriba un archivo

de restricción (constraint file) en el que se asigne los pines de E/S de su entidad a

los correspondientes pines de E/S para controlar un display de 7 segmentos

disponible en el board DE2-115.

Asocie las entradas de los contadores, y el selector del multixplexer con los

switches disponibles en el board (SW17-SW0), y las del decodificador de Hex-

7Segm con uno de los display 7 segmentos disponible.

Compruebe la correcta asignación de la señales de entrada/salida con los

respectivos pines de E/S del FPGA revisando el reporte de respectivo.

Genere el modelo de simulación post-place and route. Ejecute una simulación

Post Place-Route. Verifique en ModelSim el retardo de propagación de los

elementos combinacionales.

Una vez comprobado el correcto funcionamiento en simulación, genere el archivo

de configuración del FPGA.

Finalmente se procederá a configurar el Cyclone IV (en el laboratorio).

Informe

Presentar un informe completo del diseño siguiendo las reglas especificadas en la

guía para la presentación de informes de laboratorios.

Page 4: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 4

De la parte D de este laboratorio, incluya en el informe una captura de pantalla

del retardo de propagación capturado en ModelSim. También el RTL esquemático

del retardo de propagación más largo.

Los códigos escritos para los distintos componentes deben ser agregados al

informe como apéndices.

Presentar un ítem en el informe describiendo los problemas encontrados y sus

respectivas soluciones. Como así también los warnings generados por el Quartus y

sus soluciones.

Page 5: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 5

Apéndice A

Pines del FPGA a los que entran los switches de la placa.

Apéndice B

Pines del FPGA que controlan los LEDs verdes y LEDs rojos.

Page 6: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 6

Apéndice D

Pines del FPGA que controlan el primer 7 segmentos.

Page 7: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 7

Apéndice E

Verificación de la correcta asignación de pines de E/S.

Apéndice F

Como obtener el camino crítico en un sistema combinacional.

a) Genere y trate de entender el esquemático generado por RTL Viewer.

b) Genere y trate de entender el esquemático generado por Technology Map Viewer (Post-

Fitting).

c) Ejecute “TimeQuest Timing Analysis”

d) Ejecute “TimeQuest Timing Analyzer”

a. En el panel “Tasks” haga doble click en “Report Path …”

1

2

Page 8: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 8

b. En la nueva ventana, “Report Path”, en el panel “Targets” se deben seleccionar

todos los caminos (paths) que se deseen analizar con la herramienta “TimeQuest

Timing Analyzer”. Entonces aquí se deberán introducir los puntos de partida,

“From”, y los puntos de llegada, “To”, de los posibles caminos de las señales del

sistema a analizar.

c. Presionar el cuadrado de los tres puntos, , relacionados a “From”. En la

ventana emergente, “Name Finder”, dejar el ‘*’ como ‘Filter’ (es decir que liste

TODOS los “From” posibles. Presionando el botón “List”, aparecerán los nombres

de las señales que pueden usarse como ‘From’. Seleccione las señales que son

entradas al sistema, luego presione , para pasar las senales a la ventana de

‘Selected Names’. Luego de este proceso deberia tener algo similar a lo

siguiente:

Page 9: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 9

d. Presione OK.

e. Presione los tres puntos relacionados a ‘To’, . En la En la ventana emergente,

“Name Finder”, dejar el ‘*’ como ‘Filter’ (es decir que liste TODOS los ‘To’

posibles. Presionando el botón “List”, aparecerán los nombres de las señales que

pueden usarse como ‘To’. Seleccione las señales que son salidas al sistema, luego

presione , para pasar las senales a la ventana de ‘Selected Names’. Luego de

este proceso deberia tener algo similar a lo siguiente:

Page 10: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 10

f. Presione OK.

g. En la ventana ‘Report Path’ cambie ‘Report number of paths’ a 10 (para que

muestre los 10 caminos críticos). La configuración de la ventana ‘Report Path’

debería ser similar a la siguiente:

Page 11: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 11

h. Click ‘Report Path’.

i. En el panel ‘Report Path’ se presentaran los 10 caminos críticos para las señales

seleccionas como ‘From’ y como ‘To’.

Page 12: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 12

j. Al seleccionar uno de los diez caminos críticos, por ejemplo el 1 (que es el camino

de mayor retardo), en la ventana inferior se muestra un detalle del camino

crítico. En realidad hay tres distintas ventanas: ‘Path Summary’, ‘Statistics’, y

‘Data Path’. ;

i. ‘Path Summary’ detalla el punto de partida, ‘From Node ’, el punto de

llegada ’To Node’ y el retardo,’Delay’.

ii. ‘Statistics’ detalla el retardo máximo, y luego lo descompone en el

retardo de interconexión, IC, y el retardo lógico, CELL. Detalla también el

porcentaje de contribución de cada tipo de retardo al retardo total, y los

valores mínimo y máximo de cada uno de estos retardos.

k. ‘Data Path’ detalla los números concretos de cada retardos lógico, CELL, y de

cada retardos de interconexión, IC. Incluso se detalla la locación de la celda

lógica usada. Por ejemplo para el camino critico número 1, el detalla de retardos

lógicos y de interconexión es el siguiente:

Page 13: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 13

l. Para poder ver el camino critico dentro del FPGA, TimeQuest ofrece distintas

opciones. Primero se debe seleccionar que camino critico se quiere visualizar, y

luego se presiona botón derecho del mouse y se selecciona ‘Locate Path’. Esto es

localizar el camino seleccionado.

m. Una vez presionado ‘Locate Path’ la ventana ‘Locate’ aparecerá con sus tres

opciones. Para el propósito de este laboratorio selecciones ‘Technology View’.

Debería obtener una vista similar a la siguiente:

Page 14: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab 3_SDA.pdf · Realice un decodificador de Hexadecimal a 7-segmentos. El decodificador tiene cuatro bits

Cristian Sisterna DSDA – Lab 3 14

n. Presione los símbolos ‘+’ para obtener un mayor detalle del circuito

implementado:

o. A los fines de tener una mayor información de la distribución de la lógica y

retardos del circuito implementado seleccione “Chip Planner’ en el punto ‘m’

anterior. En este caso se detalla la ubicación física de modo grafico del camino

crítico dentro del FPGA.