0% encontró este documento útil (0 votos)
235 vistas34 páginas

Lenguajes de Descripción de Hardware HDL

Este documento describe los lenguajes de descripción de hardware (HDL) como Verilog y VHDL. Los HDL permiten especificar el comportamiento lógico de un circuito digital de una manera más abstracta que mediante tablas de verdad o diagramas de compuertas. Los HDL se utilizan en el diseño de sistemas digitales complejos mediante herramientas CAD que sintetizan el diseño y permiten la simulación funcional.

Cargado por

Arturo72
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
235 vistas34 páginas

Lenguajes de Descripción de Hardware HDL

Este documento describe los lenguajes de descripción de hardware (HDL) como Verilog y VHDL. Los HDL permiten especificar el comportamiento lógico de un circuito digital de una manera más abstracta que mediante tablas de verdad o diagramas de compuertas. Los HDL se utilizan en el diseño de sistemas digitales complejos mediante herramientas CAD que sintetizan el diseño y permiten la simulación funcional.

Cargado por

Arturo72
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

LENGUAJES DE DESCRIPCIÓN

DE HARDWARE (HDL)

Ing. José Arturo Marín Thames


Introducción
 El proceso de búsqueda de un diseño
digital con compuertas lógicas que sea
eficiente, casi siempre termina en un
proceso manual de simplificación de
tablas de verdad o la conversión de
una máquina de estados finitos en un
esquema de compuertas lógicas.

2
Introducción

 Diseño combinacional utilizando herramientas de software


3
Desarrollo de HDL
 En los años 90 los diseñadores
electrónicos encontraron que era más
productivo si se trabajaba en un nivel
de abstracción superior, especificando
solo la función lógica y utilizando
herramientas CAD (Diseño Asistido
por Computadora) para producir el
diseño óptimo de compuertas.
4
Desarrollo de HDL

 Descripción Verilog de un FLIP FLOP


5
Desarrollo de HDL
 Se puede hacer una analogía con los
lenguajes de programación (software):
Nivel de abstracción

Código máquina Transistores

Ensamblador Netlists

Lenguajes de alto nivel HDL

6
Historia de los HDL
 Diversos grupos de investigadores crean
lenguajes de descripción de hardware
buscando solución a los problemas de
diseño digital de sistemas complejos.
 Ejemplos:
1. IDL por IBM
2. TI – HDL por Texas Instruments
3. Zeus por General Electric
7
Historia de los HDL
 VHDL (Very High Speed Integrated Circuit
Hardware Description Language).
 Nace como proyecto del Departamento de
Defensa (DoD) de EEUU (año 1982) para
disponer de una herramienta estándar,
independiente para la especificación
(modelado y/o descripción) y
documentación de los sistemas
electrónicos.
 El IEEE lo adopta y estandariza en 1987.
8
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 versión final del lenguaje bajo contrato
gubernamental se dio a conocer : VHDL Versión
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 revisión se realizó en 2002.

9
Verilog
 Fue desarrollado por Gateway Design
Automation en 1984.
 La compañía Gateway fue adquirida por
Cadence en 1989 y Verilog fue hecha
un estándar abierto en 1990 bajo el
control de Open Verilog International.
 Verilog se convirtió en un lenguaje
estándar de IEEE en 1995 y actualizado
en 2001.

10
Características
 Los HDL son usados para modelar la arquitectura y
comportamiento de sistemas electrónicos discretos.
 Se utilizan en la fase de diseño.
 Necesitan de un simulador lógico que es una
herramienta necesaria para reproducir el
comportamiento del sistema modelado.
 Permite la verificación del sistema diseñado.
 Actualmente existen herramientas software que
permiten pasar de dichas descripciones a diseños a
nivel de compuertas lógicas (SÍNTESIS).

11
Características del diseño CAD
Concepción del diseño

INGRESO DE DISEÑO

Captura esquemática VHDL o Verilog

Síntesis

Simulación funcional

NO
¿Diseño
correcto?

SI

Diseño físico

Simulación de
tiempo

NO ¿Requisitos de
tiempo satisfechos?

SI
12
Configuración de
chip
INGRESO DE DISEÑO
 Concepción y planteo de la idea
estructura general. Se realiza
manualmente y requiere del criterio,
experiencia e intuición.
 Existen dos métodos para el ingreso
del diseño.

13
CAPTURA ESQUEMÁTICA
 Un circuito lógico puede describirse
