You are on page 1of 35

Captulo 2:

LENGUAJES DE DESCRIPCIN DE HARDWARE:


VHDL

Generalidades
Ventajas e inconvenientes de los HDLs
Caractersticas generales del VHDL
Modelo del Hw
Introduccin al lenguaje VHDL
Lenguajes de descripcin de hardware
(HDLs)
Estos lenguajes fueron desarrollados para hacer
frente a la creciente complejidad de los diseos.
Se puede hacer una analoga con los que se pueden
llamar lenguajes de descripcin de software:
Lenguajes de descripcin de hardware
(HDLs)
Los HDLs son usados para modelar la arquitectura y
comportamiento de sistemas electrnicos discretos.
Se utilizan en la fase de diseo
Necesidad de Simulador lgico
Herramienta necesaria para reproducir el
comportamiento del sistema modelado
Permite la verificacin del sistema diseado.
Actualmente existen herramientas software que
permiten pasar de dichas descripciones a diseos a
nivel de puertas: SNTESIS
Lenguajes de descripcin de hardware (HDLs).
Sntesis lgica
Sntesis lgica: convierte una descripcin de un sistema
digital mediante un HDL en una implementacin
tecnologca.
Descripcin HDL: Puertas
library ieee;
use ieee.std_logic_1164.all;
entity puertas is
port ( A, B, C : in std_logic;
Y: out std_logic
); Sntesis
end puertas;

ARCHITECTURE a of puertas is

begin

Y <= (A and B) or C;
end a;
Lenguajes de descripcin de hardware (HDLs).
Sntesis lgica

El hecho de realizar una sntesis lgica obliga a ciertas


restricciones en la tarea de realizar las descripciones
con HDLs.
No se pueden utilizar todas las construcciones de los
lenguajes, y las que estn permitidas hay que utilizarlas
adecuadamente.
Cada uno de los sintetizadores que existen actualmente
en el mercado tienen unas restricciones distintas, si
bien, son muy parecidas en cada uno de ellos.
Ventajas del uso de HLDs

El lenguaje es independiente de la tecnologa:


El mismo modelo puede ser sintetizado en libreras
de distintos vendedores.
Reduccin de la dependencia con el fabricante de
ASICs, ya que la portabilidad a otra tecnologa es
mucho ms rpida.
Reutilizar el diseo en componentes tan distintos
como ASICs o FPGAs con un esfuerzo mnimo.
Ventajas del uso de HLDs

Soportan tres estilos de descripcin bsicos:

DESCRIPCIN COMPORTAMENTAL (behavioral)


DESCRIPCIN DE FLUJO DE DATOS (data-flow)
DESCRIPCIN ESTRUCTURAL (estructural)

Un diseo puede ser descrito con una


combinacin de los tres estilos.
Ventajas del uso de HLDs

Se puede verificar la funcionalidad del diseo muy


pronto en el proceso de diseo.
La simulacin del diseo a tan alto nivel, antes de la
implementacin a nivel de puertas, permite testar la
arquitectura y rectificar decisiones en las primeras
fases de diseo, con un esfuerzo mucho menor que si
se realizase en fases posteriores.
Ventajas del uso de HLDs

Sencillez
Como la descripcin se centra ms en la
funcionalidad que en la implementacin, resulta ms
sencillo para una persona comprender qu funcin
realiza el diseo a partir de una descripcin HDL que
a partir de un esquemtico de interconexin de
puertas

begin

Y <= (A and B) or C;
end a;
Ventajas del uso de HLDs
Ahorro de tiempo
Facilita las correcciones en el diseo debidas a fallos
de diseo o cambio de especificaciones.
La existencia de herramientas comerciales
automticas (sintetizadores RTL) que permiten crear
descripciones gate-level a partir de los modelos a
nivel RTL
Si bien, el diseo final no suela estar tan optimizado
como si lo hubiera realizado un humano, la mayora
de las veces es necesario sacrificar un mnimo en las
prestaciones, para poder llevar a cabo el proyecto.
Para ello se necesita la disponibilidad de dichas
herramientas, las libreras de sntesis del fabricante y
sus archivos de tecnologa.
Ventajas del uso de HLDs
El lenguaje puede ser usado como un medio
de intercambio entre los fabricantes de
ASICs y los usuarios de herramientas CAD.
Diferentes vendedores de ASICs pueden suministrar
descripciones HDL de sus componentes a
diseadores de sistemas. Los usuarios de
herramientas CAD pueden usar esta descripcin para
capturar el comportamiento de este diseo a un nivel
de abstraccin alto para la simulacin funcional.
Adems, se estn convirtiendo en los lenguajes de
simulacin ms utilizados por los distintos
vendedores.
Ventajas del uso de HLDs

