Upload
jaime-ricardo
View
7
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD FRANCISCO DE PAULA SANTANDERFACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA
I. INTRODUCCION
VHDL significa VHSIC Hardware Description Language, y a su vez VHSIC significa Very High Speed Integrated Circuit. Se trata de un lenguaje de descripción de hardware, esto significa que mediante él se puede describir la forma de comportarse de un circuito electrónico. La forma de comportarse es independiente del hardware donde se implementará. además un proyecto de VHDL puede contener muchos ficheros. El código VHDL usualmente se encuentra en los ficheros con extensión *.vhd. La estructura típica de uno de estos ficheros es: Llamadas a librerías, entidad y arquitectura.
II. OBJETIVOS
OBJETIVO GENERAL
Conocer e investigar los diferentes estilos básicos de programación del lenguaje VHDL
OBJETIVOS ESPECÍFICOS
Plantear una práctica que permita al alumno aprender y manejar con cierta soltura la descripción textual de los dispositivos digitales (en particular utilizando VHDL), además de un entorno de programación y simulación.
utilización de las construcciones secuenciales básicas de VHDL
familiarización con el entorno VHDL para compilar, depurar, simular y trazar programas
III. MARCO TEÓRICO
VHDL fue diseñado originariamente por el Departamento de Defensa de los Estados Unidos de Norteamérica como una forma de
documentar las diversas especificaciones y el comportamiento de dispositivos ASIC de diversos fabricantes que incluían en sus equipos. Con la posterior posibilidad de simular dichos dispositivos, Comenzaron a crearse compiladores que pudieran llevar a cabo esta tarea leyendo los archivos VHDL. El paso siguiente fue el de desarrollar software capaz de sintetizar las descripciones generadas y obtener una salida apta para su posterior implementación ya sea en ASIC como en dispositivos CPLD y FPGA.
La gran masificación de VHDL permite que un mismo diseño sea portable, pudiendo utilizarlo no sólo en varios tipos de dispositivos PLD sino además de diferentes proveedores, donde con el mismo código VHDL se puede sintetizar un diseño para optimizar uno o mas parámetros críticos (área de silicio, velocidad de respuesta, Consumo de energía, etc.).Desde su implementación en el año 1981, VHDL fue Estandarizado por primera vez por la IEEE en 1987 (std. 1076) y se realizó un importante actualización en 1993 (con posteriores revisiones en 1994, 2000, 2002 y 2007).Si bien su uso se aplica fundamentalmente para la descripción de sistemas digitales, en 1999 la IEEE aprobó el standard 1076.1 conocido como VHDL-AMS el cual incluye extensiones para entradas analógicas
Figura 1.
“TIPOS DE LENGUAJE VHDL”MARILYN ESMERALDA MRTINEZ 1160757
UNIVERSIDAD FRANCISCO DE PAULA SANTANDERFACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA
IV RESULTADOS
Figura 2.
LENGUAJE ESTRUCTURAL
Para este lenguaje vamos a diseñar el siguiente código en VHDL, el cual será implementado y simulado en la tarjeta nexys 3E.
Figura 3.
Una vez implementado el lenguaje procedemos a llenar la caja negra tal cual como lo vemos en la siguiente figura.
Figura 4.
Están dentro de ella procedemos a declarar las variables de acuerdo a la compuerta utilizada, por ejemplo si en u0 utilizamos la AND en su arquitectura colocaremos z<= x and y; y si está situada en la compuerta OR seria z<= x or y; y así sucesivamente.
Figura 5
Al finalizar de implementar cada código en su respectiva compuerta procedemos a dar clip en “implementar top module” como se logra apreciar en la figura.
UNIVERSIDAD FRANCISCO DE PAULA SANTANDERFACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA
Figura 6
Luego de implementar y sintetizar todas las funciones del ejercicio planteado nos dirigimos a RTL schematic donde vamos apreciar el circuito como si estuviéramos trabajando el programa normalmente en esquemático.
Figura 7.
Una vez ejecutado este paso y dado doble clip en la caja negra, xilinx nos va a mostrar el circuito equivalente ejecutado anteriormente tan solo con puros códigos de programación.
Caja negra en la cual el circuito equivalente queda guardado en su totalidad
Figura 8.
Con el código verificado que esté funcionando correctamente procedemos a finalizar la simulación ejecutando los mismos pasos que utilizamos en la introducción de la guía en VHDL.
LENGUAJE FUNCIONAL
Describimos la forma en que se comporta el circuito. Esta es la forma que más se parece a los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.
UNIVERSIDAD FRANCISCO DE PAULA SANTANDERFACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA
Figura 9
Al declarar las variables de salida adecuadamente procederemos a sintetizar y llevar a cabo nuevamente los procesos que se generan en la caja negra como lo trabajamos en el lenguaje anteriormente.
Figura 10
Una vez presionado doble clip sobre el RTL SCHEMATIC, nos arroja una nueva caja, en la cual podremos observar las variables que almacena
Figura 11
Finalmente el bloque (caja negra) para este lenguaje quedara estipulado de la siguiente manera.
Figura 12
Con el código verificado que esté funcionando correctamente procedemos a finalizar la simulación ejecutando los mismos pasos que utilizamos en la introducción de la guía en VHDL.
LENGUAJE ALGEBRA DE BOOLE
Describe asignaciones concurrentes (en paralelo) de señales. Además este tipo de lenguaje me permite describir las salidas mediante el álgebra de Boole aplicado a las entradas.
UNIVERSIDAD FRANCISCO DE PAULA SANTANDERFACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA
Figura 13.
Al declarar las variables de salida procedemos a realizar los pasos establecidos en los lenguajes anteriores para poder apreciar la composición de la caja negra de este tipo de lenguaje
Figura 14
Caja negra del lenguaje “algebra de Boole”
Figura 15
Figura 16
Con el código verificado que esté funcionando correctamente procedemos a finalizar la simulación ejecutando los mismos pasos que utilizamos en la introducción de la guía en VHDL.
CONCLUSIONES
Los tres tipos de lenguajes de programación son indispensables para el trabajo en VHDL, debido a que por medio de ellos podemos implementar circuitos lógicos extensos y con un tiempo de trabajo relativamente más corto si lo comparamos con los esquemáticos.
Las compuertas lógicas nos brindan la posibilidad de crear diferentes tipos de proyectos digitales, los cuales nos ahorran costos y generan gran beneficio para el desarrollo de una empresa.
Mediante el programa Xilinx y en el Adept conseguimos demostrar el diagrama lógico propuesto. El cual nos permitió observar en la tarjeta nexys 2 el funcionamiento correcto de la actividad propuesta en la guía de trabajo.
Al observar cada uno de los tres tipos de lenguajes en la caja negra logramos apreciar, que el circuito lógico seguía siendo el mismo
UNIVERSIDAD FRANCISCO DE PAULA SANTANDERFACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA
así se escribieran lenguajes diferentes para cada tipo de configuración.
BIBLIOGRAFIA
[1] Guía: LAB3 lógica y diseño digital UFPS. Elaborada por el Prof. Dra. Ing. Karla Cecilia puerto López.
[2] Guías de laboratorio diseño digital UFPS. Elaborada por el Prof. Dr. Ing. Jhon Jairo Ramírez mateus. [3] D.A Patterson y J.L Hennessy, “introducción al VHDL y diseño de computadores”, Ed. macGraw.hill, 1995. [4] VHDL Lenguaje estándar de diseño electrónico. Lluís Terés, Yago Torroja, Serafín Olcoz, Eugenio Villar. Ed, Mc Graw-Hill, 1998