Академический Документы
Профессиональный Документы
Культура Документы
VHDL significa VHSIC Hardware Description Language, y a su vez VHSIC significa Very
High Speed Integrated Circuit. Se trata de un lenguaje de descripcin de hardware, esto
significa que mediante l se puede describir la forma de comportarse de un circuito
electrnico. El comportamiento puede ser llevado a algn dispositivo que dispondr de sus
propios componentes con los que lograr ese comportamiento deseado. La forma de
comportarse es independiente del hardware donde se implementar.
El VHDL es un estndar llamado IEEE 1076-1993. Sus ventajas son:
Reutilizacin
Diseo jerrquico
VHDL
mejor utilizacin de los recursos disponibles en el circuito integrado, de tal forma que se
genera el mnimo numero de trminos necesarios para generar una funcin lgica.
PAL (Programmable array Logic)
Una PAL es diferente de una PROM a causa de que tiene una red Y programable y una red
O fija. Con
un programador Prom podemos obtener los productos fundamentales deseados quemando
los eslabones y
luego conseguir la suma lgica de dichos productos mediante las conexiones fijas de
salida.
TIPOS DE DESCRIPCION DE PROGRAMA (ESTRUCTURA)
Como se ha dicho antes, VHDL sirve para describir un circuito electrnico, pero el mismo
circuito puede ser descrito de varias formas. Las formas de hacerlo son:
- Descripcin de comportamiento
- Descripcin de flujo de datos (RTL Registred Transfer Level)
- Descripcin estructural
Descripcin de comportamiento
Una descripcin de comportamiento de un multiplexor de dos entradas, una salida y una
seal de seleccin sera: la salida ser igual a la primera entrada si la seal de control est
desactivada y la salida ser la segunda entrada si la seal de control est activada.
En VHDL la arquitectura de este multiplexor para la entidad llamada mux sera:
Descripcin de flujo de datos
En una descripcin de flujo de datos del mismo multiplexor la salida sera la ecuacin
lgica: s=(entrada1 AND NOT control) OR (entrada2 AND control)
En VHDL la arquitectura sera:
Descripcin estructural
Una descripcin estructural consistira en decir que el circuito tiene una puerta inversora
U1, dos puertas AND de dos entradas U2 y U3 y una puerta lgica OR de dos entradas U4,
adems tambin describe las conexiones entre estas puertas, un ejemplo sera: la entrada
de U1 es la seal de control, la salida de U1 se conecta a la segunda entrada de U2, la
primera entrada de U1 es entrada1, etc.
Entidad
La entidad sirve para definir las entradas y salidas que tendr un determinado circuito.
Para definir una entidad se realizar mediante la palabra reservada ENTITY.
En principio pudiera parecer que esta definicin sea equivalente a la cabecera de una
funcin de un lenguaje cualquiera de programacin. En VHDL es ms conveniente ver a la
entidad como una caja negra con cables para las entradas y salidas. A continuacin se
muestra la sintaxis de una entidad.
ENTITY nombre IS
[GENERIC(lista de parmetros);]
VHDL
[PORT(lista de puertos);]
END [ENTITY] nombre;
Las seales representaran la funcin que haran los cables en un diseo hardware
tradicional. Dentro de una entidad los puertos son considerados como seales
IN: Son seales de entrada, las cuales slo se pueden leer, pero no se le pueden
asignar ningn valor, es decir, no se puede modificar el valor que poseen. Por lo tanto, su
funcionalidad es similar a las constantes.
OUT: Corresponden a las seales de salida, en este caso su valor puede ser
modificado, pero en este caso no pueden leerse, es decir no pueden ser utilizadas como
argumentos en la asignacin de cualquier elemento.
INOUT: Este tipo es una mezcla de los dos anteriores, pueden ser utilizados tanto
como de lectura o de escritura.
BUFFER: Es idntico al anterior, con la diferencia de que slo una fuente puede
modificar su valor.
Identificadores
Son cualquier cadena de caracteres que sirven para identificar variables, seales,
procesos, etc. Puede ser cualquier nombre compuesto por letras (aux) o nmeros y letras
(aux1, aux2, aux3, ...), incluyendo el smbolo de subrayado "_". Las maysculas y
minsculas son consideradas iguales.
Tipos de datos
Como en cualquier lenguaje de programacin existen varios tipos de datos, en VHDL se
pueden diferenciar dos: escalares y compuestos.
Tipos escalares
Son tipos simples que contienen algn tipo de magnitud.
Enteros: Son datos con un valor numrico entero. La forma de definirlos es con la
palabra RANGE. Realmente se dice que un nmero est en un lmite establecido.
Fsicos: Se trata de datos que corresponden con magnitudes fsicas, que tienen un
valor y unas unidades.
Reales o coma flotante: Se definen igual que los enteros con la diferencia que los
lmites son nmeros reales.
Enumerados: Son datos que puede tomar siempre que se encuentre en una lista o
conjunto finito. Es idntico a las enumeraciones en C (enum).
VHDL
VHDL
Operadores
Los operadores que proporciona el lenguaje son:
Lgicos: Actan sobre los tipos bit, bit_vector y boolean. En el caso de utilizar este
tipo de operadores en un vector, la operacin se realizar bit a bit.
+ (suma o signo positivo): Sirve para indicar una suma entre dos nmeros.
- (resta o signo negativo): Sirve para indicar la resta entre dos nmeros.
>, >=, <, <= (menor mayor): Poseen el significado habitual (mayor que,
mayor o igual que, menor que, menor o igual que, respectivamente). La diferencia
con los anteriores reside en su uso, en este caso los tipos de datos que pueden
manejar son siempre de tipo escalar o matrices.
VHDL
2. *, /, MOD, REM
3. +, - (signo)
4. +, -, & (operaciones)
5. =, /=, <, <=, >, >=
6. AND, OR, NAND, NOR, XOR