Está en la página 1de 34

LENGUAJES DE DESCRIPCIN

DE HARDWARE (HDL)

Ing. Arturo Marn Thames


Introduccin
El proceso de bsqueda de un diseo
digital con compuertas lgicas que sea
eficiente, casi siempre termina en un
proceso manual de simplificacin de
tablas de verdad o la conversin de
una mquina de estados finitos en un
esquema de compuertas lgicas.
Introduccin

Diseo combinacional utilizando herramientas de software


Desarrollo de HDL
En los aos 90 los diseadores
electrnicos encontraron que era ms
productivo si se trabajaba en un nivel
de abstraccin superior, especificando
solo la funcin lgica y utilizando
herramientas CAD (Diseo Asistido
por Computadora) para producir el
diseo ptimo de compuertas.
Desarrollo de HDL

Descripcin Verilog de un FLIP FLOP


Desarrollo de HDL
Se puede hacer una analoga con los
lenguajes de programacin (software):
Nivel de abstraccin

Cdigo mquina Transistores

Ensamblador Netlists

Lenguajes de alto nivel HDL


Historia de los HDL
Diversos grupos de investigadores crean
lenguajes de descripcin de hardware
buscando solucin a los problemas de
diseo digital de sistemas complejos.
Ejemplos:
1. IDL por IBM
2. TI HDL por Texas Instruments
3. Zeus por General Electric
Historia de los HDL
VHDL (Very High Speed Integrated Circuit
Hardware Description Language).
Nace como proyecto del Departamento de
Defensa (DoD) de EEUU (ao 1982) 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 en 1987.
VHDL
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 Versin
7.2
Tras colaboraciones de industrias y universidades
en 1987 VHDL se convierte en Standard IEEE
1076-1987 y en 1988 standard ANSI
En 1993 fue revisado el Standard VHDL
La ltima revisin se realiz en 2002.
Verilog
Fue desarrollado por Gateway Design
Automation en 1984.
La compaa Gateway fue adquirida por
Cadence en 1989 y Verilog fue hecha
un estndar abierto en 1990 bajo el
control de Open Verilog International.
Verilog se convirti en un lenguaje
estndar de IEEE en 1995 y actualizado
en 2001.
Caractersticas
Los HDL son usados para modelar la arquitectura y
comportamiento de sistemas electrnicos discretos.
Se utilizan en la fase de diseo.
Necesitan de un simulador lgico que es una
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 compuertas lgicas (SNTESIS).
Caractersticas del diseo CAD
INGRESO DE DISEO
Concepcin y planteo de la idea
estructura general. Se realiza
manualmente y requiere del criterio,
experiencia e intuicin.
Existen dos mtodos para el ingreso
del diseo.
CAPTURA ESQUEMTICA
Un circuito lgico puede describirse
dibujando compuertas lgicas e
interconectndolas.
Se utilizan las herramientas grficas
de la computadora.
Se vuelve su uso muy complicado de
usar cuando trabajamos con circuitos
muy grandes.
CAPTURA ESQUEMTICA
Lenguajes HDL
Como se explic se apoyan ms en la funcionalidad
del sistema y no tanto en el aspecto fsico de la
circuitera.
El diseo se ingresa mediante la escritura de cdigo .
Las seales se representan como variables de cdigo
y las funciones se expresan mediante la asignacin de
valores a dichas variables.
En HDL puede hacerse un diseo jerrquico, en
donde circuitos pequeos sean incorporados como
partes de otros ms grandes.
La modularidad lograda en Verilog y VHDL hace que
la definicin de entradas y salidas sea transparente
para el usuario, en caso de usarlas como funciones
recursivas en un diseo ms grande.
Lenguajes HDL

Diseo de un sumador completo FULL ADDER con VHDL y Verilog.


VHDL
La biblioteca de
library IEEE; use IEEE.STD_LOGIC_1164.all; funciones y
equivalencias
entity sillyfunction is
port (a, b, c: in STD_LOGIC; Declaracin de
la entidad. lista
y: out STD_LOGIC);
de los nombres
end; de modulo y sus
entradas y
architecture synth of sillyfunction is salidas.
begin
y __ ((not a) and (not b) and (not c)) or El cuerpo de la
(a and (not b) and (not c)) or arquitectura
(a and (not b) and c); indica lo que el
end; mdulo hace
Verilog

module sillyfunction (input a, b, c, output y);


assign y = ~a & ~b & ~c |
a & ~b & ~c |
a & ~b & c;
endmodule
Un modulo Verilog comienza con el nombre del mdulo y un
listado de entradas y salidas.
La instruccin assign describe la lgica combinacional del
mdulo.
Sntesis
Es el proceso mediante el cual se
genera un circuito lgico a partir de
una especificacin de un diagrama
esquemtico o de cdigo HDL.
El proceso de compilacin en un
circuito de compuertas forma parte de
la sntesis.
Sntesis
Simulacin funcional
La herramienta utilizada se conoce como
simulador funcional.
Durante la simulacin las entradas son
aplicadas a un mdulo y se observa el
comportamiento de las salidas para
verificar que el mdulo funciona
correctamente.
La simulacin lgica es fundamental para
probar un sistema antes de construirlo.
Simulacin funcional
Diseo fsico
Las herramientas de
diseo fsico mapean
un circuito
especificado mediante
expresiones lgicas en
una forma fsica en la
que se usan los
recursos disponibles
en el chip.
Ventajas de HDL
Facilita las correcciones en el diseo debidas a
fallos
de diseo o cambio de especificaciones.
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 de HDL
El lenguaje soporta jerarqua de funciones.
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 de HDL
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 proprietary"
(especialmente en el caso del VHDL).
Desventajas de HDL
Supone un esfuerzo de aprendizaje, ya que
prcticamente
se puede considerar como nueva metodologa.
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
funcionalidad
de dicho diseo.
Composicin de un diseo VHDL
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];
Ejemplos de entidad
entity sumador_total is
port (a,b,c: in bit;
s,c: out bit);
end sumador_total;

entity Mux21 is
generic (t_delay:time:=5ns);
port (a, b: in bit;
canal : in bit:=0;
z: out bit);
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 tres
niveles de abstraccin:
1. Algortmico: descripciones al estilo de Sw de alto
nivel, que reflejan la funcionalidad de los mdulos .
2. Flujo de Datos: descripciones basadas en ecuaciones y
expresiones que reflejan el flujo de datos y las dependencias
entre datos y operaciones.
3. Estructural: se especifican componentes, conexiones
y puertos de E/S
DECLARACIN DE
ARQUITECTURA

architecture identificador of
identificador_entidad is
{declaraciones}
begin
{sentencias_concurrentes}
end [architecture] [identificador];
Ejemplos de arquitectura
architecture algoritmico of Mux21 is
begin
process (a,b, canal)
begin
if (canal=0) then
z<=a;
else
z<=b;
end if;
end process;
end algoritmico;

También podría gustarte