0% encontró este documento útil (0 votos)
774 vistas24 páginas

Dispositivos Lógicos Programables: Guía Completa

El documento describe diferentes tipos de dispositivos lógicos programables (PLD), incluyendo PROM, PLA, PAL, GAL, CPLD y FPGA. Los PLD se usan comúnmente para reemplazar circuitos SSI, MSI y VLSI debido a que ahorran espacio y reducen costos. Los CPLD y FPGA ofrecen mayores ventajas que los ASIC a menor costo y son reprogramables.

Cargado por

preguntonmil
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
774 vistas24 páginas

Dispositivos Lógicos Programables: Guía Completa

El documento describe diferentes tipos de dispositivos lógicos programables (PLD), incluyendo PROM, PLA, PAL, GAL, CPLD y FPGA. Los PLD se usan comúnmente para reemplazar circuitos SSI, MSI y VLSI debido a que ahorran espacio y reducen costos. Los CPLD y FPGA ofrecen mayores ventajas que los ASIC a menor costo y son reprogramables.

Cargado por

preguntonmil
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

NDICE Pg. Introduccin.. Estructura Interna de un PLD... Estructura de los dispositivos lgicos programables..

Arreglo Lgico Genrico Programacin de un Arreglo GAL.. Arquitectura de un Dispositivo GAL. Dispositivos Lgicos Programables de Alto Nivel de Integracin.. Arreglo de Compuertas Programables en Campo.. Bibliografa. 2 4 6 9 10 11 13 18 24

Introduccin Los Dispositivos Lgicos Programables (PLDs por sus siglas en ingls) favorecen la integracin de aplicaciones y desarrollos lgicos mediante el empaquetamiento de soluciones en un circuito integrado. El resultado es la reduccin de espacio Fsico dentro de la aplicacin; es decir, se trata de dispositivos fabricados y revisados que se pueden personalizar desde el exterior mediante diversas tcnicas de programacin. El diseo se basa en bibliotecas y mecanismos especficos de mapeado de funciones, mientras que su implementacin tan solo requiere una fase de programacin del dispositivo que el diseador suele realizar en unos segundos. En la actualidad el diseo de ASICs domina el desarrollo de aplicaciones lgicas a nivel de microelectrnica. Estos presentan varias opciones de desarrollo de entre las cuales las opciones full y semi custom ofrecen grandes ventajas en sistemas que emplean circuitos diseados para una aplicacin en particular. Sin embargo, su diseo ahora solo es adecuado en aplicaciones que requieren un alto volumen de produccin; por ejemplo, sistemas de telefona celular, computadoras porttiles, cmaras de video, etc. Los FPGA (arreglo de compuertas programables en campo) y CPLD (Dispositivos lgicos programables complejos) ofrecen las mismas ventajas que un ASIC, solo que a un menor costo; es decir, el costo por desarrollar un ASIC es mucho ms alto que el que precisara un FPGA o un CPLD, con la ventaja de que ambos son circuitos reprogramables, en los cuales es posible modificar o borrar una funcin programada sin alterar el funcionamiento del circuito. En la actualidad existe una gran variedad de dispositivos lgicos programables, los cuales se usan para remplazar circuitos SSI, MSI e incluso circuitos VLSI, ya que ahorran espacio y reducen de manera significativa el nmero y el costo de los diseos. Estos diseos, llamados PLD, se clasifican por su arquitectura.
1

Dispositivo PROM PLA PAL GAL CPLD FPGA

Descripcin Programmable Read-Only Memory: Memoria programable de solo lectura Programmable Logic Array: Arreglo lgico programable Programmable Array Logic: Lgica de arreglos programables Generic Logic Array: Arreglo lgico genrico Complex PLD: Dispositivo lgico programable complejo Field Program Gate Array: Arreglos de compuertas programables en campo

Estructura Interna de un PLD 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: Arreglo AND: Est compuesto por varias compuertas AND interconectadas a travs de alambres, los cuales cuentan con un fusible en cada punto de interseccin. En esencia, la programacin del arreglo consiste en fundir o apagar los fusibles para eliminar las variables que no sern utilizadas. Obsrvese como en cada entrada a las compuertas AND queda intacto el fusible que conecta la variable seleccionada con la entrada a la compuerta. En este caso, una vez que los fusibles se funden no pueden volver a programarse.

No Programado

Programado

Arreglo OR: Est formado por un conjunto de compuertas OR conectadas a un arreglo programable, el cual contiene un fusible en cada punto de interseccin. Este tipo de arreglo es similar al de compuertas AND explicado en el punto anterior, ya que de igual manera se programa fundiendo los
3

fusibles para eliminar las variables no utilizadas. En la figura se observa el arreglo OR programado y sin programar.

