Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseo vlsi
Tipos de datos
seales
DISEO VLSI
TEMA: TIPOS DE DATOS - SEALES
FECHA: 02/02/2015
TIPOS DE DATOS
Un tipo de datos se utiliza para definir el valor que un objeto puede tomar, as
como las operaciones que se realizan con ese objeto. En VHDL hay dos tipos
bsicos: compuesto y escalar, los cuales agrupan varios subtipos.
A continuacin se muestran estos tipos de datos y la forma en que se
encuentran clasificados:
a) Tipos escalares
En esta seccin se describe a detalle los cuatro tipos escalares que existen en
VHDL; tambin se muestran algunos ejemplos que permiten comprender mejor
su uso.
Tipos enumerados
Este tipo se usa para listar los diversos valores que puede contener un objeto.
Se llaman enumerados debido a que listan todos y cada uno de los valores que
forman el tipo.
La sintaxis para declararlos es:
type identificador is definicin_tipo;
DANIEL CASTILLO
SEXTO ELECTRNICA
Tipos fsicos
Se refiere a los valores que se usan como unidades de medida. En VHDL el nico
tipo fsico que se encuentra predefinido es time (tiempo), el cual contiene como
unidad primaria el femtosegundo (fs).
La manera de definir un tipo fsico:
Type time is range 0 to 1E20 units fs;
ps = 1000 fs;
ns = 1000 ps;
us = 1000 ns;
ms = 1000 us;
s = 1000 ms;
min = 60 sec;
DANIEL CASTILLO
SEXTO ELECTRNICA
h = 6 0 min;
end units;
VHDL permite la creacin de otros tipos fsicos como metros, gramos, etc., slo
que en el diseo digital es difcil utilizar estos parmetros. Por esta razn nada
ms se muestran los tipos predefinidos, sin profundizar en el tema.
b) Tipos compuestos
Como ya se mencion, los tipos compuestos pueden tener valores mltiples en
un mismo tiempo al momento de ser simulados. Este tipo est formado por los
arreglos y registros.
Tipo arreglo
El tipo arreglo est formado por mltiples elementos de un tipo en comn.
Estos arreglos se pueden considerar tambin como vectores, ya que agrupan
varios elementos del mismo tipo.
La sintaxis utilizada para declarar un arreglo es:
type identificador is array (rango) of tipo_objetos;
Como se puede observar, en ambas declaraciones es necesario utilizar un valor
(rango) que determine el conjunto de valores que va a tomar el tipo.
En este caso el rango no se ha especificado, pero debe tomarse en cuenta que
al momento de asignarlo se toma como un nmero entero positivo (nmero
natural).
Los estndares IEEE 1076 y 1164 definen dos arreglos importantes, llamados
bit_vector y std_logic_vector, los cuales forman parte de los tipos bit y std_logic,
respectivamente. A continuacin se puede observar la forma en que se declaran
estos arreglos.
type bit_vector is array ( rango) of bit;
type std_logic_vector is array (rango) of std_logic;
El tipo std_logic es mas verstil que el tipo bit, debido a que incluye los valores
de alta impedancia ('Z') y no importa (-).
Como ejemplo observemos las siguientes declaraciones de arreglos
type dgitos is array (9 downto 0) of integer;
type byte is array (7 downto 0) of bit;
type direccin is array (10 to 62) of bit;
Otro aspecto al utilizar arreglos es la facilidad que presentan para crear tablas
de verdad:
type tabla is array (0 to 3, 0 to 2) of bit;
constant ejemplo:
DANIEL CASTILLO
SEXTO ELECTRNICA
tabla := ("00_0",
"01_0",
"10_0",
"11_1");
El arreglo declarado en este ejemplo es de dos dimensiones, ya que tiene un
valor para el nmero binario que toman las entradas (de 0 a 3) y otro para el
nmero de bits de entrada y salida (dos bits de entrada y uno de salida). Los
guiones colocados entre los bits separan las entradas (lado izquierdo) de las
salidas.
DANIEL CASTILLO
SEXTO ELECTRNICA
BIBLIOGRAFIA
Maxinez , D., & Alcal, J. (2002). VHDL El Arte de Programar Sistemas Digitales.
Mexico: Compaa Editorial Continental.
DANIEL CASTILLO
SEXTO ELECTRNICA