informe introduccion a la programacion en vhdl

17
UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA SEDE SECCIONAL SOGAMOSO ESCUELA DE INGENIERÍA ELECTRÓNICA ELECTRONICA DIGITAL II INTRODUCCION A LA PROGRAMACION EN VHDL María Camila Cepeda Sáenz e-mail: [email protected] 201111557 Santiago Andrés Gelvez Camargo e-mail: [email protected] 201111163 2 de septiembre de 2015 RESUMEN: La presente guía propone la elaboración de algunos códigos en lenguaje VHDL, con los cuales será posible comprobar cuál es el comportamiento de diferentes estructuras básicas tales como sentencias concurrentes (WHEN-ELSE, WITH-SELECT-WHEN), sentencias condicionales (IF-THEN-ELSE, CASE-WHEN, FOR- LOOP, WHILE-LOOP) y sentencias process; con las cuales se pueden realizar de diferentes maneras ejercicios que cumplen con un mismo propósito. La manera en la cual está compuesta la guía de laboratorio permite comprender mejor la composición y el funcionamiento del lenguaje VHDL, reforzando en gran medida la teoría vista en clase. PALABRAS CLAVE: VHDL, sentencias concurrentes, sentencias condicionales, sentencias process. 1. INTRODUCCIÓN El lenguaje VHDL permite simular sistemas de bajo y alto nivel, el cual permite tres niveles de descripción (Estructural, RTL y comportamental). Tiene varias ventajas entre las cuales se destacan la reducción y mejora de calidad del diseño, así como la posibilidad de visualizar y explorar de manera sencilla el espacio de diseño, además de esto, el VHDL es un lenguaje compatible con una gran cantidad de herramientas de diseño. El proceso de diseño se divide en creación, compilación y simulación. Para cualquier caso es necesario tener en cuenta que parte del circuito es combinacional y cuál secuencial, asi como evitar bucles combinacionales, etc. Esta herramienta de diseño permite identificar de manera rápida y concreta problemas existentes en el la descripción del circuito antes de ser implementado físicamente.

Upload: m-camila-cepeda-saenz

Post on 11-Dec-2015

64 views

Category:

Documents


1 download

DESCRIPTION

informe sobre introduccion a la programacion en VHDL, electronica digilal II

TRANSCRIPT

Page 1: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA

SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICAELECTRONICA DIGITAL II

INTRODUCCION A LA PROGRAMACION EN VHDL

María Camila Cepeda Sáenze-mail: [email protected]

201111557

Santiago Andrés Gelvez Camargoe-mail: [email protected]

201111163

2 de septiembre de 2015

RESUMEN: La presente guía propone la elaboración de algunos códigos en lenguaje VHDL, con los cuales será posible comprobar cuál es el comportamiento de diferentes estructuras básicas tales como sentencias concurrentes (WHEN-ELSE, WITH-SELECT-WHEN), sentencias condicionales (IF-THEN-ELSE, CASE-WHEN, FOR-LOOP, WHILE-LOOP) y sentencias process; con las cuales se pueden realizar de diferentes maneras ejercicios que cumplen con un mismo propósito. La manera en la cual está compuesta la guía de laboratorio permite comprender mejor la composición y el funcionamiento del lenguaje VHDL, reforzando en gran medida la teoría vista en clase. PALABRAS CLAVE: VHDL, sentencias concurrentes, sentencias condicionales, sentencias process.

1. INTRODUCCIÓN

El lenguaje VHDL permite simular sistemas de bajo y alto nivel, el cual permite tres niveles de descripción (Estructural, RTL y comportamental). Tiene varias ventajas entre las cuales se destacan la reducción y mejora de calidad del diseño, así como la posibilidad de visualizar y explorar de manera sencilla el espacio de diseño, además de esto, el VHDL es un lenguaje compatible con una gran cantidad de herramientas de diseño. El

proceso de diseño se divide en creación, compilación y simulación. Para cualquier caso es necesario tener en cuenta que parte del circuito es combinacional y cuál secuencial, asi como evitar bucles combinacionales, etc. Esta herramienta de diseño permite identificar de manera rápida y concreta problemas existentes en el la descripción del circuito antes de ser implementado físicamente.

2. ABSTRACT

