paper fernando final

Upload: fer-nei

Post on 14-Oct-2015

9 views

Category:

Documents


0 download

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 [email protected] Fernando Ponluisa [email protected]

    Escuela de Ingeniera en Electrnica Control y Redes IndustrialesFacultad de Informtica y Electrnica

    ESTUDIO COMPARATIVO DE LENGUAJES HDL ENTREVERILOG VS VHDL CON FPGA

    mailto:[email protected]:[email protected]
  • 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([email protected]).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([email protected])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:[email protected]:[email protected]:[email protected]:[email protected]
  • 5/24/2018 Paper Fernando Final

    9/9

    ESCUEL SUPERIOR POLITCNIC DE CHIMBOR ZO 2014.. ..Aldo Aparicio O. Neisser Ponluisa M.