Sei sulla pagina 1di 128

Sistemas Digitales

Sistemas Digitales
Dpto. Electrnica, E.T.S.I.T.
Programa
Tema 1. lgebra de Boole y Funciones Lgicas
1.1- Variables y funciones lgicas.
1.2- lgebra de Boole.
1.3- Representacin de funciones lgicas en Electrnica Digital.
1.4- Funciones lgicas de dos variables. Suficiencias.
1.5- Simplificacin de funciones lgicas. Formas cannicas. Diagramas de Karnaugh.
Problemas.

Tema 2. Cdigos Numricos y Alfanumricos


2.12.22.32.42.52.6-

Sistema binario. Aritmtica binaria. Representacin de nmeros negativos.


Sistemas octal y hexadecimal.
Decimal codificado binario (BCD).
Cdigos binarios continuos y cclicos: cdigos Gray y Johnson.
Cdigos alfanumricos. El cdigo ASCII.
Cdigos detectores de error. Bit de paridad.

Tema 3. Circuitos Combinacionales


3.1- Anlisis y sntesis AND-OR. Implementacin en dos niveles.
3.2- Estructuras usando un solo tipo de puertas. Anlisis y sntesis NAND-NOR.
3.3- Fenmenos aleatorios estticos y dinmicos.
Problemas.

Tema 4. Circuitos Combinacionales Integrados


4.1- Decodificadores. Implementacin de funciones lgicas.
4.2- Codificadores.
4.3- Conversores de cdigo.
4.4- Multiplexores.
4.5- Demultiplexores.
4.6- Comparadores binarios.
4.7- Sumadores.
Problemas.

Tema 5. Circuitos Secuenciales Asncronos


5.1- Diseo de circuitos secuenciales asncronos.
5.2- Sntesis de un sistema secuencial asncrono. Reduccin de la tabla de fases.
5.3- Codificacin de los estados internos.
5.4- Sntesis con biestables R-S.
Problemas.

Tema 6. Cerrojos Dinmicos y Flip-Flops


6.1- Cerrojos o Latches.
6.1.1.- Cerrojos dinmicos. Cerrojo tipo D. Limitaciones.
6.2- Flip-Flops.
6.2.1- Flip-Flops activados por nivel. El FF maestro-esclavo.
6.2.1.1- Flip-Flop J-K.
6.2.1.2- Flip-Flop tipo T.
6.2.1.3- Flip-Flop tipo D.

Pgina 1

Sistemas Digitales
6.2.1.4.- Limitaciones de los FF maestro-esclavo.
6.2.2- Flip-Flops activados por flanco. El Flip-Flop J-K.
6.3- Tiempos de establecimiento, mantenimiento y propagacin.
Problemas

Tema 7. Circuitos Secuenciales Sncronos


7.1- Registros.
7.2- Registros de desplazamiento.
7.3- Contadores.
7.3.1- Construccin de un contador de mdulo arbitrario.
7.3.2- Construccin de contadores como registros de desplazamiento.
7.3.2.1- Contador de anillo.
7.3.2.2- Contador conmutado en cola o de Johnson.
7.3.2.3- Contador asncrono de rizado.
7.3.2.4- Contadores integrados.
Problemas.

Bibliografa

Herbert Taub, Circuitos Digitales y Microprocesadores. McGraw-Hill 1982,


Madrid.
Enrique Mandado, Sistemas electrnicos digitales. Marcombo, Boixareu
Editores.
Thomas L. Floyd, Fundamentos de Sistemas Digitales. 7 Edicin, PrenticeHall 2000.
Enrique Mandado, Problemas de electrnica digital. Marcombo, Boixareu
Editores.
I. Padilla. Ejercicios de electrnica digital. Departamento Publicaciones de la
E.T.S.I. de Telecomunicaciones de Madrid.

Pgina 2

Sistemas Digitales

TEMA 1
LGEBRA DE BOOLE Y FUNCIONES LGICAS
1.1- VARIABLES Y FUNCIONES LGICAS
Una funcin es una regla por la que determinamos el valor de una variable,
llamada dependiente, y, a partir de otra variable, llamada independiente, x. La
dependencia de y respecto de x puede escribirse y = f(x).
Formas de definir una funcin:
a) A travs de una expresin algebraica. Por ejemplo y 2 x 2 7
b) Cuando el dominio de la variable independiente es finito, puede definirse a travs de
una tabla. Por ejemplo, en la funcin anterior si x slo pudiese tomar los valores 0, 1,
2 y 3, tendramos:
x
0
1
2
3

y = f(x)
7
9
15
25

Este es el caso de las funciones lgicas que se definirn a travs de una tabla denominada
tabla de verdad.
Las funciones y las variables no tienen por qu ser numricas. Por ejemplo, podemos
asignar:
x: colores de las luces de un semforo
y: comportamiento esperado de un conductor
La tabla de dicha funcin sera:
x
Verde
Amarillo
Rojo

y = f(x)
Contina
Frena
Stop

Definicin de variable lgica:


Una variable se denomina lgica si cumple las siguientes propiedades:
1. Puede adoptar uno u otro de slo dos valores posibles.
2. Dichos valores se expresan a travs de sentencias declarativas, como en el caso del
semforo.
3. Los dos posibles valores deben ser mutuamente excluyentes.
Por ejemplo, si simplificamos el caso del semforo de forma que slo pudiese estar en rojo
o en verde, en este caso x sera una variable lgica. Adems, por la mutua exclusin de los
posibles valores, podemos decir que si x no est en verde, entonces x estar en rojo. En una
notacin ms simplificada se escribe:

Pgina 3

Sistemas Digitales

x no verde x verde rojo


y se lee complementario de.
Valores de una variable lgica:
Las variables lgicas pueden representar cualquier cosa:
Valores numricos. Ejemplos: temperatura, presin, distancias. ...
Valores no numricos. Ejemplos: luces de un semforo, comportamiento de un
conductor.
Para dar mayor generalidad, independientemente de lo que representen nuestras variables
lgicas, les asignaremos a sus dos posibles valores dos nombres: verdadero (T) y falso
(F).
Desde ahora, al tratar con variables lgicas usaremos la siguiente notacin:
A, B, C, ... : variable lgica independiente.
Z:
variable lgica dependiente
o funcin lgica
Por ejemplo, en el caso del semforo asignamos arbitrariamente:
A rojo T A rojo verde F
Z contina T Z contina stop F

As:
A

Z = f(A)

Con esta
asignacin

Z = f(A)

verde
rojo

contina
stop

F
T

T
F

Esta es la
llamada
tabla de
verdad

Funciones de una sola variable lgica:


Para el caso de una nica variable lgica pueden formarse un total de 22 = 4 funciones
distintas, ya que tanto la variable independiente como la dependiente pueden tomar dos
valores distintos (T y F) (2nmero combin. entradas: 2 posibles estados de A, 4 combinaciones
distintas de Z).
A
F
T

Z1
F
F

Z2
F
T

Z3
T
F

Z4
T
T

Tenemos entonces:
Z1 = F
Z2 = A
Z3 = A
Z4 = T

(funcin falsa constante)


(funcin identidad)
(funcin complementaria, NOT)
(funcin verdadera constante)

Caso especial de funciones de dos variables lgicas, las funciones AND y OR:
Hay un total de 16 funciones lgicas de 2 variables lgicas, ya que las 2 variables pueden
combinarse de 4 formas posibles, con lo que 24 = 16. Aunque posteriormente haremos un
estudio de todas, vamos a estudiar ahora dos de ellas:
Pgina 4

Sistemas Digitales

Funcin AND: es la determinada por la siguiente tabla de verdad:

A
F
F
T
T

B
F
T
F
T

Z = A AND B
F
F
F
T

Recibe el nombre de funcin AND porque Z es verdadero solamente cuando A y (AND) B


lo son a la vez. Otra forma de expresar la funcin es Z = A.B o Z = AB y se llama tambin
producto lgico, aunque no tiene sentido aritmtico.
Propiedades:

Conmutativa:
Z = AB = BA, se deduce intercambiando las columnas A y B de la tabla

de verdad.
Asociativa:
Z = A(BC) = (AB)C
Veamos la demostracin a partir de las respectivas tablas de verdad:
A
F
F
F
F
T
T
T
T

B
F
F
T
T
F
F
T
T

C
F
T
F
T
F
T
F
T

AB
F
F
F
F
F
F
T
T

(AB)C
F
F
F
F
F
F
F
T

BC
F
F
F
T
F
F
F
T

A(BC)
F
F
F
F
F
F
F
T

Vemos que coinciden los valores en ambas columnas luego podremos escribir:
A(BC) = (AB)C = ABC
Funcin OR: es la determinada por la siguiente tabla de verdad
A
F
F
T
T

B
F
T
F
T

Z = A OR B
F
T
T
T

Pgina 5

Sistemas Digitales

Recibe el nombre de funcin OR porque Z es verdadera cuando lo es A o (OR) cuando lo es


B, o lo son ambas a la vez. Otra forma de expresar la funcin es Z = A+B y se llama tambin
suma lgica, aunque no tiene sentido aritmtico.
Propiedades:

Conmutativa:
Z = A+B = B+A, se deduce intercambiando las columnas A y B de la

tabla de verdad.
Asociativa:
Z = A+(B+C) = (A+B)+C
Veamos la demostracin a partir de las respectivas tablas de verdad:
A
F
F
F
F
T
T
T
T

B
F
F
T
T
F
F
T
T

C
F
T
F
T
F
T
F
T

A+B
F
F
T
T
T
T
T
T

(A+B)+C
F
T
T
T
T
T
T
T

B+C
F
T
T
T
F
T
T
T

A+(B+C)
F
T
T
T
T
T
T
T

Vemos que coinciden los valores en ambas columnas luego podremos escribir:
A+ (B+C) = (A+B)+C = A+B+C
La notacin 0, 1:
Vamos a introducir una notacin alternativa:
A = 0 como alternativa a A = F
A = 1 como alternativa a A = T
Hay que prestar especial atencin para no confundir el 0 y el 1 que vamos a utilizar con los
nmeros que representan. Para nosotros sern los posibles valores que puede tomar una
variable lgica. Esta notacin aporta muchas ventajas como veremos a continuacin.
Volvamos a escribir las tablas de verdad de las funciones AND y OR con esta nueva notacin:
A
0
0
1
1

B
0
1
0
1

Z = AB
0
0
0
1

A
0
0
1
1

B
0
1
0
1

Z = A+B
0
1
1
1

Vemos que se siguen las reglas de la aritmtica fundamental, exceptuando el caso


1 + 1 = 1, que nos recuerda que estamos en lgica y no con operaciones aritmticas.

Pgina 6

Sistemas Digitales

1.2- LGEBRA DE BOOLE


Vamos a dar un carcter ms formal a todo lo visto anteriormente. El concepto de variable
lgica fue introducido por George Boole en 1850 en relacin con sus estudios sobre el
pensamiento humano. Fue Claude Shannon de The Bell Laboratories quien lo adapt a los
sistemas digitales.
Definicin y postulados:
Un lgebra de Boole B es toda clase o conjunto de elementos que pueden tomar dos
valores perfectamente diferenciados, que designaremos por 0 y 1, y que estn relacionados
por dos operaciones binarias, denominadas suma (+) y producto () lgicos, que cumplen los
siguientes postulados (5):
a) Ambas operaciones son conmutativas:
A, B se verifica A B B A y A B B A
b) Ambas operaciones son asociativas:
A, B, C se
verifica
A(BC ) ( AB )C ABC

A ( B C ) ( A B) C A B C

c) Existen los respectivos elementos neutros:


A , 1,0 B tales que A 0 A y A 1 A , donde hemos representado por 0
el neutro de la suma lgica y por 1 el neutro del producto lgico.
d) Existen elementos complementarios:
A , A B tal que A A 1 y A A 0
Este postulado define una nueva operacin fundamental: inversin o complementacin de
una variable. As, la variable A se encuentra en estado binario contrario al de A. De
hecho A A 1 expresa la imposibilidad de que A y A tomen el valor 0 al mismo tiempo, y
A A 0 la imposibilidad de que tomen el valor 1 al mismo tiempo. As, se tiene que:
A
0
1

A
1
0

e) Propiedad distributiva de cada operacin respecto de la otra:


A, B, C se verifica:
A ( B C ) ( A B) ( A C ) y A ( B C ) ( A B) ( A C )
Pueden eliminarse algunos parntesis imponiendo, como en el lgebra usual, la prioridad
del producto con respecto a la suma.
El lgebra de Boole puede aplicarse, en un principio, a todos aquellos sistemas que
consistan en elementos que puedan presentarse en dos tipos de estados mutuamente
excluyentes.

Pgina 7

Sistemas Digitales

Veamos ahora un ejemplo de aplicacin del lgebra de Boole a contactos o conmutadores:


El elemento 0 se asimila a un contacto abierto: no hay paso de corriente.
El elemento 1 se asimila a un contacto cerrado: hay paso de corriente.
La operacin suma se asimila a la conexin en paralelo de conmutadores:
A
B

A+B

hay corriente cuando A est cerrado, cuando B est cerrado o cuando lo estn ambos.
La operacin producto se asimila a la conexin en serie de conmutadores:

hay corriente slo si A y B estn cerrados a la vez.


El inverso de un conmutador es otro conmutador cuyo estado es siempre contrario al
primero:
A
A
Veamos si se cumplen los postulados del lgebra de Boole:
a) Conmutatividad: evidentemente
A

A+B

B+A

y adems
A

AB

BA

b) Asociatividad: se cumple,
A

A+(B+C)

(A+B)+C

y adems,
A

A(BC)

(AB)C

c) Elemento neutro:
A
A
0

Pgina 8

A+0

Sistemas Digitales

por otro lado

d) Elemento complementario:
A

1
A
A+A
y tambin
A

AA

e) Propiedades distributivas:
B

y adems

A(B+C)

(AB) + (AC)

A
B

A+(BC)

(A+B)(A+C)

Por tanto, los conmutadores constituyen un lgebra de Boole.


Teoremas del lgebra de Boole:
De los postulados anteriores se deducen varios teoremas (7) que pueden demostrarse tanto
algebraicamente como a travs de la tabla de verdad.
Teorema 1 (principio de dualidad): si una expresin es vlida en el lgebra booleana,
entonces su expresin dual tambin es vlida. La expresin dual se obtiene intercambiando
entre s las operaciones (+) y () y los elementos 0 y 1.
Esto se deduce de la simetra de los cinco postulados respecto de las dos operaciones.
Vemoslo con dos ejemplos:

En la funcin AND, aplicando el principio de dualidad tenemos:

Pgina 9

Sistemas Digitales

AND
B
AB
0
0
1
0
0
0
1
1

A
0
0
1
1

OR
Cambiando
() por (+) y 0
por 1,
obtenemos la
funcin OR

A
1
1
0
0

B
1
0
1
0

A+B
1
1
1
0

Si en la expresin de la propiedad distributiva del producto respecto de la suma:


A ( B C ) ( A B) ( A C )
cambiamos (+) por () y viceversa obtenemos:
A ( B C ) ( A B) ( A C )
que es la distributiva de la suma respecto del producto.
Teorema 2: A B, se verifica : A 1 1 y A 0 0
Si demostramos la primera, la segunda quedar demostrada por el principio de dualidad:
1 A A A A 1 ( A A) ( A 1) 1 ( A 1) A 1
donde hemos aplicado:

primera igualdad: postulado d) (elementos complementarios)


segunda igualdad: postulado c) (neutro del producto)
tercera igualdad: postulado e) (distributiva de la suma respecto del producto)
cuarta igualdad: postulado d) (elementos complementarios)
quinta igualdad: postulado c) (neutro del producto)

La demostracin puede hacerse de forma ms sencilla a partir de las respectivas tablas de


verdad.
De este teorema y del postulado c) (elemento neutro) se deduce que:
Postulado c): 0 0 0 , 1 0 1 , 0 1 0 , 1 1 1 (A+0=A, A1=A)
Teorema 2: 1 1 1 , 1 0 0 , 0 1 1 , 0 0 0 (A+1=A, A0=0)
Por tanto, se deduce que las tablas de verdad de la suma y del producto lgicos son:
A
0
0
1
1

B
0
1
0
1

A+B
0
1
1
1

A
0
0
1
1

B
0
1
0
1

AB
0
0
0
1

De esta forma hemos obtenido las tablas de verdad de las funciones AND y OR a partir de
un teorema derivado de los postulados fundamentales.
Teorema 3: A B, se verifica : A A A y A A A
Demostremos la primera igualdad y de nuevo la segunda quedar demostrada por dualidad:
A A 0 A A A ( A A) ( A A) ( A A) 1 A A
donde hemos aplicado:

Pgina 10

Sistemas Digitales

primera igualdad: postulado c) (neutro de la suma)


segunda igualdad: postulado d) (elementos complementarios)
tercera igualdad: postulado e) (distributiva de la suma respecto del producto)
cuarta igualdad: postulado d) (elementos complementarios)
quinta igualdad: postulado c) (neutro del producto)

Igual que en el teorema 2, la demostracin puede hacerse de forma ms sencilla a partir de


las respectivas tablas de verdad.
Teorema 4 (ley de absorcin): A, B B, se verifica : A A B A y A ( A B ) A
Demostremos la primera:
A A B A 1 A B A (1 B) A 1 A
donde hemos aplicado:
primera igualdad: postulado c) (neutro del producto)
segunda igualdad: postulado e) (distributiva del producto respecto de la suma)
tercera igualdad: teorema 2
cuarta igualdad: postulado c) (neutro del producto)
De nuevo la segunda igualdad quedar demostrada por el principio de dualidad.
Teorema 5: A, B B, se verifica : A A B A B y A ( A B ) AB
Demostramos la primera algebraicamente y la segunda queda demostrada por el principio
de dualidad.
A A B ( A AB ) AB A ( A A) B A 1B A B
donde hemos aplicado:
primera igualdad: teorema 4 (ley de absorcin)
segunda igualdad: postulado e) (distributiva del producto respecto de la suma)
tercera igualdad: postulado d) (elemento complementario)
cuarta igualdad: postulado c) (neutro del producto)
Teorema 6: A B, se verifica : A A
Podemos demostrarlo a travs de la tabla de verdad:

A
0
1

A
1
0

A
0
1

De este teorema y del postulado d) (el. complementario) se deduce:

0 1 y 1 0

Teorema 7 (leyes de De Morgan): A1 , A2 , A3 ,..., An B, se verifica :


a) A1 A2 A3 An A1 A2 A3 An
b) A1 A2 A3 An A1 A2 A3 An
Demostraremos la a) aplicando el principio de induccin sobre n, con lo que la b) quedar
demostrada por dualidad. Lo demostramos en primer lugar para n=2 a partir de la tabla de
verdad:

Pgina 11

Sistemas Digitales

A
0
0
1
1

B
0
1
0
1

A B
0
1
1
1

A B
1
0
0
0

A
1
1
0
0

B
1
0
1
0

A B
1
0
0
0

Suponemos ahora cierta la expresin para n-1, es decir:


A1 A2 A3 An 1 A1 A2 A3 An 1

Veamos que tambin es cierto para n:


A1 A2 A3 An 1 An ( A1 A2 A3 An 1 ) An A1 A2 A3 An 1 An

A1 A2 A3 An 1 . An con lo que queda demostrado.

1.3- REPRESENTACIN DE FUNCIONES LGICAS EN ELECTRNICA DIGITAL


Hemos visto como poda implementarse una variable lgica a travs de un conmutador.
Actualmente lo ms usual en los circuitos digitales es representar los valores lgicos de una
variable por tensiones elctricas.
Por ejemplo, podemos convenir que cuando una variable lgica A se represente por una
tensin V, la variable A es F cuando V 0v y A es T cuando V 5v . En la prctica mantener
una tensin fija es bastante difcil porque siempre hay cierta tolerancia. Por ello, es ms usual
tomar, por ejemplo:
A=F cuando 0v V 1.5v
A=T cuando 3.5v V 5v

Lgica TTL, Vcc +5V

Pueden tomarse las dos tensiones positivas, las dos negativas o bien de signos contrarios.
Dependiendo de la asignacin de tensiones tendremos dos tipos de lgicas:
Lgica positiva: la tensin mayor representa el valor lgico T y la menor el valor F.
Lgica negativa: la tensin mayor representa el valor lgico F y la menor el valor T.
Es indiferente en principio usar una u otra, aunque, por razones histricas y psicolgicas, se
usa preferentemente la lgica positiva.
El smbolo del dispositivo que puede realizar el producto lgico Z A B de dos variables
A y B es:
A
Z=AB
B
El smbolo del dispositivo que puede realizar la suma lgica Z A B de dos variables A
y B es:
A
Z=A+B
B
Pgina 12

Sistemas Digitales

dado que tanto la funcin AND como la funcin OR son conmutativas y asociativas, los
dispositivos que realizan el producto y la suma lgica de muchas variables se pueden
representar por:
A
B
C

Z=ABC

A
B
C

Z=A+B+C+...

En general cualquier estructura de una funcin lgica se conoce como puerta lgica. As,
hemos representado una puerta AND y una puerta OR. Las variables A, B, C,... son las
entradas a la puerta y Z la salida de la misma. La naturaleza de los dispositivos electrnicos
que constituyen las puertas AND y OR permite aadir nuevas entradas con relativamente
poca complicacin, por ello se dispone fcilmente de puertas AND y OR de entradas
mltiples.
Inversores. Puertas NOT
Un inversor es una puerta lgica con una sola entrada y una sola salida que es el
complemento lgico de la entrada. Se representa por:
A

Z=A

La caracterstica inversora nos la da el pequeo crculo. Cuando se quiere indicar la


inversin en un diagrama lgico, se omite la parte triangular del inversor, por ejemplo:
A

AB

Z= AB
B
Familias lgicas
Una familia lgica representa la forma de implementar internamente las puertas lgicas.
Cada familia lgica se basa en distintos tipos de componentes electrnicos. Las ms comunes
son:

Lgica RTL (Resistor Transistor Logic), que emplea resistencias y transistores.


Lgica DTL (Diode Transistor Logic), basada en diodos y transistores.
Lgica TTL (Transistor Transistor Logic), que utiliza transistores.

El trmino familia tambin se emplea para designar grupos de circuitos integrados que
pertenecen a la misma categora o que poseen caractersticas comunes. La familia 74 est
fabricada en su mayor parte con lgica TTL y engloba a la mayora de circuitos digitales de
uso comn. Los integrados de esta familia se numeran como 74xx00 y sucesivos, donde xx
son letras que indican la subfamilia a la que pertenecen

LS: Low-power Shottky (TTL).


HC: High speed CMOS
HCT: High speed CMOS con entradas compatibles 74LS TTL.

Pgina 13

Sistemas Digitales

Ej. 74LS04: 6 inversores (NOT) pertenecientes a la familia 74, subfamilia LS fabricado con
lgica TTL.
Cada familia lgica o subfamilia tiene sus caractersticas particulares, principalmente:
o Valores de tensin para los niveles 0 y 1 lgicos (TTL 74LS: 0 y (5 0.25) V).
o Fan-in: mximo nmero de entradas digitales que una puerta lgica puede recibir.
o Fan-out: mximo nmero de entradas digitales que una puerta lgica puede alimentar
(TTL 74LS : hasta 10 entradas 74LS).
o Retardo de propagacin (TTL 74LS: cerca de 10 ns).
o Mxima frecuencia de trabajo (TTL 74LS: hasta 35 MHz).

1.4- FUNCIONES LGICAS DE DOS VARIABLES. SUFICIENCIAS


Habamos visto que en el caso de dos variables lgicas tenamos 24=16 posibles funciones.
De ellas hemos estudiado ya las que hemos denominado AND y OR. Si construimos la tabla
de verdad de todas ellas tendramos:
A
0
0
1
1

B
0
1
0
1

f0
0
0
0
0

f1
0
0
0
1

f2
0
0
1
0

f3
0
0
1
1

f4
0
1
0
0

f5
0
1
0
1

f6
0
1
1
0

f7
0
1
1
1

f8
1
0
0
0

f9
1
0
0
1

f10
1
0
1
0

f11
1
0
1
1

f12
1
1
0
0

f13
1
1
0
1

f14
1
1
1
0

f15
1
1
1
1

Veamos cada una de estas funciones:

f 0 0 , es la funcin falsa constante.

f15 1 , es la funcin verdadera constante.

f 3 A , f 12 A , f 5 B y f 10 B son funciones de una sola variable. Las funciones f10


y f12 reciben el nombre de funcin NOT.
f1 A B , es la funcin AND.
f 7 A B , es la funcin OR.

f 6 es una nueva funcin que denominaremos OR-Exclusiva o XOR y que


representaremos por f 6 A B . Esta funcin vale 1 si A=1 o B=1, pero no
simultneamente. La tabla de verdad es:
A
B A B
0
0
0
0
1
1
1
0
1
1
1
0

La funcin OR-Exclusiva es conmutativa y asociativa tal y como puede demostrarse


fcilmente a partir de la tabla de verdad. Se verifica adems:
f6 A B A B A B A B
como se comprueba fcilmente a travs de las respectivas tablas de verdad:

Pgina 14

Sistemas Digitales

A B

0
0
1
1

0
1
0
1

0
1
1
0

B
1
0
1
0

A
1
1
0
0

A B
1
0
0
1

A B
0
1
1
0

A B
1
0
0
1

A B
0
1
1
0

A B
0
1
1
0

La funcin XOR de n variables toma el valor lgico 1 si se encuentra un nmero impar de


entradas en estado 1, y el valor lgico 0 si es un nmero par. As, la funcin XOR de n
variables puede usarse como un detector de paridad impar.
El smbolo para esta puerta es:
A

Z A B

B
La puerta XOR es una de las ms difciles de fabricar, no siendo fcil modificar su
estructura para acomodar entradas adicionales. As, para realizar una puerta XOR de tres
entradas lo ms sencillo es hacer:
A

A B
B

A BC
C

f 9 A B , es la funcin NOR-Exclusiva o XNOR. Esta funcin se llama tambin


equivalencia, ya que mantiene en la salida un 1 lgico solamente cuando A=B, como se
observa en su tabla de verdad:

A
0
0
1
1

B
0
1
0
1

A B
1
0
0
1

Z A B

Teniendo en cuenta las propiedades de la funcin XOR, puede demostrarse fcilmente:


f9 A B A B A B

f14 A B , es el complemento de la funcin AND y recibe el nombre de funcin NAND.

Se representa por f14 A B o simplemente A B , siendo su tabla de verdad:


A
0
0
1
1

B
0
1
0
1

A B
1
1
1
0
Pgina 15

Sistemas Digitales

Obviamente se representa por:


A
Z A B

B
Esta funcin es conmutativa pero no asociativa:

A ( B C ) ( A B) C ya que A B C A B C
por tanto, si genersemos una funcin que realizase la operacin NAND con ms de dos
variables, se necesitara especificar el orden en que se va a efectuar esta operacin. Como esto
es algo incmodo, cuando se manejan ms de dos variables, el trmino NAND aplicado a n
variables se interpreta como A1 A2 ... An , es decir, aplicamos primero la funcin AND y
luego la complementamos. Su representacin es:
A1
A2
A3
An

Z A1 A2 A3 ...An

f 8 A B , es el complemento de la funcin OR y recibe el nombre de funcin NOR. Se

representa por f 8 A B o simplemente A B , siendo su tabla de verdad:


A
0
0
1
1

B
0
1
0
1

A B
1
0
0
0

Al igual que la funcin NAND, esta funcin es conmutativa pero no asociativa:

A ( B C ) ( A B) C ya que A B C A B C
por ello, para ms de dos variables la funcin NOR se interpreta como el complemento de la
OR aplicado a dichas variables. Su representacin es:
A1
A2
A3
An

Z A1 A2 A3 ... An

f13 , es la denominada funcin de implicacin. Se escribe f13 A B y se lee A


implica B. Significa que siempre que A sea cierto implica que B tambin lo ha de ser.
Veamos con un ejemplo el porqu de su denominacin. Supongamos que A es una
variable lgica tal que:
A = T = 1 representa ser salmantino, A = F = 0 representa no ser salmantino
y que B es una variable lgica tal que:
B = T = 1 representa ser espaol, B = F = 0 representa no ser espaol

Pgina 16

Sistemas Digitales

Si ahora tenemos en cuenta la lgica de las siguientes expresiones y la definimos como


una nueva variable Z:
a)
b)
c)
d)

No ser salmantino (A = 0) y no ser espaol (B = 0) Z = T = 1


No ser salmantino (A = 0) y ser espaol (B = 1) Z = T = 1
Ser salmantino (A = 1) y no ser espaol (B = 0) Z = T = 0
Ser salmantino (A = 1) y ser espaol (B = 1) Z = T = 1

Vemos que la Z as definida verifica la tabla de verdad de la implicacin


A
0
0
1
1

B
0
1
0
1

A B
1
1
0
1

Por tanto, podemos concluir nuestro ejemplo diciendo que ser salmantino implica ser
espaol.

La funcin implicacin no es conmutativa ni asociativa, por lo que existen de forma


