Академический Документы
Профессиональный Документы
Культура Документы
SERIE
5R4A
PRACTICA No.
1
NOMBRE DE LA PRACTICA
Tipos de Arquitectura en VHDL
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
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
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.
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.
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.
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
1. Disee en VHDL un Multiplexor de varios canales con "enable, tal y como se muestra en la figura.
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.
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.
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.
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).
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.
11
A continuacin aparecer nuestro proyecto el cual an esta en blanco, por lo que se procede a crear un archivo dentro de l.
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.
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.
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.
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.
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.
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.
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.
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.
16
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.
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.
17
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.
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
19
c) Posicin 13
Figura 26. Posiciones de encendido.
d) Posicin 15
a) Posicin 0
Figura 27. Posiciones Off.
b) Posicin 10
20
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.
21
8
Lgica
Bibliografas
digital (2012), [En lnea] disponible Fecha de en: consulta
disponible Fecha
en: de
http://www.angelfire.com/al2/Comunicaciones/Laboratorio/multiple.html
Anexos
22