Вы находитесь на странице: 1из 23

MATERIA

DISEO DIGITAL CON VHDL

SERIE
5R4A

PRACTICA No.
1

NOMBRE DE LA PRACTICA
Tipos de Arquitectura en VHDL

NOMBRE DEL ALUMNO


Ayala Niebla Fabin 09210043 Garca Prez Eduardo 09210920

FECHA DE ELABORACION 26/febrero/2013

NOMBRE DEL MAESTRO


Dra. Jazmn Maldonado Robles

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

ndice General
1 2 3 Introduccin .............................................................................................................. 3 Objetivos ................................................................................................................... 3 Marco Terico ........................................................................................................... 4

2.1 Multiplexores .............................................................................................................. 4 2.2 Compuertas Lgicas ................................................................................................... 5 2.2.1 Funcin Y (AND (*)) .............................................................................................. 5 2.2.2 Funcin O (OR (+)) ................................................................................................. 5 2.2.3 Funcin NO (NOT) ................................................................................................. 6 2.3 Implementacin de expresiones booleanas ................................................................ 6 4 5 6 7 8 9 Material Y Equipo ..................................................................................................... 7 Procedimiento Y Metodologa Experimental ............................................................ 8 Discusin De Los Resultados Experimentales ........................................................ 21 Conclusiones ........................................................................................................... 21 Bibliografas ............................................................................................................ 22 Anexos..................................................................................................................... 22

5.1 CMO USAR XILINX .............................................................................................. 9

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

ndice De Figuras
Figura 1. Diagrama de un Multiplexor. ............................................................................ 4 Figura 2. Tipos de seales en multiplexor: datos de entrada, entradas de control y salida. .......................................................................................................................................... 4 Figura 3. Funcin AND. ................................................................................................... 5 Figura 4. Funcin OR. ...................................................................................................... 5 Figura 5. Funcin NOT. ................................................................................................... 6 Figura 6. Implementacin de expresiones Booleanas. ..................................................... 6 Figura 7. Multiplexor 4 bits. ............................................................................................. 8 Figura 8. Arquitectura para flujo de datos VHDL. ........................................................... 9 Figura 9. Primer paso, ejecutar Xilinx.............................................................................. 9 Figura 10. Segundo paso, crear proyecto. ...................................................................... 10 Figura 11. Tercer paso, nombre y tipo de proyecto. ....................................................... 10 Figura 12. Cuatro Paso, elegir tarjeta Spartan. ............................................................... 11 Figura 13. Quinto paso, caractersticas del proyecto. ..................................................... 11 Figura 14. Sexto paso, proyecto creado. ......................................................................... 12 Figura 15. Sptimo paso, crear nuevo archivo. .............................................................. 12 Figura 16. Octavo paso, seleccin de modulo. ............................................................... 13 Figura 17. Noveno paso, seleccin de entradas. ............................................................. 13 Figura 18. Decimo paso, datos de entradas y salidas. .................................................... 14 Figura 19. Culminacin de proyecto. ............................................................................. 14 Figura 20. Tarjeta Spartan. ............................................................................................. 15 Figura 21. Enable encendido. ......................................................................................... 16 Figura 22. Enable apagado en control 01. ...................................................................... 16 Figura 23. Enable apagado en control 10. ...................................................................... 17 Figura 24. Enable apagado en control 00. ...................................................................... 17 Figura 25. Enable apagado en control 11. ...................................................................... 18 Figura 26. Posiciones de encendido. .............................................................................. 20 Figura 27. Posiciones Off. .............................................................................................. 20

ndice De Tablas
Tabla 1. Puertos De Conexin .......................................................................................... 7 Tabla 2. Tabla de verdad para multiplexor. ...................................................................... 8 Tabla 3. Tabla de verdad da circuito de la figura 8. ....................................................... 18

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

Introduccin
En esta prctica se utilizar VHDL para sintetizar un multiplexor de tres canales,

dos bits de control, un bit de enable y una salida, as como un multiplexor de 2 canales, un bit de control, un bit de enable y una salida al cual se deber encontrar su respectiva tabla de verdad a partir de su diseo circuital.

Objetivos
Sintetizar en VHDL un multiplexor con diferentes arquitecturas.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

Marco Terico

2.1 Multiplexores
Los multiplexores son circuitos combinacionales con varias entradas y una nica salida de datos, estn dotados de entradas de control capaces de seleccionar una, y slo una, de las entradas de datos para permitir su transmisin desde la entrada seleccionada hacia dicha salida vase Figura 1. Si tiene una seal enable esta hace que el multiplexor este habilitado o no.

Figura 1. Diagrama de un Multiplexor.

