Académique Documents
Professionnel Documents
Culture Documents
Catedrtico:
Hctor Hernndez De Len
Integrantes
Lopez Ruiz Fredi Francisco
Perez Ozuna Marco Emilio
ndice 2
operadores) . 3
Declaraciones concurrentes... 10
Funciones y subprogramas. 14
El lenguaje VHDL tiene sus elementos sintcticos, sus tipos de datos, y sus
estructuras como cualquier otro tipo de lenguaje. El hecho de que sirva para
la descripcin hardware lo hace un poco diferente de un lenguaje
convencional. Una de estas diferencias es probablemente la posibilidad de
ejecutar instrucciones a la vez de forma concurrente. Algunos de estos
elementos sintcticos son:
4
5) Cadenas: Son un conjunto de caracteres englobados por comillas
dobles: "Esto es una cadena".
6) Cadenas de bits: Los tipos bit y bit vector son en realidad de tipo
carcter y matriz de caracteres respectivamente. En VHDL se tiene una
forma elegante de definir nmeros con estos tipos y es mediante la cadena
de bits. Dependiendo de la base en que se especifique el nmero se puede
poner un prefijo B (binario), O (octal), o X (hexadecimal). Ejemplo:
B"11101001", O"126", X"FE".
Operadores varios
salida <=x&y
Operadores aritmticos
ABS() (Valor absoluto) Como su propio nombre indica esta funcin devuelve
el valor absoluto de su argumento que puede ser de cualquier tipo numrico.
Operadores de desplazamiento
Operadores relacionales
revs. Los operadores pueden ser de cualquier tipo con la condicin de que
6
sean ambos del mismo tipo.
Operadores lgicos
Ejemplos
Enteros:
7
Tienen asociados las operaciones matemticas de suma (+), resta (-),
multiplicacin (*) y divisin (/).
Fsicos:
Ejemplos:
END UNITS;
Coma flotante
8
Tienen asociados las operaciones matemticas de suma (+), resta (-),
multiplicacin (*) y divisin (/).
Declarados de igual forma que los enteros.
Nmeros reales definidos por el usuario
Ejemplos:
Ejemplo;
CONSTANT pi=3.14159;
ENTITY nombre IS
[GENERIC(lista de parmetros);]
[PORT(lista de puertos);]
11
ARCHITECTURE mux_comportamiento OF mux IS
Ejemplo:
salida<=entrada;
salida<=tmp;
ELSE
salida<='0';
END IF;
Entradas:
rst: Reset del sistema.
Salidas:
a: Salida de datos.
b: Salida de datos.
estado: Salida del estado.
Las funciones nunca pueden tener una sentencia WAIT, pero los
procedimientos s.
PROCEDURE nombre[(parmetros)] IS
[declaraciones]
BEGIN
[sentencias]
1.5.2 Subprogramas
...
BEGIN
....
END PROCEDURE;
Posibles llamadas
16
lee; lee(350);
1.5.3 Paquetes
1.5.4 bibliotecas
Hasta ahora se han visto varios elementos del lenguaje, como pueden
ser las entidades, las arquitecturas, los paquetes, etc. Cuando se realiza
una descripcin en VHDL se utilizan estas unidades, en uno o ms
ficheros, stos se denominan ficheros de diseo. Posteriormente, estos
ficheros sern compilados para obtener una librera o biblioteca de
diseo, de forma que esta biblioteca contiene los elementos que
componen el circuito. La biblioteca donde se guardan los resultados de
la compilacin se denomina work.
Una librera se compone de dos partes bien diferenciadas, dependiendo
de las unidades que la formen. Por un lado, estn las unidades
primarias, que correspondern a entidades, paquetes y archivos de
configuracin. Mientras que las unidades secundarias sern
arquitecturas y cuerpos de paquetes. Por lo tanto, se puede sacar la
conclusin de que cada unidad secundaria deber estar asociada con
una unidad primaria.
Al realizar una compilacin se analizarn las unidades que vayan
apareciendo en el texto. Por consiguiente, es importante establecer un
orden lgico de las distintas unidades, para que de esta forma se
puedan cumplir las dependencias existentes entre las mismas. La forma
que toma la librera una vez compilada es muy diversa; dependiendo de
la herramienta de compilacin utilizada as ser el resultado obtenido,
esto se debe a que en VHDL no existe un estndar para crear
bibliotecas.
Para incluir una librera a un diseo basta con utilizar la palabra
reservada LIBRARY seguida del nombre de la biblioteca a utilizar.
Adems, tambin es posible hacer visibles elementos internos de estas
bibliotecas con el uso de la sentencia USE, como se explic en el
Descripcin general del lenguaje VHDL
Diseo Digital con VHDL