Monografia CPLD

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

Dispositivo Lgico Programable

INTRODUCCION
La tecnologa electrnica ha tenido un gran avance en el ltimo centenario de
nuestra existencia, llegando a objetivos inimaginables para nuestros antepasados,
y continua su avance sin, al parecer, no tener techo alguno.
En esta monografa se explicara que son los PLD, como se originaron, como
usarlos, y sus aplicaciones. Ya que los PLD son de mucha importancia en la
fabricacin de proyectos. Podemos agregar compuertas lgicas a nuestro gusto y
para objetivos netamente nuestros, cometer errores y corregirlos por la cualidad
que son reprogramables.
Pero es necesario tener conocimientos de electrnica, algunas leyes que lo rigen,
mucha creatividad, y sobre todo saber que son las compuertas lgicas y su
funcionamiento.
El autor

Enriquez Quispe Franco Helio.

Pg. 3

Dispositivo Lgico Programable

ORIGEN
A mediados de los aos setenta se produce una fuerte evolucin en los procesos
de fabricacin de los circuitos integrados, y junto a las tecnologas bipolares, surge
la MOS (metal oxide semiconductor), principalmente la NMOS, promoviendo el
desarrollo de circuitos digitales hasta la primera mitad de los aos ochenta.
En aquellas pocas, el esfuerzo de diseo se concentraba en los niveles elctricos
para establecer caractersticas e interconexiones entre los componentes bsicos a
nivel de transistor. El proceso de diseo era altamente manual y tan solo se
empleaban herramientas como el PSPICE para simular esquemas elctricos con
modelos

previamente

personalizados

las

distintas

tecnologas.

A medida que pasaban los aos, los procesos tecnolgicos se hacan ms y ms


complejos. Los problemas de integracin iban en aumento y los diseos eran cada
vez ms difciles de depurar y de dar mantenimiento. Inicialmente los circuitos
integrados de MSI (Morrad Scale Integration) y LSI (Low Scale Integration) se
diseaban mediante la realizacin de prototipos basados en mdulos muy sencillos.
Cada uno de estos mdulos estaba formado por puertas lgicas ya probadas, este
mtodo poco a poco, iba quedndose obsoleto. En ese momento (finales de los
aos setenta) se constata el enorme desfase que existe entre tecnologa y diseo.
Alrededor de 1981 el Departamento de Defensa de los Estados Unidos desarrolla
un proyecto llamado VHSIC (Very High Speed Integrated Circuit) su objetivo era
rentabilizar las inversiones en hardware haciendo ms sencillo su mantenimiento.
Se pretenda con ello resolver el problema de modificar el hardware diseado en
un proyecto para utilizarlo en otro, lo que no era posible hasta entonces porque no
exista una herramienta adecuada que armonizase y normalizase dicha tarea, era
el momento de los HDLs.
Las escalas de integracin de los circuitos integrados aparecieron y se fueron
desarrollando en la siguiente secuencia de acuerdo a la densidad de integracin
que posean:
1. Aparecieron los circuitos SSI (Small Scale Integration). Estos son los
circuitos de baja escala de integracin, los cuales solo contienen un mximo
de 10 compuertas lgicas o 100 transistores y comprenden la poca de
investigacin de los IC's.
Enriquez Quispe Franco Helio.

Pg. 4

Dispositivo Lgico Programable

2. Aparecen los Circuitos MSI (Medium Scale Integration). Estos son los
circuitos de media escala de integracin, los cuales contienen entre 10 y
100 compuertas lgicas o de 100 a 1000 transistores utilizados ya ms
comercialmente.

3. Se introducen los Circuitos LSI (Large Scale Integration). Estos contienen


entre 100 y 1000 puertas lgicas o de 1000 a 10000 transistores los cuales
expandieron un poco el abanico de uso de los IC's.
4. Aparecen los Circuitos VLSI (Very Large Scale Integration). Los cuales
contienen ms de 1000 puertas lgicas o ms de 10000 transistores, los
cuales aparecen para consolidar la industria de los IC's y para desplazar
definitivamente la tecnologa de los componentes aislados y dan inicio a la
era de la miniaturizacin de los equipos apareciendo y haciendo cada vez
ms comn la manufactura y el uso de los equipos porttiles.

