Está en la página 1de 4

Dise~ no Digital con VHDL - Instituto Tecnol ogico de Puebla

3.
3.1.

Pr actica II - Medio sumador


Alcances

En esta pr actica se presenta el concepto de concurrencia. Adem as, son reafirmados los conceptos de entidad y arquitectura.

3.2.

Sentencias concurrentes

VHDL es un lenguaje para modelar hardware. El hardware digital del mundo real funciona de forma paralela, es decir, que si se tienen N compuertas l ogicas interconectadas, las N compuertas procesaran las se~ nales de forma paralela, propag andose las se~ nales de las entradas hacia las salidas. Si la funci on l ogica de N compuertas es implementada en un elemento procesador como un microcontrolador, tendr an que ser evaluados secuencialmente todos los resultados parciales de las N compuertas l ogicas para obtener el resultado final. Para modelar el paralelismo espacial de m ultiples eventos l ogicos, VHDL usa el concepto de concurrencia. Las sentencias concurrentes son declaradas dentro de la arquitectura; la forma m as f acil de hacerlo es usando el delimitador compuesto de asignaci on <=.
architecture n o mb r e _a r q ui t e ct u r a begin sentencias_concurrentes ; end architecture ; of nombre_entidad is

3.3.

Diagrama a bloques

La figura 4 muestra los puertos del medio sumador. El circuito digital mismo, tiene tiene dos entradas de un bit: el sumando a y el sumando b. As on dos salidas de un bit: la suma s y el acarreo de salida cout. A continuaci se muestra la tabla de verdad del medio sumador: a 0 0 1 1 b 0 1 0 1 cout 0 0 0 1 s 0 1 1 0

En la pr actica I, la compuerta tiene una sola funci on l ogica and, as que fue modelada con una unica sentencia concurrente. De la tabla de verdad del on l ogica xor y que medio sumador es claro que la suma s equivale a la funci on l ogica and. El medio sumador el acarreo de salida cout equivale a la funci puede ser modelado con dos compuertas l ogicas de dos entradas y una salida funcionando en paralelo.

Copyright 2013 Eduardo Rodr guez Palacios

Dise~ no Digital con VHDL - Instituto Tecnol ogico de Puebla

Figura 4 : Puertos del medio sumador.

3.4.

C odigo VHDL

Las l neas 24 a 30 describen la entidad del medio sumador de 2 entradas y dos salidas. Todas las se~ nales son tipo std logic ; a y b son de modo entrada nales o m as tienen el mismo modo y y s y cout tienen modo salida. Si dos se~ tipo, pueden ser declaradas en el mismo rengl on, como en el caso de a y b. Las l neas 32 a 36 describen la arquitectura de nombre funcional, asociada a la entidad de nombre medio sumador. Hay dos sentencia concurrentes que describen el funcionamiento del medio sumador; en la l nea 34 a la salida s se le asigna nea 35 a la salida cout se le asigna el el valor de la se~ nal a xor b; en la l valor de la se~ nal a and b.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ---------------********************************************************************* Archivo : medio_ sum ado r . vhd Proyecto : Practica 2 Descripcion : Medio sumador con acarreo de salida . Fecha : mayo 2013 Copyright 2013 Eduardo Rodriguez Palacios --------------------------------------------------------------------This program is free software : you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation , either version 3 of the License , or ( at your option ) any later version . This program is distributed in the hope that it will be useful , but WITHOUT ANY WARRANTY ; without even the implied warranty of M E RC HA N T A B I LI TY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for more details .

-- You should have received a copy of the GNU General Public License -- along with this program . If not , see < http :// www . gnu . org / licenses / >. -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * library ieee ; use ieee . s t d_ log ic_ 116 4 . all ; entity medio_ sum ado r is port ( a , b : in std_logic ; s : out std_logic ; cout : out std_logic ); end entity ; architecture funcional of m ed io_ sum ador is begin s <= a xor b ; cout <= a and b ; end architecture ;

C odigo 3 : Medio sumador con acarreo de salida.

Copyright 2013 Eduardo Rodr guez Palacios

10

Dise~ no Digital con VHDL - Instituto Tecnol ogico de Puebla

3.5.

Banco de pruebas

El banco de pruebas es similar al de la compuerta AND de 2 entradas, por ahora el usuario debe remitirse a copiar el c odigo para poder hacer la simulaci on, es necesario tener m as conocimientos de VHDL para entender la descripci on de hardware del banco de pruebas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ---------------********************************************************************* Archivo : t b _ me d i o _ s u m a d o r . vhd Proyecto : Practica 2 Descripcion : Banco de pruebas del medio sumador . Fecha : mayo 2013 Copyright 2013 Eduardo Rodriguez Palacios --------------------------------------------------------------------This program is free software : you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation , either version 3 of the License , or ( at your option ) any later version . This program is distributed in the hope that it will be useful , but WITHOUT ANY WARRANTY ; without even the implied warranty of M E RC HA N T A B I LI TY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for more details .

-- You should have received a copy of the GNU General Public License -- along with this program . If not , see < http :// www . gnu . org / licenses / >. -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * library ieee ; use ieee . s t d_ log ic_ 116 4 . all ; entity t b _ m ed i o _ s u m a d o r is end entity ; architecture t b _ m e d i o _ s u m ad o r of t b _ m e d i o _ s u m a d o r is signal a , b : std_logic ; signal s , cout : std_logic ; component medio_sumado r is port ( a , b : in std_logic ; s : out std_logic ; cout : out std_logic ); end component ; constant m edi o_p eri odo : time := 500 ns ; begin tb : med io_sumador port map ( a , b , s , cout ); process_a : process begin a <= 0 ; wait for medio_p eri odo ; a <= 1 ; wait for medio_p eri odo ; end process ; process_b : process begin b <= 0 ; wait for 2.0 * medi o_p eri odo ; b <= 1 ; wait for 2.0 * medi o_p eri odo ; end process ; end architecture ;

C odigo 4 : Test-bench del medio sumador.

Copyright 2013 Eduardo Rodr guez Palacios

11

Dise~ no Digital con VHDL - Instituto Tecnol ogico de Puebla

La figura 5 muestra la simulaci on funcional del circuito medio sumador con un tiempo de simulaci on de 4 microsegundos.

Figura 5 : Simulaci on del medio sumador.

3.6.

Trabajo sugerido

Modificar el c odigo 3 definiendo las se~ nales del puerto s y cout en el mismo rengl on. Simular nuevamente el circuito para verificar que el funcionamiento no haya sido alterado. Modificar el tiempo de simulaci on a 2 microsegundos.

Copyright 2013 Eduardo Rodr guez Palacios

12