Preparatorio Práctica N9

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 2

Preparatorio Práctica N°9

Arquitectura flujo de datos en VHDL


Edison Santiago San Martín Ajila
Estudiante GR2: CP- Sistemas digitales
Facultad de ingeniería Eléctrica y Electrónica FIEE, EPN
Quito, Ecuador
[email protected]

I. OBJETIVOS 3. Consultar cuál es la estructura básica y función de las


siguientes sentencias concurrentes en VHDL:
 Familiarizar al estudiante con la sintaxis y funcionamiento de
las sentencias concurrentes para el control de flujo de datos a. When-Else
en VHDL. Sentencia de selección múltiple. En hardware es necesario incluir
 Codificar programas utilizando sentencias concurrentes de todas las opciones posibles. En este caso es obligatorio siempre
control de flujo para la resolución de circuitos acabar la expresión con un ELSE.
combinacionales básicos escritos en VHDL.
 Relacionar conceptos de sistemas digitales con el <señal> <= <asignación1> WHEN <condición1> ELSE
funcionamiento de dispositivos lógicos programables. <asignación2> WHEN <condición2> ELSE
1. ¿Qué es la arquitectura Flujo de Datos en VHDL? (200 ...
palabras).
<asignaciónN> WHEN <condiciónN> ELSE

En el lenguaje VHDL tiene diferentes tipos de arquitectura, la <asignaciónM>;


cual describirá el funcionamiento de la entidad, donde el tipo de flujo Un posible ejemplo de este tipo de sentencias podría ser la
de datos nos indica la manera que los daros pueden ser transferidos siguiente.
desde una señal a otra sin la necesidad del uso de (if-then-else), de tal
manera que nos permite definir el flujo que tomaran los datos entre
los módulos que se encargaran de realizar las operaciones. s <= "00" WHEN a = b ELSE
Se puede utilizar dos formatos usando el when-else (cuando -si "01" WHEN a > b ELSE
no) o el uso de expresiones booleanas. Y es importante saber también
que en el lenguaje VHDL manejamos dos tipos de declaraciones las "11";
secuenciales y las concurrentes. Donde las secuenciales tiene la forma
de if-then-else, y se debe llevar en un orden especifico evitando que
se pierda la lógica descriptiva. Siempre es obligatorio asignar algo, aunque es posible no realizar
En fin, la arquitectura de flujo de datos en cualquier de sus ninguna acción, para ello se utiliza la palabra reservada
representaciones antes mencionadas, describe el camino que los datos UNAFFECTED. De esta forma se asignará el mismo valor que tenía
siguen al ser transferidos de las operaciones efectuadas entra las la señal.
variables hacia su salida.[1] s1 <= d1 WHEN control = '1' ELSE UNAFFECTED;
s2 <= d2 WHEN control = '1' ELSE s2;
2. ¿Qué es una sentencia concurrente? (200 palabras).
El tipo de secuencia concurrente en VHDL es un proceso que definirá Las dos sentencias anteriores parecen iguales, pero en la segunda
los limites de un dominio, proporcionando una mayor expresividad se produce una transacción, aspecto que en la primera no sucede.[3]
mediante la utilización de sintaxis, es decir el tipo de arquitectura.
También se puede decir que se ejecutan simultáneamente en la
simulación, dando a notar que no existe una prioridad entre unas u b. With-Select-When
otras, es decir que todas las sentencias concurrentes se evalúan Es similar a las sentencias CASE o SWITCH de C. La asignación
simultáneamente, y en paralelo, y su orden de escritura del código no
se hace según el contenido de un objeto o resultado de cierta
importa.
expresión.
Se debe describir adecuadamente su comportamiento. Deben de WITH <señal1> SELECT
formar parte siempre del cuerpo de arquitectura o de bloques de los
cuales son: procesos, asignación concurrente de señales, llamadas <señal2> <= <asignación1> WHEN <estado_señal1>,
concurrentes a procedimientos, bloques, sentencias assert-report.
<asignación2> WHEN <estado_señal2>,
<asignaciónN> WHEN OTHERS;
Un ejemplo de esta sentencia es la siguiente.
WITH estado SELECT
semaforo <= "rojo" WHEN "01",
"verde" WHEN "10",
"amarillo" WHEN "11",
"roto" WHEN OTHERS;
La cláusula WHEN OTHERS especifica todos los demás valores
que no han sido contemplados. También es posible utilizar la opción
que se contempló en el caso anterior (UNAFFECTED).

4. Utilizando una sentencia concurrente realizar un programa en


VHDL que permita simular el funcionamiento de un mux 4 a 1.
Presentar el código implementado y la simulación del correcto
funcionamiento utilizando el Universal Program VWF.

Fig. 3.
Código con sentencias concurrente.

Fig. 1. Código con sentencias concurrente IF – THEN – ELSE.

Fig. 4. Resultado de la simulación con reloj.

REFERENCIAS
[1] Autor Desconocido, Tipos de Arquitectura en VHDL, Tutosrafaz
electronica, jueves,9 de julio de 2015. [En línea].
http://tutosrafaz.blogspot.com/2015/07/tipos-de-arquitecturas-en-vhdl.html
[Accedido:20-feb-2021]
Fig. 2. Resultado de la simulación con reloj. [2] Introducción a la programación en VHDL, Facultad de informática,
Universidad Complutense de Madrid [En línea]. Disponible en:
https://eprints.ucm.es/id/eprint/26200/1/intro_VHDL.pdf [Accedido:20-feb-
5. Utilizando una sentencia concurrente realizar un programa en 2021]
VHDL que permita convertir un numero binario de 4 bits en su [3] Autor Desconocido, Dispositivos lógicos programables, Lenguaje
correspondiente número BCD. Emplee una variable de 4 bits VHDL. [En línea]. Disponible en:
para las unidades y una variable de 4 bits para las decenas. http://www.itq.edu.mx/carreras/IngElectronica/archivos_contenido/Apuntes
Presentar el código implementado y la simulación del correcto %20de%20materias/Apuntes_VHDL_2016.pdf [Accedido:20-feb-2021]
[4] Autor deconocido, Sesión: Sentencias concurrentes y paquetes,
funcionamiento utilizando el Universal Program VWF con
Laboratorio de estructura de computadores. [En línea]. Disponible en:
formato de variables unsigned decimal. http://www.fdi.ucm.es/profesor/jjruz/lec/temas/Sesion4.pdf [Accedido:20-
feb-2021]
[5] Dispositivos Lógicos Programables, Lenguaje VHDL, [En línea].
Disponible en:
http://ciecfie.epn.edu.ec/wss/VirtualDirectories/80/pag_personales/pchico/Ma
teriales_DLP/seminario_folleto.pdf [Accedido:20-feb-2021]

También podría gustarte