P. 1
VHDL - Descripción Serie Comportamental

VHDL - Descripción Serie Comportamental

|Views: 738|Likes:
Publicado porErika Erikja

More info:

Published by: Erika Erikja on Jun 01, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/12/2013

pdf

text

original

VHDL

Tipos de Descripción

para diseño de sistemas complejos. • Sin embargo.DESCRIPCIÓN SERIE COMPORTAMENTAL • La descripción RTL es una descripción bastante cercana al hardware real. . se hace necesario un grado de abstracción todavía más elevado. • Las estructuras condicionales vistas para esta ejecución concurrente le dan al programador un cierto nivel de abstracción.

es el modo de ejecución. – Lenguajes Software  Ejecución Secuencial • La Ejecución Secuencial permite la utilización de estructuras como bucles que no son posibles.DESCRIPCIÓN SERIE COMPORTAMENTAL • Los lenguajes de programación software son un ejemplo claro de lenguajes de descripción comportamental de alto nivel. • La diferencia fundamental entre VHDL y estos lenguajes de software. – VHDL  Ejecución Concurrente. de forma directa. . en una ejecución concurrente.

cada uno de ellos es visto como una instrucción concurrente (como un circuito).DESCRIPCIÓN SERIE COMPORTAMENTAL • La programación concurrente no es siempre la más cómoda para la descripción de ideas. • Es decir. . pero entre bloques PROCESS. • En VHDL esta programación secuencial se define dentro de bloques indicados con la palabra clave PROCESS. • Cuando existen varios bloques PROCESS. internamente a los PROCESS la ejecución de las instrucciones es serie. la ejecución es concurrente. • En un mismo programa pueden haber múltiples bloques PROCESS. • VHDL también permite una programación secuencial.

Si un bloque PROCESS es en realidad una instrucción concurrente ¿Como se activa esta instrucción? ¿Cuándo se ejecuta? .DESCRIPCIÓN SERIE COMPORTAMENTAL Pregunta:…….

asignaciones. condiciones. – La sentencia WAIT. bucles) • Para poder indicarle al programa cuándo activar o ejecutar un bloque PROCESS existen dos procedimientos: – La LISTA SENSIBLE. • En un bloque PROCESS su activación es un poco compleja (dentro de él puede haber instrucciones. .DESCRIPCIÓN SERIE COMPORTAMENTAL Respuesta:…….

a) BEGIN a<=b+a+2. • Ejemplo: -. -. WAIT ON a.Con Sentencia WAIT p2: PROCESS BEGIN a<=b+a+2. . END PROCESS p1.b.Con LISTA SENSIBLE p1: PROCESS(b. END PROCESS p1.DESCRIPCIÓN SERIE COMPORTAMENTAL Respuesta:…….

DESCRIPCIÓN SERIE COMPORTAMENTAL Estructuras de la Ejecución Serie:  El bloque de Ejecución Serie (PROCESS): proc_id: PROCESS(lista sensible) declaraciones BEGIN instrucciones serie END PROCESS proc_id. . Ejemplos: WAIT WAIT WAIT WAIT WAIT Cualquiera que ocurra ON pulso. ON interrupcion FOR 25 ns.sensor UNTIL counter=3 FOR 100 ns. Esta opción es solo para VHDL de Simulación  Sentencia de espera (WAIT): WAIT ON lista_sensible UNTIL condicion FOR timeout. primero provocará la UNTIL counter>7. ON clk. ejecución del proceso FOR 1 ns.

DESCRIPCIÓN SERIE COMPORTAMENTAL Estructuras de la Ejecución Serie:  Sentencia de espera (WAIT): -.Con WAIT p2: PROCESS BEGIN c<=b+a+2..Con lista sensible p1: PROCESS(b..a) BEGIN c<=b+a+2.. END PROCESS p1.  Sentencia condicional (IF.. -. Siempre definir todas las posibilidades.ELSE): IF condicion THEN sentencias ELSIF condicion THEN sentencias . Se pueden utilizar tantos ELSIF como sea necesario. .b. END PROCESS p1. WAIT ON a.THEN. ELSE sentencias END IF.

b.THEN.DESCRIPCIÓN SERIE COMPORTAMENTAL DESCRIPCIÓN SERIE COMPORTAMENTAL Estructuras de la ejecución serie:  Sentencia condicional (IF. END PROCESS.ELSE): Ejemplo: PROCESS(a.c) BEGIN IF a>b THEN p<=2. ELSIF a>c THEN p<=3. END IF. ... ELSIF (a=c AND c=b) THEN p<=4. ELSE p<=5.

. El comparador tiene tres salidas activas a nivel bajo.VHDL Descripción de Flujo de Datos (RTL) • Ejemplo: Describir en VHDL utilizando “IF. y la ultima si “a<b”..ELSE” un comparador de dos entradas (a y b) de 3 bits. Una se activara si “a=b”. otra si “a>b”.THEN. ...

ELSIF a<b THEN mayor <=‘1'. ELSE mayor <=‘1'.b) -. END comparador. END arq.se ejecuta cuando a o b cambian BEGIN IF a>b THEN mayor <=‘0'. . menor <=‘1'. igual <=‘0'. menor <=‘0'. menor : OUT bit). igual. menor <=‘1'. ARCHITECTURE arq OF comparador IS BEGIN PROCESS(a. igual <=‘1'. END PROCESS. igual <=‘1'. END IF.ENTITY comparador IS PORT(A. mayor.B : IN bit_vector(2 downto 0).