El lenguaje tambin puede ser usado como


medio de comunicacin entre diferentes
herramientas CAD y CAE.
Un programa de captura de esquemticos puede ser
utilizado para generar descripciones HDL del diseo,
lo cual puede ser usado como entrada a un
simulador.
Ventajas del uso de HLDs

La propia descripcin en el lenguaje de alto nivel sirve


como especificacin del comportamiento del sistema a
disear (tanto a nivel funcional como las restricciones
temporales), y el interface con el resto del sistema.
Los modelos descritos con estos lenguajes, pueden
ser verificados fcilmente y de forma precisa por
simuladores definidos en base a estos HDL.
Adems, cumple con un requerimiento muy
importante en toda especificacin: no es ambiguo.
Asimismo sirve como documentacin del diseo.
Ventajas del uso de HLDs

Los "Test Bench" pueden ser escritos en el


mismo lenguaje que con el que han sido
modelados los diseos (HDL).
Esto permite un mejor manejo del modelo, ya que se
puede asociar el modelo a sus estmulos de
simulacin.
No limitamos el uso de dichos estmulos a un
determinado simulador, pudiendo ser reutilizados
dichos estmulos aunque se use un simulador
distinto.
Los retardos de propagacin y limitaciones
temporales, pueden ser descritos con estos HDL
Ventajas del uso de HLDs

El lenguaje soporta jerarqua;


Un sistema digital puede ser modelado como un
conjunto de componentes interconectados;
A su vez cada componente puede ser modelado
como un conjunto de subcomponentes.

El lenguaje soporta metodologas de diseo


diferentes: top-down, bottom-up, o mixtas.
Ventajas del uso de HLDs

Soporta modelos de tiempos sncronos y asncronos.