Enriquez Quispe Franco Helio.

Pg. 5

Dispositivo Lgico Programable

CAPITULO 1: PLD
PLD son las siglas de Programmable Logic Design (dispositivos de lgica
programable). Estos circuitos integrados permiten generar dentro del mismo
funciones que no disponemos en los C.I. comerciales (decodificadores,
comparadores, sumadores, etc). Podemos asimilarlo con un circuito en blanco
dentro del cual podemos generar funciones adecuadas al problema que debemos
resolver.
La evolucin nos indica que las primeras necesidades de almacenar informacin se
remontan a las primeras memorias ROM las cuales eran programadas mediante la
destruccin de una matriz de diodos para realizar el almacenaje de datos, an ms
las primeras memorias los datos de la misma deban ser grabados por el
fabricante de la memoria con el consecuente costo y la poca seguridad debido a
que alguien podra conocer mis datos. Debido a estos problemas surge la
necesidad de poder almacenar los datos por el usuario y surge as la PROM, siglas
de programable ROM o sea memoria de solo lectura programable. Pasando los
aos surgen las PAL (Progrmamble Array Logic) o Arreglo lgico programable que
consiste en una matriz de compuertas que se puede interconectar a gusto.
Finalmente surgen las GAL (Generic Array Logic) como la lgica de arreglo
genrico aprovechando las ventajas de las PAL y PROM y integrando dentro del
mismo C.I. la posibilidad de realizar lgica secuencial.

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

Generic Logic Array: arreglo lgico genrico

CPLD

Complex PLD: dispositivo lgico programable complejo

FPGA

Field Program Gate Array: arreglos de compuertas programable


Cuadro 1. Dispositivos programables lgicos

Enriquez Quispe Franco Helio.

Pg. 6

Dispositivo Lgico Programable

1.1 Uso De ROMs como PLDs


Antes de que se inventasen las PLDs, los chips ROM (memoria de solo
lectura) se utilizaban para crear funciones de lgica combinacional
arbitrarias con un nmero de entradas y de salidas, las cuales se podan
programar desde la fabrica, ya que estos chips no se podan
reprogramar, eran difciles de conseguir para nuestros propsitos.

Estos ROMs son bastante lentos comparados a los circuitos lgicos


dedicados, no eran seguras ante transiciones logicas asncronas,
consuman mayor potencia y varias desventajas han hecho que no sea
practico usar ROMs como dispositivo lgico.

1.2 Simplex Programmable Logic Design (SPLD)


Estos

dispositivos

fueron

los

primeros

chips

desarrollados

especficamente para implementar circuitos lgicos; son simples de


manejar y programar.

Los dispositivos PROM, PLA, PAL y GAL estn formados por arreglos o
matrices que pueden ser fijos o programables, mientras que los CPLD y
FPGA

se

encuentran

estructurados

mediante

bloques

lgicos

configurables y celdas lgicas de alta densidad, respectivamente.


La arquitectura bsica de un PLD est formada por un arreglo de
compuertas AND y OR conectadas a las entradas y salidas del
dispositivo. La finalidad de cada una de ellas se describe a continuacin.

Enriquez Quispe Franco Helio.

Pg. 7

Dispositivo Lgico Programable

a) Arreglo

AND. Esta

formado por varias compuertas AND,

interconectados a travs de alambres, los cuales estn con un fusible


en cada punto de interseccin (Fig. 1.a). la programacin en este
caso consiste en fundir o aparagar los fusibles como muestra la
siguiente figura (Fig. 1.b).

Figura 1: Arreglos AND: a) no programados b) programados

b) Arreglo OR de la misma forma que el anterior, solo que las


compuertas son las sumadoras u OR (Fig. 2).

Figura 2: arreglos OR: a) no programadas, b) programada

Enriquez Quispe Franco Helio.

Pg. 8

Dispositivo Lgico Programable

1.2.1 PROGRAMMABLE LOGIC ARRAY (PLA)