This guide proposes the elaboration of some programs in VHDL, with which will be possible to check what is the behavior of different kinds of basic structures like concurrent sentences (WHEN-ELSE, SELECT-WHIT-WHEN), conditional sentences (IF-THEN-ELSE, CASE-WHEN, FOR-LOOP.WHILE-LOOP) and process sentences; with which is possible to realize the same exercise by different ways. The guide is composed in such mode that allows to understand in a better way the composition and operation of the Very High Speed Integrated Language, reinforcing the theory covered in class.

3. OBJETIVOS

Reconocer los aspectos fundamentales de la descripción de circuitos electrónicos

Page 2: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

digitales mediante lenguajes de descripción de hardware analizando, en particular, las estructuras básicas de descripción del lenguaje VHDL.

Conocer y usar adecuadamente las herramientas CAD para la edición, simulación y síntesis de circuitos digitales, tomando como caso de estudio el software Quartus II de Altera.

3. MATERIALES Y EQUIPOS

Tarjeta de desarrollo Altera Terasic DE1 o DE2.

Software Quartus II Web Edition versión 9.0 o mayor.

4. MARCO TEORICO

SENTENCIAS CONCURRENTES: La instrucción básica de la ejecución concurrente es la asignación entre señales a través del símbolo <=. Para facilitar la asignación de las señales VHDL incluye elementos de alto nivel como son instrucciones condicionales, de selección, etc, que se verán a continuación:

WHEN -ELSE: Sentencia de selección múltiple. En hardware es necesario incluir todas las opciones posibles. En este caso es obligatorio siempre acabar la expresión con un ELSE.

WITH-SELECT-WHEN: Es similar a las sentencias CASE o SWITCH del lenguaje C. La asignación se hace según el contenido de un objeto o resultado de cierta expresión.

SENTENCIAS SECUENCIALES: VHDL permite utilizar otro tipo de sentencias condicionales más parecidas a los lenguajes de programación usados. Tiene que ir obligatoriamente dentro de un process. Las sentencias condicionales más comunes en VHDL son las siguientes:

IF-THEN-ELSE: La sentencia if-else permite cualquier tipo de combinación y encadenamiento, exactamente igual que ocurre en C o PASCAL o cualquier otro lenguaje de programación de alto nivel. Permite la ejecución de un bloque de código dependiendo de una o varias condiciones.

CASE: Es parecido al anterior porque también ejecuta un bloque de código condicionalmente, pero en esta ocasión se evalúa una expresión en vez de una condición. Se debe recordar que se deben tener en cuenta todos los casos, es decir, incluir como última opción la sentencia WHEN OTHERS.

LOOP: Es la forma de hacer bucles en VHDL. Sería el equivalente a un FOR o WHILE de un lenguaje convencional.

El bucle tipo for está soportado si el rango del índice es estático (0 to N ó N downto 0, donde N posee siempre el mismo valor) y el cuerpo no contiene sentencias wait. Los bucles de tipo while en general no están soportados.

SENTENCIA PROCESS: La sentencia process es una de las más utilizadas en programación con VHDL ya que tanto las sentencias condicionales como la descripción de HW secuencial se realiza dentro de él. Pero a la vez es, para aquellos que se acercan por primera vez a la simulación y síntesis con VHDL, el principal problema para un correcto diseño.

[REFERENCIA 1]

5. PROCEDIMIENTO

El ejercicio de laboratorio consiste en comprobar algunas estructuras básicas de un archivo VHDL (sentencias concurrentes, sentencias condicionales y sentencias process), para su posterior compilación y simulación en Quartus II. Una vez verificado su funcionamiento se procede a sintetizar el circuito en la FPGA, de acuerdo a la tarjeta de desarrollo seleccionada.

SENTENCIAS CONCURRENTES

Las sentencias concurrentes son sentencias condicionales que tienen al menos un valor por defecto para cuando no se cumplen ninguna de las condiciones.

Page 3: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Se requiere diseñar un decodificador BDC-7 segmentos mediante el uso de los comandos WHEN-ELSE y WITH-SELEC-WHEN. Para esto se requiere la ejecución de los siguientes programas mostrados en las figuras 1 y 2:

Figura 1. Código con sentencia concurrente mediante comando When-Else

Figura 2. Código con sentencia concurrente mediante comando Whit-Select-When.

SENTENCIAS CONDICIONALES