Posibilidad de implementar distintas tcnicas de
modelado digital (descripciones de mquinas de estados
finitos (FSM), descripciones algortmicas, redes de Petri,
y ecuaciones Booleanas
El lenguaje es pblico y "not propietary" (especialmente
en el caso del VHDL).
Ventajas del uso de HLDs

Es un estndar ANSI e IEEE; por lo tanto, los modelos


descritos en estos lenguajes (VHDL o VERILOG) son
totalmente portables.
No hay limitaciones impuestas por el lenguaje en el
tamao del diseo.
Los HDL tienen elementos que permiten el diseo a
gran escala, de forma fcil; por ejemplo,
componentes, funciones, procedimientos, paquetes.
La capacidad de definir tipos de datos sofisticados,
suministra la potencia de describir y simular nuevos
diseos a un nivel de abstraccin en el cual an no
se barajan detalles de la implementacin
Ventajas del uso de HLDs

El uso de genricos y atributos en los modelos facilitan


la labor de backannotation de informacin
proviniente del dominio fsico despus de haber
realizado el "placement and routing".
Los genricos y atributos facilitan la descripcin de
modelos parametrizables. El modelo, a travs de los
atributos, puede contener informacin del diseo en
s mismo, no solo de la funcionalidad: por ejemplo,
informaciones tales como el rea y velocidad.
Inconvenientes del uso de HDLs
Supone un esfuerzo de aprendizaje, ya que prc-
ticamente se puede considerar como nueva meto-
dologa.
Necesaria la adquisicin de nuevas herramientas:
Simuladores
Sintetizadores de HDL, teniendo que mantener el
resto de las herramientas para otras fases del
diseo.
El uso de estos lenguajes hace que involuntariamente
se pierda un poco de control sobre el aspecto fsico del
diseo, dndole una mayor importancia a la funcio-
nalidad de dicho diseo.
Historia de VHDL
Diversos grupos de investigadores empiezan a crear
y desarrollar los llamados "lenguajes de descripcin
de hardware" cada uno con sus peculiaridades,
buscando una solucin a los problemas que
presentaba el diseo de los sistemas complejos.
Ejemplos:
IDL desarrollado por IBM ,
TI - HDL de Texas Instruments,
ZEUS de General Electric,
prototipos de universidades
LENGUAJES DE DESCRIPCIN DE HARDWARE.
En la actualidad se utilizan fundamentalmente VHDL, Verilog y
SystemC . Otro HDL, el UDI/L se utiliza exclusivamente en Japn.
VHDL (Very High Speed Integrated Circuit Hardware Description
Language). Nace como proyecto del Departamento de Defensa
(DoD) de EEUU (ao 82) para disponer de una herramienta
estndar, independiente para la especificacin (modelado y/o
descripcin) y documentacin de los sistemas electrnicos. El IEEE
lo adopta y estandariza.
Verilog: Sw de la firma Gateway y posteriormente de Cadence.
Estndar industrial hasta que apareci el VHDL como estndar
IEEE. En 1990 Cadence lo hace pblico y el IEEE lo estandariza en
1995.
SystemC: es una extensin del C++, que utiliza unas bibliotecas
de clase para describir y simular circuitos digitales. Se public en
1.999 .
Historia de VHDL
Estos lenguajes nunca alcanzaron el nivel de difusin y
consolidacin necesarios por motivos distintos.
los industriales, por ser propiedad de la empresa
permanecieron encerrados en ellas y no estuvieron
disponibles par su estandarizacin y mayor difusin,
los universitarios, perecieron por no disponer de soporte
ni mantenimiento adecuado.
En 1981 el Departamento de Defensa de los Estados Unidos
Proyecto VHSIC (Very High Speed Integrated Circuit )
Objetivos:
rentabilizar las inversiones en hardware haciendo
ms sencillo su mantenimiento.
resolver el problema de modificar el hardware
diseado en un proyecto para utilizarlo en otro
Historia de VHDL
VHDL acrnimo de VHSIC Hardware Description Lenguaje
En 1983, al grupo formado por las empresas Intermetrics,
IBM y Texas Instruments se le adjudic un contrato para
desarrollar el VHDL
En 1985, la versin final del lenguaje bajo contrato
gubernamental se dio a conocer : VHDL Version 7.2
Tras colaboraciones de industrias y universidades en
1987 VHDL se convierte en Standard IEEE 1076-1987 y
en 1988 en standard ANSI
En 1993 fue revisado el standard VHDL
La ltima revisin se realiz en 2002.
VHDL: CARACTERSTICAS GENERALES

VHDL: lenguaje orientado a la descripcin o modelado de Hw


similar a lenguajes de alto nivel de propsito general (ADA
en especial): de ellos hereda:
Concepto de tipo de datos, con posibilidad de
definir nuevos tipos facilita la descripcin de
circuitos con diversos niveles de abstraccin.
Sentencias de control de flujos (if, for while). Junto
con la caracterstica anterior potencia para
desarrollar algoritmos.
Capacidad de estructurar el cdigo (subprogramas,
funciones o procedimiento), permite afrontar
algoritmos complejos.
Posibilidad de utilizar y desarrollar bibliotecas de
diseo,
Incorpora conceptos especficos para el modelado del
Hw, como concurrencia y ciclo de simulacin.
MODELO DEL HW

Modelo de estructura: componentes y jerarqua


Permiten describir cualquier sistema digital con diferentes
grados de abstraccin.
Un sistema digital (independientemente de su complejidad)
estar definido por dos elementos principales:
Interfaz con el exterior (la entidad o entity), indicar que
entradas y salidas (ports) le relacionan con el exterior.
Descripcin de la funcionalidad que realiza el dispositivo
(architecture). Para una misma entity pueden existir
diversos mdulos architerture de estilos descriptivos
distintos. Pudindose especificar para cada diseo en
concreto que implementacin de una entidad se utiliza
(configuration).
Se puede utilizar cualquier elemento modelado en VHDL
en otro diseo haciendo referencia a l (component) y
conectando sus puertos en el nuevo circuito.
MODELO DEL HW

Modelo de concurrencia: procesos, seales y eventos.

El Hw tiene naturaleza concurrente.


El elemento bsico de concurrencia es el proceso
(process) que est formado por sentencias secuenciales.
Los procesos se comunican entre ellos mediante seales
(signal).
Cada proceso tiene un conjunto de seales a las que es
sensible, de forma que un cambio en alguna (evento) de
ellas hace que se ejecute.
Las seales tienen asociadas una o varias colas de
eventos, pares tiempovalor (drivers), que definen su
comportamiento en el transcurso de una simulacin.
MODELO DEL HW
Modelo de tiempo:
INICIO SIMULACIN ciclo de simulacin

Ejecutar estamentos Incrementar


concurrentes retardo delta
correspondientes al tiempo ()
de simulacin actual

Avanzar tiempo de Eventos NO Transaccio-


simulacin SI en cola? nes?

SI
NO NO
Eventos?
FIN SI
SIMULACIN Ejecutar estamentos
concurrentes
correspondientes al tiempo
de simulacin actual
MODELO DEL HW

Modelo de tiempo: ciclo de simulacin


Retardo delta ().
n1
A: 10 n2
Z
B=1
C=0
A

n1

n2

T T+ T+2 T+3 T
COMPOSICIN DE UN DISEO VHDL

Fichero VHDL
Diseo VHDL
Paquetes
Fichero VHDL Constantes, tipos de datos,
componentes y subprogramas
utilizados en varios diseos o entidades
Fichero VHDL
Entidades
Interfaces de los
componentes
Arquitecturas
Fichero VHDL Implementacin de las
entidades
DECLARACIN DE ENTIDAD

La entidad modela la interfaz del circuito, indicando sus


terminales de entrada y salida, parmetros de diseo,
declaraciones de tipos, constantes, etc.

entity <identificador> is
[generic (lista_de_genricos);]
[port (lista_de_puertos);]
{declaraciones}
[begin sentencias]
end [entity] [identificador];

lista de puertos(identificador{,...}:[modo]indicacin_tipo
[:=expresin]) {;...}

modo in | out | inout | buffer | linkage


lista de genricos (identificador {,...}:tipo[:=expresin])
{;..}
DECLARACIN DE ENTIDAD

Ejemplos:

entity sumador_total is
port (a,b,c: in bit;
s,c: out bit);
end sumador_total;

entity Mux21 is entity Mux21 is


port (a: in bit; generic (t_delay:time:=5ns);
b: in bit; port (a, b: in bit;
canal : in bit:=1; canal : in bit:=0;
z: out bit); z: out bit);
end Mux21; end Mux21;
DECLARACIN DE ARQUITECTURA

Son las unidades definidas en VHDL para describir el


funcionamiento interno de las entidades. Describe un conjunto de
operaciones sobre las entradas de la entidad, que determinan el
valor de las salidas en cada momento.
Para una entidad pueden existir varias arquitecturas.
Pueden modelar el funcionamiento de una entidad segn los tres
niveles de abstraccin vistos anteriormente:
- Algortmico: descripciones al estilo de Sw de alto
nivel, que reflejan la funcionalidad de los mdulos .
-Flujo de Datos: descripciones basadas en
ecuaciones y expresiones que reflejan el flujo de
datos y las dependencias entre datos y operaciones.
-Estructural: se especifican componentes, conexiones
y puertos de E/S
-Estilo mixto de los anteriores.
DECLARACIN DE ARQUITECTURA

architecture identificador of identificador_entidad is


{declaraciones}
begin
{sentencias_concurrentes}
end [architecture] [identificador];

architecture algoritmico of Mux21 is


entity Mux21 is begin
port(a, b, canal :in bit; process (a,b, canal)
z: out bit); begin
end Mux21; if (canal=0) then
z<=a;
else
z<=b;
end if;
end process;
end algoritmico;
DECLARACIN DE ARQUITECTURA

entity Mux21 is architecture FlujoDatos of Mux21 is


port(a, b, canal :in bit; signal canal_n,n1,n2:bit;
z: out bit); begin
end Mux21; -- operaciones concurrentes
canal_n<= not canal after 1ns;
n1<=canal_n and a after 2ns;
n2<=canal and b after 2ns;
z<=n1 or n2 after 2ns
end FlujoDatos;
DECLARACIN DE ARQUITECTURA

entity Mux21 is architecture Estructural of Mux21 is


port(a, b, canal :in bit; signal canal_n,n1,n2:bit;
z: out bit); component INV
end Mux21; port (x:in bit;z:out bit);
end component;
component AND2
port(x,y:in bit; z:out bit);
end component;
component OR2
port(x,y:in bit; z:out bit);
end component;
begin
U0:INV port map (canal,canal_n);
U1:AND2 port map(canal_n,a,n1);
U2:AND2 port map(canal,b,n2);
U3:OR2 port map(n1,n2,z);
end Estructural;

You might also like