independiente las siguientes funciones:
f11 B A

f2 A B

f4 B A

Relaciones entre funciones lgicas. Suficiencias:


Las funciones lgicas vistas anteriormente no son todas independientes y pueden ponerse,
por ejemplo, en funcin de las funciones AND, OR y NOT. As tendramos:
f0 0 A A B B

f1 A B

f2 A B A B

f3 A

f4 B A A B

f5 B

f6 A B A B A B

f7 A B

f8 A B A B A B

f9 A B A B A B

f 10 B

f11 B A A B

f 12 A

f 13 A B A B

f14 A B A B A B

f 15 1 A A B B

Las demostraciones son sencillas en todos los casos. Veamos por ejemplo:
f6 A B A B A B
A
0
0
1
1

B
0
1
0
1

A
1
1
0
0

B
1
0
1
0

A B
0
0
1
0

A B
0
1
0
0

A B A B
0
1
1
0

A B
0
1
1
0

Pgina 17

Sistemas Digitales

Para el caso de funciones con ms de dos variables, se generan aplicando repetidamente


operaciones que relacionan dos variables. Entonces podemos expresar cualquier funcin
lgica por medio de las operaciones AND, OR y NOT. Adems AND, OR y NOT son
funciones cmodas de manejar al ser conmutativas y asociativas para dos variables.
Si tenemos en cuenta que A B A B A B , vemos que es suficiente con las
operaciones OR y NOT para generar cualquier funcin lgica.
Por otra parte, teniendo en cuenta que A A A y que ( AA)(BB) A B A B , se
deduce que con puertas NAND podemos implementar las operaciones OR y NOT, de donde
se desprende la suficiencia de la funcin NAND.
Anlogamente A B A B A B

con lo que con puertas AND y NOT podemos

generar cualquier funcin. Adems A A A y ( A A) ( B B) A B A B , de donde se


deduce la suficiencia de la funcin NOR para generar cualquier funcin lgica.
As, cuando queramos disear un circuito usando un solo tipo de puerta (funcin) lgica,
recurriremos bien a puertas NAND o a puertas NOR, pues con cualquiera de ellas se pueden
generar todas las funciones lgicas.

Pgina 18

Sistemas Digitales

1.5- SIMPLIFICACIN DE FUNCIONES LGICAS


Vimos que simplificar expresiones lgicas aplicando los teoremas del lgebra de Boole era
demasiado engorroso. Ahora veremos procedimientos ms sistemticos y efectivos para
realizar simplificaciones.
Formas cannicas de funciones lgicas: suma de productos cannicos y producto de sumas
cannicas (o estndar)
Se llama trmino cannico de una funcin lgica a todo producto o suma en el cual
aparecen todas las variables de las que depende, ya sea en forma directa o complementada.
Por ejemplo, en una funcin de tres variables f f ( A, B, C ) , el trmino A B C es un
producto cannico y el trmino A B C es una suma cannica. Para una funcin de n
variables, el nmero de trminos cannicos posibles es 2n.
Cuando una funcin se expresa como una suma de productos cannicos o como producto de
sumas cannicas se dice que se encuentra en forma cannica.
Teorema: toda funcin de un lgebra de Boole se puede expresar de las siguientes formas:
f (a, b, c,...) a f (1, b, c,...) a f (0, b, c,...)
o bien

f (a, b, c,...) a f (0, b, c,...) a f (1,b,c,...)

Demostremos la primera y la segunda quedar demostrada por dualidad. Para ello basta
con comprobar la igualdad para a 0 y a 1 .

Si a 0 a 1, luego f (a, b, c,...) 0 f (1, b, c,...) 1 f (0, b, c,...) f (0, b, c)

Si a 1 a 0, luego f (a, b, c,...) 1 f (1, b, c,...) 0 f (0, b, c,...) f (1, b, c)


con lo que queda demostrado.
Corolario: Toda funcin lgica puede expresarse como suma de todos sus productos
cannicos cada uno de ellos multiplicado por un coeficiente. Este coeficiente es igual al valor
que toma la funcin al sustituir cada variable por 1 o por 0 segn aparezca en el producto
cannico en forma directa o complementada, respectivamente.
Anlogamente toda funcin lgica puede expresarse como producto de todas sus sumas
cannicas cada una de ellas con un sumando igual al valor que toma la funcin al sustituir
cada variable por 0 o por 1 (al contrario que como suma de productos) segn aparezca en la
suma cannica en forma directa o complementada, respectivamente.
Como es habitual, demostremos el primer enunciado con lo que el segundo quedar
demostrado por dualidad. El teorema anterior nos deca que:
f (a, b, c,...) a f (1, b, c,...) a f (0, b, c,...) ......(*)
anlogamente, podemos poner:
f (1, b, c,...) b f (1,1, c,...) b f (1,0, c,...)
f (0, b, c,...) b f (0,1, c,...) b f (0,0, c,...) . Sustituyendo en (*):

Pgina 19

Sistemas Digitales

f (a, b, c,...) a b f (1,1, c,...) a b f (1,0, c,...) a b f (0,1, c,...) a b f (0,0, c,...)

Repitiendo el proceso para cada variable obtenemos finalmente:


f (a, b, c,...) a b c ... f (1,1,1,...) a b c ... f (0,1,1,...) a b c ... f (1,0,1,...)
a b c ... f (0,0,1,...) ... a b c ... f (0,0,0,...)
con lo que el corolario queda demostrado.

En el caso del producto de sumas quedara:

f (a, b, c,...) a b c ... f (0,0,0,...) a b c ... f (1,0,0,...) a b c ... f (0,1,0,...)

a b c ... f (1,1,0,...) ... a b c ... f (1,1,1,...)

Veamos un ejemplo para tres variables. Sea la funcin f definida por la siguiente tabla de
verdad:
a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

c
0
1
0
1
0
1
0
1

f
1
0
0
1
0
1
1
1

Tendremos 23=8 trminos cannicos. En el caso de los


productos, si los colocamos en el orden que nos indica la tabla de
verdad, obtenemos:

f (a, b, c, ) a b c f (0,0,0) a b c f (0,0,1) a b c f (0,1,0) a b c f (0,1,1)

0
1
1
0
a b c f (1,0,0) a b c f (1,0,1) a b c f (1,1,0) a b c f (1,1,1)

0
1
1
1

de donde obtenemos definitivamente:


f (a, b, c, ) a b c a b c a b c a b c a b c

La funcin ha quedado expresada en su forma cannica de suma de productos. Para


expresar una funcin como suma de productos cannicos basta con tomar todos los trminos
para los cuales la funcin vale uno y sustituir los unos por la variable correspondiente y los
ceros por su complementada.
Si queremos expresar la funcin como producto de sumas, podemos escribir aplicando el
anterior corolario:

f (a, b, c, ) a b c f (0,0,0) a b c f (0,0,1) a b c f (0,1,0) a b c f (0,1,1)

0
1
1
0

a b c f (1,0,0) a b c f (1,0,1) a b c f (1,1,0) a b c f (1,1,1)

0
1
1
1

con lo que, considerando A+1=1:

Pgina 20

Sistemas Digitales

f (a, b, c) (a b c) (a b c) (a b c)

La funcin ha quedado expresada en su forma cannica de producto de sumas. Para


expresar una funcin como producto de sumas cannicas basta con tomar todos los trminos
para los cuales la funcin vale cero y sustituir los ceros por la variable correspondiente y los
unos por su complementada. (al contrario que como suma de productos).
A cada producto cannico se le denomina tambin minterm y a cada suma cannica
maxterm. Otra forma ms sencilla de expresar una funcin se realiza numerando los
trminos cannicos. Si en el ejemplo anterior tomamos abc como un nmero binario de tres
bits, siendo a el ms significativo y c el menos significativo, podremos escribir sus
equivalentes en decimal:
a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

c Decimal
0
0
1
1
0
2
1
3
0
4
1
5
0
6
1
7

f
1
0
0
1
0
1
1
1

As, por extensin podemos escribir:


f (0) 1, f (1) 0, f (2) 0, f (3) 1,...
De este modo, cada producto cannico tiene un nmero binario
asociado que resulta al sustituir por unos las variables directas y por
ceros las complementadas. Por ejemplo, al producto cannico
a b c le asignamos el nmero binario 011, que en decimal es el

3. De igual forma, a la suma cannica a b c le corresponde el


nmero binario 001 (forma directa 0, complementada 1), que en
decimal es el 1.

Hay que tener cuidado con el orden en que se toman las variables. ste es arbitrario, pero
una vez que se ha escogido un criterio se debe ser consecuente con l.
As, numerando productos y sumas cannicas podemos escribir, volviendo al ejemplo
anterior:
f (a, b, c) a
b
c a
b
c a
b
c a
b
c a
b
c 0, 3, 5, 6, 7
7
0
3
6
5

que son las combinaciones de variables para las que f vale uno.
Anlogamente:
f (a, b, c) (a b c) (a b c) (a b c) 1, 2, 4

1
2
4
que son las combinaciones de variables para las que f vale cero. Vemos que son justamente
los trminos que faltan en la suma de productos cannicos, ya que si para una combinacin de
variables f no es uno, deber ser cero.

Dada una funcin expresada en forma cannica es muy fcil hallar su complemento.
Vemoslo con el ejemplo anterior:
f (a, b, c, ) a b c a b c a b c a b c a b c
(a b c) (a b c) (a b c) (a b c) (a b c)
a b c (a b c) (a b c) (a b c) (a b c) 0, 3, 5, 6, 7

Anlogamente, si partimos de:

Pgina 21

Sistemas Digitales

obtendremos
f (a, b, c) 1, 2, 4
Por tanto, para hallar el inverso de una funcin lgica basta con intercambiar las sumas
cannicas por productos cannicos y viceversa (pues en la tabla cambiaramos 1s por 0s y
viceversa).
f (a, b, c) 1, 2, 4

Obtencin de las formas cannicas a partir de la expresin lgica de una funcin


En el apartado anterior hemos visto como expresar funciones lgicas en su forma cannica
a partir de la tabla de verdad. Ahora veremos como hacerlo a partir de su expresin lgica.
Si queremos obtener la forma cannica de suma de productos, se operar algebraicamente
aplicando la propiedad distributiva de () respecto de (+) hasta obtener una expresin en
forma de suma de productos no cannicos. Para convertirlos en cannicos se multiplica cada
trmino por la suma de las variables que faltan en l y sus complementos (A+ A =1). Por
ejemplo, sea la funcin:
f (a, b, c) a (b c) c
aplicamos la propiedad distributiva obteniendo: f a b a c c ,
multiplicamos cada trmino por la suma de las variables que faltan y sus complementos con
lo que el resultado no vara ya que estos factores valen 1:
f a b (c c) a c (b b) c (a a) (b b)
volviendo a aplicar la correspondiente distributiva obtenemos:
f abc abc abc abc abc abc abc abc,
suprimiendo los trminos repetidos ya que A A A :

f a
b
c a
b
c a
b
c a
b
c a
b
c a
b
c 1, 3, 4, 5, 6, 7
5
7
6
3
1
4

Anlogamente, si queremos obtener la forma cannica de producto de sumas se operar


algebraicamente aplicando la propiedad distributiva de (+) respecto de () hasta obtener
una expresin de producto de sumas no cannicas. Para convertir estas sumas en cannicas se
le suma el producto de cada variable que falta en l por su complementada (A A =0).
Vemoslo con un ejemplo:
Sea la funcin anterior f (a, b, c) a (b c) c . Si aplicamos la correspondiente
distributiva de (+) respecto de () tenemos (A+BC=(A+B)(A+C) ):
f (a c) (b c
c) ( a c ) (b 1) a c
1
De acuerdo con lo explicado sumamos b b , que como vale cero no cambia el valor de la
expresin, con lo que obtenemos: f a c b b . Volviendo a aplicar la correspondiente
distributiva obtenemos finalmente:

f (a

b
c) (a

b
c) (0, 2)

0
2
como caba esperar.

Pgina 22

Sistemas Digitales

Simplificacin de funciones lgicas:


