Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables SISTEMAS ELECTRÓNICOS DIGITALES BLOQUE 2 CIRCUITOS DIGITALES CONFIGURABLES (PARTE 2) DISPOSITIVOS LÓGICOS PROGRAMABLES Enrique Mandado Pérez María José Moure Rodríguez Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables DEFINICIÓN DE DISPOSITIVO LÓGICO PROGRAMABLE Circuito digital configurable que posee un conjunto de circuitos digitales conectados a través de una o más matrices de interconexión programable. BLOQUE BLOQUE LÓGICO LÓGICO BLOQUE MATRIZ BLOQUE LÓGICO DE LÓGICO INTERCONEXIÓN BLOQUE BLOQUE LÓGICO LÓGICO Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ DE INTERCONEXIÓN PROGRAMABLE Conjunto de hilos conductores distribuidos en filas y columnas con elementos programables en los puntos de intersección de filas y columnas. CONEXIÓN PROGRAMABLE Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ AND PROGRAMABLE MATRIZ PROGRAMABLE + CONJUNTO DE PUERTAS AND & & & & & & Matriz programable de puertas Y (AND) Representación simplificada Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ AND PROGRAMABLE EJEMPLO: DECODIFICADOR PROGRAMABLE A A B B & AB & 0 & AB Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ OR PROGRAMABLE MATRIZ PROGRAMABLE + CONJUNTO DE PUERTAS OR ≥1 ≥1 ≥1 ≥1 ≥1 ≥1 Matriz programable de puertas O (OR) Representación simplificada Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables solo es posible EJEMPLO: A A B B ≥1 A+B ≥1 1 ≥1 A+B Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRICES LÓGICAS PROGRAMABLES UNIVERSALES - Memorias de acceso aleatorio programables (PROM) - Matrices lógicas programables PLA - Matrices lógicas programables PLA Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MEMORIA PROM MATRIZ AND FIJA + MATRIZ OR PROGRAMABLE ENT 1 ENT 2 …….. ENT N MATRIZ AND FIJA 2N productos …………………. …….. MATRIZ OR PROGRAMABLE SAL 1 SAL 2 SAL M Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MEMORIA PROM 1 & xn 1 0 1 & x2 1 & x1 2n-1 ≥1 f1 ≥1 f2 ≥1 fm Conexión fija Conexión programable (ROM, PROM o RPROM) implementada mediante un decodificador y una matriz de puertas O. Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ PLA (Programmable Logic Array) (PLA marca registrada de Signetics) MATRIZ AND PROGRAMABLE + MATRIZ OR PROGRAMABLE ENT 1 ENT 2 …….. ENT N MATRIZ AND PROGRAMABLE K productos …………………. SAL 1 SAL 2 …….. MATRIZ OR PROGRAMABLE K ≤ 2 N-1 SAL M Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables & MATRIZ PLA Ejemplo: PLA de 4 entradas, 2 salidas y 6 productos & & & & & E1 E2 E3 E4 1 ≥1 S0 1 1 1 ≥1 S1 Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ PAL (Programmable Array Logic) ( PAL marca registrada de Monolithic Memories) MATRIZ AND PROGRAMABLE + MATRIZ OR PROGRAMABLE Por qué PAL: Intercambio de posición de la A y la L para registrar marca ENT 1 ENT 2 …….. ENT N MATRIZ AND PROGRAMABLE K productos …………………. SAL 1 SAL 2 …….. MATRIZ OR FIJA K ≤ 2 N-1 SAL M Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables & & MATRIZ PAL & Ejemplo: PLA de 4 entradas, 2 salidas y 6 productos & & & E1 E2 E3 E4 1 ≥1 S0 1 1 1 ≥1 S1 Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PAL vs PLA - Las PLA son más flexibles porque permiten compartir productos lógicos entre diferentes salidas. - Las PAL son más fáciles de programar porque poseen una sola matriz programable. - Ambos tipos de circuitos son universales Las PAL le ganaron la batalla a las PLA Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables …….. Xn ………….. MATRIZ PAL: aumento del número de productos X0 PAL (n1) X1 f1 EN PAL (n2) …….. EN EN fn Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables Xn …………….. MATRIZ PAL: aumento del número de variables de entrada X0 PAL (n1) EN ….. PAL (n2) X/Y Xn+1 ….. Xn+m EN Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ PAL PAL10L18 Nº de entradas Nº de salidas L= Salida a nivel bajo H= Salida a nivel alto P = Polaridad programable Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables FUNCIONALIDADES ADICIONALES DE LAS PAL 1 ≥1 1 SALIDA ≥1 1 EN EN PAL PAL Control tercer estado Salidas de tercer estado Control tercer estado Salidas bidireccionales ENTRADA/ SALIDA Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables FUNCIONALIDADES ADICIONALES DE LAS PAL 1 ≥1 =1 1 ENTRADA/SALIDA EN PAL Control del tercer estado Salida de polaridad programable Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables MATRIZ DE INTERCONEXIÓN PROGRAMABLE PAL + REGISTRO = PLS X0 1 X1 1 Xn 1 (Programmable Logic Sequencer) 1 & & & & 1 ≥1 1D C1 ≥1 G Y0 1D C1 Ym Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 ESQUEMA DE BLOQUES DE UN PLS & ≥1 MATRIZ DE 1D & Q C1 INTERCONEXIÓN PROGRAMABLE Variables de salida & ≥1 1D & C1 1 Variables de entrada 1 G Q Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo ESQUEMA PAL16R8 Circuitos digitales configurables Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PAL16R8 FUNCIONALIDADES 8 productos lógicos por cada puerta O. 8 Biestables D síncronizados con una señal de reloj común. Realimentación de la salida del biestable a la matriz. Control simultáneo del tercer estado de todas las salidas. Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables TECNOLOGÍA DE LAS PAL +V - Elemento de conexión con fusible - Elemento de conexión con transistor MOS de puerta flotante Variable de entrada Denominadas GAL por Lattice ( Marca registrada para llamar la atención) Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 FUNCIONALIDADES ADICIONALES DE UN PLS & ≥1 MATRIZ DE 1D 1 C1 EN & ∇ INTERCONEXIÓN PROGRAMABLE Variables de entrada/salida & ≥1 1D 1 C1 EN & 1 Variables de entrada G ∇ Entradas de control del tercer estado 1 PLS con entradas de control de las variables de entrada/salida Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 FUNCIONALIDADES ADICIONALES DE UN PLS & ≥1 MATRIZ DE & C1 R INTERCONEXIÓN PROGRAMABLE S 1D & ≥1 & S 1D C1 R 1 G Variables de entrada 1 Entradas de puesta en estado inicial PLS con entradas de puesta en estado inicial Variables de salida Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 FUNCIONALIDADES ADICIONALES DE UN PLS & ≥1 MATRIZ DE =1 1D & C1 N1 INTERCONEXIÓN PROGRAMABLE Variables de salida & ≥1 & C1 1 Variables de entrada G =1 1D N1 Entradas de control de inversión 1 PLS con entradas de control de inversión de las salidas Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 FUNCIONALIDADES ADICIONALES DE UN PLS MUX G1 & ≥1 MATRIZ DE 1 1D 1 & C1 Variables de salida INTERCONEXIÓN PROGRAMABLE & ≥1 1D & C1 1 Variables de entrada 1 G MUX G1 1 1 Entradas de selección de variable directa/memorizada PLS con entradas de anulación de la memorización Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 PLD (PROGRAMMABLE LOGIC DEVICE) MUX G1 & ≥1 MATRIZ DE & C1 R INTERCONEXIÓN PROGRAMABLE S 1D & ≥1 & 1 1 EN Variables de salida G1 1 =1 N1 1 EN Variables de entrada ∇ MUX 1 G 1 N1 S 1D C1 R 1 =1 ∇ 1 PLS que combina las características de los circuitos anteriores Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PLD (PROGRAMMABLE LOGIC DEVICE) 1 MACROCELDA Selección de variable directa/memorizada S 1D PAL C1 R MUX G1 1 1 =1 1 N1 Control de inversión Control de tercer estado Puesta en estado inicial Concepto de macrocelda de un PLD EN ∇ Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 1 PLD BÁSICO MACROCELDA PAL MACROCELDA Variables de entrada/salida MACROCELDA 1 Variables de entrada 1 Diagrama de bloques de un PLD básico basado en PAL Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 1 PLD BÁSICO MACROCELDA MATRIZ DE MACROCELDA INTERCONEXIÓN Variables de entrada/salida PROGRAMABLE MACROCELDA 1 Variables de entrada 1 Diagrama de bloques equivalente de un PLD básico basado en PAL Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PLD AVANZADO Las limitaciones de los DLP básicos hicieron que diversos fabricantes desarrollasen los DLP avanzados (Advanced PLD) siguiendo dos grandes líneas: - PLD de asignación variable Se dota a los DLP básicos de recursos lógicos (Sharing circuits) destinados a que las macroceldas compartan recursos de la matriz PAL. - PLD segmentado Se dota a los DLP básicos de varias matrices de interconexión. Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables CONJUNTO DE PUERTAS Y m n CONJUNTO DE PUERTAS Y m n CONJUNTO DE PUERTAS Y m INTERCONEXIÓN PROGRAMABLE DE PRODUCTOS LÓGICOS MATRIZ DE n CIRCUITO DE COMPARTICIÓN 1 1 1 PLD AVANZADO DE ASIGNACIÓN VARIABLE p p p ≥1 ≥1 ≥1 MACROCELDA MACROCELDA MACROCELDA 1 1 PLD con recursos lógicos para que las macroceldas compartan recursos de la PAL Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PLD AVANZADO SEGMENTADO ≥1 MACROCELDA & MATRIZ DE INTERCONEXIÓN PROGRAMABLE LOCAL (BUS LOCAL) & 1 & Xn & 1 & X1 & 1 & X0 & MATRIZ DE INTERCONEXIÓN PROGRAMABLE GLOBAL (BUS GLOBAL) MATRIZ DE INTERCONEXIÓN PROGRAMABLE LOCAL (BUS LOCAL) ≥1 M1 ≥1 MACROCELDA M2 MACROCELDA M1 ≥1 MACROCELDA M2 PLD avanzado segmentadocon una matriz global y dos locales Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables 1 1 PLD AVANZADO SEGMENTADO MATRIZ DE MATRIZ DE INTERCONEXIÓN PROGRAMABLE LOCAL n CONJUNTO DE PUERTAS Y m n CONJUNTO DE PUERTAS Y m ≥1 1 MACROCELDA M2 PROGRAMABLE MATRIZ DE INTERCONEXIÓN PROGRAMABLE LOCAL MACROCELDA ≥1 INTERCONEXIÓN GLOBAL M1 n CONJUNTO DE PUERTAS Y m ≥1 n CONJUNTO DE PUERTAS Y m ≥1 Variables de entrada/salida M1 MACROCELDA MACROCELDA M2 Variables de entrada 1 Esquema de bloques de un PLD avanzado segmentado con una matriz global y dos locales Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PLD COMPLEJO • Con macroceldas complejas Dispositivos Lógicos Programables Complejos • Con bloques lógicos complejos • Con circuitos PLD avanzados segmentados • Con bloques lógicos multifuncionales • Con recursos lógicos operativos adicionales • Con recursos de interconexión distribuidos Clasificación de los circuitos PLD complejos (CPLD) Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PLD COMPLEJO (CPLD) MACROCELDA DE E/S MACROCELDA DE E/S MACROCELDA DE E/S MACROCELDA DE E/S MACROCELDA DE E/S Var . Selección DMUX PLD AVANZADO SEGMENTADO 1 1 1 Var . Selección 1 MACROCELDA DE E/S MUX G1 MACROCELDA DE E/S MUX G1 MACROCELDA DE E/S n DMUX m PLD AVANZADO SEGMENTADO n m MACROCELDA DE E/S Var . Selección DMUX PLD AVANZADO SEGMENTADO 1 1 1 Var . Selección 1 MACROCELDA DE E/S MUX G1 MACROCELDA DE E/S MUX G1 MACROCELDA DE E/S n MACROCELDA DE E/S DMUX m PLD AVANZADO SEGMENTADO MACROCELDA DE E/S n MACROCELDA DE E/S m MACROCELDA DE E/S CPLD con recursos de interconexión distribuidos Escuela Técnica de Ingenieros de Telecomunicación Departamento de Tecnología Electrónica Universidad de Vigo Circuitos digitales configurables PLD FABRICANTE ARQUITECTURA ALTERA NO SEGMENTADA CYPRESS LATTICE ALTERA DENOMINACIÓN FAMILIA/CIRCUITO Global Bus EP220, EP312 Y EP610 Programmable AND Array PALCE20V8, PLDC20RA10, CY7C331 y CY7C335 Global Bus CY7C344 Programmable AND Array GAL Programmable Interconnect Array (PIA) / AND Logic Array MAX3000, MAX7000 y FLASH Logic Global Bus/Local Bus EP1810 Programmable Interconnect Array (PIA) / LAB Interconnect MAX5000 Programmable Interconnect Array (PIA) / Logic Array CY7C340 Programmable Interconnect Matrix (PIM) / Logic Array Flash 370 Switch Matrix / AND Logic Array MACH1 y MACH2 Global Routing Pool / AND Array IspLSI1000, 2000, 3000 y 5000 Fast Connect Switch Matrix / Programmable AND Array XC9500 CYPRESS SEGMENTADA LATTICE XILINX Zero-power Interconnect Array /Product Term XPLA3 Array Nota: Denominaciones de las matrices de interconexión programables de los circuitos PLD de distintas familias de diferentes fabricantes. Nota: En las arquitecturas segmentadas se indica tanto el nombre asignado a la matriz de interconexión global como el asignado a la matriz local