VHDL permite utilizar sentencias condicionales que son parecidas alas de los lenguajes en programación. Todas estas sentencias tienen que ir obligatoriamente dentro de un process, los comandos utilizados se observan en las figuras 3 a 6.

Figura 3. Código con sentencia condicional mediante comando IF-THEN-ELSE.

Page 4: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Figura 4. Código con sentencia condicional mediante comando CASE-WHEN.

Figura 5. Código con sentencia concurrente mediante comando FOR-LOOP.

Figura 6. Código con sentencia condicional mediante comando WHILE-LOOP.

SENTENCIA PROCESS

La estructura particular denominada process define los límites de un dominio que se ejecutará (simulará) si y solo si alguna de las señales de su lista de sensibilidad se ha modificado en el anterior paso de simulación. La lista de sensibilidad es un conjunto de señales cuyos cambios de estado activan la ejecución del proceso (la lista no puede incluir ni variables ni constantes). Los comandos utilizados para cada uno de los ejercicios referentes a la sentencia process se pueden observar en las figuras 7 a 13.

EFECTO DE LA SENSIBILIDAD

Page 5: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Figura 7. Código con sentencia process (efecto de la sensibilidad a).

Figura 8. Código con sentencia process (efecto de la sensibilidad b).

EFECTO DE MEMORIA DENTRO DE UN PROCESS

CONDICIONAL COMPLETO

Figura 9. Comando sentencia process (condicional

completo)

Figura 10. Comando sentencia process

(condicional incompleto)

EJECUCION EN PARALELO

Page 6: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Figura 11. Comando sentencia process (a).

Figura 12. Comando sentencia process

(actualización).

Figura 13. Comando sentencia process

(sensibilidad arreglada).

En cada uno de los ejercicios propuestos es necesario que se observe con detenimiento cada una de las entradas y salidas del circuito, explicar su funcionamiento y características.

Recomendaciones: Tanto el informe de laboratorio como el código deben ser originales, por lo que cualquier copia será calificada con 0,0. El informe se debe presentar en formato IEEE, en grupos de máximo dos personas.

EJERCICIO ADICIONAL

Desarrollar un decodificador usando las sentencias apropiadas que permita a partir de un código de entrada visualizar el nombre de uno de los integrantes del grupo en los display 7-segmentos de la tarjeta.

6. ANÁLISIS DE RESULTADOS

Sentencias Concurrentes

WHEN-ELSE

En este código, la sentencia when-else es usada para el diseño de un codificador BCD a 7 segmentos.

En la entidad se declara un vector de entrada de 4 posiciones al que se le ha dado como nombre SW, correspondiente a las entradas del numero binario BCD y un vector de salida de 7 posiciones llamado

Page 7: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

O, el cual en un orden correcto irá conectado al display 7 segmentos.

En la arquitectura se emplea la sentencia when-else para asignar el valor de cada uno de los segmentos del display de acuerdo con una combinación específica en los puertos de entrada.

Para las combinaciones que no corresponden a los dígitos entre 0 y 9, se asignará un valor en el display de tal manera que éste se muestre totalmente apagado.

Después de obtener una compilación exitosa del código, se realiza la asignación de pines como se muestra a continuación:

SW0: PIN_AB28SW1: PIN_AC28SW2: PIN_AC27SW3: PIN_AD27

O0: PIN_G18O1: PIN_F22O2: PIN_E17O3: PIN_L26O4: PIN_L25O5: PIN_J22O6: PIN_H22

Donde los puertos de entrada corresponden a Switches, y los puertos de salida, a LED.

La figura 14 muestra el código empleado con la utilización de la sentencia WHEN-ELSE

Figura 14. Realización de código utilizando la sentencia WHEN-ELSE en el desarrollo de la guía

de laboratorio.

WITH-SELECT-WHEN

Este programa se describe de manera similar a la sentencia WHEN-ELSE, realizando el mismo procedimiento de decodificar un código en BCD a un display 7 segmentos, con la diferencia de que para la utilización de un solo Switch (o combinación de switches en este caso) solo es necesario nombrarlo una vez dentro de la arquitectura, tal y como se observa en la figura 15 (código usado para la utilización de la sentencia WITH-SELECT-WHEN):

Figura 15. Realización de código utilizando la sentencia WITH-SELECT-WHEN en el desarrollo

de la guía de laboratorio.