No existe actualmente un criterio nico de minimizacin de la expresin de una funcin
lgica. Adoptaremos el criterio ms extendido, que es el de obtener una expresin en forma
de suma de productos o producto de sumas que tenga un nmero mnimo de trminos con el
menor nmero de variables posible en cada uno de ellos.
Para obtener una expresin mnima de suma de productos o producto de sumas partiremos
de la forma cannica correspondiente. En general se han de obtener ambas expresiones y
utilizar la ms sencilla de ellas para realizar la funcin en la prctica.
En los mtodos de simplificacin que veremos vamos a aplicar sistemticamente las
siguientes propiedades:
Ec. 1: a1 a 2 a3 .... a n a1 a 2 a 3 .... a n a 2 a 3 .... a n
Ec. 2: (a1 a 2 a3 .... a n ) (a1 a 2 a3 .... a n ) a 2 a3 .... a n
La demostracin es inmediata aplicando las correspondientes propiedades distributivas y
luego teniendo en cuenta que a1 a1 1 y que a1 a1 0 . ( ( AB AB B( A A) B y
( A B)(A B) B A A B ).
Dos trminos cannicos son adyacentes lgicamente cuando difieren solamente en el
estado de una de las variables
La primera de las dos expresiones indica que la suma de dos productos cannicos
adyacentes lgicamente se reduce a un nico producto en el cual se ha eliminado dicha
variable. La segunda expresin es la dual de la anterior e indica lo mismo para las sumas
cannicas.
Esta propiedad algebraica de simplificacin se puede usar tambin de una forma numrica,
usando los equivalentes numricos de las combinaciones binarias tal y como ya hemos
indicado.
Por ejemplo, sea la expresin lgica:
f (a, b, c, d ) a b c d a b c d a b c d a b c d
de acuerdo con la Ec.1:
a b c d a b c d (a
a) b c d b c d
1
a b c d a b c d (a
a) b c d b c d
1
Esto se puede expresar de forma numrica:

a bc d

a bc d

bc d

1111

0111

falta la variablede peso 8

15

8 15-7

Pgina 23

Sistemas Digitales

a bcd

a bcd

bcd

1101

0101

falta la variablede peso8

13

8 13-5

Se observa que los nmeros difieren en una potencia de dos igual al peso de la variable
binaria que desaparece. A su vez:
b c d b c d b (c
c) d b d
1
Numricamente:

bcd

bcd

b d
faltan las variablesde pesos2 y 8

15-7

2
2

15-13-7-5

13-5

15
-7 13
-5

8
8

por tanto: f (a, b, c, d ) b d

Veamos ahora un ejemplo con productos de sumas: ( ( A B)(A B) B A A B )


Sea g (a, b, c, d ) (a b c d ) (a b c d ) (a b c d ) (a b c d )
(a b c d ) (a b c d ) a
a b c d b c d
0
(a b c d ) (a b c d ) a
a b c d b c d
0

Numricamente:

(a b c d )

(a b c d )

bcd

1010

0010

falta la variablede peso8

10

8 10 -2

(a b c d )

(a b c d )

bcd

1110

0110

falta la variablede peso 8

14

8 14 -6

g (b c d ) (b c d ) b
b c d c d
0
y numricamente:

De nuevo:

Pgina 24

Sistemas Digitales

(b c d )

(b c d )

cd
faltan las variablesde pesos4 y 8

10 -2

4
4

14 -10 -6-2

14 -6

14
-6 10
-2

8
8
Aplicando estas propiedades se logra reducir al mnimo cualquier expresin lgica en
forma de producto de sumas o de suma de productos. La expresin final, en la que no se
puede suprimir ningn trmino ni eliminar variables de ellos, se denomina expresin
irreducible. Obsrvese que el nmero de trminos cannicos adyacentes que se pueden
agrupar es siempre una potencia de 2. Combinando los trminos de distintas maneras para su
simplificacin, se obtienen a veces varias expresiones irreducibles diferentes. De todas ellas
es necesario elegir la menos compleja para su realizacin.
Diagramas de Karnaugh:
Es un mtodo de simplificacin grfico en el que los trminos cannicos adyacentes se
agrupan en un diagrama de tal forma que estn visualmente contiguos. De esta forma ser
muy sencillo realizar agrupaciones que permitan reducir al mnimo la expresin de la funcin.
A continuacin se representan los diagramas de Karnaugh de funciones desde 2 hasta 5
variables.
Para 2 variables a (msb), b (lsb):
a

0
0

Para 3 variables a (msb), b, c (lsb):


ab
c

00

01

11

10

0
0

Para 4 variables a (msb), b, c, d (lsb):

Pgina 25

Sistemas Digitales

ab
cd

00

01

11

10

00
0

12

13

15

11

14

10

01
11
10

Para 5 variables a (msb), b, c, d, e (lsb):

bc
de

00

01

11

bc

10

de

00

00

01

11

10

00
0

12

13

15

11

14

10

01

16

20

28

24

17

21

29

25

19

23

31

27

18

22

30

26

01

11

11

10

10
a=0

a=1

Obsrvese que en los diagramas de 3, 4 y 5 variables, las numeraciones aparecen de forma


que al pasar de un nmero al contiguo slo cambia 1 bit (cdigo Gray). Esto favorece las
adyacencias.
Cada cuadrado corresponde a un trmino (producto o suma) cannico cuyo nmero se
indica en el vrtice inferior derecho. Los cuadrados que tienen un lado comn, es decir, que
son fsicamente adyacentes, corresponden a trminos cannicos que son lgicamente
adyacentes y la diferencia de los nmeros decimales que les corresponden son una potencia de
2. Adems, los cuadrados de la fila superior son adyacentes a los respectivos de la fila inferior
y los de la columna de la izquierda a los de la de la derecha.
En la tabla de Karnaugh de cinco variables, los de la tabla de la izquierda son adyacentes a
los correspondientes de la tabla de la derecha.
Para obtener la expresin algebraica ms sencilla de la funcin es necesario realizar en la
tabla el mximo nmero de agrupaciones de trminos de la mxima complejidad, de modo
que se cubran todos los unos de la tabla (o todos los 0 para producto de sumas). Como hemos
visto, el nmero de trminos cannicos adyacentes que pueden agruparse es una potencia de
dos (2, 4, 8).
El procedimiento sistemtico para obtener la expresin ms simple como suma de
productos es el siguiente:
Pgina 26

Sistemas Digitales

Se toman todos los unos que no se puedan combinar con ningn otro.
Se forman los grupos de dos unos que no puedan formar un grupo de cuatro.
Se forman los grupos de cuatro unos que no puedan formar un grupo de ocho.
Cuando se hayan cubierto todos los unos se detiene el proceso.

Notas:
- Un mismo 1 ( o 0 como producto de sumas) puede pertenecer a varios grupos.
- Los cuatro vrtices pueden agruparse entre si (0, 8, 10, 2).
- Dos vrtices solos no pueden agruparse entre si (0-10, 2-8).
En la prctica es necesario realizar este proceso de todas las formas que sea posible y
elegir la expresin cannica ms sencilla de las resultantes. La expresin cannica ms
sencilla, en el sentido de un menor coste, es la que tiene menos puertas.
Vemoslo con dos ejemplos.
1.- Sea la funcin: f (a, b, c, d ) (2, 3, 5, 7, 10, 11, 12,15) . Para expresarla como suma
de productos formamos el diagrama de Karnaugh para cuatro variables.

abcd
ab

cd

00

00

01
11
10

10

11

01
4

12

13

1
5

15

14

11

abd

cd

10

bc

con lo que obtenemos: f (a, b, c, d ) a b c d a b d c d b c

Si queremos hallar f como producto de sumas:


f (a, b, c, d ) (2, 3, 5, 7, 10, 11, 12,15) (0, 1, 4, 6, 8, 9, 13, 14)

Formamos el diagrama de Karnaugh:

Pgina 27

Sistemas Digitales

acd
ab

00

cd
00

01

bc

10

11

01

12

13

15

11

14

10

11
10

0
2

acd

abd

bcd

Por tanto: f (a, b, c, d ) (a c d ) (a c d ) (b c d ) (b c)


o tambin f (a, b, c, d ) (a b d ) (a c d ) (b c d ) (b c)
La realizacin de ambos circuitos es, en este caso, similar en complejidad.
2.- Buscar la realizacin fsica ms sencilla de la funcin:
a
0
0
0
0
1
1
1
1

0
1
2
3
4
5
6
7

b
0
0
1
1
0
0
1
1

c f(a,b,c)
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
1

Se tiene f (0, 2, 3, 6, 7) (1, 4, 5) , de donde obtenemos:


Suma de Productos
ab

00

1
0

1
2

1
1

ac

1
3

ab

10

11

01

Producto de Sumas
c

0
1

00

10

11

01
0

bc

ab

Del primer diagrama obtenemos:

f (a, b, c) b a c

y del segundo:

f (a, b, c) (a b) (b c)

Pgina 28

Sistemas Digitales

Las respectivas realizaciones sern:

ac

f b ac

ab
f (a b)(b c)

bc

Por tanto es ms sencilla la realizacin en puertas AND-OR (suma de productos), ya que en


este caso slo se necesitan dos puertas y en el otro tres.

Funciones incompletamente especificadas:


Hasta ahora hemos estudiado funciones lgicas en las cuales para cada combinacin de
entradas se define un valor lgico (uno o cero) de la funcin. Estas funciones se denominan
completamente especificadas.
Tambin existen funciones, denominadas incompletamente especificadas, en las que,
para una o para ms combinaciones en las entradas, a la salida se le puede asignar el valor
cero o uno indistintamente por dos posibles motivos:
1. No puede darse una o ms combinaciones de entradas. Por tanto, la salida
correspondiente a esas combinaciones es indiferente.
2. Cuando aparecen una o ms combinaciones de entradas, la accin de la salida del
sistema lgico est inhibida. Por tanto, la salida correspondiente tambin es
indiferente.
La forma cannica de una funcin incompleta se representa indicando separadamente los
trminos cannicos para los cuales la funcin vale uno (o cero) y los trminos cannicos para
los cuales la funcin es indiferente, indicndolo con el smbolo .
En la tabla de verdad de una funcin incompletamente especificada se colocan asteriscos en
las posiciones correspondientes a las combinaciones de entrada para las que no est definido
el estado de salida.
Por ejemplo, sea la funcin:

f (a, b, c, d ) (1, 3, 6, 8, 10, 11) (0, 2, 4, 12, 13)

La tabla de verdad ser:

Pgina 29

Sistemas Digitales

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
*
1
*
1
*
0
1
0
1
0
1
1
*
*
0
0

Su funcin complementaria ser:

f (a, b, c, d ) (1,3,6,8,10,11) (0,2,4,12,13)

es decir, en f y en f los trminos irrelevantes son los mismos.


Poniendo f como producto de sumas tenemos:
f (a, b, c, d ) (1, 3, 6, 8, 10, 11) (0, 2, 4, 12, 13)

(5, 7, 9, 14, 15) (0, 2, 4, 12, 13)

donde vemos que los trminos irrelevantes son los mismos.

La minimizacin de estas funciones se puede realizar de la misma manera que acabamos


de estudiar. La nica diferencia es que a los trminos indiferentes les podemos asignar el
valor cero o uno segn convenga a la hora de simplificar.
Simplifiquemos la funcin f anterior mediante el diagrama de Karnaugh:

f (a, b, c, d ) (1, 3, 6, 8, 10, 11) (0, 2, 4, 12, 13)

en el diagrama indicaremos con asteriscos los cuadrados correspondientes a los trminos


indiferentes. Tomamos los asteriscos que nos convenga para agrupar los trminos cannicos
de forma que se produzcan las mayores simplificaciones posibles:

ab

cd

ab

00

00

01

11
10

01
0

11

10

* 12

13

15

bd

bc

1
2

11

14

10

ad
Por tanto: f (a, b, c, d ) a b a d b c b d

Pgina 30

Sistemas Digitales

Hay otra forma de agrupar los trminos:


ab

cd

ab

00

00

01

11
10

01
*
0

11

10

1
12

13

cd

bc

1
2

11

15

14

10

ad
con lo que se obtiene: f (a, b, c, d ) a b a d b c c d

Las ventajas del mtodo de Karnaugh son que es sencillo e intuitivo. Visualmente pueden
obtenerse las asociaciones de adyacencias que hay que hacer para simplificar las funciones. El
inconveniente es que es impracticable para funciones lgicas de ms de cinco variables.
El uso de diagramas de Karnaugh para simplificar funciones lgicas tiene la limitacin de
que solo es aplicable a funciones con un nmero pequeo de variables, no siendo utilizado
para funciones con ms de 5 variables. Adems presenta la desventaja de que depende de la
habilidad del diseador a la hora de agrupar trminos adyacentes.
Como alternativa al mtodo de Karnaugh se utilizan otros mtodos siendo el ms
destacado el llamado tabular o de Quine-McCluskey (Roth pag.142). Este mtodo busca la
simplificacin de la funcin expresada como suma de productos de una forma sistemtica,
presentando la ventaja de que puede ser programado en un ordenador. Para ello utiliza varias
tablas en las que se buscan todas las agrupaciones posibles entre los productos de la funcin
consiguiendo de una manera reiterativa una expresin mnima.

Pgina 31

Sistemas Digitales

TEMA 2
CDIGOS NUMRICOS Y ALFANUMRICOS
2.1- EL SISTEMA BINARIO
En el sistema de numeracin decimal, el que nosotros normalmente usamos, cada cifra o
dgito tiene un peso mayor o menor dependiendo de la posicin que ocupa dentro del nmero.
Por ejemplo, cuando escribimos 5802, el significado numrico es:
5802 5 10 3 8 10 2 0 10 1 2 10 0

En este sistema, el 10 es la base o raz: un nmero se expresa como una serie de


coeficientes que multiplican a las sucesivas potencias de 10 (la base). Hay un total de 10
dgitos diferentes, desde el 0 hasta el 9. En un sistema de numeracin de base n hay
entonces n dgitos siendo el mayor el n-1.
En sistemas descritos por variables lgicas resulta muy conveniente utilizar el sistema de
base 2 o binario. Este sistema utiliza slo dos dgitos que sern el 0 y el 1. De hecho,
podemos establecer una equivalencia entre estos dos dgitos (nmeros) y los valores lgicos
(no nmeros) 0 y 1. Esta asociacin es tan ntima y conveniente que a veces se pierde de vista
la distincin.
Un nmero expresado en binario consiste en una sucesin de ceros y unos. Por ejemplo:
10010. Anlogamente al caso decimal debemos interpretar:
10010 1 2 4 0 2 3 0 2 2 1 21 0 2 0 16 0 0 2 0 18

Vemos que si realizamos las operaciones indicadas utilizando las reglas de sumar y
multiplicar de la base 10, se obtiene el nmero en dicha base.
Al igual que en el caso decimal, un nmero no entero puede representarse usando la
notacin coma decimal. As 1,8125 se interpreta en base 10 como:

1,8125 1 10 0 8 10 1 1 10 2 2 10 3 5 10 4
En el caso binario tendremos, por ej.:

1,1001 1 2 0 1 2 1 0 2 2 0 2 3 1 2 4 1 1 1 0,5 0 0,25 0 0,125 1 0,0625


1,5625
Anlogamente al caso decimal, mover k posiciones a la derecha la coma decimal
equivale a multiplicar por 2k y mover k posiciones a la izquierda la coma decimal equivale
a dividir por 2k.
Para representar un nmero decimal N en binario, necesitaremos un nmero de dgitos
binarios tales que: 2 n 1 N 2 n .

Pgina 32

Sistemas Digitales

Conversin de un nmero decimal a binario:

Divisin/Multiplicacin sucesiva por 2


Caso de nmero entero (Divisin sucesiva por 2):
75
15
1

2
37
17
1

2
18
0

2
9
1

Dgito menos
significativo

2
4
0

2
2
0

2
1

1001011

Dgito ms
significativo

Caso de nmero decimal menor que la unidad (multiplicacin sucesiva por 2). Por
ejemplo, expresar 0,423 en binario:
0,423 x 2
0,846 x 2
0,692 x 2
0,384 x 2
0,768 x 2
0,536 x 2

=
=
=
=
=
=

0,846
1,692
1,384
0,768
1,536
1,072

Dgito ms significativo

Dgito menos significativo

As vamos obteniendo:
0,423 = 0,011011 .... terminando la secuencia de nmeros en el
caso de que al multiplicar por 2 obtengamos parte decimal nula.
Ej. Vamos a convertir a binario el nmero: 138,375
138 2
18 69 2
0 09 34 2
1 14 17 2
0 1 8
0

2
4
0

0,375 x 2
0,750 x 2
0,500 x 2

= 0,750
= 1,500
= 1,000

2
2
2
0 1
Por lo tanto: 138,375 = 10001010,011

Suma de pesos
Otra forma alternativa de convertir un nmero decimal a binario es el mtodo de la suma de
pesos. Se busca el conjunto de pesos binarios o potencias de 2 cuya suma es igual al
nmero decimal. Es fcil acordarse de los distintos pesos binarios si partimos de 20 (1) y
vamos multiplicando por 2: 1, 2, 4, 8, 16, 32....En primer lugar buscamos la potencia de 2
Pgina 33

Sistemas Digitales

inmediatamente inferior al nmero decimal que queremos convertir. Restamos ese valor al
nmero decimal y repetimos el proceso con el resto sucesivamente hasta que el resto sea cero.
Para obtener el nmero binario colocamos unos en las posiciones correspondientes a los
pesos binarios que hemos utilizado.
Ej. Convertir a binario el nmero 138,375 mediante el mtodo de la suma de pesos.
138 = 128(27) + 8 (23) + 2 (21) = 10001010
0,375 = 0,25 (2-2) + 0,125 (2-3) = 011

Luego 138,375 = 10001010,011

Aritmtica binaria
La suma aritmtica de dos bits resulta muy sencilla porque stos slo pueden tomar el valor
cero y uno. La tabla de verdad de la suma en el sistema de base dos es:
Sumandos
a
b
0
0
0
1
1
0
1
1

Suma binaria
s
0
1
1
0

Acarreo
c
0
0
0
1

Nota: No confundir suma binaria con suma lgica. En la suma binaria 1+1=

0 +c y en la suma lgica 1+1 =1.


La suma binaria toma el valor uno cuando uno slo de los sumandos tiene dicho valor.
Cuando ambos sumandos tienen el valor uno la suma es cero y se produce un acarreo. Por
tanto, podemos considerar la suma aritmtica de dos bits como una funcin lgica de dos
variables de entrada, a y b, y dos variables de salida, que son la suma binaria s y el acarreo c.
De la tabla de verdad anterior se deduce que:
s ab

c a b
Cuando se desean sumar dos bits que forman parte de un nmero binario, es necesario
sumar a ambos el acarreo precedente de la suma de los bits de peso inmediato inferior. As,
por ejemplo, si queremos sumar los nmeros 9 y 3 en binario, tendremos:

9
3
12

0 0
1
+
0
0 1

1
0
0
1

1
0 1
1 1
0 0

Acarreo

Representacin de nmeros negativos


Un convenio que se ha utilizado en todos los sistemas de numeracin para la
representacin de los nmeros negativos es el de emplear una cifra en el extremo izquierdo
del nmero correspondiente para representar el signo. En el sistema binario dicha cifra,
llamada bit de signo, es un cero si el nmero es positivo y un uno si es negativo. Este
sistema se denomina de valor absoluto y signo, ya que los nmeros negativos se representan
mediante su valor absoluto y un bit de signo. As, por ejemplo, si disponemos de cuatro bits,
el nmero 5 se representar como:
Pgina 34

Sistemas Digitales

0 1 0 1
Signo Magnitud

y el 5 como:

1 1 0 1
Signo Magnitud
Este mtodo de representacin de los nmeros negativos tiene el inconveniente de que para
la realizacin de la resta es necesario utilizar un circuito restador diferente del sumador.
Con la notacin complemento a 2 (CA2) se resuelve este problema, pues las sumas y
las restas se realizan de la misma manera. Dado un nmero expresado en binario, su
complemento a dos se halla complementndolo bit a bit (sustituyendo unos por ceros y
ceros por unos) (lo que se denomina complemento a 1) y sumndole posteriormente una
unidad. Por ejemplo, para hallar el complemento a dos del nmero 5 que en binario es 0101,
su complemento a 1 ser 1010 y sumndole una unidad obtenemos 1011. Este nmero ser
entonces el 5.
Otra forma de hallar el CA2 es buscar el primer bit a 1 empezando por el menos
significativo. Este bit se deja tal cual pero todos los dems se complementan.
Esta notacin se ha pensado para que al sumar un nmero y su CA2 el resultado sea
cero, al igual que ocurre en el sistema decimal. En general con n bits podemos representar 2n
nmeros comprendidos entre 2n-1 y 2n-1-1 (de 0111(7) a 0000(0) y de 1111 (-1) a 1000 (-8) ).
Todos los nmeros positivos tienen el bit ms significativo con valor cero y los negativos con
valor uno con lo que de nuevo el bit ms significativo es el bit de signo.
Hay que tener en cuenta que el complemento a dos de un nmero depende del nmero de
bits que estemos manejando. Si manejamos nmeros de cuatro bits, el complemento a dos de
5 ser 1011, pero si manejamos nmeros de cinco bits, el 5 se representar por 00101, al
complementarlo obtenemos 11010 y sumando uno 11011 que es diferente del nmero
anterior.
Con esta notacin de los nmeros negativos, la resta se convierte en una suma y se realiza
de la misma manera. Vemoslo con dos ejemplos:
Calculemos 75 :
Siete se representa en cuatro bits por 0111 y el 5, al ser negativo, lo representamos por su
complemento a dos, es decir, 1011. Sumando ambos nmeros:
1 1
0
+
1
1 0

1
1
0
0

1
1 1
1 1
1 0

Acarreo

es decir, prescindiendo del quinto bit, ya que estamos manejando nmeros de cuatro bits,
hemos obtenido el nmero binario 0010 que corresponde al nmero 2.

Pgina 35

Sistemas Digitales

Calculemos 57:
Cinco es positivo luego lo representamos en binario natural por 0101. El 7, al ser
negativo, lo representamos por su complemento a dos que ser:
0111, complementando: 1000, sumando uno: 1001
Tenemos entonces:

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

Acarreo

Vemos que hemos obtenido un nmero negativo al ser uno el cuarto bit, luego el nmero
obtenido se encontrar en complemento a dos. Realizando el CA1 de este nmero y
sumndole 1 calculamos el CA2 del resultado, obteniendo 0010, con lo que el resultado es 2.
Nota: el CA2 del CA2 nos devuelve el nmero positivo. As en el caso anterior tenamos 1110
que complementado es 0001 y sumando uno 0010 que corresponde al 2.
2.2- SISTEMAS OCTAL Y HEXADECIMAL
Sistema octal: es el sistema de numeracin de base 8, por lo que tan solo utiliza los dgitos
desde el 0 hasta el 7.
Su utilidad radica en el hecho de que tres dgitos binarios pueden representar exactamente
23=8 nmeros diferentes. Para convertir un nmero de binario a octal basta con agrupar los
dgitos binarios de 3 en 3 partiendo de la coma decimal en ambas direcciones y sustituir
directamente cada grupo de 3 dgitos por el nmero que representan.
Como en el ejemplo anterior: 138 .375 (dec.) 10 | 001 | 010 ,011(bin.) 212 ,3(octal)
Sistema hexadecimal: es el sistema de numeracin de base 16, por lo que debe utilizar 16
dgitos distintos. A partir del digito 10 (nmero 9) utilizaremos letras maysculas con lo que
tendremos los siguientes dgitos para este sistema:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A=10, B=11, C=12, D=13, E=14, F=15
Su utilidad radica en el hecho de que cuatro dgitos binarios pueden representar
exactamente 24=16 nmeros diferentes. Para convertir un nmero de binario a hexadecimal
basta con agrupar los dgitos binarios de 4 en 4 partiendo de la coma decimal en ambas
direcciones.
Ejemplo: el nmero binario
100
11111100 , 1101
00101010 representa el nmero 4FC,D2A en base 16

4 F C
D 2 A
2.3- DECIMAL CODIFICADO BINARIO (BCD)

Pgina 36

Sistemas Digitales

El sistema numrico binario tiene la ventaja de que sus dgitos pueden ponerse en
correspondencia exacta con los valores de una variable lgica, pero existe una desventaja: las
conversiones decimal binario son complicadas, ya que, en general, cada dgito binario puede
afectar a cada dgito decimal y viceversa. Para evitar este inconveniente se usa el cdigo
BCD, en el que se emplean 4 dgitos binarios para representar los dgitos decimales del 0 al
9 (las representaciones binarias para dichos nmeros decimales son las del binario natural).
BCD
Dgito decimal
B A C
D
0
0
0
0
0
De
esta
forma,
para
1
0
0
0
1
representar
nmeros
decimales
2
0
0
1
0
con varios dgitos no hay ms
3
0
0
1
1
que sustituir cada dgito
4
0
1
0
0
individual por el correspondiente
5
0
1
0
1
grupo binario ABCD.
6
0
1
1
0
As por ejemplo, el nmero
7
0
1
1
1
decimal
6432 en BCD es:
8
1
0
0
0
0110
0100 0011
0010

9
1
0
0
1
6
4 3 2

La ventaja de este sistema est en la facilidad de la conversin. Sin embargo, presenta


el inconveniente de que, al desaprovechar 6 combinaciones binarias (del 10 al 15), los
nmeros en BCD son ms largos que sus equivalentes en binario natural. En el caso anterior,
este nmero se representa en binario natural por 1100100100000, necesitando tan slo 13 bits
en lugar de los 16 utilizados. Por otra parte, la aritmtica en BCD resulta bastante complicada.
2.4- CDIGOS BINARIOS CONTINUOS Y CCLICOS
Un cdigo binario es continuo si las combinaciones correspondientes a nmeros
decimales consecutivos difieren solamente en un dgito binario. Las combinaciones que
verifican esta propiedad se denominan adyacentes. Un cdigo continuo cuya ltima
combinacin es adyacente a la primera se denomina cclico.
Veamos los dos principales cdigos cclicos:
Cdigo de Gray o reflejado:
Partimos de los dgitos binarios 0 y 1 que constituiran el cdigo de Gray correspondiente a
1 bit. Si los reflejamos mediante un espejo en su parte inferior tendremos:

Espejo

0
1
1
0

Si a continuacin aadimos delante dos ceros y dos unos tendremos el cdigo de Gray de 2
bits:

Pgina 37

Sistemas Digitales

Gray de 2
bits
0
0
0
1
1
1
1
0

Este es el cdigo que se utiliza en los diagramas de


Karnaugh.

Para obtener el cdigo de Gray de 3 bits se repite el proceso anterior, es decir, reflejamos
el cdigo de Gray de 2 bits por su parte inferior y a continuacin aadimos delante 4 ceros y 4
unos con lo que obtenemos:
Gray de 3 bits
0
0
0
0
0
1
0
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0

Espejo

De esta forma se pueden ir construyendo sucesivamente los cdigos de Gray de 4, 5,..., n bits.
Tabla de equivalencias decimal binario natural Gray (4 bits)
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Binario natural
b
c
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Cdigo Gray
B
C
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0

D
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

Tabla 2.1. Equivalencia decimal binario natural cdigo Gray (4 bits)

Una gran ventaja de este cdigo es la facilidad de convertirlo a cdigo binario natural y
viceversa mediante la funcin XOR. Puede demostrarse que:

Pgina 38

Sistemas Digitales

Para convertir binario (a, b, c, d) a Gray (A, B, C, D):

Aa
Bab
C bc
(msb) a

A (msb)

a b

D cd

bc
c

cd

D (lsb)

(lsb) d
Para convertir Gray (A, B, C, D) a binario (a, b, c, d):
aA

b ABaB
c ABC bC
d ABCD cD
(msb) A

a (msb)

A B

A BC

A B C D d (lsb)
(lsb) D
Anlogamente al caso binario, si queremos representar un nmero decimal N tendremos
que usar un cdigo de Gray de n dgitos tal que 2 n 1 N 2 n
Cdigo Johnson o progresivo:
Se denomina progresivo porque se obtiene aadiendo ceros y unos:
Decimal
0
1
2

0
0
0

Johnson 5 bits
0
0
0
0
0
0
0
0
1

0
1
1

0
0
0

Johnson 4 bits
0
0
0
0
0
1
0
1
1

Johnson 3 bits
0
0
0
0
0
1
0
1
1

Pgina 39

Sistemas Digitales

3
0
0
1
1
1
0
1
1
1
1
1
1
4
0
1
1
1
1
1
1
1
1
1
1
0
5
1
1
1
1
1
1
1
1
0
1
0
0
6
1
1
1
1
0
1
1
0
0
---7
1
1
1
0
0
1
0
0
0
---8
1
1
0
0
0
-------9
1
0
0
0
0
-------El inconveniente de este cdigo es que para representar un nmero decimal N necesitamos
un cdigo de Johnson de n dgitos tal que: 2(n - 1) N 2n . Presenta, sin embargo, la gran
ventaja de su gran sencillez para la realizacin de contadores en este cdigo, lo que permite su
utilizacin en el diseo de unidades de control de numerosos sistemas digitales.
Los cdigos continuos y cclicos se usan en los conversores analgico digitales rpidos
y en los codificadores de posicin que convierten un ngulo en una combinacin binaria
mediante un disco codificado. Debido a que en combinaciones binarias contiguas slo cambia
un bit, se elimina la posibilidad de aparicin de combinaciones intermedias errneas que
pueden proporcionar una informacin incorrecta en el momento de realizar la medida.
2.5- CDIGOS ALFANUMRICOS. EL CDIGO ASCII
En los cdigos estudiados en los apartados anteriores slo es posible representar
informacin numrica. Pero en muchos sistemas digitales, tanto de control como de proceso
de datos, es necesario representar informacin alfabtica por lo que es necesaria la utilizacin
de cdigos alfanumricos.
El ms extendido es el cdigo ASCII (American Standard Code for Information
Interchange). Dicho cdigo utiliza palabras de 7 bits con las que pueden representarse 2 7=128
elementos de informacin. Entre ellos estn los caracteres alfabticos y numricos, los
tipogrficos y, adems, algunas instrucciones de operacin de unidades perifricas tales como
impresoras, sistemas de trasmisin de datos, etc. (caracteres de control).
Existen una versin extendida del cdigo ASCII (IBMPC) que utiliza palabras de 8 bits (1
byte) y que codifica 256 elementos de informacin. A los anteriores se aaden caracteres
grficos e internacionales. De ellos los 127 primeros coinciden con el ASCII estndar.
Cdigo ASCII

2
3
4
5
6

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

"

&

'

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

<

>

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

Pgina 40

Sistemas Digitales

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

Tabla 2.2. Cdigo ASCII.

El cdigo decimal de cada carcter aparece junto a l. El cdigo hexadecimal se obtiene


tomando como primer dgito la cifra hexadecimal de la fila (situada a la izquierda) y como
segundo dgito la cifra hexadecimal de la columna (situada en la parte inferior). Por ejemplo,
el carcter A tiene como cdigo hexadecimal el 41.
El cdigo decimal 32 representa el caracter espacio blanco. Al smbolo ~ le corresponde
el nmero decimal 126 (ALT 126).
Los cdigos decimales del 0 al 31 (que no aparecen en la tabla) y el 127 representan
operaciones de control.
2.6.- CDIGOS DETECTORES DE ERROR. BIT DE PARIDAD
En el manejo y en la transmisin de informacin en forma digital es posible que se
produzcan errores debido a la presencia de ruido en el proceso o por avera de alguno de los
componentes.
Existen diversos tipos de cdigos detectores de errores entre los cuales se encuentran los
cdigos de paridad que son los ms utilizados. Estos cdigos de paridad se obtienen
aadiendo a las combinaciones de los cdigos anteriormente estudiados un bit llamado bit
de paridad. Si el cdigo que se desea obtener es de paridad par, dicho bit ser tal que el
nmero de unos en cada combinacin del nuevo cdigo sea par. Si por el contrario queremos
un cdigo de paridad impar, el bit aadido a cada combinacin ha de ser tal que la resultante
tenga un nmero impar de unos.
As por ejemplo, para las 10 primeras cifras decimales:
Dgito
decimal
0
1
2
3
4
5
6
7
8
9

Cdigo binario de 4 bits


0
0
0
0
0
0
0
0
1
1

0
0
0
0
1
1
1
1
0
0

0
0
1
1
0
0
1
1
0
0

0
1
0
1
0
1
0
1
0
1

Bit de
paridad
impar
1
0
0
1
0
1
1
0
0
1

Cdigo de paridad impar de 5 bits


A
1
0
0
1
0
1
1
0
0
1

B
0
0
0
0
0
0
0
0
1
1

C
0
0
0
0
1
1
1
1
0
0

D
0
0
1
1
0
0
1
1
0
0

E
0
1
0
1
0
1
0
1
0
1

Pgina 41

Sistemas Digitales

La deteccin de errores en estos cdigos consiste en comprobar si el nmero de unos de


cada combinacin es par (cdigos de paridad par) o impar (cdigos de paridad impar). Esto
puede hacerse fcilmente a travs de un circuito de puertas XOR.
Segn vemos en la figura de la pgina siguiente, la salida A B C D E ser 1 si la
combinacin ABCDE es de paridad impar, es decir, si el nmero de unos presentes es impar.
Por tanto, si en nuestro sistema de recepcin de datos detectamos que A B C D E
vale 0, es que se ha producido un error en la transmisin ya que nos ha cambiado la paridad.
No podemos conocer cual es el bit errneo, pero s podemos actuar en consecuencia: al
detectar un error se vuelve a reclamar el dato al sistema de procedencia para que lo vuelva a
enviar.

A
B

A B C D E
E

Este sistema de deteccin de error posee la limitacin de que si son dos los bits que
cambian a la vez, no se produce un cambio en la paridad por lo que no se detecta el error.
Pero, evidentemente, la probabilidad de que dos bits cambien es mucho menor que la de que
cambie uno slo. Por ejemplo, si la probabilidad de error en un bit es de 1 entre 10 4, entonces
la probabilidad de error en dos bits ser de 1 entre 104104=108. Por tanto, un sistema que
detecta un error en 104 aunque no detecte un error en 108 o superior es bastante bueno.
Nota: hay cdigos que adems de detectar errores los corrigen, como el cdigo de
Hamming, aadiendo bits que nos indican cual es el errneo.

Anexo: circuito que realiza el CA2 de un nmero binario de 4 bits


Se puede disear un circuito que nos realice el CA2 sin ms que hacer una tabla de verdad
donde aparezca la combinacin binaria como entrada y el nmero en CA2 como salida. Lo
vamos a hacer para nmeros de cuatro bits.

Pgina 42

Sistemas Digitales

X3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

X3X2

X1X0

00

00
01
11

X2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

1
3

1
1

12

Z0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

00
0

15

11

14

10

10

X1X0

00

00
01
11
10

12

1
5

13

15

1
6

11

14

10

Z1 X1 X 0

X3X2

10

11

01

Z0 X 0

X3X2

10

11

01

11

10
2

Z1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

00

Z2
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0

01

13

Z3
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0

X1X0
8

1
5

X0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

X3X2

10

11

01
0

X1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

12

13

15

14

X1X0

11

Z 2 X 2 ( X1 X 0 )

00
01
11

1
1

10

11

01

12

13

15

11

14

10

1
3

10
10

00

1
2

Z3 X 3 ( X 2 X1 X 0 )

Pgina 43

Sistemas Digitales

Los bits en C2 son:

Z0 X 0
Z1 X1 X 0

Z 2 X 2 ( X1 X 0 )
Z3 X 3 ( X 2 X1 X 0 )

Tambin se pueden expresar como:

Z0 X 0
Z1 X1 X 0

Z2 X 2 ( X1 Z1 )
Z3 X 3 ( X 2 Z 2 )

Para demostrar Z2, basta con probar que X1+Z1 = X1+X0


X1+Z1 = X1+ X1X0 = X1 X1 X 0 X1 X 0 = X 1 X 1 X 0 = X1+X0
donde hemos aplicado A+AB=A, A AB A B
Para demostrar Z3, basta con probar que X2+Z2 = X2+X1+X0
X2+Z2 = X2+X2 (X1+Z1) = X 2 X 2 ( X1 Z1 ) X 2 ( X1 Z1 ) = X2+X1+Z1= X2+X1+X0
donde hemos aplicado las mismas equivalencias que antes.

Pgina 44

Sistemas Digitales

TEMA 3: CIRCUITOS COMBINACIONALES


Circuitos combinacionales. Definicin
En los apartados anteriores hemos visto como implementar una funcin lgica a travs de
un circuito digital constituido por puertas. El valor que tomaba una funcin lgica vena
determinado por los valores que adoptaban las variables de las que dependa: para cada
combinacin de entradas, la funcin lgica adopta uno u otro valor. Por ello, a los circuitos
lgicos que realizan una determinada funcin lgica se denominan circuitos
combinacionales. En un circuito combinacional, el estado lgico de sus salidas en cada
instante depende nicamente del estado de sus entradas en ese mismo instante. Por lo tanto,
en ellos no es necesario tener en cuenta la nocin de tiempo.
As, dada la relacin funcin lgica circuito combinacional, stos pueden venir
representados por la tabla de verdad de la funcin lgica que implementa o mediante las
expresiones numricas estudiadas anteriormente correspondientes a suma de productos
cannicos y producto de sumas cannicas. De hecho, el diseo de todo circuito combinacional
se inicia mediante la obtencin de la tabla de verdad a partir de las especificaciones que
indican los valores que debe tomar la funcin para cada una de las combinaciones de las
variables de entrada de las cuales depende. De la tabla de verdad se deducen las expresiones
cannicas a partir de las cuales se realizar la simplificacin.

3.1- ANLISIS Y SNTESIS AND-OR. IMPLEMENTACIN EN DOS NIVELES


Cuando expresamos una funcin como suma de productos (1s en el diagrama de Karnaugh)
(sean o no cannicos), su implementacin fsica constar de dos niveles de puertas. Por
ejemplo, la funcin:
f (a, b, c) a b c a c a b

se implementa:
a
b
c

abc

ac

f abc ac ab

c
a

ab

b
Figura 1.
que como vemos es una estructura AND-OR. Cada variable (o su complemento) debe
atravesar dos niveles de puertas.
Anlogamente, para la siguiente funcin expresada como producto de sumas (0s en el
diagrama de Karnaugh):
g (a, b, c) (a b c) (a b) (b c)

Pgina 45

Sistemas Digitales

se tiene:

a
b
c

abc

ab

g (a b c)(a b)(b c)

bc

c
Figura 2
que es una estructura OR-AND. Igual que en el caso anterior, cada variable (o su
complemento) atraviesa dos niveles de puertas.
Ya dijimos que los valores de las variables lgicas se representan generalmente por
tensiones elctricas. Cuando en la entrada de una puerta se produce un cambio de tensin, su
efecto no se advierte inmediatamente en la salida de la puerta, ya que hay un retardo llamado
retardo de propagacin de la puerta, entre el cambio en la entrada y el cambio
correspondiente en la salida, si lo hay.
En las estructuras de dos niveles, el retardo entre los cambios de la variable de entrada y el
cambio correspondiente a la salida es el retraso de propagacin de dos puertas. Nada nos
impide implementar funciones en una estructura de ms de dos niveles de puertas. As, en el
ejemplo anterior, si ponemos:
f (a, b, c) a b c a c a b a b c a (c b)
podemos implementar:

a
b
c

abc

f a b c a (c b )

a
c

a(c b)

cb

b
Vemos que es una estructura de tres niveles, ya que algunas variables deben atravesar tres
puertas con lo que el retraso de propagacin total ser mayor. Por este motivo se prefieren
normalmente las estructuras de dos niveles.
En la prctica, cuando se dispone de una variable, tambin debemos disponer de su
complemento. Si esto no fuera as, deberamos usar inversores incrementndose el retraso de
propagacin.

Pgina 46

Sistemas Digitales

3.2- ESTRUCTURAS USANDO UN SOLO TIPO DE PUERTAS. ANLISIS Y SNTESIS


NAND, NOR
A menudo, debido a las puertas disponibles comercialmente, es conveniente poder generar
una funcin lgica arbitraria utilizando un solo tipo de puerta. Podemos usar slo puertas
NAND o slo puertas NOR teniendo en cuenta las suficiencias estudiadas anteriormente. Por
ejemplo, sea la funcin anterior:
f (a, b, c) a b c a c a b
Si complementamos dos veces y aplicamos las leyes de Morgan:

f f a b c a c a b (a b c) (a c) (a b)
que se puede implementar en puertas NAND de la forma siguiente:
a
b
c

abc

ac

f (abc)(ac)(ab)

c
a

ab

b
As, para obtener el circuito que implementa f hemos sustituido todas las puertas de la
estructura AND-OR de la figura 1 por puertas NAND.
Anlogamente, si tenemos g (a, b, c) (a b c) (a b) (b c) , complementando dos
veces y aplicando las leyes de De Morgan obtenemos:

g g (a b c) (a b) (b c) (a b c) (a b) (b c)
que se puede implementar con puertas NOR de la forma siguiente:

a
b
c

abc

ab

g (a b c) (a b) (b c)

bc

Pgina 47

Sistemas Digitales

As, para obtener el circuito que implementa g hemos sustituido todas las puertas de la
estructura OR-AND de la figura 2 por puertas NOR.
Observaciones:
Cuando en una funcin lgica aparezca un trmino compuesto por una sola variable, no
tendramos realmente una estructura de dos niveles pues no todas las entradas necesitaran
atravesar dos puestas lgicas. En estos casos tenemos que convertir la estructura en otra de
dos niveles antes de poder expresarla con un solo tipo de puertas. Sea, por ejemplo, la
funcin: f (a, b, c) a b c . Tendramos:
a

a(bc) a bc

a bc

bc

Ponemos
c
puertas NAND

bc

que vemos que no es correcto. Lo que debemos hacer es, como a a a , entonces:
a

a(bc) a bc

a bc
b

bc

Ponemos
c
puertas NAND

bc

que s es una solucin correcta.


Anlogamente al convertir una estructura OR-AND a puertas NOR haramos el mismo
proceso utilizando a+a=a.
Si necesitamos el complemento de una variable, podemos utilizar tambin puertas NAND y
NOR, como vemos en las siguientes figuras:
1
a

a
a
a

a
0

Pgina 48

Sistemas Digitales

3.3- FENMENOS ALEATORIOS (Mandado p. 71)


En el diseo de circuitos combinacionales no hemos tenido en cuenta el retardo inherente a
la propagacin de la seal a travs de las puertas lgicas. Este retardo se presenta en todas las
tecnologas de fabricacin de las mismas y su magnitud depende en gran medida de la
tecnologa utilizada. Se produce un fenmeno aleatorio cuando la salida de un circuito toma
de forma transitoria un valor distinto al esperado. Estudiaremos los tipos ms importantes de
fenmenos aleatorios en los circuitos combinacionales y la forma de realizar el diseo para
evitar su aparicin. La eliminacin de estos fenmenos va a implicar el aadir puertas
redundantes al circuito, consiguiendo una realizacin no mnima pero libre de posibles
errores.
Fenmenos aleatorios estticos:
Se presenta un fenmeno aleatorio esttico si para dos estados adyacentes de las variables
de entrada en los que la salida debe ser constante (cero o uno) existe un rgimen transitorio
durante el cual la salida cambia momentneamente de estado. Existen entonces fenmenos
aleatorios de tipo cero y fenmenos aleatorios de tipo uno.
Los fenmenos aleatorios de tipo cero se producen cuando, al cambiar el estado de una
variable de entrada, la funcin debe permanecer en estado uno pero transitoriamente pasa por
cero. Ocurre cuando la funcin se expresa como suma de productos. Veamos como se
produce un fenmeno de este tipo.
Sea una funcin f que depende de una serie de variables a, b, c,... y designemos por X al
conjunto de todas las variables excepto la a. Hemos demostrado anteriormente que f puede
expresarse algebraicamente de la forma siguiente:
f (a, b, c, d ,...) f (a, X ) a f (1, X ) a f (0, X )

Supongamos que para la combinacin de entrada X0 de todas las variables excepto la a, se


verifica:
f (1, X 0 ) f (0, X 0 ) 1
en ese caso, para X0 se tendr:

f ( a, X 0 ) a a

En rgimen esttico, el estado de la funcin f es uno lgico, pero debido al retardo en la


conmutacin, al producirse un cambio de estado de a puede suceder que a y a se encuentren
en estado cero simultneamente y que durante un cierto tiempo f tome el valor lgico cero.
En la siguiente figura se representa esta situacin cuando a sufre un retraso en la
conmutacin con respecto a a.

a
a
a

tpdr

tpdf

f(a,X0)

Pgina 49

Sistemas Digitales

Un inversor comercial puede presentar un retraso de propagacin de aproximadamente


unos 9, 10 ns. Esta informacin se encuentra en las hojas de especificaciones o data sheets
que nos proporciona el fabricante. En la siguiente figura vemos estos datos para el inversor
74LS04 que usaremos en las prcticas.

Figura. 3.1 Retardos de propagacin del inversor 74LS04.

La forma de eliminar este fenmeno es aadir a la expresin de f un trmino que tome el


valor lgico uno para la combinacin X0; este trmino es precisamente el producto lgico
f (1, X ) f (0, X ) . Aplicando los postulados del lgebra de Boole se demuestra que la
expresin de la funcin f no vara al aadir dicho trmino que cubre la adyacencia existente
entre los trminos a f (1, X ) y a f (0, X ) .
Un ejemplo sencillo aclarar esta idea. Dibujemos el diagrama de Karnaugh de la funcin
de tres variables:
ab

00

c
f (a, b, c) (1, 3, 6, 7)

1
1

ac

10

11

01

1
3

bc

ab

minimizando segn las agrupaciones sealadas obtenemos: f a b a c a b a c , que


corresponde al siguiente circuito con puertas NAND:
a
b

a
c

La expresin obtenida presenta la posibilidad de la aparicin de un impulso aleatorio de


tipo cero cuando b c 1 . Si representamos f a travs de conmutadores tendremos:
a

b
c

Pgina 50

Sistemas Digitales

donde convenimos, como es habitual en asignar el uno lgico al paso de corriente y el cero
lgico a su ausencia. Se observa que si b y c estn cerrados, cuando a conmuta a a hay un
periodo de tiempo en el que el circuito permanece abierto, luego f presentar un impulso
aleatorio de tipo cero.
Para evitar la aparicin de este fenmeno se ha de sumar lgicamente a la expresin de f el
trmino b c indicado mediante una lnea de puntos en el diagrama de Karnaugh anterior, que
corresponde a un trmino que toma el valor lgico uno para la combinacin b c 1 en la
que se produce el fenmeno aleatorio.
Este trmino es el que cubre la adyacencia entre los otros dos trminos. La expresin de f
ser ahora:
f a b a c bc a ba c bc

Hay que insistir en que, aunque hemos aadido un trmino ms, f no vara. La
realizacin con puertas NAND es ahora:
y con conmutadores:
a

a
f
c
b
c

c
b
f

a
Ahora se observa que cuando b y c estn cerrados
( b c 1 ), al cambiar a a a no se produce el
fenmeno aleatorio gracias a la nueva rama que se ha
incluido.

Por tanto, para eliminar los fenmenos aleatorios estticos de tipo cero al realizar la
simplificacin de una funcin lgica mediante la tabla de Karnaugh de la suma de
productos cannicos es necesario, no slo cubrir todos los unos de la funcin, sino
tambin cubrir todas las adyacencias, solapando todos los productos adyacentes.
Los fenmenos aleatorios de tipo uno se producen cuando, al cambiar de estado una
variable, la funcin debe permanecer en estado cero, pero pasa transitoriamente por estado
uno. Este fenmeno puede producirse cuando una funcin ha sido expresada mediante un
producto de sumas.
Sea una funcin f de las variables a, b, c, d,... que puede expresarse, tal y como vimos
anteriormente de la forma siguiente:

f (a, b, c, d ,...) f (a, X ) a f (0, X ) a f (1, X )

Si se cumple que para la combinacin de estados X0 de todas las variables excepto la a se


verifica:
f (0, X 0 ) f (1, X 0 ) 0

Pgina 51

Sistemas Digitales

f (a, X 0 ) a a

en ese caso, para X0 se tendr:

En rgimen esttico la funcin f se encuentra en estado lgico cero, pero al producirse un


cambio en la variable a, debido al retardo en la conmutacin, puede suceder que a y a tomen
el valor lgico uno simultneamente y que durante un cierto tiempo f tome el valor lgico
uno. Esto puede verse en la siguiente figura:
a
a
tpdr

tpdf

f(a,X0)

La forma de eliminar este fenmeno es similar a la descrita para el tipo cero. La expresin
de f ha de multiplicarse por f (0, X ) f (1, X ) que toma el valor lgico cero para la
combinacin X0 de entrada. Tambin puede demostrarse que la funcin f no vara al aadir
dicho trmino que cubre la adyacencia existente entre a f (0, X ) y a f (1, X ) .
Veamos esto con un ejemplo sencillo. Dibujemos el diagrama de Karnaugh de la funcin f
de tres variables:
f (a, b, c) ( 2, 5, 6, 7)
ab

c
0

00

10

11

01

La expresin mnima de esta funcin es:


0

0
2

1
1

bc

0
3

ab

f (a, b, c) (b c) (a c) (b c) (a c) ,
que
corresponde al siguiente circuito en puertas NOR:

ac
b
c
f

a
c

Cuando a b 1 , se tiene f (1,1, c) c c y, por tanto, puede presentarse un fenmeno


aleatorio de tipo uno, tal y como puede verse a travs de la implementacin con
conmutadores:
c
c

Pgina 52

Sistemas Digitales

Si a y b estn abiertos y existe un retraso de propagacin entre la conmutacin de c y c ,


habr un momento en el que c y c estn cerrados a la vez y f ser uno, presentndose un
fenmeno aleatorio de tipo uno. Para evitar este fenmeno aleatorio se ha de multiplicar
lgicamente la funcin anterior por el trmino a b que vale cero para la combinacin
a b 1 en la que se produce el fenmeno aleatorio. Es el trmino indicado por la lnea de
puntos en el diagrama de Karnaugh anterior. Se deduce, como regla general, que para evitar
fenmenos aleatorios estticos de tipo 1 mediante la minimizacin por Karnaugh de una
funcin lgica expresada como producto de sumas cannicas, se han de cubrir todas las
adyacencias solapando de esta forma todas las sumas adyacentes.

f (a, b, c) (b c) (a c) (a b) (b c) (a c) (a b)

Tenemos entonces:

La implementacin con puertas NOR es ahora:


b
c
a
f
c
a
b

y con conmutadores:
c

b
a

Fenmenos aleatorios dinmicos:


Se produce un fenmeno aleatorio dinmico cuando, al conmutar una variable a de
entrada, la salida debe cambiar de estado y lo hace pasando por un rgimen transitorio tal y
como se indica en la siguiente figura:

f1
f2

Pgina 53

Sistemas Digitales

Estudiaremos este fenmeno para expresiones en forma de suma de productos. Para que
un fenmeno aleatorio de tipo dinmico pueda producirse es necesario que, para una
combinacin determinada de valores lgicos de todas las variables de entrada, excepto la a, la
salida adopte la siguiente expresin mnima:
f a aa
En rgimen esttico, f a , pero veamos lo que puede ocurrir al cambiar a de uno a cero.
Supondremos que el cambio de estado de todas las variables a no es simultneo y las
denominaremos a1, a2 y a3, y por tanto:
f a1 a 2 a 3
Consideremos que inicialmente a1 a 2 1 y a3 0 , con lo que f 1 1 0 1 .
Si a cambia del estado uno al cero, se produce un fenmeno aleatorio dinmico cuando los
cambios de a1 , a 2 y a3 se realizan de acuerdo con la siguiente tabla:

a1
1
0
0
0

Estado inicial
Estados
transitorios
Estado final

a2
1
1
1
0

a3
0
0
1
1

f a1 a 2 a 3
1
0
1
0

ste es el cambio que experimenta f2 en la figura anterior.


Vemoslo con un ejemplo. Sea el circuito:

a
N
b

a
c

N
3

N
2

N4
d

Este circuito realiza la funcin:

f a
b a
c a
d a b a c a d ( a b) ( a c ) a d
N1 N 2 N 4

Pgina 54

Sistemas Digitales

a
1
b
3
a
2

4
d
En el caso de que b = d = 1 y c = 0, se tiene que:
f a a a a( N1) a( N 2) a( N 4)
Si se cumplen las condiciones:
Retraso de propagacin a travs de N4 menor que el que hay a travs de N1 y N3.
Retraso de propagacin a travs de N4 menor que el que hay a travs de N2 y N3.
Retraso de propagacin a travs de N1 menor que el que hay a travs de N2.
se produce un fenmeno aleatorio dinmico como el explicado en el prrafo anterior.
a (N4)

a (N1)
a (N2)
f

La eliminacin de la posibilidad de fenmenos aleatorios dinmicos se realiza al


minimizar una funcin por el mtodo de Karnaugh, ya que la suma de productos obtenida
nunca contendr el producto a a (o la suma a a si se trata de una expresin de
producto de sumas). Por tanto, si se realiza la minimizacin anulando la posibilidad de
fenmenos aleatorios estticos, se tiene la seguridad de que no existirn fenmenos
aleatorios dinmicos.
(Nota: los fenmenos aleatorios dinmicos se evitan simplemente al utilizar Karnaugh,
aunque no se agrupen los trminos adyacentes para evitar los estticos).

Pgina 55

Sistemas Digitales

TEMA 4: CIRCUITOS COMBINACIONALES INTEGRADOS


El progreso de las tcnicas de integracin ha permitido la realizacin en circuito
integrado de sistemas combinacionales complejos con un nmero de puertas comprendido
entre 13 y 100. (M.S.I., Medium Scale Integrated).
La utilizacin de estos circuitos en el diseo de sistemas lgicos permite reducir el
nmero de elementos necesarios en su realizacin, disminuir el tiempo de diseo y elevar la
inmunidad al ruido al ser menor el nmero de conexiones externas.
Describiremos seguidamente los circuitos de uso ms corriente y sus caractersticas ms
importantes. El desarrollo continuo de la tecnologa hace que cada da surjan ms circuitos
combinacionales de escala de integracin media. El diseador de circuitos lgicos ha de
estudiar su funcin lgica y utilizarlos en aquellos casos en los que mediante su uso logre una
minimizacin del sistema.

4.1- DECODIFICADORES
Un decodificador es un circuito con n entradas y 2n salidas, de manera que en cada instante
solo est activa una salida, aquella cuyo nmero decimal coincide con el nmero codificado
en binario en la entrada. En la salida aparece decodificada la entrada binaria. Un ejemplo de
circuito decodificador se muestra en la siguiente figura:
A 1 A0
E
O0

O1

O2

Su tabla de verdad es:


E
1
1
1
1
0

A1
0
0
1
1
*

A0 O0
0
1
1
0
0
0
1
0
*
0

O1
0
1
0
0
0

O2
0
0
1
0
0

O3
0
0
0
1
0

O3

La caracterstica ms importante de este circuito es que para cada entrada A1A0, una y
slo una salida es uno lgico; es decir, en cualquier instante una de las salidas (O0, O1, O2, u
O3) se distingue de las dems. En el caso del anterior circuito, la salida sealada se distingue
de las dems porque es uno lgico cuando las dems son cero lgico. Hay una puerta AND
para cada salida.
En los decodificadores, cada una de las posibles combinaciones de entrada caracterizan
una de las salidas. Por tanto, un decodificador de n entradas necesitar 2n puertas AND y
tendr 2n salidas.

Pgina 56

Sistemas Digitales

La razn de que estos circuitos se llamen decodificadores es la siguiente: se activa la salida


cuyo nmero decimal coincide con el nmero codificado en binario en la entrada; es decir, en
las salidas nos aparecen decodificadas las entradas. Este concepto se denomina
direccionamiento: cada salida est direccionada por una determinada combinacin de las
variables de entrada; a esta combinacin se le llama direccin. Este concepto se utiliza
frecuentemente en electrnica digital.
El decodificador `138 MSI tiene 3 entradas que direccionan 23 = 8 salidas. Se fabrica con
16 pines y tiene el siguiente esquema:
Terminales de
habilitacin

E1 E 2 E 3

Direccin
de entrada

A2

A1 A0

A2

A1

A0

DECODIFICADOR `138

O 0 O1 O 2 O 3 O 4 O 5 O 6 O 7

La correspondiente tabla de verdad es:

E1 E 2 E3 A2 A1 A0 O 0 O1 O 2 O3 O 4 O 5 O 6 O 7
0 0 1 0 0 0 0 1 1 1 1
1
1
1
0 0 1 0 0 1 1 0 1 1 1
1
1
1
0 0 1 0 1 0 1 1 0 1 1
1
1
1
0 0 1 0 1 1 1 1 1 0 1
1
1
1
0 0 1 1 0 0 1 1 1 1 0
1
1
1
0 0 1 1 0 1 1 1 1 1 1
0
1
1
0 0 1 1 1 0 1 1 1 1 1
1
0
1
0 0 1 1 1 1 1 1 1 1 1
1
1
0
1 * * * * * 1 1 1 1 1
1
1
1
* 1 * * * * 1 1 1 1 1
1
1
1
* * 0 * * * 1 1 1 1 1
1
1
1
Para que el decodificador realice la funcin para la que ha sido diseado, debe estar
habilitado. Hay tres terminales de habilitacin, dos de ellos activos en baja E1 y E 2 , y el otro
en alta E 3 . Todos ellos estn relacionados a travs de una puerta AND con lo que para que el
decodificador est habilitado es necesario que E1 E 2 E 3 1 , es decir, que E1 E 2 0 y
E 3 1 . Cuando el chip no est habilitado, todas las salidas estn a uno.

Pgina 57

Sistemas Digitales

Las salidas son activas a nivel bajo (pues est construido con puertas NAND en vez de
AND), es decir, cuando el decodificador est habilitado aparece un cero en la salida cuya
direccin viene dada por la combinacin de entradas y las dems salidas estn a uno. Esto se
hace as porque la familia TTL (Transistor-transistor logic) consume menos potencia cuando
las salidas estn en alta (el transistor de salida no conduce y la corriente es muy baja) que
cuando estn en baja y es evidente que siete salidas en alta y una en baja consumen menos
que siete en baja y una en alta.
Veamos a continuacin una serie de aplicaciones de los decodificadores:
Construccin de un decodificador de cuatro entradas y 16 salidas a partir de 2
decodificadores `138:
A3 A2 A1 A0
E

E1a E2a E3a


Ea

E1b E2b E3b


A2a A1a A0a

A2b A1b A0b

Eb

DECODIFICADOR `138
(a)
O0a O1a O2a O3a O4a O5a O6a O7a

DECODIFICADOR `138
(b)
O0b O1b O2b O3b O4b O5b O6b O7b

O 0 O1 O 2 O 3 O 4 O 5 O 6 O 7

O 8 O 9 O10 O11 O12 O13 O14 O15

Figura. 4.1 Decodificador de 4 entradas y 16 salidas construido a partir de 2 decodificadores `138.

La tabla de verdad es:


E
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

A3
*
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

A2
*
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

A1
*
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

A0 O 0 O1 O 2 O3 O 4 O 5 O 6 O 7 O8 O 9 O10 O11 O12 O13 O14 O15


* 1 1 1 1 1
1
1
1 1 1
1
1
1
1
1
1
0 0 1 1 1 1
1
1
1 1 1
1
1
1
1
1
1
1 1 0 1 1 1
1
1
1 1 1
1
1
1
1
1
1
0 1 1 0 1 1
1
1
1 1 1
1
1
1
1
1
1
1 1 1 1 0 1
1
1
1 1 1
1
1
1
1
1
1
0 1 1 1 1 0
1
1
1 1 1
1
1
1
1
1
1
1 1 1 1 1 1
0
1
1 1 1
1
1
1
1
1
1
0 1 1 1 1 1
1
0
1 1 1
1
1
1
1
1
1
1 1 1 1 1 1
1
1
0 1 1
1
1
1
1
1
1
0 1 1 1 1 1
1
1
1 0 1
1
1
1
1
1
1
1 1 1 1 1 1
1
1
1 1 0
1
1
1
1
1
1
0 1 1 1 1 1
1
1
1 1 1
0
1
1
1
1
1
1 1 1 1 1 1
1
1
1 1 1
1
0
1
1
1
1
0 1 1 1 1 1
1
1
1 1 1
1
1
0
1
1
1
1 1 1 1 1 1
1
1
1 1 1
1
1
1
0
1
1
0 1 1 1 1 1
1
1
1 1 1
1
1
1
1
0
1
1 1 1 1 1 1
1
1
1 1 1
1
1
1
1
1
0
Tabla. 4.1 Tabla de verdad del decodificador de 4 entradas y 16 salidas.
Pgina 58

Sistemas Digitales

que se corresponde con un decodificador 4 a 16. Si E = 0 estar todo deshabilitado (todas las
salidas a 1). Si E = 1 y A3 = 0 el decodificador (b) estar deshabilitado. Si E = 1 y A3 = 1 el
decodificador (a) estar deshabilitado.
Implementacin de funciones lgicas:
Podemos implementar una funcin lgica conectando a la entrada de una puerta
NAND las salidas del decodificador correspondientes a los productos cannicos que toman el
valor uno en la funcin. La salida de la puerta NAND nos da el valor de la funcin. Por
ejemplo:
Implementar la funcin f (a, b, c) (0, 1, 3, 5, 6) con un decodificador `138 y una puerta
NAND:
ac

A0

A1

O7
O6
O5

A2

ac

O4
f(a, b, c)

O3
O2
E

E3
E2
E1

O1
O0

Posteriormente se ver la aplicacin de los decodificadores al demultiplexado.


4.2- CODIFICADORES:
Los circuitos codificadores son sistemas combinacionales de 2n entradas y n salidas, de
forma que cuando una sola de las entradas adopta un estado lgico diferente de las dems
(uno o cero), a la salida aparece la combinacin binaria correspondiente al nmero decimal
asignado a dicha entrada. Realizan por tanto la funcin inversa de los decodificadores, es
decir, codifican en binario la entrada decimal.
La tabla de verdad de un codificador de ocho entradas y tres salidas ser la siguiente
(imponiendo entradas y salidas activas en alta):
I7
0
0
0
0
0
0
0
1

I6
0
0
0
0
0
0
1
0

I5
0
0
0
0
0
1
0
0

I4
0
0
0
0
1
0
0
0

I3
0
0
0
1
0
0
0
0

I2
0
0
1
0
0
0
0
0

I1
0
1
0
0
0
0
0
0

I0
1
0
0
0
0
0
0
0

O2 O1 O0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Pgina 59

Sistemas Digitales

Los circuitos codificadores pueden ser diseados con prioridad o sin ella. En los
codificadores sin prioridad, cuando ms de una entrada toma el estado activo (uno o cero), la
combinacin de salida posee tantos unos como hay en las salidas correspondientes a la
excitacin de cada una de las entradas independientemente (mezcla las salidas); por ello, en
este codificador solamente debe ser activa una entrada cada instante.
Los codificadores con prioridad codifican la entrada activa de mayor valor decimal sin
tener en cuenta las dems. Su tabla de verdad en el caso n = 3 y con entradas activas con uno
lgico ser:
I7 I6 I5 I4 I3 I2 I1 I0 O2 O1 O0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 * 0 0 1
0 0 0 0 0 1 * * 0 1 0
0 0 0 0 1 * *
* 0 1 1
0 0 0 1 * * *
* 1 0 0
0 0 1 * * * *
* 1 0 1
0 1 * * * * * *
1 1 0
1 * * * * * * *
1 1 1
En esta tabla se observa que, con tres variables binarias O2, O1 y O0 solamente se tiene
ocho combinaciones, no es posible discernir entre la situacin en que ninguna de las entradas
est activada y aquella en que es activa la de menor peso (I0). Para distinguir estas dos
situaciones, se aade una nueva salida que detecta cuando estn inactivas todas las
combinaciones de entrada o cuando estn activadas algunas de ellas. Adems suele aadirse
una entrada de habilitacin.
Para qu se utilizan los codificadores de prioridad? Los sistemas digitales incluyen
frecuentemente componentes para generar seales que indican que es necesario realizar
alguna accin. Por ejemplo, supongamos que equipamos un tanque de agua con un
mecanismo conmutador que opera cuando el nivel de agua est excesivamente alto y hay
peligro de desbordamiento. Fcilmente podemos disponer una lnea que en condiciones
normales est en cero lgico, pero que cambie a uno lgico cuando opere el conmutador.
Entonces el cambio de cero a uno es una indicacin de que es necesario hacer algo; es decir,
hay una peticin de servicio. Este mismo sistema puede entonces tener componentes
diseados para suministrar la respuesta adecuada, es decir, atender la peticin. El servicio
suministrado en el caso del tanque de agua puede consistir, por ejemplo, en cerrar una vlvula
de entrada o abrir una vlvula de salida. Frecuentemente en un sistema digital hay lneas para
peticiones de servicio y consecuentemente una serie de componentes del sistema que pueden
prestar esos servicios. Los componentes que se activan dependen, por supuesto, de la lnea
que presente la peticin de servicio.
Generalmente, cada componente de servicio se distingue de los dems por su direccin, es
decir, un conjunto distintivo de bits (cdigo de direccin) que mediante un decodificador
acceden a un componente de servicio.
Se utiliza normalmente un codificador para aceptar como entradas las lneas de peticin de
servicio y obtener como salida el cdigo de bits correspondiente a la direccin del
componente que atender la peticin, ya que el codificador se disea para que cada vez que
tenga una entrada diferente se atienda solamente una peticin de servicio. sta situacin es

Pgina 60

Sistemas Digitales

aceptable, ya que generalmente los componentes que suministran el servicio tienen elementos
comunes y por ello cada vez se puede servir solamente una peticin.
Si nuestro sistema es tal que no puede generarse simultneamente ms de una peticin de
servicio, bastar con utilizar codificadores sin prioridad. Pero si en el sistema se generan dos
o ms peticiones de servicio al mismo tiempo, la solucin consiste en asignar una prioridad
a cada lnea de peticin de servicio y ser necesario utilizar un codificador de prioridad. Si
hay ms de una peticin simultneamente, la salida del codificador direccionar el
componente de servicio correspondiente a la peticin con la prioridad ms alta y, cuando
aquella haya sido atendida, la lnea correspondiente de peticin de servicio volver a cero
lgico y se atender la siguiente peticin de mayor prioridad.
Vamos a estudiar en concreto el codificador de prioridad 148 que presenta el siguiente
I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7
EI
esquema:

I0 I1 I2 I3 I4 I5 I6 I7

EI

CODIFICADOR `148
O2 O1 O0

EO GS

O 2 O1 O 0

EO GS

Se trata de un codificador de ocho entradas ( I 0 I 7 ), activas en baja, y tres salidas


( O 0 O 2 ), activas tambin en baja que generan ocho direcciones. EI es una entrada de
habilitacin activa en baja. Las salidas GS y EO , activas en baja, sirven para distinguir
situaciones en las que se presentan las mismas salidas:

Codificador deshabilitado.
Codificador habilitado sin ninguna peticin de servicio.
Codificador habilitado con una nica peticin de servicio por la lnea I 0 .

En estos tres casos las tres salidas estn todas en alta. El modo de distinguir en qu
situacin nos encontramos viene expresado por la siguiente tabla:
EI
1
0
0

Hay peticin de servicio?


Irrelevante: dispositivo desconectado
No
S

EO
1
0
1

GS
1
1
0

EO: enable output (habilitacin de salida)


GS: group signal (seal de grupo)

Pgina 61

Sistemas Digitales

As, cuando el codificador est desconectado, EO y GS estn en alta. Si el codificador


est habilitado ( EI 0 ), se tiene que EO GS , donde GS 0 indica la existencia de, al
menos, una peticin de servicio y GS 1 lo contrario.
I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7

I 8 I 9 I 10 I 11 I 12 I 13 I 14 I 15

EI

I0b I1b I2b I3b I4b I5b I6b I7b

EIb

Estas
I0a I1a I2a I3a I4a I5a I6a I7a

O2a

EIa

CODIFICADOR `148
(a)
O1a O0a
EOa GSa

CODIFICADOR `148
(b)
O2b
EOb GSb
O1b

O0b

salidas

adicionales nos permiten adems


conectar varios codificadores en
cascada. As, para conseguir un
codificador de prioridad de 16
entradas y 4 salidas basta con
efectuar el siguiente montaje: EO

GS

O3

O2

O1

O0

Figura. 4.2 Codificador de 16 entradas y 4 salidas construido a partir de 2 codificadores `148.

Segn puede observarse en el anterior esquema:

Pgina 62

Sistemas Digitales

a) Si hay alguna peticin de servicio a travs del codificador de mayor prioridad, el


(b), su salida EO se pondr en alta, desactivando el codificador de menor
prioridad.
b) La entrada de habilitacin del codificador de mayor prioridad EI es ahora la
entrada de habilitacin (activa en baja) de todo el circuito.
c) La seal GSb acta como cuarta salida O3 , ya que sta debe ponerse en baja
siempre que haya una peticin de servicio por el codificador de mayor prioridad.
d) La seal GSa GSb nos da la seal de grupo GS del circuito entero, ya que sta
estar en baja cuando al menos una de las anteriores lo est, indicando que existe
alguna peticin de servicio. A este tipo de seales se les suele denominar
indicador o bandern (flag), que se activa indicndonos la existencia de alguna
peticin de servicio.

Pgina 63

Sistemas Digitales

4.3- CONVERSORES DE CDIGO:


Frecuentemente, la informacin codificada debe traducirse a otro cdigo diferente; el
circuito lgico que realiza esta traduccin se denomina conversor de cdigo. Un conversor
de cdigo puede construirse conectando en serie un decodificador y un codificador:
Z0
Z1

A0
A1

Zn-1

An-1
Cdigo de
partida

Informacin
decodificada

B0
B1
Bn-1
Cdigo
final

Un ejemplo interesante de conversor de cdigo aparece relacionado con el visualizador


(display) digital.

d
Este dispositivo, denominado visualizador de 7 segmentos, consta
de 7 segmentos etiquetados con las letras a, b,..., g que pueden ser
iluminados individualmente mediante diodos emisores de luz (LEDs).
DP es el punto decimal. Cada segmento se ilumina cuando su
correspondiente terminal de entrada adopta el nivel lgico uno. Otros
visualizadores utilizan, en lugar de LEDs, elementos de cristal lquido
(LCD), en los que al poner a uno lgico el correspondiente terminal
cambia la forma de reflexin o transmisin de la luz en el segmento.

a
f

b
g

c
d

DP

En estos dispositivos si quisiramos representar, por ejemplo, un 3


en el display, pondramos a uno lgico las patillas correspondientes a
los segmentos a, b, c, d y g.

g DP

Figura. 4.3 Visualizador de 7 segmentos.

Supongamos que queremos presentar en un visualizador de 7 segmentos los dgitos decimales


que estn representados en BCD. Para ello se necesitar un conversor de cdigo que traduzca
los cuatro bits del cdigo BCD de entrada, a una
RBI
A3 A2 A1 A0
palabra cdigo de salida de siete bits apropiada para
iluminar los segmentos correspondientes. Por
ejemplo, si la entrada BCD es A 3 A 2 A1A 0 0011
correspondiente al decimal 3, necesitamos que las
salidas del conversor de cdigo sean tales que
a b c d g 1 y e f 0 . Esta conversin la
realiza el conversor de cdigo 48, que a veces se
denomina tambin decodificador BCD a 7 segmentos.
Las lneas A3 A0 son los cuatro bits de entrada para
un nmero BCD y a, b, c,..., g las salidas necesarias
a b c d e f g
RBO
para iluminar el display con el dgito que corresponda.

Pgina 64

Sistemas Digitales

La entrada LT (Lamp Test), activa en baja, sirve para testear el display. Si LT 0 , pone
las salidas a, b, c,..., g en alta para que se iluminen todos los segmentos del display. La
entrada RBI (Ripple Blanking Input), activa en baja, cuando est a cero y
A 3 A 2 A1 A 0 0 deja el display sin iluminacin. Se utiliza para evitar ceros a la
izquierda. Adems, en esa situacin, la salida RBO (Ripple Blanking Output), activa en baja,
se pone a cero. Sirve para conectar en serie varios conversores de cdigo y evitar los
sucesivos ceros a la izquierda. Para ello no hay ms que conectar la salida RBO de cada
decodificador con la entrada RBI del siguiente, desde el dgito ms significativo hasta el
menos significativo.

4.4- MULTIPLEXORES
Un multiplexor es un circuito combinacional de n entradas, una sola salida y m entradas
de seleccin con 2m = n. Mediante las entradas de seleccin se elige cual de las entradas
aparece en la nica salida. Realiza la operacin indicada en la siguiente figura, donde
disponemos de una serie de lneas de entrada y una sola lnea de salida. La posicin del
conmutador, que es controlable, determina qu seal de entrada aparece en la salida (como los
conmutadores usados en el laboratorio).
0
1
2
n-1
Entradas

Control para conmutar


de m bits

Salida

El esquema de puertas de un multiplexor de cuatro entradas es el siguiente:


I0
G0
I1
G1
Z
I2
G2
I3
G3

Consta de cuatro entradas (I0 I3)


que pueden seleccionarse con los
bits S1S0. El nmero de entradas es
susceptible de aumento sin ms
que incrementar el nmero de
puertas AND y de bits de
seleccin. Los bits de seleccin
determinan la puerta AND
habilitada. As, por ejemplo, la
combinacin S0 = 1, S1 = 0 slo
habilita la puerta G2, e I2 aparecer
a la salida del circuito.

S1 S0
Pgina 65

Sistemas Digitales

Un ejemplo de multiplexor comercial es el 151. Se trata de un multiplexor de ocho


entradas y una salida. Su smbolo lgico es:
I0 I1 I2 I3 I4 I5 I6 I7

S 2 S1 S0

MULTIPLEXOR `151

Posee una entrada de habilitacin activa en baja


(cuando E 1 , las salidas son Z 0, Z 1 ). La
entrada direccionada por los bits S2S1S0 aparecer a
la salida Z. A travs de la salida Z obtenemos su
complemento.

Otro multiplexor interesante es el 157. Se trata de un multiplexor cudruple de dos lneas


a una. Su smbolo lgico es el siguiente:
A3 A2 A1 A0 B3 B2 B1 B0 A/ B E

B
MULTIPLEXOR `157
Z=AB

Z3 Z2 Z1

Consta de una entrada de habilitacin activa en


baja y otra de seleccin que dan control comn a
cada uno de los cuatro multiplexores del
integrado, de tal forma que si A/B 0 , en las
cuatro salidas aparecen las cuatro entradas A, y
si A/B 1 aparecen las cuatro entradas B. Si el
multiplexor est deshabilitado las salidas se
ponen a cero.

Z0

Las utilidades de los multiplexores son:


Enviar a un solo canal la informacin procedente de varias fuentes seleccionando en
cada instante la fuente, mediante la combinacin binaria aplicada en las entradas de
seleccin. Puede servir, por ejemplo, para convertir informacin en formato paralelo a
formato serie.
Generacin de funciones lgicas.
Hemos visto que la estructura de un multiplexor consista en dos niveles de puertas, un
primer nivel de puertas AND, a las que accedan las variables de seleccin y los canales de
entrada, y un segundo nivel constituido por una puerta OR. sta es la estructura del circuito
que se obtiene al expresar una funcin lgica en forma de suma de productos cannicos. Esta
analoga nos permite anticipar que, con un multiplexor pueden generarse funciones lgicas.
Vamos a ver un ejemplo. Sea la funcin lgica de tres variables:
f (a, b, c) (0, 2, 3, 5, 7)

La tabla de verdad es:

Pgina 66

Sistemas Digitales

a
0
0
0
0
1
1
1
1

0
1
2
3
4
5
6
7

b
0
0
1
1
0
0
1
1

c
0
1
0
1
0
1
0
1

f
1
0
1
1
0
1
0
1

Implementemos esta funcin con un multiplexor 151. Para ello realizamos el montaje
siguiente:
1

Multiplexor
habilitado
a bc

S2 S1 S0

0
I0 I1 I2 I3 I4 I5 I6 I7

MULTIPLEXOR `151

Z=f

As, cuando a travs de los bits de control


establezcamos una determinada combinacin de
variables de entrada, obtendremos en la salida Z el
canal seleccionado. Poniendo en cada canal un cero
o un uno segn la tabla de verdad de la funcin,
obtendremos dicha funcin en la salida.

Los bits de seleccin S2S1S0 hacen el papel de variables de entrada de la funcin f. En las
entradas I0,...,I7 ponemos los correspondientes valores que ha de tomar la funcin f, los cuales
aparecern en la salida Z segn los seleccionemos con S2S1S0.
En general con un multiplexor de n bits de seleccin (es decir, de 2n canales) se puede
implementar cualquier funcin lgica de n variables. Adems, con un inversor adicional,
puede implementarse cualquier funcin lgica de n+1 variables (se ver en problemas)

Pgina 67

Sistemas Digitales

4.5- DEMULTIPLEXORES
Constan de una entrada, n salidas y m=2n entradas de seleccin, mediante las cuales se
selecciona en qu salida aparece la nica entrada. Realizan la operacin inversa de un
multiplexor. Supongamos que disponemos de varias fuentes generadoras de palabras de m
bits y de varios posibles receptores, es decir, destinatarios de esas palabras. Supongamos
adems que nos proponemos transmitir una palabra de cualquier fuente a cualquier receptor.
Una forma de realizar la transmisin sera suministrar un bus separado de cada fuente a cada
receptor.
La ventaja de esta solucin es que se podran transmitir muchas palabras
simultneamente. En la prctica esto no es factible ni conveniente y lo que se hace es recurrir
a la multiplexacin que nos permite utilizar un solo bus para muchas fuentes diferentes.
Pero, obviamente, necesitamos un demultiplexor, es decir, una estructura lgica que
tomar una palabra de un bus y la dirigir a un receptor seleccionado.
Un demultiplexor de uno a cuatro lneas aparece representado en la siguiente figura:

00

01

Bus de un bit
Entrada de
informacin

10

11

A1 A0

Vemoslo en el
decodificador 138:

A0

A0

O7

O7

A1

A1

O6

O6

A2

A2

O5

O5

O4

O4

O3

O3

O2

O2

O1

O1

O0

O0

Terminales de
habilitacin

E3
E2
E1

Entrada de datos (bus)

DECODIFICADOR `138

Bits de seleccin
(direccin)

Si nos fijamos en este circuito y lo


comparamos con el que vimos para
un decodificador de dos entradas y
cuatro salidas, encontramos que
son idnticos salvo que hemos
introducido en cada puerta AND
una entrada adicional a la que se
conecta el bus. En el decodificador
activbamos
la
salida
correspondiente segn las entradas
de seleccin, mientras que aqu
transmitimos la entrada a la salida
correspondiente segn las entradas
de seleccin.
caso

del

As
cuando
el
E1 0
decodificador estar habilitado y
aparecer un cero en la salida
direccionada por A2A1A0 y un
uno en el resto. Si E1 1 , el
decodificador se deshabilita y
todas sus salidas estarn a uno.
Por tanto, el estado de la salida
seleccionada por A2A1A0 coincide
con la entrada E1 , luego con este
montaje el decodificador 138
funciona como un demultiplexor.

Pgina 68

Sistemas Digitales

4.6- COMPARADORES BINARIOS


Los circuitos comparadores son sistemas combinacionales que detectan si dos
combinaciones binarias de n bits en el sistema binario natural son iguales o no y, en este
ltimo caso, cual es mayor. Esta funcin lgica se utiliza con frecuencia en el diseo de
sistemas lgicos y, por tanto, su disponibilidad como bloque funcional permite simplificar en
gran medida la complejidad de realizacin de aquellos.
A3 A2 A1 A0
Un ejemplo de comparador es el 85,
que permite comparar dos nmeros
binarios de cuatro bits. Su estructura
lgica es la siguiente:

B3 B2 B1 B0

IA>B
A
B
COMPARADOR `85

IA=B
IA<B

OA<B OA=B OA>B


La tabla de verdad del circuito es (pasar de ella):
Entradas
A3,B3
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3

A2,B2
*
*
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2

A1,B1
*
*
*
*
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1

A0,B0
*
*
*
*
*
*
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
A0=B0
A0=B0

Entradas para
Salidas
conectar en cascada
IA>B IA<B IA=B OA>B OA<B OA=B
*
*
*
1
0
0
*
*
*
0
1
0
*
*
*
1
0
0
*
*
*
0
1
0
*
*
*
1
0
0
*
*
*
0
1
0
*
*
*
1
0
0
*
*
*
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
*
*
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0

La tabla simplificada es:


Entradas
A
A
A
A
A
A
A
A

>
<
=
=
=
=
=

B
B
B
B
B
B
B
B

Entradas para conectar


en cascada
IA>B
IA<B
IA=B
*
*
*
*
*
*
1
0
0
0
1
0
*
*
1
0
0
0
1
1
0

Salidas
OA>B OA<B OA=B
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0

Pgina 69

Sistemas Digitales

Las entradas adicionales IA>B, IA<B y IA=B permiten conectar varios comparadores 85 en
cascada y comparar nmeros binarios de ms de cuatro bits. Por ejemplo, para comparar dos
nmeros binarios de ocho bits habr que realizar el montaje:
A0 A1 A2 A3

B0 B1 B2 B3

A4 A5 A6 A7

B4 B5 B6 B7

A0a A1a A2a A3a


I(A>B)a

B0a B1a B2a B3a

A0b A1b A2b A3b


I(A>B)b

B0b B1b B2b B3b

I(A=B)a

I(A<B)a

I(A=B)b
I(A<B)b

O(A<B)a O(A=B)a O(A>B)a

O(A<B)b O(A=B)b O(A>B)b


OA<B OA=B OA>B

Figura. 4.4 Comparador binario de 8 bits construido con dos comparadores de 4 bits.

El funcionamiento es el siguiente. El comparador (a) ha de tener IA=B =1. El comparador (b)


compara los 4 bits ms significativos: si A>B o A<B activa la salida correspondiente. En el
caso de que los cuatro bits ms significativos sean iguales entonces se analizan las entradas
provenientes de la comparacin de los 4 bits menos significativos (comparador (a)). Si A>B,
A<B o A=B se activa la salida correspondiente.

4.7- SUMADORES:
En la mayora de los sistemas digitales, desde el circuito de control ms sencillo hasta el
calculador ms complejo, se realizan operaciones aritmticas. Todas ellas pueden reducirse en
ltimo trmino a una serie de sumas aritmticas binarias.
Ya vimos en el tema 2 que la suma de dos bits puede expresarse de esta manera:

s ab
c a b
Para hacer la suma bit a bit hay que tener en cuenta el acarreo de la etapa anterior. As,
tenemos la siguiente tabla de verdad:

0
1
2
3
4
5
6
7

a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

cn
0
1
0
1
0
1
0
1

cn+1
0
0
0
1
0
1
1
1

s
0
1
1
0
1
0
0
1

Donde cn es el acarreo de la etapa anterior y cn+1 el acarreo


para la etapa siguiente. El circuito que realiza la tabla de
verdad anterior y que tiene como entradas a, b y cn y como
salidas s y cn+1 se denomina sumador total. Veamos cual es
el circuito ms sencillo que lo implementa.

Pgina 70

Sistemas Digitales

Para s:

Para cn+1:

abc n
ab

cn

00

0
1

abc n

ab
ab

10

11

01
0

abc n

cn
0

abc n

bc n

10

11

01
0

00

1
6

ac n

As, obtenemos:
s a b cn a b cn a b cn a b cn
( a b a b) c n ( a b a b) c n

cn+1

( a b) c n ( a b) c n a b c n

cn1 a b a cn b cn
El circuito sumador total ser
entonces el representado e la figura de la
derecha.

b cn

En la prctica se utilizan sumadores integrados como el 83. Se trata de un sumador de


cuatro bits cuyo esquema lgico es:
A3 A2 A1 A0

B3 B2 B1 B0 CI

B
SUMADOR `83

S=A+B

S3 S2 S1 S0

CO
Pgina 71

Sistemas Digitales

Consta de cuatro circuitos sumadores totales acoplados entre s. CI es la entrada de acarreo


de la primera etapa sumadora y CO la salida de acarreo de la cuarta etapa.
Estos dos pines nos permiten conectar sumadores en cascada para poder efectuar la suma
binaria de nmeros de ms de cuatro bits:

A0 A1 A2 A3

B0 B1 B2 B3

A4 A5 A6 A7

B4 B5 B6 B7

A0a A1a A2a A3a

B0a B1a B2a B3a CIa

CIb A0b A1b A2b A3b

B0b B1b B2b B3b

S0a S1a S2a S3a

COa

S0 S1 S2 S3

S0b S1b S2b S3b

COb

S4 S5 S6 S7

CO

Figura. 4.5 Sumador total de 8 bits construido con dos sumadores de 4 bits.

As, en S0 S7 aparece la suma de los nmeros de ocho bits A0 A7 y B0 B7, junto con
el acarreo CO correspondiente.
Ya hemos visto que si los nmeros negativos vienen representados en complemento a dos,
podemos realizar la resta a travs de la suma. Si quisiramos restar dos nmeros de cuatro bits
a3 a2 a1 a0 y b3 b2 b1 b0 con un sumador 83, haramos el siguiente montaje:
b 3 b2 b 1 b 0
a3 a 2 a1 a0
1
A3 A2 A1 A 0

B3 B2 B1 B0

S3 S2 S1 S0

CI

En las entradas A0A3 introducimos


el minuendo a0a3. En las entradas B0B3
introducimos el complemento bit a bit del
sustraendo b0b3. Poniendo el acarreo de
entrada CI a uno, sumamos una unidad con
lo que el sustraendo b0b3 estar expresado
en C2. En S0S3 obtenemos la resta de los
dos nmeros.

CO

bit de signo

Pgina 72

Sistemas Digitales

TEMA 5: CIRCUITOS SECUENCIALES ASNCRONOS


En temas anteriores hemos estudiado el anlisis y la sntesis de los sistemas lgicos
combinacionales, en los cuales no hemos tenido en cuenta el tiempo, porque el estado lgico
de la salida de dichos sistemas depende solamente del estado de las entradas en el instante
considerado y es independiente de los estados que hayan tenido las entradas anteriormente.
Por tanto, los sistemas digitales combinacionales no nos permiten por s solos resolver el
problema de almacenar el estado de las entradas en un instante y utilizarlo para tomar
decisiones posteriormente cuando cambie el estado de aquellas.
Los sistemas que pueden actuar de esta forma han de ser capaces de memorizar el estado
de las entradas y convertirlo en un estado interno del propio sistema. El valor de la salida en
un instante determinado no depende solamente del estado de las entradas en dicho instante
sino tambin del estado interno.
De todo lo dicho se deduce que un sistema secuencial reacciona ante secuencias de
estados de entrada de una forma determinada que depende de su construccin fsica y, por
tanto, es un sistema automtico, que recibe el nombre de autmata finito debido a que posee
un nmero finito de estados internos. La denominacin de secuencial es debida a que el valor
de su salida en un instante determinado no depende solamente de los estados lgicos de las
entradas en dicho instante, sino de la secuencia de estados de entrada.
Todo sistema secuencial posee:
a) Un conjunto finito de 2n estados de entrada, siendo n el nmero de variables de
entrada x1 , x2 ,..., xn (X).
b) Un conjunto finito de 2m estados internos, siendo m el nmero de variables de estado
interno y1 , y 2 ,..., y m (Y).
c) Un conjunto finito de 2p estados de salida, siendo p el nmero de variables de salida
z1 , z 2 ,..., z p (Z).
Las variables de salida se pueden obtener de dos formas diferentes:
a) Mediante una combinacin de las variables de entrada y las variables de estado
interno. La estructura de un sistema secuencial de este tipo recibe el nombre de autmata
de Mealy, y tiene el siguiente esquema:
x1

x1

x2

x2

xn

xn
y1(t)

(1)

y1(t+t)

y2(t)

y2(t+t)

ym(t)

ym(t+t)

z1
z2
(2)
zp

Figura. 5.1 Autmata de Mealy.


Pgina 73

Sistemas Digitales

b) Las variables de salida coinciden con las variables de estado interno o dependen
solamente de ellas. La estructura de un sistema secuencial de este tipo recibe el nombre de
autmata de Moore y responde al diagrama de bloques siguiente:

x1
x2
z1

xn
y1(t)

(1)

y1(t+t)

y2(t)

y2(t+t)

ym(t)

ym(t+t)

z2
(2)
zp

Figura. 5.2 Autmata de Moore.

Puede demostrarse algebraicamente que para todo autmata de Moore existe un autmata
de Mealy equivalente y viceversa.
El autmata ms general es el de Mealy. Est formado por dos sistemas combinacionales,
(1) y (2), y unos elementos de memoria. Las variables de entrada del sistema combinacional
(1) son las entradas exteriores X y las variables de estado interno Y a travs de los elementos
de memoria. Estos pueden estar constituidos por una clula de retardo o una clula de
memoria capaz de almacenar la informacin de un bit del estado interno. La clula de retardo
se puede realizar fsicamente a la salida del sistema combinacional o estar constituida por el
retardo inherente a las puertas del sistema combinacional. En este ltimo caso se denomina a
reaccin directa.
La evolucin del estado interno de un sistema secuencial puede realizarse de dos formas
principales:
a) Autnoma: el sistema evoluciona sin control externo alguno hasta que para una
combinacin de entradas X determinada, la combinacin Y (t t ) coincide con Y (t ) , con
lo que el sistema alcanza un estado estable. Los sistemas de este tipo reciben el nombre de
asncronos.
b) Controlada mediante los impulsos de un generador: el estado interno del sistema
secuencial evoluciona solamente cuando se aplica un impulso procedente de un generador.
Los sistemas de este tipo reciben el nombre de sncronos.

Pgina 74

Sistemas Digitales

5.1- DISEO DE CIRCUITOS SECUENCIALES ASNCRONOS


Para la realizacin de un circuito secuencial asncrono se han de seguir una serie de pasos,
desde las especificaciones del problema hasta el diseo del circuito final. No es necesario
realizar todos los pasos siempre que haya que disear un circuito, algunos de ellos se pueden
omitir. La lista completa de todos los pasos que hay que seguir se muestra a continuacin.
1.
2.
3.
4.
5.
6.
7.
8.
9.

Especificaciones.
Diagrama de secuencias / Diagrama de flujo.
Tabla de fases inicial.
Bsqueda de estados equivalentes o pseudo-equivalentes.
Fusin de lneas / Diagrama de fusin.
Tabla de fases reducida (Moore, Mealy).
Codificacin de lneas de la tabla de fases / Diagrama de transiciones.
Tabla de fases con estados codificados.
Matriz de excitacin (mapa de Karnaugh de los bits de estado). (evitar fenmenos
aleatorios)
10. Matriz de salida (mapa de Karnaugh del bit de salida).
11. Realizacin del circuito.

Para estudiar el diseo de los circuitos secuenciales asncronos, llevaremos a cabo un


ejemplo. Se desea disear un circuito con una entrada X y una salida Z tal y como se muestra
en el dibujo.

X
X

Z
Z

Lo primero ser intentar deducir los estados estables que pueda tener el sistema. Estos se
producen mientras la entrada X no cambie. Tendremos un estado estable por cada
combinacin posible de entradas y salidas, en principio tendremos el siguiente diagrama de
secuencias.

Z
1

A partir de aqu las


secuencias se repiten

Pgina 75

Sistemas Digitales

Una vez deducidos los estados, planteamos la tabla de fases en la que representamos de
forma ordenada la evolucin de estado en estado. Tambin representaremos la salida que
corresponde a cada estado.
X
Est. Act.

Un estado ser estable si, para una entrada determinada, el


estado actual y el siguiente coinciden. La salida que se indica
es la correspondiente al estado estable.

Est.Siguiente

Representamos los estados estables rodeados por un crculo bajo la entrada


correspondiente y rellenamos la tabla con estados inestables marcando las transiciones
asociadas a los cambios de la entrada. Se especifica un solo estado estable por lnea.
Esa misma informacin se puede representar en un diagrama de flujo:
0

1
1/0

2/0
X

3/1

4/1
1

E/Z E: estado
X: entrada
Z: salida

Aqu hemos deducido la tabla de fases a partir del diagrama de secuencias pero, en
ocasiones, dependiendo de las especificaciones, puede resultar ms intuitivo deducir el
diagrama de flujo y, a partir de l, plantear la tabla de fases.
Normalmente el paso siguiente en el proceso de diseo es la simplificacin de estados
redundantes. En nuestro caso no los hay, pero ms adelante veremos el proceso de
simplificacin.
Para poder implementar el sistema digital ser necesario codificar los estados. Como
tenemos cuatro en total, necesitamos dos bits que denominaremos y1 e y0. Pero antes de
asignar combinaciones concretas de bits a los estados es necesario comprobar las transiciones
que hay entre los estados y asegurarnos de que las combinaciones correspondientes a estados
entre los que hay transiciones difieran en un solo bit. Esto es absolutamente imprescindible,

Pgina 76

Sistemas Digitales

pues si no se hace una correcta codificacin el sistema puede no funcionar correctamente.


Veamos como ejemplo qu ocurre si hacemos la siguiente codificacin:

0 0

0 1

1 0

1 1

Estado Actual

la tabla de fases
pasa a

00

00

01

01

10

01

10

10

11

11

00

11

y1 y0

Estado y1 y0

Estado Siguiente
Y1Y0

Veamos que ocurre cuando pasamos del estado (01) al (10) al cambiar X de uno a cero.
Como se puede observar tiene que producirse el cambio de los dos bits de estado. Ahora bien,
sabemos que cada salida de un circuito combinacional tiene un retardo de propagacin
asociado, cuyo valor concreto no conocemos, y que nunca van a ser iguales los retardos
asociados a dos salidas distintas.
Sea t1 el retardo asociado a Y1, y t0 el retardo asociado a Y0. Como t1 y t0 nunca van a ser
iguales, eso significa que al pasar de y1 y 0 01 a y1 y 0 10 pasaremos por una de dos
posibles combinaciones intermedias o 00 o 11:
La entrada X pasa de 1 a 0
Si t1 > t0
cambia antes y0

Si t1 < t0
cambia antes y1
01

00

seg

?
*
10

00

10

Estado final
distinto del esperado

11
?
00
00

uim
os
e

El sistema queda atrapado


en un ciclo de estados
inestables

ste

cam

ino

01
?
10

11

? Imposible pues hay dos cambios simultneos


* Imposible pues suponemos t1 < t0
Nota: al llegar a un nuevo estado volveran a cambiar las variables de estado y siempre lo hara primero y1 en la rama de la
derecha. En todo el proceso X=0.

El problema est en que tenemos realimentaciones directas y el sistema toma esas


combinaciones intermedias errneamente como nuevos estados actuales. Para ver donde
llegamos nos fijamos en la tabla de fases. Cuando por al menos uno de los dos caminos no
llegamos al estado final correcto, en el caso anterior el (10), se dice que la transicin es
crtica, ya que el sistema puede que no funcione como es debido al desconocer los retardos de
propagacin y, en particular, cual de ellos es mayor.
Pgina 77

Sistemas Digitales

Algo similar ocurre en la transicin del estado (11) al (00) cuando X pasa de uno a cero:
La entrada X pasa de 1 a 0
Si t1 > t0
cambia antes y0

Si t1 < t0
cambia antes y1
11

seg

10

*
00
10

00

Estado final
distinto del esperado

01
?
10
10

uim
os
e

El sistema queda atrapado


en un ciclo de estados
inestables

ste

cam

ino

11
?
00

01

? Imposible pues hay dos cambios simultneos


* Imposible pues suponemos t1 < t0

Para evitar las transiciones crticas habr que codificar los estados teniendo en cuenta las
transiciones que existen entre ellos. Para ello resulta til el diagrama de transiciones:

2
00

01

10

11

Tenemos un sistema cclico. Basta con codificar en cdigo


Gray. Como ahora slo cambia un bit de un estado actual al
siguiente no habr problemas de transiciones crticas.

3
La nueva tabla de fases queda:

Estado Actual

00

00

01

01

11

01

11

11

10

y1 y0

10

00

10

El siguiente paso consiste en plantear los diagramas de


Karnaugh para los bits de estado (matriz de excitacin) y para la
salida (matriz de salida). Vayamos primero con la salida. Slo la
tenemos definida para los estados estables. En los inestables la
definiremos en funcin de las salidas de los estables entre los
que ocurre la transicin.

Estado Siguiente
Y1Y0

Pgina 78

Sistemas Digitales

Veamos, por ejemplo, las salidas que asignamos a las transiciones desde el estado (00) al
(01):

Y1Y0

00

01

01

Transicin desde 00 a 01

Estados inestables

y desde el (11) al (10):


Z

Y1Y0

11

10

10

Transicin desde 11 a 10

Estados inestables
Nota: el estado inestable correspondera con la salida del sistema durante la evolucin de un estado a otro, durante la flecha
que une ambos estados en el diagrama de flujo.

Si la salida tiene que cambiar en la transicin, nos da igual el valor que le asignemos a la
salida del estado inestable. Por ejemplo, al pasar de (01) a (11):

Y1Y0

01

11

11

Transicin desde 01 a 11

Estados inestables

As, la matriz de salida y las de excitacin sern:


X

00

01

11

y1 y0

10

Salida Z

Z = y1

00

01

11

y1 y0

10

1
Y1

Para evitar
fenmenos
aleatorios

00

01

11

10

y1 y0

0
Y02
Y

Pgina 79

Sistemas Digitales

de donde obtenemos:
Z y1 , Y1 X y0 X y1 y1 y0 , Y0 X y 0 X y 1 y 1 y 0
Es absolutamente necesario eliminar fenmenos aleatorios porque al tener realimentaciones
directas, las combinaciones intermedias que atraviesan los bits de estado son interpretadas por
el sistema como nuevos estados actuales. En el circuito combinacional de salida no es
necesario, en principio, evitarlos. El circuito que implementa lo anterior ser:

Y0

Y1

y0 y1

Circuito
asncrono

Figura. 5.3 Circuito asncrono implementado en una estructura AND-OR.

Pgina 80

Sistemas Digitales

5.2- SNTESIS DE UN SISTEMA SECUENCIAL ASNCRONO. REDUCCIN DE LA


TABLA DE FASES
Las especificaciones de un sistema asncrono indican los estados de salida para todas las
secuencias admisibles de los estados de entrada. Estas especificaciones se pueden representar
grficamente en un diagrama de secuencia o de flujo en el cual se indican las transiciones
entre los diferentes estados de entrada y el estado de salida correspondiente. Dichas
transiciones se representan en una tabla de fases en la que se indica adems el estado de salida
correspondiente a cada estado interno. En esta tabla de fases inicial se indica un solo estado
estable por lnea. Una vez realizada esta tabla de fase es necesario estudiar su posible
reduccin a fin de lograr la realizacin del sistema propuesto con un mnimo nmero de
estados internos.
La reduccin de una tabla de fases se realiza mediante la fusin de dos o ms lneas en
una sola. La fusin de una tabla de fases es un paso importante porque el nmero de estados
internos ser igual al de lneas y el sistema ser tanto ms sencillo cuanto menor sea el
nmero de stas.
Estudiaremos la fusin de lneas en una tabla de fases con un ejemplo: supongamos que el
anlisis de las especificaciones de un sistema secuencial asncrono nos ha llevado al
planteamiento de una tabla de fases como la que aparece a continuacin.
X1X2

00

01

11

10

--

--

--

--

En dicha tabla representamos mediante guiones los


estados imposibles o inalcanzables. En cada lnea est
representado un estado interno estable y la salida Z
correspondiente a ese estado.

Para estudiar la fusin de lneas en una tabla de fases


hay que tener en cuenta el concepto de estados
equivalentes y estados pseudoequivalentes. Dos
-2
4
6
1
estados de una tabla de fases correspondientes al mismo
estado de entradas son equivalentes cuando les
--2
8
1
corresponde la misma salida, y todas las posibles
-5
9
8
0
secuencias de estados de entrada a partir de ambos
conducen a la misma secuencia de estados internos
-7
8
9
0
equivalentes. Por tanto, para que sean equivalentes dos
estados a cada uno de los cuales les corresponde una
-6
5
9
1
lnea de la tabla de fases, es condicin suficiente que en
cada una de las restantes columnas coincidan dos estados inestables del mismo nmero o bien
dos estados imposibles o inalcanzables (representados por un guin). Por ejemplo, fijndonos
en las dos primeras lneas de la tabla de fases anterior, se deduce que los estados (1) y (2) son
equivalentes, ya que les corresponde una misma salida (Z = 1) y los estados internos
siguientes para cada combinacin de variables de entrada (estados de entrada) son los
mismos. Por tanto:
(1) (2)
En el caso de que en alguna columna los estados siguientes sean diferentes, es necesario
que stos, a su vez, sean equivalentes para que los dos primeros lo sean. Por ejemplo,
fijndonos en las lneas 3 y 4 de la tabla de fases anterior, se deduce que (3) y (4) son
equivalentes si lo son (5) y (7), es decir:

Pgina 81

Sistemas Digitales

(5) (7) (3) (4)


Observando las lneas 7 y 8 se deduce que (5) y (7) son equivalentes. Por tanto:
(5) (7)
(3) (4)
La relacin de equivalencia es transitiva, es decir, si un estado es equivalente a otro, y este
a su vez lo es a un tercero, el primero y el tercero tambin los son.
Cuando se cumplen las condiciones antes mencionadas para la equivalencia de estados pero
en alguna columna uno slo de los estados es inalcanzable o imposible, se dice que los
estados son pseudoequivalentes o compatibles. Por ejemplo, en la tabla de fases anterior
se observa que los estados (6) y (8) (lneas 5 y 6) son pseudoequivalentes.
Al contrario que en el caso de la equivalencia, la relacin de pseudoequvalencia no es
transitiva.
As pues, el primer paso para la reduccin de la tabla de fases es la unin de estados
equivalentes y pseudoequivalentes. En nuestro ejemplo sustituiremos los estados (1) y (2) por
un solo estado, al cual asignaremos el nmero (1). De igual forma, el (3) y el (4) los
sustituiremos por el (3), y el (5) y el (7) por el (5). Los estados pseudoequivalentes (6) y (8) se
sustituyen por el (6), y en la columna que hay un estado imposible y el estado inestable 4, se
pone ste en lugar del inestable (en la tabla aparece el 3 pues hemos sustituido el 4 por su
equivalente). En la figura siguiente se indica la tabla resultante:
X1X2

00

01

11

10

--

--

--

--

--

Una vez que se han unido los estados equivalentes y los pseudoequivalentes es necesario
estudiar qu lneas son fusionables. Dos lneas son fusionables si ambas contienen en todas
las columnas algunas de las siguientes combinaciones de estados:
1. Dos estados inestables del mismo nmero.
2. Un estado inestable y otro estable del mismo nmero: en la lnea resultante de la
fusin se pondr el estado estable.
3. Dos estados imposibles.
4. Un estado inestable y un estado imposible: en la lnea resultante de la fusin se pondr
el estado inestable correspondiente.
5. Un estado estable y un estado imposible: en la lnea resultante de la fusin se pondr
el estado estable correspondiente.

Pgina 82

Sistemas Digitales

Las tres primeras combinaciones no necesitan ser justificadas. Las dos ltimas son
admisibles porque un estado imposible es aquel que no se puede alcanzar debido a la no
existencia de una determinada secuencia de estados y, por tanto, se le puede sustituir en una
lnea fusionada por un estado estable o inestable, ya que slo se llegar a ste a travs de una
secuencia de estados admisible.
La fusin de lneas tampoco es una propiedad transitiva y, en consecuencia, para que tres
lneas sean fusionables en una sola lo han de ser dos a dos.
La fusin de las lneas de una tabla de fases se realiza sistemticamente mediante el
diagrama de fusin. En este diagrama se asigna un punto del plano a cada lnea de la tabla
representada por una letra y se enlazan mediante un segmento las letras correspondientes a
lneas fusionables. Dado que la unin es una propiedad recproca, para realizar el diagrama de
fusin slo es necesario comparar cada lnea con todas las que se encuentren por debajo de
ella en la tabla.
La fusin se puede realizar entre lneas a las que corresponda el mismo o distinto estado de
salida. Si todas las fusiones que se realizan son entre estados con la misma salida, a cada lnea
de la tabla de fases final le corresponde un estado de salida y el sistema secuencial resultante
ser un autmata de Moore. Por el contrario, si se fusionan entre s lneas a las cuales les
corresponde distinto estado de salida, el sistema secuencial resultante corresponder al
modelo de autmata de Mealy, en el cual la salida depender del estado de entrada y del
estado interno. En este caso es necesario incluir en la tabla de fases la informacin
correspondiente al estado de salida y, por consiguiente, al lado de cada estado estable se
indicar el estado de salida que le corresponde. A los estados inestables se les puede asignar
indistintamente el estado de salida del estado estable del cual se parte o del estado estable al
cual se llega, en caso de que sean diferentes, y el comn a ambos si son iguales. La eleccin
se ha de realizar de forma que la expresin lgica resultante para las variables de salida sea lo
ms sencilla posible.
A
Realicemos ahora la funcin para la tabla de fases de nuestro
ejemplo. Observando dicha tabla se deduce que la lnea A es
fusionable con la C y la lnea E lo es con la D. El diagrama de
E
B
fusin ser pues:

La tabla de fases final reducida es la siguiente:

X1X2 00

01

1 /1 3
5

11
--

3 /0 --

5 /0 9 /1 --

Debido a que a las lneas D y E les corresponde un


estado de salida diferente, es necesario colocar al lado de
6 /1 cada estado estable el estado de salida de la lnea a la que
perteneca en la tabla sin fusionar.
6
Los estados estables de una misma lnea representan al
mismo
estado, ya que la estabilidad implica que el estado
6
actual y siguiente coinciden.

10

Sustituiramos en la tabla: 1 y 6: 1, 3:2, 5 y 9:3

Pgina 83

Sistemas Digitales

EJEMPLO DE SNTESIS DE UN SISTEMA SECUENCIAL ASNCRONO


Para asimilar mejor todos los conceptos estudiados hasta ahora realizaremos la sntesis de
un sistema secuencial sencillo.
Disear un sistema secuencial asncrono con dos variables de entrada X1 y X2 y una
variable de salida Z que ha de actuar siguiendo las siguientes especificaciones:
a) Si la variable X1 toma el valor lgico uno, la salida Z del sistema pasar al estado
lgico uno independientemente del estado en que se encuentre y continuar en l aunque la
variable X1 vuelva al estado lgico cero. Sucesivas conmutaciones de la variable X1 no
condicionan el estado de la salida.
b) Si la variable X2 toma el valor lgico uno, la salida Z del sistema pasar al estado
lgico cero independientemente del estado en que se encuentre anteriormente y continuar
en l aunque la variable X2 vuelva al estado lgico cero. Sucesivos cambios de estado de X2
no modifican el estado de la salida.
c) Las variables X1 y X2 no podrn encontrarse en estado uno simultneamente ni cambiar
de estado en el mismo instante.
Nota: es un biestable RS con X1=S y X2=R

Estas especificaciones pueden representarse en un diagrama de secuencia:

X1

X2

t
1

En el diagrama de secuencias se representan todas las situaciones posibles. A cada


combinacin de estados de entrada y salidas diferentes les asignamos un nmero decimal que
corresponder a un estado total del sistema determinado.
Observando las transiciones entre estados en el diagrama de secuencia, resulta sencillo
obtener la tabla de fases:
X1X2

00

01

11

10

--

--

--

--

--

--

En esta tabla indicamos con un guin aquellos


estados a los cuales no llegar nunca el sistema de
acuerdo con las especificaciones expuestas (cambio
simultneo de las variables de entrada X1X2 o que
ambas valgan uno a la vez). Por ejemplo, si el sistema
se encuentra en el estado estable (2) con las entradas en

Pgina 84

Sistemas Digitales

el estado X 1 X 2 10 , para que estas pasen al estado X 1 X 2 01 han de cambiar


simultneamente las dos entradas, pero hemos especificado que esto no puede suceder y, por
lo tanto, se han colocado guiones en las casillas correspondientes.
A cada estado estable (rodeado por un crculo) se le asigna una lnea de la tabla y se indican
las transiciones a partir de l. Por ejemplo, si llamamos (1) al estado del sistema en que la
entrada es X 1 X 2 00 y la salida Z 0 , mediante el cambio del estado de entrada a
X 1 X 2 01 o X 1 X 2 10 se puede poner el sistema en dos nuevos estados estables (4) y (2),
respectivamente, el primero con salida cero y el segundo con salida uno, a los que se asigna
una nueva lnea. Las transiciones de (1) a (4) y a (2) se indican en la tabla mediante los
estados inestables 4 y 2 respectivamente.
Nota: en la tabla de fases se asocia cada lnea a un estado estable (rodeado por un crculo) y se pone la salida correspondiente
a ese estado estable. Partiendo del estado estable de cada lnea vemos si es posible la transicin al resto de estados
especificados por las entradas. Tenemos que tener en cuenta que cada estado viene definido no solo por las variables de
entrada sino tambin por la salida. En el estado estable 2 al pasar a 00 no se llega al estado 1 sino al 3, pues la salida vale 1.

Observando la tabla de fases se deduce que no pueden establecerse relaciones de


equivalencia o de pseudoequivalencia entre estados (tiene q haber est. estables en la misma
columna y con la misma salida). Por tanto, pasamos directamente a realizar el diagrama de
fusin. Observando la tabla de fases se comprueba que la lnea A es fusionable con la D y la
B con la C. Por tanto, el diagrama de fusin y la tabla de fases reducida sern:

X
X
1 1
1 1
0 Z
0 0
1
2 0

--

--

donde se observa que solamente hay dos lneas y a cada una de ellas le corresponde un estado
de salida, por lo que el sistema obtenido ser un autmata de Moore del que podemos realizar
su tabla y diagrama de flujo (incluyen las de excitacin y salida):

1
0
0
X
X
1
2 0

0
1

1
1 1
0

1/0 1/0 --

2
/*

2/1 1
/* --

2/1

0
0
0
1

1
/0

2
/1

0
0
1
0

0
1

donde se ha tenido en cuenta que los estados estables de una misma lnea representan al
mismo estado (1,4 1, 3,2 2), ya que la estabilidad implica que el estado actual y
siguiente coincidan.
La codificacin de una tabla de fases de dos lneas no presenta ningn problema porque
para realizarla solamente se necesita una variable de estado interna que nos proporciona los
dos estados necesarios y es imposible la existencia de transiciones crticas entre estados
internos adyacentes.

Pgina 85

Sistemas Digitales

Asignamos el estado interno y = 0 a la primera lnea e y = 1 a la segunda lnea. La matriz


de excitacin la realizamos asignando a cada estado estable el estado interno de su lnea y, a
cada estado inestable el estado interno del estado estable correspondiente. Las matrices de
excitacin y de salida son las siguientes:

X1 X2
00
y

01

11

10

X1 X2
00
y

01

11

10

Y
Suma de productos
Producto de sumas

Salida Z

Por tanto, las expresiones para Y y Z son:


Z y , Y X 1 X 2 y , o bien Y ( X 1 y ) X 2

dependiendo de si lo expresamos como suma de productos o como producto de sumas.

Si realizamos el circuito con puertas NAND se obtiene:

Y X1 X 2 y X1 X 2 y X 1 X 2 y

Y
X1

Y=Z

X2

Introduciendo la
realimentacin

X2

Nota:
NOR.

Y Y X 2 X 1 Y X 2 ( X 1 Y ) X 2 ( X 1 Y ) X 2

que es justo

Y de

la expresin con puertas

Si realizamos el circuito con puertas NOR se tiene:

Y ( X 1 y) X 2 ( X 1 y) X 2 ( X 1 y) X 2

Pgina 86

Sistemas Digitales

X1

X1
y

Y=Z
Y

X2

X2

Nota: Y
NAND.

( X1 Y ) X1 ( X 2 Y )

X 1 X 2 Y X 1X 2 Y

que es justo

Y de

la expresin de las

La nica diferencia entre ambas realizaciones es su comportamiento cuando las entradas


toman simultneamente el valor uno (lo que se especific como entrada imposible).
Los sistemas secuenciales que poseen una sola variable de estado interno se denominan
biestables, porque slo tienen dos estados estables. El que acabamos de disear recibe el
nombre de biestable R-S (Reset-Set). A las entradas X1 y X2 se les asigna, respectivamente,
las letras S y R, de tal forma que, cuando S = 1, el biestable se pone en estado de set, es
decir su salida se pone a uno. Cuando R = 1, el biestable se pone en estado de reset que
significa que su salida se pone a cero. Obviamente con esta nomenclatura no tendrn sentido
las situaciones en las que R = S = 1. No obstante, ya que en el diseo del biestable con puertas
NAND hemos supuesto que para la combinacin de entradas X 1 X 2 11 el estado Y Z era
uno, cuando nosotros pongamos los terminales R y S a uno a la vez, la salida se pondr a uno;
por este motivo al biestable R-S con puertas NAND se le denomina de grabacin
prioritaria. Todo lo contrario ocurre con el biestable diseado con puertas NOR, en el que se
supuso que para la combinacin de entradas X 1 X 2 11 el estado Y Z vala cero por lo que
si R = S = 1, la salida se pone a cero. Por ello, al biestable R-S de puertas NOR se le
denomina de borrado prioritario.
Nota: X1=S y X2=R. La implementacin de un flip-flop con puertas NAND posee las entradas
activas en baja ( R, S ) estando asociadas R con Y y S con Y. La implementacin con
puertas NOR posee entradas activas en alta (R, S) asocindose R con Y y S con Y .

Pgina 87

Sistemas Digitales

5.3- CODIFICACIN DE LOS ESTADOS INTERNOS DE LOS SISTEMAS


SECUENCIALES ASNCRONOS
En el apartado anterior hemos visto que una vez reducida la tabla de fases al mximo, es
necesario codificar cada lnea de la misma mediante una combinacin binaria. El nmero
mnimo de variables de estado necesario es un nmero n, tal que 2 n 1 N 2 n , donde N es el
nmero de lneas de la tabla de fases y n el nmero de variables de estado interno.
Carrera: fenmeno en el que existen varios caminos para realizar una transicin entre
estados. Se produce en transiciones entre estados no adyacentes (difieren en ms de 1 bit,
ej. 00 11) y se debe a la realimentacin directa de los bits de estado. Los bits de estado
nunca cambian simultneamente y se desconoce el retardo de propagacin asociado a cada
uno de ellos, por eso no se sabe cual de los caminos se va a seguir. SOLO se produce en
circuitos secuenciales asncronos, pues son los que tienen realimentacin directa.
Carrera NO crtica: carrera en la que por todos los caminos se llega al estado final correcto.
Carrera crtica: carrera en la que por al menos uno de los caminos NO se llega al estado
final correcto. Tiene que ser corregida.
Transicin no adyacente:
(00)

D
(11)

A (00)
(01) B

C (10)

A (00)
C (10)

(01) B

D (11)
Carrera NO crtica

(11) D

C (10)

Carrera crtica

La codificacin de las lneas de la tabla de fases ha de realizarse de forma que sean


imposibles las transiciones crticas entre estados internos no adyacentes. Esto puede hacer que
el nmero de variables de estado interno necesarias pueda ser superior a n.
La realizacin de un diagrama de transicin es una gran ayuda para la codificacin.
Dicho diagrama se realiza asignando a cada lnea de la tabla de fases final un punto del plano
y uniendo mediante un trazo aquellas lneas entre las que exista una transicin. La forma ms
elemental de realizar la codificacin es asignar combinaciones adyacentes a todas las lneas
entre las cuales existe transicin.
Por ejemplo, consideremos un sistema asncrono cuya tabla de fases sea la siguiente:

Su diagrama de transicin ser:

C
Pgina 88

Sistemas Digitales

Ya que si el sistema se encuentra en la lnea A en el estado (1) con X = 0 y cambia a X = 1,


pasa al estado inestable 2 que conduce al estado estable (2) en la lnea B. Por ello unimos A
con B a travs de una lnea. Hacemos lo mismo con las dems lneas.
Observando el diagrama de transicin se deduce que para la codificacin basta con utilizar
el cdigo cclico indicado en el siguiente diagrama:

0
0A

B0
1

1
0D

C1
1

De este modo, las transiciones entre estados sern


siempre adyacentes y no se producirn carreras crticas.
La matriz de excitacin correspondiente ser:

En la mayora de los casos no es posible asignar estados


internos adyacentes a todas las lneas de la tabla de fases
entre las que se producen transiciones. Para solventar la
dificultad que esto implica existen dos soluciones:

00

00

01

01

11

01

11

11

10

10

00

10

y1 y2

a) Establecer la transicin entre dos estados internos estables no adyacentes a travs de


un estado intermedio inestable adyacente a ambos que conduce finalmente al
segundo de los estados estables.
b) Elevar el nmero de variables de estado interno por encima del mnimo necesario y
realizar la codificacin correcta.
a) Veamos esto con un ejemplo. Sea el sistema secuencial asncrono cuya tabla de fases
se representa en la siguiente figura:

XX
1 2
00

01

11

10

--

A partir de esta tabla podemos construir el diagrama de


transicin:

Observando el diagrama de transicin se deduce que es imposible codificar con dos


variables las cuatro lneas de la tabla de fases sin que se produzcan transiciones crticas
debido a la transicin existente entre B y D.
Veamos pues lo que ocurre en este ejemplo si realizamos la siguiente codificacin:

0
0A

1
0D

B0
1

La nica situacin en la que puede producirse una


transicin crtica es entre las lneas B y D ya que sus
codificaciones en binario no son adyacentes. Vemoslo
construyendo la matriz de excitacin para la anterior
C1
1 codificacin:

Pgina 89

Sistemas Digitales

X1X2: 1101
X1X2
00
y1y2

01

11

10

00

00

00

01

01

01

--

10

01

01

11

11

10

01

11

10

00

10

10

11

Si t2 > t1
cambia antes y1

Si t2 < t1
cambia antes y2
01
?

11

00

10
00

10

estados finales distintos


? Imposible pues hay dos cambios simultneos

Supongamos que el sistema se encuentra en el estado de entrada X 1 X 2 11 y el estado


interno estable (01). Si la entrada pasa al estado X 1 X 2 01 , el estado interno debe cambiar
de 01 a 10 a fin de pasar al estado estable (10), es decir, deben cambiar los dos bits de estado
interno. Se observa que sta transicin es crtica debido a que, si al cambiar el estado interno
de 01 a 10 lo hace pasando por el 00, se quedar en l debido a que es un estado estable. Se
puede evitar este problema si, en lugar de asignar al estado inestable 4 de la lnea B en la tabla
de fases el estado 10 del estado estable final (4), se le asigna el estado 11 de la lnea C, con lo
cual desaparece la transicin crtica porque este estado es inestable y conduce al mismo
estado (4) al que se deseaba llegar. De esta forma el paso del estado (2) al (4) no se realiza
directamente sino a travs de la lnea C. La matriz de excitacin as obtenida es la
representada a continuacin:

XX
1 2
00
y1y2

01

11

10

00

00

00

01

01

01

--

11

01

01

11

11

10

01

11

10

00

10

10

11

Se diferencia de la anterior en que el estado interno siguiente


correspondiente a la entrada 01 y al estado interno 01 es 11
en lugar de 10.

b) Elevar el nmero de variables de estado interno por encima del mnimo necesario y
realizar la codificacin correcta.
Vemoslo con un ejemplo. Sea el sistema secuencial asncrono cuya tabla de fases es la
siguiente:

XX
1 2
00

01

11

10

--

El diagrama de transicin que se deduce para este sistema es:


A

C
Pgina 90

Sistemas Digitales

De la observacin de este diagrama se deduce que es imposible codificar las cuatro lneas
mediante dos variables de estado interno sin que existan transiciones crticas no adyacentes.
Por tanto, ser necesario utilizar tres variables de estado interno y crear nuevas lneas que
sern utilizadas para evitar las transiciones no adyacentes. Haremos la siguiente asignacin:
000 A

B 001

100 D

C 010

Con esta asignacin pueden ser crticas las transiciones entre B y C, entre B y D, y entre C y
D. Con ella y a partir de la tabla de fases podemos formar la siguiente matriz de excitacin:

XX
1 2
00
y1 y2y3

01

11

10

000 000 000 100 001


001

--- ___
100 001 001

010 010 000 ___


001
100 000 100 100 010
En esta tabla nos vamos fijando en cada columna y en sus contiguas para determinar cuales
pueden ser las transiciones crticas a partir de estados estables. As, se observa que:
1. Si estamos en el estado estable (001) y con el estado de entrada X 1 X 2 11 , si este cambia
a X 1 X 2 01 , tenemos una transicin entre estados internos no adyacentes ya que se pasa
al estado estable (100). sta es una transicin entre las lneas B y D. Si se pasa del estado
estable 001 al 100 a travs del 000, el sistema se queda en dicho estado, ya que se trata de
un estado estable para la entrada X 1 X 2 01 ; por tanto, se trata de una transicin crtica.
Podemos subsanar esta situacin creando un nuevo estado interno adyacente al de partida
(001) y al de llegada (100) que nos conduzca a este ltimo estado. En este caso, el estado
nuevo ser el 101, ya que es adyacente a ambos y debe conducir para el mencionado
estado de las entradas al estado 100. Por tanto, aadiremos una nueva lnea:

X
X
1
2
11
0
0
00
11
y
y
y
1
2
3
- 1
- 1
0
10
0-

y sustituiremos en la lnea 001 el estado interno 100, correspondiente al estado de entrada


X 1 X 2 01 , por el nuevo estado 101.

Pgina 91

Sistemas Digitales

2. Si nos encontramos en el estado interno estable (010) para la entrada X 1 X 2 10 y esta


cambia a X 1 X 2 11 , es estado interno debe pasar a ser el 001, lo cual representa una
transicin entre estados no adyacentes (entre las lneas C y B). Se trata de una transicin
crtica ya que si el estado interno pasa por el intermedio 000, terminaremos finalmente en
el estado estable (100), diferente del (001). Debemos pues introducir un nuevo estado
interno, el 011, que es adyacente a ambos y que debe conducir al estado estable (001).
Aadiremos entonces:

X
X
1
2
11
0
0
00
11
y
y
y
123
0
1
1- - 0
0
1y sustituiremos el estado 001 en la lnea C para la entrada X 1 X 2 11 por el nuevo 011.
3. Si estamos en el estado estable (100) para el estado de entrada X 1 X 2 11 , y ste cambia
a X 1 X 2 10 , el estado interno debe cambiar a 010; por tanto, estamos en el caso de una
transicin entre estados no adyacentes (entre las lneas D y C). Se trata de una transicin
crtica ya que si del estado 100 se pasa por el 000 para llegar al 010, el sistema vuelve al
estado estable (100). Para evitar esta transicin crtica introducimos un nuevo estado, el
110, que es adyacente al de partida 100 y al de llegada 010. Este estado debe conducir al
010, luego aadiremos la lnea:
X
X
1
2
11
0
0
00
11
y
y
y
123

1
1
0- - - 0
1
0
y sustituiremos el estado inestable 010 de la lnea D para la entrada X 1 X 2 10 por el
nuevo estado 110.

La tabla de excitacin final con los nuevos estados es la siguiente:


X1X2

00

01

11

10

000

000

000

100

001

001

---

101

001

001

010

010

000

011

010

100

000

100

100

110

101

---

100

---

---

110

---

---

---

010

011

---

---

001

---

y1y2y3

En esta nueva tabla ya no hay transiciones entre


estados internos no adyacentes. Con ella pueden
deducirse las expresiones lgicas de Y1, Y2, e Y3, en
funcin de X1, X2, y1, y2, e y3.

Y1Y2Y3
Pgina 92

Sistemas Digitales

5.4-SNTESIS DE SISTEMAS SECUENCIALES ASNCRONOS CON BIESTABLES R-S


La realimentacin de las variables de estado interno en un sistema secuencial puede ser
realizada mediante elementos biestables. El ms utilizado es el biestable R-S. Veamos con un
ejemplo como implementar un sistema asncrono con estos biestables.
Diseemos un biestable tipo T (un FF) activado por flancos cuyo diagrama de secuencia es:

Tt

Z
1

1
A partir de aqu las
secuencias se repiten

En dicho diagrama pueden distinguirse cuatro estados con los que construimos la tabla de
fases:
T
t

Como puede verse no hay estados equivalentes ni pseudoequivalentes.


Tampoco puede realizarse la fusin de ninguna lnea. Por tanto,
nuestro sistema tiene cuatro estados internos que denominaremos
respectivamente A, B, C y D segn aparece en la tabla de fases. Para
codificarlos usaremos dos bits de estado interno y1 e y2. Para hacer la
codificacin correcta construimos el diagrama de transicin:

0
0A

B0
1
Con esta codificacin de estados construiremos las
matrices de excitacin y de salida:

1
0D

C1
1
y1 y2

tT

00

00 /0 01/0

01

11/* 01 /0

11

11 /1 10/1

10

00/* 10 /1

Para evitar saltos en la


salida cuando el sistema
pase por estos estados inestables

Para poder simplificar al mximo


la salida Z

Y1Y2/Z
de la matriz de salida obtenemos fcilmente: Z y1 .
Pgina 93

Sistemas Digitales

Vemos entonces que el sistema consta de cuatro estados internos codificados a travs de dos
bits, y1 e y2. Podemos representar cada uno de esos bits a travs de los dos posibles estados del
biestable R-S con lo que necesitaremos un total de dos biestables, uno para representar y1 (que
llamaremos biestable 1) y otro para y2 (que llamaremos biestable 2) (construidos con NOR).

R1

S1

Y1

R2

Y1

S2

Y2

Y2

Para representar las transiciones que existen entre el estado actual y1y2 y el siguiente Y1Y2,
debemos ver qu entrada hay que aplicar a cada uno de los biestables. Para ello, se tendr en
cuenta la matriz de excitacin del biestable R-S:
R
0
0
1
1

S
0
1
0
1

tT

yt+1
yt
1
0
*

00

01

11

10

y1y2

Y1

Las entradas R y S sern, en general, funciones de la entrada t y de los bits


de estado interno y1 e y2. Vemoslo con el bit Y1.
El diagrama de Karnaugh para Y1 es:

Puede observarse que hay situaciones en las que:


Posibilidades
segn
el R1-S1
00
*0
10

y1

Y1

01

01

10

10
00
01

0*

Comparando el valor de y1 en la columna de la izquierda en el diagrama de Karnaugh para


la variable Y1 con el valor de Y1 que obtendramos para los distintos valores de la entrada T
tenemos todas esas posibilidades. Vemos en las dos columnas de la derecha que
combinaciones de RS nos dan esa misma evolucin (la columna de la derecha es lo mismo
pero de forma ms compacta). Por ej. en la evolucin 00 lo podemos conseguir con RS=00
pues obtenemos el estado anterior (0) o con R=0 que resetea el sistema y se obtiene 0.

Pgina 94

Sistemas Digitales

Por tanto, con la tabla anterior podemos construir el diagrama de Karnaugh para las entradas
R y S del biestable 1:
t

00

* 0

* 0

01

0 1

* 0

11

0 *

0 *

10

1 0

0 *

y1 y2

S1 = t y2
R1 = t y 2

R1 S1

Si ahora hacemos lo mismo para Y2:


t

00

01

11

10

y1y2

Y2

t
Las entradas R2 y S2 que debemos aplicar vendrn y1 y2
dadas en el siguiente diagrama:
00

* 0

0 1

01

0 *

0 *

11

0 *

1 0

10

* 0

* 0

Resumiendo, hemos obtenido:


R1 t y 2

S2 = t y1

R2 = t y1

R2 S2

S1 t y 2
R2 t y1
S 2 t y1

Por tanto, el circuito que se obtiene es:

Pgina 95

Sistemas Digitales

y1

y2

R1
S1

R
S

R2
S2

R
S

Y1 = Z

Y1

Y2

Y2

Figura. 5.4 Biestable tipo T implementado con biestables RS.

si aadimos las realimentaciones:

R2
t

S2

R
S

Z
2

Y2

S1

Y2

R1

S
R

Z
1

Y1 Z
Y1

Figura. 5.5 Biestable tipo T implementado con biestables RS (con realimentaciones).

Ms adelante veremos que las estructuras del tipo:


R
R

se denominan cerrojos dinmicos.

Pgina 96

Sistemas Digitales

Pgina 97

Sistemas Digitales

TEMA 6: CERROJOS DINMICOS Y FLIP-FLOPS


6.1- CERROJOS O LATCHES
Como ya vimos un biestable es un dispositivo que se puede encontrar en dos estados
estables posibles. Los biestables se pueden clasificar en cerrojos o latches y flip-flops, segn
el tipo de entradas que utilicen. En los cerrojos su estado depende normalmente de entradas
asncronas (R y S). Hasta ahora solo hemos estudiado un tipo de cerrojo, el R-S. En esta
leccin veremos otros tipos de cerrojos y otro tipo de biestables, los flip-flops.
6.1.1- CERROJOS DINMICOS
En un biestable R-S, las entradas R y S se denominan con frecuencia entradas de datos,
ya que la informacin presente en estos terminales determina lo que se almacena en el
biestable. Muchas veces resulta de utilidad disponer de un mecanismo que nos permita
conectar o aislar el cerrojo (o Latch) de una fuente de datos. Esto se consigue, por ejemplo,
con el siguiente montaje:
R
1
R

E
2
S

Cuando E 0 , las puertas 1 y 2 estn deshabilitadas (su salida es cero


independientemente del valor que tengan R y S) y el estado del cerrojo lo determina su
historia pasada (mantiene el estado anterior). En esta situacin el cerrojo queda aislado de sus
entradas de datos. En cambio, cuando E 1 , las seales R y S actuarn sobre el cerrojo,
ponindolo en estado de set o reset segn corresponda. Un montaje como el mostrado en la
figura anterior se denomina cerrojo dinmico. En contraposicin, al biestable sin puertas
de aislamiento se le denomina cerrojo esttico.
Una aplicacin importante del cerrojo dinmico es la indicada en la siguiente figura:

Lnea de datos

S
R

E
Nota: hemos cambiado la posicin de R y S en el dibujo.

Este montaje recibe el nombre de cerrojo tipo D. En l, una lnea portadora de datos
cambia con el tiempo. Esta lnea puede pertenecer a un bus de mltiples lneas. A veces
interesa capturar y mantener los datos D (ceros o unos) que circulan por la lnea. Para ello

Pgina 98

Sistemas Digitales

habilitamos el cerrojo poniendo E a uno. En esta situacin, puesto que S D y R D se


tendr que Z D , ya que:

S 1
Si D 1
el biestable pasa al estado de set Z 1
R 0
S 0
Si D 0
el biestable pasa al estado de reset Z 0
R 1
As, siempre que E = 1, la salida Z del biestable seguir a la entrada de datos D. Esta
operacin se caracteriza diciendo que el cerrojo es transparente. Cuando queramos
capturar y mantener los datos, inhabilitamos el cerrojo. La parte esttica (biestable R-S)
adoptar un estado que estar determinado por el valor que tuviese D inmediatamente antes de
que se inhabilite el cerrojo dinmico. Para almacenar una palabra que se transmita por un bus
de mltiples lneas se requerirn tantos cerrojos dinmicos como bits tenga la palabra, que se
activarn a travs de una lnea de habilitacin comn a todos ellos.
Para ilustrar esta operacin del cerrojo transparente, representamos su diagrama de
secuencia para unas determinadas seales D y E:

t
t0

t1

t2

t3

t4

t 5 t6

LIMITACIN
DEL
CERROJO
DINMICO
COMO
ELEMENTO
DE
ALMACENAMIENTO
En electrnica digital es bastante comn la transmisin de datos en serie. sta se realiza
enviando varios bits de una forma sucesiva a travs de un mismo cable o lnea. Para ello, cada
bit que se desea enviar debe mantenerse un cierto tiempo en la lnea antes de enviar el
siguiente. Por ejemplo, supongamos que enviamos tres bits a travs de una lnea y queremos
almacenarlos en tres cerrojos dinmicos como los vistos anteriormente. Para mayor claridad
supondremos que los bits enviados estn en una secuencia dada por 1 0 1 y que estos bits
se mantienen en la lnea un tiempo t0. La seal habilitadora que reciben los cerrojos ser:

Pgina 99

Sistemas Digitales

D
t0

2t0

3t0

E
t

De este modo, los cerrojos leern el dato D correctamente. Lo ideal sera poder hacer la
siguiente conexin
D

Lnea de datos

S3

Z3

S2

Z3

E
R2

E
R3

Z2

S1

Z1

Z2

E
R1

Z1

y que en el primer pulso de la seal habilitadora el primer dato pase al cerrojo dinmico 3, en
el segundo pulso que pase el segundo dato al cerrojo 3 y el primero al cerrojo 2 y que en el
tercer pulso pase el tercer dato al cerrojo 3, el segundo al cerrojo 2 y el primero al cerrojo 1.
Una vez realizada la operacin basta con poner la lnea E a cero y los tres bits quedaran
almacenados indefinidamente en los tres cerrojos.
Por desgracia, los cerrojos dinmicos no permiten este tipo de tratamientos. Para ver lo que
ocurre realmente supondremos que inicialmente todos los cerrojos estn en estado de reset. En
el primer ciclo de la seal de habilitacin, el primer dato, que supusimos igual a uno, se aplica
a las entradas del primer cerrojo. Este dato aparece a la salida Z3 de dicho cerrojo despus de
un tiempo tpd (tpropagation delay) correspondiente al retraso de propagacin inherente a este primer
cerrojo. Pero como la entrada de set del segundo cerrojo est a uno, y la seal de habilitacin
E todava est activa, despus de otro intervalo tpd la salida Z2 pasar tambin al estado de set.
Algo anlogo ocurrir con el primer cerrojo. Esto puede verse en el siguiente diagrama de
secuencia.

Seal de
habilitacin
tpd

Z3
tpd
Z2
tpd
Z1

Pgina 100

Sistemas Digitales

En resumen, despus del primer ciclo de habilitacin se ha puesto en estado de set los tres
cerrojos, es decir, el dato se ha transmitido hasta el primer cerrojo cuando nuestra intencin
inicial era que slo lo recibiera el cerrojo nmero 3, y que en sucesivas transiciones de la
seal E el dato fuera propagndose a travs de los cerrojos. Una forma de solucionar este
problema sera estrechar los pulsos en la seal E, es decir, conseguir que el nivel de
habilitacin se mantenga un tiempo menor que tpd. De este modo, el cerrojo nmero 2 se
deshabilitara antes de que la salida Z3 del cerrojo nmero 3 cambie. En estas condiciones el
dato quedara retenido en el cerrojo nmero 3 sin llegar al segundo cerrojo. Sin embargo, esta
solucin requiere la generacin de pulsos muy delgados cuya anchura es, en principio,
indeterminada, ya que no conocemos a priori los tiempos de propagacin de los biestables.
Estos problemas estn asociados al hecho de que los cerrojos dinmicos son transparentes,
por tanto, tropezamos con dificultades si en un mismo ciclo de habilitacin intentamos leer el
dato previamente almacenado en el cerrojo y escribir de nuevo en l. Por otro lado, cuando
necesitemos un elemento de almacenamiento en el que podamos escribir o del que podamos
leer, pero no las dos cosas en el mismo ciclo de habilitacin, el cerrojo es un dispositivo
perfectamente til.
En la siguiente seccin estudiaremos otro tipo de biestables, denominados flip-flops, que
nos permiten evitar estos problemas
6.2- FLIP-FLOPS
Los cerrojos (o Latches) se diferencian de los flip-flops en que el estado de los cerrojos
depende normalmente de entradas asncronas mientras que el estado de los flip-flops depende
de entradas sncronas, de acuerdo a una seal de reloj o de habilitacin. Los flip-flops pueden
ser activos por nivel o por flanco. En los activos por nivel es el nivel o valor de la seal de
habilitacin lo que activa el flip-flop. En cambio en los activos por flanco es el flanco de
subida o bajada de la seal de habilitacin lo que controla el flip-flop. En estos ltimos
solamente se van a leer las entradas en el instante justo en el que se produce el flanco,
mientras que en los activos por nivel se leen las entradas durante todo el tiempo que se
mantenga el nivel de la seal de habilitacin que activa el flip-flop.
6.2.1- FLIP-FLOPS ACTIVADOS POR NIVEL: EL FLIP-FLOP MAESTRO-ESCLAVO
Un dispositivo de almacenamiento no transparente es el flip-flop maestro-esclavo. Es un
flip-flop activado por nivel, es decir, es el nivel (o valor) de la seal de habilitacin lo que
activa el flip-flop. Consta de dos cerrojos dinmicos, uno denominado maestro y otro esclavo,
tal y como puede verse en la figura:

SM

ZM

SE

ZE

ZM

EE
RE

ZE

EM
R

RM

Nota: aunque es un disp. activado por nivel, es en la transicin 10 cuando se muestra la salida.

Lo representaremos por:

Pgina 101

Sistemas Digitales

R
E

Como se puede observar, las seales de habilitacin aplicadas al maestro y al esclavo son
complementarias. Cuando la seal E est en alta se habilita el cerrojo maestro y los datos S y
R se graban en dicho cerrojo, al mismo tiempo se deshabilita el cerrojo esclavo para que los
datos no sean transferidos del maestro al esclavo. En cambio, cuando E est en baja, se
habilita el cerrojo esclavo y en l se graba el dato que hubiera en el maestro.
Simultneamente, el cerrojo maestro se deshabilita aislndose de las entradas de datos. Para
que el funcionamiento del flip-flop sea correcto es necesario que:
a) Cuando E pase de cero a uno, el cerrojo esclavo se deshabilite antes de que se habilite
el maestro para que no sea posible la transferencia de datos a la salida Z.
b) Cuando E pase de uno a cero, el cerrojo maestro debe deshabilitarse antes de que se
habilite el esclavo, para que el dato que estaba en el maestro quede aislado de las
entradas R-S y pueda transferirse al cerrojo esclavo.
Consecuentemente, los niveles de tensin que habilitan y deshabilitan los cerrojos maestro
y esclavo se ajustan para que la secuencia de sucesos sea como la representada en la figura:
1

Transfiere el dato del


maestro al esclavo

Entrada de datos
al maestro

Aisla el esclavo
del maestro

Inhabilita la entrada
de datos al maestro

Si el circuito descrito anteriormente para el almacenamiento de tres bits procedentes de una


misma lnea hubiese sido realizado con flip-flops maestro-esclavo en lugar de con cerrojos
dinmicos, habramos obtenido el siguiente diagrama de secuencia suponiendo inicialmente
todos los flip-flops en estado cero y que solo aplicamos un 1 a la entrada:
t1

t2

t3

t4

t5

t6

E
tpd
Z3
tpd
Z2
tpd
Z1

Pgina 102

Sistemas Digitales

En el instante t1, el dato D 1 pasa al cerrojo maestro del flip-flop nmero 3, y el cerrojo
esclavo de dicho flip-flop se deshabilita. En el instante t2 se deshabilita el maestro y el esclavo
se habilita, tomando el dato que haba en el maestro. Despus de un tiempo tpd (debido a
retrasos en las puertas) el dato D pasa a la salida Z3 del flip-flop nmero 3.
En el instante t3, el dato Z 3 D 1 pasa al cerrojo maestro del flip-flop nmero 2 y el
cerrojo esclavo de dicho flip-flop se deshabilita. En el instante t4 se deshabilita el maestro y se
habilita el esclavo tomando el dato que haba en el maestro. Despus de un tiempo tpd este
dato aparece a la salida Z2 del flip-flop nmero 2.
Anlogamente, despus de un tiempo t6+tpd, el dato D que haba entrado a travs del flipflop nmero 3 aparece en la salida Z1 del flip-flop nmero 1. Con ello se ha logrado el
objetivo planteado: en cada impulso de la seal E el dato se va propagando de un flip-flop a
otro.
Si aadiramos flip-flops adicionales tendramos un circuito que en cada ciclo de la seal
E desplazara los datos en cascada. Esta disposicin se denomina registro de
desplazamiento y se trata de una estructura lgica bsica muy til de la que hablaremos ms
adelante.
t1
t2
t3
t4
t5
t6

D
E
ZM3
ZE3

Q3

(3)

ZM2
ZE2

Q2
ZM1

ZE1

Q1

(1)

Figura. 6.1 Flip-Flop RS maestro-esclavo. Transmisin de la secuencia 101.

Sealemos que la respuesta de salida de un flip-flop R-S maestro-esclavo, cuando existe,


ocurre en el flanco negativo de la seal de habilitacin E (paso de uno a cero). Aunque el flipflop R-S maestro-esclavo es activo por nivel es en el flanco negativo de la seal E cuando se
actualiza la salida. La tabla de verdad para el flip-flop R-S maestro-esclavo es idntica a la del
biestable R-S, solo que ahora Qn y Qn+1 son respectivamente los valores de la salida Z en los
ciclos de habilitacin n y n+1.

Pgina 103

Sistemas Digitales

R
0
0
1
1

S
0
1
0
1

Qn+1
Qn
1
0
*

R
C

S
Indica que el flanco activo
es el de bajada de la seal

ENTRADAS DIRECTAS
Unas veces por conveniencia y otras por necesidad se disean los flip-flops para que se
puedan adoptar los estados de set o reset mediante seales de control que no necesitan estar
sincronizadas con la seal de habilitacin E. A estas entradas se las denomina directas o
asncronas. Un flip-flop maestro-esclavo equipado con terminales directos de set y reset
puede verse en la siguiente figura:
Maestro

Esclavo
Rd

Sd

S
Q
C

Q
R
Sd

Rd

Figura. 6.2 Flip-Flop RS maestro-esclavo con entradas directas.


Nota: circuito en pg. 142 Taub. Rd y Sd no pueden ser cero a la vez.

Estas entradas cuando estn activas (en baja) actan directamente sobre el estado del flipflop independientemente de las entradas sncronas R-S y de la seal de habilitacin. Pueden
ser de utilidad a la hora de inicializar los flip-flops en un estado determinado. Lo
representaremos por:
Sd

Set directo

C
S

Reset directo

Rd
Pgina 104

Sistemas Digitales

6.2.1.1- FLIP-FLOP J-K


Hasta ahora hemos evitado la situacin R S 1 ya que conduce a un estado final
ambiguo en el biestable. Ahora modificaremos nuestro flip-flop para que con R S 1 el
flip-flop conmute, es decir, cambie en cada transicin activa de la seal de habilitacin.
Entonces obedecer al esquema:
K(R) J(S) Qn+1
0
0
Qn
0
1
1
1
0
0
1
1 Q
n

Atencin: J equivale a S y K a R

El flip-flop que verifica la anterior tabla de operacin se denomina flip-flop J-K. Para ello
basta con montar el circuito:

S1

Z1

Z2

Z2

C
K

R1

Z1

C
MAESTRO

ESCLAVO

Esta modificacin se realiza para que el gobierno de la seal de habilitacin C no lo


determinen nicamente las entradas R y S, sino tambin el estado del flip-flop. Veamos como
funciona.
a) Si J K 0 , las dos puertas 1 y 2 estn deshabilitadas y sus salidas son cero
independientemente de la seal C. Por tanto, R1 S1 0 y el flip-flop no cambiar de
estado, Qn1 Qn .
b) Si J 0 y K 1 , y el flip-flop est en estado de reset, es decir, Q 0 , en esta
situacin la puerta 1 est deshabilitada por ser J 0 y la 2 tambin por ser
Q 0 ( R1 S1 0 ). Por tanto, la seal C no cambiar al flip-flop del estado de reset.
Pero si J 0 y K 1 y el flip-flop est en estado de set, Q 1 , la puerta 2 est
habilitada ( R1 1 ) y la transicin en la seal C provoca que el flip-flop pase al estado
de reset con Q 0 .
c) Si J 1 y K 0 , anlogamente a lo visto en b), la seal C llevar al flip-flop al
estado de set si previamente no estaba en l.
d) Si J 1 y K 1 , en este caso una sola de las puertas de entrada estar habilitada
dependiendo de cuales sean las salidas Qn y Q n , es decir, del estado del flip-flop :
1. Si Qn=0, entonces se habilita la puerta 1 y se deshabilita la 2, y la seal C
llevar al flip-flop al estado de set, ya que S1 1 y R1 0 Qn1 1.
2. Si Qn=1, se habilita la puerta 2 y se deshabilita la 1, y la seal C llevar al flipflop al estado de reset, ya que S1 0 y R1 1 Qn1 0 .

Pgina 105

Sistemas Digitales

Por tanto, en ambos casos, Qn 1 Qn si J 1 y K 1 , es decir, el estado del flipflop conmuta en cada ciclo de la seal C, tal y como se deseaba. Con ello hemos
aumentado las posibilidades del flip-flop R-S maestro-esclavo.

6.2.1.2- EL FLIP-FLOP T DE CONMUTACIN


Un flip-flop con una entrada de control que conmute cuando dicha entrada est activa y no
responda cuando est sin activar se denomina flip-flop de conmutacin T (Toggle). ste
puede construirse uniendo los terminales J y K de un flip-flop J-K en uno comn T de control.
El flip-flop conmuta cuando T 1 .
T
0
1

Qn+1
Qn
Qn

C
K

Nota: el FF T siempre se construye a partir del FF JK, pues este es el nico que permite que J=K. En un RS no
sera posible.

6.2.1.3- EL FLIP-FLOP TIPO D


Partiendo de flip-flops R-S maestro esclavo podemos obtener un flip-flop tipo D. Basta con
hacer la conexin:

C
R

Q
Q

El smbolo lgico de este flip-flop es:

Q
D

FLIP-FLOP
D

En respuesta a la transicin negativa de la seal C, el nivel lgico de la entrada de datos D


se grabar en el flip-flop y aparecer en la salida Q. Como veremos ms adelante, en muchos
sistemas digitales (sncronos) los datos presentados a un flip-flop estn sincronizados con la
seal de habilitacin C que a menudo se denomina seal de reloj. En este caso, los datos de
entrada en cualquier terminal de entrada de un flip-flop cambian slo una vez en cada ciclo de
reloj, es decir, cambian una vez o ninguna. Adems, los cambios de datos, cuando suceden, se
cronometran para que ocurran muy poco despus de las transiciones de disparo del reloj, poco
tiempo despus de haber alcanzado el nivel activo de la seal de reloj. Veamos, por ejemplo,
un diagrama de secuencia relativo a la operacin del flip-flop tipo D maestro esclavo en estas
condiciones:
Transiciones de disparo: el dato pasa del maestro al esclavo

C (Reloj)
D
Q

Pgina 106

Sistemas Digitales

Como puede observarse en el anterior diagrama, la seal Q coincide con la D salvo por un
retraso igual a un perodo de la seal de reloj: la seal Q est retrasada respecto de la D un
perodo de reloj.
Existe un montaje alternativo para el flip-flop tipo D ms econmico que el esquema
maestro-esclavo y que aparece representado en la siguiente figura:

Sd

Q
C
Q

D
Rd
Figura. 6.3 Flip-Flop tipo D con entradas directas.
Nota: circ. en pg. 154 Taub, con R, S directas aadidas.

Consta de tres cerrojos R-S y de entradas directas de set y reset activas en baja (su
funcionamiento aparece especificado en la pgina 154 del Taub). Cuando C hace una
transicin positiva de cero a uno, Q se har cero si D estaba a cero y se har uno si D estaba a
uno. Cambios sucesivos en D mientras C est a uno no afectan a la salida Q. sta se
mantendr cuando C vuelva a cero. Por tanto, se trata de un flip-flop tipo D cuyo disparo tiene
lugar en la transicin positiva de la seal de reloj (a diferencia del FF tipo D basado en el RS
MS, que era en la transicin negativa).
Actualmente, de todos los tipos de flip-flops TTL existentes, el de la figura anterior es de
los ms utilizados en sistemas sncronos, a pesar de no ser tan verstil como el J-K (ya que no
dispone de respuestas correspondientes a J K 0 y J K 1). Sin embargo, este
problema puede solucionarse fcilmente con lgica adicional. As, para lograr que el flip-flop
permanezca en su estado actual necesitamos solamente conectar D y Q, y para hacer que el
flip-flop cambie, necesitamos conectar D y Q . En conjunto, si queremos modificar nuestro
tipo D a J-K nicamente necesitamos puertas que generen D J Q K Q , tal y como
indica la siguiente figura:

Pgina 107

Sistemas Digitales

K
D
J

FLIP-FLOP
D

Para deducir lo anterior construiremos la matriz de excitacin del circuito que deseamos
implementar:
JK

Qn

00

10

11

01

Estado actual
0

0
1

Entrada de datos para


el estado siguiente

1
2
3

1
7

Dn+1

por tanto : Dn 1 J Q n K Qn .

6.2.1.4- LIMITACIONES DEL FLIP-FLOP MAESTRO ESCLAVO


El flip-flop maestro-esclavo, cuando se utiliza como R-S o J-K presenta un grave
inconveniente que se pone de manifiesto en la siguiente figura:
t1
C

t2

C
J (o S)

K (o R)
Q

t
Como hemos visto en apartados anteriores, el cerrojo maestro se conecta a los terminales
de datos cuando el reloj est en nivel alto, y la respuesta de salida, si la hay, ocurre en la
transicin de la seal C del nivel alto al bajo, en los instantes t1 y t2. Despus del primer pulso
de la seal C todo parece estar en orden: Q 0 y como tambin J K 0 no se producir

cambio en Q en el instante t1. Sin embargo, durante el segundo pulso en C , en el instante t2,
nuevamente J K 0 , pero nos encontramos que Q 1 . La razn de este comportamiento

Pgina 108

Sistemas Digitales

se debe a que cuando C est en nivel alto, J estuvo en uno brevemente (debido, por ejemplo,
a un ruido o un fenmeno aleatorio). Como resultado el cerrojo maestro se puso en set.
Cuando J volvi a valer cero, el cerrojo maestro permaneci en set (J=K=0 Qn+1=Qn). En t2 el
bit almacenado en el maestro se transfiri al esclavo y, por consiguiente, Q adopt el valor
uno.
Algo similar hubiera ocurrido en el caso de considerar un pequeo pulso en K durante el
tiempo en que C vale uno. La salida pasara a cero si no estaba ya en ese valor. El mismo
comportamiento se dara en el flip-flop R-S maestro-esclavo.
Por tanto, la respuesta del flip-flop la determina la ltima entrada que adopte el uno lgico
mientras las puertas de entrada al maestro estn habilitadas. Esta caracterstica se conoce
como la propiedad de captar 1 del flip-flop y es a veces inaceptable, ya que el flip-flop es
muy susceptible a los fenmenos aleatorios y al ruido. Para solucionar este problema se
utilizan los flip-flops activados por flancos, que veremos en el siguiente apartado.
En el flip-flop tipo D que vimos anteriormente el problema de captar unos inherente a la
configuracin maestro-esclavo se evita, ya que nunca puede darse la situacin R S 0
(siempre o R o S valen 1).

6.2.2- FLIP-FLOPS ACTIVADOS POR FLANCOS


EL FLIP-FLOP J-K ACTIVADO POR FLANCO
Vimos que el flip-flop maestro-esclavo presenta el problema de captar unos. Este problema
puede resolverse diseando un flip-flop activado por flancos en el que la salida sea una
respuesta al dato de entrada presente inmediatamente antes de la transicin de disparo de la
seal de habilitacin. Es decir es indiferente los valores que la seal de entrada haya tomado
anteriormente. Solo se tomar el valor de la seal de entrada presente en el instante en que se
produzca el flanco activo de la seal de reloj (de bajada o de subida). La activacin por flanco
se indica mediante un tringulo en la entrada de la seal de reloj. Este es el caso del flip-flop
cuyo smbolo lgico est representado debajo y que corresponde al integrado 112 cuyo
esquema es el siguiente:
Sd

J
C

Rd

Pgina 109

Sistemas Digitales

Sd
Q
J

K
Q
Rd

Figura. 6.4 Flip-Flop J-K activado por flanco de bajada.


Nota: circuito en pg. 150 del Taub.

Se trata de un flip-flop activado por flancos en el que la transicin de disparo se produce


en el flanco de bajada de la seal.
6.3- TIEMPOS DE ESTABLECIMIENTO, MANTENIMIENTO Y PROPAGACIN
A menudo, los fabricantes especifican el tiempo de respuesta de un flip-flop al dato de
entrada y a la seal de reloj, como se indica en la figura de la pgina siguiente. Las seales
mostradas representan varias transiciones entre niveles lgicos. Como ocurre en realidad, las
transiciones se indican considerando que se necesita un tiempo finito para subir o bajar de un
nivel a otro. Sin embargo, aun visualizadas, las transiciones estn muy idealizadas, se
muestran como subidas o bajadas lineales con el tiempo. Realmente, las seales de las
transiciones en sistemas digitales pueden ser bastante complicadas. Unas veces algunos
niveles lgicos pueden aproximarse asintticamente; otras en las proximidades de algunos de
los niveles puede haber oscilaciones cerca de la transicin. Y generalmente habr algn
retardo antes de que una seal haga cualquier pequea excursin en la direccin de avance.
Por todas estas razones, en lugar de especificar el tiempo de transicin entre un nivel y el
siguiente, es ms conveniente especificar el tiempo que dura la transicin desde el 10% al
90% del intervalo total entre niveles. Como se ha sealado en el diagrama de tiempos de la
seal de reloj, este tiempo de transicin ser tr(rise). Anlogamente se define un tiempo de
bajada tf(fall), como el tiempo de transicin entre el 90 y el 10% del intervalo entre niveles.
Las seales mostradas se aplican a flip-flops tipo D, cuya transicin de disparo suponemos
que se realiza en la transicin positiva de la seal de reloj, del cero al uno lgico. Esta
transicin se indica en la figura (a) y en la figura (b) se representa una transicin del cero al
uno lgico del dato de entrada D.

Pgina 110

Sistemas Digitales

Las relaciones entre las seales de las figuras (a) y (b) se entienden si se indica que la
transicin en D debe preceder a la transicin de disparo de reloj un tiempo denominado
tiempo de establecimiento tsetup. Si el flip-flop reconoce y responde propiamente a la
nueva entrada de dato D, con certeza el cambio en D debe preceder al flanco de reloj un
intervalo de tiempo no inferior a tsetup. La figura (c) representa una transicin de D de 1 a 0.
Las relaciones entre las figuras (a) y (c) se proponen para indicar que si el cambio en D se
reconoce sin fallo, el nivel D debe mantenerse como mnimo durante un tiempo thold (tiempo
de mantenimiento) despus del flanco de reloj. En conjunto si el flip-flop responde al
cambio en D, este debe ocurrir como mnimo en el instante tsetup anterior al flanco de reloj y
despus de l debe persistir como mnimo un tiempo thold. Finalmente sealamos que los

Pgina 111

Sistemas Digitales

instantes en que transcurren las transiciones se toman normalmente cuando la transicin est
en la mitad de los dos niveles lgicos (50%).
Las relaciones entre el flanco de reloj y la seal de salida en las figuras (d) y (e) indican que
si el requerimiento con respecto a los tiempos de establecimiento y mantenimiento se cumple,
habr un retardo de propagacin tpd (propagation delay) entre el flanco de reloj y la respuesta
en las salidas, Q y Q , del flip-flop. El retardo de la salida que cambia del nivel bajo al alto es
tpd,LH (low-high), y el otro tpd,HL (high-low). Notar que estos dos tiempos no tienen por qu
coincidir. De hecho, generalmente se encuentra que los tiempos de setup y hold son
ligeramente diferentes, dependiendo de que la transicin del dato de entrada sea positiva o
negativa.
Los fabricantes dan informacin de estos tiempos en relacin no slo con las entradas de
datos, sino tambin con las entradas de set y reset si estn disponibles. En cualquier
circunstancia, para que la informacin se comprenda, el fabricante explicar detalladamente
las condiciones bajo las cuales se tomaron los datos. Las anchuras de transicin de los flancos
de reloj y la entrada de datos se darn tambin con las cargas conectadas a las salidas del flipflop. Esas cargas se confeccionan para que representen la carga vista por el flip-flop cuando
posea un nmero razonable de puertas conectadas a su salida. A menudo es bastante til
olvidar toda la informacin detallada referente a los tiempos y disponer de algunos
parmetros que den informacin sobre la velocidad de operacin del flip-flop. Para este
propsito, los fabricantes especifican una frecuencia de reloj mxima fmax de operacin del
flip-flop: fmax es la mxima frecuencia a la que se puede hacer conmutar el flip-flop.
En la lgica rpida disponible, los tiempos de setup, hold y los retardos de propagacin
estn comprendidos entre los nanosegundos y decenas de nanosegundos, mientras que las
frecuencias mximas de operacin estn en el rango de los 150 MHz.

Pgina 112

Sistemas Digitales

TEMA 7: CIRCUITOS SECUENCIALES SNCRONOS


En el tema 5 vimos que la estructura general de un sistema secuencial asncrono era:

x1

x1

x2

x2

xn

xn
y1

(1)

Y1

y2

Y2

ym

Ym

z1
z2
(2)
zp

Figura. 5.1 Autmata de Mealy.

Se trata de un autmata de Mealy con n variables de entrada (x1, x2, ..., xn), m bits de
estado interno (y1, y2, ..., ym) y p salidas (z1, z2, ..., zp). El sistema combinacional (1) nos
proporciona, a partir de las entradas actuales (x1, x2, ..., xn) y el estado interno actual (y1, y2, ...,
ym) el estado interno siguiente (Y1, Y2, ..., Ym). El sistema combinacional (2) nos relaciona las
salidas con las entradas y las variables de estado interno. En los autmatas asncronos, las
variables de estado interno se realimentan directamente. El sistema ir evolucionando a travs
de una sucesin de estados internos inestables hasta que, para una cierta combinacin de
entradas, el estado actual y el siguiente coincidan dando lugar a un estado interno estable.
Esta evolucin es posible gracias al retardo de propagacin producido por el sistema
combinacional (1).
Vimos que en la codificacin de los estados internos haba que evitar transiciones entre
estados no adyacentes, ya que podan dar lugar a problemas de carreras crticas. Adems, el
diseo deba realizarse eliminando posibles fenmenos aleatorios. Ambas limitaciones, o
inconvenientes, de los circuitos asncronos son debidos a la realimentacin directa de las
variables de estado interno; si por causa de transiciones crticas o por fenmenos aleatorios
algn bit de estado interno cambia a un nivel inesperado, se realimenta directamente en el
sistema asncrono, haciendo que ste evolucione de una manera impredecible.
Tanto el problema de carreras crticas como el de fenmenos aleatorios estn asociados a
los retrasos de propagacin en las puertas que constituyen el sistema combinacional (1). Si
eliminamos la realimentacin durante un perodo de tiempo suficiente, las variables del estado
interno siguiente (Y1, Y2, ..., Ym) sern las correspondientes al conjunto de entradas (x1, x2, ...,
xn) y de variables de estado (y1, y2, ..., ym) actuales, independientemente de los fenmenos
aleatorios y de las carreras crticas. Por tanto, si dispusiramos de un dispositivo que retuviera
las variables de estado interno siguiente (Y1, Y2, ..., Ym) un tiempo suficiente para alcanzar sus
valores correctos antes de realimentarlas, podramos hacer el diseo de nuestros sistemas
secuenciales sin necesidad de tener que evitar carreras crticas ni fenmenos aleatorios.

Pgina 113

Sistemas Digitales

En el tema anterior hemos estudiado un dispositivo que presentaba las anteriores


caractersticas, el flip-flop tipo D. Veamos que ocurre si reconstruimos nuestro sistema
secuencial introduciendo flip-flops tipo D en las lneas de realimentacin:

x1

x1

x2

x2

xn

xn
y1

(1)

Y1

y2

Y2

ym

Ym

z1
z2
(2)
zp

Qm FF Dm
C
Q2 FF D2
C
Q1 FF D1
C
C
Figura. 7.1 Autmata de Mealy con realimentacin con FF tipo D.

Supondremos que los flip-flops tienen su transicin de disparo en el flanco positivo de la


seal de reloj. Con el montaje anterior, las variables de estado siguiente (Y1, Y2, ..., Ym) slo
pasarn a las entradas cuando la seal de reloj realice una transicin positiva (paso de cero a
uno). El resto del tiempo, igual al perodo de la seal C, las variables de estado interno (Y1, Y2,
..., Ym) son retenidas por los flip-flops. Bastar con elegir un perodo para la seal C mayor
que los retrasos de propagacin asociados al sistema combinacional (1); de este modo, las
variables del estado interno siguiente (Y1, Y2, ..., Ym) tendrn tiempo suficiente para alcanzar
sus valores correctos antes de ser realimentadas.
De esta forma, aunque las entradas (x1, x2, ..., xn) cambien en un instante determinado,
dicho cambio no afecta al estado interno hasta que se aplica el impulso de sincronismo a las
entradas C de los flip-flops, es decir, los cambios de estado interno estn sincronizados con
los impulsos del generador. Por ello, a los sistemas secuenciales de este tipo se les denomina
sistemas sncronos.
El diseo de un sistema sncrono se puede hacer entonces de la misma forma que el
asncrono introduciendo flip-flops tipo D en la realimentacin. De forma anloga podemos
realizar el diseo utilizando flip-flops R-S (o J-K) al igual que hacamos con los asncronos
utilizando latches R-S. Ahora contaremos con la ventaja de que en el diseo no hace falta
considerar transiciones crticas ni fenmenos aleatorios, siempre y cuando el perodo de la
seal de reloj sea el adecuado, es decir, mayor que los retrasos de propagacin en el sistema
combinacional (1).

Pgina 114

Sistemas Digitales

SISTEMAS SNCRONOS DE INTERS ESPECIAL


7.1- Registros.
Ya hemos sealado que un latch o un flip-flop pueden almacenar un bit, es decir, registrar
un bit. Un array de estos dispositivos es entonces un registro en el que podemos escribir una
palabra y del que podemos leer la palabra almacenada cuando convenga.
Si nos proponemos leer una palabra de un registro y tambin transferir otra palabra a dicho
registro durante el mismo ciclo de reloj, necesitaremos flip-flops (los latches son
transparentes, transmiten la entrada a la salida). Si no, nos basta con usar cerrojos. Este es el
caso del registro octal integrado 373. Su diagrama lgico es: (el 173 en fotocopias, con 4 entradas)
Se trata de ocho cerrojos dinmicos tipo D, cada
uno de ellos tiene accesible su entrada Dn y su
D4 D5 D6 D 7
D0 D1 D2
salida Qn. Todos ellos se hacen transparentes
LE
cuando LE 1 (entrada de habilitacin comn a
OE
todos ellos) y se aslan de sus entradas si LE 0 .
Adems es un chip cuyas salidas poseen tres
Q 0 Q 1 Q 2 Q 3 Q 4 Q5 Q 6 Q7
estados. Para que en las salidas aparezcan los datos
almacenados en los cerrojos hay que poner OE a
cero (Output Enable). Si OE 1 las salidas estn en alta impedancia (el bus queda aislado de
los registros). Este hecho nos va a permitir conectar este registro a un bus de datos:

Bus de 8 lneas
R

OE
D0

LE
Q0

D1

Q1

D2

Q2

D3

Q3

D4

Q4

D5

Q5

D6

Q6

D7

Q7

Figura. 7.2 Registro 373 conectado a un bus de datos.


Pgina 115

Sistemas Digitales

Tendremos dos terminales de operacin, W (write) y R (read), con los que queremos poder
realizar las siguientes operaciones:
Deshabilitar salidas: OE 1
Activar cerrojos: LE 1
Habilitar salidas: OE 0
Desconectar cerrojos de sus entradas de datos:
LE 0
Deshabilitar salidas: OE 1
Desconectar cerrojos de sus entradas de datos:
LE 0

Escribir en el registro el
contenido del bus: W 1 R 0
Leer el contenido del registro y
ponerlo en el bus: W 0 R 1
Mantener el dato en el registro:
W0 R 0
Por tanto habr que implementar:

OE = R
W
W
0
0
1
1

R
0
1
0
1

OE
1
0
1
*

LE
0
0
1
*

R
0

0
1

1
2

LE = W

LE
OE
La operacin correspondiente a R W 1 no tiene sentido ya que, como estamos
manejando cerrojos dinmicos y no flip-flops, es absurdo escribir y leer a la vez. Este tipo de
dispositivos se denominan memorias auxiliares o buffers y en ellos la entrada de datos
y la salida se realiza en paralelo (la informacin entra o sale de todos los biestables
simultneamente) y su principal aplicacin es el almacenamiento temporal de una
informacin binaria.
Veamos como realizar un montaje que permite transferir datos entre dos registros
construidos por flip-flops a travs de un bus. Por simplicidad consideraremos registros de
cuatro bits; por supuesto, el montaje es generalizable a un nmero mayor de bits:
Bus

RA

Bus

RB
Q

Clear RA
Rd A
Clock

Bus RA

RA0
C

RA1

D C

RA2

D C

Bus

RA3

D C

Clear RB
Rd B

Bus

RB0
C

RB1

D C

RB2

RB3

D C

D C

RB

Bus
Figura. 7.3 Conexin de dos registros a un bus de datos.

Pgina 116

Sistemas Digitales

Este montaje tiene varios terminales de control:


a) RdA y RdB: representan las entradas de reset directas de los registros A y B,
respectivamente. Se trata de entradas asncronas, es decir, cuando se activan
independientemente de la seal de reloj borran el contenido de los registros.
b) Bus RA y Bus RB : cuando se ponen a uno estos terminales, al producirse una
transicin activa en el reloj C, los datos que hay en el bus pasan al registro que
corresponda.
c) RA Bus y RB Bus : cuando ponemos estos terminales a uno, al producirse una
transicin activa en el reloj C, los datos que hay en el registro que corresponda pasan
al bus. Cuando estn a cero deshabilitan las puertas AND llevndolas a su tercer
estado de alta impedancia (el bus queda aislado de los registros). Evidentemente,
ambas lneas no pueden estar en alta a la vez (escribiramos a la vez dos datos distintos en el
mismo bus).
Actuando sobre estas lneas y sobre la seal de reloj podremos realizar las siguientes
operaciones:
a) Paso de una palabra de cuatro bits del bus a uno de los registros o a los dos a la vez.
b) Borrado de los registros.
c) Paso de una palabra de cuatro bits almacenada en un registro al bus.
d) Paso del contenido de un registro al otro realizando primero la operacin (c) y luego la
(a).

7.2- Registros de desplazamiento.


Un registro de desplazamiento es un sistema secuencial formado por flip-flops
sincronizados e interconectados entre s, uniendo las salidas del primer flip-flop a las entradas
sincronizadas (D) del segundo y as sucesivamente. Adems se unen tambin entre s las
entradas de reloj de todos ellos. Al aplicar un impulso a esta conexin comn se introduce en
el primer flip-flop del registro la informacin presente en las entradas sincronizadas, la que
haba en el primer biestable se desplaza al segundo y as sucesivamente. Segn la forma de
interconectar los flip-flops del registro, ste puede ser de desplazamiento hacia la derecha o
hacia la izquierda, o bien reversible si, mediante una seal de control externa, se puede
seleccionar el sentido de desplazamiento. En las siguientes figuras aparecen dos registros de
desplazamiento de cuatro bits, el primero constituido por flip-flops J-K y el segundo por flipflops tipo D:

Figura. 7.4 Registro de desplazamiento construido con FF J-K.


Pgina 117

Sistemas Digitales

Entradas en paralelo asncronas


S0
Entrada serie

R0

S1

D0
Q0
C0 FF0

R1

S2

D1
Q1
C1 FF1

R2

S3

D2
Q2
C2 FF2

R3

D3
Q3
C3 FF3

C
Q0

Q1

Q2

Q3

Salidas en paralelo
Figura. 7.5 Registro de desplazamiento construido con FF D.

Incluso puede conectarse la salida del ltimo flip-flop a la entrada del primero; en ese caso
tendremos un registro de desplazamiento cclico.
Los terminales de este ltimo registro de desplazamiento son:
a) Entrada serie sncrona (D): est constituida por la entrada sincronizada del primer
biestable.
b) Entradas en paralelo asncronas (reset y set directos) (R0, S0, R1, S1, R2, S2, R3, S3):
permiten poner todos los flip-flops del registro en un estado determinado. Las entradas
en paralelo asncronas actan sobre todos los flip-flops independientemente del estado
lgico de la entrada de impulso y del resto de las entradas sincronizadas. Estas
entradas en paralelo pueden tambin ser sncronas. En este caso actan sobre el estado
de los flip-flops cuando se produce un impulso de sincronizacin. Una seal de control
permitir seleccionar entre el desplazamiento de la informacin o la entrada en
paralelo de la misma procedente de las entradas externas.
c) Salida serie (Q3): est constituida por la salida del ltimo flip-flop del registro.
d) Salidas en paralelo (Q0, Q1, Q2, Q3): son todas las salidas de los flip-flops que forman
el registro.
Entre las mltiples aplicaciones de los registros de desplazamiento destacaremos las
siguientes:
a) Conversin de datos serie a paralelo:
La informacin se introduce en el registro a travs de su entrada serie en sincronismo
con la seal de reloj y se obtiene en paralelo por medio de salidas en paralelo:

Datos en serie
Registro de desplazamiento
de n bits
Clock
Q1

Q2

Qn

Informacin en paralelo
Pgina 118

Sistemas Digitales

Si queremos capturar n bits que circulan en serie por la lnea D en sincronismo con la
seal de reloj C, bastar con utilizar un registro de desplazamiento de n flip-flops.
Despus de n pulsos de reloj, los bits estarn almacenados en el registro y disponibles
mediante las salidas en paralelo Q1, Q2, Q3,..., Qn.
b) Conversin de datos paralelo a serie:
La informacin en paralelo (que puede estar contenida, por ejemplo, en un registro) se
introduce en un registro de desplazamiento a travs de sus entradas en paralelo.
Aplicando impulsos en la seal de reloj, los datos van obtenindose en serie a travs de la
salida serie:

Registro paralelo
D1

Clock

D2

Dn

Sn R n
S1 R1 S2 R2
Registro de desplazamiento
de n bits

Salida serie

c) Construccin de contadores: se ver en el apartado siguiente.


d) Construccin de sistemas secuenciales sncronos (detector de secuencias).

7.3- Contadores
Un contador es un sistema secuencial que progresa de estado en estado en respuesta a un
suceso. Este suceso puede ser, por ejemplo, un ciclo de una seal de reloj. El contador cuenta
el nmero de sucesos. El nmero de estados que atraviesa el contador antes de volver al
estado inicial se denomina mdulo (abreviadamente mod) del contador. Un contador
construido con n flip-flops tendr, como mximo, 2n estados internos.

7.3.1- Construccin de un contador de mdulo arbitrario


Para construir un contador de mdulo arbitrario necesitamos un nmero de flip-flops
suficiente para obtener un nmero de estados igual o mayor que el mdulo. As, supongamos
que queremos un contador de mdulo 5, 6 o 7. Dos flip-flops seran inadecuados ya que
permitiran cuatro estados. Sin embargo, tres flip-flops seran suficientes ya que suministran
23 = 8 estados. En general, para mdulo n se necesitan m biestables tales que 2 m 1 n 2 m .
A continuacin decidimos (en muchos casos sobre una base completamente arbitraria) cules
de los posibles estados del contador eludiremos y, finalmente, decidimos (de nuevo
arbitrariamente) el orden en que el contador pasa por los estados no eludidos. Por ltimo,
utilizamos lgica combinacional para lograr que el contador pase por los estados previstos.
Para ilustrar el procedimiento de diseo de estos contadores veremos el diseo de un contador
de mdulo 6.
Para tener un contador de mdulo 6 necesitaremos 3 flip-flops, ya que
2 6 2 3 8 . En total tenemos ocho posibles estados:
2

Pgina 119

Sistemas Digitales

Estado Q2
Y0
0
Y1
0
Y2
0
Y3
0
Y4
1
Y5
1
Y6
1
Y7
1

Q1
0
0
1
1
0
0
1
1

Q0
0
1
0
1
0
1
0
1

Estado actual
Q 0n
Q n2
Q 1n
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

Tomaremos los seis primeros estados, de Y0 a Y5. As, en


las salidas tendremos el cdigo en binario del nmero de orden del
impulso que llegue por la seal de reloj.
La tabla de transicin del contador ser:

Estado siguiente
n 1
Q n2 1 Q 1n 1 Q 0
Y1
0
0
1
Y2
0
1
0
Y3
0
1
1
Y4
1
0
0
Y5
1
0
1
Y0
0
0
0
Y*
*
*
*
Y*
*
*
*

Excitaciones
J2
0
0
0
1
*
*
*
*

K2
*
*
*
*
0
1
*
*

J1
0
1
*
*
0
0
*
*

K1
*
*
0
1
*
*
*
*

J0
1
*
1
*
1
*
*
*

K0
*
1
*
1
*
1
*
*

Observando como cambian los bits de estado interno entre el estado actual y el estado
siguiente podemos deducir las tablas de excitacin de los flip-flops que implementarn los
bits de estado interno. Por ejemplo, si queremos usar flip-flops J-K activados por flanco habr
que tener en cuenta que:
J

Q n 1
n

Qn

Q n 1

*
1

Por tanto, construiremos los diagramas de Karnaugh para las entradas de los tres flip-flops
J-K (los estados Y6 e Y7 no los consideramos, asociamos **):

Q2Q1
Q0
0
1

Q2Q1
00

01

0*

0*

0*
1*

11

10

Q0

* *6 * 0 4

* *7 * 15

Q2Q1
00
0*

01
0

1*
1

J2 K2
J2 = Q1Q0

K2 = Q0

11

Q0

* 02 * * 6 0 *4

* 13 * * 7 0 * 5

J1 K1
J1 = Q2Q0

10

K1 = Q0

00
1*
*1 1

01
0

11

10

1* ** 1*
6
4
2
* 13 * * 7 * 1 5

J0 K0
J0 = K 0 = 1

Pgina 120

Sistemas Digitales

El circuito es por tanto:

J2

Q2

Q2

CLK

J1

Q1

CLK

K2 FF2
Rd2 Q2

K1 FF1
Rd1 Q1

Q1

J0

Q0

Q0

CLK

K0 FF0
Rd0 Q0

C
Este contador ir incrementando la cuenta segn lleguen pulsos por el terminal de reloj. En
las salidas Q2Q1Q0 obtenemos el nmero en binario del pulso que llega por la lnea C.
Podemos decodificar esta informacin llevndola a un decodificador 138.
En este contador no hemos utilizado las combinaciones binarias de estado interno
Y6 110 e Y7 111 . En un contador de mdulo mayor, el nmero de estados sin usar puede
ser bastante grande. Por ejemplo, en un contador mod. 33 necesitaramos 6 flip-flops, ya que
32 25 33 26 64 , de los cuales slo usaramos 33 estados dejando 31 sin utilizar. Puede
ocurrir, por casualidad, que el contador se encuentre en un estado no utilizado o no permitido.
Por ejemplo, el contador podra ser conducido a este estado por un impulso de ruido
(introduccin de una seal elctrica aleatoria) o podra ponerse inicialmente en ese estado
cuando se le suministre potencia. En el diseo anterior, y con el fin de minimizar la lgica que
debe aadirse a los flip-flops, hemos pretendido que no tuviera importancia lo que ocurriera
cuando el contador se encontrase en un estado no permitido (asignando asteriscos en el
diagrama de Karnaugh). Si el contador evolucionara de un estado no permitido a uno
permitido, bien directamente o mediante una secuencia de estados no permitidos, evitaramos
este problema: una vez alcanzado el estado permitido el contador recorrer su secuencia de
estados de modo normal. El tiempo necesario para esta vuelta a una secuencia normal podra
considerarse como un tiempo de recuperacin o como una inevitable respuesta al ruido, a
partir de la cual se logra una vuelta a la normalidad. Todava existe la posibilidad de que
habiendo cado en un estado no permitido el contador recorra permanentemente una secuencia
de estados no permitidos. Esta situacin se denomina bloqueo y, por supuesto, debe ser
evitada.
En general el bloqueo puede producirse en cualquier sistema secuencial en el que no se
utilicen todas las posibles combinaciones de bits de estado interno. En cada caso ser
necesario analizar cada estado no permitido para estar seguro de que no conducen a
situaciones de bloqueo. Para evitar este problema caben dos soluciones posibles:
a) Hacer relevantes los trminos irrelevantes de tal forma que conduzcan a estados
permitidos. Por ejemplo, en el contador que hemos diseado podemos aadir dos nuevas
filas a la tabla de transiciones correspondientes a los estados irrelevantes:

Y6
Y7

Estado actual
Q 0n
Q n2
Q 1n
1
1
0
1
1
1

Estado siguiente
n 1
Q n2 1 Q 1n 1 Q 0
Y0
0
0
0
Y0
0
0
0

Pgina 121

Sistemas Digitales

De este modo, si el contador se inicializa accidentalmente en uno de estos dos estados,


en el siguiente pulso de reloj el contador pasar al estado Y0 = 000, desde el cual iniciar
su secuencia normal de conteo.
b) Inicializar el sistema en un estado permitido mediante las entradas en paralelo. Esta
solucin permite asignar asteriscos a los estados irrelevantes y as favorecer la
simplificacin de los circuitos combinacionales. En el contador que diseamos
anteriormente se sita un conmutador para inicializar el sistema en el estado Y0 = 000 a
travs de las entradas asncronas directas de los flip-flops:
1

0 1

J2 FF2 Q2

Q2

J1 FF1 Q1

CLK

J0 FF0 Q0

CLK

K2 R Q2
d2
R

Q1

Q0

CLK

K1 R Q1
d1

K0 R Q0
d0

Clock

C
Al situar el conmutador en la posicin 0 las entradas asncronas de reset activas en
baja pondrn a cero los flip-flops. Si situamos el conmutador en la posicin 1, el
condensador se cargara con el voltaje del 1 lgico, las entradas asncronas quedarn
desactivadas y el contador comenzar a funcionar a partir del estado Y0 = 000.
7.3.2- Construccin de contadores como registros de desplazamiento
Veamos ahora una serie de contadores cuyo funcionamiento se basa en los registros de
desplazamiento.
7.3.2.1- Contador de anillo
Consideremos el siguiente circuito:

D0
Q0
C0 FF0

D1
Q1
C1 FF1

D2
Q2
C2 FF2

D3
Q3
C3 FF3

Sd0

Rd0

Sd1

Sd2

Sd3

Rd1

Rd2

Rd3

Clock
1

Inicializacin
Figura. 7.6 Contador de anillo.

Se trata de un registro de desplazamiento conectado para desplazar cclicamente a la


derecha. En principio el terminal inicializador viene implementado a travs de un pulsador
que pone el flip-flop FF0 en el estado de set y los dems en el de reset (1000). Una vez
Pgina 122

Sistemas Digitales

aplicada la seal de reloj, el contador contar ciclos de reloj en mdulo cuatro: cada flanco
sucesivo de disparo har progresar en el estado de set a otro flip-flop y cada cuatro ciclos
sucesivos de reloj el contador vuelve a su estado inicial.
Las principales ventajas de este contador son su sencillez de realizacin y que no es
necesario utilizar un decodificador ya que, por ejemplo, conectando unos leds con un nmero
dibujado sobre ellos, el estado del contador se hace explcito de forma directa. El
inconveniente principal es que para un contador de anillo mdulo n se necesitan n flip-flops,
desaprovechndose 2n-n estados de los 2n posibles.
7.3.2.2- Contador conmutado en cola (de Johnson):
Se trata de una modificacin del contador de anillo que utiliza flip-flops de forma ms
econmica. La interconexin entre flip-flops es igual que en el contador anterior salvo que al
final de la cascada de flip-flops, es decir, en la cola, la conexin se ha conmutado a Q 3 en
lugar de a Q3 . Este contador, para cuatro flip-flops, aparece representado en la siguiente
figura:
Q0

Q1

Q3

Q2

D0
Q0
C0 FF0

D1
Q1
C1 FF1

D2
Q2
C2 FF2

D3
Q3
C3 FF3

Rd0 Q0

Rd1 Q1

Rd2 Q2

Rd3 Q3

Clock

Inicializacin
Figura. 7.7 Contador conmutado en cola o de Johnson.

A travs del pulsador inicializamos todos los flip-flops en el estado de reset:


Q0 Q1 Q 2 Q3 0 . El primer flanco de disparo de reloj transferir un cero a FF1, FF2 y
FF3, dejndolos inalterados. Sin embargo, a causa de la conmutacin en las conexiones de
salida del FF3, FF0 ir al estado de set. Por consiguiente, el contador pasar de
Q0 Q1Q 2 Q3 0000 a Q0 Q1Q 2 Q3 1000 . La secuencia de estados que recorre el contador se
indica en la siguiente tabla:
Estado Q3
Y0
0
Y1
0
Y2
0
Y3
0
Y4
1
Y5
1
Y6
1
Y7
1
Y0
0

Q2
0
0
0
1
1
1
1
0
0

Q1
0
0
1
1
1
1
0
0
0

Q0
0
1
1
1
1
0
0
0
0

Pgina 123

Sistemas Digitales

El contador, antes de volver a su estado inicial, recorre ocho estados. As pues, con n flipflops el contador conmutado en cola tiene mdulo 2n. Como puede observarse este contador
cuenta en cdigo Johnson. Este contador aprovecha mejor los flip-flops que el de anillo,
aunque slo utilice 2n estados de los 2n posibles. Para hacer explcito el conteo se necesitar
un decodificador.
7.3.2.3- Contadores asncronos de rizado
Todos los contadores considerados hasta este punto han sido sncronos. Ahora
consideraremos contadores asncronos en los que la seal de reloj no se aplica a todos los flipflops. En la siguiente figura representamos un contador asncrono de mdulo 23 = 8:

Figura. 7.8 Contador asncrono de rizado.

Todos los flip-flops tienen sus dos terminales J y K conectados a uno lgico para que
operen en modo de conmutacin. La seal de reloj se aplica solamente a C0 que es la entrada
de reloj del primer flip-flop (FF0). Las entradas de reloj de los dems (C1 y C2) se conectan a
los terminales de salida de los flip-flops precedentes (Q0 y Q1, respectivamente). Debido al
efecto del reloj externo en cada flip-flop particular, esta influencia se va propagando (va
rizando) al resto de los flip-flops. Esto puede verse en el diagrama de secuencia
correspondiente al contador anterior:
1

Clock
0

Q0
Q1
Q2

Estado inicial

Esto es posible porque en las secuencias binarias conmuta cada bit cuando el anterior de
menor peso cambia de uno a cero; por ello se utilizan flip-flops activados por el flanco
negativo.

Pgina 124

Sistemas Digitales

Como puede observarse, las seales Q2, Q1, Q0 coinciden con las que se obtendran de un
contador binario sncrono de mdulo 8. Un flip-flop conmutar solamente cuando el flip-flop
precedente est en set y haga su transicin del estado de set al de reset. Este flip-flop
precedente en turno, cambiar de estado solamente cuando el flip-flop anterior haga una
transicin de 1 a 0, y as sucesivamente.
Realmente hay una pequea diferencia entre las seales de los contadores sncronos y de
rizado, debido a los retardos de propagacin de los flip-flops, que por simplicidad no hemos
tenido en cuenta en el diagrama de secuencias anterior. En la siguiente figura pueden verse las
transiciones de las salidas Q0, Q1 y Q2 en la proximidad del flanco de reloj nmero 4, para un
contador sncrono de mdulo 8 y el asncrono:

Clock
Q0

Q1

Q2

tpd

2tpd
3tpd

0
1

tpd

Sncrono

Asncrono

donde hemos supuesto que el retraso de propagacin tpd en los flip-flops es el mismo para
todos ellos. Como puede observarse, en el contador sncrono las seales Q0, Q1 y Q2 cambian
simultneamente a sus nuevos valores un tiempo tpd despus del flanco activo del reloj. En
cambio, en el contador asncrono, las seales Q0, Q1 y Q2 no cambian a la vez; en
consecuencia, se atraviesan una serie de estados internos que aparecen en la siguiente tabla:
Antes del flanco n 4
Q0
Q1
Q2
Decimal

1
1
0
3

Despus del flanco n4


tpd
2tpd
3tpd
0
0
0
1
0
0
0
0
1
2
0
4

es decir, desde el flanco de disparo hasta un tiempo 3tpd, el contador asncrono da una lectura
incorrecta. El intervalo de tiempo durante el que se producen errores de conteo se incrementa
en proporcin con el nmero de flip-flops en cascada. El peor caso se produce cuando todos
los flip-flops estn en estado de set: 111...1. En el siguiente flanco de reloj la cuenta ir a
000...0. Sin embargo, solamente el primer flip-flop responde directamente a la entrada de
reloj, y la transicin del estado de set al de reset, ha de cambiar sucesivamente (ha de rizar)
los estados de cada uno de los flip-flops subsiguientes. Si hay n flip-flops este proceso tarda
un tiempo ntpd en realizarse desde el flanco de disparo del reloj. Supongamos ahora que el
perodo de la seal de reloj es menor que ntpd. Entonces antes de que la cuenta 000...0 se
registre en el contador, al menos el primer flip-flop habr vuelto a conmutar al estado de set.
Por consiguiente, en ningn instante el contador anotar 000...0 y simplemente ser imposible
leer correctamente el contador. En conjunto, cuando sea necesario poder leer continuamente

Pgina 125

Sistemas Digitales

el contador, el asncrono deber tener menor velocidad que los contadores sncronos
equivalentes. As, un contador asncrono tiene la ventaja sobre uno sncrono equivalente de
que necesita menos lgica, pero tiene el inconveniente de ser ms lento.
7.3.2.4- Contadores integrados
Hay gran nmero de contadores integrados que pueden encontrarse en un catlogo TTL.
Entre ellos estudiaremos el 161 (est en fotocopias de prcticas). Se trata de un contador
sncrono de mdulo 16. Su smbolo lgico es el siguiente:

PL
ET
EP
CLK
MR

P3

P2

P1

P0

CONTADOR `161

TC

Este contador cuenta los pulsos


que llegan por CLK (activado por el
flanco positivo) y permite adems efectuar
una carga en paralelo sncrona.

Q3 Q2 Q1 Q0

Consta de los siguientes terminales:

P0, P1, P2, P3: entradas para introducir la carga sncrona del contador.
Q0, Q1, Q2, Q3: terminales de salida a travs de los que puede visualizarse el estado del
contador.
PL : activo en baja, que produce la carga sncrona.
EP y ET: entradas de habilitacin de cuenta.
MR (Master Reset): activo en baja, pone a cero el contador. A diferencia de la carga, la
puerta a cero a travs de MR es asncrona (independientemente de cualquier otro
terminal).
CLK: entrada de reloj.
TC: es un terminal de salida que suministra un uno cuando ET 1 y el contador llega a
15, es decir, cuando Q0 Q1 Q 2 Q3 1 , y cero en los dems casos.
Cuando EP ET 1 y PL 1 , el contador se va incrementando segn llegan los pulsos

por la entrada CLK. Al poner PL 0 (activacin de la carga en paralelo), el contador deja


automticamente de incrementarse y, despus de un pulso de reloj, en sus salidas aparecen
reflejadas las entradas de carga correspondientes. Si EP 0 o ET 0 , el contador mantiene
su estado y no se incrementa.
Estos contadores estn especialmente diseados para poder conectarse en paralelo,
aumentando as la capacidad de conteo. El montaje se muestra en la pgina siguiente. Segn
este esquema, cuando el contador A llega a 15 ( Q0 Q1 Q 2 Q3 1 ), TCA se pone a uno y
habilita el contador B, de tal forma que ste se incrementa en el siguiente pulso de reloj. TCA
vuelve a ponerse a cero y el contador B queda desactivado hasta que el contador A llegue otra
vez a 15. De este modo se consigue un contador de mdulo 16 16 256 .

Pgina 126

Sistemas Digitales

P3

PL
PL
E
CLK
MR
PL

P2

P1

P0

P7

P6

P5

P4

P3B P2B P1B P0B


PLB
ETB CONTADOR `161(B)
TCB
EPB
(ms significativo)
CLKB
MRB
Q3B Q2B Q1B Q0B

P3A P2A P1A P0A


PLA
ETA CONTADOR `161(A)
EPA (menos significativo) TCA
CLKA
MRA Q3A Q2A Q1A Q0A
Q3 Q2 Q1 Q0

Q7 Q6 Q5 Q4

Figura. 7.9 Contador de mdulo 256 a partir de dos contadores 161.

Veamos como construir un contador de mdulo 10 con un contador 161:


0 0 0 0

CLK

PL
ET
EP
CLK
MR

P3

P2

P1

P0

CONTADOR `161

TC

Q3 Q2 Q1 Q0

Inicializacin

Con este montaje, inicializamos el contador en el estado 0000 con el pulsador. Al llegar al
estado 9 ( Q 0 Q1Q 2 Q 3 1001 ) la salida de la puerta NAND se pone a cero y activa la carga en
paralelo. Cuando llegue el siguiente pulso de reloj se cargar en el contador el estado 0
( Q0Q1Q2Q3 0000 ) y la secuencia de conteo volver a iniciarse.
Aplicaciones de los contadores
La aplicacin de los sistemas contadores es contar impulsos, pero en mltiples ocasiones,
en especial en los sistemas digitales sncronos, se utiliza un contador en combinacin con un
oscilador para generar todas las seales de control que gobiernan la operacin del sistema. En
concreto un contador puede utilizarse para:
1. Implementacin de divisores de frecuencia:
Todo contador puede ser utilizado como divisor. La capacidad de divisin es igual al
mdulo del contador. Si se decodifica un estado cualquiera de un contador cuyo mdulo
es n, en la salida se obtendr un impulso cada n aplicados a su entrada (ese estado se
recorre cada n impulsos de reloj).
2. Implementacin de generadores de secuencias.

Pgina 127

Sistemas Digitales

Pgina 128

Potrebbero piacerti anche