Surgi para superar a las limitaciones de PROM.
Estos dispositivos disponen de dos planos diferenciados: compuertas
AND y OR. En este caso, los PLA tienen ambos planos programables lo
que hace que su estructura sea ideal para implementar funciones lgicas
como sumas de productos. Pero como desventaja tienen una menor
velocidad y tamao mayor. Existen variantes de este tipo de estructura:
Solo plano AND o plano OR
Plano AND con reglamentacin
Plano AND y OR con reglamentacin
Con registros programables.

Figura 2: Arreglo lgico programable (PLA), formado por un arreglo AND y un arreglo OR,
ambos programables

El PAL se desarroll para superar algunas limitaciones del PLA,


como retardos provocados por la implementacin de fusibles
adicionales, que resultan de la utilizacin de dos arreglos
programables y de la complejidad del circuito (Fig. 3)

Figura 3: Arreglo lgico programable (PAL), formado por los arreglos AND programable y
OR fijo

Enriquez Quispe Franco Helio.

Pg. 9

Dispositivo Lgico Programable

1.2.2 GENERIC ARRAY LOGIC (GAL)


Matriz lgica programable, desarrollada por Lattice Semiconductor
en 1985.
Este dispositivo tiene las mismas propiedades lgicas que el PAL,
pero puede ser borrado y/o reprogramado. La GAL es muy til en
la fase de hacer prototipos, cuando un fallo en la lgica puede ser
corregido por reprogramacin. Las GALs se programan y
reprograman utilizando programador OPAL, o tambin utilizando la
tcnica de programacin circuital en chips secundarios.
Existe

dispositivos similares

poco difundidos como PEEL

(programable electrically erasable logic) lgica programable


elctricamente borrable. Muy similares, creado por CMOS

FUNCIONAMIENTO DE GAL

Una GAL permite implementar cualquier expresin en suma de


productos con un nmero de variables definidas. El proceso de
programacin consiste en activar o desactivar cada celda E2CMOS
(Ellectrically Erasable CMOS) con el objetivo de aplicar la
combinacin adecuada de variables a cada compuerta AND y
obtener

la

suma

de

productos.

Las celdas E2CMOS activadas conectan las variables deseadas o


sus complementos con las apropiadas entradas de las puertas
AND. Las celdas E2CMOS estn desactivadas cuando una variable
o su complemento no se utiliza en un determinado producto. La
salida final de la puerta OR es una suma de productos. Cada fila
est conectada a la entrada de una puerta AND, y cada columna a
una variable de entrada o a su complemento. Mediante la
programacin se activa o desactiva cada celda E2CMOS, y se
puede aplicar cualquier combinacin de variables de entrada, o sus
complementos, a una puerta AND para generar cualquier operacin
producto que se desee. Una celda activada conecta de forma
efectiva su correspondiente fila y columna, y una celda desactivada
desconecta la fila y la columna.
Enriquez Quispe Franco Helio.

Pg. 10

Dispositivo Lgico Programable

Las celdas se pueden borrar y reprogramar elctricamente. Una


celda E2CMOS tpica puede mantener el estado en que se ha
programado durante 20 aos o ms.

Figura 4: Diagrama de bloques del arreglo GAL

1.3

Dispositivos Lgicos Programables de Alto Nivel

Los PLD de alto nivel de integracin se crearon con el objeto de integrar


mayor cantidad de dispositivos en un circuito (sistema en un chip SOC). Se
caracterizan por la reduccin de espacio y costo, adems de ofrecer una
mejora sustancial en el diseo de sistemas complejos, dado que
incrementan la velocidad y las frecuencias de operacin. Adems, brindan
a los diseadores la oportunidad de enviar productos al mercado con ms
rapidez y les permiten realizar cambios en el diseo sin afectar la lgica,
agregando perifricos de entrada/salida sin consumir una gran cantidad de
tiempo, dado que los circuitos son reprogramables en el campo de trabajo.
Un gran ejemplo es CPLD (Complex Programmable Logic Desing).

Enriquez Quispe Franco Helio.

Pg. 11

Dispositivo Lgico Programable

CAPITULO

2:

DISPOSITIVOS

LOGICOS

PROGRAMABLES

