DISPOSITIVOS LGICOS PROGRAMABLES
Un Dispositivo Lgico Programable (PLD) es
cualquier dispositivo lgico cuya funcin est
especificada por el usuario, despus de fabricado el
dispositivo. Se usan para reemplazar lgica SSI y
MSI, ahorrando as en costo y tiempo en el diseo.
Entre ellos, encontramos:
Arrays Lgicos Programables
Un Array Lgico Programable (PLA), es un circuito PLD
que puede programarse para ejecutar una funcin
compleja. Normalmente se utilizan para implementar
lgica combinacional, pero algunos PLA pueden usarse
para implementar diseos lgicos secuenciales. El PLA
es una solucin con un solo circuito integrado a
muchos problemas lgicos, que pueden tener muchas
entradas y muchas salidas.
Se trata de una solucin AND-OR de dos niveles
combinacional que puede programarse para realizar
cualquier expansin lgica de suma de productos,
sujeta a las limitaciones del producto. Estas
limitaciones son el nmero de entradas (n), el nmero
de salidas (m) y el nmero de trminos productos (p).
Se puede describir como un PLA n x m con p trminos
productos. Por tanto su utilidad est limitada a
funciones que puedan expresarse en forma de suma de
productos usando p o menos trminos productos
Otros dispositivos lgicos programables de inters son:
ROM, memoria de solo lectura
PROM, memoria de solo lectura programable
EPROM, memoria de solo lectura programable y
borrable
EEPROM, memoria de solo lectura programable y
borrable electrnicamente
RAM, memoria de acceso aleatorio
SRAM, memoria de acceso aleatorio esttica
DRAM, memoria de acceso aleatorio dinmica
PLA y PAL
El siguiente diagrama presenta la estructura de un PLA
(no real) de 2 entradas y 1 salidas que nos servir para
describir su funcionamiento. Un producto comercial
tpico puede tener hasta 20 entradas y 10 salidas. Se
observa la solucin AND-OR que puede implementar
cualquier expresin booleana en mintrminos. Solo la
Parte AND puede ser programada en este caso. Para
programarla, hay que quemar los fusibles que deben
quedar abiertos.
En la figura est tal y como lo proporciona el fabricante
Aqu se muestra el PLA anterior programado para
realizar una funcin booleana en mintrminos:
Y= AB + BA
Lenguajes VHDL
PROPIEDADES
BSICAS.
Permite modelar, y simular sistemas desde un alto
nivel de abstraccin hasta el nivel ms bajo (puertas,
biestables).
Bsicamente permite 3 niveles de descripcin:
Comportamental o algortmico
Flujo de datos o RTL
Estructural
Inicialmente desarrollado para modelado y simulacin
lgica de sistemas digitales. Actualmente se usa tambin
para sntesis.
Estructura: VHDL puede ser usado como un lenguaje
de Netlist normal y corriente donde se especifican
por un lado los componentes del sistema y por otro
sus interconexiones.
Comportamiento: VHDL tambin se puede utilizar
para la descripcin comportamental o funcional de
un circuito. Esto es lo que lo distingue de un lenguaje
de Netlist. Sin necesidad de conocer la estructura
interna de un circuito es posible describirlo
explicando su funcionalidad. Esto es especialmente
util en simulacin ya que permite simular un sistema
sin conocer su estructura interna, pero este tipo de
descripcin se esta volviendo cada da mas
importante porque las actuales herramientas de
sntesis permiten la creacin automtica de circuitos
a partir de una descripcin de su funcionamiento.
Elementos sintcticos del VHDL
El lenguaje VHDL tiene sus elementos sintcticos, sus tipos
de datos, y sus estructuras como cualquier otro tipo de
lenguaje. El hecho de que sirva para la descripcin
hardware lo hace un poco diferente de un lenguaje
convencional. Una de estas diferencias es probablemente la
posibilidad de ejecutar instrucciones a la vez de forma
concurrente. Algunos de estos elementos sintcticos son:
Comentarios: Cualquier linea que empieza por dos guiones
"--" es un comentario.
Identicadores: Son cualquier cosa que sirve para identicar
variables, seales, nombres de rutina, etc. Puede ser
cualquier nombre compuesto por letras incluyendo el
simbolo de subrayado "_". Las maysculas y minsculas son
consideradas iguales, as que JOSE y jose representan el
mismo elemento. No puede haber ningn identicador que
coincida con alguna de las palabras clave del VHDL.
Nmeros: Cualquier nmero se considera que se
encuentra en base 10. Se admite la notacin cientifica
convencional para nmeros en coma flotante. Es posible
poner nmeros en otras bases utilizando el smbolo del
sostenido "#". Ejemplo: 2#11000100# y 16#C4#
representan el entero 196.
Caracteres: Es cualquier letra o carcter entre comillas
simples: 'l','3','t'.
Cadenas: Son un conjunto de caracteres englobados por
comillas dobles: "Esto es una cadena".
Cadenas de bits: Los tipos bit y bit vector son en realidad
de tipo carcter y matriz de caracteres respectivamente.
En VHDL se tiene una forma elegante de definir nmeros
con estos tipos y es mediante la cadena de bits.
Dependiendo de la base en que se especifique el nmero
se puede poner un prefijo B (binario), O (octal), o X
(hexadecimal). Ejemplo: B"11101001", O"126", X"FE".
Operadores lgicos
Son NOT, AND, NAND, OR, NOR y XOR. El
funcionamiento es el habitual para este tipo de
operadores. Actuan sobre los tipos bit, bit vector y
boolean. En el caso de realizarse estas operaciones
sobre un vector, la operacin se realiza bit a bit,
incluyendo la operacin NOT.