Sei sulla pagina 1di 18

Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 1

1. Código Concurrente
2. Señales
3. Agrupación de Subcircuitos Mediante
Librerías y Paquetes
4. Uso del Port Map.
5. Ejemplo 6
6. Bibliografía

Ing. Javier Barriga Hoyle 2

Ing. Javier Barriga Hoyle 1


Sistemas Digitales 4/16/2015

 Son declaraciones que se ejecutan en


paralelo, es decir al mismo tiempo y
representan las distintas partes de un circuito.
 La forma más simple de código concurrente
es la descripción de las salidas del circuito en
función de las entradas, por medio de la
expresión lógica que las relacionan:

Ing. Javier Barriga Hoyle 3

Ing. Javier Barriga Hoyle 4

Ing. Javier Barriga Hoyle 2


Sistemas Digitales 4/16/2015

 Ejemplos de descripción concurrente:

Ing. Javier Barriga Hoyle 5

 Las asignaciones concurrentes vistas hasta el momento se


emplean cuando uno dispone de las expresiones lógicas
explícitas de las salidas (funciones lógicas) en términos de las
entradas. Cuando en lugar de disponer de tales expresiones
se tiene la descripción de dichas funciones en términos de
sus tablas de verdad, se prefiere emplear otras instrucciones.
 Las siguientes sentencias se utilizan en la declaración
concurrente de salidas (funciones lógicas) a partir de sus
tablas de verdad:
 WHEN/ELSE
 WITH/SELECT/WHEN

Ing. Javier Barriga Hoyle 6

Ing. Javier Barriga Hoyle 3


Sistemas Digitales 4/16/2015

 WHEN/ELSE:

Nota: Se deben incluir tantas líneas de asignación como sean


necesarias para “cubrir” todas las posibles combinaciones de
las entradas. Usualmente se asignan valores de “NO IMPORTA
(-)” a las combinaciones que sabemos no se darán en la
práctica, lo cual ayuda al proceso de síntesis (ver ejemplo a
continuación). Para un buen diseño concurrente se deben
incluir todos los casos posibles (como en una tabla de verdad).

Ing. Javier Barriga Hoyle 7

Ing. Javier Barriga Hoyle 8

Ing. Javier Barriga Hoyle 4


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 9

Ing. Javier Barriga Hoyle 10

Ing. Javier Barriga Hoyle 5


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 11

Ing. Javier Barriga Hoyle 12

Ing. Javier Barriga Hoyle 6


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 13

Ing. Javier Barriga Hoyle 14

Ing. Javier Barriga Hoyle 7


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 15

Ing. Javier Barriga Hoyle 16

Ing. Javier Barriga Hoyle 8


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 17

Ing. Javier Barriga Hoyle 18

Ing. Javier Barriga Hoyle 9


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 19

 La descripción estructural permite agrupar


pequeños circuitos que realizan una función
específica en un gran bloque que es un circuito
mucho más complejo.
 Para agrupar “pequeños circuitos” se usa el
denominado paquete o “package”.
 Para definir un paquete se crea un archivo, por
ejemplo ‘my_components.vhd’, en el cual se
incluyen las declaraciones de las entidades de los
“pequeños circuitos” que se desea incluir dentro
del “package”.

Ing. Javier Barriga Hoyle 20

Ing. Javier Barriga Hoyle 10


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 21

 Agrupación de subcircuitos usando paquetes

Ing. Javier Barriga Hoyle 22

Ing. Javier Barriga Hoyle 11


Sistemas Digitales 4/16/2015

 Para emplear los componentes de un


paquete, basta con declarar en la cabecera
del circuito principal el ‘package’ creado, el
cual se encontrará por defecto en la librería
‘work’:

Ing. Javier Barriga Hoyle 23

 Para “mapear” un componente en el circuito


principal (es decir, asignar señales a sus
entradas y salidas) existen dos formas:
posicional y explícita. Ejemplo: sea el
componente “inversor” declarado en el
paquete “my_components.vhd”

Ing. Javier Barriga Hoyle 24

Ing. Javier Barriga Hoyle 12


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 25

 Ejemplo: Multiplexor de 4 a 1, será construido


usando 3 Mux de 2x1.

Ing. Javier Barriga Hoyle 26

Ing. Javier Barriga Hoyle 13


Sistemas Digitales 4/16/2015

 Ejemplo: Multiplexor de 2 x 1.

Ing. Javier Barriga Hoyle 27

 Ejemplo: Paquete de Multiplexor de 2 x 1.

Ing. Javier Barriga Hoyle 28

Ing. Javier Barriga Hoyle 14


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 29

Ing. Javier Barriga Hoyle 30

Ing. Javier Barriga Hoyle 15


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 31

Ing. Javier Barriga Hoyle 32

Ing. Javier Barriga Hoyle 16


Sistemas Digitales 4/16/2015

Ing. Javier Barriga Hoyle 33

1. Fundamentals of Digital Logic with VHDL.


Stephen Brown and Zvonko Vranesic.
ISBN: 0-07246085-7
2. VHDL, el arte de programar Sistemas
Digitales.
David G. Maxinez & Jessica Alcalá.
ISBN: 970-24-0259-X

Ing. Javier Barriga Hoyle 34

Ing. Javier Barriga Hoyle 17


Sistemas Digitales 4/16/2015

3. Digital Logic and Microprocessor Design with


VHDL.
Enoch O. Hwang.
ISBN: 0-534-46593-5
5. Separata: Grupo Microelectrónica - PUCP
Laboratorio de circuitos digitales.

Ing. Javier Barriga Hoyle 35

Ing. Javier Barriga Hoyle 18

Potrebbero piacerti anche