paper fernando final
Post on 14-Oct-2015
9 Views
Preview:
TRANSCRIPT
-
5/24/2018 Paper Fernando Final
1/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014
Abstrac: The study of art in hardware description
languages such as VHDL and Veri log, are languages
that all ow us to design our own digital ci rcui ts, with
programming in both languages our aim wil l be to find
the easiest language for designing learning digital,
making a table comparing each of the languages by the
programming syntax parameters resulted giving us
easier language learning Verilog for the hardware
level simulation wil l use the Xi li nx FPGA card brand.
Resumen: El estudio del arte en los lenguajes dedescripcin de hardware como: VHDL y Verilog, son
lenguajes que nos permiten disear nuestros propioscircuitos digitales, con la programaciones en los doslenguajes nuestra finalidad ser de encontrar el
lenguaje ms fcil aprendizaje para el diseo digital,realizando un cuadro comparativo de cada uno de los
lenguajes mediante los parmetros de sintaxis deprogramacin dndonos como resultado el lenguaje demayor facilidad de aprendizaje a Verilog, para la
simulacin a nivel de hardware usaremos la tarjetaFPGA de marca Xilinx.
PALABRAS CLAVE: HDL, VHDL, Verilog, FPGA.
1. INTRODUCCIONLos lenguajes de descripcin hardware se haincrementado en el ltimo ao con muchas mejoras encada lenguaje, tambin lo ha hecho la complejidad dedeterminar qu idioma es mejor para el diseo digital.Muchas diseadores an no saben que HDL elegir entreVHDL y Verilog.Cada uno de los lenguajes tiene sus propiascaractersticas, en esta investigacin se tomara en cuenta
varios parmetros de comparacin en la sintaxis dprogramacin, ayudando a definir cul de los lenguajeVHDL o Verilog es el ms fcil de aprender en el diseodigital. Para ellos hemos realizado varios tipos dprogramacin, desde diseos digitales bsicos a diseodigitales complejos con el fin de entender el grado dedificultad de cada uno, realizando cada uno de lodiseos comprobados mediante simulacin en software yen hardware en la tarjeta FPGA de Xilinx Spartan 3e.Especficamente, analizamos la programacin en cadlenguaje para encontrar una solucin de cul de loHDLs es el ptimo en el diseo digital, con el fin depromover a la enseanza del lenguaje. Desarrollaremouna tabla de comparacin de los lenguajes y de ellosacaremos una conclusin final de que lenguaje es emejor.
2. MARCOREFERENCIAL2.1. HDLEs una herramienta de diseo digital que nos permitedescribir las interconexiones, caractersticascomportamientos, usos y las estructuras de los circuitode diseo digital, usando un esquema de sintaxis ocodificacin de programacin.En los HDLs se pueden describir el diseo de sintaxipara las operaciones de diseo digital con diferenteniveles de abstraccin, esto depende del diseador de
sistema con su capacidad de programacin entres estoniveles de abstraccin se enumeran a continuacin:
Nivel de conmutadores (Transistores y Cables). Nivel de Compuertas (Compuertas lgicas, flip
flop) es una descripcin textual esquemtica.
Nivel de flujo de datos (Flujos de datos entrregistros).
Nivel algortmico (programacin de alto nivetales como comandos, lazos y otros).
Aldo Alejandro Aparicio O.socio-aldio@hotmail.comNeisser Fernando Ponluisa M.poncho_ferney@hotmail.com
Escuela de Ingeniera en Electrnica Control y Redes IndustrialesFacultad de Informtica y Electrnica
ESTUDIO COMPARATIVO DE LENGUAJES HDL ENTREVERILOG VS VHDL CON FPGA
mailto:Socio-aldio@hotmail.commailto:Socio-aldio@hotmail.com -
5/24/2018 Paper Fernando Final
2/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 20142.1.1 TIPOS DE HDL
a) BAJO: Palasm, Cupl, Abel.b) MEDIO: AHDLc) ALTO: VDHL y Verilog.
2.2. VHDL (Very High Speed Integrated Circuits)Es un conjunto de recursos que permite describir elmodelado de circuito digitales con estructurasjerrquicas, desde puertas lgicas hasta algoritmos deprogramacin de diseo digital avanzado.
VHDL es un lenguaje derivado del lenguaje deprogramacin Ada y Pascal, es un lenguaje msdetallado que Verilog. Adems es de fuerte tipificacinrequiere codificacin adicional para convertirexplcitamente un tipo de datos a otro. El creador deVHDL se enfatiz en la semntica que eran indiscutibles
y de diseo que eran fciles de transportar de unaherramienta a otra, sin diferenciar maysculas de lasminsculas para VHDL todas las letras son iguales.
Varias normas relacionadas se han desarrollado paraaumentar la utilidad del lenguaje. Cualquier diseoVHDL hoy depende de al menos la norma IEEE 1164(tipo std_logic), y muchos de ellos tambin dependen depaquetes numricos y matemticos estndar.
2.2.1. ELEMENTOS BSICOS VDHLEntre los elementos bsicos del lenguaje VHDL estcompuesto por varias entradas, salidas y la relacin queexiste entre ellas. En el aspecto exterior, de cuantospuertos de entrada y salida tenemos, es lo que nosreferimos con el nombre entity, la descripcin decomportamiento del diseo digital es architecture y estaest asociada a una entity. Los paquetes que vamos ausar deben ser declarados al igual que el tipo deoperadores, para estas declaraciones tenemos las library.En la siguiente imagen II.1, vamos a indicar como debeir estructurada los elementos para la codificacin, enVHDL.
2.2.1.1. Declaracin de la Biblioteca (Library)Las bibliotecas son los recursos o paquetes que disponenen la descripcin de sintaxis de programacin par
realizar el diseo digital. En la librera de VHDL existenmnimos tres paquetes de libreras diferentes que seutilizan en el diseo:
ieee.std_logic_1164 (Esta librera define lextensin de los operadores logicos).
standard (Esta librera est incluida lo que no enecesario llamarla).
work (Esta librera es donde se almacenan datoen ejecucin y al ser utilizada de esta manera noes necesaria llamarla).
2.2.1.1. Declaracin de la Entidad (Entity)
Es la abstraccin de un circuito de diseo digital desduna compuerta hasta un sistema complejo digital. Lentidad nicamente describe la forma externa decircuito definiendo las entradas y las salidas del diseoPosee toda la informacin necesaria para conectar variocircuitos. Como se muestra en el siguiente ejemplo:
entitynombre isport( port_name : signal_mode signal_tipe;
port_name: signal_mode signal_tipe;);
endnombre;
Una entidad puede tiene puertos: Entrada on (solo se puede leer y no se pued
modificar su valor).
Salida out (Solo se puede escribir y nunctomar decisiones).
Entrada-salida inout o buffer (Si eestrictamente necesario escribir sobre u
puerto a la vez que se tiene que tener en cuent
su valor).
2.2.1.3 Declaracin de la Arquitectura (ArchitectureUna arquitectura describe el funcionamiento de lentidad a la que hace referencia, es decir, dentro de larquitectura tendremos que describir el funcionamientode la entidad a la que est asociada utilizando lasentencias y expresiones propias de VHDL, con lfinalidad de escribir el cdigo de programacin dediseo digital.
Define internamente el circuito.FIGURA II.1: Estructura del cdigo VHDLElaborado por: Los autores
-
5/24/2018 Paper Fernando Final
3/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014 Seales internas, funciones,
procedimientos, constantes
La descripcin de la arquitectura puedeser estructural o por comportamiento.
architecturearch_name ofentity_name is-- declaraciones de la arquitectura:-- tipos-- seales-- componentes
begin-- cdigo de descripcin-- instrucciones concurrentes-- ecuaciones booleanes-- componentes
process(lista de sensibilidad)begin
-- cdigo de descripcinend process;end arch_name;
El cdigo VHDL propiamente dicho se escribe dentro dearchitecture. Cada architecture va asociada a una entity.Antes de begin se definen en las variables o sealesinternas que se va a necesitar para describir elcomportamiento de nuestro diseo digital que vamos aprogramar, definimos los tipos de seales particularesque utilizaremos y los componentes, otros circuitos yadefinidos y compilados de los cuales conocemos su
interfaz en VHDL (su entity).Desde begin hasta end escribiremos todas las sentenciaspropias de VHDL, pero no todas pueden utilizarse encualquier parte del cdigo. As pues aquellas sentenciasde VHDL que tengan definido un valor para cualquiervalor de la entrada (y que nosotros denominamossentencias concurrentes) podrn ir en cualquier parte delcdigo pero fuera de la estructura process.
2.3. VERILOG
Es un DHL utilizado para disear sistemas de diseo
digital, verilog soporta el diseo, prueba eimplementacin de circuitos analgicos, digitales adiferentes niveles de complejidad. Posee una sintaxissimilar a la del lenguaje de programacin C, la mayorade palabras reservadas de control como while, if entreotras son similares, posee ya predefinidos los tipos dedatos en representacin a nivel de bit, lo que permite sercompatibles al mezclar libremente los tipos de datos.
Verilog es uno de los HDL ms usados que permitedescripciones abstractas y representaciones en bajo
nivel es decir puede describir circuitos de sistemadigitales en base a compuertas, e incluso en base atransistores. Verilog permite la descripcin estructuradel diseo en base a componentes bsicas, ydescripciones ms abstractas que se enfocan en lconducta del sistema. La conducta puede describirs
mediante expresiones lgicas y tambin empleandoprocedimientos. Un diseo basado en descripcionefuncionales o de comportamiento puede resultar lento yde gran tamao. Las descripciones en niveleestructurales permiten un ahorro en los circuitos lgicopara maximizar la velocidad, minimizar el tamao y mbajo costo.La semntica de simulacin en Verilog son mambiguos que en VHDL. Esta ambigedad da a lodiseadores mayor flexibilidad en la aplicacin de laoptimizaciones.
2.3.1. ELEMENTOS BSICOS DE VERILOGLas letras en negrita indican palabras reservadas dVerilog. El smbolo indica parmetros opcionales.
a) Declaracin de mdulo: Indica el inicio de ldefinicin de mdulos, es estrictamente necesaria.
Sintaxis:modulenombre_de_mdulo ;
b) Declaracin de puerto:Indica la direccin, anchoy nombre del puerto.
Sintaxis:
in/out/inout nombre_de_puerto;
c) Declaracin de registros y wire: Indica el ancho ynombre del registro o cable.
Sintxis:reg/wirenombre_de_registro/nombre_de_cable;
d) Instancias de componentes: Instancia dsubbloque o compuerta. El nombre de la instancidebe ser nico.
Sintaxis:
subbloque/nombre_mdulo/compuertanombre_instancia(lista de puertos conectividad)
e) Assign: Asignacin de valores a una conexin(wire).
Sintaxis:assign nombre_de_conexion=nombre_del_registro/nombre_de conexin;
f) Cuerpo del mdulo: Es el corazn del cdigoHDL, contiene la descripcin comportamental o
-
5/24/2018 Paper Fernando Final
4/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014estructural de toda la lgica combinacional ysecuencial. Incluye las declaraciones always einitial, expresiones lgicas y aritmticas, loscomandos case y muchos otros.
g) Declaracin de fin de mdulo:Indica el fin de ladefinicin de un mdulo. Esta es estrictamentenecesaria.
Sintaxis:endmodule.
2.3.2. ESTRUCTURA DE DECLARACION DELMODULOEn Verilog un sistema digital es la interconexin de unconjunto de mdulos. La estructura general de estosmdulos es la siguiente:
module ();
endmodule
Los argumentos del mdulo pueden ser de tres tipos,estos argumentos comunicarn el interior ofuncionalidad del mdulo con otros elementos del propiodiseo.
Input: Entradas del mdulo, cuyo tipo son wire. Output: Salidas del mdulo. Dependiendo del
tipo de asignacin que las genere sern wire siproceden de una asignacin continua y reg siproceden de una asignacin procedural.
Inout: Son a la vez entradas y salidas. nicamente, son de tipo wire.
2.4 FPGA(FIEL PROGRAMMABLE GATE ARRAY)Las FPGAs fueron inventadas en el ao 1984 por RossFreeman y Bernard Vonderschmitt, co-fundadores deXilinx.Este tipo de tarjetas son un conjunto de arreglosmatriciales de bloques lgicos programables en un
espacio fsico, se usa para implementar circuitos dediseo digital, en esta investigacin se ha usado con elfin de simular a nivel de hardware cada una de lasprogramaciones tanto en VHDL o Verilog.Es un dispositivo semiconductor que contiene bloquesde lgica cuya interconexin y funcionalidad se puedeprogramar. La lgica programable puede reproducirdesde funciones tan sencillas como las llevadas a cabopor una puerta lgica o sistemas complejos.En la actualidad hay muchas empresas dedicadas aproducirlas entre estas estn Xilinx, Altera, Lattice
Semiconductor, Actel, Quicklogic, Atmel, AchronixMathstar.
2.4.1. ESTRUTURA INTERNA DE LA FPGAEl proceso de diseo de un circuito digital utilizando unmatriz lgica programable puede descomponerse en do
etapas bsicas: Dividir el circuito en bloques bsico
asignndolos a los bloques configurables dedispositivo.
Conectar los bloques de la lgica mediante loconmutadores necesarios.
Para ello el fabricante proporciona las herramientas d
diseo adecuadas.Los elementos bsicos constituyen de una FPGA comolas de Xilinx se pueden ver en la Figura II.2 y son lasiguientes:
1. Bloques Lgicos: La estructura y contenido sdenomina arquitectura. Hay muchos tipos darquitecturas, que varian principalmente encomplejidad (desde una simple puerta hastmdulos ms complejos o estructuras tipo PLD)Suelen incluir biestables para facilitar limplementacin de circuitos secuenciales. Otromdulos de importancia son los bloques d
entrada/salida.2. Recursos de interconexin: Cuya estructura y
contenido se denomina arquitectura de rutado.3. Memoria RAM, que se carga durante el RESET
para configurar bloques y conectarlos.Por supuesto, no todas las FPGA son igualesDependiendo del fabricante nos podemos encontrar condiferentes soluciones. Las FPGAs que existen en lactualidad en el mercado se pueden clasificar compertenecientes a cuatro grandes familias, dependiendo d
FIGURA II.2: ARQUITECTURA INTERNA DE LA FPGA (XILINX
AUTOR: FPGA: NOCIONES BASICAS DE IMPLEMENTACIN
M. L. LPEZ VALLEJO Y J. L. AYALA RODRIO
-
5/24/2018 Paper Fernando Final
5/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014la estructura que adoptan los bloques lgicos que tengandefinidos. Las cuatro estructuras se pueden ver en laFigura II.3, sin que aparezcan en la misma los bloquesde entrada/salida.
1. Matriz simtrica, como son las de XILINX2. Basada en canales, ACTEL3. Mar de puertas, ORCA4. PLD jerrquica, ALTERA o CPLDs de
XILINX.En concreto, para explicar el funcionamiento y laestructura bsica de este dispositivo programables slose considerarn las distintas familias de XILINX.
Este tipo de tarjetas FPGA est siendo muy utilizados envarios campos de la ingeniera como en: Alarmas, Arcosde seguridad de bancos, Climatizacin de autobuses,Comunicaciones por fibra ptica, ConduccinAutomtica de Trenes, Control industrial, Control deinstalaciones elctricas, Electrnica de potencia,Electrnica espacial, Electrnica submarina, Electrnicaaplicada a hoteles, Enclavadores Elctricos, Ensayo demateriales, Equipos de medicina y radiologa, etc.
3. EJEMPLOS DE PROGRAMACIN VHDL YVERILOG
Se realizaran ejemplos en VHDL y Verilog para conocersu sintaxis y as luego poder determinar cul de loslenguajes es el ms fcil aprendizaje, dichos ejemplos semuestran en las siguientes tablas:
3.1. Programar la siguiente operacin de compuertas lgicasen VHDL y Verilog.M= (a+b) cL= c
Tabla 3.1. Programacin del ejercicio
VHDL VERILOGlibraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;entityinicio2 is
Port( a,b,c: in STD_LOGIC;M,L : out STD_LOGIC);
endinicio2;architectureBehavioral ofinicio2 isbegin
M
-
5/24/2018 Paper Fernando Final
6/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014end Behavioral;
3.3.Disee un contador binario de tres bits de nmerosimpares, use para el efecto cualquier tipo de flipflop.
Tabla 3.3. Programacin del Ejercicio
4. RESULTADOS4.1. VHDL vs VERILOGEn esta parte de la investigacin presentamos la tablaentre los dos lenguajes.Tabla 3.3. VHDL vs Verilog
VHDL VERILOG
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
ENTITYFFIMPAR ISPORT(CLK,A,B,C : INSTD_LOGIC;RESET: INSTD_LOGIC;DA,DB,DC: OUT STD_LOGIC);ENDFFIMPAR;ARCHITECTUREBEHAVIORAL
OF FFIMPAR ISBEGINPROCESS(CLK)BEGIN
IF(CLK'EVENT ANDCLK='1')THENIFRESET='1' THENDA
-
5/24/2018 Paper Fernando Final
7/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 20144.2. ResultadoDespus de analizar parmetros de sintaxis cada delenguaje como: Lneas de codificacin, simulacin,libreras, tipos de datos, tipados, sensibilidad,preferencia, concluidos este cuadro estadstico:
CUADRO DE RESUMEN DE LOS AUTORES
Media Aritmtica
VHDL
VERILOG
CUADRO DE RESUMEN DE LA MEDIA
ARITMTICA DE LOS AUTORES.
5. CONCLUCIONES El Estudio comparativo de los lenguajes de
descripcin de hardware, nos permiti conoceque hay muchas nuevas tecnologas que envarios pases estn en pleno auge en el diseodigital, en nuestra investigacin analizamos euso de las tarjetas FPGA y su programacin parconfigurarlas son los lenguajes VHDL yVerilog.
Esta nueva tecnologa se est usando en muchaaplicaciones en donde se necesita que trabajen una mejor velocidad como por ejemplo: enaeronutica, biomdica, sistemas de controletc...
Con esta investigacin y las prcticas dprogramacin de los lenguajes VHDL y Verilogpermitieron tener un mejor conocimiento endiseo digital con la ayuda de la tarjeta FPGA.
Las prcticas permitirn tener conocimientobsicos de esta nueva tecnologa de las tarjetaFPGA, desarrollando sus propios diseodigitales que les ayudara para aplicar en embito profesional y as generar nuevaaptitudes en la tendencia tecnolgica que apunten esos rumbos.
Mediante los fundamentos tericos dprogramacin en VHDL y Verilog se pudelegir cul de los dos lenguajes es ms fcil deprogramar y cual tiene menor cdigo dprogramacin, como resultado a la investigacies Verilog que su base de programacin es Cque permiten entender de una mejor manera ediseo digital debido a que todo ingenieroelectrnico conoce programacin en C.
6. RECOMENDACIONES Las tarjetas de FPGA es una nueva tecnologa
que debe ser explotada en varios campo
aplicativos de la Ingeniera Electrnica y todIngeniero Electrnico debe estar involucrado enlos nuevos avances tecnolgicos que se estndando en el mundo, con el fin de mejorar en embito profesional de las nuevas tecnologas.
Se debe incluir la asignatura de sistemadigitales avanzado, como materia propia de lmalla de estudio, bebido que todo ingenieroElectrnico debe conocer por lo menos unlenguaje de descripcin de hardware con l
0
20
40
60
80
100
Lne
asde
Simulacin
Lib
rerias
TipoDatos
Sensib
ilidad
Referencia
VHDL
VERILOG
0
20
40
60
80
AUTORES
VHDL
VERILOG
FIGURA V.11: Cuadro Estadstico VHDL vs VERILOG
Autor:Los Autores
FIGURA V.10: Cuadro Estadstico VHDL vs VERILOG
Autor:Los Autores
-
5/24/2018 Paper Fernando Final
8/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014finalidad de encaminarse a los nuevos avancestecnolgicos en el uso de las tarjetas FPGA.
Se debe tener conocimientos bsicos, deprogramacin en C y sistemas digitales,
recomendndoles que empiecen programado enVerilog.
7. BIBLIOGRAFA1. Brown, Stephen y Vranesic, Zvonko.
Fundamentos de lgica digital con diseoVHDL. Mexico : McGraw-Hill Interamericana,2006.
2. Sanchez-Elez, Marco.Introduccin a laprogramacion en VHDL. Madrid, Espaa : s.n.P8, P9, P10.
3. Lozano, Pelegrn Camacho.VHDL orientado asintesis en FPGAs. Malaga : Departamento deTecnologi Electrnica, 2012. P17 - P31.
4. LO, M. Lpez Vallejo; J. L. Ayala Rodrigo.FPGA: Nociones bsicas e Implementacin.Madrid - espaa : Departamento de IngenieraElectrnica, 2004. P4 - P6.
5. Cristian Sisterna, MSc.FPGAs. Mexico : s.n.P7 - P11; 35-37.
6. Scalvinoni, Eduardo Boemo.Microelectrnica.Estado del Arte de la Tecnologa FPGA. UninEuropea : s.n., 2005.
8. WEBGRAFA1. dspace.ups.Introduccin al diseo digital
utilizando Lenguaje Descriptivo de HardwareVerilog. [En lnea]http://dspace.ups.edu.ec/bitstream/123456789/40/7/Capitulo1.pdf.
2. VHLD, Lenguaje de Descripcin deHardware. iele-ab. [En lnea]http://oretano.iele-ab.uclm.es/~miniesta/intro%20hdl.pdf. P2, P9,P10.
3. Noelia, Reinaldo.http://www.blogger.com/profile/0980821863917461511Mis Blogs. [En lnea] 06 de 12 de 2007.[Citado el: 20 de 12 de 2013.] http://reinaldo-noelia-fpga.blogspot.com/. P1.
4. Microsistemas, Consorcio Mexicano de.http://www.cmm.org.mx/. Tecnologa FPGA.[En lnea] 2012. [Citado el: 20 de 12 de 2013.]http://www.cmm.org.mx/index.php/microsistemas/tecnologia-fpga.
5. Wikibooks.es.wikibooks.org.Programacin enVerilog- Elementos bsicos del lenguaje. [Enlnea] 30 de 10 de 2013. [Citado el: 16 de 12 de2013.]http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Verilog/M%C3%B3dulos.
9. AUTORESAldo Alejandro AparicioOlmedo(socio-aldio@hotmail.com).Nace el 30 de Enero de 1988en la ciudad de Esmeraldas.
Egresado de la Escuela deIngeniera Electrnica enControl y Redes Industriales,
sus estudios primarios los realiz en la EscuelaFiscal Mixta Patria Gonzales de Mrquez, lasecundaria en el Colegio Tcnico FiscomisionalMonserorngel BarbisottiBachiller Tecnico
Industrial en Electricidad.
Neisser Fernando PonluisaMarcalla(poncho_ferney@hotmail.com)Nace el 29 de octubre de 1988en la ciudad de Santo Domingode los Colorados.
Egresado de la Escuela de Ingeniera Electrnica enControl y Redes Industriales, sus estudios primarioslos realiz en la Escuela Fiscal Mixta Dr. AlfredoBaquerizo Moreno, la secundaria en el Colegio
Nacional Mixto Santo Domingo de los Colorados
Bachiller en Fsico Matemtico.
.. ..Ing. Janeth Arias Ing. Wilson Balden
mailto:Socio-aldio@hotmail.commailto:poncho_ferney@hotmail.commailto:poncho_ferney@hotmail.commailto:Socio-aldio@hotmail.com -
5/24/2018 Paper Fernando Final
9/9
ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014.. ..Aldo Aparicio O. Neisser Ponluisa M.
top related