IV CONGRESO DE MICROELECTRO´ NICA APLICADA, UTN FACULTAD REGIONAL BAHI´A BLANCA, SEPTIEMBRE 2013
1
Disen˜o de Memoria SRAM con Interfaz de Acceso Serie
Ceminari Paola, Osterman Niria, Di Federico Mart´ın, Julian Pedro, Mandolesi Pablo Departamento de Ingenier´ıa Ele´ctrica y de Computadoras, Universidad Nacional del Sur,
Bah´ıa Blanca, Buenos Aires, Argentina.
Abstract—El presente trabajo describe el disen˜ o de una memoria SRAM de 256 bits la cual consta de 32 filas de 8 bits cada una. Este circuito posee una interfaz que permite el ingreso de datos, direcciones y sen˜ ales de control en forma serie, con el fin de minimizar la cantidad de pines entrada-salida utilizados.
Index Terms—memoria SRAM, layout, interfaz serie.
las l´ıneas de bit en los momentos en los que W L se encuentra activa.
WL VDD
M2
M4
I. INTRODUCCIO´ N
T Odo sistema computacional, independientemente de su taman˜o, necesita memoria para almacenar datos e instrucciones de programa.
La mayor parte de un chip de memoria consiste en un arreglo de celdas en las que se almacena la informacio´n. Cada celda de memoria esta´ conectada a una l´ınea de fila y a una l´ınea de columna y es capaz de almacenar un bit. Las l´ıneas de columna son precargadas en los momentos en los que la memoria no esta´ siendo escrita ni le´ıda. La activacio´n de una de las l´ıneas de fila se hace a trave´s de un decodificador. Cuando una fila esta´ activa, puede ser escrita o le´ıda y para leer su contenido sin modificarlo se utilizan amplificadores de medicio´n, uno por cada columna.
Con el fin de minimizar la cantidad de pines utilizados, se disen˜o´ una interfaz que permite el ingreso de datos, direcciones y sen˜ales de control en forma serie.
II. MEMORIAS RAM ESTA´ TICAS
Las memorias RAM esta´ticas (SRAM) son capaces de
mantener los datos mientras esta´n alimentadas, sin necesidad
de circuito de refresco.
La Fig. 1 muestra la arquitectura t´ıpica de una celda SRAM
capa´z de almacenar un bit, denominada Celda 6T [4]. El valor
del bit se almacena utilizando la propiedad de biestabilidad de
un par de inversores realimentados positivamente. Se utilizan
dos transistores de paso para tener acceso al dato almacenado
en la celda en ciclos de lectura y escritura.
La l´ınea de palabra (W L) es compartida por todas las celdas
que componen una misma fila en el arreglo de memoria. La
l´ınea de bit BL y su complemento BL son compartidas por
todas las celdas que componen una misma columna dentro del
arreglo.
Los transistores M 1 − M 2, M 3 − M 4 conforman los dos
inversores. E´ stos se dimensionan de manera que la tensio´n
umbral
de
conmutacio´ n
de
los
inversores
(Vm)
sea
V
DD 2
.
Los transistores M 5 y M 6 conforman las llaves de paso que
permiten el acceso a la celda, conectando las l´ıneas Q y Q a
M5 Q’ M1
BL’
Fig. 1. Celda 6T
Q M6 M3
BL
III. DISEN˜ O
1) Dimensionamiento de la Celda 6T: Durante la lectura, las l´ıneas de bit se encuentran inicialmente precargadas a V DD/2. La diferencia de tensio´n entre ellas y el valor almacenado en la celda produce la carga y descarga de las capacidades de e´stas l´ıneas. La celda debe ser disen˜ada de manera que este cambio en BL y BL sea lo suficientemente pequen˜o como para que no altere el valor almacenado en la celda. Teniendo en cuenta esta restriccio´n, se calcula la relacio´n entre los anchos de los transistores M 1 y M 5 de manera que la tensio´n en el nodo Q sea en todo momento menor a la tensio´n umbral del transistor M 3, evitando su encendido, y por consiguiente, el cambio en el dato almacenado. Dicha relacio´n debe ser:
W 5 < 0.47W 1
(1)
A partir de la operacio´n de escritura, se calcula la relacio´n que debe mantener el ancho de los transistores M 2 y M 4 para almacenar en la celda el valor presente en las l´ıneas de bit. Dicha relacio´n debe ser:
W 6 > 1.3W 2
(2)
En la Tabla I se muestran las dimensiones de los transistores que componen la Celda 6T. 2) Precarga: Para realizar la precarga de las celdas, se conecta un transistor PMOS a cada l´ınea de bit. El gate de estos transistores se conecta a un circuito combinacional cuya salida es cero en los momentos en
IV CONGRESO DE MICROELECTRO´ NICA APLICADA, UTN FACULTAD REGIONAL BAHI´A BLANCA, SEPTIEMBRE 2013
2
M1 M2 M3 M4 M5 M6 L 2λ 2λ 2λ 2λ 2λ 2λ W 17λ 6λ 17λ 6λ 8λ 8λ
TABLE I DIMENSIONAMIENTO DE LA CELDA 6T. (λ = 0.3 μm).
los que no se esta´ realizando una escritura o lectura de memoria, y el source a un pin externo del chip al que ingresan 2.5V . Estos transistores se hacen ma´s anchos que los dema´s (W = 50λ), de manera que tengan mayor capacidad de corriente y la precarga se realice ra´pidamente.
3) Amplificador de Medicio´n: Para realizar la lectura de un valor almacenado en la celda se utiliza un amplificador como el que se muestra en la Fig. 2. E´ ste esta´ conformado por dos etapas, un amplificador diferencial y una etapa de alta ganancia. La primera se encarga de sensar la diferencia entre las l´ıneas BL y BL producida durante un ciclo de lectura de memoria, y la u´ltima amplifica esta diferencia dando como resultado valores de tensio´n correspondientes a los niveles lo´gicos 0 o 1. La sen˜al EL funciona como habilitacio´n, se activa en los momentos en los que se realiza una operacio´n de lectura. En la Tabla II se muestra el dimensionamiento de los transistores que componen el amplificador de medicio´n.
VDD
M4
M5
BL’
M2
M3
BL
EL M1
M7 VOUT
M6
El bus de direcciones, como se muestra en la figura, es de 8 bits permitiendo la posible expansio´n de la memoria a 2 Kbits.
ADD7’ ADD6’ ADD5’ ADD4’ ADD3’
Enable
WL0 WL1 WL2 WL3 WL4 WL5 WL6 WL7
Decodificador 3 a 8
ADD0 ADD1 ADD2
Fig. 3. Decodificador del primer bloque.
5) Buffers y llaves de paso: Tanto en la entrada de datos, como en la salida de los amplificadores de medicio´n se colocan buffers, para mantener los niveles adecuados de las sen˜ales a ser escritas y le´ıdas. Adema´s, se colocan llaves de paso en la entrada, que permiten conectar el bus de entrada a las l´ıneas de bit so´lo cuando se esta´ realizando una operacio´n de escritura.
6) Interfaz de acceso serie: El circuito disen˜ado esta´ formado por tres bloques fundamentales: Un registro de desplazamiento y latches en donde se almacena la palabra de control; contadores que cuentan los bits que ingresan; y la lo´gica que genera las habilitaciones para enviar la direccio´n y el dato a la memoria. El circuito consta de tres entradas: la entrada de reloj (CLK), la de habilitacio´n (E) y la de datos y direcciones (PC). El diagrama temporal de estas sen˜ales se muestra en la Fig. 4. La sen˜al de reinicio del circuito (RST) se genera negando la sen˜al de habilitacio´n.
Fig. 2. Amplificador de medicio´n.
M1 M2 M3 M4 M5 M6 M7 L 2λ 2λ 2λ 2λ 2λ 2λ 2λ W 6λ 4λ 4λ 20λ 20λ 10λ 20λ
TABLE II DIMENSIONAMIENTO DE AMPLIFICADOR DE MEDICIO´ N (λ = 0.3 μm).
4) Decodificadores: Los decodificadores de fila se utilizan para activar los transistores de paso ante operaciones de lectura y escritura. Para realizar el direccionamiento, se dividio´ la memoria en cuatro bloques de 8 direcciones. La decodificacio´n de cada uno de estos bloques se realiza utilizando un decodificador de 3 a 8 con salida negada, es decir que al estar activas tienen valor lo´gico bajo, y una lo´gica que los diferencia entre ellos. En la Fig. 3 se muestra el esquema´tico del decodificador del primer bloque.
Fig. 4. Diagrama temporal.
7) Protocolo de transmisio´n: La palabra de control esta´ conformada por 17 bits que se env´ıan en sincronismo con el reloj. El bit menos significativo indica una operacio´n de lectura si se encuentra en nivel lo´gico bajo, o de escritura en el caso contrario. Los 8 bits ma´s significativos de la palabra de control corresponden a la direccio´n y los 8 bits siguientes al dato a escribir en la memoria.
8) Lo´gica de estados: Con el fin de realizar la lo´gica del circuito se implemento´ una ma´quina de estados de tipo Moore, en la cual las salidas dependen solo del estado presente. Esta´ formada por cinco estados: • Estado Inactivo(I): se espera por una sen˜al de habilitacio´n (E) para comenzar con un ciclo de escritura
IV CONGRESO DE MICROELECTRO´ NICA APLICADA, UTN FACULTAD REGIONAL BAH´IA BLANCA, SEPTIEMBRE 2013
3
o de lectura. Cuando se activa E se obtiene el valor del bit menos significativo de la palabra de control. Si es uno, el estado siguiente es escritura, en caso contrario lectura. • Escritura(W): en este estado se activa la cuenta de un contador, el mismo cuenta 17 per´ıodos de reloj y al finalizar genera una sen˜al de fin de cuenta (FC), indicando que el registro de desplazamiento esta´ completo y el dato listo para ser enviado a la memoria, alcanzando el siguiente estado, Datoescrito. • Dato escrito(WD). En WD se vuelve al estado inactivo si la sen˜al de habilitacio´n vuelve a nivel lo´gico bajo. Se regresa al estado de escritura o de lectura en caso que la habilitacio´n se mantenga en estado lo´gico alto y se reciba una nueva palabra de control. • Lectura(R). En R se activa la cuenta de un contador que se incrementa con cada flanco ascendente de reloj. Cuando la cuenta llega a 8 se activa la sen˜al de fin de cuenta (FC) que genera el paso al siguiente estado, WR, indicando que el registro de desplazamiento esta´ completo y la direccio´n puede ser enviada hacia la memoria. • Dato Le´ıdo(WR). En este estado la direccio´n es enviada a la memoria y el dato esta´ listo para ser le´ıdo. Se regresa al estado de escritura o de lectura en caso que la habilitacio´n se mantenga en estado lo´gico alto y se reciba una nueva palabra de control.
de un latch el cual se habilita cuando el registro de desplazamiento esta´ completo enviando los datos y las direcciones a la memoria. Los latches disen˜ados esta´n sincronizados por reloj, son implementados a trave´s de un flip flop D y un multiplexor.
IV. IMPLEMENTACIO´ N F´ISICA
Fig. 5. Conjunto SRAM e Interfaz Serie.
1) Arreglo de celdas 6T. 2) Transistores de precarga. 3) Amplificadores de medicio´n y buffers de salida. 4) Buffers de entrada. 5) Decodificadores. 6) Interfaz de acceso serie.
A partir de la ma´quina de estados, se genero´ la tabla de verdad y se obtuvo la lo´gica a implementar. 9) Contadores y generador de fin de cuenta: El circuito consta de dos contadores sincro´nicos, uno de cuatro bits que se utiliza durante la escritura y otro de tres bits para la lectura. Los mismos tienen la funcio´n de generar la sen˜al de fin de cuenta cuando el registro de desplazamiento se completa con una palabra de control va´lida. Se reinician en caso que se genere un reset externo o si se alcanza el fin de cuenta de alguno de ellos. La lo´gica que rige el bloque generador de fin de cuenta es una combinacio´n de lo´gica secuencial y combinacional. La lo´gica combinacional se encarga de generar un nivel lo´gico alto en el caso que los contadores alcancen el valor de fin de cuenta que corresponde a una operacio´n de lectura o escritura. A continuacio´n, se coloca un multiplexor que selecciona, segu´n la operacio´n, la salida de la lo´gica combinacional. A la salida del multiplexor se coloca un flip-flop para lograr que el circuito mantenga el sincronismo. 10) Registro de desplazamiento y latches: Se implemento´ un registro de desplazamiento de 17 bits con flip-flops D. Estos registros, sincronizados con la sen˜al de reloj, reciben la entrada de datos y direcciones. Segu´n sea una operacio´n de lectura o escritura luego de 7 o 15 per´ıodos de reloj respectivamente, el registro se completa. La salida de cada uno de los flip-flops que componen el registro de desplazamiento esta´ conectada a la entrada
V. CONCLUSIO´ N
Este trabajo mostro´ el disen˜o e implementacio´n de una memoria SRAM de 256 bits con una interfaz de acceso serie. Esta forma de acceder a la memoria da una ventaja en aquellos casos en que se esta´ limitado en la cantidad de puertos de entrada-salida con los que se cuenta. La desventaja es el incremento en el tiempo requerido para una operacio´n de lectura o escritura en la memoria.
El disen˜o se envio´ para la fabricacio´n en un proceso ON C5N de MOSIS.
REFERENCES
[1] Thomas Schubert, Jr. Ernest Kim, Active and Nonlinear Electronics, John Wiley and Sons, 1996.
[2] Jan M. Rebaey, Anantha Chandrakasan, Borivoje Nikolic, Digital Integrated Circuits - A design perspective, Pearson, 2004.
[3] Neil H. E. Weste, Kamran Eshraghian, Principles of CMOS VLSI Design - A systems Perspective, Addison-Wesley, 1993.
[4] Sedra y Smith, Microelectronics Circuits, Oxford University Press, 2004.
Ver+/-