Sunteți pe pagina 1din 4

1

Diseo Digital con Esquemticos y VHDL, Implementado en la FPGA Spartan 2


Daniel Camilo Roln Quintero - Cd.: 1160467 , Diego Andrs Parada Rozo - Cd.: 1160449

ResumenEn este documento se describe de manera breve el procedimiento para crear e implementar el diseo a travs de modelos esquemticos mediante el modo Schematic; e implementando el VHDL mediante el modo HDL de la herramienta Xilinx WebPack. No obstante, El proceso implementado le presta vital importancia a dos aspectos: el diseo a travs de VHDL y la simulacin del mismo a travs del software Xilinx ISE. Por ltimo, se darn las respectivas conclusiones producto de las observaciones de las seales lgicas de entrada y salida. Index TermsJTAG, VHDL, Schematic, I/O marker, cabecera, std_logic, entity, architecture.

II. II-A. Objetivo General

O BJETIVOS

Aplicar a un diagrama el lenguaje VHDL para la descripcin de circuitos digitales sencillos. II-B. Objetivos Especcos Conocer el procedimiento para disear circuitos lgicos a travs de modelos esquemticos y del cdigo fuente del VHDL. Aplicar el estilo de programacin ujo de datos (DataFlow) del VHDL. Simular cada circuito lgico implementado con la herramienta Xilinx ISE. III. M ARCO T ERICO

I.

I NTRODUCCIN

UANDO se usan herramientas CAD para sintetizar un circuito lgico, el diseador puede proporcionar la descripcin inicial de varias formas. Una de ellas es a travs de modelos esquemticos que no son ms que representaciones de algn cdigo HDL que describe su comportamiento.

Otro modo ms eciente, pero no ms importante que el otro1 , es a travs de lenguaje HDL. Comnmente se implementan dos tipos de este lenguaje, el VHDL y el Verilog. En este documento se implementa el VHDL. El compilador de VHDL traduce este cdigo en un circuito lgico. Cada seal lgica del circuito se representa en el cdigo de VHDL como un objeto de datos. As como las variables declaradas en cualquier lenguaje de programacin de alto nivel tienen tipos asociados enteros o caracteres, por ejemplo, los objetos de datos en VHDL pueden ser de varios tipos. Una norma VHDL, la IEEE 1164, incluye un tipo de datos llamado STD_LOGIC, que es un tipo de dato parecido al BIT, pero que no slo tiene los valores binarios 0 y 1, sino que puede tomar otros valores como: 0, 1, Z, , L, H, U, X y W. Slo los primeros cuatro son tiles para la sntesis de los circuitos lgicos. El valor Z representa una impedancia alta; y signica una condicin "no importa". El valor L representa una "seal dbil 0", H una "seal dbil 1", U indica "sin inicializar", X siginica "desconocido" y W quiere decir "seal dbil desconocida". Otro tipo es el STD_LOGIC_VECTOR representa un arreglo de objetos STD_LOGIC. [1]
1 Esto se debe a que la decisin de trabajar con esquemticos o con lenguajes HDL depende del diseo implementado. Esto quiere decir que, ninguno de los dos mtodos es ms prctico o eciente para todos los circuitos lgicos que el otro, es ms, se podr encontrar unos circuitos que se manipulen mejor con VHDL que con esquemticos y viceversa.

En esta seccin se expresa de manera breve y general el procedimiento a seguir para crear e implementar un diseo digital a partir de Schematic (esquemtico) y VHDL (Very High Speed Integrated Circuit) del programa Xilinx ISE 10.1. III-A. Diseo de Un Circuito Digital con Modelos Esquemticos [3] 1. Crear el nuevo proyecto aplicando File New Project.... En el cuadro de dilogo New Project Wizard Create New Project se asigna el nombre al proyecto (Project name), el directorio en el cual se guardar el proyecto (Project location) y el tipo de fuente para el proyecto (Top-level source type) del cual se selecciona el modo Schematic para poder crear el circuito con modelos esquemticos. 2. En el cuadro de dilogo New Project Wizard - Device Properties se indican las caractersticas principales de la FPGA (Family, Device, Package, Speed) que se obtienen directamente del texto estampado sobre le encapsulado de la FPGA a implementar. Adems, se selecciona la herramienta de sntesis (Synthesis Tool), el simulador (Simulator), y el lenguaje que el diseador preera que representen los esquemticos (Preferred Language). 3. Hasta ahora se ha creado el proyecto. Lo que sigue es crear el diseo. Para ello se selecciona el tipo de fuente que se desea crear, lo cual se logra aplicando Project New Source. En el cuadro de dilogo New Source Wizard - Select Source Type se selecciona el tipo Schematic y se le asigna un nombre al archivo (File name) y la direccin del mismo (Location).