No Programado

Programado

Estructura de los dispositivos lgicos programables PROM. Est formada por un arreglo no programable de compuertas AND conectadas como decodificador y un arreglo programable OR

PLA. Es un PLD formado por un arreglo OR y un arreglo AND ambos programables

PAL. Se encuentra formado por los arreglos AND programable y OR fijo con lgica de salida.

Los dispositivos PROM no se utiliza como dispositivo lgico, sino como una memoria direccionable, debido a las limitaciones que presenta con las compuertas AND fijas. El PLA se desarroll para superar las limitaciones de la memoria PROM. Este dispositivo se llama tambin FPLA (arreglo lgico programable en campo) ya que es el usuario y no el fabricante quien lo programa. 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. Un ejemplo tpico de estos dispositivos es la familia PAL16R8, la cul fue desarrollada por la compaa AMD (Advanced Micro Devices) e incluye los dispositivos PAL16R4, PAL16R6, PAL16L8, PAL16R8, dispositivos programables por el usuario para remplazar circuitos combinacionales y secuenciales SSI y MSI en un circuito.

En la pgina siguiente se muestra la arquitectura interna del PAL16L8, la cual est formada bsicamente por circuitos combinacionales (Compuertas AND, OR, buffers tri-estado e inversores), los cuales permiten la realizacin de funciones lgicas booleanas de la forma suma de productos. Cada trmino producto especfico se programa en el arreglo AND, mientras que en el arreglo OR se realiza la suma lgica de los trminos que se enviarn a la salida de los dispositivos.

Arreglo Lgico Genrico El arreglo lgico GAL es similar al PAL, ya que se forman con arreglos AND programable y OR fijo, con una salida lgica programable. Su principal diferencia radica en que los dispositivos PAL contienen tecnologa E2CMOS (Ellectrically Erasable CMOS), la cual lo hace reprogramable elctricamente en lugar de tecnologa bipolar y fusibles.

Programacin de un Arreglo GAL A diferencia de un PAL, el GAL est formado por celdas programables, las cuales se pueden reprogramar las veces que sea necesario. Como se observa en la figura, cada fila se conecta a una entrada de la compuerta AND y cada columna a una variable de entrada y sus complementos. Cuando se programa una celda, sta se activa mediante la aplicacin de cualquier combinacin de las variables de entrada o sus complementos a la compuerta AND. Esto permite la implementacin de cualquier funcin (producto de trminos) requerida.

Arquitectura de un Dispositivo GAL Como ejemplo de una arquitectura GAL, se tom el GAL22V10. ste circuito cuenta con 22 lneas de entrada y sus complementos, lo que da un total de 44 lneas de entrada a cada compuerta AND (lneas verticales en el diagrama).

10

La interseccin que forman las lneas de entrada con los trminos de producto (lneas horizontales), representa cada una de las celdas que se pueden programar para conectar una variable de entrada (o su complemento) a una lnea de trmino producto, donde es posible apreciar la forma de obtener la suma de productos.

Macroceldas lgicas de salida. Una macrocelda lgica de salida (OLMC) est formada por circuitos lgicos que se pueden programar como lgica combinacional o secuencial. Las configuraciones combinacionales se implementan por medio de programacin, mientras que en las secuenciales la salida resulta de un flipflop. En la figura se muestra la arquitectura de una macrocelda del GAL22V10.

11

Dispositivos Lgicos Programables de Alto Nivel de Integracin Los PLDs de alto nivel de integracin se crearon con el objeto de integrar mayor cantidad de dispositivos en un circuito. 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.

Dispositivo Lgico Programable Complejo Un CPLD consiste en un arreglo de PLD agrupados como bloques en un chip. En algunas ocasiones estos dispositivos tambin se conocen como EPLD (Enhanced PLD: PLD Mejorado), Super PAL, Mega PAL, etc. Se califican como de alto nivel de integracin, ya que tienen una gran capacidad equivalente a unos 50 PLDs sencillos. En su estructura bsica, cada CPLD contiene mltiples bloques lgicos conectados por medio de seales canalizadas desde 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.

12

En la siguiente figura se muestra un ejemplo de la estructura de cableado y las conexiones a un bloque lgico (bloque parecido a PAL) en un CPLD.

El bloque parecido a PAL incluye tres macroceldas, cada una de las cuales consta de una compuerta OR de cuatro entradas. La salida de la compuerta OR se conecta a una compuerta XOR. Una entrada de la compuerta XOR se
13