COMPLEJOS (CPLD)
Un CPLD extiende el concepto de un PLD a un mayor nivel de integracin, ya que
permite implementar sistemas ms eficaces; esto porque utilizan menor espacio,
mejora la fiabilidad del diseo y reducen costos. Un CPLD se forma con mltiples
bloques lgicos, cada uno similar a un PLD; estos bloques se comunican entre s
utilizando una matriz programable de interconexiones. Lo cual hace ms eficiente
el uso del silicio, conduciendo a una mejor eficiencia a menor costo.
Tambin es conocido como EPLD (Enganced PLD, PLD Mejorado), sper PAL,
Mega PAL, etc. equivalen como a 50 PLD sencillos.
En su estructura bsica, contiene mltiples boques lgicos, conectados por medio
de seales canalizadas de la interconexin programable (PI). Esta unidad PI se
encarga de interconectar los bloques lgicos y los bloques de entrada/salida del
dispositivo sobre las redes apropiadas.

Figura 5: Arquitectura bsica de un CPLD

Enriquez Quispe Franco Helio.

Pg. 12

Dispositivo Lgico Programable

2.1 Bloques Lgicos


Un bloque lgico es similar a un PLD, cada uno pose un bloque de
compuertas AND y OR en forma de suma de productos, una
configuracin para la distribucin de estas sumas de productos, y macro
celdas. El tamao del bloque lgico es una medida de la capacidad del
CPLD, ya que de esto depende el tamao de la funcin booleana que
pueda ser implementada dentro del bloque. Los bloques lgicos
usualmente tienen de 4 a 20 macroceldas.

Figura 6: Estructura de un Bloque lgico en dispositivos

de las familias MAX340 y MAX5000

2.2 Macroceldas
Las macroceldas de un CPLD son similares a las de un PLD. Estas
tambin estn provistas con registros, control de polaridad, y buffers
para salidas en alta impedancia. Por lo general un CPLD tiene
macroceldas de entrada/salida, macroceldas de entrada y macroceldas
internas u ocultas (buried macrocells), en tanto que un 22V10 tiene
solamente macroceldas de entrada/salida. Una macrocelda interna es
similar a una macrocelda de entrada/salida, slo que esta no puede ser
conectada directamente a un pin de salida. La salida de una macrocelda
interna va directamente a la matriz de interconexin programable.

Enriquez Quispe Franco Helio.

Pg. 13

Dispositivo Lgico Programable

a) Arreglos de productos de trminos. Es la parte del CPLD que


identifica el porcentaje de trminos implementados por cada
macrocelda y el nmero mximo de productos de trminos por
bloque lgico. Esto es similar al arreglo de compuertas AND
programable de un dispositivo GAL22V10.

b) Esquema de distribucin de trminos. Es el mecanismo utilizado


para distribuir los productos de trminos a las macroceldas; esto se
realiza mediante el arreglo programable de compuertas OR de un
PLD. Los diferentes fabricantes de CPLD implementan la
distribucin de productos de trminos con diferentes esquemas.
Mientras algunos como la GAL22V10 usan un esquema de
distribucin variable (los cuales pueden variar en 8,10,12,14 o 16
productos por macrocelda), los CPLD como la familia MAX de
Altera Corporation y Cypress Semiconductor, distribuyen cuatro
productos de trminos por macrocelda, adems de utilizar
"productos de trminos expandidos", que se asignan a una o varias
macroceldas.

c) Macroceldas. Una macrocelda de un CPLD est configurada


internamente por flip-flops y un control de polaridad que habilita
cada afirmacin o negacin de una expresin. Los CPLD suelen
tener macroceldas de entrada/salida, de entrada y ocultas,
mientras que los PLD slo tienen macroceldas de entrada/salida.
En la figura 7, observamos la arquitectura interna de un CPLD de la
familia FLASH 370 de Cypress Semiconductor, apreciamos las
macroceldas de entradas y salidas, macroceldas ocultas y celdas de
entrada/salida con las que cuenta el dispositivo

Enriquez Quispe Franco Helio.

Pg. 14

Dispositivo Lgico Programable