4. En el rea de trabajo (espacio blanco de la ventana) se podr "dibujar" el esquema del circuito lgico que se quiere implementar en la FPGA. Los smbolos se encuentran en la pestaa Symbols de la ventana acoplable Sources. Estos smbolos pueden ser los de puertas lgicas, comparadores, contadores, memorias, etc. Adems, para incluir los marcadores de entrada y salida se selecciona Add I/O Marker. 5. Una vez terminado el diseo del circuito lgico, se procede a guardarlo. Esta es un accin que se recomienda realizar constantemente.

III-C.

Sntesis e Implementacin [3]

III-B.

Diseo de Un Circuito Digital con VHDL [2]

1. Crear el nuevo proyecto aplicando File New Project.... En el cuadro de dilogo New Project Wizard Create New Project se asigna el nombre al proyecto (Project name), el directorio en el cual se guardar el proyecto (Project location) y el tipo de fuente para el proyecto (Top-level source type) del cual se selecciona el modo HDL (Hardware Description Language) para poder crear (posteriormente) el circuito con lenguaje VHDL el cual es un Lenguaje de descripcin de hardware. 2. En el cuadro de dilogo New Project Wizard - Device Properties se indican las caractersticas principales de la FPGA (Family, Device, Package, Speed) que se obtienen directamente del texto estampado sobre le encapsulado de la FPGA a implementar. Adems, se selecciona la herramienta de sntesis (Synthesis Tool), el simulador (Simulator), y el lenguaje que el diseador preera (Preferred Language). Para este caso se selecciona VHDL. 3. Hasta ahora se ha creado el proyecto. Lo que sigue es crear el diseo. Para ello se selecciona el tipo de fuente que se desea crear, lo cual se logra aplicando Project New Source. En el cuadro de dilogo New Source Wizard - Select Source Type se selecciona el tipo VHDL Module y se le asigna un nombre al archivo (File name) y la direccin del mismo (Location). 4. Ahora aparece el cuadro de dilogo New Source Wizard Dene Module. En l se asignan el nombre de la entidad, el nombre de la arquitectura de la entidad y los puertos de la entidad. 5. En el espacio de trabajo se debe realizar la descripcin VHDL; conformada por una cabecera, las libreras, la entidad y la arquitectura. 6. En VHDL, la entidad dene las entradas y salidas del circuito. La arquitectura describe la estructura, el funcionamiento o el comportamiento del circuito. 7. Para denir la arquitectura se describe primero el nombre y en seguida se indica a qu entidad pertenece. 8. Para comenzar a escribir dentro de la arquitectura se enuncia la instruccin Begin y a partir de all se incluyen las sentencias concurrentes del circuito a disear 9. Una vez terminado el diseo del circuito lgico, se procede a guardarlo.

1. Se selecciona de la pestaa Sources el chero creado (formato .sch). 2. Ahora se debe indicar los pines de la FPGA que se van a utilizar, a travs de la herramienta Xilinx PACE. Esto se hace desde la ventana de procesos (Processes), desplegando el men User Constraints y ejecutando el Floorplan Area / IO / Logic - Post-Sinthesis. Ya en el entorno de Xilinx PACE, se muestra la arquitectura de la FPGA (Architecture View), la asignacin de los pines (Package View) y una tabla (Desing Object List - I/O Pins) que menciona el nombre (I/O Name) y la direccin (I/O Direction) de los puertos a implementar. 3. Se procede a guardar dichas asignaciones en el Xilinx PACE. Volviendo al Xilinx ISE, se ejecuta el Congure Target Device.2 Si hecho esto, la ventana Processes muestra que la ejecucin ha sido correcta, ya se podr programar la FPGA. De lo contrario habra que corregir los errores presentados. III-D. Simulacin [1],[2],[3]

1. Una vez que se haya guardado el diseo, se asigna sources for: Behavioural Simulation y se selecciona el archivo de formato .sch en la ventana Sources. 2. En la ventana Processes, se ejecuta Create New Source. De ello aparecer el cuadro de dilogo New Source Wizard - Select Source Type, donde se crea el archivo de simulacin (indica al simulador qu valores toman las entradas en funcin del tiempo). Adems, se crea una nueva fuente seleccionando el tipo Test Bench Waveform (banco de pruebas). 3. En el cuadro de dilogo New Source Wizard - Associate Source, se selecciona el diseo a probar con el banco de pruebas. 4. En el cuadro de dilogo Initial Timing and Clock Wizard - Initialize Timing se indica que el circuito del diseo es combinacional (Combinatorial (or internal clock)). 5. El resultado es una ventana que muestra los puertos de entrada y salida (Vertical) y un diagrama de tiempo en cero (Horizontal). Se asignan los valores de los puertos de entrada y se graba el diagrama de tiempo obtenido (slo de entradas). 6. Para simularlo, en la ventana Source debe estar seleccionado el archivo de formato .tbw y en la ventana Processes se ejecuta Simulate Behavioral Model. Esto dar la orden para llevar a cabo la simulacin obteniendo los resultados en el diagrama de tiempo. III-E. Programacin de La FPGA [3]

