introducción a vhdl - sistemas digitales...

36
Introducción a VHDL Circuitos Secuenciales Sistemas Digitales (23357) Profesor: Carlos A. Fajardo ([email protected]) Actualizado Agosto 2013

Upload: tranhuong

Post on 26-Sep-2018

232 views

Category:

Documents


1 download

TRANSCRIPT

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

Introducción a VHDLCircuitos Secuenciales

Sistemas Digitales (23357)

Profesor:

Carlos A. Fajardo

([email protected])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FIN

Sistemas Digitales Carlos Fajardo 36