Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ABEL
ABEL
Electrnica Industrial-ED5
CONTENIDO
Unidad 8. Lgica combinacional programable. 1. 2. 3. 4. 5. 6. 7. Dispositivos lgicos programables (PLDs). Tipos de SPLDs. Matriz lgica programable (PAL). Matriz lgica genrica (GAL). CPLDs y FPGAs. Programacin de los PLDs. Lenguajes de descripcin hardware.
OBJETIVOS ESPECFICOS
! Estudiar las matrices programables y describir la mayora de los tipos de dispositivos lgicos programables. ! Conocer la estructura bsica de una PAL y saber cmo, programando la matriz AND, se generan las funciones lgicas estndar. ! Conocer la estructura bsica de una GAL y saber cmo, programando la matriz AND, se generan funciones lgicas estndar. ! Conocer la arquitectura bsica de la GAL22V10. ! Conocer la arquitectura bsica de la GAL16V8. ! Estudiar el procedimiento bsico de programacin de los PLDs. ! Escribir sencillos programas en ABEL para implementar lgica combinacional en un PLD. ! Disear lgica combinacional sencilla utilizando una GAL.
Electrnica Industrial-ED5
Matrices programables
Electrnica Industrial-ED5
Se utiliza como una memoria direccionable y no como un dispositivo lgico, debido a las limitaciones que imponen las puertas AND fijas. Matriz Lgica Programable (PLA)
Tambin se conoce como FPLA (Field Programmable Logic Array), debido a que es el usuario y no el fabricante el que la programa.
4
Electrnica Industrial-ED5
Mejora las desventajas de las PLA en cuanto a los retardos en los fusibles. Es el dispositivo programable, para una sola vez, ms comn, y se implementa con tecnologa TTL y ECL. Matriz Lgica Genrica (GAL)
Es el desarrollo ms reciente. Tiene una estructura muy parecida a la PAL, pero con las siguientes diferencias: Es reprogramable. Tiene configuraciones de salida reprogramables. Usa tecnologa E2CMOS (Electrically Erasable CMOS).
5
Electrnica Industrial-ED5
Su estructura permite implementar cualquier suma de productos lgica con un nmero de variables definido. Cada punto de interseccin entre una fila y columna se llama celda, y es el elemento programable de la PAL.
Electrnica Industrial-ED5
Durante el proceso de programacin cuando se requiere la conexin entre una fila y una columna el fusible se deja intacto. Por el contrario, cuando dicha unin no se requiere, el fusible se abre. Simbologa simplificada
Electrnica Industrial-ED5
Electrnica Industrial-ED5
Tpicamente n 8 y m 8. Algunas PAL disponen de pines de E/S. Salida combinacional Entrada/salida combinacional
Electrnica Industrial-ED5
10
Electrnica Industrial-ED5
11
Electrnica Industrial-ED5
X = AB C + ABC + BC + A B
12
Electrnica Industrial-ED5
Tpicamente n 8 y m 8. Las OLMC (output logic macrocells), se pueden programar como lgica combinacional o como lgica secuencial. Las OLMC proporcionan una mayor flexibilidad que la lgica de salida fija de una PAL. Referencia estndar de una GAL
13
Electrnica Industrial-ED5
14
Electrnica Industrial-ED5
Modo combinacional con salida activa a nivel BAJO. Modo combinacional con salida activa a nivel ALTO. Modo secuencial con salida activa a nivel BAJO. Modo secuencial con salida activa a nivel ALTO.
15
Electrnica Industrial-ED5
16
Electrnica Industrial-ED5
Ejemplo de aplicacin Demostrar cmo se puede implementar la suma de productos de 6 variables siguiente con la GAL22V10:
X = ABCDEF + A BC DE F + AB C D E F + ABCDE F + A BCDE F + ABC DEF + ABCDEF
17
Electrnica Industrial-ED5
18
Electrnica Industrial-ED5
5. CPLDs y FPGAs
CPLD (Complex PLD)
Son versiones ms grandes que los PLD sencillos, con una matriz de interconexin interna centralizada que se utiliza para interconectar las macroceldas del dispositivo. La matriz de interconexin se programa para conectar de forma selectiva seales de entrada a un nivel de puertas AND programables que se conectan a su vez a un nivel de puertas OR fijo. Las salidas de las puertas OR se conectan a su vez a macrocelulas configurables que permiten al usuario: o Especificar la polaridad de salida. o Seleccionar operaciones combinacionales o de registro. o Proporcionar la funcionalidad triestado. o Opcionalmente realimentar la matriz de interconexin. Independientemente de la funcin que se implemente, el camino que siguen las seales a travs del CPLD es prcticamente el mismo. Esta arquitectura limita la flexibilidad del diseo, pero ofrece la ventaja con que los tiempos de propagacin son muy predecibles.
19
Electrnica Industrial-ED5
5. CPLDs y FPGAs
FPGA (Field Programmable Gate Array)
Consiste en una matriz de gran tamao de celdas lgicas simples con canales de rutado horizontal y vertical para interconexin. No tienen una estructura de implementacin predefinida, como los CPLD, permitiendo implementar una funcin lgica de mulltiples maneras. Son tremendamente flexibles y potentes algunas de ellas.
20
Electrnica Industrial-ED5
El computador puede ser desde un ordenador personal corriendo bajo WIN95/98 hasta una estacin de trabajo UNX. Los paquetes de software utilizados para la programacin de PLDs se denominan compiladores lgicos (SINOPSIS, FUNDATION, VERY-BEST, OrCAD-PLD, etc). El SW procesa y sintetiza el diseo lgico que se ha introducido mediante un determinado mtodo (esquemticos, tablas de verdad, ecuaciones booleanas, diagramas de estado, HDLs, etc). Generan un archivo de salida JEDEC (mapa de celdas o mapa de fusibles) estndar (Joint Electronic Device Electronic Council). El SW permite simular la funcionalidad, as como las caractersticas elctricas y temporales del diseo antes de su implementacin. Para programar el PLD, ste se inserta sobre un zcalo ZIF (zero insertion force, fuerza de insercin nula). El programador contiene un controlador software que lee el fichero JEDEC generado con el compilador lgico y lo convierte en instrucciones que aplican las tensiones especficas en los pines del PLD especfico.
21
Electrnica Industrial-ED5
22
Electrnica Industrial-ED5
Las variables de entrada o salida mltiples se pueden agrupar usando corchetes para simplificar una ecuacin.
A = [ A3, A2, A1, A0];
23
Electrnica Industrial-ED5
Y3 Y2 Y1 Y0
= = = =
A3 A2 A1 A0
S0 S0 S0 S0 = = = =
# # # #
B3 B2 B1 B0
S1 S1 S1 S1
# # # #
C3 C2 C1 C0
S1 S1 S1 S1
(S==1)
&
(S==2)
&
(S==3)
&
C;
24
Electrnica Industrial-ED5
BCD = [D, C, B, A]; TRUTH_TABLE (BCD -> 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 ->
[a, [1, [0, [1, [1, [0, [1, [1, [1, [1, [1,
b, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,
c, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
d, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1,
e, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0,
f, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1,
g]) 0]; 0]; 1]; 1]; 1]; 1]; 1]; 0]; 1]; 0];
25
Electrnica Industrial-ED5
Declaraciones
Declaraciones de los pines Declaraciones de conjuntos Declaraciones del dispositivo
A0,A1,A2,A3, PIN,1,2,3,4; S=[S0,S1]; decoder device P22V10;
Descripciones lgicas
Ecuaciones. Tablas de verdad. Diagrama de estados.
Vectores de prueba
Los vectores de prueba examinan el diseo lgico antes de programar el hardware, aplicando todas las combinaciones de entrada y comprobando que las salidas son correctas.
TEST_VECTORS ([D,C,B,A] -> [a, b, c, d, e, f, g]) [0,0,0,0] -> [1, 1, 1, 1, 1, 1, 0]; [0,0,0,1] -> [0, 1, 1, 0, 0, 0, 0]; [0,0,1,0] -> [1, 1, 0, 1, 1, 0, 1]; [0,0,1,1] -> [1, 1, 1, 1, 0, 0, 1]; [0,1,0,0] -> [0, 1, 1, 0, 0, 1, 1]; [0,1,0,1] -> [1, 0, 1, 1, 1, 1, 1]; [0,1,1,0] -> [1, 0, 1, 1, 1, 1, 1]; [0,1,1,1] -> [1, 1, 1, 0, 0, 0, 0]; [1,0,0,0] -> [1, 1, 1, 1, 1, 1, 1]; [1,0,0,1] -> [1, 1, 1, 1, 0, 1, 0];
26
Electrnica Industrial-ED5
Module cuad_1_de_4_mux Title Multiplexor cuadruple 1 de 4 en GAL20V8 mux device A0, A1, A2, B0, B1, B2, C0, C1, C2, D0, D1, D2, Aout, Bout, S0, S1 Equations Aout Bout Cout Dout = = = = !S1 !S1 !S1 !S1 & & & & !S0 !S0 !S0 !S0 & & & & A0 B0 C0 D0 # # # # !S1 !S1 !S1 !S1 & & & & S0 S0 S0 S0 & & & & A1 B1 C1 D1 # # # # S1 S1 S1 S1 & & & & !S0 !S0 !S0 !S0 & & & & A2 B2 C2 D2 # # # # S1 S1 S1 S1 & & & & S0 S0 S0 S0 & & & & A3; B3; C3; D3; P20V8 pin 1, 2, 3, 4; pin 5, 6, 7, 8; pin 9, 10, 11, 13; pin 14, 15, 16, 17; pin 21, 20, 19, 18; pin 22, 23;
A3 B3 C3 D3 Cout, Dout
27
Electrnica Industrial-ED5
JEDEC
28
Electrnica Industrial-ED5
29