diseŇo de sistemas digitales avanzados con vhdl e ...dea.unsj.edu.ar/sda/lab_4_sda.pdf · realizar...

10
Cristian Sisterna DSDA – Lab 4 1 DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e IMPLEMENTADOS en FPGAs Laboratorio 4 Objetivos Interpretación de información especificada en hojas de datos o especificaciones de diseño Utilización de las instrucciones secuenciales, concurrentes y paquetes aprendidos en clase. Comprensión de la metodología de diseño jerárquico (top-to-down). Uso de archivo de restricción para asignar los pines E/S del FPGA vinculados a hardware del board DE2-115. Uso de sincronizadores. Escritura de restricción de tiempo, frecuencia de trabajo del sistema, en el archivo de restricción. Uso y escritura de test bench para verificar funcionalmente el correcto comportamiento de un sistema descrito en VHDL. Utilización de la herramienta MegaWizard para la generación de un divisor de frecuencia basado en PLL. Configuración del FPGA del board DE2-115 con el código VHDL correspondiente. Parte A Realizar la descripción en VHDL de un sincronizador de señales asincrónicas. Verificar su comportamiento con un test bench. El sincronizador debe ser controlado por flanco positivo de reloj, y con entrada de reset activa en bajo. Nota: este módulo sincronizador será usado para todas las entradas asincrónicas que use en los próximos laboratorios.

Upload: buikhue

Post on 26-Jan-2019

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 1

DISEŇO de SISTEMAS DIGITALES AVANZADOS

CON VHDL e IMPLEMENTADOS en FPGAs

Laboratorio 4

Objetivos

Interpretación de información especificada en hojas de datos o

especificaciones de diseño

Utilización de las instrucciones secuenciales, concurrentes y paquetes

aprendidos en clase.

Comprensión de la metodología de diseño jerárquico (top-to-down).

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

a hardware del board DE2-115.

Uso de sincronizadores.

Escritura de restricción de tiempo, frecuencia de trabajo del sistema, en el

archivo de restricción.

Uso y escritura de test bench para verificar funcionalmente el correcto

comportamiento de un sistema descrito en VHDL.

Utilización de la herramienta MegaWizard para la generación de un divisor

de frecuencia basado en PLL.

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

correspondiente.

Parte A

Realizar la descripción en VHDL de un sincronizador de señales asincrónicas.

Verificar su comportamiento con un test bench. El sincronizador debe ser

controlado por flanco positivo de reloj, y con entrada de reset activa en bajo.

Nota: este módulo sincronizador será usado para todas las entradas asincrónicas que use en los próximos laboratorios.

Page 2: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 2

Parte B

Realizar la descripción en VHDL de un circuito antirebote. Verificar su

comportamiento con un test bench. El circuito debe ser controlado por flanco

positivo de reloj, y con entrada de reset activa en bajo.

Nota: este módulo sincronizador será usado para todas las entradas asincrónicas que use en los próximos laboratorios

Parte C

Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use

dos bits de entrada como selección de la cantidad de bits.

Nota: como ayuda, use la nota técnica disponible en ‘Material de la Catedra’.

Genere la vista RTL View y trate de comprender el circuito resultante.

Verifique su funcionalidad con un test bench ejecutando su simulación

funcional y simulación post-place & route (gate level simulation).

Encuentre y analice el camino crítico del circuito LFSR de 12 bits. Agregue al

informe el esquemático, y tabla de retardos respectivos.

Parte D

El Kit de desarrollo DE2-115 tiene un oscilador de 50MHz como entrada de reloj al

FPGA. Realice un divisor de frecuencias para obtener las siguientes frecuencias:

0.1Hz, 0.5Hz, 1Hz, 2Hz y 5Hz.

Describa en VHDL el divisor de frecuencia, usando constantes para los

diferentes valores máximos del divisor.

Como selector de frecuencia de salida use las llaves (switches) disponibles en

el board.

Sincronice las entradas asincrónicas con la frecuencia del reloj de entrada al

FPGA.

Utilice el módulo de conversor BCD-7Segmentos del laboratorio anterior

para mostrar en los display 7 segmentos la frecuencia seleccionada por la

Page 3: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 3

llave respectiva (no hace falta usar el punto; por ejemplo para 0.5 muestre

05).

Para cada combinación de las llaves (switches), la frecuencia seleccionada

deberá excitar el LED_0 del board

Compruebe el funcionamiento funcional del código VHDL con un Test Bench.

Analice que pasa con el tiempo real y el tiempo de simulación cuando simule

su circuito.

Escriba el correspondiente archivo de restricciones (constraints file).

Recuerde detallar en el constraint file la frecuencia de trabajo de su sistema.

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

respectivos I/O pads del FPGA revisando el PAD report.

Genere el bitstream y configure el FPGA.

Compruebe el correcto funcionamiento del sistema al cambiar las llaves

seleccionadoras de frecuencia como así también la correcta indicación del

valor de frecuencia en los display 7 segmentos respectivos.

Parte E

Realizar un mismo divisor de frecuencia similar al de la Parte D, pero en este caso

el reloj de 50MHz será la entrada de reloj de un PLL.

Utilice la herramienta MegaWizard para configurar el PLL de modo de

obtener a la salida la frecuencia mínima posible.

Describa en VHDL un divisor de frecuencia para dividir la frecuencia de salida

del PLL, de modo de tener a las salidas del divisor de frecuencia, las mismas

frecuencias que en la Parte B. Agregue como salida la señal de lock del PLL,

la que a su vez deberá excitar un led que indicará cuando el PLL está LOCK.

