You are on page 1of 31

VHDL

Introduccin

W.G.

UC

2_2011

Breve introduccin
Durante la ltima dcada ha habido una gran

revolucin en el diseo de sistemas digitales. En la actualidad, LOS DISPOSITIVOS REPROGRAMABLES puede contener ms de un milln de compuertas lgicas equivalentes y decenas de miles de flip-flops. Con tal capacidad, no es posible usar las tcnicas tradicionales de diseo lgico, donde se realizaba un diagrama de compuertas para disear un sistema digital.
2

W.G.

UC

2_2011

Breve introduccin HDL


Hoy en da los sistemas digitales se disean de

manera similar al proceso de desarrollo de software mediante los lenguajes de descripcin de hardware (HDLs, por sus siglas en ingls:

Hardware Description Language).

W.G.

UC

2_2011

HDL
Los HDL ms populares son
VHDL.
VERILOG.

El nombre VHDL es un acrnimo que resulta de

la combinacin de VHSIC y HDL, que significan Very High Speed Integrated Circuit (Circuito Integrado de Muy Alta Velocidad) y Hardware Description Language (Lenguaje de Descripcin de Hardware), respectivamente.
4 W.G. UC 2_2011

VHDL
Se trata de un lenguaje diseado a iniciativa del

departamento de defensa de Estados Unidos, basado en el lenguaje de programacin Ada. En 1986 el departamento de defensa de E. U. transfiri los derechos a IEEE, con la intencin de que fuera ms ampliamente aceptado por la industria, desde 1987, IEEE se ha encargado de la publicacin y actualizacin del estndar VHDL.

W.G.

UC

2_2011

Dispositivos reconfigurables
Son circuitos de propsito general que poseen

una estructura interna que puede ser modificada por el usuario final, para implementar una amplia gama de aplicaciones.
PROM: primer dispositivo que cumpli la

caracterstica de ser programable. PAL: Programmable Array Logic, dispositivos conformados por compuertas AND programables y OR fijas.

W.G.

UC

2_2011

PLA: Programmable Logic Array, ms flexibles que

las PAL, tiene compuertas AND y OR programables. PLD: Programmable Logic Device, es una matriz de compuertas AND conectada a otra matriz de compuertas OR ms biestables. FPGA: Field Programmable Gate Array, inventado por los fundadores de Xilinx, consiste en una matriz de bloques configurables.

W.G.

UC

2_2011

FPGA
Son dispositivos lgicos de propsito general

programable por los usuarios, compuesto de bloques lgicos comunicados por conexiones programables. El tamao, estructura, nmero de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.

W.G.

UC

2_2011

Contienen celdas lgicas idnticas (64 hasta

8.000.000) que se puede ver como componentes estndar Las celdas lgicas se interconectan por medio de una matriz de cables y switches programables

W.G.

UC

2_2011

10

W.G.

UC

2_2011

Estructura bsica de un FPGA

Estructura : arreglo bidimensional de bloques

lgicos rodeados por conexiones configurables. Tecnologa de programacin : se programa por la carga de celdas de memoria de configuracin, que controlan la lgica e interconexiones. Caractersticas : volatilidad, no volatilidad, memoria externa, reprogramabilidad, proceso de fabricacin estndar y bajo consumo.

11

W.G.

UC

2_2011

12

W.G.

UC

2_2011

Cmo se crean los programas para FPGAs?


Hay software especial para definir las conexiones

de Los switches y las funciones de las celdas lgicas. El software traduce diagramas esquemticos del usuario o cdigo de lenguaje de descripcin de hardware, y luego valida el diseo traducido El software permite al usuario influenciar una implementacin y validarla para obtener mayor eficiencia y utilizacin del dispositivo

13

W.G.

UC

2_2011

Herramientas de diseo
Lenguajes: VHDL, Verilog, HandelC
Ambientes integrados: Xilinx ISE, Max Plus,

Libero Simuladores: Active HDL, ModelSim Sntesis: Synopsis FPGA Compiler, Synplicity, Leonardo

14

W.G.

UC

2_2011

Caracterizacin de circuitos en VHDL


Aspectos que lo caracterizan:
1. Un interfaz externo:

