Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SPLD y CPLD
Objetivos:
- Conocer las características más importantes de los SPLD y CPLD.
- Conocer las características más importantes del circuito CY7C335 de la Cypress (SPLD).
- Conocer las características más importantes de la familia 370 de la Cypress (CPLD).
- Mostrar mediante ejemplos como se utilizan.
Sumario:
- Introducción a al desarrollo de los SPLD y CPLD.
- Características más importantes del circuito CY7C335.
- Características más importantes de la Familia 370.
- Ejemplos de utilización de los circuitos anteriores.
Bibliografía:
• Digital Design Principles and Practices, J. F. Wakerly, 2000,
Capitulo 5, SPLD, pag
Capitulo 10, CPLD, pag 872 a 881 y FPGA pag 882 a 890
1
Electrónica Digital SPLD y CPLD
Clasificación.
Estos dispositivos los podemos clasificar según se muestra a continuación:
Memorias ROM
PLA
SPLD Nivel AND y OR programable
PAL
Dispositivos
PAL GAL
Programables
Nivel OR programable
para la realización PALCE
de funciones lógicas
2
Electrónica Digital SPLD y CPLD
Desde el punto de vista histórico los primeros dispositivos programables fueron los “Programmable Logia Array”
(PLA). Estos dispositivos están formados por una estructura AND – OR cuyas conexiones son programadas por el
usuario. Utilizando esta estructura un diseñador puede acomodar cualquier función lógica hasta determinado nivel de
complejidad.
La estructura de los PLA fue mejorada y su costo disminuido con la introducción de los “Programmable Array Logic”
(PAL). Hoy en día estos dispositivos son genéricamente hablando como “Programable Logic Devices” (PLD) y estos
son los dispositivos MSI de la gran industria de los dispositivos programables.
Descripción.
Cualquier función lógica puede ser representada como unas sumas de productos. Las figuras que siguen son para
mostrar el esquema lógico equivalente de un PLA:
U2 U3 U1 a
a 2 1 2 1 a
= a
/a
/a
El esquema anterior permite identificar el símbolo del circuito que se utiliza en la entrada de cada variable.
U4
U5
U6 U7 U8 U9
3
2 5 2 5 2 5 2 5
1
2 U10
3
1 F1
4
5
2 U11
3
1 F2
4
5
Las cruces a las entradas de cada AND indican que esa conexión es programable, al igual que en la entrada de cada
OR. Por ejemplo en la siguiente tabla se muestran las conexiones a realizar para tener los cuatros posibles producto.
3
Electrónica Digital SPLD y CPLD
CI Entrada Entrada
/a /b U6 3 5
/a b U7 3 4
a /b U8 2 5
a b U9 2 4
Si queremos que F1 = /a /b + a /b, entonces en la entrada de la compuerta U10 hay que conectar el terminal 2 y el 4.
Observar que en el diagrama anterior se programa tanto las entradas de las AND como las de las OR, por ser un PLA.
U5
U6 U7 U8 U9
3
4
2 5 2 5 2 5 2 5
1
U12
2
1 F1
3
U13
2
1 F2
3
Celda programable.
La celda programable varia de una tecnología a otra la variantes que son reprogramables utilizan transistores MOS
programables del tipo FAMOS o equivalentes. La siguiente figura muestra una sección del circuito anterior.
U4
U5
R1 R2
VCC VCC
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8
VCC
NOT NOR R3
VCC
Q11
NOR NOT
OR
4
Electrónica Digital SPLD y CPLD
Hay algunos PLD que utilizan para su programación fusibles en lugar de los transistores MOS programables.
D1
a
Q9
b
F1
SPLD Comerciales.
Todos los PLD pequeños se agrupan dentro de la categoría de los SPLD. Las características más importantes son su
bajo costo y su alta velocidad de pin a pin. Según la tecnología se fue desarrollando resulto imposible obtener SPLD de
mayores capacidades. La dificultad esta en que su estructura crece de tamaño debido al aumento del número de
entradas y esto hace muy lenta esta estructura. La única manera posible de aumentar su capacidad es la integrar varios
SPLD en un mismo circuito integrado y de que posea una estructura que permita programar las interconexiones
internas. Estos circuitos se conocen como CPLD.
Dos de los SPLD más populares son el 16V8 y el 22V10. Los SPLD los producen Altera, AMD, Lattice, Cypress and
Philips – Signetics.
Entradas Entradas
PLD Salidas Productos PINs
Generales Totales
PALCE16V8 8 10 8 8 20
PALCE20V8 12 14 8 8 24
PALCE22V10 12 12 10 8 a 16 24
PALCE26V12 26 14 12 8 a 16 28
CY7C331 13 13 12 4 a 12 28
CY7C335 13 13 12 9 a 19 28
Un 16V8 lo podemos identificar como un dispositivo de 16 entradas x 8 salidas x 8 términos productos. En general un
PLD lo podemos identificar por el numero de entradas (n), por el numero de salidas (m) y el numero de términos
productos (p). En general p es menor que 2 n .
5
Electrónica Digital SPLD y CPLD
9 Tiene 13 entradas y 12 entradas salidas formada por 12 macroceldas con 12 biestables configurables como tipo
D, T, RS o JK. Además cada entrada tiene asociado un registro.
9 Alta velocidad, 20 ns máximo.
9 Consume relativamente poca potencia, ICC (típica) = 90 mA, ICC (máxima) = 180 mA.
Diagrama de terminales:
U9
2 28
3 I0/CLK2 I/O0 27
4 I1/CLK3 I/O1 26
5 I2 I/O2 25
6 I3 I/O3 24
7 I4 I/O4 23
9 I5 I/O5 20
10 I6 I/O6 19
11 I7 I/O7 18
12 I8 I/O8 17
13 I9 I/O9 16
14 I10 I/O10 15
I11/OE I/O11
1
CLK1
CY 7C335_H
Este PLD es equivalente a cuatro 22V10 y puede trabajar hasta a frecuencia de 100 MHz. Tiene hasta 258 términos
productos para 16 biestables variando entre 9 y 19 términos productos por cada macroceldas. Los biestables pueden
configurarse como tipo D, RS, JK o T. Posee tres terminales de reloj. En la siguiente figura se muestra el diagrama en
bloque de cada una de las celdas de entrada.
MUX2
U12
Input U13
I1
Pin Y To Array
I2
A
B-I
U10
D Q
U11
/Q C7
CLK1 I1
Y CLK
CLK2 I2
A
FF D
MUX2
C6
El Flip-Flop de entrada puede trabajar con uno de los dos relojes indicados en la figura, igualmente el pin de entrada
puede pasar directamente al array sin pasar por el Flip-Flop.
6
Electrónica Digital SPLD y CPLD
ICLK1 ICLK2
U19 MUX2
I1
Y
I2
A
A
B-I
U22 MUX2
/Q
I1
U20 MUX2 Y CLK
I2
I1
A
Y FF D
I2
A
A
B-I
U23 MUX2
/Q
U21 MUX2 I1
Y CLK
I1 I2
Y
A
I2 FF D
A
C10
7
Electrónica Digital SPLD y CPLD
Desde su introducción los dispositivos PLD tales como el 16V8 y el 22V10 han sido ampliamente utilizados por su
gran flexibilidad en los diseños de sistemas digitales. Según la tecnología de fabricación de los CI avanza, aumenta el
interés por desarrollar PLD más complejos. ¿Porque no se fabrican PLD mayores que los mencionados? El incremento
en la intensidad de la integración en las memorias RAM en los últimos 10 años ha sido aproximadamente 64 veces si
se aplica este incremento en los PLD se obtendría un 128V64 (8 x 16V8). Este dispositivo tendría 64 pines de entradas,
64 I/O pines y N veces 128 términos productos. Este circuito seria muy flexible pero sus características eléctricas no
serian muy buenas. Un 16V8 tiene 32 entradas (16 entradas y sus complementos) por cada compuerta AND. El
128V64 tendría 256 entradas por compuerta AND. Debido a los efectos capacitivos, corrientes de fuga etc esta
compuerta seria al menos 8 veces más lenta que la del 16V8. Esta situación no logra un costo efectivo aceptable por el
área utilizada. Este dispositivo es equivalente a 8 16V8 pero utiliza un área 64 veces mayor.
Los CPLD utilizan otra variante digamos que se pone en un mismo CI ocho PLD equivalentes al 16V8, como se
muestra en la figura 1. En este caso el área es igual al de ocho PLD mas el área de las interconexiones.
Interconexiones
Fabricante Familias
Altera MAX5000, MAX7000, MAX9000
AMD MACH 1 a MACH 5
Lattice PLSI1000, PLSI2000, PLSI3000
Cypress FLASH370
Xilinx XC7000, XC9000
Altera Flashlogic
ICT PEEL array
8
Electrónica Digital SPLD y CPLD
Familia 370.
La arquitectura de la familia 370 esta basada en un numero de Bloques Lógicos (Logic Block) que están
interconectados por una matriz programable de interconexión (Programable Interconnect Matrix). Cada bloque lógico
posee su arreglo de suma de productos y 16 macroceldas. La matriz de interconexiones programable (PIM) distribuye
las señales de un bloque lógico a otro así como de todas los terminales de entradas. Esta familia de CPLD tiene una
amplia variedad de densidades y cantidad de terminales. Para cada densidad hay dos opciones de encapsulado en una se
priorizan los terminales y en la otra los registros. Por ejemplo la CY7C374 y la CY7C375 tienen 128 macroceldas. La
CY7C374 tiene la mitad de sus macroceldas escondidas por lo que el dispositivo esta disponible en un encapsulado de
84 terminales. En el Cy7C375 todas las macroceldas y tienen terminales de entradas / salidas por lo que el dispositivo
esta encapsulado en 160 terminales. La siguiente figura muestra la organización antes descrita.
4
2
4 4
U1 36 U1
36
Logic Logic
Block Block
16
16
PIM
U1 36 U1
36
Logic Logic
Block Block
16
16
U1 36 U1
36
Logic Logic
Block Block
16
16
U1 36 U1
36
Logic Logic
Block Block
16
16
9
Electrónica Digital SPLD y CPLD
Bloque Lógicos.
Consiste en un arreglo de los productos lógicos, un organizador inteligente de estos productos lógicos, 16 macroceldas
y un numero de celdas de entrada / salida. El numero de celdas de entrada / salida depende del dispositivo en particular.
Hay dos tipos de bloques lógicos en esta familia, en el primer tipo hay un numero igual de celdas de entrada / salidas y
macroceldas (16) como se muestra en la figura 2.
2 2 2
6
0 a 16 terminos
Productos Macrocelda # 1 Celda I/O
Arreglo .
36 .
de 72 x 86 Organizador .
From PIM
Productos de 0 a 16 terminos
Productos Macrocelda # 8 Celda I/O
Productos
80
0 a 16 terminos
Productos Macrocelda # 9 Celda I/O
.
.
.
0 a 16 terminos
Productos Macrocelda # 16 Celda I/O
16
TO PIM
16
La arquitectura anterior es mejor para aplicaciones en que sea importante priorizar los terminales de entradas y salidas.
El otro tipo de arquitectura de Bloque Lógico utiliza macroceldas enterradas asociadas a cada terminal de entrada /
salida. Es decir en cada bloque lógico hay 8 macroceldas conectadas a los terminales de entrada / salida y 8
macroceldas que son internamente conectadas al PIM. Lo anterior se muestra en la siguiente figura.
2 2 2
6
0 a 16 terminos
Productos Macrocelda # 1 Celda I/O
Arreglo
36
de 72 x 86 Organizador 0 a 16 terminos
From PIM Productos Macrocelda # 2
Productos de
. a las celdas
Productos . 3, 5 y 7
80 .
.
0 a 16 terminos
Productos Macrocelda # 9 Celda I/O
.
.
.
0 a 16 terminos
Productos Macrocelda # 16
16 a las celdas
11, 13 y 15
TO PIM
10
Electrónica Digital SPLD y CPLD
Entradas de reloj.
Seis terminales de entradas están organizados como entrada solamente. Están organizados en dos tipos, terminales de
entradas y terminales de entradas de reloj. Cy7C371 y Cy7C372 tienen dos entradas de reloj y los otros tienen cuatros.
11
Electrónica Digital SPLD y CPLD
|
CYPRESS Familia 340.
Esta familia esta basada en una arquitectura de macroceldas flexibles agrupadas en Bloques de Arreglos Lógicos (LABs). Dentro
de cada LABs hay un grupo adicional de términos productos denominados términos productos expandidos. Estos productos son
usados y compartidos por las macroceldas permitiendo funciones complejas de hasta 35 términos productos. Un Arreglo
programable de Interconexiones (PIA) rutea todas las interconexiones dentro del dispositivo.
Diagrama de bloques general. Los registros tienen un reloj global o relojes independientes del arreglo lógico.
Input / Clock Input
PIA
LAB 2 LAB N/2+2
4 Macrocelda # 1 Macrocelda # 1 4
Macrocelda # 2 Macrocelda # 2
. .
. .
. .
Macrocelda # 16 Macrocelda # 16
. .
. .
. .
12
Electrónica Digital SPLD y CPLD
13
Electrónica Digital SPLD y CPLD
FPGA
I / O
Logic
Block
14