UNIVERSIDAD DE CARABOBO
FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA
DEPARTAMENTO DE COMPUTACIÓN
DISEÑO Y ORGANIZACIÓN DEL COMPUTADOR
Dispositivos Programables
Dispositivos Lógicos Programables (PLD)
Un dispositivo lógico programable o PLD (Programmable Logic Device), se
fundamenta básicamente en el hecho de que cualquier función booleana puede ser
expresada como una suma de productos por lo cual cuyas características pueden ser
modificadas y almacenadas mediante programación. Por ello el dispositivo PAL
(Programmable Array Logic) es el de programación más simple debido a que consiste en
un arreglo, o matriz, de compuertas AND y un arreglo de compuertas OR, por
consiguiente, el arreglo AND es programable mientras que el OR generalmente es fijo.
Mediante una matriz de conexiones (que no es más que unos conductores distribuidos
en filas y columnas con un fusible en cada punto de intersección) se seleccionan cuales
entradas serán conectadas al arreglo AND, cuyas salidas son conectadas al arreglo OR
y de esta manera obtener una función lógica en forma de suma de productos.
En su mayoría, los PLDs están formados por una matriz de conexiones, una matriz
de compuertas AND, y una matriz de compuertas OR y algunos, además, con registros;
a su vez, el tipo más sencillo de matriz programable, que data de los años 60, era una
matriz de diodos con un fusible en cada punto de intersección de la misma. Por lo tanto,
a través de esos recursos se implementan las funciones lógicas deseadas mediante un
software especial y un programador, resaltando que las matrices pueden ser fijas o
programables.
Arreglos de compuertas programables en el campo (FPGA)
Ahora bien, los Arreglos de compuertas programables en el campo (FPGA) son
circuitos integrados los cuales están basados en una matriz de bloques lógicos
independientes entre si, interconectados mediante conexiones programables para formar
circuitos mayores. Estos son diseñados para ser configurados por el usuario y/o
diseñados luego de ser fabricados. Estos bloques lógicos pueden ser configurados para
realizar operaciones combinacionales complejas o simples, estos bloques.
Usos de los PLD y FPGA
Gracias a su naturaleza reprogramable, los FPGA y PLD son utilizados en
distintos rubros tales como:
• Audio
• Automóviles
• Transmisión de datos
• Electrodomésticos
• Centros de datos
• Medicina
• Seguridad
• Procesado de Imágenes y Video
Memoria ROM
Por otro lado, se tiene que, la memoria ROM o memoria de solo lectura (o por sus
siglas en inglés, Read-Only Memory) es un medio de almacenamiento no-volátil usado
en dispositivos electrónicos. Con esto se refiere a la memoria que esta previamente
configurada o programada, tal como una matriz de diodos. A pesar de que estas
memorias pueden ser modificadas, es muy difícil hacerlo y son inútiles si sus datos son
corruptos. El termino memoria de solo lectura, se refiere a la memoria que en su modo
operacional por defecto es de lectura, a pesar de que exista alguna manera de
modificarla.
También existen otros tipos de memoria no-volátil tales como la ROM Programable
(EPROM) y la ROM programables y borrada eléctricamente (EEPROM), las cuales
pueden ser borradas y reprogramadas más de una vez, almacenar datos en estos tipos
de memoria puede llevar mucho tiempo.
Aplicación de PLD y FPGA al diseño de Memoria ROM
Las Memorias de solo-lectura (ROM) o Memorias de solo-lectura programables
(PROM) tienen una matriz de conexiones AND fijas y una matriz de conexiones OR las
cuales son programables por el diseñador. Implementan sus funciones a través de una
suma de min-términos, similar a los PLD y FPGA a diferencia de que estas memorias
de solo-lectura son no-volátiles lo cual permite que su información este almacenada sin
necesidad de una fuente de energía constante.
Las memorias ROM son muy comúnmente utilizadas para almacenar funciones
de arranque (encendido) de dispositivos electrónicos, ya que esto estas funciones
están muy atadas al hardware del que se disponga.
Ventajas y Desventajas del uso de PLD y FPGA
Como es natural, el usar PLD's para diferentes proyectos proporciona varias
ventajas sobre la forma tradicional (con circuitos MSI), siendo la más importante el que
una PLD puede llegar a sustituir 10 o más circuitos TTL con lo que hace que un diseño
sea más sencillo de crear, ya sea por una mayor facilidad de "rutado", o por ser más
pequeño.
Otra de las ventajas principales es el abaratamiento de los costes, ya que es más
económico el usar un PLD (aunque sólo sea una parte ínfima de él) que su circuito lógico
TTL equivalente, ya que el coste de éstos últimos los soporta el usuario final en su
totalidad.
Pero quizás la superioridad de usar PLD's se basa en su flexibilidad, ya que puede
evitar cambios en el circuito impreso o la placa donde irán colocados los componentes
tratando de cambiar las conexiones internas del dispositivo, o bien la disposición de los
pines.
Con los FPGA se logre llegar a un punto intermedio entre los PLD y circuitos
combinacionales. Aunque constan de una estructura completamente fija, estos son
totalmente moldeables para adaptarse al problema mediante la programación de sus
células independientes. La programación de los FPGA se hace en muy corto tiempo, por
lo cual es recomendable para prototipos.
Una desventaja de los FPGA frente a los PLDs y Circuitos combinacionales, es
su menor velocidad y optimización, ya que suelen quedar recursos del chip sin utilizar.
Referencias bibliográficas
https://www.youtube.com/watch?v=twNTY4DmhEs
http://es.wikipedia.org/wiki/L%C3%B3gica_programada
http://www.bioingenieria.edu.ar/academica/catedras/electronica_digital/arch
ivos/teorias/plds.pdf
http://www.ecured.cu/index.php/Dispositivos_l%C3%B3gicos_programables#Ve
ntajas_de_los_PLD
http://es.wikipedia.org/wiki/Tecnolog%C3%ADa_TTL
http://wwwprogramacion1.blogspot.com/2009/09/caracteristicas-de-los-
lenguajes-vhdl.html
http://www.xilinx.com/training/fpga/fpga-field-programmable-gate-array.htm
http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html
http://dsid.escom.ipn.mx/julio/cursos/presen/elec_dig/Int_PLDs.pdf
http://www.uv.es/rosado/courses/dcse/prac1XilinxISEintrod.pdf
http://faculty.kfupm.edu.sa/COE/abouh/Lesson6_1.pdf
http://angom.myweb.cs.uwindsor.ca/teaching/cs265/lec8.pdf
http://en.wikipedia.org/wiki/Programmable_logic_device