You are on page 1of 20

SISTEMAS DIGITALES DE ALTAS PRESTACIONES

Lenguajes de Descripcin de Hardware: Introduccin al AHDL

Lenguajes de Descripcin de Hardware. Introduccin al AHDL

1. Introduccin a los Lenguajes de Descripcin de Hardware.


2. Niveles de diseo y dominios de representacin

3. Introduccin al AHDL
4. Comparacin del VHDL con AHDL

INTRODUCCIN A LOS LENGUAJES DE DESCRIPCIN DE HARDWARE (HDLs)


Un HDL es una herramienta que facilita el diseo, anlisis, y comprobacin del comportamiento de un elemento hardware (circuito o sistema ms o menos complejo) Su principal dominio de aplicacin es el modelado de dispositivos para comprobar su correccin funcional mediante simulacin, aunque existen otros usos posibles.
reas de aplicacin: Sntesis automtica: Generacin de dispositivos digitales a partir de la especificacin de su comportamiento a travs de un lenguaje de descripcin de hardware. Diagnosis de Fallos: Se pueden disear estrategias de deteccin de fallos de circuitos a partir de modelos de defectos descritos mediante un lenguaje de descripcin de hardware. Verificacin Formal: Se trata de verificar que, para todos los estados iniciales aceptables, y para todas las entradas posibles, la implementacin del diseo cumple su especificacin.

Modelado de Rendimiento: Se pueden comprobar las prestaciones del sistema que se pretende implementar, simulando su comportamiento a partir de una descripcin del mismo realizada con un lenguaje de descripcin de hardware.
Documentacin: Tarea muy importante en todo proceso de diseo, y sobre todo en el caso de que el sistema tenga una complejidad considerable. Si se dispone de una descripcin precisa de todo el sistema mediante un lenguaje que tenga una capacidad de abstraccin elevada se facilita este trabajo.
3

INTRODUCCIN A LOS LENGUAJES DE DESCRIPCIN DE HARDWARE (HDLs) Entrada esquemtica Diagramas de estados Tablas de verdad

Lenguajes de descripcin de hardware

INTRODUCCIN A LOS LENGUAJES DE DESCRIPCIN DE HARDWARE (HDLs) HDLs precursores:


CDL (Computer Design Languaje) (Chu, 60s, IBM 7090) DDL (Digital systems Design Language) (Universidad de Wisconsin, 60s) AHPL (A Hardware Programming Language) (Hill, Peterson, 1973) ISPS (Instruction Set Processor Specifications) (Principio de los 70) ISP (Instruction Set Processor prime) (Rose, Drogowski, 1975) TI-HDL (Texas Instrument-HDL) (HDL desarrollado por TI a principio de los 70) UDL/I (Unified Design Language for Integrated circuits) (Japan Electronic Industry Development Association, 1989) M (HDL utilizado por el simulador Lsim de Mentor Graphics diseado a partir de C)

HDLs Actuales:
Verilog (1983/84) Lenguaje diseado por Cadence Design Systems Inc. como lenguaje para su simulador. Su uso est promovido por la Open Verilog International (OVI). Estndar IEEE 1364-2001 VHDL (VHSIC Very High Speed Integrated Circuits Hardware Description Language) (1985) Diseado por Intermetrics, IBM, y TI en 1985. La Computer Society de IEEE lo convirti en un estndar y promovi su uso en 1987: IEEE 1076
5

INTRODUCCIN A LOS LENGUAJES DE DESCRIPCIN DE HARDWARE (HDLs)

-HDL (Verilog VHDL AHDL) es un lenguage que describe el hardware de sistemas digitales de formal textual.

-Se asemeja a un lenguaje de programacin, pero est especficamente orientada a la descripcin de estructuras de hardware y comportamientos.
- La principal diferencia con los lenguajes de programacin tradicionales es que la representacin en HDL permite hacer operaciones en paralelo mientras que en los tradicionales principalmente son operaciones en serie. - El uso ms comn de un HDL es proporcionar una alternativa a los esquemas.

Lenguajes de Descripcin de Hardware. Introduccin al AHDL

1. Introduccin a los Lenguajes de Descripcin de Hardware.


2. Niveles de diseo y dominios de representacin

3. Introduccin al AHDL
4. Comparacin del VHDL con AHDL

NIVELES DE DISEO Y DOMINIOS DE REPRESENTACIN (I)


Para entender (analizar, describir, disear,...) un sistema complejo se utilizan distintos niveles de abstraccin. Cada nivel est caracterizado por: Componentes o primitivas disponibles Metodologa para el anlisis y la sntesis
Dependen del fabricante del Hardware

Elementos sintetizados a partir de las primitivas disponibles y que son los componentes del nivel superior.

Niveles usuales en un sistema digital: Sistema Chip Transferencia entre registros Circuito Lgico Circuito elctrico

Nivel fsico (layout)


8

NIVELES DE DISEO Y DOMINIOS DE REPRESENTACIN (II)


Independientemente del nivel de abstraccin, los modelos de especificacin y simulacin se pueden construir en los dominios: Estructural

La descripcin de un elemento se hace en trminos de sus componentes primitivos y su interconexin.


Funcional o de comportamiento La descripcin del elemento se hace en trminos de su relacin de entradas/salidas

Los lenguajes Verilog y VHDL (AHDL) disponen de recursos expresivos suficientes para cubrir totalmente la descripcin y el modelado de dispositivos digitales en los niveles de circuito lgico, transferencia entre registros, y chip, y parcialmente en los niveles de sistema y circuito elctrico. Se pueden mezclar descripciones de distintos niveles, y descripciones estructurales y funcionales.
9

