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