puede conectar de manera programable a 1 o a 0; si es 1, entonces la compuerta XOR complementa la salida de la compuerta OR, y si es 0 entonces la compuerta XOR no tiene efecto. El flip-flop se usa para almacenar el valor de salida producido por la compuerta OR. Cada buffer triestado se conecta a un pin en el paquete CPLD. El buffer tri-estado acta como un interruptor que permite que cada pin se use como una salida del CPLD o como una entrada. Para usar un pin como salida, el correspondiente buffer tri-estado se habilita, y acta como interruptor que se enciende. Si el pin se usara como entrada, entonces el buffer tri-estado se deshabilita, y acta como un interruptor que se apaga. En este caso una fuente externa puede dirigir una seal hacia el pin, que puede conectarse a otra macrocelda por medio de cable de interconexin. Cabe advertir que cuando un pin se utiliza como entrada, la macrocelda asociada con ese pin no puede usarse y por tanto se desperdicia. Los CPLD comerciales varan en tamao desde solo dos bloques parecidos a PAL a ms de 100. Estn disponibles en una diversidad de paquetes, como el que se muestra en la imagen, llamado quad flat pack (QFP).

La mayor parte de los CPLD contiene el mismo tipo de interruptores programables que los SPLD. La programacin de los interruptores se efecta colocando el chip en una unidad de programacin de propsito especial. Sin embargo, este mtodo de programacin es ms bien conveniente para grandes CPLD por dos razones: primera, los CPLD grandes llegan a tener ms de 200 pines en el paquete del chip, los cuales sueles ser frgiles y se doblan con facilidad; segunda, para programarse en una unidad de programacin, se
14

requiere un socket para sostener el chip y tales sockets son muy costosos. Por ello los dispositivos CPLD casi siempre soportan la tcnica ISP. En la PCB se incluye un pequeo conector que alberga el CPLD, y se conecta un cable entre ese conector y una computadora. El CPLD se programa mediante la transferencia por un cable de la informacin de programacin generada por un sistema CAD, de la computadora al CPLD. El IEEE estandariz los circuitos en el CPLD que permiten este tipo de programacin y recibe el nombre de puerto JTAG. ste usa cuatro cables para transferir informacin entre la computadora y el dispositivo que se va a programar. El trmino JTAG significa Joint Test Action Group (grupo de accin de prueba conjunta). En la figura siguiente se muestra el uso de un puerto JTAG para programar dos CPLD en una tarjeta de circuito.

Los CPLD se conectan juntos de modo que ambos pueden programarse con la misma conexin al sistema de cmputo. Una vez que un CPLD se programa, retiene permanentemente el estado programado, aun cuando la fuente de poder del chip se apague. Esta propiedad se llama programacin no voltil. Los bloques lgicos, tambin conocidos como celdas generadoras de funciones, estn formados por un arreglo de productos de trminos que implementa los productos efectuados en las compuertas AND, un esquema de distribucin de trminos que permite crear las sumas de los productos provenientes del arreglo AND y por macroceldas similares a las incorporadas en la GAL22V10 que se muestra en la figura.

15

a) Arreglo de producto 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. 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. c) Macroceldas: Una macrocelda est configurada internamente por flipflops y un control de polaridad que habilita cada afirmacin o negacin de una expresin. La cantidad de macroceldas que contiene un CPLD es importante, ya que cada uno de los bloques lgicos que conforman el dispositivo se expresan en trminos del nmero de macroceldas que contiene.

16

Arreglo de Compuertas Programables en Campo Los dispositivos FPGA se basan en lo que se conoce como arreglo de compuertas, los cuales consisten en la parte de la arquitectura que contiene tres elementos configurables: Bloques Lgicos Configurables (CLB), Bloques de Entrada y Salida (IOB), y canales de comunicacin. Por adentro, un FPGA est formado por arreglos de Bloques Lgicos Configurables (CLB), que se comunican entre ellos y con las terminales de entrada/salida (E/S) por medio de alambrados llamados canales de comunicacin. Cada FPGA contiene una matriz de bloques lgicos idnticos.

17

En la figura anterior se muestran dos ubicaciones de los interruptores programables; los recuadros grises adyacentes a los bloques lgicos sostienen interruptores que conectan las terminales de entrada y salida del bloque lgico a los cables de interconexin, y los recuadros grises que estn diagonalmente entre bloques lgicos conectan un cable de interconexin con otro. Los FPGA estn disponibles en una variedad de paquetes, incluido el QFP. En la siguiente figura se ilustra otro tipo de paquete, llamado arreglo de pines en retcula (PGA, pin grid array).