Lenguajes de Descripcin de Hardware. Introduccin al AHDL

1. Introduccin a los Lenguajes de Descripcin de Hardware.


2. Niveles de diseo y dominios de representacin

3. Introduccin al AHDL
4. Comparacin del VHDL con AHDL

10

INTRODUCCIN AL AHDL: CONCEPTO DE MDULO

El sistema digital se describe como una serie de modulos : SUBDESIGN Mediante la sentencia SUBDESIGN se define un mdulo y se pueden especificar todos sus detalles. Una vez que se ha definido el mdulo se puede utilizar (instanciar, instantiate) cuantas veces sea preciso en un diseo. Cada ejemplar del mdulo que se utilice (instance) puede estar conectado con otras instancias de forma distinta y puede tener un nombre diferente. Cada mdulo es una unidad lgica que incluye: Una interfaz para su conexin con otros mdulos o sea sus entradas y salidas Una descripcin de su contenido mediante la especificacin de su estructura interna (mdulos que lo constituyen y su forma de interconexin) o mediante la especificacin de su comportamiento

11

INTRODUCCIN A AHDL: registros


SUBDESIGN reg01 ( reloj, carga, d[1..0] sal[1..0]

Ejemplo 1

Definicin de las entradas y salidas : INPUT ; : OUTPUT;

VARIABLE Se define como tipo flipflop BEGIN ff[1..0] : DFFE;

END;

ff[].clk ff[].ena ff[]..d sal[]

= reloj = carga = d[] = ff[].q

; ; ; ;

A que se conectan las I/O del flipflop ?

12

INTRODUCCIN A AHDL: registros


INCLUDE lpm_dff.inc; SUBDESIGN reg02 ( reloj, carga, d[1..0] sal[1..0] : INPUT ; : OUTPUT;

Ejemplo 2

Definicin de las entradas y salidas

) BEGIN

sal[]= lpm_dff(.clock=reloj, .enable=carga, .data[] =d[]) WITH(LPM_WITH=2) RETURNs (.q[]);

END;
Ponemos en Sal[] el valor de .q[]

A que se conectan las I/O del flipflop ?

13

INTRODUCCIN A AHDL: contadores


SUBDESIGN contador01 ( reloj, carga, habilita, reset, d[3..0] salida[3..0] ) VARIABLE cuenta[3..0] BEGIN cuenta[].clk cuenta[].clrn IF carga THEN cuenta[].d ELSIF habilita THEN cuenta[].d ELSE cuenta[].d END IF; salida[] END; = reloj; = !reset ; =d[]; = cuenta[].q+1;

Ejemplo 3

: INPUT ; : OUTPUT;

: DFF;

Condiciones

= cuenta[].q;
= cuenta[];

14

INTRODUCCIN A AHDL: contadores


INCLUDE lpm_dff.inc; SUBDESIGN contador02 ( reloj, habilita, reset, sentido salida[3..0] )

Ejemplo 4

: INPUT ; : OUTPUT;

VARIABLE contador: lpm_counter WITH (LPM_WIDTH=4, LPM_MODULUS=16);

BEGIN

END;

contador.clock contador.clk_en contador.updown contador.sclr salida[]

= reloj; = habilita; = sentido; = reset; = contador..q[];

15

INTRODUCCIN A AHDL: Maquinas de estados


SUBDESIGN moore ( clk, reset, up_down out[1..0] )

Ejemplo 5

: INPUT ; : OUTPUT;

VARIABLE moore_state : MACHINE WITH STATES (S0,S1,S2,S3 );

BEGIN

moore_state.clk moore_state.reset

= clk; = reset;

CASE moore_state IS WHEN S0 => out [] = B00; IF up_down THEN moore_state = S1; ELSE moore_state = S2; END IF; WHEN S1 => .
16

END;

Lenguajes de Descripcin de Hardware. Comparacin del VHDL con AHDL

1. Introduccin a los Lenguajes de Descripcin de Hardware.


2. Niveles de diseo y dominios de representacin

3. Introduccin al AHDL
4. Comparacin del VHDL con AHDL

17

Comparacin del VHDL con AHDL

18

Bibliografa
Pginas Web: www.altera.com (Altera) www.simucad.com (Simucad) www.xilinx.com (Xilinx) http://www.ert.rwth-aachen.de/lisa/lisa.html (Lisa - Universidad de Aachen). Modelo de mquina genrico y lenguaje de descripcin que permite el modelado preciso de procesadores segmentados. http:// atc.ugr.es/doctorado/apuntes/leccion8_04_05.ppt

Artculos de Revistas: Dutt, N.; Choi, K.:Configurable Processors for Embedded Computing. IEEE Computer, pp.120-123. Enero 2003. (Seccin dedicada a Embedded Computing en el IEEE Computer) Schulz, S.; et al.:Model-Based Codesign. IEEE Computer, pp.60-67. Agosto, 1998. Schlett, M.:Trends in embedded microprocessor design. IEEE Computer, pp.44-49. Agosto, 1998.

19

Bibliografa
THOMAS, D.E.; MOORBY, P.:The Verilog Hardware Description Language. Kluwer Academic Publishers, 1991. NAVADI, Z.:Verilog Computer-Based Training Course. McGraw Hill, 2002. MAZOR, S.; LANGSTRAAT, P.:A Guide to VHDL. Kluwer Academic Publishers, 1992.

20