Download dispositivos lógicos programables
Document related concepts
no text concepts found
Transcript
UNIVERSIDAD DE SEVILLA Dpto. de Ingeniería Electrónica AREA DE TECNOLOGIA ELECTRONICA CAPÍTULO 1: DISPOSITIVOS LÓGICOS PROGRAMABLES Tema 1. Dispositivos Lógicos Programables de Baja Capacidad Ana Cinta Oria Oria Diciembre de 2010 2 Índice Introducción Introducción Dispositivos lógicos programables de baja capacidad Concepto de matriz programable Concepto de matriz programable PROM (Programable Read Only Memories) PLA (Programable Logic PLA (Programable Logic Array) PAL (Programable Array Logic) y GAL (Generic Array Logic) Programación de PLDs Programación de PLDs 2 Tema 1. Dispositivos lógicos programables de baja capacidad 3 Índice Introducción Introducción Dispositivos lógicos programables de baja capacidad Concepto de matriz programable Concepto de matriz programable PLA (Programable Logic Array) PAL (Programable Array PAL (Programable Array Logic) y GAL (Generic Logic) y GAL (Generic Array Logic) Programación de PLDs 3 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 4 Introducción Obj ti d t t d Objetivos de este apartado: Alternativas en el diseño de un circuito lógico ¿Qué son los Dispositivos Lógicos Programables (PLD)? ¿Qué son los Dispositivos Lógicos Programables (PLD)? Clasificación de PLD 4 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 5 Introducción Circuitos Integrados Digitales (CID) Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño realice el diseño Según la realización física g Según Semiconductor CID Si CID ArGa CID Bipolar CID MOS CID BiCMOS PMOS NMOS CMOS Según nº de dispositivos SSI MSI Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción LSI VLSI ULSI 5 GLSI 6 Introducción Circuitos Integrados Digitales (CID) Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño realice el diseño Según la realización física g Según Semiconductor CID Si CID ArGa CID Bipolar CID MOS CID BiCMOS PMOS NMOS CMOS Según nº de dispositivos SSI MSI Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción LSI VLSI ULSI 6 GLSI 7 Introducción Clasificación según el número de dispositivos o puertas básicas contenidos en los CID contenidos en los CID Nivel de integración Nº de transistores Nº de puertas Fecha aproximada Pequeña escala de integración (SSI) 10 a 102 1 a 10 1960 Mediana escala de integración (MSI) Mediana escala de integración (MSI) 102 a 10 a 103 10 a 10 10 a 102 1965 Gran escala de integración (LSI) 103 a 104 102 a 103 1970 Muy gran escala de integración (VLSI) de integración (VLSI) 104 a 10 a 105 103 a 10 a 104 1978 Ultra gran escala de integración (ULSI) 105 a 106 104 a 105 1985 Giga gran escala de integración (GLSI) >106 >105 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 7 1995 8 Introducción Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño Según la realización física Normalizados Especificados por el usuario Según la función del circuito Según metodología Fija Programable Dispositivos Lógicos programables de baja capacidad PLA PAL GAL Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción Totalmente a medida Semi‐medida Dispositivos lógicos programables de alta capacidad CPLD FPGA8 9 Introducción Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño Según la realización física Normalizados Especificados por el usuario Según la función del circuito Según metodología Fija Programable Dispositivos Lógicos programables de baja capacidad PLA PAL GAL Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción Totalmente a medida Semi‐medida Dispositivos lógicos programables de alta capacidad CPLD FPGA9 10 Introducción Circuitos de aplicación específica o ASIC (Application Specific Integrated Circuit) Integrated Circuit) Han sido posible gracias al uso de técnicas de descripción y simulación asistidas por computador Empleo de programas de diseño ejecutados en estaciones de trabajo de elevadas prestaciones Niveles de descripción de un sistema digital a medida Ni l d d i ió d it di it l did Especificación del sistema del sistema Descripción de su comportamiento Descripción funcional • Distintos bloques funcionales que operaciones que p componen el constituye el proceso tit l sistema que ha de realizar • Conjunto de Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción Descripción Lógica Descripción eléctrica • Cada bloque está • Se especifica los compuesto por un componentes j ((transistores, etc), sus , ), conjunto de elementos formado características y su por puertas lógicas 10interconexionado 11 Introducción Circuitos de aplicación específica o ASIC (Application Specific Integrated Circuit) Integrated Circuit) Clasificación Circuitos totalmente personalizados: “FULL ‐ CUSTOM” p Aquellos circuitos en los que el diseñador llega hasta el nivel de transistor, elige sus características y el conexionado entre ellos. Todos los bloques y elementos necesarios están incluidos en un mismo Todos los bloques y elementos necesarios están incluidos en un mismo circuito integrado que queda como propiedad del cliente Óptimo en cuanto a superficie de silicio ocupada y fiabilidad del circuito El d d d ll i l d d Elevados costes de desarrollo que exigen un consumo muy elevado de unidades para que resulte económicamente rentable 11 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 12 Introducción Circuitos de aplicación específica o ASIC (Application Specific g ) Integrated Circuit) Clasificación Circuitos obtenidos a través de las bibliotecas o elementos funcionales estándar “SEMI CUSTOM” estándar: “SEMI‐CUSTOM” Son circuitos integrados LSI/VLSI a medida, que para abaratar costes incluyen elementos o procesos de fabricación estándar: células estándar » Utilizan Utilizan bloques funcionales predefinidos: puertas, registros, contadores, bloques funcionales predefinidos: puertas registros contadores sumadores, etc. El diseñador adopta decisiones al nivel de descripción lógica: Indicando dimensiones, patillaje de las células estándar… » Indicando dimensiones, patillaje de las células estándar… Costes de desarrollo también altos » En la fabricación, costes de máscaras y costes de procesos En los recursos humanos y materiales para el diseño » En los recursos humanos y materiales para el diseño » En la verificación, circuito adicional de test 12 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 13 Introducción Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño Según la realización física Normalizados Especificados por el usuario Según la función del circuito Según metodología Fija Programable Dispositivos Lógicos programables de baja capacidad PLA PAL GAL Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción Totalmente a medida Semi‐medida Dispositivos lógicos programables de alta capacidad CPLD 13 FPGA 14 Introducción (II) Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño Según la realización física Normalizados Especificados por el usuario Según la función del circuito Según metodología Fija Programable Dispositivos Lógicos programables de baja capacidad PLA PAL GAL Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción Totalmente a medida Semi‐medida Dispositivos lógicos programables de alta capacidad CPLD 14 FPGA 15 Introducción Circuito normalizado de función fija Existen circuitos en SSI, en MSI y en LSI Existen circuitos en SSI en MSI y en LSI Ejemplos Circuito 7400 de tecnología TTL: 4 puertas NAND de cuatro entradas Circuito 7400 de tecnología TTL: 4 puertas NAND de cuatro entradas (SSI) Unidad aritmética lógica 74181 Circuito 74LS194, registro de desplazamiento que posee cuatro modos de operación seleccionables mediante dos variables binarias (MSI) Circuito receptor‐transmisor asíncrono universal UART (LSI) Circuito receptor transmisor asíncrono universal UART (LSI) Además pueden ser expansibles, es decir, pueden acoplar estos circuitos entre sí, y obtener circuitos de mayor capacidad 15 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 16 Introducción Dispositivos estándar y y lógica discreta Circuitos ASIC (Circuitos normalizados de función fija) 9 9 Sencillez en aplicaciones fáciles a la hora Complicación a la hora de diseñar circuitos más complejos DISPOSITIVOS LÓGICOS PROGRAMABLES PLD (Programable PLD (Programable Logic Device) 9 9 9 Tienen integrado en un sólo chip toda la aplicación Altos costes de desarrollo y producción. Inviables para pequeñas series 16 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 17 Introducción Circuitos Integrados Digitales (CID) Según la forma en qué se realice el diseño Según la realización física Normalizados Especificados por el usuario Según la función del circuito Según metodología Fija Programable Dispositivos Lógicos Programables de Baja Capacidad PLA PAL GAL Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción Totalmente a medida Semi‐medida Dispositivos Lógicos Programables de Alta Capacidad CPLD 17 FPGA 18 Introducción Los Dispositivos Lógicos Programables Dispositivos Lógicos Programables (PLD: Programable Logic Devices) son circuitos integrados constituidos por una estructura de elementos son circuitos integrados constituidos por una estructura de elementos digitales cuyas conexiones se pueden programar empleando unos interruptores: matriz de interconexión programable Es posible implementar diferentes funcionalidades Clasificación: Dispositivos programables de baja capacidad (PLA, PAL, GAL): Di iti bl d b j id d (PLA PAL GAL) Reemplazan a circuitos discretos (SSI, MSI) ahorrando espacio, coste y tiempo de desarrollo Dispositivos programables de alta capacidad (CPLD, FPGA): Reemplazan a sistemas completos (incluso microprocesadores) H Han adquirido gran importancia en los últimos años d i id i t i l últi ñ 18 Diseño y realización de prototipos Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 19 Introducción Ventajas de los PLD: Coste: Reducen el número de integrados, tiempo de montaje y Coste: Reducen el número de integrados tiempo de montaje y tamaño del circuito impreso Consumo: El consumo de un PLD es menor que el de varios circuitos q integrados MSI Confidencialidad: La programación del PLD no es accesible Flexibilidad: Es posible modificar la funcionalidad cambiando la programación (sin cortar pistas o rehacer la placa) H i t CAD Si t d d ll l j d lt i l Herramientas CAD: Sistema de desarrollo con lenguajes de alto nivel (VHDL, ABEL, CUPL) 19 Tema 1. Dispositivos lógicos programables de baja capacidad 1.1. Introducción 20 Índice Introducción Introducción Dispositivos lógicos programables de baja capacidad Concepto de matriz programable Concepto de matriz programable PROM (Programable Read Only Memories) PLA (Programable Logic PLA (Programable Logic Array) PAL (Programable Array Logic) y GAL (Generic Array Logic) Programación de PLDs Programación de PLDs 20 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 21 Concepto de matriz de matriz programable Matriz de diodos Fusible Diodo Distribución de conductores de conductores en filas y columnas unidos en los puntos de cruce por un diodo en serie con un fusible Fase de programación de esta matriz Se basa en hacer circular por uno de esos diodos una corriente capaz de el fusible fundir el fusible Fundiendo selectivamente dichos fusibles queda el dispositivo programado, de forma que p g , q realiza una función lógica determinada Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 21 22 Concepto de matriz de matriz programable Matriz de diodos Fusible Diodo Distribución de conductores de conductores en filas y columnas unidos en los puntos de cruce por un diodo en serie con un fusible Fase de programación de esta matriz Se basa en hacer circular por uno de esos diodos una corriente capaz de el fusible fundir el fusible Fundiendo selectivamente dichos fusibles queda el dispositivo programado, de forma que p g , q realiza una función lógica determinada Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable H2 H1+H3 22 H1+H2+H3 23 Concepto de matriz de matriz programable En el caso de los PLDs Existe una red de puertas red de puertas (ARRAY GATE), que (ARRAY GATE) que contiene una matriz AND y una matriz OR La matriz AND Se generan los productos de las variables de entrada a partir de los valores directos y negados de las señales de entrada La matriz La matriz OR OR Proporciona la suma de los productos obtenidos en la matrix AND para obtener una función deseada. 23 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 24 Concepto de matriz de matriz programable Matriz AND: AABB AABB X1 X1=AB X2 X2=AB X3 X3=AB 24 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 25 Concepto de matriz de matriz programable Matriz OR: AABB X1 X2 X3 25 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 26 Concepto de matriz de matriz programable Ejemplo Líneas de Entrada Puertas AND Líneas “Productos de términos” de términos Puertas OR Fusibles Programables Salidas en suma de productos Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 26 27 Concepto de matriz de matriz programable Ejemplo Líneas de Entrada Puertas AND Líneas “Productos de términos” Puertas OR Salidas en suma de productos Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 27 28 Concepto de matriz de matriz programable Simbología en los PLD Objetivo: reducción Objetivo: reducción de la descripción de la descripción de la circuitería de la circuitería interna del del dispositivo Simbología adoptada por los fabricantes El símbolo del inversor y del no‐inversor en uno solo, pero con dos salidas complementadas Han simplificado las líneas de entrada a una puerta AND u OR por medio de una sóla línea Las conexiones entre puertas se representan mediante una X o un punto. p Las X se encuentran en el plano programable y representa un fusible intacto. Un punto p ggrueso, que q normalmente aparece p un el plano p fijo, representa j p una conexión fija. 28 La ausencia de estos dos símbolo en un cruce significa que no existe conexión entre ellas. Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. Concepto de matriz programable 29 Clasificación de PLD’s Dependerá del plano o planos que sean programables Dispositivos Lógicos Programables de Baja Capacidad ROM PROM EPROM PAL EEPROM PLA GAL 29 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad 30 Índice Introducción Introducción Dispositivos lógicos programables de baja capacidad Concepto de matriz programable Concepto de matriz programable PROM (Programmable Read Only Memories) PLA (Programable Logic PLA (Programable Logic Array) PAL (Programable Array Logic) y GAL (Generic Array Logic) Programación de PLDs Programación de PLDs 30 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 31 Dispositivos PROM PROM (Programable Read Only Memories): ROM programables, pero sólo una sóla pero sólo una sóla vez Consiste en una matriz fija de puertas AND + una red programable de puertas OR, la cual está basada en la arquitectura en la arquitectura de la matriz de la matriz de puertas OR, la cual está basada de diodos que vimos anteriormente p y N Para N entradas, existen 2N combinaciones posibles Æ hay 2 puertas AND en un PROM La programación se efectúa fundiendo una serie de fusibles que existen entre las matrices de puertas OR. Puede implementar cualquier función lógica pero limitado por el número de entradas disponibles 31 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 32 Dispositivos PROM Están basado en la arquitectura de la matri de de la matriz de diodos + un decodificador que ataca a las líneas horizontales. Con cada combinación de las señales de entrada se activa una y sólo y sólo una de las de las líneas horizontales. Esta línea horizontal hará que activen las líneas verticales en las cuales exista paso a través del diodo del diodo. Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM Matriz de fusibles OR Matriz AND fija O1 O2 Memoria de 4 palabras de 4 32 bits O3 O4 33 Dispositivos PROM Ejemplo: Memoria PROM de 16 palabras de 4 bits 33 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 34 Dispositivos PROM Características Se realizan Se realizan en tecnología en tecnología bipolar No consigue niveles de integración altos Disipación de potencia alta p p No se puede programar de nuevo el dispositivo Programación Mediante la destrucción de fusibles Mediante la destrucción de una unión p‐n 34 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 35 Dispositivos PROM Ventajas: Es capaz Es capaz de decodificar de decodificar cada combinación de entrada de entrada Inconvenientes Por cada línea de entrada que se añade, se dobla el número de líneas de producto (número de interconexiones) y también la matrix ORÆ P=2E P: número de líneas de producto E: número E: número de entradas de entradas Si aumenta el número de entradas, aumenta rápidamente su tamaño Limitación en cuanto a implementación de funciones lógicas complejas p g p j Aplicaciones: Limitadas a aquellas que necesitan un gran número de productos pero pocas señales de entrada 35 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 36 Dispositivos EPROM En un dispositivo PROM, la programación no puede ser modificada puesto que no es no es posible reponer los fusibles los fusibles fundidos. se resuelve con memorias con memorias ROM en tecnología ROM en tecnología MOS Esto se resuelve Permite que el usuario pueda escribir repetidamente mediante un procedimiento no destructivo Surgen los dispositivo EPROM (Erasable PROM o memoria de sólo lectura programable y borrable) él l EPROM Memorias EPROM presentan células Cada célula está formada por un transistor MOS con dos electrodos puertas 36 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 37 Dispositivos EPROM Cada célula de memoria EPROM está formada por un transistor MOS con dos electrodos MOS con dos electrodos puertas La puerta superior es la de control. Conectada al conductor fila La puerta inferior es inferior es una puerta flotante, es flotante es decir, aislada decir aislada del del La puerta sustrato y sumergida en SiO2 Floating gate G G S D tox tox n+ p Substrate Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM n +_ 37 Dispositivos EPROM Floating gate 38 G G S D tox Programación tox n+ Substrate b p n+_ Escribir en la célula implica aplicar una tensión inversa entre D y B: se provoca la entrada en conducción por avalancha de la unión p‐n de D y B Æ acumulación de electrones con alta energía en la región de avalancha de la unión p‐n La acumulación de electrones se desplaza a la puerta flotante a través de la fina capa de Si02 que de Si02 que las separa Estados lógicos: Estado lógico ‘0’: ausencia de electrones en puerta flotante o no se aplica entre D y B tensión inversa entre D y B Estado lógico ‘1’: presencia de electrones en puerta flotante o se aplica tensión inversa entre D y B R Re‐programación ió es posible ibl llevando ll d a cabo b el borrado lb d de información d i f ió 38 mediante luz ultravioleta (elevado tiempo de exposición 10 min a 30 min) Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PROM 39 Índice Introducción Introducción Dispositivos lógicos programables de baja capacidad Concepto de matriz programable Concepto de matriz programable PROM (Programmable Read Only Memories) PLA (Programmable PLA (Programmable Logic Array) PAL (Programmable Array Logic) y GAL (Generic Array Logic) Programación de PLDs Programación de PLDs 39 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad. PLA 40 PLDs de baja capacidad PLA: Programmable Logic Array PAL: Programmable Array Logic GAL: Generic Array Logic 40 Tema 1. Dispositivos lógicos programables 1.2. PLDs de baja capacidad 41 PLA (Programmable PLA (Programmable Logic Array Array)) Obj ti d t t d Objetivos de este apartado: Arquitectura básica de una PLA Limitación de la PLA Limitación de la PLA 41 Tema 1. Dispositivos lógicos programables de baja capacidad 1.2. PLDs de baja capacidad 1.2.1 PLA (Programmable Logic Array) 42 PLA (Programmable PLA (Programmable Logic Array Array)) Arquitectura básica de una PLA o Matriz Lógica Programable Presenta una estructura matricial AND de las variables de entradas Presenta una estructura matricial AND de las variables de entradas (productos) y una estructura matricial OR (sumandos) ambas programables V j d l PLA f l PROM Ventajas de las PLA frente a las PROM En una PLA, una línea producto puede ser combinación de algunas variables de entrada. (En una PROM, sólo activa una y sólo una línea producto por cada combinación diferente de las variables de entrada) No es necesario que existan tantas líneas de productos como combinaciones posibles de variables de entrada. combinaciones posibles de variables de entrada. Sólo hay que generar los productos imprescindibles Se programa con un PC (software de programación) más un adaptador de HW necesario. 42 El software traslada las ecuaciones Booleanas a instrucciones de programa Tema 1. Dispositivos lógicos programables 1.2. PLDs de baja capacidad 1.2.1 PLA (Programmable Logic Array) 43 PLA (Programmable PLA (Programmable Logic Array Array)) Arquitectura básica de una PLA 3x2 AA BB C C2*Número de entradas Número de puertas AND X A B C Y 43 Matriz AND Matriz OR Número de entradas P<2Número de entradas Tema 1. Dispositivos lógicos programables 1.2. PLDs de baja capacidad 1.2.1 PLA (Programmable Logic Array) +5V 44 Plano AND X Y AND cableada Z IMPLEMENTAR Y1=XY+Z +5V Plano OR NOR cableada +5V 45 Plano AND X Y PROBLEMA: Retardos grandes debidos a l s capacidades las p id d s p parásitas ásit s Z IMPLEMENTAR Y1=XY+Z XY Z XY + Z F= XY + Z +5V Plano OR 46 Índice Introducción Dispositivos lógicos programables de baja capacidad Dispositivos lógicos programables de baja capacidad Concepto de matriz programable PROM (Programmable Read Only Memories) PROM (Programmable PLA (Programable Logic Array) PAL (Programable Array PAL (Programable Array Logic) y GAL (Generic Logic) y GAL (Generic Array Logic) Programación de PLDs 46 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 47 PAL y GAL Obj ti d t t d Objetivos de este apartado: Arquitectura básica de una PAL/GAL Nomenclatura: PAL10L8 Nomenclatura: PAL10L8 Ejemplo: PAL16L8, PAL16R8, PAL16R4, PAL22V10 47 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 48 PAL y GAL Clasificación de los SPLD (Simple PLD): PLA: Programable Logic Array PAL: Programable Array Logic GAL: Generic Array Logic 48 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 49 PAL Arquitectura básica de una PAL (Programmable Array Logic) o Red Lógica Programable AABB 3 A 2 B Matriz AND programable 5x4 Matriz OR fija 2 Las entradas se aplican a las puertas AND, y selectivamente las conexiones que 49 se programen determinan qué señales tenemos a la salida de las puertas AND Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 50 PAL Arquitectura básica de una PAL (Programmable Array Logic) o Red Lógica Programable AABB AABB 1 AB Interruptor cerrado 2 AB 3 AB+AB Interruptor abierto 0 A A B B 4 AB AB 5 1 AB 2 AB 3 0 4 AB 5 0 AB+AB AB 0 50 ‐ Cada función de salida será la suma de un nº determinado de líneas producto ‐ Cada línea producto es una AND programable de cualquier combinación de línea de entrada ‐ Las líneas producto no se pueden compartir entre diferentes funciones OR. Si varias salidas tienen productos comunes, éstos habrán repetirlos 51 PAL PAL (Programmable Array Logic) o Red Lógica Programable La red AND programable La red AND programable y la OR fija y la OR fija permite a la PAL disponer a la PAL disponer de de tantas entradas como sea necesario Características No tan flexibles como las PLA y y Mayor densidad y menores retardos Existencia de un solo plano de programación Permiten realimentar salidas para aumentar flexibilidad Es la que ofrece mayor variedad de opciones comerciales de todos los PLD 51 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 52 PAL Elementos lógicos adicionales a la arquitectura básica de una PAL S lid i bi t bl Salidas que incorporan biestables Programación del estado activo de las salidas (alto o bajo) Estructura de salida bidireccional o líneas programables de E/S Estructura de salida bidireccional o líneas programables de E/S 52 Macrocélulas de salida Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 53 PAL Elementos lógicos adicionales a la arquitectura básica de una PAL Salidas que incorporan biestables Salidas que incorporan biestables Proporcionan la capacidad de implementar circuitos secuenciales Programación del estado activo de las salidas (alto o bajo) Programación del estado activo de las salidas (alto o bajo) Facilitan el trabajo a la hora de implementar las funciones lógicas con PAL Estructura de salida bidireccional o líneas programables de E/S La línea de salida puede programarse como Línea de salida sólo Línea de salida sólo Como línea de entrada sólo Como línea de entrada/salida mediante un control dinámico 53 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 54 PAL Estructura de salida bidireccional o combinacional Basada en un buffer triestado: Basada en un buffer triestado: Línea de habilitación (línea ENABLE), que habilita la señal de salida como entrada o no Permite poner su salida en alta impedancia para que el pin pueda ser utilizado como entrada, mediante la línea de realimentación Se pueden realimentar sumas de productos Æañadir más términos al Se pueden realimentar sumas de productos Æañadir más términos al producto L ENABLE H 54 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 55 PAL Nomenclatura de una PAL PAL16L8 Número total de entradas al plano AND, incluyendo tanto las entradas dedicadas como m las salidas que qu se realimentan m 55 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 56 PAL Nomenclatura de una PAL PAL16L8 Tipo de lógica de salida: R: Biestables a la salida L: Estructura combinacional activa a nivel bajo H: Estructura combinacional activa a nivel alto V: Estructura versátil: Se puede configurar como salida combinacional, salida secuencial entrada/salida, secuencial, entrada/salida etc Î GAL 56 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 57 PAL y GAL Nomenclatura de una PAL PAL16L8 Número total de salidas 57 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 58 PAL y GAL Estructura de salida L,H ÆEstructura de salida combinacional L H ÆEstructura de salida combinacional R Æ Estructura de salida con biestable V ÆEstructura de salida versátil Æ Macrocelda V ÆEstructura de salida versátil Æ 58 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 59 PAL y GAL Estructura de salida combinacional Basada en un buffer triestado: Basada en un buffer triestado: Permite poner su salida en alta impedancia para que el pin pueda ser utilizado como entrada Se pueden realimentar sumas de productos Æañadir más términos al producto (AB+CD)EF L H 59 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 60 PAL Estructura de salida secuencial con biestable R Realimentación de la salida del biestable ÆPermite el diseño de Realimentación de la salida del biestable ÆPermite el diseño de máquinas de estado síncronas Todos los biestables tienen la misma señal de relojj Todos los biestables recibirán un reset inicial No tienen reset asíncrono Æ Reset síncrono El pin de selección del buffer triestado suele ser dedicado Del plano AND n D Q Q 60 Al plano AND Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 61 PAL y GAL V Estructura de salida versátil Æ GAL De la matriz programable 11 10 D Q 01 00 Q S0 S1 A la matriz programable 0 1 MACROCELDA Las salidas bidireccionales son configurables: Como salida combinacional Como salida combinacional Como registro Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 61 62 PAL y GAL V Estructura de salida versátil Æ GAL De la matriz programable 11 10 D 01 00 Q Q S0 S1 A la matriz programable 0 1 MACROCELDA 1 n X X Combinacional a 62 nivel Alto: S0=0, S1=1 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) X 63 PAL y GAL V Estructura de salida versátil Æ GAL De la matriz programable 11 10 D Q 01 00 Q S0 S1 A la matriz programable 0 1 MACROCELDA 1 1 n X D Q X Q 1 X 63 Registro a nivel Alto: S0=0, S1=0 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) X 64 PAL y GAL V Estructura de salida versátil Æ GAL De la matriz programable 11 10 D Q 01 00 Q S0 S1 A la matriz programable 0 1 MACROCELDA 64 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 65 PAL y GAL 16L8 1 7 Ejemplo: PAL16L8 1 7 Catálogo de Texas Catálogo de Texas Instrument 1 7 10 Plano AND 1 7 1 64x32 7 1 7 1 7 1 7 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 65 66 PAL y GAL CLK 16R8 8 D Ejemplo: PAL16R8 Q Q 8 Catálogo de Texas Catálogo de Texas Instrument D Q Q 8 D Q Q 8 Señal de reloj única Señal de habilitación dedicada Biestables sin reset í asíncrono Todas las salida síncronas D 8 Plano AND Q Q 8 D 64 32 64x32 Q Q 8 D Q Q 8 D Q Q 8 OEN Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) D Q 66 Q 67 PAL y GAL 16R4 CLK 1 Ejemplo: PAL16R4 7 1 Catálogo de Texas Catálogo de Texas Instrument 7 8 D Q Q 8 D 8 Plano AND Q Q 8 D 64x32 Q Q 8 D Q Q 1 7 1 7 OEN Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 67 68 PAL y GAL Ejemplo: GAL22V10 Reset R Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 8 10 12 14 16 16 14 12 10 8 68 Preset P Catálogo de Lattice Catálogo de Lattice Semiconductor 69 PAL y GAL Ejemplo: GAL22V10 Catálogo de Lattice Catálogo de Lattice Semiconductor 1 Del plano AND n D S0 Q Q S1 Al plano AND MACROCELDA 69 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 70 PAL y GAL Tecnologías de programación Interruptor mediante fusibles Interruptor reprogramable con luz ultravioleta Interruptor reprogramable con luz ultravioleta Interruptor reprogramable eléctricamente p Interruptor Flash 70 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 71 PAL y GAL Tecnologías de programación: Fusibles 71 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 72 PAL y GAL Tecnologías de programación: borrables con UV +5 V Plano AND X Floating gate G S D Y tox tox Z n+ Substrate 72 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) p n+_ 73 PAL y GAL Tecnologías de programación Interruptor mediante fusibles Interruptor reprogramable con luz ultravioleta Interruptor reprogramable con luz ultravioleta Interruptor reprogramable eléctricamente p Interruptor Flash 73 Tema 1. Dispositivos lógicos programables de baja capcidad 1.2. PLDs de baja capacidad 1.2.3 PAL (Programable Array Logic) y GAL (Generic Array Logic) 74 Índice Introducción Introducción Dispositivos lógicos programables de baja capacidad PLA (Programable Logic Array) PLA (Programable Logic PAL (Programable Array Logic) y GAL (Generic Array Logic) Programación de PLDs Programación de PLDs 74 Tema 1. Dispositivos lógicos programables de baja capacidad 75 Programación de Programación de PLDs PLDs Obj ti d t t d Objetivos de este apartado: ¿Cómo se programan los PLDs? 75 Tema 1. Dispositivos lógicos programables de baja capacidad 1.4. Programación de PLDs 76 Programación de Programación de PLDs PLDs SPLDs 76 Tema 1. Dispositivos lógicos programables 1.4. Programación de PLDs 77 Bibliografía Libros de Texto: Libros de Texto: T.L. Floyd. Digital Fundamentals. Prentice Hall. 9ª Edición, 2006 Apuntes de cátedra: VHDL Apuntes de cátedra: VHDL Complementado con: JJ. F. Wakerly. Digital Design: Principles a e y g ta es g c p es aand Practices. Prentice d act ces e t ce Hall. 6ª a 6 edición. 2005. A.K. Sharma “Programable logic Handbook” K. Skahill “VHDL for programmable Logic” http://www.xilinx.com http://www altera com http://www.altera.com 77 http://www.quicklogic.com Tema 1. Dispositivos lógicos programables