You are on page 1of 25

PROCESAMIENTO DIGITAL DE SEALES

Introduccin al Lenguaje VHDL

VHDL?
Es un lenguaje de descripcin de circuitos electrnicos digitales. VHSIC (Very High Speed Integrated Circuits) Hardware Description Language. VHDL es un lenguaje de descripcin de hardware genrico, que permite describir circuitos sncronos y asncronos. Los circuitos descritos en VHDL pueden ser simulados utilizando herramientas de simulacin para reproducir el funcionamiento del circuito.

DSP - FABIO PIN - 2011

VHDL

Lo Bsico

Estructura
Ejemplos

Manejo De ISE

DSP - FABIO PIN - 2011

VHDL: Lo Bsico

DSP - FABIO PIN - 2011

IDENTIFICADORES
Constant
constant identificador: tipo:= valor;

Variable
variable identificador: tipo [:= valor];

Signal
signal identificador: tipo;
DSP - FABIO PIN - 2011

IDENTIFICADORES
VHDL permite utilizar tipos predefinidos, as como otros definidos por el usuario.
BIT 0, 1 BIT_VECTOR (range) BOOLEAN TRUE, FALSE CHARACTER {ascii} STRING {ascii} SEVERITY_LEVEL {WARNING, ERROR, FALURE} INTEGER range NATURAL range POSITIVE range REAL range TIME (range: n_min TO n_max; n_max DOWNTO n_min)
DSP - FABIO PIN - 2011

IDENTIFICADORES
STD_LOGIC Tipo predefinido en el estndar IEEE 1164. Este tipo
representa una lgica multi valuada de 9 valores. TIPO ENUMERADO es un tipo de dato con un grupo de posibles valores asignados. type nombre is (valor1, valor2, ); Un ARRAY es un objeto de datos que consiste en una coleccin de elementos del mismo tipo. type nombre is array (rango) of tipo; Un RECORD es un objeto de datos que consiste en una coleccin de elementos de distintos tipos. type nombre is record elemento1: tipo_de_dato1; elemento2: tipo_de_dato2; end record;
DSP - FABIO PIN - 2011

OPERADORES
Un operador nos permite construir diferentes tipos de expresiones mediante los cuales podemos calcular datos utilizando diferentes objetos de datos con el tipo de dato que maneja dicho objeto. abs *, /, mod, rem + (sig.), - (sig) +, -, & and, or, nand, nor, xor := asignacin de valores a constantes y variables. <= asignacin de valores a seales.

DSP - FABIO PIN - 2011

VHDL: Estructura

DSP - FABIO PIN - 2011

ENTIDADES
Una
entidad es la abstraccin de un circuito, ya sea desde un complejo sistema electrnico hasta una simple compuerta lgica. La entidad nicamente describe la forma externa del circuito, a manera de CAJA NEGRA.

DSP - FABIO PIN - 2011

ARQUITECTURA
Los pares de entidades y arquitecturas
se utilizan para representar la descripcin completa de un diseo. Una arquitectura describe el funcionamiento de la entidad a la que hace referencia. Si una entidad la asociamos con una caja en la que se enumeran las interfaces de conexin hacia el exterior, entonces la arquitectura representa la estructura interna de esa caja.

DSP - FABIO PIN - 2011

ARQUITECTURA

DSP - FABIO PIN - 2011

PROCESS
Cuando en VHDL se escribe un process, dentro de
l aparece la parte secuencial del circuito. nicamente dentro de un process pueden aparecer las sentencias de tipo if y else y nunca puede aparecer una sentencia del tipo wait.

DSP - FABIO PIN - 2011

SENTENCIAS DE DESCRIPCION

WAIT esta instruccin es utilizada en procesos que no tienen lista de sensibilidad:


wait on signal_list; wait for time_expression; wait until condition;

EVENT nos indica cuando ocurre un cambio en la seal


signal'event signal'last_event signal'last_value

IF THEN ELSE solo son aplicables dentro de un process


if condicin then elsif otra_condicin then else end if;
DSP - FABIO PIN - 2011

SENTENCIAS DE DESCRIPCION

CASE WHEN solo son aplicables dentro de un process


case expresin is when alternativa_l => when alternativa_n => when others => end case;

FOR LOOP solo son aplicables dentro de un process


for loop_var in range loop end loop;

WHILE LOOP solo son aplicables dentro de un process


while condicin loop ... --sequential statements end loop;

DSP - FABIO PIN - 2011

SENTENCIAS DE DESCRIPCION
WHEN ELSE
Signal_name <= valor_1 when condicin1 else valor_2 when condicin2 else valor_i when condicini else otro_valor;

WITH SELECT WHEN


with identificador select Signal_name <= valor_1 when valor_identificador1, valor_2 when valor_identificador2, valor_i when valor_identificadori, otro_valor when others;

DSP - FABIO PIN - 2011

DESCRIPCIN ESTRUCTURAL
Esta descripcin utiliza entidades descritas y compiladas previamente. Se declaran los componentes que se utilizan y despus, mediante los nombres de los nodos, se realizan las conexiones entre las compuertas. Normalmente esta es una descripcin a ms alto nivel. Estos mdulos pueden a su vez tener un modelo estructural o de comportamiento.

DSP - FABIO PIN - 2011

DESCRIPCIN POR COMPORTAMIENTO


Las descripciones comportamentales son similares a un lenguaje de programacin de alto nivel por su alto nivel de abstraccin. Mas que describir el como se conectan los componentes, programamos su comportamiento. La ventaja de este tipo de descripcin es que no necesitamos enfocarnos a un nivel de compuerta para implementar un diseo.

DSP - FABIO PIN - 2011

DESCRIPCIN DE LGICA SECUENCIAL


Para la descripcin de biestables y registros utilizaremos procesos en los que la seal de reloj CLK ser la que acte por flanco. Podemos utilizar dos sentencias que representan una seal de reloj.
if (CLKevent and CLK=1) then wait until CLKevent and CLK=1;

DSP - FABIO PIN - 2011

EJEMPLOS

DSP - FABIO PIN - 2011

Multiplexor 2x1 (Comportamiento)

Multiplexor 2x1 (Estructura)

DSP - FABIO PIN - 2011

Flip-Flop Tipo D

DSP - FABIO PIN - 2011

ISE XILINX

DSP - FABIO PIN - 2011

Muchas Gracias!
Fabio Pinto

You might also like