Circuito Integrado Programable para la Conversión Serie Paralelo

Anuncio
Revista Argentina de Trabajos Estudiantiles
1
Circuito Integrado Programable para la
Conversión Serie Paralelo De 32bits
Martín Di Federico† Pedro Julián ‡
† Universidad Nacional del Sur
[email protected]
‡ Universidad Nacional Del Sur - CONICET
[email protected]
Resumen— Este trabajo es la descripción de un circuito
integrado conversor serie-paralelo de 32 bits, implementado en
una tecnología CMOS estándar de 1.5µm.
Abstract—This work is the description of an integrated circuit
serial-parallel converter of 32 bits, implemented in a CMOS
standard technology of 1.5µm
I. INTRODUCCIÓN
En este trabajo se presenta un circuito integrado diseñado
en la UNS (Universidad Nacional Del Sur), para la Materia
Análisis y Diseño de Circuitos Digitales. Una de las
limitaciones comunes en circuitos integrados (CI) es la
cantidad de pads disponibles para monitorear señales internas,
y también para acceder al interior del mismo con un bus de
señales externas [1] [2]. Una posible solución consiste en el
diseño de una interfaz programable serie, que permita leer o
escribir una cadena de registros, que funcionen extrayendo
datos del CI o introduciéndolos. El circuito integrado que se
propone en este trabajo, es una memoria de 32 bits serie,
donde por medio de un pin de Entrada / Salida (E/S) se realiza
la lectura y escritura de la información. En un ciclo de lectura
o escritura, se puede acceder tanto a un bit como a los 32 bits
en una sola trama de comunicación. Este tipo de arquitectura
también puede ser utilizada para establecer comunicaciónes
de datos dentro del mismo chip a altas velocidades y para
intercambiar datos entres distinto niveles de un chip, en
tecnologías de integración 3D [3].
II. TECNOLOGÍA
El CI se integró en un proceso n-well CMOS estándar de
1.5µm (λ=0.8 µm), con 2 capas de metal, 2 capas de poly,
opción a transistores NPN y condensadores Pip (poly sobre
poly) de 600 af/µm². Todos los transistores implementados
son de tamaño mínimo, siendo los PMOS de 8 µm x 1,6µm
(W=10 λ, L= 2 λ) y los NMOS de 4,8 µm x1,6 µm (W =6 λ,
L=2 λ).
El circuito integrado (CI) es una memoria serie de 32 bits,
donde se realiza la lectura y escritura de la información por
medio de un único pin de Entrada / Salida (E/S). En un ciclo
de lectura o escritura, se puede acceder tanto a un bit como a
los 32 bits, mediante una sola trama de comunicación. La
salida paralelo está multiplexada en 2 canales de 16 bits. Con
la entrada Mux en estado bajo se tienen en la salida los bits de
la dirección 00H a la 0FH, con Mux en estado alto se tienen
los bits de la 10H a la 1FH.
Se define un protocolo serie sincrónico, el cual permite
establecer las operaciones de lectura o escritura, tanto para un
bit como para los 32 bits (Palabra). La trama del protocolo
puede verse en la Fig. 1.
1 Bit
L/E
1 Bit
B/P
5 Bits / 32 Bits
Dir/Pal
1 Bit
B
Figura 1: Trama de comunicación serie
La función de cada uno de los segmentos de la trama se
explica a continuación:
L / E: Primer bit de la trama, indica si la operación que se
va a realizar es de lectura (0 lógico) o de escritura (1 lógico).
B / P: Indica si la operación de lectura o escritura se realiza
en solo bit (1 lógico) o una palabra (0 Lógico).
Dir / Pal: La longitud de este segmento de trama depende si
se escribe una palabra o un bit. Si se opera sobre una palabra,
este segmento tiene una longitud de 32 bits y es la palabra que
se escribe o se lee de la memoria, donde el primer bit
corresponde a la dirección 00h y el último a la 1Fh. Para
operaciones sobre un bit este segmento tiene una longitud de
5 bits, los cuales indican la dirección del bit que se va a
acceder.
B: Este segmento solo existe para operaciones con bit,
siendo este el valor que se escribe o se lee de la memoria.
Para comenzar el envío de la información, junto con el bit
L/E es necesario establecer un nivel bajo en la entrada En
para indicar comienzo de la trama, como lo muestra la Fig. 2.
En la Figura 2 se puede observar un ejemplo de la lectura
de un bit, y en la Fig. 3 la lectura de una palabra.
III. DESCRIPCIÓN
TRATE06-004
Vol. I - Nº 2 - Marzo 2006
18
Revista Argentina de Trabajos Estudiantiles
L=2*L
W=10*L
2
Out0
W=6*L
A3
B
A4
C
L=2*L
A
W=10*L
L=2*L
A2
Out1
W=6*L
W=10*L
Habilitación
L=2*L
L=2*L
Out2
W=6*L
W=10*L
L=2*L
L=2*L
Out3
W=6*L
L=2*L
B
A
B
A
B
A
B
A
Salidas decodificador
Entradas deco 2x4
A1
Figura 2: Lectura de Bit
A0
Figura 4: Decodificador de bloque
Como muestra la Figura 5, cada registro de memoria tiene
una entrada de habilitación (Sel), que es manejada por el
decodificador. Tiene una entrada de dato (In), una entrada de
Lectura (R), que habilita la salida de información, una entrada
de escritura (W), que guarda el Bit de la entrada In en el
registro. Para borrar la información tiene reset (Clr), y dos
fases del reloj (F1 y F2). La salida Dout esta conectada al
multiplexor de salida paralelo y la salida Out está conectada a
través de un buffer de tres estados al bus de salida serie.
Figura 3: Lectura de palabra
IV. ARQUITECTURA
A
La memoria de 32 bits está formada por 32 registros, los
cuales están agrupados en 8 bloques de 4 registros. Cada
bloque cuenta con un decodificador de 2x4, que habilita a
cada uno de los registros en el bloque. A su vez, cada
decodificador tiene una habilitación de 3 entradas; cada uno
de los 8 grupos de registros se habilita con estos 3 bits,
obteniéndose así el decodificador de 5x32. En la Figura 4
puede verse el esquemático del decodificador de bloque.
A
Sel
B
R
B
W
Clr
El circuito funciona con un reloj de dos fases no solapadas.
El CI contiene a nivel de bloques, una memoria de 32 Bits y
un decodificador de 5 líneas de entrada a 32 líneas de salida
(5x32) para la habilitación de cada registro de memoria.
También cuenta con un contador que regula los tiempos y
genera las direcciones de memoria, un registro serie que
guarda la dirección del bit que se va a acceder y dos
multiplexores: uno para los datos la salida paralelo y otro para
seleccionar si la habilitación de los registros lo realiza el
contador o el registro serie. Además posee una máquina de
estados que se encarga de sincronizar los tiempos y las
señales internas de control y comunicación.
In
CLB
DATA Q
0
1
Enn
Out
QB
F1
F2
F1
S
F2
DOut
Figura 5: Esquemático de un registro de memoria
Cada uno de los registros esta formado por un Flip-Flop D
Maestro Esclavo con reloj bifásico, donde el maestro lee el
dato de la entrada con un “1” en la fase uno (1) y mantiene el
dato leído a la salida con un “0” en la fase 1, y el esclavo
copia y mantiene de igual forma, pero con la fase dos (2).
En la Figura 6, se puede observar una de las celdas de
memoria que esta formada por 56 transistores de tamaño
mínimo con un área de 0,024mm², teniendo 304µm de ancho
y 80µm de alto.
Figura 6: Layout de un registro de memoria
Para comenzar el envío de información se tiene que
habilitar la máquina de estados por medio de la entrada de
habilitación (En). La maquina de estados tiene 7 estados
TRATE06-004
Vol. I - Nº 2 - Marzo 2006
19
Revista Argentina de Trabajos Estudiantiles
codificados mediante tres bits X0, X1 y X3. Al resetear la
máquina, esta se establece en el estado inicial (I) y en función
del bit de E/S evoluciona a los siguientes estados:
E:
Se realizara una operación de escritura
L:
Se realizara una operación de lectura
LP: Lectura de Palabra
LB: Lectura de Bit
EP: Escritura de Palabra
EB: Escritura de Bit
En la Tabla1 se presentan la transiciones posibles de la
máquina de estados.
Tabla 1: Tabla de transiciones de estado
Estado
I
E
L
EB
EP
LB
LP
X2 X1 X0
0 0 0
0 0 1
0 1 0
1 0 1
1 0 0
1 1 1
1 1 0
Transiciones
Entrada 0
Entrada 1
X2 X1 X0
X2 X1 X0
L
0 1 0 E
0 0 1
EP
1 0 0 EB
1 0 1
LP
1 1 0 LB
1 1 1
EB 1 0 1 EB
1 0 1
EP
1 0 0 EP
1 0 0
LB 1 1 1 LB
1 1 1
LP
1 1 0 LP
1 1 0
3
registro serie, y en el sexto bit se habilita el lugar de memoria
apuntado por el registro serie.
El registro serie esta formado por 5 Flip-Flop D Maestro
Esclavo en cascada, cuya entrada está conectada al pin E/S. El
registro serie, se habilita solo en los estados LB y EB.
Al escribir o leer los 32 bits las direcciones se generan solas
por medio de un contador.
Las salidas del registro serie y del contador, van a un
multiplexor, y en función del estado en que se encuentre la
maquina de estados, selecciona una u otra entrada para
ingresar la dirección al decodificador.
El contador es de 5 bits y tiene una estructura modular. La
Figura 8 muestra el esquemático de cada uno de los cinco
módulos del contador donde la salida Out es la entrada del
modulo siguiente.
La figura 9 muestra el layout de un modulo del contador. El
contador completo esta formado por cinco de estos módulos.
In
A
Out
B
B
A
Como se puede observar en la figura 7, el layout completo
de la máquina de estados mide aproximadamente 0,09mm²;
con un alto de 320µm, y un largo de 280µm.
Clr
CLB
DATA Q
Cont
QB
F1
F2
F1
S
F2
Figura 8: Modulo del contador Esquemático.
Figura 9: Modulo del contador Layout.
En los estados LP y EP se está 32 periodos de reloj, para
volver al estado inicial en el período 33. En los estados LB y
EB solo se está 6 periodos de reloj; en el séptimo periodo, se
vuelve al estado inicial. Además, se generan dos señales
internas para manejar los tiempos que se transcurre en cada
estado. Una señal se genera cuando el contador es 6 y otra
cuando el contador es 32, y estas señales se utilizan para
volver al estado de Inicio.
Figura 7: Layout de la máquina de estados.
El direccionamiento de los registros se realiza en formas
distintas dependiendo si se esta operando sobre un bit, o sobre
los 32 bits.
Al escribir o leer un bit, se especifica la dirección en la
trama que tiene una longitud de 5 bits, estos se guardan en un
TRATE06-004
V. DESCRIPCIÓN DE ENTRADAS/SALIDAS Y
PROTOTIPO FABRICADO
El CI viene en un encapsulado DIP 40, del cual se utilizan
38 de las patas. Para conectar cada una de las patas del
encapsulado con el CI se utilizan los pads. Hay varios tipos de
pads, como se puede ver en la Fig. 10. Para alimentar los
Vol. I - Nº 2 - Marzo 2006
20
Revista Argentina de Trabajos Estudiantiles
4
inversores y los buffers de estos pads, se utiliza una entrada
especial VDD_Pad, de manera que hay dos entradas de
alimentación, una para el circuito y otra para los pads.
La Figura 11 muestra un diagrama del funcionamiento del
Circuito integrado y las interacciones entre las distintas partes
del circuito.
5
x
3
2
Buf
PADOUT
PADOUT
PADAREF
PADBIDIRHE
PADAREF
LP
Contador
0
32Bits
Contar
L
1
InAux
0
Hab
Out
32
L
B
Inici
o
Registro serie
Contar
F
6
EP
1
IN
Contar
0
E
Resetear
Contador
Figura 10: Pads de Salidas y Entradas
1
E
B
A continuación se detalla cada una de las entradas y salidas
del CI, y la función que cumplen.
Entradas del circuito:
Mux: Selecciona los primero 16 bit o los segundos 16 bits
de la salida paralelo.
En: Indicador de comienzo de trama.
Clr: Reset de los Flip-Flop
F1,F2: Entrada de las fases del Reloj..
InAux: Entrada auxiliar de datos CI.
Buf: Habilitación externa del buffer de salida del pad
E/S.
Salidas del circuito:
D0..D15: Salida de 16 bits de la memoria.
Ep: La máquina de estados se encuentra en el estado EP,
escribir palabra.
Lp: La máquina de estados se encuentra en el estado LP,
leer palabra.
Eb: La máquina de estados se encuentra en el estado EB,
escribir bit.
Lb: La máquina de estados se encuentra en el estado LB,
leer bit.
CINCO: Señal que indica que el contador llego a cinco.
FLAG: Esta señal indica que se terminó de ejecutar la tarea
en la memoria y en el próximo ciclo de reloj la máquina de
estados retorna a el estado inicial.
X0, X1, X2: Las variables de estado, que indican en que
estado se encuentra la máquina.
Out: Salida Auxiliar
Hab: Señal generada internamente que habilita el pad E/S
como salida.
Figura 11: Grafo del circuito integrado.
En la tabla 2 se puede ver un resumen de las áreas de cada
uno de los componentes del CI, y también la cantidad de
transistores utilizados.
Tabla 2: Cantidad de transistores y área de los componentes del circuito.
W
λ
µm
4
40
32
275 325 260
190 1130 904
Trans
Buffer
Contador
Registro Serie
Multiplexor
Salida
Maquina
Estados
Celda
Memoria
Bloque
memoria
Completo
96 1050
H
λ
75
480
90
Área
µm mm²
60 0,0019
384 0,0998
72 0,0651
840
75
60 0,0504
182
350
280
370
296 0,0829
56
380
304
100
80 0,0243
2346 2500 2000 1050 840 1,6800
3223 3200 2560 1250 1000 2,5600
En la fotografía del integrado que se muestra en la Fig. 12
se pueden ver todas las partes del circuito:
El registro serie (1), el contador (2), la máquina de estados
(3), los 32 bits de memoria (4) El multiplexor de salida (5), y
los buffer del Clr y del Reloj (6).
Para utilizar el pin de E/S como salida, hay que habilitar el
buffer de salida. La señal que activa dicho buffer se encuentra
en la salida Hab, como se puede observar en la Fig 10, y la
habilitación del buffer en la Entrada Buf. En funcionamiento
normal, los pines Hab y Buf están interconectadas.
Para el caso de que falle la habilitación del Pad de E/S, se
cuenta con una salida y una entrada auxiliar.
TRATE06-004
Contar
Vol. I - Nº 2 - Marzo 2006
Figura 12: Fotografía del integrado
21
Revista Argentina de Trabajos Estudiantiles
5
El CI ocupa un tamaño total de 4.4mm x 2.2m. La Figura
13 es una fotografía completa del CI incluyendo las
conexiones de los Pads al encapsulado.
En la Tabla 3 se muestra un resumen de las áreas en general
que ocuparon las distintas partes en la implementación del CI.
Una parte importante del Circuito son las conexiones tanto de
las señales como del los datos. En la tabla 3 se puede ver que
casi un 7% del espacio del CI es para realizar las conexiones
entre sus componentes.
Tabla 3: Especificaciones de áreas utilizadas
Total
PADS
Para utilizar
Chip
Conexiones
Vacío
Área
%
mm²
9,68 100
5,23
53,98
4,45
46,02
2,56
26,45
0,67
6,88
1,22
12,60
VI. CONCLUSIONES
En este trabajo se describió un conversor serie paralelo
integrado en tecnología CMOS estándar de 1,5µm, en un área
de 4.4mm x 2.2mm.
Este proyecto se desarrolló como parte del curso de
pregrado Análisis y Diseño de Circuitos Digitales de la
carrera de Ingeniería Eléctrica de la UNS, en el marco de un
programa de desarrollo y formación de recursos humanos en
Diseño de Circuitos Integrados. Una de las aplicaciones
directas de este CI es el testeo de futuros desarrollos en el que
sea necesario realizar una o varias interfaces de entrada o
salida con un CI.
Figura 13: Fotografía del Integrado
REFERENCIAS
[1] Neil H. E. Weste and Kamran Eshraghian, “Principles of
CMOS VLSI design”, Addison-Wesley EEUU (1993)
[2] Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nikolic,
“Digital Integrated Circuits”, Second Edition, ISBN: 013-090996-3, Prentice Hall (1996)
[3] Koyanagi, M. Kurino, H. Kang Wook Lee Sakuma, K.
Miyakawa, N. Itani, H. Tohoku Univ., Sendai, “Future
system-on-silicon LSI chips,” Micro, IEEE, Jul/Aug
1998 Volume: 18, Issue 4, pp. 17-22.
TRATE06-004
Vol. I - Nº 2 - Marzo 2006
22
Descargar