Diseño de un Circuito Integrado Contador de...

3

Click here to load reader

Transcript of Diseño de un Circuito Integrado Contador de...

Page 1: Diseño de un Circuito Integrado Contador de Pulsosewh.ieee.org/sb/argentina/comahue/ed1/Papers/1... · Fig 5. Layout de un bloque contador de 1 bit y sus componentes. Fig 6. Layout

ESTADO τ ESTADO τ+1

Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0

0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0

Q 3 Q 2 Q 1 Q 0

0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1

Q 0 τ + 1

Q 3 Q 2 Q 1 Q 0

0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1

Q 1 τ + 1

Q 3 Q 2 Q 1 Q 0

0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0

Q 2 τ + 1

Q 3 Q 2 Q 1 Q 0

0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1

Q 3 τ + 1

Resumen—En este trabajo se presenta el diseño de un

contador sincrónico de 8 bits implementado en una tecnología CMOS estándar de 1,5μm. Se abarca la arquitectura, tablas lógicas e implementación mediante FlipFlops D (DFF). Se comentan además el diseño esquemático y la generación de las máscaras necesarias para la implementación del chip. Abstract—In this paper, the design of a synchronous 8-bit counter implemented using standard 1,5μm CMOS technology is presented. Its architecture, truth tables and implementation using D FlipFlops (DFF) is covered. Finally, the schematic design and the layout needed to implement the chip are explained.

I. INTRODUCCIÓN l contador que se presenta a continuación fue diseñado bajo el marco de la materia Análisis y Diseño de Circuitos Digitales dictada en la Universidad Nacional del Sur.

En innumerables aplicaciones es necesario conocer la cantidad de pulsos recibidos, por lo que circuitos de este tipo son de gran utilidad. El contador aquí presentado es de 8 bits de salida paralelo, sincrónico al flanco ascendente del reloj, y con cuenta ascendente o descendente según el valor del pin de entrada UP/DOWN. El circuito posee una entrada de RESET sincrónica -para poner la cuenta a cero- y una señal de ENABLE, que permite inhibir la cuenta de pulsos [1]. A lo largo del trabajo se describen las distintas etapas de diseño del circuito. Se presenta su arquitectura, tablas lógicas, e implementación mediante DFF. Además se comentan el diseño esquemático y la generación de las máscaras necesarias para construir el chip.

II. TECNOLOGÍA El CI se diseñó en 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 polisilicio) de 600 af/μm² [2]. 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. ARQUITECTURA El circuito consta de dos grandes bloques. Ambos funcionan con un reloj de simple fase, y evolucionan con el flanco ascendente del mismo. El bloque principal es un contador de pulsos de reloj.

† Docentes. P. Julián está afiliado con CONICET; P. S. Mandolesi está afiliado con CIC Pcia. Bs. As.

Cuando su entrada HABILITACIÓN está en nivel alto, en cada pulso de reloj recibido el contador incrementa en uno su cuenta. El signo del incremento depende del valor lógico presente en el pin de entrada UP/DOWN.

El segundo bloque lo constituye una máquina secuencial. Su función es controlar la señal HABILITACIÓN del bloque Contador, habilitándolo solo durante el primer período de reloj donde haya un pulso presente en la entrada PULSO. De esta forma se asegura que cada pulso sea contado solo una vez, independientemente de su duración, siempre y cuando éste permanezca en la entrada durante al menos un período de reloj. La separación entre dos pulsos consecutivos también debe cumplir esta condición para que el bloque los reconozca como tales.

IV. TABLAS LÓGICAS A. Bloque Contador Por simplicidad se ilustra el diseño para un contador de 4 bits. Contadores con un número arbitrario de bits pueden lograrse poniendo en cascada bloques de 1 bit como los aquí mostrados, o con mayor esfuerzo, realizando las tablas lógicas para todos los bits de salida. En la tabla 1 se presenta la tabla de estados para un contador ascendente, junto con los diagramas de Karnaugh correspondientes a cada salida.