Figura 7: macroceldas de entrada/salida, macroceldas ocultas y celdas de


entrada/salida en dispositivos de la familia FLASH370

2.3 Celda de Entrada/Salida


La funcin de una celda de entrada/salida es permitir el paso de una
seal hacia dentro o hacia el exterior del dispositivo. Dependiendo del
fabricante y de la arquitectura del CPLD estas celdas pueden o no ser
consideradas parte del bloque lgico.

2.4 CPLD MAX 7000


Su Arquitectura de un CPLD es la forma en que estn organizados y a
la disposicin a los elementos internos del dispositivo. Son similares al
diagrama de bloque de un CPLD genrico, Teniendo la estructura clsica
PAL/GAL que nos permite generar las funciones suma de producto. Su
densidad vara entre dos bloques LAB y 16 bloques LAB, dependiendo
del dispositivo concreto de la serie que se vaya a utilizar.
Un bloque LAB es similar a un SPLD y que el tamao de los
encapsulados varan entre 44 y 208 pines, cabe mencionar que utilizan
una tecnologa de proceso basada en EEPROM. Las versiones que se
pueden programar dentro del sistema para ello se utilizan la interfaz
estndar JTAG.

Enriquez Quispe Franco Helio.

Pg. 15

Dispositivo Lgico Programable

