Introducción a VHDL - Sistemas Digitales...
Transcript of Introducción a VHDL - Sistemas Digitales...
![Page 1: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/1.jpg)
Introducción a VHDLCircuitos Secuenciales
Sistemas Digitales (23357)
Profesor:
Carlos A. Fajardo
Actualizado Agosto 2013
![Page 2: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/2.jpg)
Proceso
• Un proceso en VHDL es una construcción quecontiene una serie de acciones que sonejecutadas secuencialmente.
• Puede ser visto como un circuito cuyocomportamiento puede ser descrito por unaserie de instrucciones secuenciales.
• Su contraparte en hardware muchas veces NOes sencilla de sintetizar.
Carlos FajardoSistemas Digitales 2
![Page 3: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/3.jpg)
Proceso
• Un proceso en VHDL es una construcción quecontiene una serie de acciones que sonejecutadas secuencialmente.
• Puede ser visto como un circuito cuyocomportamiento puede ser descrito por unaserie de instrucciones secuenciales.
• Su contraparte en hardware muchas veces NOes sencilla de sintetizar.
Carlos FajardoSistemas Digitales 3
![Page 4: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/4.jpg)
Proceso
• Un proceso en VHDL es una construcción quecontiene una serie de acciones que sonejecutadas secuencialmente.
• Puede ser visto como un circuito cuyocomportamiento puede ser descrito por unaserie de instrucciones secuenciales.
• Su contraparte en hardware muchas veces NOes sencilla de sintetizar.
Carlos FajardoSistemas Digitales 4
![Page 5: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/5.jpg)
Formas básicas de los procesos
• Lista sensible (Sensitivity list).
• Instrucción de espera (Wait statements).
Carlos FajardoSistemas Digitales 5
![Page 6: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/6.jpg)
Formas básicas de los procesos
• Lista sensible (Sensitivity list).
• Instrucción de espera (Wait statements).
Carlos FajardoSistemas Digitales 6
![Page 7: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/7.jpg)
Proceso con lista sensible
Carlos FajardoSistemas Digitales 7
![Page 8: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/8.jpg)
Proceso con lista sensible
Carlos FajardoSistemas Digitales 8
![Page 9: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/9.jpg)
Proceso con lista sensible
• Se activa cuando una señal en la lista sensible secambia.
• Las instrucciones se ejecutan secuencialmente
• El proceso se suspende hasta que cambie otraseñal dentro de la lista sensible.
Carlos FajardoSistemas Digitales 9
![Page 10: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/10.jpg)
Proceso con lista sensible
Carlos FajardoSistemas Digitales 10
![Page 11: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/11.jpg)
Carlos Fajardo
Las sentencias se ejecutan secuencialmente
Esta descripción: Equivale a:
Sistemas Digitales 11
![Page 12: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/12.jpg)
Carlos Fajardo
Las sentencias se ejecutan secuencialmente
Esta descripción: Equivale a:
Sistemas Digitales 12
![Page 13: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/13.jpg)
Las dos sentencias secuenciales
•IF
•CASE
Sistemas Digitales Carlos Fajardo 13
![Page 14: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/14.jpg)
Sentencia IF
Carlos FajardoSistemas Digitales 14
![Page 15: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/15.jpg)
Sentencia CASE
Sistemas Digitales Carlos Fajardo 15
![Page 16: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/16.jpg)
En resumen:
• Sentencias para circuitos combinacionales:
– With Select
– When Else
• Sentencias para circuitos secuenciales (ycombinacionales):
– IF
– CASE
Sistemas Digitales Carlos Fajardo 16
![Page 17: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/17.jpg)
Un primer ejemplo:
Sistemas Digitales Carlos Fajardo 17
![Page 18: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/18.jpg)
Multiplexor 4 a 1
Sistemas Digitales Carlos Fajardo 18
E1
E2
E3
E4
Salida
2
seleccion
![Page 19: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/19.jpg)
Mux – Sentencia IF
Sistemas Digitales Carlos Fajardo 19
![Page 20: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/20.jpg)
Mux – Sentencia CASE
Sistemas Digitales Carlos Fajardo 20
![Page 21: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/21.jpg)
Sistemas Digitales Carlos Fajardo 21
![Page 22: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/22.jpg)
Dos errores comunes
Sistemas Digitales Carlos Fajardo 22
![Page 23: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/23.jpg)
Errores en la lista sensible
Un circuito combinacional debe tener todassus entradas en la lista sensible.
Carlos FajardoSistemas Digitales 23
![Page 24: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/24.jpg)
Faltan señales en la lista sensible
Un circuito combinacional debe tener todassus entradas en la lista sensible.
Carlos FajardoSistemas Digitales 24
![Page 25: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/25.jpg)
Lazos incompletos
Sistemas Digitales Carlos Fajardo 25
Comparador
A
B
Igual
Mayor
Menor
8
8
![Page 26: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/26.jpg)
Asignación incompleta de señales
Sistemas Digitales Carlos Fajardo 26
![Page 27: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/27.jpg)
Asignación incompleta de señales
Sistemas Digitales Carlos Fajardo 27
![Page 28: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/28.jpg)
RTL: Todas las salidas conectados a VCC
Sistemas Digitales Carlos Fajardo 28
El comparador no hace nada!!!
![Page 29: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/29.jpg)
Asignación incompleta de señales
Sistemas Digitales Carlos Fajardo 29
![Page 30: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/30.jpg)
Solución – Todas la salidas son asignadas
Sistemas Digitales Carlos Fajardo 30
![Page 31: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/31.jpg)
Solución – Todas la salidas son asignadas
Sistemas Digitales Carlos Fajardo 31
![Page 32: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/32.jpg)
Solución – Todas la salidas son asignadas
Sistemas Digitales Carlos Fajardo 32
![Page 33: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/33.jpg)
Solución – Todas la salidas son asignadas
Sistemas Digitales Carlos Fajardo 33
![Page 34: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/34.jpg)
Solución – Todas la salidas son asignadas
Sistemas Digitales Carlos Fajardo 34
![Page 35: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/35.jpg)
Solución – Todas la salidas son asignadas
Sistemas Digitales Carlos Fajardo 35
![Page 36: Introducción a VHDL - Sistemas Digitales UISdigitalesuis.wdfiles.com/local--files/recursos/VHDL_Secuenciales_V... · •Un proceso en VHDL es una construcción que contiene una serie](https://reader031.fdocuments.co/reader031/viewer/2022021719/5bab350109d3f2b2778db5e4/html5/thumbnails/36.jpg)
FIN
Sistemas Digitales Carlos Fajardo 36