jueves, 6 de diciembre de 2007

SPLD

Dispositivos lógicos programables sencillos (SPLD)

Características generales

Los SPLD se pueden considerar que se encuentran entre los productos estándar (SSI y MSI) y los circuitos “custom” y “semi-custom”. Su capacidad de integración es, en media, por lo que pueden realizar tareas relativamente sencillas, si bien pueden realizar funciones para las cuales eran necesarios varios circuitos estándar.

Se basan en el empleo de matrices lógicas programables:


Fiugura 1. Matrices OR y AND sin programar




Fiugura 2. Matrices OR y AND programadas

En la figura 1 puede observarse que inicialmente todas las variables están conectadas, mediante fusibles, a todas las entradas de las compuertas.

Durante el proceso de programación cuando se requiere la conexión entre una fila y una columna el fusible se deja intacto. Por el contrario, cuando dicha unión no se requiere, el fusible se abre. En la figura 2 se pueden observar los fusibles que quedan intactos después de una programación de un SPLD.

Una ventaja adicional de los SPLD es su coste reducido. Permiten el diseño de circuitos combinacionales y secuenciales no muy complejos, a medida y a un bajo coste.



Tipos de SPLD .

Existen cuatro tipos de dispositivos SPLD:

• PROM, Programmable Read-Only Memory.
• PLA, Programmable Logic Array.
• PAL, Programmable Array Logic.
• GAL, Generic Array Logic.

Una PROM materializa funciones de conmutación (FC) directamente como suma de minterms ya que el grupo de puertas AND está prefijado. Cuando una FC sólo utiliza unos pocos minterms o admite una fuerte simplificación utilizar una PROM puede ser un despilfarro.

Para este tipo de situaciones se utilizan dispositivos PLA con conexiones programables tanto en el grupo de puertas AND como en el grupo de puertas OR.

Las PALs son un caso particular de las PLA con conexiones OR preprogramadas.

Memoria programable de sólo lectura (PROM)

Se utiliza como una memoria direccionable y no como un dispositivo lógico, debido a las limitaciones que imponen las puertas AND fijas.


Figura3. PROM

Matriz Lógica Programable (PLA)

También se conoce como FPLA (Field Programmable Logic Array), debido a que es el usuario, y no el fabricante, es el que la programa.



Figura 4. PLA

Matriz Lógica Programable (PAL)

Mejora las desventajas de las PLA en cuanto a los retardos en los fusibles. Es el dispositivo programable, para una sola vez, más común, y se implementa con tecnología TTL y ECL.


Figura 5. PAL

Se utilizada para generar funciones lógicas combinacionales específicas (suma de productos).

Por ejemplo:

Las salidas de la matriz AND son entradas de la OR y la salida de cada puerta OR se asocia a una lógica de salida.

Algunas PAL tienen pines de entrada/salida combinacionales y de polaridad programable (se usa puerta OR-exclusiva para realizar la inversión, que se funde en caso de inversión)

Matriz Lógica Genérica (GAL)

Es el desarrollo más reciente. Tiene una estructura muy parecida a la PAL, pero con las siguientes diferencias:

• Es reprogramable.
• Tiene configuraciones de salida reprogramables.

Usa tecnología E2CMOS (Electrically Erasable CMOS). La celda E2CMOS se activa o desactiva mediante programación.



Figura 6. GAL

Es un PLD con una matriz AND reprogramable, matriz OR fija y salida lógica programable.

Las salidas son unas OLMC (Output Logic Macrocells). Son macroceldas lógicas que contienen puertas OR y lógica programable, circuitos lógicos que se pueden programar como lógica combinacional o lógica secuencial (flip-flops, contadores y registros).

Pueden tener elevado número de entradas y de salidas.

Matriz reprogramable: red de conductores con celdas E2CMOS en cada punto de intersección (PAL, fusible).

Una celda E2CMOS puede mantener su estado programado más de 20 años.



Figura 7. Cuadro comparativo

Consideraciones para realizar un diseño con PLD

SISTEMAS DE DESARROLLO

Imprescindible para realizar un diseño lógico con PLD.

Herramientas software generales:

1. Compiladores
2. Software para simulación y test
3. Algoritmos de reducción
4. Software para programar el dispositivo

• ELECCIÓN DEL PLD

Criterios:

1. Número de entradas y salidas necesarias
2. Rapidez
3. Número de puertas y biestables necesarios
4. Consumo
5. Posibilidad de reprogramación
6. Disponibilidad y herramientas de apoyo del fabricante
7. Encapsulado
8. Coste