Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Autnoma de Puebla
Facultad de Ciencias de la
Computacin
Diseo Digital
VHDL
Otoo 2016
Introduccin
El estado del arte de los Sistemas Digitales se
encuentra reflejado en los lugares menos
sospechados, as es posible encontrar este tipo
de sistemas en las actuales lavadoras de ropa, los
hornos de microondas, video juegos, equipos de
audio, esto para ejemplificar sus aplicaciones
domsticas, otro ms que ha invadido sin pedir
ningn permiso son los sistemas de
comunicacin, como los telfonos celulares.
2
Dispositivos Lgicos Programables
(PLD)
CONCEPTOSFUNDAMENTALES
La fabricacin de dispositivos de lgica programable se basa
en los siguientes dos conceptos:
1 FUNCIONALIDAD COMPLETA
La cual se fundamenta en el hecho de que cualquier funcin
lgica se puede realizar mediante una suma de productos.
3
Dispositivos Lgicos
Programables
En la actualidad el diseo de ASIC (Circuitos
integrados diseados para aplicaciones
especficas) domina las tendencias en el
desarrollo de aplicaciones a nivel de
microelectrnica. Sin embargo, su diseo ahora
es slo adecuado para aplicaciones que requieren
un alto volumen de produccin; por ejemplo,
sistemas de telefona celular computadoras, etc.
Los FPGA y CPLD ofrecen las mimas ventajas de
un ASIC, slo que a un menor costo y que ambos
circuitos son reprogramables.
4
Dispositivos Lgicos
Programables
Dispositivo Descripcin
PROM Programmable read-Only
Memory: memoria programable
de slo lectura.
PLA Programmable Logic Array:
arreglo lgico programable.
PAL Programmable Array Logic :
lgica de arreglos programables.
GAL Gneric Logic Array: Arreglo
lgico programable
CPLD Complex PLD: dispositivo lgico
programable complejo
FPGA Field Program Gate Array:
Arreglos de compuertas
programables en campo.
5
Dispositivos Lgicos Programables
PAL
Un dispositivo lgico programable, o PLD
(Programmable Logic Device), es un dispositivo cuyas
caractersticas pueden ser modificadas y almacenadas
mediante programacin. El dispositivo programable
ms simple es el PAL (Programmable Array Logic).
6
Dispositivos Lgicos Programables
PAL
7
PLDs
GAL
MATRIZ GENRICA PROGRAMABLE
Un GAL en su forma bsica es un PLD con una matriz AND
reprogramable, una matriz OR fija y una lgica de salida
programable mediante una macrocelda. Esta estructura
permite implementar cualquier funcin lgica en forma de
suma de productos con un numero de trminos definido.
En un GAL el fusible se reemplaza por una celda CMOS
elctricamente borrable (EECMOS) y mediante programacin
se activa o desactiva cada celda EECMOS. Una celda activada
conecta su correspondiente interseccin de fila y columna, y
una celda desactivada desconecta dicha interseccin. Con
esta estructura se puede aplicar cualquier combinacin de
variables de entrada, o sus complementos, a una compuerta
AND para generar cualquier operacin producto que se desee.
8
PLDs
GAL
A continuacin se muestran las estructuras
tpicas de un dispositivo GAL y la macrocelda de
salida del GAL22V10.
9
Ambiente de desarrollo de la lgica
programable
Una de las grandes ventajas al disear sistemas
digitales mediante dispositivos lgicos
programables radica en el bajo costo de los
recursos requeridos para el desarrollo de estas
aplicaciones.
10
Lgica Programable y lenguajes de
descripcin en hardware (HDL)
Una de las principales caractersticas de estos
lenguajes radica en su capacidad para describir
en distintos niveles de abstraccin:
Algortmico: Se refiere a la relacin funcional entre
las entradas y salidas del circuito o sistema, sin hacer
referencia a la realizacin final.
Transferencia de Registros: Consiste en la particin
del sistema en bloques funcionales sin considerar a
detalle la realizacin final del bloque.
Lgico o de compuertas: El circuito se expresa en
trminos de ecuaciones lgicas o de compuertas.
11
Qu es VHDL?
VHDL es un lenguaje de
programacin que fue diseado y
optimizado para describir el
comportamiento de sistemas
digitales.
Estandarizado por la IEEE (1076-93)
VHSIC Very High Speed Integrated Circuit
VHDL VHSIC Hardware Description
Language
Lenguaje de alto nivel
Diseo estructural
Sentencias de control y manipulacin de
datos
Permite describir eventos concurrentes
Permite describir el comportamiento de
componentes electrnicos desde simples
compuertas hasta microprocesadores y
otros CI complejos
Descripcin del comportamiento elctrico
propio (Flancos de subida y bajada de
seales, tiempos de propagacin en
compuertas, operaciones funcionales)
VHDL
Lenguaje de descripcin de hardware
Notacin Formal.
Disponibilidad pblica .
Independencia tecnolgica de
diseo.
Independencia de la tecnologa y
proceso de fabricacin.
Capacidad descriptiva en distintos
niveles de abstraccin.
Independencia de proveedores.
14
Otros lenguajes de descripcin
Hardware
ABEL
Verilog (Cadence)
AHDL (Altera Hardware Description
Language)
Handel-C (Celoxica)
System-C (Synopsys)
Unidades bsicas de diseo en
VHDL
La estructura general de un
programa en VHDL est formada por
mdulos o unidades de diseo, cada
uno compuesto por un conjunto de
declaraciones e instrucciones que
definen, describen, estructuran,
analizan y evalan el
comportamiento de un sistema
electrnico digital
16
Unidades bsicas de diseo en
VHDL
Existen cinco tipos de unidades de diseo en
VHDL:
Declaracin de entidad
Arquitectura
Configuracin
Declaracin del paquete
Cuerpo del paquete.
17
Unidades bsicas de diseo en
VHDL
Las declaraciones de entidad,
paquete y configuracin se
consideran unidades de diseo
primarias, mientras que la
arquitectura y el cuerpo del paquete
son unidades de diseo secundarias
porque dependen de una entidad
primaria que se debe analizar antes
de ellas.
18
Declaracin de entidades mediante
libreras y paquetes
Una parte importante en la
programacin con VHDL radica en el
uso de libreras y paquetes que
permiten declarar y almacenar
estructuras lgicas seleccionadas o
completas que faciliten el diseo.
library ieee;
19
Paquetes
El paquete std_logic_1164 (estndar lgico)
que se encuentra en la librera ieee contiene
todos los tipos de datos que suelen emplearse
en VHDL (std_logic_vector, std_logic, entre otros
)
use nombre_librera.nombre_paquete.all;
use ieee.std_logic_1164.all;
20
Entidad
Una entidad es el bloque elemental de diseo en VHDL.
Las entidades son todos los elementos electrnicos, que
forman de manera individual o en conjunto un sistema
digital.
La entidad se especifica por:
Un nombre nico
Puertos de entrada y salida (nombre, tipo y direccin)
A
B
Suma
Ci
C0
21
Puertos de entrada-salida
Cada una de las seales de entrada y
salida en una entidad son referidas
como puerto, el cual es similar a una
terminal (pin).
Todos los puertos que son
declarados deben tener un nombre,
un modo y un tipo de dato.
El nombre se utiliza como una forma
de llamar al puerto.
22
TIPOS DE DATOS
Data Type Values Example
Bit 1, 0 Q <= 1:
24
Declaracin de entidades
La declaracin de una entidad
consiste en la descripcin de las
entradas y salidas de un circuito de
diseo identificado como entity.
A SUMA
B Entidad
Sumador C0
Ci
25
Identificadores
Los identificadores son simplemente los nombres
o etiquetas que se usan para referir variables,
constantes, seales, procesos, etc.
a
Comparador c
b a=b entonces
c=1
Caso contrario
c=0
Ejemplo de Funcional
Ejemplo de Flujo de datos
Ejemplo de flujo de datos
Ejemplo
1
Ejemplo
2