La entrada seleccionada viene determinada por la combinacin de ceros (0) y unos (1) lgicos en las entradas de control. La cantidad que necesitaremos ser igual a la potencia de 2 que resulte de analizar el nmero de entradas. As, por ejemplo, a un multiplexor de 8 entradas le correspondern 3 de control. Podemos decir que la funcin de un multiplexor consiste en seleccionar una de entre un nmero de lneas de entrada y transmitir el dato de un canal de informacin nico vase diagrama de la Figura 2. Por lo tanto, es equivalente a un conmutador de varias entradas y una salida.

Figura 2. Tipos de seales en multiplexor: datos de entrada, entradas de control y salida.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

2.2 Compuertas Lgicas


Las compuertas lgicas son bloques del hardware que producen seales en binario 1 0 cuando se satisfacen los requisitos de entrada lgica. Las diversas compuertas lgicas se encuentran comnmente en sistemas de computadoras digitales. Cada compuerta tiene un smbolo grfico diferente y su operacin puede describirse por medio de una funcin algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en forma tabular en una tabla de verdad. A continuacin se detallan los nombres, smbolos, grficos, funciones algebraicas, y tablas de verdad de las compuertas ms usada

2.2.1 Funcin Y (AND (*))


En esta frase se utiliza el conectivo y, la misma slo ser verdadera, en el caso en que ambas proposiciones que la conforman sean verdaderas.

Figura 3. Funcin AND.

2.2.2 Funcin O (OR (+))


Esta afirmacin utiliza el conectivo o y ser verdadera si alguna (o ambas) proposiciones son verdaderas.

Figura 4. Funcin OR.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

2.2.3 Funcin NO (NOT)


Esta frase ser verdadera si es falsa. Es decir, ambas siempre tendrn valores opuestos o complementarios.

Figura 5. Funcin NOT.

2.3 Implementacin de expresiones booleanas


Cuando la operacin de un circuito se define mediante una expresin booleana, se puede dibujar un diagrama de un circuito lgico de manera directa a partir de esa expresin.

Figura 6. Implementacin de expresiones Booleanas.

2.4 Descripcin de la tarjeta Spartan


La tarjeta de desarrollo que vamos a utilizar recibe el nombre de Spartan3A/3AN Starter Kit Board. Dicha tarjeta dispone de una FPGA Spartan-3A XC3S700A, adems de varios LED, displays, interruptores (switches), pulsadores, conversores A/D y D/A que ofrecen mltiples posibilidades de desarrollo al usuario. Cada uno de los dispositivos est convenientemente conectado a la FPGA a travs de alguno de sus puertos. A continuacin se da una lista de los puertos de conexin de los interruptores, pulsadores y LED que vamos a utilizar en esta prctica.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

Tabla 1. Puertos De Conexin tarjeta Spartan

Nombre SW0 SW1 SW2 SW3 BTN_ NORTH BTN_ SOUTH BTN_ EAST BTN_WEST LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7

Tipo Interruptor Interruptor Interruptor Interruptor Pulsador Pulsador Pulsador Pulsador LED LED LED LED LED LED LED LED

Puerto de conexin V8 U10 U8 T9 T14 T15 T16 U15 R20 T19 U20 U19 V19 V20 Y22 W21

Adems de las extensiones con las que cuenta la tarjeta donde podemos tomar los unos mandando los pines a Vcc y los ceros mandndolos a tierra.

Material Y Equipo
Spartan XC3S700A Xilinx 13.4 Computadora

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

Procedimiento Y Metodologa Experimental

1. Disee en VHDL un Multiplexor de varios canales con "enable, tal y como se muestra en la figura.

Figura 7. Multiplexor 4 bits.

2. El funcionamiento del multiplexor se muestra en la siguiente tabla.


Tabla 2. Tabla de verdad para multiplexor.

3. Crear un proyecto en Xilinx usando la arquitectura de comportamiento (Behavioral). 4. Sintetizar el cdigo creado en el paso 3, asignar pines y ejecutar el algoritmo en la tarjeta Spartan 3AN. 5. Crear un proyecto en Xilinx usando la arquitectura de flujo de datos para el siguiente multiplexor mostrado en la figura 8.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

Figura 8. Arquitectura para flujo de datos VHDL.

6. Sintetizar el cdigo creado en el paso 3, asignar pines y ejecutar el algoritmo en la tarjeta Spartan 3AN. El 1er. punto nos dice que diseemos en VHDL el multiplexor que se muestra en la figura 7, y en el punto 2 nos indican bsicamente la tabla de v erdad de este diseo y con base a ello realizar nuestro cdigo. Mientras que en el paso 3, nos dice que creemos un proyecto mediante la arquitectita comportamiento, por lo que primero es saber cmo utilizar la tarjeta Spartan mediante la ejecucin del programa Xilinx, es por eso que a continuacin se muestra una breve introduccin de los pasos a seguir para crear el algoritmo que se indica en el punto 3 de esta prctica. 5.1 CMO USAR XILINX El primer paso es ejecutar el programa XILINX, donde se abrir la siguiente ventana.