TABLA I

TABLA DE ESTADOS PARA UN CONTADOR ASCENDENTE DE 4 BITS, Y MAPAS DE KARNAUGH DE LAS SALIDAS.

Diseño de un Circuito Integrado Contador de Pulsos

R. J. Giraudo, J. A. Allievi, M. Di Federico, P. Julian†, P. S. Mandolesi†

Dto. Ing. Eléctrica y Computadoras, Universidad Nacional del Sur, Av. Alem 1253, Bahía Blanca

E

Revista Argentina de Trabajos Estudiantiles

TRATE05-006 Vol. I - Nº 1 - Febrero 2006 27

Page 2: Diseño de un Circuito Integrado Contador de Pulsosewh.ieee.org/sb/argentina/comahue/ed1/Papers/1... · Fig 5. Layout de un bloque contador de 1 bit y sus componentes. Fig 6. Layout

B. Bloque Máquina de estados El diagrama de estados de la máquina secuencial que controla la señal HABILITACIÓN del contador puede verse en la Fig. 1, donde el estado A corresponde a la ausencia de un pulso en la entrada, y el estado B a su presencia.

Fig. 1. Diagrama de estados de la máquina secuencial. Las entradas corresponden a ENABLE y PULSO respectivamente.

V. FUNCIONES LÓGICAS E IMPLEMENTACIÓN Las reducciones de los mapas de Karnaugh presentados en la tabla 1 resultan en las siguientes funciones lógicas: Q0 τ+1 = QO (1) Q1 τ+1 = Q1 + Q0 (2) Q2 τ+1 = Q2 + (Q0.Q1) (3) Q3 τ+1 = Q3 + (Q0.Q1.Q2) (4) En la Fig. 2 se muestra la implementación de estas funciones mediante DFF con clear (DFFC).

Fig. 2. Implementación de un contador de pulsos de reloj con cuenta ascendente usando DFFC.

Para una cuenta descendente, las funciones lógicas de cada salida se obtienen al invertir los estados τ con τ+1 en la Tabla 1. Q0 τ+1 = Q0 (5) Q1 τ+1 = Q1 + Q0 (6) Q2 τ+1 = Q2 + Q0.Q1 (7) Q3 τ+1 = Q3 + Q0.Q1.Q2 (8) Las compararaciones de (1), (2), (3) y (4) con (5), (6), (7) y (8) respectivamente muestran que, para cada salida, la lógica para una cuenta descendente y una ascendente es bastante similar. De hecho, sería idéntica de no ser por la inversión del segundo operando de la función XOR. En la Fig. 3 se muestra la igualación entre ambas funciones de cada salida mediante el uso de un multiplexor. Además se incluye una señal de

ENABLE que permite suspender la cuenta de pulsos. Esta señal inhibe la evolución de las salidas mediante el control de las compuertas negadoras (NOT y XOR). Nótese, comparando con la Fig. 2, el reemplazo de la compuerta NOT por una XOR (negador controlado), y la consideración de la señal de ENABLE en las demás compuertas XOR del bloque.

Fig. 3. Lógica para una cuenta ascendente/descendente con habilitación. En linea punteada se delimita el bloque contador de 1 bit a replicar.

La máquina de estados de la Fig. 1 se reduce a la función lógica HABILITACIÓN = ENABLE . PULSO . ESTADO τ+1 (9) donde ESTADO τ+1 = ENABLE . PULSO (10) Su implementación con DFFC se muestra en la Fig. 4.

Fig. 4. Implementación de la máquina de estados mediante DFFC.

VI. DISEÑO EN ESQUEMÁTICO Todas las compuertas usan lógica complementaria. El FlipFlop D contiene un reset sincrónico, y buffer interno para el reloj [3]. El diseño es modular, donde la máxima jerarquía la constituye el bloque contador de 1 bit. La conexión en cascada de este bloque permite la creación de un contador de un número arbitrario de bits.

VII. DISEÑO EN LAYOUT El bloque contador de 1 bit tiene el layout necesario para que al ser replicado y cascadeado haga conexión directa con su réplica. Además, su ancho no excede los 194 λ (155,2 μm). Ambas propiedades permiten colocar en el chip 8 bloques contiguos en sentido horizontal, minimizando el área usada. En la fig. 5 se identifican, sobre su layout, los distintos componentes que constituyen el bloque contador de 1 bit. Igual ilustración se da para la máquina de estados en la fig. 6. En el caso del bloque contador, se rotulan además las señales para que se aprecie la inmediata conexión entre éstas al momento de replicar los bloques hacia los costados.

Revista Argentina de Trabajos Estudiantiles

TRATE05-006 Vol. I - Nº 1 - Febrero 2006 28

Page 3: Diseño de un Circuito Integrado Contador de Pulsosewh.ieee.org/sb/argentina/comahue/ed1/Papers/1... · Fig 5. Layout de un bloque contador de 1 bit y sus componentes. Fig 6. Layout

Fig 5. Layout de un bloque contador de 1 bit y sus componentes.

Fig 6. Layout de la máquina de estados y sus componentes. El layout completo del circuito, donde se ven las réplicas del bloque contador de 1 bit, y la conexión de la máquina de estados para controlar su habilitación, se muestra en la Fig. 7. El número de transistores y las dimensiones de cada bloque del layout se muestran en la Tabla II.

TABLA II NÚMERO DE TRANSISTORES Y DIMENSIONES PARA LOS BLOQUES DEL CIRCUITO.

Fig 7. Layout final del circuito.

VIII. PROTOTIPO FABRICADO El chip se mandó a fabricar en un encapsulado DIP 40. Sobre el mismo chip también se fabricaron un conversor paralelo/serie serie/paralelo y un generador de números aleatorios, con el cual se comparten algunas señales. Además, se logró una importante reducción en el número de pines utilizados mediante el multiplexado de las salidas de ambos circuitos habiendo agregado, para tal fin, un multiplexor de 16:8 y un pin de entrada CONT/GEN que lo comanda.

IX. CONCLUSIONES En este trabajo se presentaron los pasos involucrados en el diseño e implementación de un contador sincrónico de 8 bits, usando tecnología CMOS estándar de 1,5μm. El proyecto fue desarrollado en la Universidad Nacional del Sur como parte de la materia Análisis y Diseño de Circuitos Digitales. Circuitos de este tipo encuentran utilidad en innumerables aplicaciones, entre ellas división de frecuencias, cálculo de velocidad y direccionamiento de memoria.

REFERENCIAS

[1] Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nikolic, “Digital Integrated Circuits”, Second Edition, ISBN: 0-13-090996-3, Prentice Hall (1996).

[2] Koyanagi, M. Kurino, H. Kang Wook, Lee Sakuma, K. Miyakawa, N. Itani, H. Tohoku, Sendai, “Future system-on-silicon LSI chips” Micro, IEEE, Jul/Aug 1998 Volume: 18, Issue 4.

[3] Neil H. E. Weste and Kamran Eshraghian, “Principles of CMOS VLSI design”, Addison-Wesley EEUU (1993).

W H Área BLOQUE Trans. λ μm λ μm μm2

Not 2 17 13,6 63 50,4 685 And (2 inputs) 6 47 37,6 60 48 1805 And (3 inputs) 8 63 50,4 60 48 2419 Xor 10 67 53,6 60 48 2573 Llave 2 17 13,6 63 50,4 685 Mux 6 65 52 60 48 2496 FF D con CLR 25 194 155,2 79 63,2 9808 FF D sin CLR 20 175 140 79 63,2 8848 Contador 1 bit 47 194 155,2 178 142,4 22100 Máq. estados 54 175 140 243 194,4 27216 Completo 430 1570 1256 455 364 457184

Revista Argentina de Trabajos Estudiantiles

TRATE05-006 Vol. I - Nº 1 - Febrero 2006 29