La asignación de pines en este caso es igual a la del código anterior, ya que se trata de una misma función escrita por medio de diferentes sentencias.

Sentencias condicionales

IF-THEN-ELSE

Para la utilización de esta sentencia, la guía propone la realización de un código que tenga dos entradas A y B (de 3 bits), y una entrada de control de 2 bits, asimismo, este tendrá una salida (result) de 3 bits.

Page 8: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Si la entrada de control del circuito se encuentra en el estado 00, la salida result mostrará el resultado obtenido de la operación A+B; si control se encuentra en el estado 11, result mostrará el resultado de la operación A-B, en cualquier otra combinación de las entradas de control, result mostrará el estado actual de A.

El código implementado para la utilización de la sentencia IF-THEN-ELSE se puede observar en la figura 16.

Figura 16. Realización de código utilizando la sentencia IF-THEN-ELSE en el desarrollo de la

guía de laboratorio.

La asignación de pines para el código de la figura 16 es la siguiente:

A0: PIN_AB27A1: PIN_AC26A2: PIN_AD26B0: PIN_AB28B1: PIN_AC28B2: PIN_AC27

Control0: PIN_Y24Control1: PIN_Y23Result0: PIN_E21Result1: PIN_E22Result2: PIN_E25

CASE-WHEN

Para la elaboración del ejercicio anterior con este tipo de sentencia, es necesario nombrar los resultados a obtener anteponiendo la palabra

when para cada caso de la entrada de control sea 00, 11, u otra combinación, se obtendrán los mismos resultados que para el ejercicio anterior. La descripción de este código se puede observar en la figura 17.

Figura 17. Realización de código utilizando la sentencia CASE-WHEN en el desarrollo de la guía

de laboratorio.

Los pines de conexión para el código de la figura 17 serán los mismos asignados al código correspondiente a la sentencia IF-THEN-ELSE

FOR-LOOP

El programa propuesto en la guía tiene como objetivo mostrar un corrimiento del valor ingresado, por lo cual se asigna una entrada A de 8 bits y una salida B de 9 bits (uno más debido al corrimiento generado por el ultimo bit de A).

Se realiza un ciclo para una variable llamada i que se realizara 8 veces debido a la cantidad de bits que tiene asignada la entrada A. En la posición 1 del vector B ira el dato que tiene A en la posición 0, En la posición 2 de B ira el dato que se encuentre en la posición 1 de A y así sucesivamente hasta llegar a la posición 8 del vector B que tendrá el valor del dato contenido en la posición 7 del vector A.

La asignación de pines para el código de la figura 18 se realiza de la siguiente manera:

A0: PIN_AB28A1: PIN_AC28A2: PIN_AC27

Page 9: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

A3: PIN_AD27A4: PIN_AB27A5: PIN_AC26A6: PIN_AD26A7: PIN_AB26

B0: PIN_G19B1: PIN_F19B2: PIN_E19B3: PIN_F21B4: PIN_F18B5: PIN_E18B6: PIN_J19B7: PIN_H19B8: PIN_J17

Figura 18. Realización de código utilizando la sentencia FOR-LOOP en el desarrollo de la guía

de laboratorio.

La figura 18 muestra el código usado con la sentencia FOR-LOOP, en el cual se observa la indicación de nuevas librerías debido a la necesidad de realizar una operación aritmética asi mismo como usar números con cierto peso físico.

WHILE-LOOP

Para este tipo de sentencia, la guía indica realizar el mismo ejercicio del anterior punto pero variando ciertos detalles a fin de usar la sentencia como tal.

Aquí la variable i que será encargada de llevar la cuenta en cuanto a cantidad de repeticiones, debe tener un valor de inicio y hacer el respectivo ciclo mientras la variable no supere la mayor cantidad posible de bits del vector de entrada A.

Para el código mostrado en la figura 19 la asignación de pines es igual al anterior caso debido a que se hace un corrimiento de la misma manera y con igual cantidad de pines.

Figura 19. Realización de código utilizando la sentencia WHILE-LOOP en el desarrollo de la

guía de laboratorio.

Sentencias process

Efecto de la lista de sensibilidad: A

Para este código se requieren 2 entradas A y B y una salida C de un bit.

Se necesita realizar un process en el cual en su lista de sensibilidad solo responderá a estímulos provenientes del puerto de entrada A. El puerto de salida C tomara el valor en el que se encuentre A mostrándolo en los LED de la FPGA. La entrada B se dispone a habilitar la lectura que realiza C de A.