2.5 Fabricantes:
ALTERA
Ha desarrollado tres familias de la categora CPLD. MAX5000, MAX7000
y MAX9000. El MAX5000 representa la tecnologa ms antigua que
ofrecen soluciones de costo efectivo; el MAX7000 ofrece altas
capacidades lgicas y mayor desempeo en velocidad; el MAX9000 es
similar al MAX7000, excepto que el MAX9000 ofrece una mayor
capacidad lgica. El MAX7000 contiene bloques de matrix lgicos LAB,
matrix de interconexin programable PIA, esta serie fueron desarrollados
en tecnologa EPROM y EEPROM, la desventaja de esta serie es que se
debe programar fuera del circuito de desarrollo; desde 1996 Altera,
desarrollo el modelo MAX7000S, capaz de programarse en lnea, es decir
en el mismo circuito. Altera FlashLogic CPLDs, anteriormente conocido
como Intel`s FlEXlogic, caracterizado por programarse dentro del sistema
y provee bloques SRAM en el dispositivo. La configuracin de
compuertas AND-OR, son por celdas SRAM, respaldadas por celdas
EPROM o EEPROM. Al realizar un suministro de potencia las celdas
SRAM son cargadas con un copia de la memoria EEPROM o EPROM,
pero es la celda SRAM la que controla la configuracin del dispositivo.

Enriquez Quispe Franco Helio.

Pg. 16

Dispositivo Lgico Programable

ATMEL
Ofrece el modelo ATF1500A, alto desempeo y alta densidad de
compuertas, construido con tecnologa FLASH, con un retardo de 7.5 ns
de pin a pin.

AMD
Ofrece una familia de CPLD con 5 sub-familias llamadas Mach 1 a Mach
5. Cada dispositivo Macth, contiene bloques con mltiplos PAL; Match 1
Y 2 consiste en el modelo 22V16PALs, Match 3 y 4 consiste en el modelo
34V16PALs y el Match 5 ofrece modelos parecidos a los anteriores pero
con mayor desempeo en velocidad. Todos los Match estn basados en
tecnologa EEPROM. El rango de capacidad lgica est cercas de 2000
a 5000 compuertas.

CYPRESS SEMICONDUCTOR
Son similares a los dispositivos AMD y Lattice en muchas maneras; el
Cypress CPLD, llamado FLASH370, esta basado en tecnologa FLASH
EEPROM, y ofrece un desempeo en el retardo de velocidad de 8.5 a 15
ns de pin a pin, la desventaja es que no es programable en el sistema.

Enriquez Quispe Franco Helio.

Pg. 17

Dispositivo Lgico Programable

LATTICE SEMICONDUCTOR
Lattice ofrece un completo rango de CPLD; con dos lneas de productos
principales: Lattice pLSI que consiste en tres familias de EEPROM de
CPLD; y el ispLSI que son los mimos dispositivos pLSI, con la diferencia
de los ispLSI son programables en el sistema. Los rangos de
capacidades lgicas estn cercas de 1200 a 4000 compuertas y el
retardo de pin a pin es de 10 ns. El Lattice de la serie 3000 representa su
desarrollo mas grande con 5000 compuertas y un retardo de 10 a 15 ns.

XILINX
Ofrecen el modelo XC7000 y el XC9500; hay dos familias principales en
el XC7000: la serie 7200 y 7300, el 7200 es un dispositivo
moderadamente pequeo con 600 a 1500 compuertas; y con un retardo
de pin a pin de 25 ns. El 7300 ofrece 3000 compuertas y lo otro que
diferencia al 7200 es que el 7300 incluye dos compuertas OR en cada
macroceldas. Finalmente el XC9500 ofrece la programacin dentro del
circuito, con una capacidad de 6200 compuertas y un retardo de 5 ns.

Enriquez Quispe Franco Helio.

Pg. 18

Dispositivo Lgico Programable

CAPITULO 3: Programacin de CPLDs


3.1 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. De manera general, el
soporte bsico se encuentra formado por una computadora personal, un
grabador de dispositivos lgicos programables y el software de aplicacin
que soporta diferentes familias de circuitos integrados.
En la actualidad, diversos programas CAD (diseo asistido por computadora)
se encuentran disponibles para programacin de dispositivos lgicos.
Varios dispositivos de programacin PALs admiten la entrada mediante un
formato estndar de archivo, denominados comnmente como archivos
JEDEC, son anlogos a los compiladores software. Los lenguajes utilizados
como cdigo fuente para compiladores lgicos se denominan lenguajes de
descripcin de hardware (HDL)
PALASM Y ABEL se utilizan frecuentemente para dispositivos de baja
complejidad, mientras que Verilog y VHDL son lenguajes de descripcin de
hardware de alto nivel muy populares para dispositivos ms complejos.
ABEL es el ms limitado, su usa normalmente por razones histrica, en
cambio el VHDL es ms popular, incluso para diseos de baja complejidad.

Enriquez Quispe Franco Helio.

Pg. 19

Dispositivo Lgico Programable

Compilador Lgico

Caractersticas

PALASM (PAL

Creado por la compaa Advanced Micro Devices (AMD)

Assembler:

Desarrollado nicamente para aplicaciones con dispositivos

ensamblador

PAL

de PAL)

Acepta el formato de ecuaciones booleanas


Utiliza cualquier editor que grabe en formato ASCII

OPAL (Optimal PAL

Desarrollado por National Semiconductors

language: lenguaje

Se aplica en dispositivos PAL y GAL

de optimizacin para

Formato para usar lenguaje de mquinas de estado,

arreglos

ecuaciones booleanas de distintos niveles, tablas de verdad,

programables)

o cualquier combinacin entre ellas.


Disponible en versin estudiantil y profesional (OPAL Jr y
OPAL Pro)
Genera ecuaciones de diseo partiendo de una tabla de
verdad

PLPL (Programable

Creado por AMD

Logic Programming

Introduce el concepto de jerarquas en sus diseos

Language: lenguaje

Formatos mltiples (ecuaciones booleanas, tablas de verdad,

de programacin de

diagramas de estado y las combinaciones entre stos)

lgica programable)

Aplicaciones en dispositivos PAL y GAL

ABEL (Advanced

Creado por Data I/O Corporation

Boolean Expression

Programa cualquier tipo de PLD (Versin 5.0)

Language: lenguaje

Proporciona tres diferentes formatos de entrada: ecuaciones

avanzado de

booleanas, tablas de verdad y diagramas de estados.

expresiones

Es catalogado como un lenguaje avanzado HDL (lenguaje de

booleanas)

descripcin en hardware)

CUPL (Compiler

Creado por AMD para desarrollo de diseos complejos

Universal

Presenta una total independencia del dispositivo

Programmable

Programa cualquier tipo de PLD

Logic: compilador

Facilita la generacin de descripciones lgicas de alto nivel

universal de lgica

Al igual que ABEL, tambin es catalogado como HDL

programable)

En la tabla anterior, son programas cononocidos tambin como compiladores


lgicos, todos tienen una funcin en comn: procesar y sintetizar el diseo lgico
que se va a introducir en un PLD mediante un mtodo especifico.
Enriquez Quispe Franco Helio.

Pg. 20

Dispositivo Lgico Programable

3.2 Historia
Verilog fue inventado por Phil Moorby en 1985 mientras trabajaba en
Automated Integrated Design Systems, ms tarde renombrada Gateway
Design Automation. El objetivo de Verilog era ser un lenguaje de modelado
de hardware. Gateway Design Automation fue comprada por Cadence
Design Systems en 1990. Cadence ahora tiene todos los derechos sobre los
simuladores lgicos de Verilog y Verilog-XL hechos por Gateway.
Con el incremento en el xito de VHDL, Cadence decidi hacer el lenguaje
abierto y disponible para estandarizacin. Cadence transfiri Verilog al
dominio pblico a travs de Open Verilog International, actualmente
conocida como Accellera. Verilog fue despus enviado a la IEEE que lo
convirti en el estndar IEEE 1364-1995, habitualmente referido como
Verilog 95. Extensiones a Verilog 95 fueron enviadas a la IEEE para cubrir
las deficiencias que los usuarios haban encontrado en el estndar original
de Verilog. Estas extensiones se volvieron el estndar IEEE 1364-2001
conocido como Verilog 2001.
El advenimiento de los lenguajes de verificacin de alto nivel como
OpenVera y el lenguaje E de Verisity, impulsaron el desarrollo de Superlog,
por Co-Design Automation Inc. Co-Design fue ms tarde comprada por
Synopsis. Las bases de Superlog y Vera han sido donadas a Accellera. Todo
ello ha sido transformado y actualizado en forma de SystemVerilog, que
probablemente se convierta en el prximo estndar de la IEEE. Las ltimas
versiones del lenguaje incluyen soporte para modelado analgico y de seal
mixta. Todos estos estn descritos en Verilog-AMS.

Enriquez Quispe Franco Helio.

Pg. 21

Dispositivo Lgico Programable

3.3 Verilog HDL


Verilog es un lenguaje de descripcin de hardware (HDL, Hardware
Description Language) usado para modelar sistemas electrnicos. Este
lenguaje soporta el diseo, prueba e implementacin de circuitos analgicos,
digitales y de seal mixta a diferentes niveles de abstraccin.
Los diseadores de Verilog queran un lenguaje similar al de programacin
C, de tal forma que resultara fcil a los ingenieros y fuera aceptada
rpidamente. Pues son muy similares en cuanto a comandos.
Una diferencia con el lenguaje C, es la utilizacin de Begin/End en lugar de
llaves para definir un bloque de cdigo. Por otro lado la definicin de
constantes en Verilog requiere la longitud de bits con su base. Verilog no
tiene estructuras, apuntadores o funciones recursivas. Y mas importante, el
concepto de tiempo no se encuentra en C.
El lenguaje difiere de los lenguajes de programacin convencionales, en que
la ejecucin de las sentencias no es estrictamente lineal. Un diseo en
Verilog consiste de una jerarqua de mdulos. Los mdulos son definidos
con conjuntos de puertos de entrada, salida y bidireccionales. Internamente
un mdulo contiene una lista de cables y registros. Las sentencias
concurrentes y secuenciales definen el comportamiento del mdulo,
describiendo las relaciones entre los puertos, cables y registros.
Las sentencias secuenciales son colocadas dentro de un bloque begin/end
y ejecutado en orden secuencial, pero todas las sentencias concurrentes y
todos los bloques begin/end son ejecutados en paralelo en el diseo. Un
mdulo puede contener una o ms instancias de otro mdulo para definir un
sub-comportamiento.

Enriquez Quispe Franco Helio.

Pg. 22

Dispositivo Lgico Programable

3.3.1 Estructura
Se

expondrn

las

formas

de

descripcin

para

sistemas

combinacionales y secuenciales en la siguiente figura.

3.3.2 Ventajas del desarrollo con VHDL


Notacin formal. Los circuitos integras VHDL cuentan con una
notacin que permite su uso en cualquier diseo electrnico.
Diponibilidad pblica. VHDL es un estndar no sometido a patente,
por lo que cualquiera lo puede usar
Independencia tecnolgica de diseo. VHDL se dise para soportar
diversas tecnologas de diseo (PLD, FPGA, ASIC, etc.)
Reutilizacin del cdigo. El uso de VHDL como lenguaje estndar
permite reutilizar los cdigos en diversos diseos, sin importar que
hayan sido generados para una tecnologa (CMOS, bipolar, etc.) e
implementacin (FPGA, ASIC, etc.) en particular.

Enriquez Quispe Franco Helio.

Pg. 23

Dispositivo Lgico Programable

3.3.3 Desventajas del desarrollo con VHDL


En algunas ocasiones, el uso de una herramienta provista por alguna
compaa en especial tiene caractersticas adicionales al lenguaje,
con lo que se pierde un poco la libertad de diseo. Como mtodo
alternativo, se pretende que entre diseadores que utilizan distintas
herramientas exista una compatibilidad en sus diseos, sin que esto
requiera un esfuerzo importante en la traduccin del cdigo.
Debido a que VHDL es un lenguaje diseado por un comit, presenta
una alta complejidad, ya que se debe dar gusto a las diversas
opiniones de los miembros de ste, por lo que resulta un lenguaje
difcil de aprender para un novato.

3.4 Campos de Aplicacin de la lgica programable.


La lgica programable es una herramienta de diseo muy poderosa, que se
aplica en el mundo industrial y en proyectos universitarios en todo el mundo.
En la actualidad se usan desde los PLD ms sencillos (como el GAL, PAL,
PLA) como reemplazos de circuitos LSI y MSI, hasta los potentes CPLD y
FPGA, que tienen aplicaciones en reas como telecomunicaciones,
computacin,

redes,

medicina,

procesamiento

digital

de

seales,

multiprocesamiento de datos, microondas, sistemas digitales, telefona


celular, filtros digitales programables, entre otros.
En general, los CPLD son recomendables en aplicaciones donde se
requieren muchos ciclos de sumas de productos, ya que pueden introducirse
en el dispositivo para ejecutarse al mismo tiempo, lo que conduce a pocos
retrasos. En la actualidad, los CPLD son muy utilizados a nivel industrial, ya
que resulta fcil convertir diseos compuestos por mltiples PLD sencillos
en un circuito CPLD.
Por otro lado, los FPGA son recomendables en aplicaciones secuencia- Ies
que no suponen grandes cantidades de trminos producto. Por ejemplo, los
FPGA desarrollados por la compaa ATMEL ofrecen alta velocidad en
cmputo intensivo, aplicaciones en procesadores digitales de seales (DSP)
y en otras fases del diseo lgico, debido a la gran cantidad de registros con

Enriquez Quispe Franco Helio.

Pg. 24

Dispositivo Lgico Programable

los que cuentan sus dispositivos (de 1024 a 6400). Esto los hace ideales
para su uso en dichas reas.

Enriquez Quispe Franco Helio.

Pg. 25

Dispositivo Lgico Programable

Bibliografia:
o VHDL El arte de programar sistemas digitales, autor: David G.
Maxinez, Jessica Alcal
o Diseo digital utilizando lgica programable, autor: Juan Pablo Oliver
o Dispositivos Logicos Programables, autor: Francisco Javier Torres
Valle

Anexos online:

http://electronicaintegrada.blogspot.com/2008/02/cpld-verilog.html

http://dea.unsj.edu.ar/sisdig2/CPLDs.pdf

http://es.wikipedia.org/wiki/CPLD

http://es.wikipedia.org/wiki/L%C3%B3gica_programada#Lenguaje
s_de_programaci.C3.B3n_de_PLDs

http://es.wikipedia.org/wiki/Lenguaje_de_descripci%C3%B3n_de
_hardware

http://solano.orgfree.com/CURSO_PLD/ProgramaciondePLDs.pdf

Enriquez Quispe Franco Helio.

Pg. 26

También podría gustarte