Asignacion1 Reporte

Embed Size (px)

Citation preview

  • 7/21/2019 Asignacion1 Reporte

    1/33

    Universidad de El Salvador

    Facultad de Ingeniera y Arquitectura

    Escuela de Ingeniera Elctrica

    Departamento de Instrumentacin y Control

    Tarea N 1: Introduccin a los Lenguajes HDL

    Asignatura:

    Sistemas Digitales I

    Profesor:

    Ing. Salvador Germn

    Instructores:

    Sasi Ramrez

    Francisco Cruz Jurez

    Alumno Carn G.T G.L Firma

    Agreda Rivas, Karen Amanda AR13008 02 04

    Aguilar Quintanilla, Cristian Antonio AQ13003 01 01

    Ciudad Universitaria, A las diez horas treinta minutos del 24 de Marzo de 2015

  • 7/21/2019 Asignacion1 Reporte

    2/33

    Objetivos

    Objetivo General:

    Conocer, analizar, implementar y presentar los conocimientos bsicos adquiridos en la

    materia de Sistemas Digitales I, en simuladores que generen circuitos lgicos basados en

    el lenguaje de programacin VHDL.

    Objetivos Especficos:

    Desarrollar programas que simulen el comportamiento de las compuestas lgicas.

    Modelar soluciones a problemas mediante el uso de compuertas lgicas y

    presentar los resultados de las tablas de verdad en los simuladores.

    Investigar distintas formas de realizar cdigos en el lenguaje VHDL.

  • 7/21/2019 Asignacion1 Reporte

    3/33

    Introduccin

    En el presente trabajo se muestran los pasos de desarrollo que se han seguido para

    realizar la Asignacin N 1 de la materia de Sistemas Digitales I.

    En un principio se muestra una breve presentacin de lo que es la programacin en el

    lenguaje VHDL.

    Luego se muestra los pasos para descargar e instalar los programas que se van a utilizar

    tambin se da una breve explicacin sobre el cdigo VHDL.

    En la siguiente parte encontraremos los problemas propuestos a desarrollar, se detalla la

    forma a resolver un circuito lgico a travs del cdigo VHDL y el resultado se ver en las

    grficas.

    En la ltima parte se encuentra lo que son las observaciones, las conclusiones a que

    llegamos en base a los objetivos planteados al comienzo de este reporte y por ltimo la

    bibliografa, que muestra los sitios en donde se encontr la informacin.

  • 7/21/2019 Asignacion1 Reporte

    4/33

    Marco Terico

    Qu es el cdigo VHDL?

    VHDL es el acrnimo que representa la combinacin deVHSIC yHDL,donde VHSIC es elacrnimo de Very High Speed Integrated Circuit y HDL es a su vez el acrnimo

    de Hardware Description Language. Es unlenguaje definido por elIEEE (Institute of

    Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para

    describir circuitos digitales. Otros mtodos para disear circuitos son la captura de

    esquemas (con herramientasCAD)y los diagramas de bloques, pero stos no son prcticos

    en diseos complejos. Otros lenguajes para el mismo propsito sonVerilog yABEL.Aunque

    puede ser usado de forma general para describir cualquier circuito se usa principalmente

    para programar PLD (Programable Logic Device - Dispositivo Lgico

    Programable),FPGA (Field Programmable Gate Array), ASIC y similares.

    Formas de describir un circuito:

    Dentro del VHDL hay varias formas con las que podemos disear el mismo circuito y es

    tarea del diseador elegir la ms apropiada.

    Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que

    ms se parece a los lenguajes de software ya que la descripcin 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 seales y con las instancias a otros componentes.

    Flujo de datos: describe asignaciones concurrentes (en paralelo) de seales.

    Estructural: se describe el circuito con instancias de componentes. Estas instancias

    forman un diseo de jerarqua superior, al conectar los puertos de estas instancias con

    las seales internas del circuito, o con puertos del circuito de jerarqua superior.

    Mixta: combinacin de todas o algunas de las anteriores.

    En VHDL tambin existen formas metdicas para el diseo de mquinas de estados, filtros

    digitales, bancos de pruebas etc.

    Secuencia de diseo

    El flujo de diseo de un sistema podra ser:

    Divisin del diseo principal en mdulos separados. La modularidad es uno de los

    conceptos principales de todo diseo. Normalmente se diferencia entre dos

    metodologas de diseo: top-down y bottom-up. La metodologa top-down consiste

    http://es.wikipedia.org/wiki/VHSIChttp://es.wikipedia.org/wiki/Lenguaje_de_descripci%C3%B3n_de_hardwarehttp://es.wikipedia.org/wiki/Lenguaje_de_especificaci%C3%B3nhttp://es.wikipedia.org/wiki/IEEEhttp://es.wikipedia.org/wiki/Dise%C3%B1o_asistido_por_computadorahttp://es.wikipedia.org/wiki/Veriloghttp://es.wikipedia.org/wiki/ABELhttp://es.wikipedia.org/wiki/FPGAhttp://es.wikipedia.org/wiki/FPGAhttp://es.wikipedia.org/wiki/ABELhttp://es.wikipedia.org/wiki/Veriloghttp://es.wikipedia.org/wiki/Dise%C3%B1o_asistido_por_computadorahttp://es.wikipedia.org/wiki/IEEEhttp://es.wikipedia.org/wiki/Lenguaje_de_especificaci%C3%B3nhttp://es.wikipedia.org/wiki/Lenguaje_de_descripci%C3%B3n_de_hardwarehttp://es.wikipedia.org/wiki/VHSIC
  • 7/21/2019 Asignacion1 Reporte

    5/33

    en que un diseo complejo se divide en diseos ms sencillos que se puedan disear

    (o describir) ms fcilmente. La metodologa bottom-up consiste en construir un

    diseo complejo a partir de mdulos, ya diseados, ms simples. En la prctica, un

    diseo usa generalmente ambas metodologas.

    Entrada de diseos, pueden usarse diversos mtodos tal como se vio anteriormente.

    Simulacin funcional, es decir, comprobaremos que lo escrito en el punto anteriorrealmente funciona como queremos, si no lo hace tendremos que modificarlo. En este

    tipo de simulacin se comprueba que el cdigo VHDL o Verilog (u otro tipo de lenguaje

    HDL) ejecuta correctamente lo que se pretende.

    Sntesis. En este paso se adapta el diseo anterior (que sabemos que funciona) a un

    hardware en concreto, ya sea una FPGA o un ASIC. Hay sentencias del lenguaje que no

    son sintetizables, como por ejemplo divisiones o exponenciaciones con nmeros no

    constantes. El hecho de que no todas las expresiones en VHDL sean sintetizables es

    que el VHDL es un lenguaje genrico para modelado de sistemas (no slo para diseo

    de circuitos digitales), por lo que hay expresiones que no pueden ser transformadas a

    circuitos digitales. Durante la sntesis se tiene en cuenta la estructura interna deldispositivo, y se definen restricciones, como la asignacin de pines. El sintetizador

    optimiza las expresiones lgicas con objeto de que ocupen menor rea, o bien son

    eliminadas las expresiones lgicas que no son usadas por el circuito.

    Simulacin post-sntesis. En este tipo de simulacin se comprueba que el sintetizador

    ha realizado correctamente la sntesis del circuito, al transformar el cdigo HDL en

    bloques lgicos conectados entre s. Este paso es necesario ya que, a veces, los

    sintetizadores producen resultados de sntesis incorrectos, o bien realiza

    simplificaciones del circuito al optimizarlo.

    Ubicacin y enrutamiento. El proceso de ubicacin consiste en situar los bloques

    digitales obtenidos en la sntesis de forma ptima, de forma que aquellos bloques que

    se encuentran muy interconectados entre s se siten prximamente. El proceso de

    enrutamiento consiste en interconectar adecuadamente los bloques entre s,

    intentando minimizar retardos de propagacin para maximizar la frecuencia mxima

    de funcionamiento del dispositivo.

    Anotacin final. Una vez ha sido completado el proceso de ubicacin y enrutamiento,

    se extraen los retardos de los bloques y sus interconexiones, con objeto de poder

    realizar una simulacin temporal (tambin llamada simulacin post-layout). Estos

    retardos son anotados en un fichero SDF (Standard Delay Format) que asocia a cada

    bloque o interconexin un retardo mnimo/tpico/mximo.

    Simulacin temporal. A pesar de la simulacin anterior puede que el diseo no

    funcione cuando se programa, una de las causas puede ser por los retardos internosdel chip. Con esta simulacin se puede comprobar, y si hay errores se tiene que volver

    a uno de los anteriores pasos.

    Programacin en el dispositivo. Se implementa el diseo en el dispositivo final y se

    comprueba el resultado.

  • 7/21/2019 Asignacion1 Reporte

    6/33

    Operadores en VHDL

    En VHDL existen diferentes operadores entre los que tenemos:

    Operadores Definidos en VHDL para los tipos: Lgicos AND, OR, XOR, NOT, NAND, NOR,

    XNOR Bit y Booleanos De relacin =, /=, , >=,

  • 7/21/2019 Asignacion1 Reporte

    7/33

    Obtencin del software de simulacin VHDL y pasos de instalacin

    Para desarrollar esta asignacin utilizamos dos software el primero de instalacin en

    Windows este es Altera Max Plus II v10.2 y para Ubuntu se la paquetera de compilacin

    GHDL y el simulador GTKWave.

    Instalacin de Altera Max Plus II v10.2

    1. Descomprimimos el archivo con la opcin

    2.

    Entramos a la carpeta del archivo ya descomprimido

    3. En la carpeta instaladores, entramos a la carpeta full

    4. Abrimos el archivo setup

    5. Los pasos que indiquen las ventanas del instalador (tpico de Windows).

    6.

    Finalmente el programa puede encontrarse en el men inicio

    Instalacin de GHDL y GTWave

    1. Todo lo siguiente se hace en el Terminal de Ubuntu, primero accediendo como

    superusario.

    2. En primer lugar se agrega al repositorio de Ubuntu la herramienta GDHL ya que

    este no cuenta con ella en sus repositorios:

    add-apt-repository ppa:pgavin/ghdl

    3. Luego actualizamos el repositorio:

    apt-get update

    4. Ahora ejecutamos el instalador del GHDL:

    apt-get install ghdl

    5. Luego instalamos el simulador del GTKWave:

    apt-get install gtwave

    6. Ahora ya estamos listos para ejecutar cualquier programa en lenguaje VHDL.

  • 7/21/2019 Asignacion1 Reporte

    8/33

    Desarrollo de los circuitos

    Cdigos para las compuertas integrales lgicas y su simulacin.

    Nota: Los testbench se anexan en el CD por la cantidad de lneas de texto que usan, as

    mismo las capturas de imagen de todas las secuencias de los circuitos.

    1. Compuerta AND.

    --Cdigo para simular una compuerta AND

    ENTITY Compuerta_AND IS

    PORT (

    A, B : IN BIT;

    X : OUT BIT);

    END Compuerta_AND;

    ARCHITECTURE arch_AND OF Compuerta_AND IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    9/33

    2. Compuerta NAND.

    --Cdigo para simular una compuerta NAND

    ENTITY Compuerta_NAND IS

    PORT(A, B : IN BIT;

    X : OUT BIT);

    END Compuerta_NAND;

    ARCHITECTURE arch_NAND OF Compuerta_NAND IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    10/33

    3. Compuerta OR.

    --Cdigo para simular una compuerta OR

    ENTITY Compuerta_OR IS

    PORT(A, B : IN BIT;

    X : OUT BIT);

    END Compuerta_OR;

    ARCHITECTURE arch_OR OF Compuerta_OR IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    11/33

    4. Compuerta NOR.

    --Cdigo para simular una compuerta NOR

    ENTITY Compuerta_NOR IS

    PORT(A, B : IN BIT;

    X : OUT BIT);

    END Compuerta_NOR;

    ARCHITECTURE arch_NOR OF Compuerta_NOR IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    12/33

    5. Compuerta EXOR.

    --Cdigo para simular una compuerta EXOR

    ENTITY Compuerta_EXOR IS

    PORT(A, B : IN BIT;

    X : OUT BIT);

    END Compuerta_EXOR;

    ARCHITECTURE arch_EXOR OF Compuerta_EXOR IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    13/33

    6. Compuerta EXNOR.

    --Cdigo para simular una compuerta EXNOR

    ENTITY Compuerta_EXNOR IS

    PORT(A, B : IN BIT;

    X : OUT BIT);

    END Compuerta_EXNOR;

    ARCHITECTURE arch_EXNOR OF Compuerta_EXNOR IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    14/33

    7. Compuerta NOT.

    --Cdigo para simular una compuerta NOT o mejor conocida como inversor

    ENTITY Compuerta_NOT IS

    PORT(A : IN BIT;

    X : OUT BIT);

    END Compuerta_NOT;

    ARCHITECTURE arch_NOT OF Compuerta_NOT IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    15/33

    Realizar el cdigo VHDL para el problema que se plantea: Un circuito lgico tiene

    cuatro entradasA, B, C y D-. Determine las ecuaciones lgicas del circuito, si la

    salida ser alta solo cuando un nmero impar de entradas sean altas. Trace un

    diagrama de circuito con las compuertas que desee.

    Calculo de la ecuacin de salida por MIN trminos.

    Tabla de verdad

    Cuenta A B C D X

    0 0 0 0 0 0

    1 0 0 0 1 1

    2 0 0 1 0 1

    3 0 0 1 1 0

    4 0 1 0 0 1

    5 0 1 0 1 06 0 1 1 0 0

    7 0 1 1 1 1

    8 1 0 0 0 1

    9 1 0 0 1 0

    10 1 0 1 0 0

    11 1 0 1 1 1

    12 1 1 0 0 0

    13 1 1 0 1 1

    14 1 1 1 0 1

    15 1 1 1 1 0

    Para mejorar el circuito usaremos la Ley de De Morgan para tener un diseo mejor

    aclarando que en el cdigo VHDL se usara la representacin anterior.

    )

  • 7/21/2019 Asignacion1 Reporte

    16/33

    Circuito:

  • 7/21/2019 Asignacion1 Reporte

    17/33

    Cdigo en VHDL.

    --****************************************************

    ENTITY unos_impares IS

    PORT(

    a,b,c,d :IN BIT;

    x:OUT BIT);

    END unos_impares;

    --****************************************************

    ARCHITECTURE arch_impares OF unos_impares IS

    BEGIN

    x

  • 7/21/2019 Asignacion1 Reporte

    18/33

  • 7/21/2019 Asignacion1 Reporte

    19/33

    Una alarma contra robos es diseada de nodo que percibe cuatro lneas de seal

    de entrada. La lnea A es del interruptor secreto de control, la lnea B es del sensor

    de presin bajo una caja fuerte en un gabinete cerrado, la lnea C es de un reloj

    alimentado por bateras y la lnea D est conectada a un interruptor en la puerta

    cerrada del gabinete. Escriba en cdigo VHDL la expresin que active la alarma

    cuando la caja se mueve y el interruptor de control este cerrado, o cuando el

    gabinete se abre despus de las horas hbiles, o el gabinete est abierto con el

    interruptor de control abierto. Trace un diagrama del circuito.

    Abstraccin de la lgica del problema.

    Las siguientes son las condiciones que producen un voltaje de 1 lgico en cada

    lnea.

    A: El interruptor de control est cerrado.B: La caja est en su posicin normal en el gabinete.

    C: El reloj marca entre las 100 y las 1400 horas.

    D: La puerta del gabinete est cerrada.

    Calculo de la ecuacin de salida por MIN trminos.

    TABLA DE VERDAD

    A B C D x

    0 0 0 0 0 1

    1 0 0 0 1 0

    2 0 0 1 0 1

    3 0 0 1 1 0

    4 0 1 0 0 1

    5 0 1 0 1 0

    6 0 1 1 0 1

    7 0 1 1 1 0

    8 1 0 0 0 1

    9 1 0 0 1 1

    10 1 0 1 0 1

    11 1 0 1 1 1

    12 1 1 0 0 1

    13 1 1 0 1 0

    14 1 1 1 0 0

    15 1 1 1 1 0

  • 7/21/2019 Asignacion1 Reporte

    20/33

    Cdigo en VHDL.

    ENTITY alarma_robos IS

    PORT(

    a,b,c,d :IN BIT;x:OUT BIT);

    END alarma_robos;

    --************************************************

    ARCHITECTURE arch_alarma OF alarma_robos IS

    BEGIN

    x

  • 7/21/2019 Asignacion1 Reporte

    21/33

  • 7/21/2019 Asignacion1 Reporte

    22/33

    Un automvil a prueba de choques. Se trata de un automvil con tres sensores,

    uno al frente y dos a los costados. Al arrancar, se dirige hacia adelante y si

    encuentra un obstculo, gira a uno de los costados, esquivndolo. La posicin de

    los sensores se muestra en la siguiente figura. Para girar a los lados, se hace que

    las llantas giren en distintas direcciones, por ejemplo para girar a la izquierda, las

    llantas X rotaran hacia atrs mientras las llantas Y hacia adelante. Para hacer

    que el par de llantas X giren hacia adelante se deber poner en una variable de

    control llamada X el bit 0, para que giren hacia atrs X=1, igual para el par de

    llantas Y, con su respectiva variable de control Y, la lgica de control de las

    llantas es la siguiente.

    X Y Descripcin

    0 0 Hacia adelante

    0 1 Hacia la derecha

    1 0 Hacia la izquierda

    1 1 Hacia atrs

    Si los tres sensores A, B y C estn en 1, es decir, detecta obstculo en las tres

    direcciones, empezar a retroceder. De lo contrario girar en la direccin que est

    libre de obstculos. Si existe la posibilidad de girar hacia la derecha o hacia la

    izquierda se girar a la derecha.

    Abstraccin de la lgica del problema.

    1. Si todos los sensores estn en cero, es decir que no hay obstculos puede ir

    para adelante.

    2. Si el sensor A esta en 1, hay un obstculo y el vehculo debe de ir hacia la

    derecha. Por la ubicacin de los sensores solo puede seguir esa ruta.

    3. Si el sensor B esta en 1, hay un obstculo y el vehculo debe de ir hacia la

    derecha o izquierda (cualquiera de las dos). Por la ubicacin de los sensores

    solo puede seguir esa ruta.

  • 7/21/2019 Asignacion1 Reporte

    23/33

    4. Si el sensor C esta en 1, hay un obstculo y el vehculo debe de ir hacia la

    izquierda. Por la ubicacin de los sensores solo puede seguir esa ruta.

    5. Si el sensor A y B estn en 1, hay un obstculo en esas dos direcciones y el

    vehculo debe de ir hacia la derecha.

    Tabla de verdad que representa la lgica de control y las ecuaciones de salida.

    Cuenta A B C X Y Accin

    1 0 0 0 0 0 Adelante

    2 0 0 1 1 0 Izquierda

    3 0 1 0 0 1 Derecha

    4 0 1 1 1 0 Izquierda

    5 1 0 0 0 1 Derecha

    6 1 0 1 0 0 Adelante7 1 1 0 0 1 Derecha

    8 1 1 1 1 1 Atrs

    Calculando las ecuaciones de salidas por MIN Trminos.

  • 7/21/2019 Asignacion1 Reporte

    24/33

    Cdigo en VHDL.

    --Cdigo del funcionamiento lgico para un automvil a

    --prueba de choques mediante dos sensores de obstculos.

    -- A y C son los sensores laterales y B es el sensor central.

    -- X e Y son las llantas izquierdas y derechas respectivamente.

    ENTITY Carro_Choques IS

    PORT(

    A , B , C :IN BIT;

    X , Y : OUT BIT);

    END Carro_Choques;

    ARCHITECTURE arch_Choques OF Carro_Choques IS

    BEGIN

    X

  • 7/21/2019 Asignacion1 Reporte

    25/33

    PORT MAP

    (

    A => sensorA,

    B => sensorB,

    C => sensorC,

    X => llantasX,

    Y => llantasY

    );

    PROCESS

    BEGIN

    WAIT FOR 20 ns;

    sensorC

  • 7/21/2019 Asignacion1 Reporte

    26/33

    Grficos obtenidos para el circuito.

    Se presentan unos grficos representativos el resto se anexa en el CD.

  • 7/21/2019 Asignacion1 Reporte

    27/33

    Observacin y recomendacin.

    La lgica del circuito tiene una falla ya que cuando los sensores laterales estn en

    1 lgico el carro debera de retroceder debido a la posicin de dichos sensores ya

    que estos podran verse daados por no tener mucho espacio a la hora de seguir

    avanzando. Debido a que el enunciado no plantea esa situacin optamos por dejar

    el problema tal como lo plantean y recomendamos que el enunciado sea

    replanteado para un futuro.

  • 7/21/2019 Asignacion1 Reporte

    28/33

    Preguntas de investigacin

    1. Cul es el uso y la sintaxis de las instrucciones IF THEN?

    Verifica el cumplimiento de una condicin para ejecutar un bloque de sentencias.

    Sintaxis:

    IFTHEN

    [sentencias 1]

    ELSE

    [sentencias N]

    ENDIF;

    2. Cul es el uso y la sintaxis de lasinstrucciones CASE WHEN?

    La utilizacin de esta instruccin es para ejecutar un bloque de sentencias con la

    evaluacin de una expresin como condicionante. Se utiliza WHEN para establecer

    una condicin dependiendo del resultado y as ejecutar el bloque de cdigo. Al incluir

    la ltima condicionante, esta se debe de llamar como WHEN OTHERS.

    Sintaxis:

    CASEIS

    WHEN => [sentencias1]

    WHEN => [sentencias2]

    WHEN => [sentenciasN]

    WHENOTHERS=> [sentenciasM]

    ENDCASE;

  • 7/21/2019 Asignacion1 Reporte

    29/33

    3. Cul es el uso de las instrucciones anteriores para implementar el cdigo VHDL

    directamente desde las tablas de verdad?

    Para encontrarle una forma ms clara a las sentencias anteriores se diseara el

    funcionamiento de la compuerta AND con IF THEN y de la NOT con CASE

    WHEN

    --Para la compuerta AND

    ENTITY Compuerta_AND IS

    PORT (

    A , B : IN BIT;

    X :OUT BIT);

    END Compuerta_AND;

    --***************

    ARCHITECTURE arch_AND OF Compuerta_AND ISBEGIN

    IF A=1 and B =1 THEN

    X

  • 7/21/2019 Asignacion1 Reporte

    30/33

    4. Qu tipos de datos de entrada y salida (I / O) soporta VHDL?

    INTEGER: Tipo entero. Usado como valor ndice en lazos, constantes o valores

    genricos. Los nmeros en el rango van de ((2^31)-1) hasta ((2^31)-1).

    REAL: Tipo predefinido para representar nmeros en punto flotante.

    PHYSICAL: Usados para representar valores fsicos (longitud, masa, tiempo y

    corriente). Para definirlos se les debe agregar las unidades.

    ENUMERATED: Se pueden utilizar para dar valores o nombres a un objeto.

    BOOLEAN: Usado para representar valores de condicin para control.

    BIT: Representan niveles de voltaje.

    CHARACTER: Representa caracteres en binario de 8 bits (ASCII).

    5. Cmo se crean arreglos en VHDL?

    Los arreglos son colecciones de objetos del mismo tipo. Estos pueden ser de 1 o

    ms dimensione.

    La sintaxis para especificar un nuevo tipo de arreglo es:

    TYPE nombre_tipo IS ARRAY (especificacin) OF data_type;

    Para emplear el nuevo tipo de arreglo, podemos declarar seales, constantes o

    variables, de este nuevo tipo, mediante:

    SIGNAL nombre_senial: nombre_tipo [:=valor inicial];

    Ejemplo de arreglo 1D:

    TYPE arreglo IS ARRAY (3 DOWNTO 0) OF std_logic;

    SIGNAL A1: arreglo: = 1101;

  • 7/21/2019 Asignacion1 Reporte

    31/33

    6. Cmo declarar un componente en VHDL? Mostrar un ejemplo.

    En VHDL es posible declarar componentes dentro de un diseo mediante la

    palabra COMPONENT. Un componente se corresponde con una entidad que ha sido

    declarada en otro mdulo del diseo, o incluso en alguna biblioteca, la declaracin de

    este elemento se realizar en la parte declarativa de la arquitectura del mdulo que se

    est desarrollando. La sintaxis para declarar un componente es muy parecida a la de

    una entidad.

    COMPONENT nombre [IS]

    [GENERIC(lista_parametros);]

    [PORT(lista_de_puertos);]

    END COMPONENT nombre;

    La referencia de componentes consiste en copiar en la arquitectura aquel componente

    que se quiera utilizar, tantas veces como sea necesario para construir el diseo. Para

    ello, la sintaxis que presenta la instanciacin de un componente es la siguiente.

    ref_id:

    [COMPONENT] id_componente | ENTITY id_entidad [(id_arquitectura)] |

    CONFIGURATION id_configuracin

    [GENERIC MAP (parametros)]

    [PORT MAP (puertos)];

    7. Cules son los operadores en VHDL?

    Los operadores que proporciona el lenguaje son:

    Lgicos: AND, OR, NAND, NOR, XOR, XNOR y NOT.

    Aritmticos:

    + (suma o signo positivo): Sirve para indicar una suma entre dos

    nmeros. Tambin puede actuar como smbolo si se sita delante de

    una expresin.

    - (resta o signo negativo): Sirve para indicar la resta entre dos nmeros.

    Si va delante de una expresin modifica el signo de la expresin.

    * (multiplicacin): Multiplica dos nmeros de cualquier tipo.

    / (divisin): Divide dos nmeros de cualquier tipo.

  • 7/21/2019 Asignacion1 Reporte

    32/33

    ** (exponencial): Eleva un nmero a una potencia. El nmero de la

    izquierda puede ser entero y real, pero el de la derecha slo puede ser

    entero.

    ABS() (valor absoluto): Devuelve el valor absoluto de su argumento.

    MOD (mdulo): Calcula el mdulo de dos nmeros. REM (residuo): Calcula el residuo de la divisin.

    Relacionales: Siempre devuelven un valor booleano (true o false).

    ==, /= (igualdad): El primero devuelve verdadero si los operando son

    iguales y falso en caso contrario. El segundo indica desigualdad,

    funcionando al revs que el anterior.

    >, >=,

  • 7/21/2019 Asignacion1 Reporte

    33/33

    Conclusiones

    El lenguaje de programacin VHDL facilita los diseos de circuitos lgicas tanto

    bsicos como complejo llegando a ser muy eficiente el trabajar con l.

    Con el uso de VHDL se puede encontrar un error lgico de una forma fcil y

    sencilla ya sea en un circuito simple o complejo.

    La forma de realizar sintaxis de arreglos e instrucciones en VHDL es muy similar

    a la que manejan otros sistemas de programacin por lo cual es de fcil manejo

    para los que tienen conocimientos de otros lenguajes computarizados.

    Bibliografa

    Gonzlez, Juan. Introduccin al Lenguaje de Descripcin Hardware VHDL.

    Machado Snchez, Felipe y Borromeo Lpez, Susana. Diseo de circuitos digitales

    con VHDL.

    Brown, Stephen. Fundamentos de Lgica Digital con Diseo en VHDL.