04/04/20141 Lógica Programable Secuencial Universidad de La Salle – Sistemas Digitales I Diego Méndez Chaves, Ph.D REPASO Lógica Programable Dispositivo que se configura o programa para implementar las funciones requeridas por el usuario Inspirados en redes de 2 niveles: AND-OR (SOP) Compuertas Lógicas y Switches (Interruptores) Programables Entradas (n Variables Lógicas) Salidas (m Funciones Lógicas) Compuertas Programables El número de entradas se puede programar o configurar. x 6 x 1 x 6 x 2 x 4 x 6 x 2 x 4 Compuerta AND Programable Se programan x 2 , x 4 , x 6 Compuerta Resultante = x 2 ·x 4 ·x 6 Interruptor programado Compuertas Programables Notación: x 1 x 2 x 3 x 4 x 5 x 6 x 1 x 2 x 3 x 4 x 5 x 6 x 6 x 2 x 4 Compuerta AND Programable Programación de x 2 , x 4 , x 6 Compuerta Resultante = x 2 ·x 4 ·x 6 Interruptor programado Compuertas Programables 04/04/2014 2 PAL – Programmable Array Logic f 1 Plano AND AND Plano OR OR P 1 P k f m x 1 x 2 x n x 1 x 1 x n x n Negadores Programable Fijo Plano AND programables Plano OR fijo PAL: Ejemplo f 1 P 1 P 2 f 2 x 1 x 2 x 3 Arreglo AND P 3 P 4 f1 = P1 + P2 f2 = P3 + P4 P1 = x1•x2•x3’ P2 = x1’•x2•x3 P3 = x1’•x2’ P4 = x1•x2•x3 Arreglo AND: f1 = x1•x2•x3’+x1’•x2•x3 f2 = x1•x2’ + x1•x2•x3 S I E M P R E ! ! ! ( n o p r o g r a m a b l e ) a r r e g l o A N D f 1 P 1 P 2 x 1 x 2 x 3 P 3 f1 = P2 + P3 ¿Cómo eliminar uno de los productos Pi? f 1 P 1 P 2 P 3 P1 = x1•x1’ •x2•x2’ •x3•x3’ = 0 0 PAL - Ejemplo Estados posibles: 0: Nivel lógico bajo 1: Nivel lógico alto Z: Sin conectar “al aire” (alta impedancia) Dispositivos 3-Estados x f e x f = Z e = 0 e = 1 x f = x Ejemplo – PAL Comercial x 1 x 2 x 3 1 1 f 1 = (x 2 ·x’ 1 +x’ 2 ·x 1 )’ f 2 = (x’ 3 · f’ 1 )’ = [x’ 3 · (x 2 ·x’ 1 +x’ 2 ·x 1 )]’ Pin: Output Producen ‘0’ en el producto f 2 f 1 Producen ‘0’ en el producto Ejemplo – PAL Comercial x 1 x 2 x 3 1 0 f 1 = (x’ 1 ·x 2 ·x 3 ·x 4 )’ x 4 Pin: Input Segmento no se usa Producen ‘0’ en el producto 04/04/2014 3 PAL: Polaridad Programable • Polaridad programable con la XOR: • 0 XOR x = x • 1 XOR x = x’ LÓGICA PROGRAMABLE SECUENCIAL Cada suma de productos es una ecuación de excitación para un Flip-Flop Registered PALs (PALs con Registros) D Q x 1 x 2 x 3 x n clock Generalmente usan Flip-Flops Data (D) La señal de reloj es común para todos los Flip- Flops Las señales de inicialización asíncrona también son comunes para todos los Flip-Flops Registered PALs (PALs con Registros) Ecuación del siguiente estado: Q(t+1) = Q(t)’T + Q(t)T’ Ecuación de excitación: Q(t+1) = D D = Q(t)’T + Q(t)T’ Ejemplo: Implementación de un FF-Toogle D Q T clock Q TQ’(t) T’Q(t) Polaridad Programable D Q x 1 x 2 x 3 x n Polaridad Programable D Q Q’ Q’ 04/04/2014 4 ¿Qué ocurre si se deben implementar sistemas combinacionales y secuenciales dentro de la misma PAL? Se dedican algunas salidas como combinacionales y las restantes a como secuenciales Ejemplo: PAL16R6: 2 Salidas combinacionales 6 Salidas secuenciales Ejemplo: PAL16R4: 4 Salidas combinacionales 4 Salidas secuenciales PAL: Combinacional/Secuencial Ejemplo: PAL16R4 Salida Combinacion al Salida Secuencial Cualquier salida puede funcionar como Combinacional o Secuencial según convenga Se usan Macroceldas: Determinan si la salida es Combinacional o secuencial con un selector (multiplexor) Dispositivos Versátiles Macrocelda Básica f 1 Hacia el plano AND D Q Clock Enable FF-D Desde el plano AND MUX2:1 TRI-STATE Selector: Por medio de la señal S se programa si la macrocelda funciona de forma combinacional o secuencial (registered). D Q D Q clock Macroceldas Pines de Entrada D Q reset PAL Versátil Combinacional y Secuencial programable CPLD XC9500XL Arquitectura 04/04/2014 5 CPLD XC9500XL Bloque Funcional CPLD XC9500XL Macrocelda CPLD XC9500XL Relojes, Set y Reset Macrocelda CPLD XC9500XL Product Term Allocator D Q x 1 x 2 x 3 1 0 1 Macrocelda f f = [x’ 3 +x 1 x’ 2 x 3 ]’ Eliminan productos sin usar 0 0 0 Macrocelda Ejemplo Ejemplo FSM tipo Moore C z 1 = ⁄ ⁄ ⁄ ⁄ Reset B z 0 = ⁄ ⁄ ⁄ ⁄ A z 0 = ⁄ ⁄ ⁄ ⁄ w 0 = w 1 = w 1 = w 0 = w 0 = w 1 = Entrada: w Salida: z 04/04/2014 6 Asignación de Estados w 00 01 11 10 0 1 0 1 0 y 2 y 1 Y 1 wy 1 y 2 = w 00 01 11 10 0 1 0 d 1 d y 2 y 1 Y 2 wy 1 y 2 wy 1 y 2 + = d d 0 0 0 0 0 0 1 0 1 0 1 0 d y 1 z y 1 y 2 = 0 1 y 2 Present Next state state w = 0 w = 1 Output y 2 y 1 Y 2 Y 1 Y 2 Y 1 z A 00 00 01 0 B 01 00 10 0 C 10 00 10 1 11 dd dd d Ecuaciones: Ejemplo Ecuaciones y 1 D Q D Q clock 1 1 1 Macroceldas Pines de Entrada 1 0 0 D Q 1 0 0 z w reset y 2 S í n t e s i s L ó g i c a e n u n a S P L D T i p o P A L ( v e r s á t i l )