Como se puede observar en la figura 20, B no está en la lista de sensibilidad lo que genera un efecto de memoria sin alterar el valor de la salida C.

Page 10: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Figura 20. Realización del código A efecto de la sensibilidad de las sentencias process planteadas

en la guía.

La asignación de pines para el código mostrado en la figura 20 se muestra asi:

A: PIN_AB28B: PIN_AC28C: PIN_G19

Efecto de la lista de sensibilidad: B

Esta descripción tienen las mismas características y el mismo fin que el anterior punto (Efecto de la sensibilidad: A), agregando la entrada B a la lista de sensibilidad del process como se puede observar en la figura 21. Con esto B se convierte en un habilitador que hace que cuando esta entrada sea 0, la salida C será 0 eliminando el efecto de memoria que se tenía en el anterior punto.

Figura 21. Realización del código B efecto de la sensibilidad de las sentencias process planteadas

en la guía.

La asignación de pines se toma igual al anterior punto debido a que cumplen una misma función.

Efecto de memoria dentro de un process:

Condicional completo

En esta descripción de observa que hay 3 condiciones: cuando A es mayor, menor e igual a B.

En la figura 22 se puede observar que el código tiene 2 puertos de entrada de 2 bits, A y B, y un puerto de salida C que también será de 2 bits.

El proceso que sigue responde a los estímulos que generan los vectores A y B de la siguiente manera:

Si A = B, la salida C será la operación OR entre A y B;

Si A < B, la salida C tomará los datos que tenga B,

Si A > B, la salida C tomara el valor de “00”.

Figura 22. Realización del código para el condicional completo de las sentencias process

propuesto por la guía.

La asignación de pines para el código de la figura 22 es:

A0: PIN_AD27A1: PIN_AB27B0: PIN_AB28B1: PIN_AC28C0: PIN_E21C1: PIN_E22

Condicional incompleto

Page 11: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

La estructura del condicional incompleto es básicamente la misma estructura del condicional completo excepto porque aquí se pierde la condición cuando A > B lo cual hace que es sistema tenga una memoria con respecto al dato anterior.

Como se observa en la figura 23, el código no plantea un valor de C para una combinación de bits tales que A > B, por lo tanto en este caso la salida C dependerá de la condición y la combinación en la cual el programa se encuentre anteriormente.

La asignación de pines para el código mostrado en la figura 23, es la misma utilizada en la sentencia de condicional completo debido a la similar función existente entre ambos códigos.

Figura 23. Realización del código para el condicional incompleto de las sentencias process

propuesto por la guía.

Ejecución en paralelo: (a)

El código correspondiente a esta sentencia, muestra una configuración similar a la del condicional completo con la diferencia de que para este caso inicialmente C tiene un valor asignado como “00” apenas comience la ejecución de la arquitectura, razón por la cual cuando se dé un caso no contemplado en el código (A > B), automáticamente se mostrara la salida C con su condición inicial “00”.

Al tener una configuración similar a la de los 2 anteriores códigos, la asignación de pines se tomara de igual manera que para dichos casos.

La figura 24 muestra la realización del código correspondiente a la primera sentencia de ejecución en paralelo.

Figura 24. Realización del código para ejecución en paralelo (A) de las sentencias process

propuesto por la guía.

Actualización 1 (b)

En este código se observa por primera vez la utilización de una señal (B), la cual interconecta un vector de entrada A de 2 posiciones con una salida C de igual número de posiciones; es decir, que los LED a los cuales C fue asignado, mostrarán el valor de A por medio de una señal B.

Los pines de entrada y salida asignados para la realización del ejercicio descrito anteriormente son los siguientes:

A0: PIN_AC28A1: PIN_AB28C0: PIN_E22C1: PIN_E21

El código utilizado para realizar este ejercicio se observa en la figura 25.

Page 12: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Figura 24. Realización del código para ejecución en paralelo (Actualización 1) de las sentencias

process propuesto por la guía.

Sensibilidad Arreglada

El código correspondiente cumple con la misma función del código anterior, es decir, el valor de la entrada A se verá reflejado en la salida C, con la diferencia de que estas no están interconectadas por una señal B, sino que están relacionadas directamente. La señal B está conectada a la salida C (por esto, C es inout) de tal manera que si se desea conectar otro componente externo a C, los datos contenidos en este vector serán transmitidos por medio de la señal B. Al ser un ejercicio similar a la actualización 1, la asignación de pines es la misma.