Como selector de frecuencia de salida use las llaves (switches) disponibles

en el board.

Sincronice las entradas asincrónicas con la frecuencia del reloj de entrada al

FPGA.

Page 4: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 4

Utilice el módulo de conversor BCD-7Segmentos del laboratorio anterior

para mostrar en los display 7 segmentos la frecuencia seleccionada por la

llave respectiva (no hace falta usar el punto; para 0.5 muestre 05).

Para cada combinación de las llaves (switches), la frecuencia seleccionada

deberá excitar el LED_0 del board

Compruebe el funcionamiento funcional del código VHDL con un Test Bench.

Escriba el correspondiente archivo de restricciones (constraints file).

Recuerde detallar en el constraint file la frecuencia de trabajo de su sistema.

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

respectivos I/O pads del FPGA revisando el PAD report.

Genere el bitstream y configure el FPGA.

Compruebe el correcto funcionamiento del sistema al cambiar las llaves

seleccionadoras de frecuencia como asi también la correcta indicación del

valor de frecuencia en los display 7 segmentos respectivos.

Parte F

Ahora está en condiciones de completar la Parte B del Laboratorio 3. Reemplace

las ‘cajas negras’ de cada uno de los contadores por:

Un contador LFSR (descripto en la Parte A del presente laboratorio)

Un contador BCD

Un contador DOWN

Un contador UP

Describa el modulo Top Level con todos los componentes necesarios.

Como señal de reloj para los contadores utilice la salida de 1Hz (un

segundo) del divisor de frecuencias realizado en la Parte D o E de este

laboratorio

Utilice una señal de reset asincrónica.

Sincronice las entradas asincrónicas con la frecuencia del reloj de entrada

al FPGA.

Page 5: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 5

Dibuje un detallado diagrama en bloques del diseño que implemente.

Compruebe el correcto funcionamiento del sistema descripto mediante

la adecuada simulación del mismo.

Investigue el timing report, y descubra cual es el camino más crítico de

este diseño. Realice un dibujo esquemático del mismo, el que puede ser

obtenido usando la herramienta correspondiente.

Escriba un archivo de restricción (contraint file) donde especifique la

frecuencia de funcionamiento de su diseño.

Asigne los I/O pads respectivos.

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

respectivos I/O pads del FPGA revisando el reporte de entradas y salidas

(Inputs and Outputs reports).

Genere el modelo de simulación post-place and route (proceso Generate

Post-Place & Route Simulation Model). Abrir el archivo *.vho en el

directorio del proyecto y ver su estructura. Opcional: abrir el archivo *.sdf

en el directorio del proyecto y comente con respecto a los tres valores

que cada componente tiene en su instancia.

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

el archivo de configuración del FPGA.

Configurar el Cyclone IV en el laboratorio.

Compruebe al correcto funcionamiento del sistema implementado en el

kit DE2-115.

Parte G

Modulación por ancho de pulsos (PWM)

La modulación por ancho de pulsos consiste en generar una señal digital

periódica con período (T) constante, pero con distintos tiempos para el estado alto

(TA) y estado en bajo (TB).

Page 6: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 6

A la relación TA/T se le conoce como Ciclo de Trabajo (Duty Cycle), y es

específicamente esto lo que se desea modificar. Puede demostrarse que el valor

medio de la señal periódica es directamente proporcional al ciclo de trabajo, por lo

que la aplicación más utilizada de PWM es “emular” un voltaje analógico a través

de una salida digital, siendo útil en algunos casos como parte de un conversor D/A.

Utilizando un contador de 8 bits describa en VHDL un módulo que sea capaz

de generar una señal de PWM que varíe su tiempo en alto (TA) desde 0 a 255 ciclos

de reloj, es decir, un ciclo de trabajo desde 0% a 100%.

Duty_Cycle es un bus de datos de 8 bits donde se coloca el ciclo de trabajo que se

desea generar.

v(t)

t

TA

TB

T

PWM

8

PWM_OUT LOAD

RESET

CLK

DUTY_CYCLE

Page 7: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 7

Load es la entrada que, al colocar un estado alto, causa que el módulo tome

(registre) el valor de Duty_Cycle y comience a generar la señal de PWM. Nótese

que la señal de salida no debe cambiar si Duty_Cycle cambia y Load está en estado

lógico bajo.

PWM_OUT es la salida por la cual se genera la señal PWM.

Verifique el comportamiento del módulo mediante una simulación

funcional del mismo.

Configure el FPGA con el respectivo bitstream. Use los dip-switches como

entradas para el ‘duty_cycle’, y para la salida use un LED para visualizar

‘pwm_out’, pero también use un pin de un conector para poder ver la

salida en un osciloscopio o en un analizador lógico.

Informe

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

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

informe como apéndices.

Presentar un ítem describiendo los problemas encontrados y sus respectivas

soluciones. Como así también los warning generados por el Quartus y sus

soluciones.

Page 8: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 8

Apéndice A

Entradas del FPGA asociadas a las señales de reloj en el board DE2-115.

Apéndice B

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

Page 9: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4 9

Apéndice C

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

Apéndice D

Pines del FPGA que controlan el primer 7 segmentos.

Page 10: DISEŇO de SISTEMAS DIGITALES AVANZADOS CON VHDL e ...dea.unsj.edu.ar/sda/Lab_4_SDA.pdf · Realizar la descripción en VHDL de un contador tipo LFSR de 4, 8, 16 o 32 bits. Use dos

Cristian Sisterna DSDA – Lab 4

10