Circuito Integrado Programable para la Conversión Serie Paralelo...

5
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 λ). III. DESCRIPCIÓN 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 1 Bit 5 Bits / 32 Bits 1 Bit L/E B/P Dir/Pal 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. Revista Argentina de Trabajos Estudiantiles TRATE06-004 Vol. I - Nº 2 - Marzo 2006 18

Transcript of Circuito Integrado Programable para la Conversión Serie Paralelo...

Page 1: Circuito Integrado Programable para la Conversión Serie Paralelo …ewh.ieee.org/sb/argentina/comahue/ed1/Papers/2EdRateRpic... · 2006-02-28 · 1 Circuito Integrado Programable

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 λ).

III. DESCRIPCIÓN

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 1 Bit 5 Bits / 32 Bits 1 Bit L/E B/P Dir/Pal 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.

Revista Argentina de Trabajos Estudiantiles

TRATE06-004 Vol. I - Nº 2 - Marzo 2006 18

Eduardo
Rectangle
Page 2: Circuito Integrado Programable para la Conversión Serie Paralelo …ewh.ieee.org/sb/argentina/comahue/ed1/Papers/2EdRateRpic... · 2006-02-28 · 1 Circuito Integrado Programable

2

Figura 2: Lectura de Bit

Figura 3: Lectura de palabra

IV. ARQUITECTURA

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.

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.

A0

A1

Out0

Out1

Out2

Out3

A2

A3

A4

Habilitación

Entradas deco 2x4

Salidas decodificador

A BA B A BA B

A

B

C

L=2*L

W=10*

L

L=2*L

W=10*L

L=2*L

W=10*

L

L=2*L

W=10*

L

L=2*L

W=6*L

L=2*L

W=6*L

L=2*L

W=6*L

L=2*L

W=6*L

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.

In

Sel

Out

W

R

F1F2

Clr

DOut

A

BA

B

01

CLBDATA

F1

F2

Q

QBS

Enn

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

Revista Argentina de Trabajos Estudiantiles

TRATE06-004 Vol. I - Nº 2 - Marzo 2006 19

Eduardo
Rectangle
Page 3: Circuito Integrado Programable para la Conversión Serie Paralelo …ewh.ieee.org/sb/argentina/comahue/ed1/Papers/2EdRateRpic... · 2006-02-28 · 1 Circuito Integrado Programable

3 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

Transiciones Estado Entrada 0 Entrada 1 X2 X1 X0 X2 X1 X0 X2 X1 X0I 0 0 0 L 0 1 0 E 0 0 1E 0 0 1 EP 1 0 0 EB 1 0 1L 0 1 0 LP 1 1 0 LB 1 1 1EB 1 0 1 EB 1 0 1 EB 1 0 1EP 1 0 0 EP 1 0 0 EP 1 0 0LB 1 1 1 LB 1 1 1 LB 1 1 1LP 1 1 0 LP 1 1 0 LP 1 1 0

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.

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

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.

Cont

OutIn

F1F2

Clr

AB

CLBDATA

F1

F2

Q

QBS

A

B

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.

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

Revista Argentina de Trabajos Estudiantiles

TRATE06-004 Vol. I - Nº 2 - Marzo 2006 20

Eduardo
Rectangle
Page 4: Circuito Integrado Programable para la Conversión Serie Paralelo …ewh.ieee.org/sb/argentina/comahue/ed1/Papers/2EdRateRpic... · 2006-02-28 · 1 Circuito Integrado Programable

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.

OutHab

Buf

IN

InAuxPA

DOUT

PADO

UT

PADB

IDIR

HE PADA

REF

PADA

REF

Figura 10: Pads de Salidas y Entradas

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. 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.

La Figura 11 muestra un diagrama del funcionamiento del

Circuito integrado y las interacciones entre las distintas partes del circuito.

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.

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).

Figura 12: Fotografía del integrado

W H Área

Transλ µm λ µm mm²

Buffer 4 40 32 75 60 0,0019Contador 275 325 260 480 384 0,0998Registro Serie 190 1130 904 90 72 0,0651Multiplexor Salida 96 1050 840 75 60 0,0504Maquina Estados 182 350 280 370 296 0,0829Celda Memoria 56 380 304 100 80 0,0243Bloque memoria 2346 2500 2000 1050 840 1,6800Completo 3223 3200 2560 1250 1000 2,5600

Contador

6 F

1

0

1

1

0

L

E

0

LB

LP

EB

EP

Inicio

Resetear Contador

32Bits

5x32

Registro serie

32

Contar

Contar

Contar

Contar

Revista Argentina de Trabajos Estudiantiles

TRATE06-004 Vol. I - Nº 2 - Marzo 2006 21

Eduardo
Rectangle
Page 5: Circuito Integrado Programable para la Conversión Serie Paralelo …ewh.ieee.org/sb/argentina/comahue/ed1/Papers/2EdRateRpic... · 2006-02-28 · 1 Circuito Integrado Programable

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

Área mm²

%

Total 9,68 100 PADS 5,23 53,98

Para utilizar 4,45 46,02 Chip 2,56 26,45

Conexiones 0,67 6,88 Vacío 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: 0-13-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.

Revista Argentina de Trabajos Estudiantiles

TRATE06-004 Vol. I - Nº 2 - Marzo 2006 22

Eduardo
Rectangle