La figura 25 muestra el código utilizado para la implementación del código descrito:

Figura 25. Realización del código para ejecución en paralelo (sensibilidad arreglada) de las sentencias process propuesto por la guía.

Ejercicio adicional

Este ejercicio propone visualizar el nombre de uno de los integrantes del grupo mediante los displays de la FPGA. El grupo de trabajo decidió mostrar las palabras SANTI, ANDRES, GELVEZ y la fecha de presentación del laboratorio (02-02-2015) mediante diferentes combinaciones de entradas.

Para realizar este ejercicio es necesario asignar un vector de 3 posiciones correspondiente a tres switches de la FPGA. Ya que el ejercicio requiere de la utilización de los 8 displays incluidos en la

misma, es necesario asignar un vector de salida de 8 posiciones.

La sentencia a utilizar para la decodificación de los displays será WITH-SELECT-WHEN, por lo cual es necesario describir la salida requerida para cada display dependiendo de la combinación de entradas ingresada, tal y como se muestra en las 26 a 29, en las cuales se indica el código utilizado para la realización del ejercicio adicional.

Figura 26. Código ejercicio adicional (parte 1)

Figura 27. Código ejercicio adicional (parte 2)

Page 13: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

Figura 28. Código ejercicio adicional (parte 3)

Figura 29. Código ejercicio adicional (parte 4)

Las figuras 30 a 33 muestran el resultado obtenido a partir del código mostrado anteriormente, en las cuales se observan claramente que las salidas en los display corresponden con las asignaciones realizadas al principio del ejercicio para cada combinación. Es importante destacar que mientras los switches se encuentren en una combinación diferente a las contempladas en el código, todos los displays deberán permanecer apagados.

Figura 30. Salida código ejercicio adicional con combinación 000.

Figura 31. Salida código ejercicio adicional con combinación 001.

Figura 32. Salida código ejercicio adicional con combinación 011.

Figura 33. Salida código ejercicio adicional con combinación 111.

Page 14: INFORME INTRODUCCION A LA PROGRAMACION EN VHDL

7. CONCLUSIONES

Debido a la gran versatilidad que da

VHDL para el manejo de datos, es posible realizar códigos utilizando diferentes sentencias, pero que tengan el mismo fin, este comportamiento se pudo observar gracias a las simulaciones en Quartus II y mediante la FPGA, obteniendo el mismo resultado para los códigos con el mismo tipo de sentencias, es decir que el usuario puede utilizar la sentencia que más se le facilite si esta cumple con los requisitos para realizar el código.

Es importante tener en cuenta la

estructura y componentes con los cuales se construye un código en VHDL, ya que cualquier error alterará la manera en la cual el programa lee los datos ingresados, causando errores de compilación.

Es importante saber interpretar el

archivo que muestra gráficamente las señales de salida provenientes del código (vector waveform file), ya que con este es posible observar que el código funciona de la manera deseada, antes de implementarlo en la FPGA.

8. REFERENCIAS

1. “PROGRAMACIÓN EN VHDL” https://es.wbsVHDL.org//Programaci%C3%B3n_en_VHDL/Arquitectura#Sentencias_Concurrentes

2. “INDTRODUCCION A LA PROGRAMACION EN VHDL”http://eprints.ucm.es/26200/1/intro_VHDL.pdf

3. “SENTENCIAS CONDICIONALES”

http://www.sc.ehu.es/sbweb/energias-renovables/MATLAB/basico/condicional/condicional_1.html

4. “INTRODUCCION AL LENGUAJE VHDL” http://www.sc.ehu.es/acwarila/LDD/Teoria/VHDL.pdf

5. “VHDL: LENGUAJE DE DESCRIPCION DE HARDWARE” http://www.proenergia.net/ftp/colarte/Cursos%20Academicos/LOGICA%20DIGITAL/CLASES/VHDL.pdf

6. “GRAMATICA DEL LENGUAJE” http://www.ehu.eus/~jtpolagi/completo/04.htm

7. “VHDL: LENGUAJE DE DESCRIPCION DE HARDWARE” http://www.academia.edu/968671/VHDL._Tipos_de_datos