Circuitos vlsi (4º curso) TEMA 7. ESTRUCTURAS DE MATRIZ Y MEMORIA Circuitos vlsi Dr. José Fco....
-
Upload
frasquito-mata -
Category
Documents
-
view
214 -
download
0
Transcript of Circuitos vlsi (4º curso) TEMA 7. ESTRUCTURAS DE MATRIZ Y MEMORIA Circuitos vlsi Dr. José Fco....
Cir
cuit
os
vls
i (4
º cu
rso)
TEMA 7. ESTRUCTURAS DE MATRIZ Y MEMORIA
Circuitos vlsi
Dr. José Fco. LópezDesp. 307, Pab. [email protected]
Cir
cuit
os
vls
i (4
º cu
rso)
Índice
Introducción• Clasificación de las memorias• Arquitecturas de memoria y componentes básicos
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)
Cir
cuit
os
vls
i (4
º cu
rso)
Introducción
Si bien las memorias semiconductoras están basadas en los mismosmecanismos de realimentación positiva o de almacenamiento capa-citivo, 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 queminimiza el gasto adicional de recursos debido a la circuiteríaperiférica e incrementa la densidad de almacenamiento
Debido al enorme tamaño y a la complejidad de estas estructuras dematriz, aparecen diversos problemas de diseño, algunos de loscuales se estudiarán en este capítulo.
Cir
cuit
os
vls
i (4
º cu
rso)
Introducción
El tipo de unidad de memoria preferible para una aplicación dadaestá en función del tamaño de memoria requerido, del tiemponecesario para acceder a los datos almacenados, de los patrones deacceso, de la aplicación y de los requisitos del sistema.
Clasificación de las memorias
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).
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
Parámetros de temporización
LECTURA
ESCRITURA
DATOS
Ciclo de lectura
acceso lectura
acceso lectura Ciclo de escritura
acceso escritura
Datosválidos
Datosescritos
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
Parámetros de temporización
LECTURA
ESCRITURA
DATOS
Ciclo de lectura
acceso lectura
acceso lectura Ciclo de escritura
acceso escritura
Datosválidos
Datosescritos
Tiempo de acceso de lectura:Es el retardo existente entre la solicitud de lectura y elmomento en que los datos están disponibles a la salida
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
Parámetros de temporización
LECTURA
ESCRITURA
DATOS
Ciclo de lectura
acceso lectura
acceso lectura Ciclo de escritura
acceso escritura
Datosválidos
Datosescritos
Tiempo de acceso de escritura:Tiempo transcurrido entre una solicitud de escritura y lagrabación final de los datos de entrada en la memoria
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
Parámetros de temporización
LECTURA
ESCRITURA
DATOS
Ciclo de lectura
acceso lectura
acceso lectura Ciclo de escritura
acceso escritura
Datosválidos
Datosescritos
Tiempo de ciclo:Tiempo mínimo requerido entre lecturas o escrituras consecuti- vas. Este tiempo es normalmente mayor que el de acceso y no tienen por qué coincidir el de lectura con el de escritura.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
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 simi- lares y son las memorias más flexibles. Los datos se almacenan en biestables o en forma de carga de un condensador. Pueden ser estáti- cas 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 funcio- nalidad 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.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
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 NVRWM ROM
Acceso aleatorio
Acceso no aleatorio
EPROM
E2PROM
FLASH
Programable por máscara (PROM)
SRAM
DRAM
FIFO
LIFO
Registro de desplazamiento
CAM
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónClasificación de las memorias
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 ta- mañ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.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
A la hora de implementar una memoria de N palabras en la que cadapalabra tiene M bits de anchura, una primera estructura consiste en dis-poner las sucesivas palabras de memoria en forma lineal.
Word 0
Word 1
Word 2
WordN22
WordN21
Celda dealmacenamiento
M bits
S0
S1
S2
SN2 2
SN2 1
Entrada/Salida(M bits)
N p
ala
bras
Se selecciona una palabra cada vez paralectura o escritura con la ayuda de un bitde selección (S0 a SN-1), asumiendo quetratemos con una memoria de un únicopuerto.
Aparecen problemas cuando se intentausar este enfoque para memorias mayores(p. ejemplo, memoria de un millón de pala-bras, 220=1.048.579)
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
El problema se soluciona introduciendo un decodificador de palabras. Seselecciona una palabra de memoria proporcionando una palabra dedirección con codificación binaria (A0 a Ak-1). El decodificador activa unaúnica línea de palabra.
M bits
A0
A1
AK - 1
Word 0
Word 1
Word 2
WordN - 2
WordN - 1
Celda dealmacenamiento
S0
Entrada-Salida(M bits)
K=log2N
El decodificador se diseña de forma quesus dimensiones están adaptadas al tama-ño de la celda de almacenamiento y lasconexiones entre los dos bloques no con-sumen prácticamente área adicional.
Un posible problema se puede deber a larelación de aspecto de la memoria (p.ej. para una memoria de 1 millón de palabrasde 8 bits cada una, la relación de aspectopuede estar en torno a 128.000, que es220/23), suponiendo que la celda de alma-cenamiento fuera cuadrada.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
Solución: En una misma fila se almacenan múltiples palabras, de entrelas cuales se selecciona una por medio de un decodificador de columnas
Ro
w D
eco
de
r
Bit line2L2K
Word line
AK
AK1 1
AL2 1
A0
M.2K
AK2 1
Sense amplifiers / Drivers
Column decoder
Input-Output(M bits)
Amplify swing torail-to-rail amplitude
Selects appropriateword
Línea de palabra
Línea de bit
Esta arquitectura fun-ciona bien para memo-rias de hasta 64kbits
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
El área ocupada por un gran módulo de memoria está dominada porel tamaño del núcleo de la memoria. Por lo tanto, resulta crucialmantener lo más pequeño posible el tamaño de la celda básica dealmacenamiento, 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 decircuitos periféricos antes de producirse la interfaz con el exterior ocon la circuitería circundante.
Ejemplo: resulta común reducir el recorrido de tensión en las líneas debit empleando un valor sustancialmente menor que la tensión dealimentación. De esta forma reducimos el retardo y también el con-sumo de potencia.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
Para memorias mayores se añade una dimensión adicional al espaciode las dimensiones.
Globalamplifier/driver
Controlcircuitry
Global data bus
Block selector
Block 0
Rowaddress
Columnaddress
Blockaddress
Blocki BlockP 2 1
I/O
Ventajas:1. Menor cableado2. Ahorro de potencia
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
Divided word line (DWL) structure
• Yoshimoto et al, IEEE Journal of Solid State Circuits, Oct. 1983.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
Hierarchical Word Decoding (HWD) architecture
• Hirose et al, IEEE Journal of Solid State Circuits, Oct. 1990.
Cir
cuit
os
vls
i (4
º cu
rso)
IntroducciónArquitecturas de memorias ycomponentes básicos
• Hirose et al, IEEE Journal of Solid State Circuits, Oct. 1990.
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
Aplicaciones: programas para procesadores con aplicaciones fijas,como los incorporados a las lavadoras, calculadoras, videoconsolas…
WL
BL
1WL
BL
WL
BL
WL
BL
0
VDD
Diode ROM MOS ROM 1
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
WL[0]
VDD
BL[0]
WL[1]
WL[2]
WL[3]
Vbias
BL[1]
Pull-down loads
BL[2] BL[3]
VDD
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
Aplicaciones: programas para procesadores con aplicaciones fijas,como los incorporados a las lavadoras, calculadoras, videoconsolas…
WL
BL
WL
BL
1WL
BL
WL
BL
WL
BL
0
VDD
WL
BL
GND
Diode ROM MOS ROM 1 MOS ROM 2
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
WL[0]
GND
BL [0]
WL [1]
WL [2]
WL [3]
VDD
BL [1]
Pull-up devices
BL [2] BL [3]
GND
Una memoria ROM de NM bits puede considerarse como una combinación de M puertas NOR de N entradas (como máximo)
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
Algunas consideraciones de diseño
WL0
WL1
WL2
WL3
GND
GND
La memoria se escribe (personaliza)sñadiendo selectivamente transisto-res en los puntos necesarios. Estose lleva a cabo con la ayuda exclu-siva de la capa de difusión.
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
Algunas consideraciones de diseño
WL0
WL1
WL2
WL3
GND
GND
La memoria se programa mediantela adición de contactos metal-difusión. La presencia de un con-tacto de metal con la línea de bitcrea una celda 0, mientras que suausencia indica una celda 1.
Ocupa mayor área que el caso ante-rior pero hay un beneficio ya que se permite programar la memoria enun ciclo “tardío” del proceso, redu-ciendo el tiempo de espera
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
ROM MOS NAND 44
WL [0]
WL [1]
WL [2]
WL [3]
VDD
Pull-up devices
BL [3]BL[2]BL [1]BL [0]
Es necesario que las líneas deselección de palabra operen en modo inverso.
Ventaja: no hace falta conexióncon tensión de alimentación locual reduce el tamaño de lacelda
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Sólo Lectura (ROM)
ROM MOS NAND 44
WL0
WL1
WL2
WL3
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
El almacenamiento en las memorias RAM se basa en la realimen-tació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
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
WL
BL
VDD
M5M6
M4
M1
M2
M3
BL
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
WL
BL
VDD
M5M6
M4
M1
M2
M3
BL
Operación de lectura
10
2.5V
2.5V
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
WL
BL
VDD
M 5
M 6
M 4
M1VDDVDD VDD
BL
Q = 1Q = 0
Cbit Cbit
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
WL
BL
VDD
M5M6
M4
M1
M2
M3
BL
Operación de escritura
10
10
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
BL = 1 BL = 0
Q = 0
Q = 1
M1
M4
M5
M6
VDD
VDD
WL
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
VDD
GND
WL
BLBL
M1 M3
M4M2
M5 M6
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
Celda MOS SRAM con carga resistiva
M3
RL RL
VDD
WL
Q Q
M1 M2
M4
BL BL
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
CMOS complementaria Carga resistiva
Num. transistores 6 4
Tamaño celda 58.2 m2 40.8 m2
Corriente en reposo 10-15A 10-12A
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
Memoria de acceso aleatorio dinámica (DRAM)
WWL
BL1
M1 X
M3
M2
CS
BL2
RWL
VDD
VDD2VT
DVVDD2VTBL2
BL1
X
RWL
WWL
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
Memoria de acceso aleatorio dinámica (DRAM)
BL2 BL1 GND
RWL
WWL
M3
M2
M1
Cir
cuit
os
vls
i (4
º cu
rso)
El núcleo de la memoriaMemorias de Lectura-Escritura (RAM)
Memoria de acceso aleatorio dinámica (DRAM)
M1
CS
WL
BL
CBL
VDD2VT
WL
X
sensing
BL
GND
Write 1 Read 1
VDD
VDD /2 V
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoria
El diseño de las memorias depende en gran medida de la circuiteríaperiférica para recuperar tanto los niveles deseados de velocidad como la integridad eléctrica.
El diseño del núcleo depende en gran medida de consideracionestecnoló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.
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaDecodificadores de dirección
El diseño de estos decodificadores tiene un impacto sustancial sobrela velocidad y el consumo de potencia de la memoria:• Decodificadores de fila• Decodificadores de columna• Decodificadores de bloque
Estas unidades están estrechamente acopladas al núcleo de memoriay es una obligación que exista una adaptación geométrica entre lasdimensiones de celda de los decodificadores y el propio núcleo.
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaDecodificadores de dirección
Decodificadores de filaSe trata de una colección de 2M puertas lógicas complejas, cada unacon M entradas
(N)AND Decoder
NOR Decoder
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaDecodificadores de dirección
• • •
• • •
A2A2
A 2A3
WL 0
A2A3A2A 3A2A3
A3 A3A0A0
A0A1A 0A1A0A1A0A1
A1 A1
WL 1
Decodificador NAND utilizando predecodificadores de dos entradas
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaDecodificadores de dirección
Decodificador de columna
A0S0
BL0 BL1 BL2 BL3
A1
S1
S2
S3
D
BL 0 BL 1 BL 2 BL 3
D
A 0
A 0
A1
A 1
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaAmplificadores de detección
Los amplificadores de detección juegan un papel fundamental en lafuncionalidad , 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ñalLos amplificadores de detección son circuitos analógicos por natura-leza y un análisis detallado de los mismos requiere una gran experiencia con circuitos analógicos.
outputinput
s.a.pequeñatransición
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaAmplificadores de detección
M4
M1
M5
M3
M2
VDD
bitbit
SE
Outy
Amplificador diferencial de detección
Cir
cuit
os
vls
i (4
º cu
rso)
Circuitos periféricos de la memoriaAmplificadores de detección
EQ
VDD
BL BL
SE
SE
Latch inversor CMOScon acoplamiento cruzado
Los inversores CMOS exhiben una altaganancia cuando se los sitúa en su regiónde transición
Cir
cuit
os
vls
i (4
º cu
rso)
Caso de estudio
Clockgenerator
CS, WEbuffer
I/Obuffer
Y-addressbuffer
X-addressbuffer
x1/x4controller
Z-addressbuffer
X-addressbuffer
Predecoder and block selectorBit line load
Transfer gateColumn decoder
Sense amplifier and write driver
4 MbitsTacceso=20 nsVDD=3.3 VPotencia=70 mA @ 40MHzCMOS 0.6 m4 polisilicios2 metales
32 bloques de 1024filas y 128 columnasDirecciones filas=10Direcciones col=7Direcciones bloq=5
Cir
cuit
os
vls
i (4
º cu
rso)
Caso de estudio
Global word line
Sub-global word line
Block groupselect
Blockselect
Blockselect
Memory cell
Localword line
Block 0
•••
Localword line
Block 1
•••
Block 2...
•••
Cir
cuit
os
vls
i (4
º cu
rso)
Caso de estudio
Bit-lineload
Blockselect ATD
BEQ
Local WL
Memory cell
I/O lineI/O
B/T
CD
Sense amplifier
CD CD
I/O
B/T
Área de celda=19 m2