Figura 9. Primer paso, ejecutar Xilinx.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

Despus se ir a la barra de mens seleccionando File->New Project.

Figura 10. Segundo paso, crear proyecto.

A continuacin aparecer el siguiente recuadro, donde podremos asignar nombre al proyecto as como el tipo de diseo que deseamos implementar, que para esta prctica se utilizara el tipo HDL. Esta ventana tambin brinda informacin sobre el lugar donde se guardara dicho archivo, adems da la opcin al usuario de poder ingresar alguna descripcin del proyecto.

Figura 11. Tercer paso, nombre y tipo de proyecto.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

10

Una vez terminado de nombrar el archivo as como de elegir el tipo de formato que este debe llevar se da click en el botn Next para continuar. Donde aparecer el siguiente cuadro donde el usuario seleccionara el tipo de dispositivo y propiedades del proyecto (tipo de tarjeta, dispositivos, etc).

Figura 12. Cuatro Paso, elegir tarjeta Spartan.

Una vez terminado se da click al botn Next para continuar, donde aparecer el siguiente recuadro el cual es un resumen de nuestro proyecto mostrando las caractersticas que posee, ahora se da click al botn Finish para comenzar con nuestro proyecto.

Figura 13. Quinto paso, caractersticas del proyecto.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

11

A continuacin aparecer nuestro proyecto el cual an esta en blanco, por lo que se procede a crear un archivo dentro de l.

Figura 14. Sexto paso, proyecto creado.

Para crear un archivo se va al recuadro izquierdo en la parte superior llamado Hierarchy, dentro de este recuadro se da click izquierdo donde aparecer la siguiente barra de mens, en donde elegiremos la opcin New Source.

Figura 15. Sptimo paso, crear nuevo archivo.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

12

Una vez hecho esto, aparecer el siguiente recuadro el cual pide al usuario ingresar el nombre del documento (no necesariamente debe ser el mismo nombre del proyecto), as como el tipo de fuente con el cual trabajaremos el cual ser VHDL Module, este recuadro adems muestra la locacin de este archivo que a su vez tambin tiene la opcin de cambiar a direccin si el usuario as lo desea.

Figura 16. Octavo paso, seleccin de modulo.

Una vez terminado esto, da click al botn Next para continuar, donde aparecer el siguiente recuadro en donde se deben asignar salidas y entradas de nuestra prctica, como ejemplo se pueden ver algunos tipos de entradas y salidas ya sean de 1 bit (Entrada2,Salida1) o de ms bits (Entrada1, Salida 2). Una vez terminado de asignar entradas y salidas se da click al botn Next para continuar.

Figura 17. Noveno paso, seleccin de entradas.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

13

Donde se mostrara un recuadro con un resumen del archivo creado, donde se podr apreciar datos importantes como lo son las entradas y salidas asignadas por el usuario. Una vez terminado esto se da click al botn Finish.

Figura 18. Decimo paso, datos de entradas y salidas.

Ahora nuestro archivo ha sido creado y se puede comenzar a programar.

Figura 19. Culminacin de proyecto.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

14

Una vez terminado de realizar todo esto en la arquitectura del programa comenzamos a realizar nuestro cdigo para el multiplexor de tres entradas, declarando entradas y salidas en las entidades, el cdigo utilizado se muestra a continuacin.
entity practica1a is Port ( A,B,C: in BIT_VECTOR (3 downto 0); control : in BIT_VECTOR (1 downto 0); enable : in BIT; D : out BIT_VECTOR (3 downto 0)); end practica1a; architecture comportamiento of practica1a is begin PROCESS(A,B,C,control,enable) begin if enable='1' then d<="1111"; elsif enable='0' then case control is when "00"=> d <=a; when "01"=> d <=b; when "10"=> d <=c; when "11"=> d <="1111"; end case; end if; END PROCESS; end comportamiento;

La asignacin de los pines fue para las entradas A (T9, U8, U10, V10) donde T9 (MSB) y V10 (LSB), B (V14, V15, W16, V16) aqu V14 (MSB) y W16 (LSB), C (AA21, AB21, AA19, AB19) en el cual AA21 (MSB) y AB19 (LSB), control (T16, T14) donde T16 (MSB) y T14 (LSB), enable (T15), y las salidas los leds D (W21, Y22, V20, V19). Ya asignados los pines, guardamos y abrimos corrimos con el IMPAT para comenzar a programar en la tarjeta Spartan mostrada en la imagen.

Figura 20. Tarjeta Spartan.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

15

Como se muestra en el cdigo y en la tabla 1, cuando el enable este en 1, las salidas se mantendrn tambin en 1, como se muestra en la imagen 21. Enable es el push button que se encuentra en la posicin sur.

