MEMORIAS Y LÓGICA PROGRAMABLE CONCEPTOS BÁSICOS LDD 2007-08 1
Memorias Almacenan gran cantidad de información (datos). Esquema lógico básico: DIR p MEM p 2 * n n DAT DAT n Señales de control LDD 2007-08 2
Tipos de memoria: 1. Acceso aleatorio (por la dirección): Memorias de lectura y escritura: RAM + Estáticas + Dinámicas Memorias de sólo lectura: ROM (ROM, PROM, EPROM, EEPROM, FLASH)) Redes programables: PLA, PAL, PLD etc... 2. Acceso por contenido: memorias asociativas. LDD 2007-08 3
Algunas definiciones: Dirección : Para guardar un dato Para disponer/leer un dato Tamaño o capacidad: Por ejemplo: 1k x 8, 8k Tamaño del dato(palabra) : 8 bit Número de datos (palabras):1k LDD 2007-08 4
Algunas definiciones: Tiempo de acceso: tiempo que transcurre desde que se inicicia una operación de lectura/escritura hasta que dicha operación finaliza: se dispone del dato/se ha escrito el dato. Ciclo de lectura/escritura: Tiempo mínimo que ha de transcurrir entre dos operaciones de lectura/escritura consecutivas (operación + tiempo de espera) LDD 2007-08 5
Memorias RAM : Nombre: memorias de acceso aleatorio (random access memory). Memorias de lectura y escritura. La información es volátil. Dos tipos : RAM estática (SRAM) RAM dinámica (DRAM) LDD 2007-08 6
1. RAM estática Esquema lógico: DIR DAT in p n RAM 2 p x n n DAT out CS.L RD/(WR.L) LDD 2007-08 7
1. RAM estática Ciclo de lectura: dirección RD/(WR.L) CS.L DAT out tiempo de acceso Dato leído LDD 2007-08 8
1. RAM estática Ciclo de escritura: dirección RD/(WR.L) CS.L DAT in Dato a escribir Tiempo de acceso LDD 2007-08 9
2. RAM dinámica: Memoria de mayor capacidad de almacenamiento Celda básica: un condensador Necesario: refresco (refresh) LDD 2007-08 10
2. RAM dinámica Esquema lógico: DIR p/2 DRAM p 2 x n n Dout Din n CAS.L RD/(WR.L) RAS.L LDD 2007-08 11
2. RAM dinámica: Ciclo de lectura: dirección RAS.L CAS.L RD/(WR.L)) DAT out fila columna dato ciclo completo de lectura LDD 2007-08 12
2. RAM dinámica: Ciclo de escritura: dirección RAS.L CAS.L RD/(WR.L) DAT in fila columna dato ciclo completo de escritura LDD 2007-08 13
Memorias ROM: Nombre: read only memory. Memorias de sólo lectura. La información es permanente. LDD 2007-08 14
Memorias ROM: Esquema lógico: DIR p ROM 2 p x n n DAT out CS.L RD.L LDD 2007-08 15
Memorias ROM: Ciclo de lectura: dirección RD.L CS.L DAT out tiempo de acceso Dato leído LDD 2007-08 16
Tipos de memorias ROM: ROM PROM EPROM EEPROM FLASH LDD 2007-08 17
Lógica programable: Redes programables: PROM, PAL. PAL,... PLDs Incluyen componentes secuenciales Pueden emplearse para implementar tanto la parte combinacional como secuencial de un sistema LDD 2007-08 18
Alternativas para implementar un sistema digital: Digital Logic Standard Logic Progammable Logic (FPLDs) ASICs Full Custom TTL 74xx CMOS 4xxx PLDs FPGAs CPLDs Microproce ssor & RAM Gate Arrays Standard Cell LDD 2007-08 19
Características de las tecnologías: Speed, Density, Complexity, Market Volume needed for Product PLDs CPLDs FPGAs ASICs Full Custom VLSI Design Engineering Cost, Time to Develop Product LDD 2007-08 20
Breve historia: Inicialmente se usaban simples PLDs: PLAs/ PALs: Redes AND + OR. Implementan Sumas de términos producto (SOP) Notación abreviada para indicar entradas de puertas AND/OR. Sustituyen diseños TTL LDD 2007-08 21
Ejemplo PLA: LDD 2007-08 22
Situación actual: Actualmente CPLDs y FPGAs de gran densidad, velocidad y coste relativamente bajos. Permiten diseños de complejidad media/alta desarrollados en tpos menores (semanas frente a meses). Frecuencias de operación típicas: 50-400MHz. ASICs/Fullcutom: generan diseños con frecuencias de operación altas (retardos menores), un consumo de área menor, y menor coste/unidad. Pero los costes iniciales de los ingenieros de diseño son mucho mayores. LDD 2007-08 23
CPLDs y FPGAs: Estructura matricial: Repetición de un bloque de lógica combinacional programable (LE) + Elemento secuenciales (Biestables) + Red de interconexión programable + Bus especial para señal de reloj (clock skew) LDD 2007-08 24
Ejemplos de PLDs : LDD 2007-08 25
Arquitectura ALTERA MAX 7000 Es una CPLD equivalente a 600 / 20.000 puertas Configuración mediante programación de una memoria tipo EEPROM (mantiene la configuración sin alimentación) Constan de 32 a 256 macroceldas agrupadas en LABs: Logic Array Blocks Estructuras de E/S tipo buffer tri-estado programables: entrada, salida, bidireccionales. LDD 2007-08 26
Arquitectura ALTERA MAX 7000 LAB Local Array Parallel Logic Expanders (from other macrocells) This respresents a multiplexer controlled by the configuration program Global Clear Global Clock Programmable Register Product- Term Select Matrix Clock/ Enable Select PRN D Q ENA CLRN To I/O Control Block Clear Select VCC Shared Logic Expanders To PIA 36 Signals from PIA 16 Expander Product LDD 2007-08 27
Arquitectura ALTERA MAX 7000 Input/GCLK1 Input/OE2/GCLK2 Input/OE1 Input/GCLRn 6 Output 6 Output 6-16 I/O Pins I/O Control Block 6-16 6- LAB A Macrocells 1-16 16 3 3 1 LAB B Macrocells 17-32 6-16 6- I/O Control Block 6-16 I/O Pins 6 6-16 PIA 6-16 6 6- LAB C LAB D 6-6-16 I/O Pins I/O Control Block 6- Macrocells 33-48 16 3 3 1 Macrocells 49-64 6- I/O Control Block 6-16 I/O Pins 6 6-16 6-16 6 LDD 2007-08 28
Arquitectura ALTERA FLEX 10K Es una CPLD equivalente a 10.000 /250.000 puertas Configuración : escritura en una memoria SRAM (NO mantiene la configuración sin alimentación, en sistemas reales se usa una PROM auxiliar) La lógica combinacional se implementa mediante LE que contienen SRAM de 16x1. Los LEs se agrupan en LABs: Logic Array Blocks. Puede haber de 72 a 1520 LABs. LDD 2007-08 29
Arquitectura ALTERA FLEX 10K Los LEs se agrupan en LABs: Logic Array Blocks. Puede haber de 72 a 1520 LABs. Carry In Cascade In Register Bypass Programmable Register DATA1 DATA2 DATA3 DATA4 Look-Up Table (LUT) Carry Chain Cascade Chain D PRN Q To FastTrack Interconnect ENA CLRN LABCTRL1 LABCTRL2 Clear/Preset Logic To LAB Local Interconnect Chip-Wide Reset Clock Select LABCTRL3 LABCTRL4 Carry Out Cascade Out LDD 2007-08 30
Arquitectura ALTERA FLEX 10K (LABs) Dedicated Inputs & Global Signals Row Interconnect 6 16 4 4 4 Carry-In and Cascade-In 2 8 24 Column-to-Row Interconnect 4 LE1 Logic Block Array (LAB) 4 4 4 LE2 LE3 LE4 8 16 4 LE5 4 LE6 4 LE7 4 LE8 8 2 Carry-Out and Cascade-Out LDD 2007-08 31
Arquitectura ALTERA FLEX 10K Existen también una estructuras de memoria de 2048 bits: los EABs Los elementos de E/S son buffer tri-estado programables + un registro de 1 bit opcional IOE IOE IOE IOE IOE IOE IOE IOE IOE IOE I/O Element (IOE) IOE IOE IOE IOE Row Row EAB IOE IOE IOE IOE Local Interconnect Logic Element (LE) EAB Logic Array Logic Array Block (LAB) IOE IOE IOE IOE IOE IOE IOE IOE IOE IOE Embedded Array Block (EAB) 2K Bits RAM LDD 2007-08 32
Arquitectura XILINX 4000 Es una familia de FPGA de 2.000 a 180.000 puertas Configuración : escritura en una memoria SRAM (NO mantiene la configuración sin alimentación) Constan de unos Bloques Lógicos Configurables: CLBs en una estructura matricial con una red de interconexión programable. Cada CLB incluye: 3 SRAM (LUTs) 2 biestables Los drivers de E/S: IOB son programables de tipo tri-estado, con registro opcional. Los dispositivos constan de 100 a 3.000 CLBs. LDD 2007-08 33
Arquitectura XILINX 4000 C 1 C 4 4 G 4 G 3 G 2 G 1 F 4 F 3 F 2 F 1 Look-Up Table (LUT) Look-Up Table (LUT) K (Clock) H 1 D IN /H 2 SR/H 0 EC Look-Up Table (LUT) 1 1 S/R Control S/R Control SD D Q EC RD SD D Q EC RD Register Bypass Programmable Register Register Bypass YQ Y XQ Programmable Register X LDD 2007-08 34
Aplicaciones de PLDs: Han sustituido los diseños realizados hace algunos años mediante CI Procesado digital de señal (DSP) Aplicaciones de multimedia Comunicaciones de alta velocidad Sistemas de redes Implementación de protocolos de bus... LDD 2007-08 35
Última generación de PLDs: Mayor tamaño y prestaciones Nuevas estructuras internas que permiten diseños más complejos en un área menor Tensiones de alimentación menores: 1.5 V a 3 V Módulos de altas prestaciones: Multiplicadores de alta velocidad (DSP) Microprocesadores tipo RISC... LDD 2007-08 36