una puerta and de dos entradas, por ejemplo, tiene tres terminales, dos entradas y una salida. 2. Un algoritmo de procesamiento de la informacin: cada dispositivo digital Realiza una determinada operacin que le permite obtener ciertos niveles lgicos en sus terminales de salida a partir de los aplicados en sus entradas: una compuerta xor pone un uno cuando sus dos entradas son distintas, una compuerta nor cuando todas sus entradas tienen un cero.

15

W.G.

UC

2_2011

La Declaracin de Entidad y el Cuerpo de Arquitectura


La realizacin del modelo hardware de un dispositivo en VHDL

consiste en la elaboracin de dos unidades de cdigo VHDL: una Declaracin de Entidad y un Cuerpo de Arquitectura.
La Declaracin de Entidad es la unidad de diseo VHDL que

sirve para especificar el interfaz de los dispositivos. Cumple, por tanto, funciones equivalentes a las de los smbolos en las representaciones grficas.
El Cuerpo de Arquitectura es la unidad de diseo VHDL que

sirve para especificar el funcionamiento de un dispositivo identificado por una determinada Declaracin de Entidad, por lo que se puede considerar el equivalente a las tablas de verdad o a los cronogramas.

16

W.G.

UC

2_2011

17

W.G. 2_2011

UC

18

W.G. 2_2011

UC

Sintaxis Bsica de la Declaracin de Entidad

19

W.G.

UC

2_2011

Cuerpos de Arquitectura. Nociones Bsicas

20

W.G.

UC

2_2011

Vhdl. Ejm1. AND


library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity compuerta_or is
Port ( a : in STD_LOGIC; b : in STD_LOGIC; s : out STD_LOGIC);

end compuerta_or; architecture comportamiento of compuerta_or is begin s <= a or b; end comportamiento;


21 W.G. UC 2_2011

MULTIPLEXOR 2x1:
su entidad correspondiente sera: entity mux2 is port (D0, D1, S0: in std_logic; O: out std_logic); end mux2;

architecture behavioral1 of mux2 is begin O <= D1 when (S0 = 1) else D0; end behavioral1;

22

W.G.

UC

2_2011

O a esta otra:
architecture behavioral2 of mux2 is
begin multiplexor: process(D0,D1,S0) if(S0 = 1) then O <= D1; else O <= D0; end if; end process;

end behavioral2;
23 W.G. UC 2_2011

O a esta otra:
architecture mixed of mux2 is
signal S1,S2: std_logic; begin S1 <= D0 and not S0; S2 <= D1 and S0; O <= S1 or S2;

end mixed;

24

W.G.

UC

2_2011

Contadores
entity contador is
port (reset, clk : in std_logic; numero : out std_logic_vector(3 downto 0));

End contador;

25

W.G.

UC

2_2011

architecture circuito of contador is


signal interna: std_logic_vector(3 downto 0); begin process (reset, clk, interna) begin if (reset = '1') interna <= 0000; elsif clkevent and clk = 1 then interna <= interna + 1; end if; end process; numero <= interna;

end circuito;
26 W.G. UC 2_2011

Vhdl Ejm 2. Registro de 4 bits


library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity reg4 is port ( d0, d1, d2, d3, en, clk : in bit; q0, q1, q2, q3 : out bit ); End entity reg4;

27

W.G.

UC

2_2011

28

W.G.

UC

2_2011

Simulacin del modelo VHDL


La compilacin exitosa de la Declaracin de

Entidad y la Arquitectura VHDL garantiza que se cumplen una serie de reglas sintcticas y semnticas, pero no que el hardware se haya modelado correctamente. Para probar el modelo es preciso simularlo. Una simulacin VHDL se realiza conectando el modelo en pruebas a un conjunto de estmulos que permiten observar la respuesta del mismo. Para ello hay que construir un test-bench (banco de test).
29 W.G. UC 2_2011

Test bench
1. La Declaracin de Entidad no tiene puertos. 2. En el Cuerpo de Arquitectura no se describe el funcionamiento de un dispositivo, sino que se conecta el dispositivo a probar a un conjunto de seales (estmulos y salidas). El conjunto de valores que toman los estmulos a lo largo del tiempo constituyen los vectores de test que se aplican al modelo en pruebas.

30

W.G.

UC

2_2011

31

W.G. 2_2011

UC

You might also like