Download Conversor

Document related concepts
no text concepts found
Transcript
Revista Argentina de Trabajos Estudiantiles
1
Circuito Integrado para Conversión Serie Paralelo
S. Sondón, L. Stefanazzi, M. Di Federico†, P. Julian†, P. S. Mandolesi†
Universidad Nacional del Sur, Bahía Blanca
Resumen—Un conversor Serie-Paralelo/Paralelo-Serie fue
fabricado en un proceso CMOS estándar de 1,5µm. Se describe la
tecnología usada, tanto como la arquitectura, y los ensayos
realizados sobre el prototipo fabricado. El circuito formará parte
de sistemas digitales en los cuales se desee economizar pines para
el ingreso de datos. Los resultados experimentales mostraron el
funcionamiento correcto del conversor, y un buen desempeño
velocidad-consumo.
Abstract—A Serial-Paralell/Paralell-Serial converter was
fabricated in a 1,5µm CMOS standard process. The technology as
well as the architecture and some experimental results are
presented. The circuit will be a part of an embedded digital
system and is intended to solve the problem of not having enough
pins to introduce data into the system. Measurement results
showed proper behaviour of the device and a good speed-power
performance.
D7...D0
E/S Izq
Conversor
E/S Der
Figura 1. Diagrama del conversor
S1
0
0
1
1
S0
0
1
0
1
Modo
Rotar Izquierda
Ingresa Dato
Retiene Muestra
Rota Derecha
Tabla I. Modos de funcionamiento
I. INTRODUCCIÓN
En este trabajo se presenta el diseño de un circuito integrado
diseñado en la Universidad Nacional del Sur (UNS) para la
materia Análisis y Diseño de Circuitos Digitales (ADCD)†.
A la hora de diseñar un CI (circuito integrado), una de las
limitaciones más comunes es la baja cantidad de pads (pines)
disponibles para la comunicación con el mundo exterior, ya sea
para ingreso/extracción de datos o para el monitoreo de señales
en diferentes puntos del chip. Como un ejemplo de este
problema se puede mencionar el diseño de un CI que
multiplique dos palabras de 8 bits. Para el ingreso de los datos,
necesitamos 16 bits (8 bits por palabra) y para sacar el
resultado, otros 16 bits. De esta manera, estaríamos utilizando
32 pads del CI solo para el ingreso/extracción de datos, y con
un encapsulado típico de 40 pines, no tendríamos
prácticamente más pads disponibles. Una forma de solucionar
este problema es utilizar una interfaz capaz de ingresar o
extraer datos del CI en formato serie mediante un único pad de
entrada/salida. El circuito que se presenta a continuación es un
conversor serie-paralelo/paralelo-serie que puede realizar la
función antes mencionada permitiendo la utilización de una
cantidad menor de pads para monitoreo de señales o
ingreso/extracción de datos.
II. TECNOLOGÍA
Se utiliza un proceso n-well CMOS estándar de 1,5µm
(λ=0,8µm), con 2 capas de metal, 2 capas de polisilicio, opción
a transistores NPN y condensadores Pip (polisilicio sobre poly)
de 600af/µm2. 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 x 1,6µm (W=6 λ, L=2 λ).
III. DESCRIPCIÓN
El CI es un conversor Serie-Paralelo/Paralelo-Serie de 8 bits,
donde la Entrada/Salida de datos se realiza por un único pad
bidireccional. En realidad, por cuestiones de comodidad y para
el testeo del chip, existen dos pads para la Entrada/Salida de
los datos en forma serie. Estos son, E/S Izquierda y E/S
Derecha. En la Fig. 1, se muestra un diagrama del conversor.
Además de los pads E/S, el CI posee dos entradas de control S0
y S1, una entrada de clear general CLR, la entrada de reloj
CLK, VDD y GND. Las entradas de control S0 y S1 sirven para
seleccionar los distintos modos de funcionamiento del
conversor. Estos se muestran en la Tabla I.
Descripción de los modos de funcionamiento:
Rotar Izquierda: En este modo, los datos son ingresados al CI
en forma serie por el pin E/S Derecha. Con los sucesivos
pulsos de reloj los datos se rotan cargando a los Flip-Flops
internos y dejando los datos disponibles en paralelo (dentro del
chip).
Ingresa Dato: Si se selecciona este modo, el registro cargará
los datos presentes en el puerto paralelo (este se configura
como entrada automáticamente) para luego ser extraídos del
chip, ya sea con la opción rotar derecha o rotar izquierda.
†
Docentes. P. Julián está afiliado con CONICET. P. S.
Mandolesi está afiliado con CIC Pcia. Bs. As.
TRATE05-003
Vol. I - Nº 1 - Febrero 2006
13
Revista Argentina de Trabajos Estudiantiles
D0...D7
E/S Izq
D0
Q D
S0=0 S1=0
D6
Q D
D7
Q D
E/S Der
CLK
Figura 2. Ingreso de datos en serie (rotar izquierda).
DQ
2
DQ
Figura 5. Layout del Flip-Flop D.
DQ
S1-S0
Figura 3. Diagrama en bloques del conversor
Rotar Derecha: Es similar a la opción rotar Izquierda solo que
en este caso, los datos serie son ingresados por el pad E/S
Izquierda. Igual que antes, con los sucesivos pulsos de reloj, se
cargan los Flip-Flops internos y se dejan los datos disponibles
en paralelo (este se configura como salida automáticamente).
Retiene Muestra: En este modo de funcionamiento, el registro
se queda “quieto”, es decir, los datos presentes en el bus
paralelo se retienen y no se leen las entradas serie. Cabe
destacar que el reloj sigue funcionando en modo normal (no se
debe cortar el reloj en este modo de funcionamiento). En la
Fig. 2, se muestra el modo de funcionamiento rotar izquierda
(el modo rotar derecha es similar).
Cuando se seleccionan los modos rotar derecha o rotar
izquierda, se utiliza para la entrada de datos el pad de E/S que
corresponde. Sin embargo, el pad de E/S que no se utilice para
lo operación, se configura automáticamente como salida de
datos. Por esto, luego de que pasen los 8 pulsos de reloj
necesarios para cargar los 8 Flip-Flops internos, los datos
aparecerán en el pad E/S que no esté siendo utilizado para el
ingreso de datos.
IV. ARQUITECTURA
El diagrama en bloques del conversor se muestra en la Fig. 3.
El bloque principal del CI, es un registro de desplazamiento
bidireccional capaz de rotar datos en ambos sentidos (derecha e
izquierda). Un punto interesante para destacar, es que al utilizar
un registro de desplazamiento bidireccional y no dos registros
separados (uno para ingresar datos y otro para sacar datos), se
Figura 4. Diagrama esquemático del Flip-Flop D.
TRATE05-003
Figura 6. Esquemático y layout del multiplexor.
ahorra mucha área de silicio. La idea es realizar la lógica
necesaria para poder hacer la tarea con una única cadena de
Flip-Flops.
A nivel de bloques el conversor está compuesto por un registro
de desplazamiento bidireccional, una lógica de entrada/salida
izquierda que permite la E/S de datos por un único pad y una
lógica de entrada/salida derecha (que también permite que la
E/S se realice por un único pad).
El registro de desplazamiento está compuesto por una cadena
de Flip-Flops D Maestro Esclavo con entrada de clear.
Además, los modos de funcionamiento se seleccionan mediante
multiplexores de 4 entradas. En la Fig. 4 se muestra el
diagrama esquemático de un Flip-Flop y en la Fig. 5 el layout
correspondiente.
Cada Flip-Flop posee un total de 33 transistores MOS (17
PMOS y 16 NMOS). Además, se incluye en cada Flip-Flop un
circuito Buffer para el reloj (formado por dos inversores) para
disminuir problemas relacionados con ruido y retardos.
.
Como se comentó antes, para seleccionar entre los 4 modos de
funcionamiento se utilizan multiplexores de 4 entradas. En la
Fig. 6 se muestran el diagrama esquemático y el layout del
multiplexor. Se busca hacer una celda básica que luego será
repetida un determinado número de veces. Podemos
Figura 7. Diagrama esquemático de la celda básica.
Vol. I - Nº 1 - Febrero 2006
14
Revista Argentina de Trabajos Estudiantiles
3
Figura 9. Diagrama esquemático del registro completo incluyendo las lógicas de Entrada/Salida
Figura 8. Celda básica
ejemplificar este concepto con el diseño de una memoria
dinámica de 1024 bits x 1024 bits (1Mbit). Si tuviésemos que
conectar uno a uno los bloques, sería realmente complicado y
estaríamos expuestos a cometer un gran número de errores
debidos a la gran cantidad de conexiones. Lo que se debe hacer
es realizar una celda básica de memoria con la capacidad de
“autoconectarse” con celdas vecinas. De esta forma, con solo
definir una matriz de 1024 x 1024 celdas, se puede armar
rápidamente una memoria de 1Mbit. En nuestro diseño, la
celda básica la componen el Flip-Flop y el Multiplexor
nombrados antes (además de un par de buffers). Entonces, la
idea es que se puede hacer un registro de n bits repitiendo la
celda básica (obviamente, debemos tener en cuenta la
disponibilidad de área. Además, la cantidad de bits dependerá
de cada aplicación en particular).
En la Fig. 7 se muestra el diagrama esquemático de la celda
básica. Los buffers son para seleccionar si el bus paralelo se lee
o se escribe (se conforma una conexión bidireccional). Se
puede ver, que dependiendo de la combinación en S0 y S1, se
estará seleccionando una de las entradas del multiplexor. Si se
elige S1=0 y S0=0 (rota izquierda), se selecciona la entrada
IN0 del multiplexor. Como se ve en el diagrama, esta entrada
está conectada a la salida del Flip-Flop siguiente de la cadena.
Si se selecciona S1=0 y S0=1 (ingresa dato), se selecciona la
entrada IN1 que está conectada (mediante el buffer) al bus. Al
seleccionar S1=1 y S0=0 (retiene muestra) la entrada que se
habilita es IN2, permitiendo una realimentación entre la salida
y la entrada del Flip-Flop. Por ultimo podemos seleccionar la
combinación S1=1 y S0=1 (rota derecha) que habilita la
entrada IN3 del Multiplexor, la cuál está conectada a la salida
del Flip-Flop anterior de la cadena. El layout de la celda básica
se puede ver en la Fig. 8.
A continuación lo que resta hacer es multiplicar la celda básica
para obtener el registro de n bits. En el diseño aquí presentado,
se optó por 8 bits. En la Fig. 9 se muestra el diagrama
esquemático del registro de 8 bits. Se han agregado aquí las
lógicas de E/S (derecha e izquierda) para realizar la
Entrada/Salida de datos en forma serie bidireccional por un
único pad. Las lógicas de E/S mencionadas anteriormente, se
encuentran en la parte superior. Lo que se busca con esta
distribución, es ahorrar área y minimizar el cableado de
señales, colocando la lógica de manera tal que todas las señales
de entrada y salida a la misma se encuentren físicamente cerca.
A continuación, se describe el prototipo enviado a fabricación.
V. PROTOTIPO
El diseño descripto anteriormente, tiene un ancho de 505λ y un
alto de 658λ (con λ=0,8µm, el ancho es de 404µm y el alto de
526,4µm). Se puede notar que se ha mencionado en varias
ocasiones el parámetro λ. Esta forma de diseño de denomina
reglas escalables. Lo que se hace es referenciar todas las
medidas al parámetro λ y luego al seleccionar la tecnología (en
nuestro caso CMOS 1,5µm con λ=0,8µm) se define este valor.
Figura 10. Diagrama esquemático completo del circuito implementado (se incluyen también los pads).
TRATE05-003
Vol. I - Nº 1 - Febrero 2006
15
Revista Argentina de Trabajos Estudiantiles
4
alguna manera tenemos que conectarlas con el mundo exterior.
Los pads, que luego son conectados a los pines externos del
chip, cumplen con esta función. Además, los pads cuentan con
diodos de protección y con buffers para poder manejar mayores
cantidades de corriente. Los pads ocupan un área apreciable,
por lo que se deben tener en cuenta a la hora de diseñar (para
calcular el área real disponible). En la Fig. 11 se muestra el
layout del chip completo.
Para terminar se muestra en la Fig. 12 una simulación completa
del circuito en la que las salidas (salida0, salida1, etc.) son las
señales a la entrada de los buffers que se conectan con el bus
paralelo (salida de los Flip-Flops). Se aplica una entrada serie y
se muestra la salida (también serie) con las señales Entrada y
Salida respectivamente.
Figura 11. Layout del chip completo.
Con esto, se simplifica el diseño si pensamos en “mudar” el CI
a una nueva tecnología (o simplemente a una tecnología
diferente) ya que con solo cambiar la definición del parámetro
λ el diseño es válido.
Para la implementación física del CI, se aprovechó el espacio
asignado de chip y se colocaron dos registros interconectados,
pero con las líneas de control separadas. Se conectaron los
puertos de salida (bus paralelo) de los dos registros y se optó
por sacar estos datos por 8 pads. Esta conexión, fue pensada
principalmente para facilitar la verificación del chip ya que se
pueden verificar los datos ingresados en forma serie por el bus
paralelo. En la Fig. 10 se muestra el diagrama esquemático
completo (incluyendo los pads). Cabe mencionar que por una
cuestión de tiempo, se optó por conectar los 8 bits de bus
paralelo solo como salida (para verificación), ya que al estar
los dos registros interconectados, se puede cargar uno y luego
pasar los datos al otro.
Cuando utilizamos un circuito integrado tenemos distintos
encapsulados disponibles que básicamente cambian
dependiendo de la aplicación en particular, pero todos ellos
tienen un numero dado de “pines” o “pads” disponibles para
conectar las señales correspondientes. Dentro del chip, una vez
realizado el diseño, se tienen todas las señales disponibles y de
VI. ENSAYO DEL
PROTOTIPO
Se procedió a ensayar el dispositivo fabricado, realizando
primero una verificación de consumo en estado estacionario.
Esto permite evaluar si existió algún error de diseño o de
fabricación. Para ello se colocaron resistencias en las líneas de
alimentación, y se midió la caída de tensión en las mismas, con
la entrada del reloj puesta a cero. El consumo fue del orden de
microamperes, lo que permitió continuar con el ensayo.
Luego se conectó el circuito a un microcontrolador y un arreglo
de leds que permitía ver paso a paso el funcionamiento del
circuito, mostrando en el puerto paralelo los datos ingresados
en forma serie. El comportamiento resultó ser el esperado,
tanto en las señales de control, como en el clear y los pines de
entrada-salida.
Estos dos ensayos fueron realizados con alimentación de 5V.
Por último, se conectó el circuito con una FPGA SPARTAN-3
de Xilinx y se midió el consumo y el desempeño en diversas
frecuencias llegando hasta 25 MHz. Este ensayo fue realizado
con 3.3V de alimentación. El desempeño fue el
correspondiente, y en la Fig. 13 se muestra el consumo, tanto el
que se produce en el propio circuito como el que se produce en
los pads de E/S (el chip posee lineas de alimentación
independiente para cada parte.).
Figura 12. Simulación completa del registro.
TRATE05-003
Vol. I - Nº 1 - Febrero 2006
16
Revista Argentina de Trabajos Estudiantiles
5
Figura 13
Por último en la Fig. 14 mostramos una fotografía del prototipo
fabricado, donde el conversor se aprecia en la parte superior.
VII. CONCLUSIONES
Se presentó el diseño completo de un circuito conversor SerieParalelo/Paralelo-Serie en tecnología CMOS estándar de
1,5µm. Se realizaron mediciones que reflejan el desempeño del
mismo. Este diseño podrá ser utilizado en sistemas mayores
cuya problemática sea la definida en la introducción. A pesar
de tratarse de un diseño con fines académicos, el circuito es
totalmente funcional y cumple con los objetivos buscados.
VII. REFERENCIAS
Figura 14. Microfotografía del Chip.
TRATE05-003
[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: 0-13-090996-3, Prentice Hall (1996).
[3] J.F.Wakerly, “Diseño digital, Principios y Prácticas”,
Prentice Hall (1992).
[4] T.Schubert and E.Kim, “Active and non-linear
electronics”, John Wiley and Sons, Inc. (1996)
[5] M. Di Federico, P. Julian, “Circuito Integrado Programable
para la Conversion Serie Paralelo de 32 bits”, Anales de la
XI Reunión de trabajo en Procesamiento de la Información
y Control RPIC 2005, 21-23 de Sept. 2005, Rio Cuarto,
Argentina, pp. 325-329.
Vol. I - Nº 1 - Febrero 2006
17