En el mercado hay varios productos FPGA, que presentan diferentes tipos de bloques lgicos. El ms usado de estos es una tabla de consulta (LUT, lookup table), que contiene celdas de almacenamiento que sirven para implementar una pequea funcin lgica, las cuales pueden contener un solo valor lgico, 0 o 1. En la siguiente figura se observa la estructura de una pequea LUT. Tiene dos entradas, x1 y x2, y una salida, f. Es capaz de implementar cualquier funcin lgica de dos variables. Como una tabla de verdad de dos variables tiene cuatro filas, esta LUT posee cuatro celdas de almacenamiento. Una celda corresponde al valor de salida de cada fila de la tabla de verdad. Las variables de entrada x1 y x2 se usan como las entradas de seleccin de tres multiplexores, los cuales, segn la valoracin de x1 y x2, eligen el contenido de una de las cuatro celdas como la salida de la LUT.

18

Para ver como se realiza una funcin lgica en la LUT de dos entradas considrese la tabla de verdad siguiente:

La funcin f1 de esta tabla puede almacenarse en la LUT como se ilustra en la figura siguiente:

El ordenamiento de los multiplexores de la LUT realiza correctamente la funcin f1. Cuando x1 = x2 = 0, la salida de la LUT la dirige la celda de almacenamiento superior, que en la tabla de verdad representa la entrada para x1x2 = 00. De manera similar, para todos los valores de x1 y x2, el valor lgico almacenado en la celda de almacenamiento corresponde a la entrada en la tabla de verdad elegida por el valor particular aparece en la salida de la LUT.

19

En la siguiente figura se muestra una LUT de tres entradas:

Tiene ocho celdas de almacenamiento porque una tabla de verdad de tres variables tiene ocho filas. En los chips comerciales de FPGA, las LUT tienen cuatro o cinco entradas, que requieren 16 y 32 celdas de almacenamiento, respectivamente. Las PAL tienen casi siempre circuitos adicionales incluidos con sus compuertas AND-OR. Lo mismo ocurre con los FPGA, que por lo general tienen circuitos adicionales, adems de una LUT, en cada bloque lgico. En la figura mostrada a continuacin se puede observar cmo incluir un flip-flop en un bloque lgico FPGA.

Los FPGA se configuran con el mtodo ISP. Las celdas de funcionamiento en las LUT de un FPGA son voltiles, lo que significa que pierden el contenido que almacenan siempre que la fuente de poder para el chip se apague. Con frecuencia, en la tarjeta de circuitos que alberga el FPGA se incluye un pequeo chip de memoria que conserva permanentemente sus datos, llamado memoria programable de solo lectura (PROM). Las celdas de almacenamiento del FPGA se cargan de modo automtico del PROM cuando se aplica potencia a los chips.

20

En la figura siguiente se ilustra un pequeo FPGA programado para implenentar un circuito. Tiene LUT de dos entradas, y hay cuatro alambres en cada canal de enrutamiento. Se muestran los estados programados tanto de los bloques lgicos como de los interruptores cableados en una seccin del FPGA. Los interruptores cableados programables se indican con una X. Cada interruptor mostrado en gris se enciende y realiza una conexin entre un cable horizontal y uno vertical. Los interruptores que se muestran en negro estn apagados.

Los bloques lgicos (tambin llamados celdas generadoras de funciones) estn configurados para procesar cualquier aplicacin lgica. Cuando se aplica alguna combinacin en las entradas de la LUT, el circuito la traduce en una direccin de memoria y enva fuera del bloque el dato almacenado en esa direccin. En un dispositivo FPGA, los CLB estn ordenados en arreglos de matrices programables (Programmable Switch Matrix o PSM), la matriz se encarga de dirigir las salidas de un bloque a otro. Las terminales de entrada y salida del FPGA pueden estar conectadas directamente al PSM o CLB, o se pueden conectar por medio de vas o canales de comunicacin. La diferencia entre FPGA y CPLD radica en el nmero de flip-flops utilizados. Mientras la arquitectura del FPGA es rica en registros, la CPLD
21

mantiene una baja densidad. En la tabla se presentan algunas otras diferencias entre ambas arquitecturas.

Caractersticas Arquitectura

CPLD Similar a un PLD Ms Combinacional

Densidad Funcionalidad

Aplicaciones

Baja a Media Trabajan a Frecuencias superiores a 200 MHz Contadores Rpidos Mquinas de Estado Lgica Combinacional

FPGA Similar a los arreglos de compuertas. Ms Registros + RAM Media a Alta Depende de la aplicacin (arriba de los 135 MHz) Excelentes en aplicaciones para arquitecturas de computadoras Procesadores Digitales de Seales (DSP) Diseos con Registros

22

Bibliografa

1. VHDL: El Arte de Programar Sistemas Digitales. Maxines, David G. y Alcal, Jessica. CECSA 2. Fundamentos de Lgica Digital con Diseo VHDL. Brown, Stephen; Vranesic, Zvonko. McGraw Hill.

23

También podría gustarte