Figura 21. Enable encendido.

Cuando enable sea 0 y control este en 01, el valor de la salida ser lo que se tenga en la entrada B, en este caso la entrada control se utilizaron los push button de la posicin norte (ms significativo) y el de la posicin este (menos significativo), para este caso se muestra la figura 22.

Figura 22. Enable apagado en control 01.

Ahora cuando enable sea 0 y control este en 10, el valor de la salida ser lo que se tenga en la entrada C, para este caso se muestra la figura 23.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

16

Figura 23. Enable apagado en control 10.

Para el caso de cuando enable sea 0, y control tambin sea 00, el valor que obtendremos en las salidas ser el valor que ingresemos en las entradas A, las entradas a son los switch que se encuentran debajo de los leds de las salidas, empezando del menos significativo de derecha izquierda, en este caso se tiene todo en ceros, por ende l salida cera ceros.

Figura 24. Enable apagado en control 00.

Por ltimo caso se tiene, que pasa cuando el enable es 0, y control est activado en 11, en la salidas se tendr activado en unos, tal y como se puede apreciar en la imagen 24, donde control esta encendido en unos.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

17

Figura 25. Enable apagado en control 11.

Para el punto 5 de esta prctica mediante el flujo de datos, se realiz la tabla de verdad del circuito de la figura 8, y los resultados fueron los que se muestran en la tabla 3.
Tabla 3. Tabla de verdad da circuito de la figura 8.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

Control 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Enable 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

C 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1

Como se ve, solo se, el circuito activara en 4 posiciones, cuando todos estn en 1, cuando todos estn en 1 excepto control, cuando todos excepto B estn en 1 y cuando control y A estn en 0.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

18

El cdigo de implementacin en HDL fue el siguiente, en este caso se tuvieron que declaran seales: entity practica1b is Port ( A,B,Control,enable : in BIT; C : out BIT); end practica1b; architecture rtl of practica1b is SIGNAL aux1, aux2, aux3: bit; begin PROCESS (A, B, Control, enable) begin aux1 <=b and (not (Control)); aux2 <=a and Control; aux3 <= aux1 or aux2; C <=aux3 and enable; end PROCESS; end rtl; La asignacin de los pines fue para las entradas A (T9), B (U8), control (U10), enable (V10), y la salida C (W21).

En la siguientes imgenes se mostrara cuando se enciende el circuito, ya habamos mencionado en que caso.

a) Posicin 5

b) Posicin 11

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

19

c) Posicin 13
Figura 26. Posiciones de encendido.

d) Posicin 15

Ahora se mostraran solo dos casos, donde la salida se mantendr apagada:

a) Posicin 0
Figura 27. Posiciones Off.

b) Posicin 10

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

20

Discusin De Los Resultados Experimentales


En realidad para esta prctica las nicas complicaciones que se lleg a tener es

las entradas para el diseo de las tres entradas de 4 bits y el control de dos bits, ya que necesitbamos 15 entradas de datos y solo conocamos como utilizar 8, pero investigando pudimos resolver el problema ya que en la Spartan utilizamos las extensiones para todas nuestras entradas, solo haca que mandar a tierra para obtener ceros (0) y a VCC para obtener unos (1).

Conclusiones

Eduardo Garca: Esta prctica ms que nada nos sirvi para reafirmar la teora vista en clase, ya que para su elaboracin fue necesario declarar algunas entradas ya sean vectores o no, as como el uso de funciones tales como If, elsif, adems de algunas funciones booleanas como and, or, sin olvidar la parte principal de esta prctica que es el uso de multiplexores, el grado de esta prctica fue sencillo ya que contamos con toda la teora utilizada a diferencia de una parte de esta prctica la cual necesitaba hacer uso de una expansin de la tarjeta SPARTAN, pero una vez comprendido el uso de dicha expansin la practica en su totalidad fue sencilla. Ayala Fabin: Para la realizacin de esta prctica el grado de dificultad no fue mucha ya que solamente son los conceptos bsicos de VHDL, no se necesit realizar algoritmos complejos, solo para ver las diferencias entre los distintos tipos de arquitectura que se tiene en VHDL, en este caso el de comportamiento y el de flujo de datos, a mi parecer el de comportamiento es una de las ms sencillas y que mejor se pueden entender.

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

21

8
Lgica

Bibliografas
digital (2012), [En lnea] disponible Fecha de en: consulta

http://www.slideshare.net/lospelusas/logica-digital-2028080 [13/02/13] Multiplexores consulta [13/02/13] (2012), [En lnea]

disponible Fecha

en: de

http://www.angelfire.com/al2/Comunicaciones/Laboratorio/multiple.html

Anexos

Instituto Tecnolgico de Tijuana


Departamento de Ingeniera Elctrica y Electrnica

22

Вам также может понравиться