Memorias y Estructuras Regulares

Download Report

Transcript Memorias y Estructuras Regulares

TEMA 7. ESTRUCTURAS DE MATRIZ Y MEMORIA
Circuitos vlsi (4º curso)
Circuitos vlsi
Dr. José Fco. López
Desp. 307, Pab. A
[email protected]
Índice
Introducción
• Clasificación de las memorias
• Arquitecturas de memoria y componentes básicos
Circuitos vlsi (4º curso)
El núcleo de la memoria
• Memorias de sólo lectura (ROM)
• Memorias de lectura-escritura (RAM)
Circuitos periféricos de la memoria
• Decodificadores de dirección
• Amplificadores de detección
• Referencias de tensión
• Excitadores/búferes
• Temporización y control
Disipación de potencia en las memorias
Matriz Lógica Programable (PLA)
Introducción
Circuitos vlsi (4º curso)
Si bien las memorias semiconductoras están basadas en los mismos
mecanismos de realimentación positiva o de almacenamiento capacitivo, el uso de una celda de registro como modo de almacenar
datos de forma masiva conduce a un excesivo consumo de área.
Las celdas de memoria se combinan en grandes matrices, lo que
minimiza el gasto adicional de recursos debido a la circuitería
periférica e incrementa la densidad de almacenamiento
Debido al enorme tamaño y a la complejidad de estas estructuras de
matriz, aparecen diversos problemas de diseño, algunos de los
cuales se estudiarán en este capítulo.
Clasificación de las memorias
Introducción
Circuitos vlsi (4º curso)
El tipo de unidad de memoria preferible para una aplicación dada
está en función del tamaño de memoria requerido, del tiempo
necesario para acceder a los datos almacenados, de los patrones de
acceso, de la aplicación y de los requisitos del sistema.
Tamaño
• Los diseñadores de circuitos definen el tamaño en función de bits
(número de celdas individuales necesarias para almacenar los datos
• Los diseñadores de chips lo expresan en bytes (grupos de 8 o 9
bits) o en un múltiplo apropiado (Kbyte, Mbyte, Gbyte, Tbyte)
• Los diseñadores de sistemas prefieren indicar los requisitos de
almacenamiento en términos de palabra, las cuales representan una
entidad básica de procesamiento (por ejemplo, un grupo de 32 bits
representa una palabra en una computadora que opere sobre datos de
32 bits).
Clasificación de las memorias
Introducción
Parámetros de temporización
Ciclo de lectura
LECTURA
acceso
lectura
acceso
lectura
Ciclo de escritura
Circuitos vlsi (4º curso)
ESCRITURA
Datos
válidos
acceso
escritura
DATOS
Datos
escritos
Clasificación de las memorias
Introducción
Parámetros de temporización
Ciclo de lectura
LECTURA
acceso
lectura
acceso
lectura
Ciclo de escritura
Circuitos vlsi (4º curso)
ESCRITURA
Datos
válidos
acceso
escritura
DATOS
Tiempo de acceso de lectura:
Es el retardo existente entre la solicitud de lectura y el
momento en que los datos están disponibles a la salida
Datos
escritos
Clasificación de las memorias
Introducción
Parámetros de temporización
Ciclo de lectura
LECTURA
acceso
lectura
acceso
lectura
Ciclo de escritura
Circuitos vlsi (4º curso)
ESCRITURA
Datos
válidos
acceso
escritura
DATOS
Tiempo de acceso de escritura:
Tiempo transcurrido entre una solicitud de escritura y la
grabación final de los datos de entrada en la memoria
Datos
escritos
Clasificación de las memorias
Introducción
Parámetros de temporización
Ciclo de lectura
LECTURA
acceso
lectura
acceso
lectura
Ciclo de escritura
Circuitos vlsi (4º curso)
ESCRITURA
Datos
válidos
acceso
escritura
DATOS
Tiempo de ciclo:
Tiempo mínimo requerido entre lecturas o escrituras consecutivas. Este tiempo es normalmente mayor que el de acceso y no
tienen por qué coincidir el de lectura con el de escritura.
Datos
escritos
Clasificación de las memorias
Circuitos vlsi (4º curso)
Introducción
Función
• Memorias de sólo lectura (ROM): codifican la información como parte de
la topología del circuito (añadiendo/eliminando transistores). Los datos
no pueden modificarse. Son memorias no volátiles (la desconexión de la
tensión no produce pérdida de datos almacenados).
• Memoria de lectura y escritura (RWM): Tienen tiempos de acceso similares y son las memorias más flexibles. Los datos se almacenan en
biestables o en forma de carga de un condensador. Pueden ser estáticas o dinámicas (retienen datos mientras se aplica tensión o necesitan
de un refresco periódico). Son memorias volátiles (los datos se pierden
cuando se desconecta la tensión de alimentación).
• Módulos de memoria: son no volátiles y a pesar de ello ofrecen funcionalidad tanto de lectura como de escritura. Se les denomina memorias
no volátiles de lectura-escritura (NVRWM), y pueden ser EPROM
(erasable programmable read-only memory), E2PROM (electrically
erasable programmable read-only memory) y memorias flash.
Clasificación de las memorias
Introducción
Circuitos vlsi (4º curso)
Patrón de acceso
Este tipo de clasificación se basa en el orden en el que se puede
acceder a los datos:
• Acceso aleatorio
• Memorias serie (FIFO, LIFO, registro de almacenamiento, CAM).
Uno de los ejemplos más típico de este tipo son las memorias de vídeo,
en el que los datos se adquieren y proporcionan como salida en serie,
por lo que no se necesita de un acceso aleatorio.
RWM
Acceso
aleatorio
Acceso no
aleatorio
SRAM
DRAM
FIFO
LIFO
Registro de
desplazamiento
CAM
NVRWM
ROM
EPROM
E2PROM
FLASH
Programable por
máscara
(PROM)
Clasificación de las memorias
Introducción
Circuitos vlsi (4º curso)
Arquitectura de entrada/salida
Se basa en el número de puertos de entrada y salida de datos:
• Un solo puerto compartido entre la entrada y la salida
• Memorias multipuerto (mayor ancho de banda). La inclusión de puertos
adicionales tiende a complicar el diseño de la celda de almacenamiento.
Aplicación
• Antes del comienzo de siglo, la mayoría de las memorias de gran tamaño estaban encapsuladas como circuitos integrados independientes.
• Cada vez hay un mayor porcentaje de memorias que se integran en
el mismo dado que las funciones lógicas (memorias embebidas)
• Cuando se necesitan cantidades masivas de almacenamiento, las
memorias semiconductoras suelen ser demasiado caras y debe usarse
otra tecnología más económica como los discos magnéticos u ópticos.
Estas memorias tienden a ser más lentas.
Arquitecturas de memorias y
componentes básicos
Introducción
A la hora de implementar una memoria de N palabras en la que cada
palabra tiene M bits de anchura, una primera estructura consiste en disponer las sucesivas palabras de memoria en forma lineal.
M bits
S0
Word 0
N palabras
Circuitos vlsi (4º curso)
S1
Word 1
S2
Word 2
SN 2
2
SN 2
1
Word N 2 2
Word N 2 1
Entrada/Salida
(M bits)
Celda de
almacenamiento
Se selecciona una palabra cada vez para
lectura o escritura con la ayuda de un bit
de selección (S0 a SN-1), asumiendo que
tratemos con una memoria de un único
puerto.
Aparecen problemas cuando se intenta
usar este enfoque para memorias mayores
(p. ejemplo, memoria de un millón de palabras, 220=1.048.579)
Arquitecturas de memorias y
componentes básicos
Introducción
El problema se soluciona introduciendo un decodificador de palabras. Se
selecciona una palabra de memoria proporcionando una palabra de
dirección con codificación binaria (A0 a Ak-1). El decodificador activa una
única línea de palabra.
M bits
Circuitos vlsi (4º curso)
S0
Word 0
A0
Word 1
A1
Word 2
AK -
1
Word N - 2
Word N - 1
K=log2N
Entrada-Salida
(M bits)
El decodificador se diseña de forma que
sus dimensiones están adaptadas al tamaño de la celda de almacenamiento y las
conexiones entre los dos bloques no consumen prácticamente área adicional.
Celda de
almacenamiento
Un posible problema se puede deber a la
relación de aspecto de la memoria (p.ej.
para una memoria de 1 millón de palabras
de 8 bits cada una, la relación de aspecto
puede estar en torno a 128.000, que es
220/23), suponiendo que la celda de almacenamiento fuera cuadrada.
Introducción
Arquitecturas de memorias y
componentes básicos
Solución: En una misma fila se almacenan múltiples palabras, de entre
las cuales se selecciona una por medio de un decodificador de columnas
Circuitos vlsi (4º curso)
Línea de palabra
Línea de bit
Esta arquitectura funciona bien para memorias de hasta 64kbits
Amplify swing to
rail-to-rail amplitude
Selects appropriate
word
Introducción
Arquitecturas de memorias y
componentes básicos
Circuitos vlsi (4º curso)
El área ocupada por un gran módulo de memoria está dominada por
el tamaño del núcleo de la memoria. Por lo tanto, resulta crucial
mantener lo más pequeño posible el tamaño de la celda básica de
almacenamiento, aún a costa de sacrificar algunas otras propiedades
(margen de ruido, recorrido lógico de tensión, fan-out, velocidad…)
Estas propiedades deberán recuperarse con la ayuda de una serie de
circuitos periféricos antes de producirse la interfaz con el exterior o
con la circuitería circundante.
Ejemplo: resulta común reducir el recorrido de tensión en las líneas de
bit empleando un valor sustancialmente menor que la tensión de
alimentación. De esta forma reducimos el retardo y también el consumo de potencia.
Introducción
Arquitecturas de memorias y
componentes básicos
Circuitos vlsi (4º curso)
Para memorias mayores se añade una dimensión adicional al espacio
de las dimensiones.
Ventajas:
1. Menor cableado
2. Ahorro de potencia
Introducción
Circuitos vlsi (4º curso)
Divided word line (DWL) structure
• Yoshimoto et al, IEEE Journal of Solid
State Circuits, Oct. 1983.
Arquitecturas de memorias y
componentes básicos
Introducción
Arquitecturas de memorias y
componentes básicos
Circuitos vlsi (4º curso)
Hierarchical Word Decoding (HWD) architecture
• Hirose et al, IEEE Journal of Solid
State Circuits, Oct. 1990.
Circuitos vlsi (4º curso)
Introducción
• Hirose et al, IEEE Journal of Solid
State Circuits, Oct. 1990.
Arquitecturas de memorias y
componentes básicos
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
Aplicaciones: programas para procesadores con aplicaciones fijas,
como los incorporados a las lavadoras, calculadoras, videoconsolas…
BL
BL
VDD
WL
WL
Circuitos vlsi (4º curso)
1
BL
WL
BL
WL
0
Diode ROM
MOS ROM 1
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
BL[0]
BL[1]
BL[2]
BL[3]
WL[0]
V DD
Circuitos vlsi (4º curso)
WL[1]
WL[2]
V DD
WL[3]
V bias
Pull-down loads
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
Aplicaciones: programas para procesadores con aplicaciones fijas,
como los incorporados a las lavadoras, calculadoras, videoconsolas…
BL
BL
BL
VDD
WL
WL
WL
Circuitos vlsi (4º curso)
1
BL
WL
BL
BL
WL
WL
0
GND
Diode ROM
MOS ROM 1
MOS ROM 2
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
V DD
Pull-up devices
WL[0]
GND
Circuitos vlsi (4º curso)
WL [1]
WL [2]
GND
WL [3]
BL [0]
BL [1]
BL [2]
BL [3]
Una memoria ROM de NM bits puede considerarse como una
combinación de M puertas NOR de N entradas (como máximo)
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
Algunas consideraciones de diseño
WL0
GND
Circuitos vlsi (4º curso)
WL1
WL2
GND
WL3
La memoria se escribe (personaliza)
sñadiendo selectivamente transistores en los puntos necesarios. Esto
se lleva a cabo con la ayuda exclusiva de la capa de difusión.
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
Algunas consideraciones de diseño
WL0
GND
Circuitos vlsi (4º curso)
WL1
WL2
GND
WL3
La memoria se programa mediante
la adición de contactos metaldifusión. La presencia de un contacto de metal con la línea de bit
crea una celda 0, mientras que su
ausencia indica una celda 1.
Ocupa mayor área que el caso anterior pero hay un beneficio ya que
se permite programar la memoria en
un ciclo “tardío” del proceso, reduciendo el tiempo de espera
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
ROM MOS NAND 44
V DD
Pull-up devices
BL [0]
Circuitos vlsi (4º curso)
WL [0]
WL [1]
WL [2]
WL [3]
BL [1]
BL [2]
BL [3]
Es necesario que las líneas de
selección de palabra operen
en modo inverso.
Ventaja: no hace falta conexión
con tensión de alimentación lo
cual reduce el tamaño de la
celda
Memorias de Sólo Lectura (ROM)
El núcleo de la memoria
ROM MOS NAND 44
Circuitos vlsi (4º curso)
WL0
WL1
WL2
WL3
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Circuitos vlsi (4º curso)
El almacenamiento en las memorias RAM se basa en la realimentación positiva o en la carga capacitiva (SRAM o DRAM)
SRAM
• Almacena datos mientras se mantenga la alimentación
• Ocupan mucha área (6 transistores/célula)
• Son rápidas
• Son diferenciales
DRAM
• Necesitan circuitería de refresco
• Son pequeñas (1-3 transistores/célula)
• Son más lentas
• Son unipolares
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
WL
V DD
Circuitos vlsi (4º curso)
M2
M5
Q
M1
BL
M4
Q
M6
M3
BL
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Operación de lectura
WL
2.5V
Circuitos vlsi (4º curso)
2.5V
V DD
M2
M5
0 Q
M1
BL
M4
Q
1
M6
M3
BL
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
WL
V DD
M4
BL
Q= 0
Circuitos vlsi (4º curso)
M5
V DD
Cbit
M1
Q= 1
V DD
BL
M6
V DD
Cbit
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Operación de escritura
WL
0
V DD
Circuitos vlsi (4º curso)
1
M2
M5
0 Q
M1
BL
M4
Q
1
M6
M3
BL
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
WL
V DD
M4
Circuitos vlsi (4º curso)
M5
Q= 1
M1
BL = 1
M6
Q= 0
V DD
BL = 0
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Circuitos vlsi (4º curso)
M2
VDD
M4
Q
Q
M1
M3
GND
M5
BL
M6
BL
WL
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Celda MOS SRAM con carga resistiva
WL
V DD
Circuitos vlsi (4º curso)
RL
M3
BL
RL
Q
Q
M1
M2
M4
BL
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Circuitos vlsi (4º curso)
Num. transistores
Tamaño celda
Corriente en reposo
CMOS complementaria
Carga resistiva
6
4
58.2 m2
40.8 m2
10-15A
10-12A
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Memoria de acceso aleatorio dinámica (DRAM)
BL 1
BL 2
WWL
WWL
RWL
Circuitos vlsi (4º curso)
M3
M1
CS
X
M2
RWL
V DD 2 V T
X
BL 1
BL 2
V DD
V DD 2 V T
DV
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Memoria de acceso aleatorio dinámica (DRAM)
BL2
BL1
GND
RWL
Circuitos vlsi (4º curso)
M3
M2
WWL
M1
Memorias de Lectura-Escritura (RAM)
El núcleo de la memoria
Circuitos vlsi (4º curso)
Memoria de acceso aleatorio dinámica (DRAM)
Circuitos periféricos de la memoria
El diseño de las memorias depende en gran medida de la circuitería
periférica para recuperar tanto los niveles deseados de velocidad
como la integridad eléctrica.
Circuitos vlsi (4º curso)
El diseño del núcleo depende en gran medida de consideraciones
tecnológicas y cae fuera de la tarea de un diseñador de circuitos,
pero es en el diseño de los circuitos periféricos donde un buen diseñador puede conseguir una importante diferencia de resultados.
Decodificadores de dirección
Circuitos periféricos de la memoria
El diseño de estos decodificadores tiene un impacto sustancial sobre
la velocidad y el consumo de potencia de la memoria:
• Decodificadores de fila
• Decodificadores de columna
• Decodificadores de bloque
Circuitos vlsi (4º curso)
Estas unidades están estrechamente acopladas al núcleo de memoria
y es una obligación que exista una adaptación geométrica entre las
dimensiones de celda de los decodificadores y el propio núcleo.
Decodificadores de dirección
Circuitos periféricos de la memoria
Decodificadores de fila
Se trata de una colección de 2M puertas lógicas complejas, cada una
con M entradas
Circuitos vlsi (4º curso)
(N)AND Decoder
NOR Decoder
Decodificadores de dirección
Circuitos periféricos de la memoria
•••
WL 1
Circuitos vlsi (4º curso)
WL 0
A 0A 1 A 0A 1 A 0A 1 A 0A 1
A 2A 3 A 2A 3 A 2A 3 A 2A 3
•••
A1 A0
A0
A1
A3 A2
A2
A3
Decodificador NAND utilizando predecodificadores de dos entradas
Decodificadores de dirección
Circuitos periféricos de la memoria
Decodificador de columna
BL 0 BL 1 BL 2 BL 3
BL0 BL1 BL2 BL 3
A0
S0
A0
S1
A0
Circuitos vlsi (4º curso)
S2
A1
A1
S3
A1
D
D
Amplificadores de detección
Circuitos vlsi (4º curso)
Circuitos periféricos de la memoria
Los amplificadores de detección juegan un papel fundamental en la
funcionalidad , prestaciones y fiabilidad de los circuitos de memoria.
realizan las siguientes funciones:
• Amplificación
• Reducción del retardo
• Reducción del consumo
• Restauración de la señal
Los amplificadores de detección son circuitos analógicos por naturaleza y un análisis detallado de los mismos requiere una gran
experiencia con circuitos analógicos.
pequeña
transición
s.a.
input
output
Amplificadores de detección
Circuitos periféricos de la memoria
V DD
M3
M4
y
M1
Circuitos vlsi (4º curso)
bit
SE
M2
bit
M5
Amplificador diferencial de detección
Out
Amplificadores de detección
Circuitos periféricos de la memoria
EQ
BL
BL
VDD
Circuitos vlsi (4º curso)
SE
SE
Latch inversor CMOS
con acoplamiento cruzado
Los inversores CMOS exhiben una alta
ganancia cuando se los sitúa en su región
de transición
Caso de estudio
Clock
generator
Z-address
buffer
4 Mbits
Tacceso=20 ns
VDD=3.3 V
Potencia=70 mA
@ 40MHz
CMOS 0.6 m
4 polisilicios
2 metales
X-address
buffer
Circuitos vlsi (4º curso)
Predecoder and block selector
Bit line load
Transfer gate
Column decoder
Sense amplifier and write driver
CS, WE
buffer
I/O
buffer
x1/x4
controller
Y -address
buffer
X -address
buffer
32 bloques de 1024
filas y 128 columnas
Direcciones filas=10
Direcciones col=7
Direcciones bloq=5
Circuitos vlsi (4º curso)
Caso de estudio
Caso de estudio
Block
select
Bit-line
load
ATD
BEQ
Circuitos vlsi (4º curso)
Local WL
Área de celda=19 m2
Memory cell
B /T
B /T
CD
CD
CD
I/O
I/O line
I/O
Sense amplifier