Vous êtes sur la page 1sur 12

Instituto de Fsica

Universidad de Antioquia

Clase Subsistemas o Componentes en VHDL


Introduccin
Para realizar la descripcin estructural de un sistema es necesario conocer qu
subsistemas o componentes lo forman, indicando las interconexiones entre ellos.
Para este propsito VHDL proporciona el concepto de componente.
Para poder usar un componente VHDL exige que se realicen dos pasos: primero,
debe declarase el componente, despus, ya puede hacerse referencia o copia del
componente.
La declaracin de un componente puede aparecer en un arquitectura o en un
paquete. Si aparee en la arquitectura, entonces se pueden hacer copias del
componente en dicha arquitectura; si aparece en un paquete, se pueden hacer
copias del componente en todas aquellas arquitecturas que usen ese paquete. La
sintaxis de la declaracin de un componente es:

component nombre_componente
[generic (lista_generic);]
[port (lista_puertos);]
end component [nombre_componente];

Habitualmente al declarar un componente se har referencia a un diseo


desarrollado anteriormente y ya compilado en alguna biblioteca. En este caso la
declaracin de componente coincide con la declaracin de la entidad de dicho
diseo, es decir, debe tener los mismo puertos, definidos del mismo tipo y
direccin. Pero VHDL tambin ofrece la posibilidad de declarar un componente
que an no se ha desarrollado, en este caso los puertos que contenga y su tipo
quedarn definidos en la declaracin de componente.
Una vez ya se ha declarado un componente, ya podemos realizar tantas copias o
referencias a l como se quiera. La referencia componente es una sentencia
concurrente, que puede aparecer en una arquitectura, y que se ejecuta en paralelo
con las dems sentencias concurrentes que pueda contener esa arquitectura.
Cada copia o referencia a un componente se ejecutar cada vez que se produzca
un evento en alguna de las seales conectadas a sus puertos de entrada o de
entrada/salida. La sintaxis de la referencia a componentes es:

etiqueta_referencia : nombre_componente
[generic map (lista_asociacin);]
[port map (lista_asociacin);]
Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Universidad de Antioquia

Al referenciar un componente debemos especificar qu valores queremos dar a


cada uno de sus genricos y que seales queremos conectar a cada uno de sus
puertos. De esta manera queda completamente especificada la estructura que
estamos definiendo, ya que habremos indicado qu componentes la forman y
como se conectan entre ellos.
Como ejemplo del uso de componentes, a continuacin modelamos un sumador
completo de un bit a partir de dos semisumadores de un bit y una puerta or. La
Figura muestra el esquema lgico de la descripcin.
U2
Suma

Cin
U1
A

Co

C
Cout
U3
Sumador completo

Diseo de un semisumador
Se denomina semisumador al circuito combinacional capaz de realizar la suma
aritmtica binaria de dos nicos bits A y B, proporcionando a su salida un bit
resultado de suma S y un bit de acarreo Co. En la siguiente figura se muestra la
tabla de verdad de este circuito con sus funciones, acompaado de un esquema
del Half-Adder.

La tabla de verdad. est dada por las reglas de la suma binaria.


A
0
0
1
1

Notas de clase
profesora Lucelly Reyes

B
0
1
0
1

Suma
0
1
1
0

Co
0
0
0
1

Instituto de Fsica

Universidad de Antioquia
Tabla de verdad del sumador medio

La salidas obtenida a partir de la tabla de verdad son:


El bit de acarreo Co es 1, slo cuando A y B tienen el valor de 1; por tanto entre A
y B se puede establecer una operacin AND:

El bit de suma S es 1, slo si las variables A y B son distintas. El bit de acarreo es


0 a no ser que ambas entradas sean 1. Por consiguiente, la salida S puede
expresarse en trminos de la operacin OR Exclusiva:

El circuito se muestra en la figura siguiente.

Implementacin en Xilinx

Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Notas de clase
profesora Lucelly Reyes

Universidad de Antioquia

Instituto de Fsica

Universidad de Antioquia

Sumador completo
Este dispositivo nos ofrece una mejora del semisumador al cual se le aade un
acarreo de entrada. De esta manera podemos afrontar sumas de ms de un bit
para las cuales utilizaremos el acarreo de salida del anterior en el acarreo de
entrada del siguiente. As completamos la suma correctamente.
A continuacin vemos la tabla de verdad y un esquema.

La tabla de verdad. est dada por las reglas de la suma binaria.

Tabla de verdad del sumador


Un anlisis de esta tabla de verdad y el uso de Mapas de Karnaugh nos lleva a las
siguientes expresiones para Co y Suma:

Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Universidad de Antioquia

Mapa de Karnough para la Suma


AB
00

01 11

Cin

10

0
1

Mapa de Karnough para el acarreo


AB
00

01 11

Cin

10
1

0
1

Observe como podemos obtener el mismo resultado de los mapas de Karnough


usando dos semisumadores y una puerta OR.

Implementacin en Xilinx
Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Universidad de Antioquia

Podemos hacer el sumador completo utilizando las funciones simplificadas de


Karnough o a partir del semisumador. Tomares esta ultima para cumplir con el
objetivo de la practica.
Para continuar con el sumador completo, se abre un nuevo proyecto con el
nombre de compuerta OR

Al que llamaremos compuerta_or.

Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Universidad de Antioquia

Ya se tienen los mdulos de semisuma y compuerta OR, queda por conformar el


sumador completo, para esto generamos un nuevo proyecto llamado sumador
completo.

La declaracin de un componente se obtiene de cada uno de los proyectos


construidos, por ejemplo el del semisumador se hace clik en el archivo
seminsumador.vhdl -->View HDL Instantiation templete y se obtiene la descripcin
del COMPONENT y el PORT que permite conectar las seales correspondientes
de entrada y salida del dispositivo.

Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Universidad de Antioquia

Copiamos este documento y lo llevamos al proyecto principal que es el sumador


completo, se hace lo mismo con la compuerta_or.

Observe que en definicin del PORT MAP se deben definir


intermedias S, Co, C

las variables

U2
Suma

Cin
U1
A

Co

C
Cout
U3

Notas de clase
profesora Lucelly Reyes

Instituto de Fsica

Notas de clase
profesora Lucelly Reyes

Universidad de Antioquia

Instituto de Fsica

Notas de clase
profesora Lucelly Reyes

Universidad de Antioquia

Instituto de Fsica

Notas de clase
profesora Lucelly Reyes

Universidad de Antioquia

Vous aimerez peut-être aussi