Tema VI: Memorias y Dispositivos de Lógica Programable (PLDs) Objetivos: 1.- Conocer la función, características básicas y tipos de memorias. 2.- Conocer la función, características principales y aplicaciones de las memorias semiconductoras en los sistemas digitales. 3.- Reconocer los diferentes tipos de memorias semiconductoras 4.- Comprender las organización interna y los diagramas de tiempos de lectura y escritura de una memoria semiconductora. 5.- Entender la información que proporciona el fabricante de memorias semiconductoras en los catálogos 6.- Adquirir destreza en la realización del mapa de memoria de un sistema digital. 7.- Conocer los tipos, características principales y aplicaciones de los dispositivos lógicos programables. Bibliografía: Fundamentos de los Sistemas Digitales, T. Floyd. Prentice Hall. Circuitos Electrónicos Digitales, M. Mazo y otros. Univ. Alcalá. Sistemas Digitales, A. García Guerra. E.T.S.I.T. U.P.M. Indice: 0.- Introducción 1.- Memorias 1.1.- Introducción 1.2.- Memorias semiconductoras 1.3.- Parámetros temporales 1.4.- Expansión de memorias 1.5.- Mapa de memoria 2.- Dispositivos de Lógica Programable 2.1.- Introducción 2.2.- Arquitectura de los PLDs 2.3.- Clasificación VI -0
Clasificación de memorias Dpto. de Sistemas Electrónicos y de Control MEMORIAS MAGNÉTICAS ÓPTICAS SEMICONDUCTORAS Discos Cintas Acceso secuencial Acceso aleatorio Registros de Disp. acoplados LIFO De lectura De sólo desplazamiento por carga (CCD) FIFO y escritura lectura SRAM -Dual-Port -Serie -... DRAM FLASH ROM PROM EPROM EEPROM -VRAM -EDORAM -... VI -1
Memoria en un sistema digital basado en microprocesador BUS DE DIRECCIONES (unidireccional) Memoria de Memoria de Dispositivos datos programa de E/S Conexión a C.P.U. circuitos exteriores BUS DE DATOS (bidireccional) BUS DE CONTROL VI -2
Características de las memorias semiconductoras de acceso aleatorio Capacidad y organización Nº palabras x bits/palabra Tiempo de acceso SRAM, DRAM, FLASH: reescritura Escritura / reprogramación ROM: programada en fábrica PROM: programación una única vez EPROM: programación varias veces fuera del equipo final (mediante luz UV) EEPROM: programación en el equipo final Densidad Coste Volatilidad ROM, PROM, EPROM, EEPROM, FLASH: no volátiles Consumo SRAM, DRAM: volátiles VI -3
Celdas básicas de las memorias semiconductoras SRAM DRAM Línea de palabra D Q Línea de palabra Selección Habilitación Línea de datos de entrada (escritura) ROM Línea de datos de salida (lectura) Línea de datos PROM Línea de palabra Línea de palabra fusible Línea de datos Línea de datos (1 almacenado) (0 almacenado) Línea de datos Línea de datos (1 programado) (0 programado) Vcc Tecnología TTL: equivale a: Tecnología MOS: +V DD VI-4
Organización y capacidad de una memoria Bus de direcciones (n líneas) MEMORIA Bus de datos (m líneas) Bus de control Nº de palabras: 2 n Organización: 2 n x m bits Bits/palabra: m Ejemplo: memoria con 12 terminales de direcciones y 8 de datos Organización: 2 12 x 8 = 2 10 2 2 x 8 = 4k x 8 bits Capacidad: 32 kbits = 32768 bits VI-5
Diagrama funcional de una memoria SRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 OE D0 D1 D2 D3 Descripción de pines Nombre Descripción A0 - A9 (Address Inputs) Entradas de dirección D0 - D3 (Data Input/Output) Entradas/Salidas de datos (Chip Select) Entrada de selección del chip (Write Enable) Entrada de habilitación de escritura OE (Output Enable) Entrada de habilitación de salida Modos de funcionamiento Modo OE Bus Datos Inactivo 1 X X High Z Lectura 0 1 0 Dout Lectura 0 1 1 High Z Escritura 0 0 X Din A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 Decod. MATRIZ DE CELDAS 1K x 4 4.096 bits D0 D1 D2 D3 Din Control E/S Dout OE VI-6
Representación de líneas y buses Representación de líneas Dato irrelevante o desconocido Nivel lógico alto Nivel lógico bajo Representación de buses Datos conocidos Datos irrelevantes o desconocidos 0F 37 A2 Líneas del bus en estado de alta impedancia VI-7
Ciclo de lectura t RC Entrada de direcciones Dirección válida Salida de datos Dato previo válido Dato válido t AA Ciclo de lectura 1: R/W = 1; CE = 0 t RC Entrada de direcciones Dirección válida Entrada CE Salida de datos Dato válido t AC t AA Ciclo de lectura 2: R/W = 1 NOTA: Si la memoria dispusiera de un terminal de entrada OE habría que tener en cuenta un tercer cronograma. VI-8
Ciclo de escritura t WC Entrada de direcciones Dirección válida Entrada CE Entrada R/W Entrada de datos Dato válido t DS t DH t WP Ciclo de escritura 1: controlado por R/W t WC Entrada de direcciones Dirección válida Entrada CE Entrada R/W Entrada de datos Dato válido t DS t DH t CW Ciclo de escritura 2: controlado por CE VI-9
Parámetros temporales de la memoria PCD5114 (1K x 4 bit SRAM) A.C. CHARACTERISTI V DD = 5V ± 0.5 V; V SS = 0V; T amb = -25 to +70 ºC parameter symbol min. typ. max unit Read cycle Read cycle time t RC 200 - - ns Address access time t AA - - 200 ns Chip select access time t AC - - 200 ns Output hold from address change t OHA 20 - - ns Output hold from chip select t OHC 20 - - ns Output to low impedance from chip selection at C L = 5 pf t CLZ 20 - - ns Output to high impedance from chip deselection at C L = 5 pf t CHZ - - 80 ns Write cycle Write cycle time t WC 200 - - ns Chip selection to end of write t CW 120 - - ns Address set-up time t AS 0 - - ns Write pulse duration t WP 140 - - ns Write recovery time t WR 0 - - ns Data set-up time t DS 80 - - ns Data hold time t DH 0 - - ns Output to high impedance from write enabled at C L = 5 pf t WZ - - 60 ns Output active from end of write at C L = 5 pf t RZ 20 - - ns VI-10
Ampl. de la longitud de palabra de una memoria 2 chips PCD5114 (1k x 4) Memoria 1k x 8 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 IO0 IO1 IO2 IO3 PCD5114 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 IO0 IO1 IO2 IO3 PCD5114 A0 A9 R/W D0 D7 Bus de Direcciones Bus de Datos VI-11
Ampl. del número de palabras de una memoria 2 chips PCD5114 (1k x 4) Memoria 2k x 4 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 IO0 IO1 IO2 IO3 PCD5114 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 IO0 IO1 IO2 IO3 PCD5114 A0 Bus de Direcciones A10 R/W D0 D3 Bus de Datos VI-12
Ampl. del número de palabras y de su longitud 8 chips PCD5114 (1k x 4) Memoria 4k x 8 Bus de datos D0 D7 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 A11 A10 ENABLE S0 S1 E1 S2 E0 S3 DECOD. A -A 9 0 1Kx4 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 A9-A0 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 A -A 9 0 I/O 0 I/O 1 I/O 2 I/O 3 1Kx4 R/W VI-13
Dispositivos de Lógica Programable (PLDs) Ventajas reemplazan a varios componentes discretos - reducción del nº de CIs - reducción de espacio, conexiones, consumo... - reducción del coste - aumento de fiabilidad tienen la posibilidad de ser reprogramados - eliminación de errores de grabación - gran flexibilidad su diseño es sencillo - programación a alto nivel (ecuaciones booleanas, tablas de verdad, diagramas de estados...) - posibilidad de simulación VI -14
Dispositivos de Lógica Programable (PLDs) Elementos necesarios para su programación: ordenador software de programación programador de PLDs VI-15
Dispositivos de Lógica Programable (PLDs) Estructura general de un PLD Entradas Salidas Función de entrada Matriz AND Matriz OR Función de salida ESTRUCTURA BÁSICA realimentación Clasificación de PLDs PROM (Programmable Read Only Memory) Matriz AND fija - Matriz OR programable PAL (Programmable Array Logic) Matriz AND programable - Matriz OR fija FPLA (Field-Programmable Logic Array) o PLA Matriz AND programable - Matriz OR programable GAL (Generic Array Logic) Matriz AND reprogramable - Matriz OR fija - Lógica de salida programable (combinacional-secuencial) VI-16
Dispositivos de Lógica Programable (PLDs) Arquitectura de una PROM Arquitectura de una PAL VI -17
Dispositivos de Lógica Programable (PLDs) Arquitectura de una PLA Diagrama de bloques de una GAL OLMC: Output Logic MacroCell (macro-célula lógica de salida) Puede programarse en modo combinacional o secuencial VI -18
Dispositivos de Lógica Programable (PLDs) Ejemplo de realización de funciones lógicas con PROM, PAL y PLA Funciones: F1=A; F2=AB; F3=A+B; F4=AB+AB PROM PAL PLA VI -19