Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
Bibliografa
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
Pgina 3
Sistemas Digitales
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
Z1
F
F
Z2
F
T
Z3
T
F
Z4
T
T
Tenemos entonces:
Z1 = F
Z2 = A
Z3 = A
Z4 = T
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
A
F
F
T
T
B
F
T
F
T
Z = A AND B
F
F
F
T
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
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
Pgina 6
Sistemas Digitales
A ( B C ) ( A B) C A B C
A
1
0
Pgina 7
Sistemas Digitales
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:
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
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)
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
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
A
0
1
A
1
0
A
0
1
0 1 y 1 0
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
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
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:
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
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).
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
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
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
A
0
0
1
1
B
0
1
0
1
A B
1
0
0
1
Z A B
B
0
1
0
1
A B
1
1
1
0
Pgina 15
Sistemas Digitales
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
B
0
1
0
1
A B
1
0
0
0
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
Pgina 16
Sistemas Digitales
B
0
1
0
1
A B
1
1
0
1
Por tanto, podemos concluir nuestro ejemplo diciendo que ser salmantino implica ser
espaol.
f2 A B
f4 B A
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
Pgina 18
Sistemas Digitales
Demostremos la primera y la segunda quedar demostrada por dualidad. Para ello basta
con comprobar la igualdad para a 0 y a 1 .
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,...)
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
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
0
1
1
0
0
1
1
1
Pgina 20
Sistemas Digitales
f (a, b, c) (a b c) (a b c) (a b c)
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
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
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
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
f (a
b
c) (a
b
c) (0, 2)
0
2
como caba esperar.
Pgina 22
Sistemas Digitales
a bc d
a bc d
bc d
1111
0111
15
8 15-7
Pgina 23
Sistemas Digitales
a bcd
a bcd
bcd
1101
0101
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
Numricamente:
(a b c d )
(a b c d )
bcd
1010
0010
10
8 10 -2
(a b c d )
(a b c d )
bcd
1110
0110
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
00
01
11
10
0
0
Pgina 25
Sistemas Digitales
ab
cd
00
01
11
10
00
0
12
13
15
11
14
10
01
11
10
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
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
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
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
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
f (a, b, c) b a c
y del segundo:
f (a, b, c) (a b) (b c)
Pgina 28
Sistemas Digitales
ac
f b ac
ab
f (a b)(b c)
bc
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
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
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
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.:
Pgina 32
Sistemas Digitales
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
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
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=
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
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
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
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
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
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
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
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
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.
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
Z0 X 0
Z1 X1 X 0
Z 2 X 2 ( X1 X 0 )
Z3 X 3 ( X 2 X1 X 0 )
Z0 X 0
Z1 X1 X 0
Z2 X 2 ( X1 Z1 )
Z3 X 3 ( X 2 Z 2 )
Pgina 44
Sistemas Digitales
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
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
a
a
a
a
0
Pgina 48
Sistemas Digitales
f ( a, X 0 ) a a
a
a
a
tpdr
tpdf
f(a,X0)
Pgina 49
Sistemas Digitales
00
c
f (a, b, c) (1, 3, 6, 7)
1
1
ac
10
11
01
1
3
bc
ab
a
c
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:
Pgina 51
Sistemas Digitales
f (a, X 0 ) a a
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
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
Pgina 52
Sistemas Digitales
f (a, b, c) (b c) (a c) (a b) (b c) (a c) (a b)
Tenemos entonces:
y con conmutadores:
c
b
a
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
a
N
b
a
c
N
3
N
2
N4
d
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
Pgina 55
Sistemas Digitales
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
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
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
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
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
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
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
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
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
EO
1
0
1
GS
1
1
0
Pgina 61
Sistemas Digitales
I 8 I 9 I 10 I 11 I 12 I 13 I 14 I 15
EI
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
GS
O3
O2
O1
O0
Pgina 62
Sistemas Digitales
Pgina 63
Sistemas Digitales
A0
A1
Zn-1
An-1
Cdigo de
partida
Informacin
decodificada
B0
B1
Bn-1
Cdigo
final
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
g DP
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
Salida
S1 S0
Pgina 65
Sistemas Digitales
S 2 S1 S0
MULTIPLEXOR `151
B
MULTIPLEXOR `157
Z=AB
Z3 Z2 Z1
Z0
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
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
DECODIFICADOR `138
Bits de seleccin
(direccin)
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
B3 B2 B1 B0
IA>B
A
B
COMPARADOR `85
IA=B
IA<B
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
>
<
=
=
=
=
=
B
B
B
B
B
B
B
B
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
I(A=B)a
I(A<B)a
I(A=B)b
I(A<B)b
Figura. 4.4 Comparador binario de 8 bits construido con dos comparadores de 4 bits.
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
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
B3 B2 B1 B0 CI
B
SUMADOR `83
S=A+B
S3 S2 S1 S0
CO
Pgina 71
Sistemas Digitales
A0 A1 A2 A3
B0 B1 B2 B3
A4 A5 A6 A7
B4 B5 B6 B7
COa
S0 S1 S2 S3
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
CO
bit de signo
Pgina 72
Sistemas Digitales
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
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
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
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.
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
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.
Est.Siguiente
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
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
ste
cam
ino
01
?
10
11
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
ste
cam
ino
11
?
00
01
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
3
La nueva tabla de fases queda:
Estado Actual
00
00
01
01
11
01
11
11
10
y1 y0
10
00
10
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
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
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
Pgina 80
Sistemas Digitales
00
01
11
10
--
--
--
--
Pgina 81
Sistemas Digitales
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:
X1X2 00
01
1 /1 3
5
11
--
3 /0 --
5 /0 9 /1 --
10
Pgina 83
Sistemas Digitales
X1
X2
t
1
00
01
11
10
--
--
--
--
--
--
Pgina 84
Sistemas Digitales
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
X1 X2
00
y
01
11
10
X1 X2
00
y
01
11
10
Y
Suma de productos
Producto de sumas
Salida Z
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
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
Pgina 87
Sistemas Digitales
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
C
Pgina 88
Sistemas Digitales
0
0A
B0
1
1
0D
C1
1
00
00
01
01
11
01
11
11
10
10
00
10
y1 y2
XX
1 2
00
01
11
10
--
0
0A
1
0D
B0
1
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
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
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
--
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
--- ___
100 001 001
X
X
1
2
11
0
0
00
11
y
y
y
1
2
3
- 1
- 1
0
10
0-
Pgina 91
Sistemas Digitales
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.
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
Y1Y2Y3
Pgina 92
Sistemas Digitales
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
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
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
y1
Y1
01
01
10
10
00
01
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
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
S2 = t y1
R2 = t y1
R2 S2
S1 t y 2
R2 t y1
S 2 t y1
Pgina 95
Sistemas Digitales
y1
y2
R1
S1
R
S
R2
S2
R
S
Y1 = Z
Y1
Y2
Y2
R2
t
S2
R
S
Z
2
Y2
S1
Y2
R1
S
R
Z
1
Y1 Z
Y1
Pgina 96
Sistemas Digitales
Pgina 97
Sistemas Digitales
E
2
S
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
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
Entrada de datos
al maestro
Aisla el esclavo
del maestro
Inhabilita la entrada
de datos al maestro
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)
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
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
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
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.
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.
C
R
Q
Q
Q
D
FLIP-FLOP
D
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
1
2
3
1
7
Dn+1
por tanto : Dn 1 J Q n K Qn .
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).
J
C
Rd
Pgina 109
Sistemas Digitales
Sd
Q
J
K
Q
Rd
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
x1
x1
x2
x2
xn
xn
y1
(1)
Y1
y2
Y2
ym
Ym
z1
z2
(2)
zp
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
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.
Pgina 114
Sistemas Digitales
Bus de 8 lneas
R
OE
D0
LE
Q0
D1
Q1
D2
Q2
D3
Q3
D4
Q4
D5
Q5
D6
Q6
D7
Q7
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
Sistemas Digitales
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
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.
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
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
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
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.
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.
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:
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
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
Q3 Q2 Q1 Q0
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
Pgina 126
Sistemas Digitales
P3
PL
PL
E
CLK
MR
PL
P2
P1
P0
P7
P6
P5
P4
Q7 Q6 Q5 Q4
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