dibujando compuertas lógicas e
interconectándolas.
 Se utilizan las herramientas gráficas
de la computadora.
 Se vuelve su uso muy complicado de
usar cuando trabajamos con circuitos
muy grandes.
14
CAPTURA ESQUEMÁTICA
A B C

15
Lenguajes HDL
 Como se explicó se apoyan más en la funcionalidad
del sistema y no tanto en el aspecto físico de la
circuitería.
 El diseño se ingresa mediante la escritura de código .
 Las señales se representan como variables de código
y las funciones se expresan mediante la asignación de
valores a dichas variables.
 En HDL puede hacerse un diseño jerárquico, en
donde circuitos pequeños sean incorporados como
partes de otros más grandes.
 La modularidad lograda en Verilog y VHDL hace que
la definición de entradas y salidas sea transparente
para el usuario, en caso de usarlas como funciones
recursivas en un diseño más grande.
16
Lenguajes HDL

17
 Diseño 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; Declaración de
y: out STD_LOGIC); la entidad. lista
end; de los nombres
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; módulo hace

18
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 módulo y un
listado de entradas y salidas.
•La instrucción assign describe la lógica combinacional del
módulo. 19
Síntesis
 Es el proceso mediante el cual se
genera un circuito lógico a partir de
una especificación de un diagrama
esquemático o de código HDL.
 El proceso de compilación en un
circuito de compuertas forma parte de
la síntesis.

20
Síntesis

21
Simulación funcional
 La herramienta utilizada se conoce como
simulador funcional.
 Durante la simulación las entradas son
aplicadas a un módulo y se observa el
comportamiento de las salidas para
verificar que el módulo funciona
correctamente.
 La simulación lógica es fundamental para
probar un sistema antes de construirlo.
22
Simulación funcional

23
Diseño físico
 Las herramientas de
diseño físico mapean
un circuito
especificado mediante
expresiones lógicas en
una forma física en la
que se usan los
recursos disponibles
en el chip.
24
Ventajas de HDL
 Facilita las correcciones en el diseño debidas a
fallos de diseño o cambio de especificaciones.
 Si bien, el diseño final no suela estar tan optimizado
como si lo hubiera realizado un humano, la mayoría
de las veces es necesario sacrificar un mínimo en
las prestaciones, para poder llevar a cabo el
proyecto.
 Para ello se necesita la disponibilidad de dichas
herramientas, las librerías de síntesis del fabricante
y sus archivos de tecnología.

25
Ventajas de HDL
 El lenguaje soporta jerarquía 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 metodologías de
diseño diferentes: top-down, bottom-up, o
mixtas.
26
Ventajas de HDL
 Soporta modelos de tiempos síncronos y
asíncronos.
 Posibilidad de implementar distintas
técnicas de modelado digital (descripciones
de máquinas de estados finitos (FSM),
descripciones algorítmicas, redes de Petri y
ecuaciones Booleanas.
 El lenguaje es público y "not proprietary"
(especialmente en el caso del VHDL).

27
Desventajas de HDL
 Supone un esfuerzo de aprendizaje, ya que
prácticamente se puede considerar como nueva
metodología.
 Necesaria la adquisición de nuevas herramientas:
– Simuladores
– Sintetizadores de HDL, teniendo que mantener el
resto de las herramientas para otras fases del diseño.
 El uso de estos lenguajes hace que involuntariamente
se pierda un poco de control sobre el aspecto físico del
diseño, dándole una mayor importancia a la
funcionalidad de dicho diseño.

28
Composición de un diseño VHDL

29
DECLARACIÓN DE ENTIDAD
 La entidad modela la interfaz del circuito,
indicando sus terminales de entrada y
salida, parámetros de diseño, declaraciones
de tipos, constantes, etc.
entity <identificador> is
[generic (lista_de_genéricos);]
[port (lista_de_puertos);]
{declaraciones}
[begin sentencias]
end [entity] [identificador];
30
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;
31
DECLARACIÓN 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 según tres
niveles de abstracción:
1. Algorítmico: descripciones al estilo de Sw de alto
nivel, que reflejan la funcionalidad de los módulos .
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
32
DECLARACIÓN DE
ARQUITECTURA

architecture identificador of
identificador_entidad is
{declaraciones}
begin
{sentencias_concurrentes}
end [architecture] [identificador];

33
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;
34

También podría gustarte