acta<="Sobresaliente".. acta<="Aprobado". acta<="Notable". WHEN OTHERS => instrucciones END CASE. Valores constantes Ejemplo: CASE puntuación IS WHEN 5 => WHEN 4 => WHEN 3 => WHEN 0 => WHEN OTHERS => END CASE. acta<="No presentado". . acta<=“Se rajo".DESCRIPCIÓN SERIE COMPORTAMENTAL DESCRIPCIÓN SERIE COMPORTAMENTAL Estructuras de la ejecución serie:  Sentencia de selección (CASE): : CASE expresión IS WHEN caso1 => instrucciones WHEN caso2 => instrucciones ..

. y la ultima si “a<b”. Una se activara si “a=b”.VHDL Descripción de Flujo de Datos (RTL) • Ejemplo: Describir en VHDL utilizando “CASE” un comparador de dos entradas (a y b) de 3 bits. otra si “a>b”. El comparador tiene tres salidas activas a nivel bajo.

DESCRIPCIÓN SERIE COMPORTAMENTAL DESCRIPCIÓN SERIE COMPORTAMENTAL Estructuras de la ejecución serie:  Sentencias de bucles (FOR y WHILE LOOPs): bucle_id: tipo_de_iteracion LOOP Instrucciones END LOOP. información de vectores y no para operaciones secuenciales. . Las construcciones de los bucles FOR y WHILE se dan a continuación: bucle_id: FOR identificador IN rango LOOP Instrucciones Estas estructuras deben END LOOP. usarse solo para analizar bucle_id: WHILE condicion LOOP Instrucciones END LOOP.

-. WHILE cuenta>=0 LOOP tabla(cuenta)<=cuenta*2.DESCRIPCIÓN SERIE COMPORTAMENTAL DESCRIPCIÓN SERIE COMPORTAMENTAL Estructuras de la ejecución serie:  Sentencias de bucles (FOR y WHILE LOOPs): Ejemplos: -. END LOOP. cuenta:=cuenta-1. END LOOP.Lazo WHILE: cuenta:=5. Los identificadores siempre son variables .Lazo FOR: FOR cuenta IN 5 DOWNTO 0 LOOP tabla(cuenta)<=cuenta*2.

utilizando la descripción serie comportamental (algorítmica) y las estructuras cíclicas. La salida debe ser activa alta y cuando la paridad sea par debe ser ‘1’.DESCRIPCIÓN SERIE COMPORTAMENTAL EJEMPLO: Construir. . un circuito que permita detectar si un dato de entrada de 8 bits posee paridad par o impar. cuando sea impar debe ser ‘0’.

.

TALLER • • Investigar que es la Descripción Estructural en VHDL y cuales son sus estructuras. Compuerta XOR. Un Conversor de BINARIO de 4 bits a GRAY. Compuerta NOT. de lo contrario debe de mostrar la salida en el mismo orden de la entrada. Un Sumador Completo de 4 bits. Un Decodificador de 3 a 8. Un circuito que permita desplazar una entrada de 5 bits una posición a la izquierda cuando una entrada de control “Desplazar” sea igual a ‘1’. Multiplexor de 8 a 1. los siguientes circuitos: – – – – – – – – – Compuerta AND de 4 Entradas. . Diseñar tanto en descripción RTL como en ALGORITMICA. Un circuito que presente el mayor de tres valores de entrada de 4bits cada entrada. NOTA: Entregar en formato IEEE.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->