1. Ubicados en la FPGA se quitan los tres jumpers de conguracin.


2 Como este paso ejecuta el Generate Programming File y a su vez el Programming File Generation Report, entonces permitir ejecutar la herramienta iMPACT lo que mostrar un ventana en la que se ofrecen varias opciones. Se deja la opcin congure devices using Boundary-Scan (JTAG) y Automatically connect to a cable and identify Boudary-Scan chain.

2. Se conecta el extremo paralelo del cable JTAG al puerto paralelo del ordenador y el otro extremo al conector JTAG de la tarjeta. 3. Se conecta el cable de alimentacin. Lo cual produce que se encienda el LED de encendido de la tarjeta que se est implementando. 4. Desde el Xilinx ISE se ha ejecutado la herramienta iMPACT3 , la cual procede a identicar la placa por medio del protocolo Boundary-Scan (JTAG). Para la FPGA hay que asignar el chero creado en formato .bit. Luego se procede a programar la FPGA haciendo click derecho sobre el bloque que la representa. Esto hace que se despliegue un men del cual se selecciona Program. 5. Se Observa la tarjeta y se comprueba el resultado de la programacin.

Figura 2.

Simulacin del sistema lgico descrito en la g. 1.

V-B. IV. E QUIPO I MPLEMENTADO

Sistema Lgico

Segn la g. 3 las funciones generadas para las salidas S0, S1, S2 y S3 son: S0 = A0 A1 S1 = A0 A1 S2 = A0 A1 S3 = A0 A1 (1) (2) (3) (4)

Computadora. Herramienta de simulacin Xilinx WebPack 10.1. Tarjeta PEGASUS de Digilent. Cable d conexin JTAG. Cable de alimentacin para la PEGASUS.

V. V-A.

D ESARROLLO DE LA P RCTICA

Puertas Lgicas

La g. 1 muestra el programa que se ha elaborado en cdigo VHDL para las puertas lgicas AND, OR, NOT, XOR y XNOR. Se anota que el cdigo se puede reducir si se considera que hayan slo dos entradas. Sin embargo, el diseo establece que cada compuerta posea sus propias entradas. La simulacin del cdigo de la g. 1 se muestra en la g. V-A.

De modo que el cdigo VHDL para el diagrama lgico de la g. 3 es como se muestra en la g.V-B. La simulacin del cdigo de la g. V-B y por ende, de la g. 3, se muestra en la g. V-B

Figura 1. XNOR.

Cdigo VHDL para las puertas lgicas AND, OR, NOT, XOR y

Figura 3.
3 Como

Circuito lgico de la sub-seccin V-B.

se explica en el pie de pgina2

[3] Universidad Rey Jaan Carlos, "Encender Un LED", Universidad Rey Juan Carlos.

Figura 4.

Cdigo VHDL para el circuito de la g. 3.

Figura 5. V-B.

Simulacin del sistema lgico descrito en la g. 3 y en la g.

VI.

C ONCLUSIONES

La decisin de trabajar con esquemticos o con lenguajes HDL depende del diseo implementado. Esto quiere decir que, ninguno de los dos mtodos es ms prctico o eciente para todos los circuitos lgicos que el otro, es ms, se podr encontrar unos circuitos que se manipulen mejor con VHDL que con esquemticos y viceversa. El estilo de programacin DataFlow permite tener mayor visibilidad de la funcin lgica que representa el circuito implementado. El VHDL no distingue entre maysculas y minsculas. Si se quiere hacer referencia al tipo de dato STD_LOGIC, se debe incluir la norma IEEE 1164. De lo contrario, si se quiere hacer referencia al tipo de dato BIT, se debe incluir la norma IEEE 1076. La tarjeta PEGASUS permite implementar 8 LEDs y un display de 7 segmentos de 4 dgitos como puertos de salida (O marker); y 8 interruptores y 4 pulsadores como puertos de entrada (I marker). VII. R EFERENCIAS

[1] Stephen Brown and Zvonko Vranesic, Fundamentos de Lgica Digital con Diseo VHDL, Segunda ed. Mxico: McGraw-Hill/Interamricana Editores, S.A. de C.V., 2006. [2] John Jairo Ramirez Mateus, "Introduccin al Lenguaje VHDL," Universidad Francisco de Paula Santander, San Jos de Ccuta, Gua de laboratoio.

S-ar putea să vă placă și