Sie sind auf Seite 1von 5

1.

- Tipos de datos en VHDL


Cada objeto deber ser de un tipo concreto de dato, esto datos
determinar el conjunto de valores que puede asumir y las
operaciones que se podrn realizar con este objeto.
Sintaxis:
TYPE

identificador

IS

definicin_tipo;

a) Tipos Escalares
Sus valores estn formados por una sola unidad indivisible.
Tipo de Dato
Integer

Reales

Fiscos

Enumerados

Enumerados
Booleano

Enumerados
Bit

Enumerados
caracteres

Descripcin
Tipo predefinido para
representar
nmeros
enteros.
Tipo predefinido para
representar
nmeros
en
punto
flotante
(Nmeros Reales).
Usados
para
representar
valores
fsicos (longitud, masa,
tiempo y corriente).

Sintaxis
TYPE integer IS RANGE
0 TO 255
TYPE real IS RANGE 0.5
TO 25.5

TYPE longitud IS RANGE


0 TO 1000
UNITS
m;
Unidad
Primaria
km = 1000m; Unidad
Secundaria
END UNITS
Se pueden utilizar para TYPE
color
IS
dar valores o nombres (AMARILLO, AZUL, ROJO);
a un objeto.
Usado para representar
valores de condicin
para control.
Representa condiciones
de control.

TYPE boolean IS (TRUE,


FALSE);
True se sintetiza como el
valor lgico 1.
False se sintetiza como el
valor lgico 0
Puede
tomar
los TYPE bit IS (0, 1);
valores de 0 o 1.
Representan
niveles
de voltaje.
Cada
carcter
se TYPE character IS (A);
representa
con
un

nmero binario de
8 bits (formato ASCII).
Tabla 1. Tipos de datos Escalares en VHDL

a) Tipos Compuestos
Es una combinacin de los escalares para formar un nuevo tipo.
Pueden dividirse en unidades atmicas ms pequeas.
Tipo de Dato
Array

Array
restringido
(unidimensional
)
Array
restringido
(multidimension
al)
Array
no
restringido

Descripcin
Sintaxis
Coleccin indexada de
elementos del mismo
subtipo
Los lmites del ndice se TYPE palabra IS ARRAY
establecen
en
la (31 DOWNTO 0) OF bit
declaracin del tipo.
Los lmites del ndice se TYPE palabra IS ARRAY
establecen
en
la (1 TO 4, 1 TO 4) OF
declaracin del tipo.
real;

Caso contrario al array TYPE palabra IS ARRAY


restringido
(integer range <>) OF
real
Registro
Sus valores pueden
TYPE trabajador IS
dividirse en unidades
RECORD
atmicas
nombre : string;
heterogneas. Es el
edad : integer;
equivalente a record en
END RECORD;
otros lenguajes.
Tabla 2. Tipos de datos Compuestos en VHDL

b) Subtipos de Datos
En VHDL se pueden definir subtipos, los cuales corresponden a tipos
ya existentes. Se pueden diferenciar dos tipos dependiendo de las
restricciones que se apliquen.
Tipo de Dato
Descripcin
Restricciones de Puede restringir valores
un tipo escalar a de un tipo escalar para
un rango
que se ajusten a un
rango especificado.

Sintaxis
SUBTYPE
indice
IS
integer RANGE 0 TO 7;
SUBTYPE
digitos
IS
character RANGE '0' TO

'9';
Restricciones
Define un array no SUBTYPE id IS string(0
del rango de restringido
to 15);
una matriz
especificando lmites a SUBTYPE
dir
IS
los ndices.
bit_vector(31 DOWNTO
0);
Tabla 3. Subtipos de datos en VHDL

2.- Cmo declarar una Entidad y Arquitectura?


Declaracin de una entidad: Es necesario definir modos y tipos de
las entradas y salidas y tamao del circuito (cantidad de bits).La
sintaxis es la siguiente:
Entity name is (Cabecera del programa, dnde: name es el
nombre de la Entidad que se va a asignar)
port(
-- declarar puertos de entradas
-- declarar puertos de salidas
-- declarar puertos de I/O
-- declarar puertos de buffers);
end [name]; (Fin de declaracin de la entidad)

[1]

Declaracin de una Arquitectura: Es necesario indicar que funcin


va a realizar cada entrada para obtener la salida. Se considera que la
arquitectura es el conjunto de detalles internos de la entidad. La
sintaxis bsica sera:
architecture archpro of programa is
(Cabecera
de
la
arquitectura. Donde, archpro es un
nombre cualquiera y programa es el
nombre de una entidad existente en el
mismo fichero)
-- declaracin de seales y otros accesorios
apoyo)
begin
-- ncleo del programa

(Declaraciones

de

(Da comienzo al programa)


(Conjunto de sentencias, bucles,
procesos, funciones)

end archpro;

(Fin del programa) [1]

Ejemplo de un medio sumador:


library IEEE;

(Permite importar todas las libreras necesarias


para la realizacin del sistema)
use IEEE.STD_LOGIC_1164.ALL;
entity medio_sumador is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : out STD_LOGIC;
S : out STD_LOGIC
);
end medio_sumador;
architecture estructural of medio_sumador is
component compuerta_and is
port(
a : in std_logic;
b : in std_logic;
s : out std_logic
);
end component;
component compuerta_xor is
port(
a : in std_logic;
b : in std_logic;
s : out std_logic
);
end component;
begin
ACARREO: compuerta_and port map( A, B, C );
SUMA: compuerta_xor port map( A, B, S );
end estructural; [2]
3.- Tipos de declaraciones que se pueden hacer de la
Arquitectura.
Biografa:
[1] Unidades Bsicas de Diseo [En
http://www.ehu.es/~jtpolagi/completo/02.htm

lnea]

Disponible:

[2] Curso VHDL Diseo estructural (2010) [En lnea] Disponible:


http://www.mexchip.com/2010/12/curso-vhdl-diseno-estructural/
[3]
Objetos
de
VHDL
(2006)
[En
lnea]
Disponible:
http://www.fceia.unr.edu.ar/eca1/files/LDD/Tipo_datos%20V_2006.pdf
[4]
VHDL
Secuencial
[En
lnea]
Disponible:
http://www.fdi.ucm.es/profesor/jjruz/LEC/Temas/Sesion2.pdf
[5] ELEMENTOS Y TIPOS DE DATOS [En lnea] Disponible:
http://www.fic.udc.es/files/asignaturas/83TS/2.TiposDeDatos.pdf
[6] Universidad de Alicante. VHDL. Lenguaje de descripcin
hardware. Tipos de datos (2007) [En lnea] Disponible:
http://rua.ua.es/dspace/bitstream/10045/3930/1/S2_4_TIPOS%20DE
%20DATOS.pdf
[7] [En lnea] Disponible: