Diseño de un Circuito Integrado Contador de Pulsos

Anuncio
Revista Argentina de Trabajos Estudiantiles
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
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.
E
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.
TRATE05-006
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.
ESTADO τ
ESTADO τ+1
Q3
Q2
Q1
Q0
Q3
Q2
Q1
Q0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Vol. I - Nº 1 - Febrero 2006
Q1 Q0
Q3 Q2
00
01
11
10
Q0
00
1
1
1
1
01
0
0
0
0
Q1
Q1 Q0
Q3 Q2
00
01
11
10
00
0
0
0
0
01
1
1
1
1
Q2
Q1 Q0
Q3 Q2
00
01
11
10
00
0
1
1
0
01
0
1
1
0
Q3
Q1 Q0
Q3 Q2
00
01
11
10
00
0
0
1
1
01
0
0
1
1
τ +1
11
0
0
0
0
10
1
1
1
1
τ +1
11
0
0
0
0
10
1
1
1
1
τ +1
11
1
0
0
1
10
0
1
1
0
τ +1
11
0
1
0
1
10
0
0
1
1
27
Revista Argentina de Trabajos Estudiantiles
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.
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. 1. Diagrama de estados de la máquina secuencial.
Las entradas corresponden a ENABLE y PULSO respectivamente.
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.
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
Q1 τ+1 = Q1 + Q0
Q2 τ+1 = Q2 + (Q0.Q1)
Q3 τ+1 = Q3 + (Q0.Q1.Q2)
(1)
(2)
(3)
(4)
En la Fig. 2 se muestra la implementación de estas funciones
mediante DFF con clear (DFFC).
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
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
TRATE05-006
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.
Vol. I - Nº 1 - Febrero 2006
28
Revista Argentina de Trabajos Estudiantiles
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
Fig 5. Layout de un bloque contador de 1 bit y sus componentes.
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
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.
[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).
TABLA II
NÚMERO DE TRANSISTORES Y DIMENSIONES PARA LOS BLOQUES DEL CIRCUITO.
BLOQUE
Not
And (2 inputs)
And (3 inputs)
Xor
Llave
Mux
FF D con CLR
FF D sin CLR
Contador 1 bit
Máq. estados
Completo
Trans.
2
6
8
10
2
6
25
20
47
54
430
W
λ
17
47
63
67
17
65
194
175
194
175
1570
μm
13,6
37,6
50,4
53,6
13,6
52
155,2
140
155,2
140
1256
H
λ
63
60
60
60
63
60
79
79
178
243
455
μm
50,4
48
48
48
50,4
48
63,2
63,2
142,4
194,4
364
Área
μm2
685
1805
2419
2573
685
2496
9808
8848
22100
27216
457184
Fig 7. Layout final del circuito.
TRATE05-006
Vol. I - Nº 1 - Febrero 2006
29
Descargar