vhdl su organizacion y arquitectura

Upload: tonaspiuck

Post on 07-Jul-2015

101 views

Category:

Documents


0 download

TRANSCRIPT

VHDL: su organizacin y arquitectura.Ing. Ing Diego Barragn Guerrero http://www.matpic.com

FPGAFPGA Bloque lgico configurable (CLB configurable logic block). Compuesto por varios mdulos lgicos. Mdulo lgico :se configura para implementar lgica l i combinacional o l i registrada. bi i l lgica i t d Dentro del mdulo lgico tenemos un LUT (look Up table) memoria programable que genera funciones lgicas combinacionales = PLA / PAL. Interconexiones. Bloques de entrada/salida.

Introduccin VHDL: Hardware D i ti L VHDL H d Description Languaje. j Lenguaje orientado a la descripcin o g j p modelado de Sistemas Digitales. Fines: d F describir, analizar y evaluar el b l l l comportamiento de un sistema electrnico p digital.

Unidades bsicas de diseo * 1.Declaracin de entidad (p). 1 Declaracin (p) * 2. Arquitectura (s). 3. Configuracin (p). 4. 4 Declaracin del paquete (p) (p). 5. Cuerpo del paquete (s). * Indispensables Indispensables.

EntidadDeclaracin de las entradas y salidas de un modulo.ENTITY Nombre_entidad IS PORT ( Nombre de seal: modo tipo de seal; . . . Nombre de seal: modo tipo de seal ) ; END nombre_entidad ;

entity AOI is port ( A, B, C, D: in STD_LOGIC; F : out STD_LOGIC ); end AOI;

Entidad: puertos de I/OPuerto: seal de entrada o salida salida. Todos los puertos deben tener: nombre, modo y tipo de dato. dato

Entidad: modosModo IN OUT BUFFER Descripcin En este modo las seales solo entran en la entidad Las seales salen de la entidad Este modo se utiliza para las seales que adems de salir de la entidad pueden usarse como entradas realimentadas p p Este modo se utiliza para seales bidireccionales. Se emplea en salida con tres estados. Se puede asignar como sustituto de los tres modos anteriores, pero no se aconseja pues dificulta la comprensin del programa.

INOUT

Entidad: tipos de datosTipo Bit Boolean Std_logic Integer Bit_vector Std_logic_vector Character Caracterstica En este tipo las seales solo toman los valores de "1" y "0" En este tipo las seales solo toman los valores de True y False En este tipo las seales toman 9 valores, entre ellos tenemos: "1", "0", "Z" (para el 3er estado), "-" (para los opcionales). En este tipo las seales toman valores enteros. Los 1 y los 0 se escriben enteros sin En este tipo los valores de las seales son una cadena de unos y ceros. Ejemplo: 1000 Ej l En este tipo los valores de las seales son una cadena de los nueve valores g permisibles para el tipo std_logic. Contiene todos los caracteres ISO de 8 bits, donde los primeros 128 son los caracteres ASCII.

Declaracin de entidades

ENTITY dff IS PORT(d,clk,rst: IN BIT; q: OUT BIT); END dff

Entidad: identificadores Los identificadores son los nombre vlidos para referir variables, constantes, seales, procesos, etc procesos etc.No tienen longitud mxima. Puede contener caracteres del a A a la Z, de la a a la z, caracteres A Z, a z, numricos de 0 al 9 y el carcter subrayado _. No se diferencia entre maysculas y minsculas (CONTADOR, contador y ConTadoR son el mismo identificador ) identificador.) Debe empezar por un carcter alfabtico, no puede terminar con un subrayado, ni puede tener dos subrayados seguidos. Existen l id ifi d E i los identificadores extendidos (VHDL93): admiten cualquier did (VHDL93) d i l i carcter y diferencian maysculas de minsculas si se encuentran entre dos caracteres \. No N puede usarse como identificador una palabra reservada. d d f d lb d

Diseo de entidades mediante vectoresConjuntos de palabras de varios bits bits. A = [A3,A2,A1,A0] Definidos con la sentencia BIT_VECTOR.Port (a, b: in bit_vector (7 downto 0); sel: in bit vector (1 downto 0); bit_vector c: out bit_vector (7 downto 0) );

Declaracin de entidades mediante libreras y paquetesLibreras IEEE y WORK. IEEE: paquete std_logic_1164 WORK: numeric_std, std_arith. Lugar donde se almacenan los programas que el usuario va generando. l i d Paquete: contiene algoritmos preestablecidos. l bl d

Declaracin de libreras Al declarar una librera son necesarias dos lneas librera, de cdigo: una que contenga el nombre de la librera l b y otra con l sentencia USE, como se la muestra:

Paquete std_logic_1164Est dentro de la librera IEEE. . Contiene todos los tipos de datos que se emplean en VHDL.Use std_logic_1164.all Paquete Numeric_std Descripcin Define funciones para realizar funciones entre l dif t los diferentes ti d d t t tipos de datos. Define tipos de datos binarios p Funciones y operadores aritmticos (=,)

Numeric_bit Std_arith

Paquete std_logic_11641 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --comparador descripcin funcional p p library ieee; use ieee.std_logic_1164.all; Entity comparador is port (a,b: in bit_vector (1 downto 0); C : out bit ); end comparador; architecture D funcional of comparador is D_funcional begin Compara : process (a,b) g begin If a = b then c