Está en la página 1de 159

INTRODUCCION

Mediante estas notas se pretende presentar una informacin en la forma ms completa y


mejor organizada posible en el rea de las tcnicas digitales. Para el estudio de sta rea no
se requiere un conocimiento previo especial y por lo tanto, puede ser abordado por
cualquier estudiante de Ingenieras.

Se ha tomado como base la experiencia obtenida a travs de varios semestres de actividad


docente no slo en los programas de Ingeniera Electrnica sino en otros como Ingeniera
Elctrica e Ingeniera de Sistemas, donde la materia es parte del pensum de estudios;
asimismo el enfoque que las diferentes Universidades de la regin le han dado a sta rea
fue un punto de partida para la elaboracin de estas notas.

Este libro contiene las bases tericas de la Lgica Combinatoria y la Lgica Secuencial
mediante exposiciones bastante claras y asimilables, soportadas con ejemplos y
aplicaciones en el mundo moderno. El desarrollo de los ejemplos mostrados han sido
simulados con dos herramientas de software como son Logic Works y Altera.

Captulo 1. - SISTEMAS
NUMERICOS Y CODIGOS
Introduccin
En este captulo se recordarn algunos conceptos muy elementales de la lgica a travs del
anlisis prctico de los tipos de operadores lgicos bsicos y algunas aplicaciones del
pensamiento lgico.
Asimismo, se revisar alguna teora de los sistemas numricos posicionales tales como
binario, octal y hexadecimal, la conversin entre los diferentes sistemas y las operaciones
aritmticas bsicas en cualquier base, teniendo siempre como referencia nuestro sistema
numrico decimal.
Los cdigos han sido vitales en el desarrollo de las comunicaciones. El ms conocido a
travs de los tiempos es el Cdigo Morse: se asignan unas combinaciones de puntos y rayas
a cada letra, cada nmero carcter especial (a es punto-raya, b es raya-punto-punto-punto,
etc.). Se enumeran en esta seccin algunos cdigos y se mencionan sus ventajas y
desventajas.
1.1.- OPERADORES LOGICOS:
AND: Operador lgico vlido si todas las proposiciones son vlidas.
Ejemplo: Se va a realizar una fiesta en un club situado en las afueras de la ciudad. Para
poder asistir se debe de cumplir con dos condiciones: pueden entrar nicamente parejas y es
necesario conseguir un vehculo para transportarse. Si las condiciones se cumplen al mismo
tiempo se puede asistir a la fiesta, en cualquier otro caso no.
OR: Operador lgico vlido si por lo menos una de las proposiciones es vlida.
Ejemplo: Para poder asistir a un partido de ftbol se tienen dos opciones : o consigue un
pase consigue el dinero. Si cualquiera de las condiciones se cumple si las dos se
cumplen se puede ir al partido de ftbol.
NOT: Operador lgico negador.
Ejemplo: Estudiar si no es de noche.

EX-OR: Operador lgico vlido si las proposiciones son diferentes.


Ejemplo: La asistencia a un seminario un congreso en las ciudades de Medelln o Bogot.
Va a uno va al otro, pero no puede ir a los dos al mismo tiempo.
EQUI: Operador lgico vlido si las entradas son iguales.
Ejemplo: En un juego de dos monedas lanzadas al aire, se gana si las dos caen cara o si las
dos caen sello.
En los operadores lgicos mencionados anteriormente se puede realizar un anlisis de todas
las posibilidades existentes. Con dos proposiciones cada una con un valor de falso o
verdadero, se tienen 4 diferentes combinaciones FF, FV, VF, VV. Tabule los resultados en
una tabla, que contiene todas las posibles combinaciones de entradas y su valor respectivo
de salida. Esta tabla es denominada tabla de verdad. La figura 1.1 muestra la tabla de
verdad para los operadores lgicos mencionados.
Prop 1
F
F
V
V

Prop 2
F
V
F
V

AND
F
F
F
V

OR
F
V
V
V

XOR
F
V
V
F

EQUI
V
F
F
V

Figura 1.1.- Tabla de verdad de los operadores AND, OR, XOR y EQUI.
1.2.- APLICACIONES DEL PENSAMIENTO LGICO:
1.2.1.- Problema 1.- Lgico prisionero.
Se le plantea a un prisionero la posibilidad de salir de su encierro, realizando una sola
pregunta a uno de dos guardias que se encuentran vigilando dos puertas de salida: la una
conduce a la horca y la otra a la libertad. De los dos guardias uno es veraz y el otro
mentiroso. Esta condicin la conoce el prisionero y los guardias entre s.. Qu pregunta
debe realizar el prisionero a uno cualquiera de los guardias? Una vez conocida la respuesta,
qu camino tomar el prisionero? Por favor, el prisionero necesita de su ayuda.
La pregunta clave sera: Si yo le preguntara a su compaero si la puerta que l vigila es la
de la libertad l que me respondera?
Ahora bien, una vez se ha respondido la pregunta es: qu camino debe tomar? Para ello se
realizar un anlisis de todas las opciones que se tienen (4 en total, ya que es el nmero de
posibles combinaciones para dos variables donde cada una puede tener nicamente los
valores de falso y verdadero).
4

Esto nos lleva a elaborar una tabla de verdad de la siguiente forma mostrada en la figura 1.2
Guardias:
Veraz: 1
Mentiroso: 0

Puertas:
Horca: 0
Libertad: 1

Puerta 1

Guardia 1

0
0
1
1

0
1
0
1

Respuestas sobre la puerta de la libertad:


Si: 1
No: 0

Respuesta del Guardia 2


Respuesta del
guardia 1
(interrogado) guardia 2 al
prisionero
1
1
1
0
0
1
0
1
0
1
0
0

Figura 1.2.- Tabla de verdad para el anlisis del lgico prisionero


Si se observan con cuidado las columnas 1 y 5, se puede deducir que el lgico prisionero
toma siempre por la puerta contraria a la que le estaran sealando.
1.2.2.- Problema 2.En el pas de los mentirosos y los veraces, qu pregunta puedo formular ante la cual existe
una sola respuesta sin importar quin sea el interrogado?
Es Ud. Veraz? Es Ud. Mentiroso?. Analice las respuestas de cada uno.
1.2.3.- Problema 3.- Examen.
Un profesor realiza un examen de 5 preguntas con respuestas falso o verdadero. Siempre
coloca la primera y la ultima pregunta con respuestas opuestas, mayor nmero de preguntas
que tengan respuesta verdadera que falsa y nunca tres preguntas con respuestas seguidas.
Acerca de la pregunta 2: su respuesta debe tener la certeza de responder bien de tal forma
que sea la nica solucin para todo el curso.
Con las tres primeras condiciones se tienen 4 posibilidades de solucin:

1
2
3
4
5

A
V
F
V
V
F

B
V
V
F
V
F

C
F
V
F
V
V
5

D
F
V
V
F
V

Al analizar la respuesta 2, se debe tomar la opcin A, ya que al contestar la pregunta 2


como falsa hay una nica solucin; en el caso de tomar la respuesta 2 como verdadera se
tienen 3 posibles respuestas.
1.3.- SISTEMAS NUMERICOS
1.3.1.- Sistema decimal:
Un sistema numrico est conformado por un grupo ordenado de smbolos llamados dgitos
con relaciones definidas.
En un sistema numrico posicional un nmero es representado por una cadena de dgitos
donde cada posicin tiene un valor o peso determinado. El nmero total de dgitos es igual
a la base en la cual se est trabajando.
Los dgitos para representar un sistema base B van desde el 0 hasta el (B-1). As por
ejemplo, cualquier nmero en el sistema decimal (base 10: dgitos del 0 al 9) puede ser
representado de la siguiente manera:
102 101 100 10-1 10-2 Peso
5 2 3, 6 7 10

= 5*100 + 2*10 + 3*1 + 6*0,1 + 7*0,01


= 5*102 + 2*101 + 3*100 + 6*10-1 + 7*10-2

donde cada uno de los dgitos tiene un peso de acuerdo a su posicin: 10 0, 101, 102, 10-1 , 102
etc., nombrados como unidades, decenas, centenas, dcimas, centsimas, etc. para la parte
entera y la parte fraccionaria.
En forma general, podemos expresar un nmero en cualquier base B, como:
n 1

d= di. B i = d0 *B0 + d1 *B1 +d2 *B2 +...+dn-1 *Bn-1 +...+d-1*B-1 + d-2*B-2 +...+d-n*B-n
in

La numeracin consecutiva en sistema decimal se realizara incrementando en una unidad


su valor actual. Por ejemplo, el nmero siguiente al 9 no se puede representar con un solo
dgito, por lo tanto, se construye aumentando en una unidad la siguiente cifra significativa
y arrancando de nuevo con el dgito 0, para formar el 10.
1.3.2.- Sistemas binario, octal y hexadecimal:
Un nmero binario se representa mediante dos dgitos: el 0 y el 1. Estos son llamados bits
(de Binary Digit). El bit de la derecha (el de menor peso) es denominado LSB (Least
Significant Bit) y el de la izquierda (el de mayor peso) es denominado MSB (Most
6

Significant Bit). Los pesos de cada uno de los dgitos son potencias de 2: 1, 2, 4, 8, 16,
32, 64, etc.
Los nmeros que se pueden representar en sistema binario con n bits es de 2 n, que van
desde el 0 hasta el (2n -1). Por lo tanto, con 4 bits se pueden representar 24 = 16 nmeros
que iran desde el 0 hasta el 15, con 10 bits 2 10 = 1024 nmeros que iran desde el 0 hasta el
1023.
Cmo se realiza una numeracin consecutiva en sistema binario?
0, 1, 10, 11, 100, 101, 110, 111, , 1011, 1100, , 101001, 101010, etc.
Cada vez que se agotan los dgitos para representar se incrementa en uno la siguiente cifra
significativa.
Para determinar el valor decimal de un nmero binario se efecta la sumatoria de las
multiplicaciones del valor del bit por el peso correspondiente.

_________
Ejemplo 1.1: Cul es el valor decimal del nmero binario entero de 6 bits 1011012?
25 24 23 22 21 20
1 0 1 1 0 12

Peso
Dgitos

Por lo tanto, el valor es de: 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 4510.
Entonces, el 1011012 equivale al 4510.
_____________

_________
Ejemplo 1.2: Cul es el valor decimal del nmero binario 1011.1012.?
23 22 21 20 2-1 2-2 2-3 Peso
1 0 1 1. 1 0 1
Por lo tanto, el valor es de

Dgitos
= 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3
= 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125
= 11.625

Entonces, el 1011.1012 equivale al 11.62510.


_____________
Un nmero octal se representa mediante dgitos del 0 al 7. Los pesos de cada uno de los
dgitos son potencias de 8: 1, 8, 64, etc. A su vez, cada dgito octal se puede representar por
una combinacin de tres dgitos binarios o bits.

Cmo se realiza una numeracin consecutiva en sistema octal?


0, 1, 2, 3, 4, 5, 6, 7, 10, 11, .... , 17, 20, ...., 27, 30, ..., 37, 40, ..., 77, 100, ..., 107, 110, ...,
157, 160, ..., 177, 200, ... , 577, 600, ..., 777, 1000, etc.
Cada vez que se agotan los dgitos para representar se incrementa en uno la siguiente cifra
significativa.

_________
Ejemplo 1.3: Cul es el valor decimal del nmero octal 2328 ?
82 81 80 Peso
2 3 2
Dgitos
Por lo tanto, el valor de : 2* 82 + 3*81 +2*80 = 128+24+2 = 15410 .
Entonces, 2328=15410
_____________

_________
Ejemplo 1.4: Convierta a binario el nmero octal 4758.
Cada dgito octal se puede representar mediante un nmero binario de tres bits, entonces:
4
7
5
100 111
101
Este nmero binario 1001111012 es el 31710 . Verifique si 4758 corresponde a 31710 .
_____________
Un nmero hexadecimal se representa mediante los dgitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F. Los pesos de cada uno de los dgitos son potencias de 16: 0, 16, 256, etc. A su
vez, cada dgito hexadecimal se puede representar por una combinacin de cuatro dgitos
binarios o bits.
Cmo se realiza una numeracin consecutiva en sistema hexadecimal ?
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, ... , 19, 1A, 1B, ... , 1F, 20, ... , 29, 2A,...,
2F, 30, ... , 69, 6A, ..., 6F, 70, ..., 99, 9A, ... , 9F, A0, ... , A9, AA, ... , AF, B0, ... , BF,
C0, ... , F9, FA, ... , FF, 100, ... , 109, 10A, ... , 10F, 110, ... , 199, 19A, ... , 19F, 1A0, ... ,
1AF, 1B0, etc.
Cada vez que se agotan los dgitos para representar se incrementa en uno la siguiente cifra
significativa.

________
Ejemplo 1.5 : Cul es el valor decimal del nmero hexadecimal 8B16 ?
161 160 Peso
8 B Nmero
Por lo tanto, el valor es de: 8*161 +11*160 = 13910.
Entonces, 8B16 = 13910 .
_____________

_________
Ejemplo 1.6 : Convierta a binario el nmero hexadecimal 1AF16.
Cada dgito hexadecimal se puede representar mediante un nmero binario de cuatro bits,
entonces :
1
A
F
0001 1010 1111
Este nmero binario 1101011112 es el 43110 . Verifique si 1AF16 corresponde a 43110.
_____________
En la figura 1.3 se muestra una tabla de los primeros 16 dgitos en las bases decimal,
binario, octal y hexadecimal.
Decimal (10)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Binario(2)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Octal(8)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17

Hexadecimal(16)
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Figura 1.3.- Representacin de los nmeros 0 a15 en diferentes sistemas numricos


Un nmero binario puede escribirse fcilmente en un sistema octal o hexadecimal.
Simplemente se hacen grupos de 3 bits para el caso del octal y grupos de 4 bits para el
9

hexadecimal, partiendo siempre de la derecha (el dgito menos significativo).

_________
Ejemplo 1.7 : Exprese en octal y hexadecimal el nmero binario 101101012
101101012 = 10 110 101 = 1011 0101
2 6
58
B
5 16.
Convierta a decimal los nmeros mostrados en base 2, 8 y 16 y verifique que corresponden
al 18110.
_____________
Para la conversin de un nmero decimal a una base cualquiera se usa el mtodo de
divisiones sucesivas. El nmero decimal a convertir se divide sucesivamente entre la base y
se ordena el nmero resultante desde el dgito ms significativo hacia el menos
significativo comenzando por el ltimo residuo.
Para la conversin de fracciones decimales a una base cualquiera se usa el mtodo de
multiplicaciones sucesivas de la parte decimal por la base hasta que el producto
fraccionario sea cero. Los dgitos generados en la parte entera de las multiplicaciones
conforman el nmero binario donde el primer dgito es el MSD y el ltimo es el LSD.
Los ejemplos 1.8 y 1.9 muestran los procedimientos para realizar la conversin de un
nmero decimal a su equivalente binario.

_________
Ejemplo 1.8 : Convierta a nmero binario, octal y hexadecimal el nmero decimal 3510
35 2 = 17 residuo 1
17 2 = 8 residuo 1
8 2 = 4 residuo 0
4 2 = 2 residuo 0
2 2 = 1 residuo 0
1 2 = 0 residuo 1

35
4

8 = 4 residuo 3
8 = 0 residuo 4

3510 = 438

_____________

_________
Ejemplo 1.9: Convertir a binario 0,687510.
1, 3750
0, 750
1, 50
1, 00

1
0
1
1

16 = 2 residuo 3
16 = 0 residuo 2

3510 = 2316

3510 = 1000112

0,6857 x 2 =
0,3750 x 2 =
0,750 x 2 =
0,50 x 2 =

35
2

MSB
LSB
10

Por lo tanto, 0, 867510 = .10112


_____________
1.3.3.- Operaciones aritmticas en base n :
Para la realizacin de las operaciones aritmticas en cualquier base se usa la misma tcnica
empleada para el sistema decimal. La operacin de suma nos va a permitir mostrar el
procedimiento general aplicable a cualquier base, teniendo como punto de partida el
manejo que a diario hacemos del sistema decimal.
Algunos procedimientos a tener en cuenta para la operacin de suma en cualquier base
(tomando como referencia la suma en sistema decimal) son :
Los nmeros son adicionados columna por columna, una posicin a la vez.
El nmero mximo a representar en un sistema base n es (n-1) (en decimal es el 9). Si
excede ste valor, se debe generar un carry (llevo) para la siguiente posicin de ms
alto orden.
Consideremos la suma decimal de los nmeros 87 y 48.
11
------87
48
----135
Suma de los primeros dgitos (LSD) : 7 + 8 . Como se excede el mximo dgito a
representar en decimal se genera un carry que nos indica que los nmeros de la base se
han recorrido una vez y sobran 5 unidades.
De la misma forma : 1+8+4 = 3 y llevo 1.
En sistema binario tenemos la siguiente tabla de suma, que podemos aplicar a la operacin
de suma mostrada en el ejemplo:
0+0
0+1
1+0
1+1

=
=
=
=

0
1
1
0

llevo 0
llevo 0
llevo 0
llevo 1

_________
Ejemplo 1.10: Realice la suma de los nmeros binarios 1011012 y 1000112 .
101111
101101
100011

Carry
Sumando A=4510
Sumando B=3510
11

1010000
_____________

Suma = 8010

Cuando se realizan operaciones en sistema octal o hexadecimal, los nmeros mximos a


representar son el 7 y el 15. Mediante los dos siguientes ejemplos miremos el
procedimiento a seguir para realizar la suma en los dos sistemas :

_________
Ejemplo 1.11: Realice la suma de los nmeros octales 3 5 7 8, 4 2 68 y 6 7 68 y la suma de
los nmeros hexadecimales 3A716, 68516 y 7 F 316.
Suma en octal

Suma en hexadecimal

122
--------3 5 78
4 2 68
6 7 68
--------1 7 0 38

12
--------3 A 716
6 8 516
7 F 316
--------1 2 1 F16

1 columna : 7+6+6 : (19) Se ha recorrido


2 veces la base (8) y sobran 3.
2 columna : 2+5+2+7 : (16) Se ha
recorrido 2 veces la base y sobran 0.
3 columna : 2+3+4+6 : (15). Se ha
recorrido 1 vez la base y sobran 7.
4 columna : bajo el 1.

1 columna : 7+5+3 : (15). Es el dgito


hexadecimal F.
2 columna : A+8+F : (33) Se ha recorrido
2 veces la base (16) y sobran 1.
3 columna : 2+3+6+7 : (18). Se ha
recorrido 1 vez la base y sobran 2.
4 columna : bajo el 1.

1.4.- CODIGOS
Una representacin de informacin como caracteres alfabticos numricos da origen a un
cdigo. Muchos de ellos son formados para tratar de minimizar los problemas que se crean
al manejar un tipo de informacin. En los cdigos pesados la posicin en que se encuentra
el bit tiene un peso especfico. En los cdigos no pesados son asignaciones que no tienen
un peso determinado pero guardan cierta relacin entre sus palabras de cdigo ( p. ej.
autocomplemento, cambio de un solo bit en numeracin consecutiva ).
La figura 1.4 muestra cuatro tipos diferentes de cdigos cuyas caractersticas se mencionan
enseguida.
12

1.4.1.- Cdigo BCD : (Binary Coded Decimal)


Mediante ste cdigo se representan los 10 dgitos decimales del 0 al 9 mediante 4 bits y las
combinaciones restantes no son vlidas. Los pesos son los mismos que para un entero
binario de 4 bits : 8421. La figura 1.4 muestra el cdigo respectivo.

_________
Ejemplo 1.12: Convertir a BCD el nmero decimal 94810.
Cada dgito decimal es reemplazado por su cdigo correspondiente de 4 bits.
9
4
8
1001 0100 1000
_____________

_________
Ejemplo 1.13: Convertir a decimal el cdigo BCD 100001111001.
Se divide el nmero en grupos de 4 bits comenzando por la derecha.
1000 0111
8
7
_____________
Dgito decimal
0
1
2
3
4
5
6
7
8
9

1001
9

BCD (8421)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

2421
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111

Exceso de tres
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100

Biquinario
01 00001
01 00010
01 00100
01 01000
01 10000
10 00001
10 00010
10 00100
10 01000
10 10000

Figura 1.4.- Tabla de cdigos BCD,2421, exceso de tres y biquinario.


1.4.2.- Cdigo biquinario
Usa 7 bits. Los dos primeros indican si el nmero est en el rango de 0 a 4 de 5 a 9, y los
5 bits restantes sealan cul de los 5 nmeros del rango seleccionado es representado. De
acuerdo a esto, podramos representar 27 palabras de cdigo ( 128 ). Tal como se muestra en
la figura 1.4 ste cdigo reconoce nicamente los equivalentes a los dgitos decimales (0 a
9) y, por lo tanto, el resto de palabras pueden sealarse como errores.
13

1.4.3.- Cdigo exceso de tres


Pertenece al grupo de cdigos autocomplementados (complemento a 9) no pesados. Es til
para algunos tipos de operaciones aritmticas. La representacin de los nmeros del 0 al 9
se obtiene como el correspondiente al BCD ms 3 (0011). La figura 1.4 muestra el cdigo
respectivo.
1.4.4.- Cdigo Gray
Es un cdigo cclico (desplazamiento circular entre 2 palabras de cdigo), no pesado cuya
caracterstica radica en que las palabras de cdigo para dos nmeros consecutivos difieren
nicamente en un bit.
La figura 1.5 muestra el cdigo Gray para 4 bits

0
1
2
3
4
5
6
7

Binario
0000
0001
0010
0011
0100
0101
0110
0111

Gray
0000
0001
0011
0010
0110
0111
0101
0100

8
9
10
11
12
13
14
15

Binario
1000
1001
1010
1011
1100
1101
1110
1111

Gray
1100
1101
1111
1110
1010
1011
1001
1000

Figura 1.5.- Tabla de cdigo Gray del 0 al 15


Mediante dos ejemplos mostraremos la generacin de cdigo Gray y su conversin a
binario.

_________
Ejemplo 1.14: Convertir el nmero binario 1011 a cdigo Gray .
Procedimiento:
El bit ms significativo MSB del cdigo Gray es el mismo MSB del nmero binario.
Partiendo de la izquierda, realizar la suma de cada par adyacente de bits del nmero
binario y descartar los carrys.
1
=
1
_____________

0
+

1
+

Binario

Gray

+
1

14

_________
Ejemplo 1.15: Convertir el cdigo Gray 1011 a binario.
Procedimiento :
El bit ms significativo MSB del cdigo binario es el mismo MSB del nmero binario.
Cada bit binario es el resultado de la suma del bit correspondiente en cdigo Gray y el
anterior del nmero binario resultante.
1
0
1
1
Gray
+

1
_____________

Binario

1.4.5.- Cdigo ASCII ( siglas American Standard Code for Interchange Information)
La informacin utilizada por los sistemas digitales no solo est limitada a nmeros. Texto,
direcciones, estados e instrucciones pueden ser representados por un patrn de bits. En el
cdigo alfanumrico ASCII se representan maysculas, minsculas, nmeros y caracteres
especiales mediante 7 bits, es decir 128 caracteres. Es utilizado para aplicaciones en
cmputo (cada letra pulsada desde el teclado es un cdigo ASCII enviado al computador).
En la figura 1.6 se listan a manera de ejemplo algunos caracteres ASCII y su valor
correspondiente en decimal, hexadecimal y binario.
Car Dec
32
!
33
"
34
#
35
$
36
%
37
&
38
'
39
(
40
)
41
*
42
+
43
,
44
_
45
.
46
/
47

Hex
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F

Binary
00100000
00100001
00100010
00100011
00100100
00100101
00100110
00100111
00101000
00101001
00101010
00101011
00101100
00101101
00101110
00101111

Car Dec Hex


@
64 40
A
65 41
B
66 42
C
67 43
D
68 44
E
69 45
F
70 46
G
71 47
H
72 48
I
73 49
J
74 4A
K
75 4B
L
76 4C
M
77 4D
N
78 4E
O
79 4F
15

Binary
01000000
01000001
01000010
01000011
01000100
01000101
01000110
01000111
01001000
01001001
01001010
01001011
01001100
01001101
01001110
01001111

Car Dec Hex


0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

Binary
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
00111010
00111011
00111100
00111101
00111110
00111111

Car Dec Hex


P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F

Binary
01010000
01010001
01010010
01010011
01010100
01010101
01010110
01010111
01011000
01011001
01011010
01011011
01011100
01011101
01011110
01011111

Figura 1.6.- Tabla de caracteres ASCII.


Los primeros 23 caracteres ASCII son comandos de control (por ejemplo, para
comunicacin entre dispositivos cuando datos y seales son transferidos) y los restantes
105 son smbolos grficos (letras maysculas, minsculas, nmeros, signos de puntuacin y
smbolos especiales muy usados).
En el cdigo ASCII extendido de 8 bits (128 caracteres adicionales) se representan
caracteres para grficos, sombreados, letras griegas, smbolos matemticos y otros
especiales.
1.4.6.- Cdigos de deteccin y correccin de errores:
La manera ms sencilla de adicionar la deteccin de errores en un dato es incluir un bit de
paridad. El valor del bit es escogido de tal forma que el nmero de unos sea par o impar.
Este tipo de deteccin es til donde los errores tienen una probabilidad razonable de
ocurrencia de un nico error de bit, pero no puede detectar dos errores dentro de un grupo.
Es muy usado en transmisiones seriales, paralelas y memorias.
Algunos cdigos proveen una deteccin de errores mejor que con el de bit de paridad. Los
cdigos 2 de 5 y biquinario utilizan cdigos que tienen dos unos en cada grupo de 5 y de 7
bits, respectivamente. El cdigo del contador en anillo tiene 10 bits de los cuales
nicamente uno de ellos est en 1. En estos casos si aparecen menos o ms de dos unos en
los dos primeros cdigos ms de un uno en el tercero, indica que existe un error.
En algunos casos especiales la adicin de este bit de paridad no es suficiente para la
16

deteccin del error por lo que se crearon mtodos para codificar bits extras como el cdigo
de Hamming, el cual permite no solo detectar el error sino corregirlo.
Un cdigo de Hamming para 7 bits posee 4 bits de datos y 3 bits de cdigo. Los bits estn
arreglados de la forma mostrada en la figura 1.7, donde los bits de datos estn marcados
como D3, D2, D1 y D0 y los bits de cdigo C 2 C1 y C0 ubicados en las posiciones de la
palabra 22 (4), 21 (2) y 20 (1) , respectivamente.
Un ejemplo de construccin de la palabra de cdigo Hamming es mostrado en la figura 1.7.
Cada uno de los grupos es construido de tal forma que cuando un bit presente error, un
patrn nico es identificado por los bits de cdigo. Si los bits de datos son 0101 y los
cdigos de paridad son generados para una paridad impar, el resultado total ordenado
estara dado por 0100110, tal como lo muestra la figura 1.7.
Bits de datos

D3 D2 D1 D0

D3

D2

D 1 C2

D0 C1 C0
1

Bits de cdigo

C2 C1 C0

Grupo de paridad para C2


Grupo de paridad para C1
Grupo de paridad para C0

Figura 1.7.- Cdigo de Hamming de 7 bits


Si, por ejemplo, el patrn 0100010 es detectado (difiere en el bit 3), el grupo de paridad
para C2 es correcto (0), y C1 y C0 estn errados (1), lo cual resultara en un sndrome de
error de 011, indicando que el bit de la posicin 3 es incorrecto. Este bit puede ser
corregido negando su valor.

_________
Ejemplo 1.16: a) Determinar el cdigo de Hamming para el nmero BCD 1001 (bits de
datos), utilizando paridad par. b) Suponga que la palabra de cdigo recibida es 1000100.
Encuentre el bit de error en la transmisin si se utiliz paridad par.
a) Los bits de informacin

D3
D2
D1
D0
1
0
0
1
El grupo de paridad C2 lo conforman D1 D2 D3.Por lo tanto C2 = 1
El grupo de paridad C1 lo conforman D0 D2 D3.Por lo tanto C1 = 0
El grupo de paridad C0 lo conforman D0 D1 D3.Por lo tanto C2 = 0
La palabra de cdigo de Hamming resultante es: 1 0 0 1 1 0 0.
17

b) La palabra recibida es :

D3 D2 D1 C2
1 0 0
0

D 0 C1 C0
1 0 0

El grupo de paridad C2 lo conforman D1 D2 D3.Por lo tanto la paridad es impar


El grupo de paridad C1 lo conforman D0 D2 D3.Por lo tanto la paridad es par
El grupo de paridad C0 lo conforman D0 D1 D3.Por lo tanto la paridad es par
Si el valor de la paridad es correcto se asigna un 0 y si es errneo un 1. Entonces, el
sndrome de error es (100) correspondiente al bit nmero 4 (numerado desde la derecha con
1234567) y en consecuencia ese bit debe ser cambiado a 1 (C2).
_____________
EJERCICIOS
1.- Convertir los siguientes nmeros a base 10 :
a) (A37B)16 b) (5037)8
c) (01111001)2
2.- Convertir los siguientes nmeros fraccionarios a base 10 :
a) (.1011)2
b) (.121)3
c) (.3217)8
d) (.A0F)16
3.- Convertir los siguientes nmeros a base 10
a) (157.542)8 b) (1B.5A)16 c) (17.64)8
4.- Convertir :
a) (522)10 a base 16

b) (1245)10 a base 8

5.- Convertir :
a) (11011010)2 a las bases 4, 8 y 16

c) (124)10 a base 2
b) (D4B5)16 a bases 2, 4 y 8

6.- Convertir :
a) (.632)10 a base 16 b) (.312)10 a base 2
7.- Convertir:
a) (110.1110)2 a bases 8 y 16

b) (E3.1C)16 a bases 2 y 8

8.- Realice la operacin de los nmeros en las bases especificadas:


a) (5475)8 + (1673)8 b) (C74F)16 + (AF39)16
c) (1011)2 +(10111)2 + (1101)2
d) (101101)2 (11011)2
e) (4A57)16 (2F4A)16
9.- Escriba un algoritmo que permita realizar la conversin de un nmero en BCD a
binario y de un nmero binario a BCD.
10.- Investigue los conceptos de cubo-n y distancia, CRC, cdigos bidimensionales y
cdigos para el almacenamiento y la transmisin de datos en serie ( NRZ, RZ, Manchester)

18

Captulo 2. - LOGICA
COMBINATORIA
Introduccin
Existen dos tipos de circuitos en el rea de la electrnica Digital : Combinatorios y
secuenciales : En el circuito combinatorio las salidas dependen nica y exclusivamente de
sus entradas, tal como se representa en la figura 2.1.a. En el secuencial las salidas no solo
dependen de las entradas directas al circuito sino del estado anterior el valor que tom
la salida un instante antes. Como se puede observar en la figura 2.1b, la realimentacin
(seal de salida hacia la entrada nuevamente) es la caracterstica del tipo de circuitos
secuenciales.
A
B
C

A
B

a) Circuito combinatorio

b) Circuito secuencial.

Fig. 2.1.- Circuitos combinatorios y secuenciales


2.1.- COMPUERTAS LOGICAS
El descubrimiento del transistor y su aplicacin como elemento interruptor, es decir, que
puede tener dos estados elctricos perfectamente definidos, dio origen a las compuertas
lgicas que cumplen con las condiciones de falso y verdadero de los operadores lgicos
mencionados anteriormente.
2.1.1.- Definiciones :
-

Lgica positiva : nivel alto de voltaje se asigna a un 1 (High) y bajo para un 0


L(Low)
Lgica negativa : el nivel bajo representa un 1 lgico y el alto un 0.
Seal activa en alto : Seal que se activa cuando est en 1 lgico (normalmente en
0).
Seal activa en bajo : Seal que se activa cuando est en 0 lgico (normalmente en
1).
19

La operacin de cada una de estas compuertas se puede describir mediante una tabla de
verdad. A continuacin se relacionan cinco tipos de compuertas bsicas, con su definicin
correspondiente, smbolo descriptivo y de IEEE, tabla de verdad, ecuacin booleana, y
circuitos equivalentes elctricos o electrnicos de algunas de ellas.
2.1.2.- Compuerta AND :
Valida su salida si todas las entradas son vlidas. Ecuacin booleana:
figura 2.2.
A
0
0
1
1
Smbolo

B
0
1
0
1

S A B . Ver

S
0
0
0
1

Tabla de verdad

Figura 2.2..- Compuerta AND : simbologa y tabla de verdad.


2.1.3.- Compuerta OR :
Vlida si por menos una de sus entradas es valida. Ecuacin booleana : S A B . Ver
figura 2.3:
A
0
0
1
1
Smbolo

B
0
1
0
1

S
0
1
1
1

Tabla de verdad

Figura 2.3..- Compuerta OR : smbologa y tabla de verdad

2.1.4.- Compuerta NOT :


20

La salida es la negacin de la entrada . Ecuacin booleana : S A . Ver figura 2.4.


A
0
1
Smbolo

S
1
0

Tabla de verdad

Figura 2.4..- Compuerta NOT : smbologa y tabla de verdad


2.1.5.- Compuerta EX- OR :
Valida su salida si las entradas son diferentes. Ecuacin booleana : S A B . Ver figura
2.5:

Smbolo
A
0
0
1
1

B
0
1
0
1

S
0
1
1
0

Tabla de verdad

21

Figura 2.5..- Compuerta EXOR : smbologa y tabla de verdad


2.1.6.- Compuerta NAND :
Es una compuerta And seguida de una negacin. Ecuacin booleana: S A B . Ver figura
2.6:
A
0
0
1
1
Smbolo

B
0
1
0
1

S
1
1
1
0

Tabla de verdad

Figura 2.6.- Compuerta NAND : smbologa y tabla de verdad

2.1.7.- Compuerta NOR:


Es una compuerta Or seguida de un negador. Ecuacin booleana : S A B .Ver figura
2.7
A
0
0
1
1
Smbolo

B
0
1
0
1

S
1
0
0
0

Tabla de verdad

Figura 2.7.- Compuerta NOR: simbologa y tabla de verdad


2.1.8.- Circuitos equivalentes:
Todas estas compuertas analizadas tienen un circuito equivalente con interruptores y con
semiconductores, los cuales son mostrados en la figura 2.8.

22

Con interruptores

Con diodos

Con interruptores

Circuitos And

Con diodos

Circuitos Or

Fig. 2.8.- Circuitos equivalentes And y Or con interruptores y semiconductores


Los dos ltimos tipos de compuertas Nand y Nor descritas en las secciones 2.1.6 y 2.1.7
tienen una gran importancia dentro de la minimizacin de funciones : debido a su
comportamiento intrnseco como elemento inversor, su construccin es mucho ms sencilla
y por lo tanto, es la ms econmica del mercado.
Conociendo las tablas de verdad de las compuertas estudiadas, los siguientes ejemplos
muestran el circuito equivalente con compuertas NAND y NOR de cada una de las
compuertas bsicas estudiadas.

_________
Ejemplo 2.1. Disee una compuerta NOT con compuertas NAND y NOR.
La figura 2.9 muestra dos formas de realizar una NOT con NAND y NOR.

Figura 2.9.- Compuerta NOT implementada con NAND


_____________

_________
Ejemplo 2.2.- Disee una compuerta AND con compuertas NAND , y una compuerta OR
con compuertas NOR.
La figura 2.10 muestra los circuitos equivalentes

23

Figura 2.10.- Compuerta AND y OR implementadas con NAND y NOR.


_____________

_________
Ejemplo 2.3.- En los circuitos mostrados en la figura 2.11 determine a qu compuerta es
equivalente.

Figura 2.11.- Compuerta OR y AND implementadas con NAND y NOR.


El primer circuito es una compuerta OR y el segundo una compuerta AND. Se puede
expresar que : una compuerta OR es equivalente a una compuerta NAND con las entradas
negadas, y una compuerta AND es equivalente a una compuerta NOR con las entradas
negadas.
_____________

_________
Ejemplo 2.4.- En los circuitos mostrados en la figura 2.12 determine a qu compuerta es
equivalente.

Figura 2.12.- Compuerta XOR y EQUI implementadas con NAND y NOR


El primer circuito es una compuerta XOR y el segundo es una compuerta EQUI. Para
realizar una compuerta EQUI con compuertas NAND bastara agregar un negador a la
salida del circuito XOR. De forma similar con compuertas NOR se puede llegar a una XOR
negando la salida del segundo circuito.
_____________
Como se puede ver de este ejercicio, cualquiera de las compuertas bsicas puede ser
implementada nicamente con compuertas NAND o compuertas NOR. Hay dos cosas para
24

recordar y que posteriormente sern confirmadas cuando se vean los teoremas de Morgan
en el Algebra de Boole :

Una compuerta OR es equivalente a una compuerta NAND con las entradas negadas.

Una compuerta AND es equivalente a una compuerta NOR con las entradas negadas.

2.2.- PROBLEMAS DE APLICACIN DE COMPUERTAS:


Muchos de los diseos que se realizan en el rea de la Lgica Digital requieren no solo del
conocimiento de las diferentes tcnicas sino de mucho razonamiento lgico. Con las
herramientas que tenemos hasta el momento (tablas de verdad) vamos a resolver y dejar
planteados algunos problemas, en los cuales nos centraremos en la parte lgica y dejaremos
de lado el manejo de potencia y de sensores.

_________
Ejemplo 2.5.- En una mezcladora de concreto se tienen sensores para detectar el
suministro o n de 3 elementos : agua, piedra y cemento. As mismo, se tiene una seal de
control M para encender o apagar el motor. Se desea disear un control que :
a.) active el motor si estn los tres elementos presentes
b.) active el motor si estn presentes agua y piedra si hay agua y cemento.
Adicionalmente, que cumpla con la condicin a.).
Es una buena prctica dibujar el diagrama en bloques del circuito a disear, tal como se
muestra en la figura 2.13. Para este ejemplo el sistema a disear posee tres entradas : agua
A, piedra P y cemento C y una sola salida motor M.
Claramente se puede ver que la parte a) se representa mediante una compuerta And.
Para la parte b) las conjunciones y o definen las compuertas And y Or,
respectivamente. Ver figura 2.13.

A
C
P

Figura 2.13.- Mezcladora de concreto


_____________

_________
Ejemplo 2.6 .- Una hornilla de una estufa elctrica posee dos resistencias R1 y R2 que, de
acuerdo a la posicin del control, permite tener tres niveles de calor : bajo, medio y alto.
25

Disee un circuito lgico que funcione as : si el control esta en bajo activa la resistencia
R 1, si esta en medio activa R2 y si esta en alto activa R1 y R2 al mismo tiempo.
Cundo se activa R1 ? Cuando est activado Bajo Alto.
Cundo se activa R2 ? Cuando est activado Medio Alto. Ver figura 2.14

A
M
B

R1
R2

Figura 2.14.- Estufa elctrica


_____________

_________
Ejemplo 2.7.- Con los proyectores de diapositivas de comienzos de siglo se suministraban
una serie de recomendaciones para su buen manejo, ya que estos equipos tenan dos suiches
S1 y S2 totalmente independientes para alimentar el ventilador y el bombillo. La
advertencia era : Para encender el proyector oprima el interruptor S 1, el cual va a activar el
ventilador y a continuacin oprima S2 para activar el bombillo de alta potencia. Para apagar
oprima primero S2 y seguidamente S1. (Esta secuencia permite que el bombillo
permanezca en todo momento con la ventilacin requerida. Cualquier error en la secuencia
daaba el bombillo ). Se desea disear un circuito lgico que tenga como seales de control
los dos suiches S1 y S2 y seales de salida B y V para activar el bombillo y el ventilador,
respectivamente. Sin importar cul de los dos interruptores es pulsado debe encender
primero el ventilador y luego al pulsar el segundo debe prender el bombillo. Para el
apagado primero debe hacerlo el bombillo y luego el ventilador.
Cundo se prende el ventilador ? Cuando cualquiera de los suiches se activa (Or).
El bombillo nicamente se activar si los dos suiches estn activados al mismo tiempo.Ver
figura 2.15.

SW1
A

SW2

Figura 2.15.- Proyector de diapositivas


_____________
26

_________
Ejemplo 2.8.- Disee un detector de nmeros impares. El circuito tendr como entrada 4
bits y una salida Y que se valida si el nmero de entrada (expresado en 4 bits) es impar. En
caso contrario, Y es igual a 0.
A
B
C
D

Figura 2.16.- Detector de nmeros impares


Si se analizan detenidamente los nmeros binarios de 4 btis del 0 al 15, el bit menos
significativo A de todos los impares es 1. Por lo tanto, la salida Y se puede conectar
directamente a la entrada A. Ver figura 2.16.
_____________

_________
Ejemplo 2.9.- Disee un circuito conversor de decimal a BCD. El circuito tiene como
entrada las diez (10) teclas decimales del 0 al 9 y como salidas A,B,C,D. Al oprimir una
tecla decimal su valor equivalente en binario aparecer en las cuatro salidas.
En la figura 2.17 se pueden ver dos tipos de circuitos con interruptores que suministran los
valores binarios de 1 y 0 representados como voltaje Vcc y 0 voltios, respectivamente. En
el circuito de la figura 2.17 a) cuando el interruptor est abierto la salida es +Vcc (1 lgico)
y al cerrarlo coloca 0 voltios (0 lgico). El circuito de la figura 2.17 b) normalmente
suministra un 0 lgico y al ser activado el interruptor coloca un 1 lgico, trabajando en
forma totalmente opuesta al circuito mostrado en la figura a). Este circuito que
normalmente est en 0 y se activa a 1 es denominado activo en 1 activo en alto ; al
circuito de la figura b) donde normalmente suministra un 1 y al activarse da un 0 es
denominado activo en 0 activo en bajo.

27

0
1
2
3
4
5
6
7
8
9

D
C
B
A

a)

b)

Figura 2.17.- Diagrama en bloques y dos tipos de interruptor


Para disear el conversor decimal a BCD se debe analizar en cules nmeros es activo cada
uno de los bits de salida A, B, C, D. As pues :
A = 1+3+5+7+9 ; B = 2+3+6+7

C= 4+5+6+7

D=8+9

Estas ecuaciones identifican a compuertas OR y el circuito final manejado por los tipos de
interruptores mostrados en la figura 2.17 b) es mostrado en la figura 2.18 a). En caso de
utilizar el tipo de interruptores mostrados en la figura 2.17 a), el circuito puede ser
cambiado a compuertas Nand de la forma mostrada en la figura 2.18 b) : compuertas Or
con las entradas negadas equivalen a una Nand.

a)
b)
Figura 2.18.- Conversor decimal a BCD con OR y NAND
_____________

_________
Ejemplo 2.10.- Disee un circuito que detecte cuando un nmero de entrada de 4 bits es
igual a 7 ( si es igual proporciona un 1 a la salida, en caso contrario, mostrar un 0).
Se aprovecha la caracterstica de que si la compuerta And tiene todas sus entradas en 1 la
salida toma el valor de 1 y cualquier otra combinacin (por lo menos una de las entradas es
0) coloca un 0 a la salida. Ver figura 2.19.
28

Utilizando el mismo principio se puede disear un comparador con cualquier nmero.

D
C
B
A

Figura 2.19.- Comparador de un nmero


_____________
Siguiendo el mismo procedimiento desarrollado anteriormente encuentre la solucin a los
siguientes problemas:
Problema 1.- En una banda transportadora se encuentran trabajando 3 operarios A, B, y C
cada uno de los cuales tiene un sensor que registra si est presente o no. El supervisor de la
lnea tiene un indicador luminoso y un monitor del estado del motor que hace girar la
banda. Se desea disear un circuito lgico de 3 entradas A, B y C y 2 salidas L (luz) y M
(motor) que funcione de la siguiente manera: si un operario deja la lnea (activa un sensor
de presencia) el motor debe continuar trabajando pero el indicador luminoso se enciende
advirtindole que hay nicamente dos personas en la lnea. Cuando sale el segundo operario
el sistema sale de funcionamiento apagando tanto el indicador como el motor.
PROBLEMA 2.- Disee un indicador del estado de tres bateras A, B y C que active: una
luz verde en el caso de tener las tres bateras estn en buen estado, una luz amarilla si una
cualquiera ha salido de funcionamiento y una luz roja cuando dos o tres bateras estn
malas.
2.3.- ALGEBRA DE BOOLE
En el ao de 1854 Boole desarroll un sistema algebraico de dos valores, el cual fue
adaptado por Shannon (1938) para analizar y describir el comportamiento de circuitos
construdos con relevos. El Algebra de Boole es definido como el conjunto de reglas
algebraicas para manejar circuitos de dos estados (binarios).
Los elementos bsicos son el 1 y el 0. Las operaciones disponibles son And, Or y Not. La
relacin elemental es la de equivalencia ( = ). La And tiene prevalencia sobre la Or.
Principio de dualidad: Los teoremas o identidades del Algebra de Boole siguen siendo
vlidos si intercambiamos los 0 por 1, los 1 por 0, las funciones And por Or y Or por
And.
Se presentan a continuacin los axiomas y postulados en parejas duales.
29

2.3.1.- Axiomas :
(A1) A = 0 si A 1
(A2) Si A=0 entonces A =1
(A3) 0.0 = 0
(A4) 1.1 = 1
(A5) 0.1 = 1.0 = 0

(A1) A = 1 si A 0
(A2) Si A = 1 entonces A = 0
(A3) 1+1 = 1
(A4) 0+0 = 0
(A5) 1+0 = 0 +1 = 1

2.3.2.- Teoremas :
(T1) A+0 = A
(T2) A+1 = 1
(T3) A+A = A
(T4) A = A
(T5) A+ A = 1
(T6) A+B = B+A
(T7) (A+B)+C = A+(B+C)
(T8) A.B+A.C = A.(B+C)
(T9) A+A.B = A
(T10) A + A .B = A + B
(T11) A.B + A. B = A
(T12) A. B A. B. C A. B A. C
(T13) A. B = A + B
Morgan)
(T14) A B ... Z A. B.... Z

(T1) A.1 = A
(T2) A.0 = 0
(T3) A.A = A

(identidades)
(elementos nulos)
(idempotencia)
(involucin)
(T5) A. A = 0
(complementos)
(T6) A.B = B.A
(conmutatividad)
(T7) (A.B).C = A.(B.C)
(asociatividad)
(T8) (A+B).(A+C) = A+B.C (distributividad)
(T9) A.(A+B) = A
(cobertura absorcin)
(T10) A.( A +B) = A.B
(T11) (A+B).(A+ B ) = A (combinacin)
(T12) A B . ( A B C ) A B ). A C )
(T13) A B = A . B
(Teorema de

(T14) A. B.... Z A B ... Z


Teorema generalizado de Morgan.
A

B . A C . B C A B . A C

(T15) A. B A. C B. C A. B A. C
(T15)
Teorema de consenso
Ejercicios : Demuestre los teoremas T9, T10, T11,T12 y T15 y sus respectivos duales.
En el algebra de Boole la And tiene prevalencia sobre la Or. As por ejemplo,
A B. C A B. C

A. B. C

A. B C

A. B A. C .

El teorema de Morgan permite verificar las equivalencias realizadas en forma intuitiva en


la seccin 2.1.8. Tal como est especificado el teorema 13 y su dual, podemos enunciar
que :

Nand es equivalente a una Or con las entradas negadas


Nor es equivalente a una And con las entradas negadas

Si negamos a lado y lado de la ecuacin, tendremos que :

And es equivalente a una Nor con las entradas negadas


30

Or es equivalente a una Nand con las entradas negadas.

Visto de otra forma, el negado de una funcin se puede obtener cambiando todos los
operadores Or por And, And por Or, 0 por 1 y 1 por 0 y negando trmino a
trmino.
2.3.3.- Representaciones estandar :
Algunas definiciones :
Literal : Variable o su complemento . P. ej, A, B
Trmino de producto : Un solo literal o su producto . P.ej, C, A B C D
Expresin en forma de suma de productos : Suma de trminos de producto.
P.ej, A B C A C D
Trmino de suma : Un solo literal o su suma. P. ej, B C D , A
Expresin de producto de sumas : Producto de trminos de suma.
P. ej, A B C A C D .
Trmino normal : Trmino de producto o trmino de suma en el que ninguna variable
aparece ms de una vez . Esto implica que los trminos no normales se pueden reducir
aplicando los teoremas mencionados anteriormente. P. ej., A B C , A B C D
Mintrminos de n variables es un trmino de producto normal con n literales (existen 2 n
trminos). P. ej, Mintrmino de 4 variables : A B C D
Maxtrmino de n variables es un trmino de suma normal con n literales (existen 2 n
trminos ). P.ej, Maxtrmino de 4 variables : A B C D
Suma cannica de una funcin lgica es la suma de mintrminos correspondientes para
las que la funcin produce una salida de 1.
P.ej, A,B,C (0, 2,4,6) = A B C A B C A B C A B C
Producto cannico de una funcin lgica es un producto de los maxtrminos
correspondientes para los que la funcin produce una salida de 0.
P. ej, A,B,C ( 1,3,5) = A B C A B C A B C
Finalmente, estas dos expresiones son equivalentes, A,B,C (0,2,4,6) = A,B,C (1,3,5,7).
Los mintrminos y maxtrminos de 3 variables se muestran en la siguiente tabla (figura
2.20)
Valores

Mxtrmino

31

Mintrmino

f ( 0,0,0)
f ( 0,0,1)

A B C

A. B. C

A B C

A. B. C

f ( 0,1,0)

A B C

A. B. C

f ( 0,11
, )
f (1,0,0)

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

f (1,0,1)
f (11
, , 0)
f (111
, , )

A B C

Figura 2.20.- Listado de mintrminos y maxtrminos de 3 variables.


2.4.- ANALISIS DE CIRCUITOS COMBINACIONALES
Mediante el anlisis se describe el comportamiento de un circuito combinacional, donde se
pueden visualizar todos los casos posibles (tabla de verdad), se pueden realizar estudios de
riesgos, etc. con el fin de tener alternativas de estructuras y transformarlo a arreglos
disponibles tales como PAL.
Este anlisis de circuitos combinacionales se puede realizar por medio de tablas de verdad,
manipulacin algebraica y diagrama de tiempos:
En el primer mtodo se elabora una tabla de verdad con todas las posibles 2 n
combinaciones. Este procedimiento es bastante largo y tedioso pero permite ver las
combinaciones de entrada para las cuales la salida es vlida.
Un segundo mtodo consiste en obtener del circuito una descripcin formal mediante las
ecuaciones. Manipulando stas mediante Algebra de Boole, se pueden realizar conversiones
de forma de suma de productos a productos de suma y viceversa, y simplificaciones lo cual
planteara unas nuevas estructuras a la medida del diseador.
Mediante el diagrama de tiempos se representa grficamente el comportamiento de las
seales de entrada y salida en un rango de tiempo determinado.
En los siguientes ejemplos podemos ver tres diferentes estructuras para cada uno de ellos,
resultantes de realizar manipulaciones algebraicas:
Ejemplo 2.11.- Plantee la ecuacin de cada de los circuitos mostrados. Realice un anlisis
por tabla de verdad (2n combinaciones ).

32

Figura 2.21.- Ejemplo1 de circuitos equivalentes


Ecuacin del circuito : A. B. C C. D
Ejemplo 2.12.- Plantee la ecuacin de cada de los circuitos mostrados. Realice un anlisis
por tabla de verdad (2n combinaciones).

Figura 2.22.- Ejemplo 2 de circuitos equivalentes


Ecuacin del circuito : B C . Recuerde que una compuerta EXOR puede expresarse
mediante la ecuacin : A B A B A B , y la compuerta EQUI (o EXOR negada) por :
A B A B .

2.5.- SINTESIS DE CIRCUITOS COMBINACIONALES


2.5.1.-Frmula cannica
Conociendo las combinaciones para las cuales la salida se valida se forma una ecuacin
cannica con los minterminos de la funcin para despus proceder, mediante el Algebra de
Boole, a obtener ecuaciones mnimas
Disee un detector de nmeros primos de 4 bits A, B,C,D que valide una salida S si el
nmero es primo y produzca un 0 en caso contrario.
A,B,C,D (1,2,3,5,7,11,13) =
A B C D A B C D A BC D A B C D A BC D A B C D A BC D

33

A partir de esta ecuacin se puede realizar un primer esquema en funcin de compuertas Or


y And de varias entradas, sin embargo, sta se puede minimizar mediante Algebra de Boole
utilizando el teorema de asociacin convenientemente.
Ejercicio : Minimizar la ecuacin anterior y proponer diferentes alternativas. Realice el
circuito con compuertas.
2.5.2.- Mapas de Karnaugh :
Un mapa de Karnaugh no es ms sino una representacin grfica de una tabla de verdad.
Podemos representar una funcin dada de n variables mediante un mapa de 2 n cuadros,
donde los valores externos muestran los estados de las variables de entrada y el valor
interno muestra el valor correspondiente de salida para esa combinacin especial de
entrada.
A continuacin se muestran los mapas de Karnaugh para 2 y 3 variables en la figura 2.23 y
4 variables de entrada en la figura 2.24 con sus respectivas reas :

A
B

Area de

AB
0

Area de
A

A
00

01

11

10

Area de B

Area de C

Area de

Area de C

Area

Area
A

Area de

B
Area de B

Figura 2.23.- Mapas de Karnaugh para 2 y 3 variables


AB
CD
Area
de

Area de

Area de
A

A
00

01

11

00
34

10

01

Area
de

Area
de

11

10

Area
de
D

Area de

B
Area de B

Figura 2.24.- Mapa de Karnaugh para 4 variables


En el mapa de Karnaugh se definen dos reas para cada variable de entrada dada (por
ejemplo, A): donde la variable de entrada existe (su valor es 1) y se designa como el rea
donde es vlida (Area de A) y donde la variable de entrada no existe (su valor es 0) y se
designa como el rea donde no es vlida (Area de A ).

2.5.2.1.- Funciones en mapas de Karnaugh :


Cmo se representan las funciones bsicas And y Or en un mapa de dos variables?
A
B

Area de B

Area de

Area

Area
A

0
1

La funcin Or se puede representar en


el mapa de Karnaugh por la unin de
las reas donde es vlido A y es vlido
B.

F= A+ B

La funcin And se puede representar en el


35

mapa de Karnaugh por la interseccin


de las reas donde es vlido A y es
vlido B.

F = A. B

Area de B

1
Area

Area de

Area
A

En un mapa de Karnaugh cada uno de los trminos de producto coloca un nmero


determinado de unos.
As por ejemplo, en un mapa de Karnaugh de 4 variables un trmino de una variable pone
8 unos, unos de dos variables 4 unos, uno de tres variables 2 unos y uno de 4 variables
coloca en el mapa un solo uno.
Miremos algunos trminos: dibuje sobre un mapa de 4 variables los siguientes:
A , A B , A BC , A BC D , B D .
Ellos colocan 8, 4, 2, 1 y 4 unos adyacentes, respectivamente. En resumen, el mapa de
Karnaugh en cuanto a sus reas se comporta como si fuera cilndrico tanto vertical como
horizontalmente (por ejemplo, rea de B , rea de D ) y las cuatro esquinas son
adyacentes entre s como si fuera esfrico ( por ejemplo, el trmino B D coloca 4 unos
adyacentes en los cuatro esquinas).
Realice el mapa de Karnaugh de la funcin definida por:
F B D A BC D BC D A B C D

Teniendo en cuenta que cada uno de los trminos definidos en la funcin se puede graficar
mediante la interseccin de las reas y a su vez que la suma de trminos de producto es la
unin de ellos, se puede realizar la funcin completa directamente en un solo mapa de 4
variables, pues cada 1 de los trminos de producto forman parte del mapa final.
AB
CD

00
00

01

11

10

01

36

11
10

Figura 2.25.- Trmino redundante en mapa de Karnaugh


Si se mira detenidamente en la funcin el trmino A B C D no aporta unos
adicionales al mapa, por lo tanto, este es denominado trmino redundante. Ver figura 2.25
(cuadro sombreado).
Ahora bien, cmo se realizara la representacin de una funcin en forma de producto de
sumas?
Se podra pensar en realizar un mapa para cada trmino de suma. Una vez construdos los n
mapas para los n trminos se pueden superponer para encontrar la interseccin de ellos.
Este es un trabajo bastante dispendioso. Una forma sencilla de graficar es aplicar el teorema
de Morgan: definir el negado de la funcin cambiando funciones Or por And y viceversa,
quedando la ecuacin en forma de suma de productos.
Una vez construdo este mapa en forma de suma de productos se cambian 0 por 1 y
1 por 0 para tener la funcin original.
F A B C A B C D B C

Aplicando el teorema de Morgan (ver figura 2.26):


F A B C A B C D B C

AB
CD

00
00

01

11

10

1
1

01
11

10

Figura 2.26.- Mapa de Karnaugh de la funcin F


Cambiamos ahora 0 por 1 y 1 por 0 , para tener la funcin F (ver figura 2.27)
37

AB
CD

00
00

01

11

10

01

11

10

Figura 2.27.- Mapa de Karnaugh de la funcin F


2.5.2.2.- Extraccin de funciones del mapa de Karnaugh
Se define como:
implicante de una funcin lgica al trmino de producto que puede ser usado para cubrir
los mintrminos de una funcin.
implicante primo de una funcin lgica al implicante que no es parte de cualquier otro
implicante de la funcin.
implicante primo esencial de una funcin lgica al implicante primo que cubre por lo
menos un mintrmino que no es cubierto por otro implicante primo.
Retomemos el ejemplo del detector de nmeros primos. Primero podemos representar la
funcin lgica en un mapa de Karnaugh de 4 variables copiando los valores de salida donde
la funcin es vlida (1) en cada una de las celdas correspondientes.
F = A,B,C,D (1,2,3,5,7,11,13)
AB
CD

00

01

11

01

11

10

10

00

Figura 2.28.- Implicantes en un mapa de Karnaugh


38

Con el fin de tener trminos de menor nmero de variables se seleccionan primero


implicantes que cubran el mayor nmero de 1 . En nuestro caso, existe un solo implicante
que cubre 4 unos y 3 implicantes que cubren 2 unos. Ver figura 2.28.
Falta ahora escribir la ecuacin de la funcin en forma de suma de productos
F A D A B C B C D B C D

y la implementacin con compuertas Or, And y Not es mostrada en la figura 2.29.

Figura 2.29.- Circuito de detector de nmeros primos


2.5.2.3.- Condiciones de no importa
En algunos casos, pueden existir combinaciones de entrada que nunca ocurren y para
efectos del mapa de Karnaugh la salida podra tomar cualquier valor. El ejemplo 2.13
muestra el caso del diseo del detector de nmeros primos que hemos venido trabajando
pero ahora se plantea la restriccin a BCD.
Ejemplo 2.13 .- Disee un detector de nmeros primos en BCD
Las entradas vlidas para este caso son del 0 al 9. Las combinaciones del 10 al 15 nunca
ocurren ,y el mapa de Karnaugh es mostrado en la figura 2.30.
F = A,B,C,D(1,2,3,5,7) + d(10,11,12,13,14.15).
39

AB
CD

00

01

11

10

00
01

11

10

Figura 2.30.- Mapa de Karnaugh con condiciones de no importa


Estas condiciones de no importa especificadas en el mapa mediante X pueden tener los
valores de 0 1 y se pueden agupar dentro de un implicante como comodin para as
obtener trminos de menos variables. Ver figura 2.30.
De acuerdo a esto, la funcin puede expresarse como : F A D B C
2.5.2.4.- El Mapa de Karnaugh en la eliminacin de hazard
Cada compuerta y dispositivo digital tiene un tiempo de retardo de propagacin (definido
como el tiempo que demora la salida en cambiar contado desde el momento en que se
efectu un cambio en la entrada) del orden de nanosegundos asociado.
Los anlisis realizados hasta ahora no han tenido en cuenta esta caracterstica, la cual puede
producir efectos indeseables tales como spikes en la salida de circuitos combinacionales (
algunas veces llamados glitches ). Estos pulsos indeseados pueden iniciar una serie de
operaciones no programadas en etapas siguientes.

Hazard esttico : Este tipo de hazard es producido por el retardo asimtrico que sufre una
seal al tomar diferentes caminos, como por ejemplo a travs de compuertas negadoras.
La figura 2.31 muestra los tipos de hazard estticos asociados a las compuertas And y Or.
En la figura 2.31 a) el inversor produce un retardo de la seal que llega a la And
generndose a la salida un glitch positivo debido a la transicin de 0 a 1 de la seal de
entrada; usualmente este tipo de Hazard es denominado Hazard esttico positivo.

40

Figura 2.31 a)

Figura 2.31 b)

En el caso de reemplazar la compuerta And por una compuerta Or se obtiene glitch


negativo debido a la transicin de 1 a 0 de la seal de entrada, tal como se muestra en la
figura 2.31 b) y es llamado Hazard esttico negativo. Para ilustrar este efecto analizaremos
el circuito de dos niveles mostrado en el ejemplo 2.14.
Ejemplo 2.14.- Deduzca el diagrama de tiempos del circuito mostrado en la figura 2.32 y
plantee una solucin al problema del hazard presentado.

Figura 2.32.- Circuito con hazard esttico

Teniendo como base los mostrados en las figuras 2.31 a) y b) realice un diagrama de
tiempos y verifique la existencia de un hazard.
El mapa de Karnaugh muestra claramente el Hazard producido por la transicin de 1 a 0 de
la seal de entrada A, esto es, la transicin del estado 111 al estado 011 entre los dos
implicantes definidos. Esto sugiere que este Hazard puede ser eliminado adicionando un
trmino redundante BC en la expresin de salida, tal como se muestra en la figura 2.33.
1

AB
C

00
0

01

11
1

10
41

Aqu el trmino de producto que enlaza


los
dos
implicantes
definidos
(redundante)
soluciona
el
hazard

presentado mostrado en la figura 2.32.

Figura 2.33.- Solucin para hazard esttico


En forma general, en el caso en que se presenten transiciones fcilmente visibles en el mapa
de Karnaugh de la funcin de salida el Hazard esttico puede ser eliminado agrupando el
mayor nmero de celdas que cubran uno o varios implicantes.
Como ejemplo de anlisis estudie la funcin : F B C B D A C D
El Hazard esttico puede ser eliminado adicionando trminos redundantes solamente si la
lgica interna del dispositivo puede ser alterada. Los dispositivos MSI y LSI no pueden
cambiar su configuracin, pero al utilizar PLA realizando la programacin adecuada puede
ser evitado.
2.6.- IMPLEMENTACION MEDIANTE COMPUERTAS NAND
Una vez obtenida la funcin del mapa de Karnaugh se puede realizar una implementacin
en forma mnima con compuertas Nand nicamente. Para ello aplicamos el teorema de
Morgan :
Una Or es equivalente a una Nand con las entradas negadas y,
Una And es equivalente a una Nand con su salida negada
Una funcin sencilla en forma de suma de productos se puede representar mediante
compuertas Nand, tal como se muestra en la figura 2.34 :

Figura 2.34.- Representacin de OR-AND mediante compuertas NAND


42

F X Y X Y ,

pero X A B , y, Y C D . Finalmente, F A B C D

Un segundo circuito para analizar (figura 2.35):

Figura 2.35.- Representacin OR-AND mediante compuertas NAND


F X C X C ,

pero X A B . Finalmente, F A B C

De ello podemos establecer tres sencillas reglas:


Si numeramos desde salida hacia entrada los niveles de compuertas Nand,
1.- Una compuerta Nand ubicada en un nivel impar trabaja como si fuera Or.
2.- Una compuerta Nand ubicada en un nivel par trabaja como si fuera And.
3.- Las variables que entran directamente a niveles impares van negadas.
Ejemplo 2.15.- Deduzca la ecuacin del circuito mostrado en la figura 2.36.

Figura 2.36.- Ejemplo 2.15: Implementacin NAND


Teniendo en cuenta las reglas enunciadas anteriormente se puede deducir fcilmente la
ecuacin de los circuitos :
F E D C A B
Ejemplo 2.16.- Deduzca la ecuacin del circuito mostrado en las figura 2.37.

Figura 2.37.- Ejercicio 2.16.- Implementacin NAND.


La compuerta Nand cuyas entradas son A y B trabaja en dos niveles diferentes dependiendo
de la entrada de la compuerta de salida que sea tomada : para la entrada inferior de la
43

compuerta de salida trabaja como And y para la superior como Or ; por lo tanto, la ecuacin
del circuito sera :
F A B C A B

Para diseo de circuitos implementados con compuertas Nand exclusivamente, es necesario


conformar redes Or-And- Or-And-Or-... para conformar los niveles impares y pares,
respectivamente. Es conveniente que, al realizar las manipulaciones algebraicas, las
variables que entran directamente queden ubicadas en funciones Or con lo cual se estaran
ahorrando negadores.
Implemente las siguientes ecuaciones con compuertas Nand de dos entradas :
Ejemplo 2.17.- Ecuacin : A B

A B 0

Figura 2.38.- Implementacin con compuertas NAND de dos entradas (Ej.2.17)


Ejemplo 2.18.- Ecuacin : A B C
A B C 0
A B 0 C 0
Figura 2.39.- Implementacin con compuertas NAND de dos entradas (Ej.2.18)

Ejemplo 2.19.- Ecuacin : A B C


A B 1 C
Figura 2.40.- Implementacin con compuertas NAND de dos entrada (Ej.2.19)
Ejemplo 2.20.- Ecuacin : A B A C B C
A B C A B

La solucin de ste circuito es la mostrada en la figura 2.37.


2.7.- EJERCICIO DE RECAPITULACION
Los pasos de sntesis, mediante mapas de Karnaugh, a seguir son:
44

1.- Elaboracin de la tabla de verdad.


2.- Representacin mediante mapas de Karnaugh
3.- Conformacin de implicantes primos.
4.- Obtencin de la ecuacin a partir de los implicantes.
5.- Implementacin mediante funciones bsicas Or, And y Not
6.- Minimizacin mediante el uso de compuertas Nand.
En el siguiente ejemplo se muestran uno a uno los pasos de diseo mediante mapas de
Karnaugh
Ejemplo 2.21.- Disee un comparador de dos nmeros P y Q de dos bits cada uno, que
tenga tres salidas as: I= 1 si P=Q, M = 1 si P>Q, y m = 1 si P<Q.
Podemos obviar la tabla de verdad y realizar directamente el mapa de Karnaugh para las
tres salidas del circuito, ya que en este caso particular al validarse una salida
inmediatamente inhabilita las otras dos y, por lo tanto, podramos decir que, por ejemplo, la
salida I se valida si no es vlida la salida M ni la m. As pues , I M m .
El nmero P tiene dos bits AB, y el nmero Q tiene dos bits CD.
AB
CD

00

01

11

10

00

01

11

10

Ecuaciones :
I A B C D A B C D A B C D A B C D
M AC BC D A B D
m AC BC D A B D

De las tres ecuaciones la ms compleja es la de I, pero podemos expresarla en funcin de M


y m.
Manipulando las ecuaciones de M y m se puede llegar a las siguientes implementaciones
mediante compuertas Nand de dos entradas :
M A C B C D A D

m A C B C D A D

45

I M m

El circuito final implementado con compuertas Nand es mostrado en la figura 2.41:

Figura 2.41.- Implementacin con Nand de un comparador


Ejemplos adicionales: Realice mediante mapas de Karnaugh los ejercicios 7 y 8 de la
seccin 2.2.
En el caso de 5 variables para la extraccin de funciones se pueden asimilar los dos mapas
de Karnaugh de 4 variables como dos planos uno tras otro donde existen adyacencias entre
E=0 y E=1. (por ejemplo, el implicante mostrado en la figura 2.42).
Ejemplo 2.22.- Deduzca la ecuacin para el mapa de Karnaugh mostrado en la figura 2.42.

CD
AB
E=0

00
00 1

01
1

11 10
1

01

11

10

CD
00
00

11 10
1

01

AB
E=1

01

46

11

10

Fig. 2.42.- Mapa de Karnaugh para 5 variables


De la figura 2.42 se puede extraer la siguiente funcin :
F C D E B C D A B D E B C D E

Verifique esta funcin mediante el mtodo de minimizacin programada de Quine


McClauskey.

2.8.- METODOS DE MINIMIZACION PROGRAMADA : QUINE McCLAUSKEY


Cuando el nmero de variables de entrada se incrementa (mayor de 6) se hace ms difcil
realizar la tarea de extraer funciones de un mapa de Karnaugh. El mtodo algortmico de
Quine McClauskey permite encontrar una representacin mnima de una expresin
booleana.
Recordemos primero el teorema de combinacin (T.11 y T.11 de la seccin 2.3.2) :
A.B + A. B = A
(A+B).(A+ B ) = A
La clave del mtodo radica en la tabulacin de todos los mintrminos y al ir aplicando
repetidamente ste teorema se van encontrando los implicantes primos.
La mejor manera de entender el procedimiento es a travs del siguiente ejemplo:
Ejemplo 2.23.- Aplique el mtodo de minimizacin programada Quine McCluskey a la
funcin F = m (4,5,6,8,9,10,13 ) + d ( 0,7,15 ).
1.- Liste todos los mintrminos includos los de las condiciones de No Importa
agrupndolos de acuerdo al nmero de 1s, , tal como se muestra en la columna I, de la
figura 2.43.

Grupo de 0 1s

Grupo de 1 1s

4
8

Columna I
Columna II
0,4
0-00
*
0000

0100
1000

0,8

-000

4,5

010-

47

Columna III
4,5,6,7
01-*
5,13,7,15
-1-1
*

0101
0110
1001
1010

Grupo de 3 1s

7 0111
13 1101

Grupo de 4 1s

15 1111

Grupo de 2 1s

5
6
9
10

4,6
8,9
8,10

01-0
10010-0

*
*

5,7
5,13
6,7
9,13

01-1
-101
0111-01

7,15
13,15

-111
11-1

Figura 2.43.- Tabla de mintrminos y minimizacin


2.- Compare los elementos del primer grupo contra cada elemento en el segundo, buscando
los mintrminos que difieran nicamente en una sola variable. Estos mintrminos
adyacentes se combinan formando un implicante, el cual es colocado en la columna II.
Revisemos el algoritmo de Quine Mc Cluskey para la primera columna:
Comparando el primer grupo (ningn cero) contra el segundo grupo ( un 1s ), el
mintrmino 0 es comparado contra los mintrminos 4 y 8, generndose los trminos 0-00 y
-000 en la segunda columna. Cada vez que un trmino ayuda a conformar un nuevo
implicante, se marca con un . Esto significa que el implicante no es primo, ya que puede
ser combinado con algn otro elemento para formar un implicante ms grande.
Comparando el segundo grupo (un 1s ) contra el tercer grupo ( dos 1s ), el mintrmino 4
es combinado con los mintrminos 5 y 6, generndose los trminos 010- y 01-0. El
mintrmino 8 se combina con 9 y 10, resultando 100- y 10-0.
Para el tercer grupo (dos 1s) y el cuarto grupo (tres 1s), el mintrmino 5 se combina con el
7 y el 13 para dar 01-1 y 0101. El 6 con el 7 generan 011- . El 9 combinado el 13 da el 101.
Cuando comparamos el cuarto grupo (tres 1s) contra el quinto grupo ( cuatro 1s), dos
trminos son adicionados : -111 y 11-1., al combinar el mintrmino 7 con el 15 y el 13 con
el 15.
La columna II muestra el resultado de la primera bsqueda donde se especifican los
mintrminos combinados y el implicante generado. Ver figura 2.43. Exactamente el mismo
procedimiento es aplicado para la columna II. Los elementos deben diferir ahora en un bit
pero deben tener el - en la misma posicin. Como los elementos del grupo 1 no se pueden
combinar con elementos del grupo 2 los marcamos con un * debido a que son implicantes
primos.
48

En el segundo y tercer grupo de la columna II, 010- puede ser combinado con 011-,
generando 01-- colocado en la columna III. Este mismo elemento es producido por 01-0 y
01-1. Los elementos 100- y 10-0 son implicantes primos.
En el tercer y cuarto grupo de la columna II, Los elementos -101 y -111 y 01-1 y 11-1 son
combinados para generar el -1-1.
El mismo procedimiento se aplica para la columna III. Ver figura 2.43.
Hasta aqu se han encontrado los siguientes implicantes :
0-00 = A C D
100- = A B C
1-01 = A C D
-1-1 = B D

-000 = B C D
10-0 = A B D
01-- = A. B

2.8.1.- Procedimiento de cubrimiento :


Para determinar el mnimo nmero de implicantes primos necesarios para realizar la
funcin se elabora una carta de implicantes primos tal como se muestra en la figura 2.44, la
cual es construda relacionando los mintrminos en la horizontal y los implicantes primos
encontrados en la vertical sin tener en cuenta las condiciones de no importa. Si el
mintrmino representado por la columna es cubierto por el implicante indicado en la fila se
coloca una X en la interseccin.

IP1
IP2
IP3
IP4
IP5
IP6
IP7

0,4
0,8
8,9
8,10
9,13
4,5,6,7
5,7,13,15

4
X

X
X
X

10

X
X

13

Figura 2.44.- Carta de implicantes primos


Buscamos ahora los implicantes primos esenciales, que se detectan fcilmente al observar
las columnas que poseen una sola X , lo cual significa que hay un mintrmino que es
cubierto por uno y solo un implicante primo (marcadas con ) . De la tabla mostrada en la
figura xxxx podemos observar que los implicantes primos esenciales son IP4 e IP5, los
cuales cubren adicionalmente los mintrminos 8, 4 y 5 (chequeados en la ltima fila).
49

Se debe buscar ahora el mnimo nmero de implicantes primos que cubran los mintrminos
restantes (los mintrminos 9 y 13). El implicante IP5 cubre ambos mintrminos.
Por lo tanto, la implementacin mnima de la funcin dada ser :
f A, B, C, D

IP4 + IP5 + IP6 =

10-0 + 1-01 + 01--

A B D A C D A B

A travs del mapa de Karnaugh podemos verificar el resultado. Ver figura 2.45.
AB
CD

00

01

11

10

00

01

11

10

Figura 2.45.- Mapa de Karnaugh para el ejercicio analizado

50

Captulo 3. - CIRCUITOS
COMBINATORIOS MSI Y LSI
Introduccin
De acuerdo al nmero de compuertas que posee un integrado (escala de integracin), se
clasifican en :
SSI : Small Scale Integration, si posee entre 1 y 10 compuertas, p. ej. integrado 7400 (4
compuertas Nand de dos entradas).
MSI: Medium Scale Integration, si posee entre 10 y 100 compuertas, p. ej. decodificadores,
multiplexores.
LSI : Large Scale Integration, si posee entre 100 y 1000 compuertas, p. ej. Unidades
aritmticas.
VLSI : Very Large Scale Integration, si posee ms de 1000 compuertas, p. ej.
Microprocesadores.
Una vez estudiadas las compuertas lgicas, su aplicacin y las herramientas de diseo
(Mapas de Karnaugh, Mtodo de Quine Mc Cluskey) vamos a analizar bloques funcionales
de circuitos combinatorios tales como multiplexores, decodificadores, comparadores,
sumadores, circuitos aritmticos y describir algunas de sus aplicaciones.
3.1.- DECODIFICADORES / DEMULTIPLEXORES:
Un circuito decodificador activa una y solo una de 2 n salidas disponibles, de acuerdo al
valor que tome una entrada de n bits. Normalmente, las salidas de stos dispositivos se
encuentran en 1 y se activan llevando la salida correspondiente a 0. Por lo tanto, estos
dispositivos poseen n entradas y 2 n salidas. Ver figura 3.1.

n entradas

2n
salidas
activase
n bajo

Figura 3.1.- Decodificador de n entradas y circuito equivalente para dos entradas.


51

Existe una seal de control para el dispositivo enable, activa en cero, que permite
habilitar el circuito como decodificador. En el otro estado las salidas son fijadas a un valor
de 1. En algunos casos, una segunda seal de control maneja la activacin en forma
completamente opuesta : con cero las salidas son puestas a 1 y permite el funcionamiento
con un uno a su entrada. La figura 3.1 muestra el circuito equivalente del decodificador.
Las salidas del decodificador binario corresponden, cada una, a un mintrmino de n
variables. Por lo tanto, cualquier funcin se puede representar como la suma de
mintrminos.
Ejemplo 3.1.- Implemente la funcin A,B,C (0,3,5,7)
La salida se valida si las entradas A, B y C tienen cualquiera de los siguientes valores: 0, 3,
5 7. Ver figura 3.2

Figura 3.2.- Funciones combinatorias realizadas con decodificadores


La gran aplicacin de los decodificadores la encontramos en los sistemas de decodificacin
de direcciones de memoria y de circuitos de entrada y salida donde es necesario que uno y
solo uno de los dispositivos utilizados (memoria entrada/salida) est activo a travs de
una direccin nica mientras que los restantes conectados al mismo punto (bus)
permanecen desconectados.
Se describen a continuacin algunos circuitos integrados decodificadores de la serie 74 LS
con sus caractersticas de funcionamiento ms importantes:
Los circuitos decodificadores pueden conectarse en cascada de la forma mostrada en el
ejemplo 3.2.

INTEGRADO DECODIFICADOR
SEALES DE HABILITACION
74LS 139
2 a 4 lneas - Doble
G (activa en cero)
74LS138
3 a 8 lneas
G1 (activa en uno)
52

74LS154
74LS42/5
74LS155

4 a 16 lneas
4 a 10 lneas
BCD a decimal
2 a 4 lneas -Doble

G2=G2A+G2B (activa en cero)


G1,G2 (activa en cero)
G1 (activa en bajo), C1 (activa en alto)
G2 (activa en bajo), C2 (activa en bajo)

Ejemplo 3.2.- Disee un decodificador de 16 lneas utilizando decodificadores de 4 lneas.


El diseo es mostrado en la figura 3.3.

Figura 3.3.- Decodificadores en cascada.


Un circuito demultiplexor toma una seal de entrada y la enruta a una de las varias salidas
definida por las entradas de seleccin del dispositivo.
Una de las entradas de habilitacin puede ser usada como una lnea de dato en aplicaciones
como demultiplexor. Verifquelo.
Ejercicio 1: Disee un decodificador de 4 a 16 lneas con decodificadores de 3 a 8.
Ejercicio 2: Disee un decodificador de 5 a 32 lneas.
3.2.- VISUALIZADORES
La interfase entre un sistema digital y el usuario se realiza a travs de dispositivos que
presentan los dgitos decimales y otros caracteres adicionales ( 10,11,12,13,14,15) . La base
de stos es el LED ( Light Diode Emitter ), el cual emite energa en el rango de luz visible
53

infrarrojo cuando es polarizado en forma directa ( positivo al nodo, negativo al ctodo) y


la intensidad depende de la corriente que circula a travs de l. Si arreglamos 7 Leds en la
forma mostrada en la figura 3.4, tenemos una interfase capaz de visualizar cualquiera de los
dgitos mostrados en la figura 3.5.
a

Estos 7 Leds pueden arreglarse de dos


formas: nodo comn y ctodo comn.

b
g

En el primero los nodos de los 7


segmentos son comunes y van conectados
a la fuente de alimentacin +V Voltios.
Para hacer prender cualquiera de ellos
basta con colocar en su respectivo
terminal de ctodo un cero lgico.
En el segundo los ctodos van al mismo
punto comn y a tierra 0 Voltios y para
encender uno de los segmentos se debe
colocar un 1 en su terminal de nodo.

c
d

Figura 3.4.- Visualizador de 7 segmentos

10 11 12 13

14 15

Figura 3.5.- Designacin numrica y visualizacin resultante


Para manejar los visualizadores de 7 segmentos de nodo comn y ctodo comn se
necesitan dos tipos de decodificadores, en el caso de TTL: el 74LS 47 y 74LS48,
respectivamente, en los cuales las salidas, normalmente a 1, se van a activar con un 0
para hacer encender el Led respectivo para el caso primer caso y, todo lo contrario para el
segundo caso.
Adicionalmente a la decodificacin BCD a 7 segmentos stos circuitos poseen 3 funciones
para el manejo de sistemas de visualizacin:
LT : Lamp Test. Al activar sta entrada todos los segmentos se activan mostrando un 8.
RBI : Ripple Blanking Input. Permite el borrado de los 0 a la izquierda de la cifra ms
significativa a travs de conexiones en cascada.
BO : Blanking Output. Apaga completamente el visualizador sin importar el nmero que
tenga a su entrada.
En la figura 3.6 se muestra la conexin tpica de un sistema de visualizacin de 7
segmentos, donde los valores de las resistencias son calculados de acuerdo al valor de la
corriente que se va a suministrar a cada segmento (intensidad luminosa).
54

Figura 3.6.- Conexin de un sistema de visualizacin de 7 segmentos


3.3.- MULTIPLEXORES:
Llamados multiplexores, selectores de datos Mux stos circuitos permiten seleccionar el
paso de una de n seales de entrada. El equivalente mecnico que describe muy bien ste
comportamiento es el suiche de varias posiciones, tal como se muestra en la figura 3.7, en
donde cada posicin es escogida mediante un nmero binario de n bits.
El circuito equivalente de un multiplexor de 2 a 1 lneas es mostrado en la figura 3.7 d)

In1
In2
In3
In4

In1
In2
Select
S0

Select
S0 S1

a)
In1
In2
In3
In4
In5
In6
In7
In8

b)

Selector
So S1 S2 S3

c)
d)
Figura 3.7.- Selectores de : a) 2 a 1 lneas , b) 4 a 1 lneas, c) 8 a 1 lneas, d) circuito
equivalente
55

Se describen a continuacin algunas caractersticas de funcionamiento ms importantes de


los circuitos integrados multiplexores de la serie 74 LS:
INTEGRADO MULTIPLEXOR
SEALES DE HABILITACION
74LS 150
1 de 16
Strobe (activa en cero habilita el
circuito).Salida W invertida
74LS 151
1 de 8
Strobe (activa en cero habilita el
circuito).Salidas Y y W complementarias.
74LS 153
2 (1 de 4)
Seleccin comn. Seales de Strobe 1G y 2G
separadas.
74LS 157
4 (1 de 2)
Strobe (activa en cero). Una palabra de 4 bits
es seleccionada de dos fuentes.
Como generador de funciones el mux permite fcilmente implementarlas colocando cada
una de las entradas en el valor de salida que corresponda a cada mintrmino. Veamos el
siguiente ejemplo mostrado en la figura 3.8 implementado con un multiplexor 74151 de 8 a
1 lneas.
Ejemplo 3.3.- Mediante multiplexores implemente la funcin
F

A , B ,C

( 2,3,6,7)

Cada una de los valores de entradas para los que la salida se valida son llevados a 1 lgico
y los restantes a 0 lgico, tal como se muestra en la figura 3.8

Figura 3.8.- El multiplexor como generador de funciones


Ejemplo 3.4.- Utilizando multiplexores 74LS151 ( 1 de 8) implemente la funcin
F

A , B ,C , D

( 2,3,5,6,7,9,12,15)

56

La funcin puede ser tabulada como se muestra en la figura 3.9. El circuito es mostrado en
misma figura.
ENTRADA SALIDA
C B A D=0 D=1
0 0 0
0
0
0 0 1
1
1
0 1 0
0
1
0 1 1
1
1
1 0 0
0
1
1 0 1
0
0
1 1 0
1
0
1 1 1
0
1
Figura 3.9.- Generador de funciones (4 variables) con multiplexores 74151
Ejemplo 3.5.- Disee multiplexores en cascada. La solucin es forma mostrada en la figura
3.10.

57

Figura 3.10.- Multiplexores en cascada.


Ejercicio 3: Realizar un multiplexor de 1 de 32 basados en mux 1 de 8 (74LS151).
3.4.- CODIFICADORES :
Estos circuitos asignan un cdigo binario nico para cada una de las seales de entrada del
dispositivo. Las salidas deben satisfacer que 2 s >= n, donde n es el nmero de entradas.
Codificador de prioridad: Este circuito muestra el equivalente en 3 bits del valor de la
lnea de entrada de ms alta prioridad (la entrada I7). La mayor aplicacin de este circuito
es en las solicitudes de interrupcin que se hacen a un dispositivo microprocesador.

INTEGRADO
74LS 147
74LS 148

CODIFICADOR
SEALES DE HABILITACION
De 10 lneas a 4
De 8 lneas a 4 E1 habilitacin activa en cero. Salidas Gs
(octal)
y EO complementarias. Conexin en
cascada a travs de EI y EO.

3.5.- COMPARADORES:
Estos circuitos permiten la comparacin en magnitud de dos nmeros de n bits, con la
posibilidad de tener conexiones en cascada para efectuar comparaciones ms grandes .
Adicional a las entradas de los dos nmeros de 4 bits el integrado 74 LS 85 posee otras tres
marcadas como A>B, A<B y A=B que pueden ser conectadas desde las salidas
correspondientes de la siguiente etapa que maneja los bits menos significativos para realizar
comparaciones de nmeros de 8, 12, 16 bits.
El integrado 74LS 682 realiza comparaciones de nmeros de 8 bits.
3.6.- CIRCUITOS ARITMETICOS:
La suma de dos bits An y Bn produce un resultado de suma y lleva (carry) especificado en
la siguiente tabla.
An

Bn

Suma

Carry
(llevo)
58

0
0
1
1

0
1
0
1

0
1
1
0

0
0
0
1

Esta sencilla funcin puede implementarse mediante una compuerta Ex-Or para el resultado
de la suma y a travs de una And para el Carry. Este circuito es denominado medio
sumador (Half Adder).
Pero normalmente en operaciones aritmticas con nmeros binarios debe incluirse no slo
los trminos de An y Bn sino tambin el Carry que viene de la anterior cifra significativa.
Este circuito es denominado sumador completo (Full Adder) y puede ser realizado con base
en circuitos medio sumadores de la forma que aparece en la figura 3.11. Las ecuaciones
para este circuitos estn dadas como :

SUM Cant A B , y, CARRY A B A B Cant

Circuito medio sumador


(Half adder)

Circuito sumador completo.


(Full adder)

Figura 3.11.- Circuitos medio sumador y sumador completo.


Con base en este sumador completo se conforman sumadores paralelos de n bits tal como
se muestra en la figura 3.12. En este arreglo es necesario esperar el tiempo suficiente para
que el carry se propague a travs de todos los circuitos sumadores.
Bn An

CCn+1n+1

FA

Sn

B2 A2

Cn

FA

S2 59

B1 A1

C2

FA

S1

B0 A0

C1

FA

S0

C0

Figura 3.12.- Circuito sumador paralelo de dos nmeros de n bits cada uno.
El 74 LS 83 es un circuito sumador paralelo de carry anticipado de dos nmeros de 4 bits
cada uno con una salida de suma de 4 bits. Posee una entrada adicional C i (carry de
entrada) y una salida adicional C0 (carry de salida). Estos permiten realizar conexiones en
cascada para suma de nmeros de ms de 4 bits.
3.6.1.- Suma en BCD :
Cuando se realiza una suma en BCD el resultado puede exceder o ser igual a 10. Si a este
nmero se le resta 10 dar el resultado correcto para el dgito pero es generado un carry en
la siguiente cifra significativa. Esta resta de 10 es equivalente a realizar la suma con el
complemento a 2`s en BCD (1010), o sea, 0110 en BCD o 6 en decimal.
Mediante un mapa de Karnaugh se puede deducir la ecuacin de Cn incluyendo el valor
correspondiente al carry de salida para detectar una suma de 10 a 19, siendo
Cn C4 S 3 S 4 S 4 S 2

La figura 3.13 muestra una configuracin bsica para un sumador BCD, donde se indican
las conexiones de los carrys siguientes y anterior para realizar montajes con varias etapas
de sumadores BCD.

Figura 3.13.- Sumador BCD

60

3.6.2.- Suma binaria acelerada look-ahead:


Al ir aumentando la longitud de la palabra en un sumador paralelo tpico, el tiempo
requerido para completar la operacin aumenta en proporcin al tiempo de propagacin de
cada una de las etapas de sumadores.
Una de las tcnicas empleadas para acelerar el proceso de suma es el denominado carry
anticipado look-ahead.
Si Ai y Bi son dgitos binarios operando en cualquiera de las etapas de un sumador se puede
definir un carry generado Gi , que se produce si los bits A y B son iguales a 1 (un carry es
generado independiente del carry de entrada). De la misma forma se define un carry
propagado Pi , para el cual si una de las entradas Ai Bi es 1 mientras la restante es 0 el
carry de salida ser identico al carry de entrada. Por lo tanto, las ecuaciones para cada una
de ellas estn dada por :
Si A y B son dgitos binarios operando en cualquiera de las etapas de un sumador se puede
definir un carry generado G1, que se produce si los bits A y B son iguales a 1 (un carry es
generado independiente del valor del carry de entrada). G0 se define como un carry de
salida 0 cuando las entradas A y B son 0, sin importar el carry de entrada. P es el valor de
la propagacin y se define como el valor del carry en el caso de que las entradas A y B sean
diferentes.
Por lo tanto, en forma general, el carry generado Gi y el carry propagado Pi se pueden
definir como :
Gi Ai Bi , y, Pi Ai Bi
Aqu, en el caso de que la XOR sea vlida, va a significar que el carry se propaga o pasa a
travs de la etapa.

La suma y el carry de salida pueden ser expresados en funcin del carry generado G i y el
carry propagado Pi como :
S i Ai Bi Ci Pi Ci
Ci 1 Ai Bi Ci Ai B i Gi Ci Pi

La figura 3.14 muestra la implementacin de una etapa sumadora con salidas de carry
1 1 0

1 1 1

1 0 1

0 1 1

A B Cin

A B Cin

A B Cin

A B Cin

Cout

Cout

61

Cout

Cout

generado y propagado.
Figura 3.14.- Etapa sumadora look ahead
3.6.3.- Circuitos multiplicadores :
El proceso de multiplicacin binaria puede llevarse a cabo mediante circuitos
combinatorios o secuenciales siendo los primeros mucho ms rpidos en respuesta que los
segundos.
A travs del ejemplo mostrado a continuacin se visualiza el procedimiento de la
multiplicacin binaria
Ejemplo 3.6.- Realice la multiplicacin de dos nmeros A y B de 4 y 2 bits,
respectivamente.
A3

A2

A1
A0
B1
B0
x
------------------------------A3B0 A2B0 A1B0 A0B0
A3B1 A2B1 A1B1 A0B1
---------------------------------------S4
S3
S2
S1
S0
La figura 3.15 muestra una implementacin de la multiplicacin de dos nmeros A y B de
cuatro y dos bits, respectivamente.

Figura 3.15.- Multiplicador de dos nmeros de 4 y 2 bits.


62

3.6.4.- Formatos de datos numricos


Existen varios esquemas para representaciones numricas que dependen del tipo de nmero
que se va a manipular teniendo en cuenta la facilidad de manejo en operaciones, el rango y
la precisin de los nmeros. Esto puede influir en la complejidad de un programa y en la
velocidad del clculo.
Entre ellos estn : enteros sin signo, signo y magnitud, complementos a 1s, complementos
a 2s y punto flotante.
3.6.4.1.- Enteros sin signo
Es la forma ms sencilla de representar un nmero. La palabra representa directamente la
magnitud del nmero; por lo tanto, el rango de nmeros a representar est dado desde 0
hasta 2n siendo n el nmero de bits de la palabra. Por ejemplo, con 8 bits se tienen
representaciones de nmeros sin signo de 0 a 255, con 16 bits de 0 a 65535, etc. La
desventaja de sta notacin estriba en que no es posible reperesentar nmeros negativos o
fraccionarios y el rango est limitado por la longitud de la palabra.
3.6.4.2.- Signo y magnitud
En sta representacin el primer bit (MSB) muestra el signo (1 negativo y 0 positivo) y los
bis restantes representan la magnitud absoluta. Ahora el rango de nmeros a representar
para una palabra de 8 bits es de 127 y para 16 bits de 32767 ; asimismo, el nmero
cero tiene dos representaciones +0 ( 0 000 0000) y -0 ( 1 000 0000). Esta notacin no es
muy utilizada debido a su complejidad para la realizacin de operaciones aritmticas. Aqu
la operacin de suma es sencilla: se suman los bits de magnitud y el signo es el mismo del
resultado. Si los signos de los operandos son diferentes es necesario restar el nmero de
mayor valor del menor y el signo del resultado es obtenido del mismo sentido del nmero
de mayor magnitud.
3.6.4.3.- Complemento a 1s y a 2s
Otra forma de representar los nmeros binarios con signo son los tipos de notaciones
denominadas complemento a 1s y complemento a 2s. En notaciones con signo el primer
bit de la izquierda es tomado como el signo del nmero que le sigue, siendo un 0 si es
positivo y 1 si es negativo.
En el caso de nmeros positivos las dos notaciones son exactamente iguales : comienzan
con un 0 y a continuacin la magnitud del nmero dado.
63

Los nmeros negativos en complemento a 1s son calculados a partir del nmero positivo
A como : (2n -1) - A. Una forma sencilla de obtener el nmero negativo es realizar el
complemento de cada bit del nmero correspondiente positivo. De esta forma, existen dos
representaciones diferentes para el nmero 0 ( +0 como 0 0000 y -0 como 1 1111), lo cual
implica un problema en operaciones aritmticas.
En complementos a 2s con una palabra de n bits, un nmero -A se representa como 2 n - A.
En esta notacin con una palabra de 8 bits podemos representar nmeros entre -128 ( 1000
0000 ) y +127 ( 0111 1111 ) y el nmero cero tiene una sola representacin 0000 0000 y el
-1 ser 1111 1111. Para complemento a 2s los nmeros negativos son calculados como el
valor en complemento a 1s + 1.
A continuacin se muestra el clculo de un nmero negativo en 4 bits.
Ejemplo 3.7.- Represente en complemento a 1s y en complemento a 2s el nmero
negativo 6.
Complemento a 1s :
2n
-1
menos +6
-6

Complemento a 2s :
2n
menos +6

1.0000
0001
-------0.1111
0101
-------1010

-6

1.0000
0101
-------1011

En la figura 3.16 se muestran las diferentes representaciones de nmeros con signo para los
decimales de +15 a -16.
Representemos nmeros positivos y negativos con signo de 5 bits :
+5 = 0. 0101

-5 = 1.1010 en notacin de complemento a 1s


-5 = 1.1011 en notacin de complemento a 2s ( C 2s = C 1s + 1).

La ventaja de la notacin de complemento a 2s est en la facilidad de generar los nmeros


negativos a travs de compuertas inversoras y sumandole 1 y de manejar las operaciones
aritmticas de suma y resta simplemente con la operacin de suma : restar es sumar con el
nmero complementado a 2s. Otra ventaja es que el signo del resultado de la operacin se
calcula automticamente.

64

Decimal
Con signo
+15
+14
+13
+12
+11
+10
+9
+8
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16

Signo y
magnitud
0.1111
0.1110
0.1101
0.1100
0.1011
0.1010
0.1001
0.1000
0.0111
0.0110
0.0101
0.0100
0.0011
0.0010
0.0001
0.0000
(1.0000)
1.0001
1.0010
1.0011
1.0100
1.0101
1.0110
1.0111
1.1000
1.1001
1.1010
1.1011
1.1100
1.1101
1.1110
1.1111
-

Complemento a
2s
0.1111
0.1110
0.1101
0.1100
0.1011
0.1010
0.1001
0.1000
0.0111
0.0110
0.0101
0.0100
0.0011
0.0010
0.0001
0.0000
1.1111
1.1110
1.1101
1.1100
1.1011
1.1010
1.1001
1.1000
1.0111
1.0110
1.0101
1.0100
1.0011
1.0010
1.0001
1.0000

Complemento a
1s
0.1111
0.1110
0.1101
0.1100
0.1011
0.1010
0.1001
0.1000
0.0111
0.0110
0.0101
0.0100
0.0011
0.0010
0.0001
0.0000
(1.1111)
1.1110
1.1101
1.1100
1.1011
1.1010
1.1001
1.1000
1.0111
1.0110
1.0101
1.0100
1.0011
1.0010
1.0001
1.0000
-

Figura 3.16.- Representacin de nmeros con signo.


Revisemos cuatro operaciones con signo bsicas en notacin de complemento a 2s:

65

La representacin de +5, -5, +7 y -7 sera:


+5 = 0. 0101

-5 = 1.1011

+7 = 0.0111

+5
+7
+12

+7
-5
+2

-7
+5
-2

0.0101
0.0111
0.1100

0.0111
1.1011
0.0010

1.1001
0.0101
1.1110

-7 = 1.1001
-7
-5
-12

1.1001
1.1011
1.0100

Al realizar todas estas operaciones en notacin de complemento a 2s los carrys se


desprecian y los resultados quedan con su signo directamente. Recuerde que es necesario
complementar a 2s los nmeros negativos (p.ej. -2, -12) para saber a que nmero
corresponden.
Miremos ahora el siguiente ejemplo
Ejemplo 3.8.- Realice en complemento a 2s la suma de +57 con +75 y 57 con 75
Cs+1

57
+75
---132

Cs

01
-----------------0 011 1001
0 100 1011
-------------1 000 0100

Cs+1

-57
+ -75
----132

Cs

10
---------------1 100 0111
1 011 0101
-------------1 0 111 1100
se desprecia el carry

Como puede verse en ambos casos el resultado de la operacin es incorrecto. Por qu ? Se


han sobrepasado los nmeros mximos positivos y negativos que se pueden representar (
127 ). Esto es llamado overflow (sobreflujo desbordamiento)
Hay dos formas de detectar este overflow :
Si los dos operandos tienen igual signo y el signo del resultado es diferente, o si los carrys
del signo Cs+1 y del ltimo bit Cs son diferentes. En este ltimo caso el overflow puede
expresarse como Cs+1 Cs . El overflow corre la coma a la izquierda.
3.6.4.4.- Punto flotante :
Representacin de informacin de magnitudes ms grandes y ms pequeas que las dadas
por sistemas de punto fijo, modificando la manera de interpretacin.
Es necesario tener en cuenta : base del sistema, signo, magnitud y base de la mantisa y del
66

exponente. Los nmeros en notacin cientfica tienen el siguiente formato:


(Signo) Mantisa x BaseEXPONENTE
La mantisa identifica los dgitos significativos de un nmero. El exponente determina la
localizacin del valor de un nmero de punto flotante sobre la lnea de nmeros reales : Si
el exponente es 0 el valor es el de la mantisa, si el exponente es un nmero grande y
positivo, el valor del nmero en punto flotante es muy grande y , si el valor del exponente
es grande y negativo, el valor del nmero en punto flotante es muy pequeo.
Un nmero en notacin de punto flotante se define como A 2 B con A y B dos nmeros
de punto fijo en complemento a 2s. La mantisa A permite defiir la resolucin del nmero
de punto flotante que puede expresarse y el exponente B define el rango de nmeros a
representar.
Punto fijo
Punto flotante

S
A(8)

M
S

16 bits
B(7)

16 bits

Resolucin de 1 en 223 equivalente a 7 dgitos decimales en rango de 2 128 (10 38 ).


Ejemplo 3.9.- Disee una unidad aritmtica que, mediante una entrada de seleccin S,
sume reste dos nmeros binarios de 4 bits con signo.
El circuito es mostrado en la figura 3.17.
Tenga en cuenta que existen algunas representaciones de nmeros binarios mayores de 9
(hasta 15) en la unidad de visualizacin de 7 segmentos y los resultados de las operaciones
estn en complemento a 2s.
Cul va a ser el valor del carry de salida (CO) en operaciones de suma y de resta ?
Qu ocurre si el valor de la suma de dos nmeros positivos o dos negativos excede la
mxima representacin en 4 bits con signo ?

67

Figura 3.17.- Sumador restador

El 74LS 181 es una Unidad Aritmtica y lgica (ALU) que realiza 16 operaciones
aritmticas binarias sobre dos palabras de 4 bits.
3.7.- OTROS CIRCUITOS COMBINATORIOS:
Otra de las funciones propias de la compuerta Ex-Or, adicional a la mencionada
anteriormente como negador , es como circuito detector de paridad : su salida es 1 si hay
un nmero impar de entradas en 1.
El circuito 74LS 280 es un generador de paridad de 9 bits que cuenta con dos salidas para
paridad par paridad impar.
El circuito integrado 74LS 284 es un multiplicador combinacional de estructuras de 8x8.
3.8.- CIRCUITOS TRISTATE Y BUSES:
Hasta ahora se han trabajado circuitos con dos estados lgicos: el cero y el uno lgicos.
Cuando se necesita conectar las salidas de los dispositivos a un mismo punto, se presenta
un grave problema: debido a la configuracin de salida (totem-pole) de estos circuitos por
las corrientes que se manejan en cada caso (entrando y saliendo en el caso de TTL) existen
sobrecorrientes que daan las etapas de salida.
La solucin plantea un tercer estado o estado alta impedancia . En este estado el
dispositivo se comporta como si no estuviera conectado fsicamente al sistema, lo cual
puede asimilarse como un suiche a la salida de una compuerta convencional y con el suiche
manejado por una seal de control externa. El smbolo y la tabla de verdad de
funcionamiento para un buffer tri-state se muestran en la figura 3.18.
68

Control Entrada
1
Entrada
0
X

Salida
Igual entrada
Alta impedancia

Este circuito es denominado buffer tristate.


Figura 3.18.- Buffer Tri-state.
Ello permite realizar conexiones tipo BUS, donde varios elementos se encuentran
alambrados al mismo punto pero debido a la caracterstica de los decodificadores se habilita
uno y solo uno de ellos mientras los dems permanecen en estado de alta impedancia.
Los buses pueden ser implementados con multiplexores
(demultiplexores) tal como se muestra en la figura 3.19.

decodificadores

Figura 3.19.- Buses de datos con multiplexores y decodificadores.


Los buses pueden ser implementados con circuitos buffer tri-State de la manera mostrada
en la figura 3.20, donde es indispensable seleccionar uno y solo uno de los buffer
conectados al bus.

69

Figura 3.20.- Bus unidireccional con buffer tri-state


De la misma forma se puede implementar un bus bidireccional con buffer tri-state tal como
el mostrado en el circuito 74LS245 (Tri-State Octal Bus Transceiver). Ver TTL Databook.
Se describen a continuacin algunas caractersticas de funcionamiento ms importantes de
los circuitos integrados tristate de la serie 74 LS :
Circuito
74LS125
74LS126
74LS251
74LS245

Caractersticas
4 Buffers con salidas activas en bajo
4 Buffers con salidas activas en alto
Multiplexor de 1 a 8 ( 74LS151) con salidas tristate.
8 Transceptores de canal bidireccional tristate

3.9.- PROPUESTA DE DISEO DE UNA UNIDAD ARITMETICA Y LOGICA.


Una unidad aritmtica y lgica (ALU) es un circuito combinacional que desarrolla
microoperaciones lgicas y aritmticas de dos operandos A y B de n bits. Las operaciones
llevadas a cabo por la ALU son controladas por un grupo de entradas de seleccin de
funcin.
Se debe disear una ALU de 4 bits con 3 entradas de seleccin de funcin : modo M ,
entradas de seleccin S0 y S1. La entrada M selecciona entre una operacin lgica (M=0) y
una aritmtica (M=1). Las funciones desarrolladas por la ALU se muestran en la siguiente
tabla. Cuando se est realizando una resta, asumiremos que el resultado es positivo ( p. ej.
A>B cuando se hace A-B).

70

M=0
S1
0
0
1
1

Lgica
S0 C0 FUNCION
0
X
A.B
AND
1
X
A+B
OR
0
X
A B XOR
1
X
A ! B NXOR

M=1
S1
0
0
0
0
1
1
1
1

Aritmtica
S0 C0 FUNCION
0
0
A
0
1
A+1
1
0
A+B
1
1
A+B+1
0
0
AB
0
1
A-B
1
0
AB
1
1
B-A

OPERACION

OPERACION
Transferencia de A
Incrementa A en 1
Suma de A y B
Incrementa la suma de A y B
Suma A con el complemento a 1s de B
Resta A menos B
Suma B con el complemento de 1s de A
Resta B menos A ( A +B+1)

Un diagrama en bloques del diseo puede verse en la figura 3.21.


Con el fin de hacer el diseo ms manejable se divide el problema en mdulos. En lugar de
disear una ALU de 4 bits como un solo circuito, se implementar primero una ALU de 1
bit (bit-slice) para con base en ella montar el circuito de 4 bits. Esta unidad tendra 6
entradas y dos salidas, lo cual la hara bastante tediosa para su diseo por tablas. Una
alternativa est en separar esta unidad de 1 bit en dos mdulos: uno lgico y uno aritmtico,
y realizar el diseo de cada mdulo en forma independiente. Ver figura 3.22.
Carry in
Data A (3..0)
Data B (3..0)
Seleccin

S1
S0

4
4

Carry out
ALU
4 bits

Salida S(3..0)

Figura 3.21.- Diagrama en bloques de una ALU

71

Ci
Ai
Ci
Bi
Ci

Ci+1
Unidad
Aritmet
1

Fi

S1
S0

Unidad
Lgica

Figura 3.22.- Esquema modular de una ALU


Para el mdulo aritmtico estudie el comportamiento de las entradas de un bit para cada
una de las operaciones. Puede utilizarse un circuito Sumador completo (Full Adder).
Cuando se trabaja con complemento a 2s para calcular A-B B-A, es posible que el bit de
carry sea generado dando un resultado errneo. Por ejemplo, si A=1101 (13) y B=0000 (0) ,
A-B=A+B+1 = 1101 + 1111 +1 = 1 1101, que es igual a 29 en lugar de 13. Esto es porque
el bit de carry en 1101 debera ser eliminado para dar: 1101. Se puede prevenir este error
usando un circuito lgico que suministrar un 0 siempre y cuando las funciones A-B B-A
han sido seleccionadas por (S0,S1,M), y de otra manera suministrar la salida de Carry Out
Co del 4 bit de la ALU.
3.10.- DISPOSITIVOS LOGICOS PROGRAMABLES (PLD) :
Son circuitos integrados programables LSI, que poseen una estructura definida y permiten
su adecuacin a una aplicacin especfica.
El ms conocido de estos circuitos es la memoria de solo lectura ROM, que es bsicamente
una matriz de datos los cuales son accesados por filas (uno a la vez). Las entradas n de la
memoria (palabras) son lneas de direccin usadas para escoger una fila de la matriz, la
cual una vez seleccionada muestra los datos correspondientes en los terminales de salida D
de b bits (tamao de la palabra).
Si hay n lneas de direccin la memoria ROM tendr 2 n palabras y la memoria tendr una
capacidad total dada por : 2n x b. Ver figura 3.23.

72

Internamente la memoria ROM contiene un decodificador y un arreglo para el


almacenamiento de la informacin tal como se muestra en la figura 3.23.
A0
Direcciones
An-1

D0
2n x b

Datos
Db-1

A0

Decoder

Arreglo 2nxb

A1
An-1
D0 D1
Db-1
Tamao de palabra

Figura 3.23.- Memoria ROM y su circuito interno.


Funcionalmente el arreglo de datos puede ser visto como un arreglo programable OR.
El tipo de ROM es determinado por la forma como los suiches son programados (puestos a
1 o puestos a 0):
ROM de mscara programable: El suiche es elaborado al mismo tiempo en que la ROM es
manufacturada. (Conexin a travs de un alambre libre).
ROM programada en campo (PROM) : El suiche es realizado con un fusible el cual
inicialmente est cerrado ya que todos los fusibles estn intactos. Para abrir un suiche el
fusible es quemado enviando una corriente mayor que la usual a travs de l. Una vez el
fusible est quemado, no puede ser reinstalado.
ROM borrable (EPROM) : El suiche es realizado por una clse especial de fusible que puede
ser restaurado a su estado inicial cerrado mediante el uso de energa extra tal como la luz
ultravioleta. Todos los fusibles se resetean cuando esto es hecho.
ROM programable electricamente (EPROM) : Los fusibles son reseteados aplicando
corrientes mayores que las usuales. Algunas veces subsecciones de la ROM pueden ser
reseteados sin resetear todos los fusibles.
Ejemplo 3.10.- Disear una unidad de memoria que posea las siguientes caractersticas:
Un microprocesador de 20 bits de direcciones y 8 bits de datos (tipo 8088) manejar 4
bancos de memoria ROM del tipo 27256, para direccionar los 128 kbytes ms altos de
direcciones. Ver figura 3.24.

73

27256

27256

A0

A0

27256

A0

27256

A0

A0

Direc
A14

A19
D0

A14

32Kx8
D0

32Kx8

A14

D0

32Kx8

A14

D0

32Kx8
D0

Datos
D7

D7

OE

D7

OE

D7

RD
CS
Microprocesa
dor

CS

A17
A18
A19

OE
CS

D7

OE
CS

En Y0
Y1
A Y2
B Y3

A15
A16

Figura 3.24.- Decodificacin completa de memoria


Mapa de decodificacin de memoria :
A19
1
1
1
1

A18
1
1
1
1

A17
1
1
1
1

Habilitacin

A16
0
0
1
1

A15
0
1
0
1

A14
X
X
X
X

....... Ao
X
X
X
X

Circuito
U1
U2
U3
U4

Direcciones
E0000 H - E7FFF H
E8000 H - EFFFF H
F0000 H - F7FFF H
F8000 H - FFFFF H

Seleccin

Figura 3.25.- Mapa de decodificacin de memoria


Mapas de memoria :

74

1M

FFFFF H
128K

32K
32K
32K
32K

128K

1FFFF H
128K

00000 H

Figura 3.26.- Mapas de memoria.

75

FFFFF H
F8000 H
F7FFF H
F0000 H
EFFFF H
E8000 H
E7FFF H
E0000 H

Captulo 4. - CIRCUITOS
SECUENCIALES
Introduccin :
En los circuitos lgicos combinatorios las salidas dependen nica y exclusivamente del
estado presente de las entradas; por lo tanto, no son capaces de recordar algn estado o
situacin anterior ( no tienen memoria ). Aquellos circuitos que tienen la capacidad de
memoria y pueden generar secuencias dependientes del tiempo controladas por el estado
actual y los anteriores son llamados circuitos secuenciales. En el caso en que dichas seales
sean manejadas por el reloj (clock) se catalogarn como sincrnicos.
En la lgica secuencial digital las variables de estado son valores binarios y con n variables
de estado binarios se tendran 2n posibles estados conocidas como mquinas de estado
finitas FSM donde los cambios usualmente son sincronizados con un sistema de reloj
(elemento maestro de temporizacin que activa los circuitos en alto o en bajo).
En este captulo se partir del anlisis de una memoria bsica, para llegar a conformar los
latchs y posteriormente los flip-flops, describiendo de cada uno de ellos su comportamiento
mediante tablas de verdad y/o diagramas de estado.
4.1.- ALGUNAS DEFINICIONES :
Estado: Una coleccin de variables de estado cuyos valores en cualquier tiempo contienen
toda la informacin acerca de los valores pasados necesarios para estimar el
comportamiento futuro.
Variable de estado: Variable cuyos valores lgicos definen un estado lgico de una
mquina. As, 3 variables de estado definen una secuencia de 8 estados posibles.
Perodo T : tiempo entre las transiciones en la misma direccin de una seal (tiempo de un
ciclo de la seal).
Frecuencia : Nmero de ciclos de una seal cclica por segundo. Se puede definir en
funcin del perodo como el inverso del perodo T.
Reloj: Evento peridico externo que determina cundo un circuito cambiar a un nuevo
estado.
Borde de reloj : Transiciones de 0 a 1 (borde de subida) o de 1 a 0 (borde de bajada) de la
seal de reloj .
76

Ciclo de trabajo (Duty Cycle) : Porcentaje del tiempo que el reloj est en un nivel de 1
lgico.
Existen dos tipos de lgica secuencial::
Circuito secuencial realimentado donde compuertas con realimentacin forman elementos
de memoria (latch y Flip-flop) usados en las mquinas de estado.
Mquinas de estado sincronizadas por reloj donde se usan Flip-flops con reloj comn para
formar aplicaciones funciones lgicas tiles.
4.2.- MEMORIA BASICA
En los circuitos secuenciales la salida depende no solamente de la seal de entrada sino del
estado anterior que tena la salida.
Analicemos el siguiente circuito :

Fig 4.1.- Memoria bsica


El estado inicial de las entradas es 0 y, por lo tanto, la salida es 0.
Miremos ahora qu pasa al variar la entrada A con la siguiente secuencia :
- Si A = 0 la salida S =0.
- Si A = 1 la salida es S=1 (las dos entradas son 1 confirmando la salida)
- Si A = 0 la salida es S=1. En este ltimo caso al llevar nuevamente la entrada A a 0 la
salida permanece en un 1, ya que ese era su estado previo.
El dispositivo que mantiene permanentemente un 1 lgico a su salida es denominado Latch
S (SET colocar a 1)
Este circuito es una memoria bsica : almacena una informacin en S y al retirar la entrada
permanece la salida en el valor previo. Para cambiar el valor almacenado es necesario
inicializar el circuito.
4.3.- LATCHS
4.3.1.- Latch S-R
Una mejora en el anterior esquema se puede llevar a cabo, y es llamado Latch S-R.
77

En un circuito latch las seales de entrada controlan el estado del dispositivo.


Analicemos la figura 4.2 :

Fig 4.2.- Latch S-R y su smbolo


Los estados de este dispositivo son controlados por dos seales de entrada denominadas S y
R. Las salidas son Q y Q donde Q es el complemento de Q.
Cuando las entradas son :

S=0 y R=1
S=1 y R=0

la salida Q del latch es 0 (Reset)


la salida Q del latch es 1 (Set)

En estos dos casos la salida no depende del estado anterior sino que es fijada a 1 0
denominadas funciones Set y Reset, respectivamente.
Cuando las entradas son : S=0 y R=0 la salida Q del latch permanece en el estado que se
encontraba anteriormente.
La combinacin S=1 y R=1 no es permitida en el latch S-R, ya que tratara de llevar las
seales de salida a 0 simultneamente. Es importante analizar qu ocurre cuando estando
las seales R y S en 1 son llevadas simultneamente a 0; las salidas quedaran oscilando
debido a que si inicialmente Q y su negado son 0, al ir S y R a 0 forzaran las salidas de las
compuertas a 1 y al realimentarse a las entradas cambiara la salida nuevamente a 0. Este
comportamiento oscilatorio es denominado condicin de carrera. Debido a que los tiempos
de retardo de las compuertas no son iguales, uno de los valores de salida de las compuertas
es establecido antes del otro, parando las oscilaciones.
Mediante una tabla de verdad se puede definir su funcionamiento as :
S
1
0
0
1

R
0
1
0
1

Salida siguiente
1
0
Misma anterior
No permitida

Estado
Set
Reset
Mantiene
Ilegal

Este mismo dispositivo puede ser implementado con compuertas Nand, negando las
entradas S y R . Ver figura 4.3.
78

Una aplicacin interesante del latch S-R realizado con Nand est en la eliminacin del
rebote (bounce ) que posee por naturaleza todo tipo de contactos. Al cerrar o abrir
cualquier contacto ste no se cierra o se abre inmediatamente sino que queda rebotando un
tiempo del orden de decenas de milisegundos. Este fenmeno es no deseable para circuitos
secuenciales ya que reconocera cada cambio (paso de cerrado a abierto y viceversa) como
una orden para realizarlo, habiendo pulsado una tecla nicamente una vez.

Fig. 4.3.- Latch S-R implementado con compuertas Nand.


En la figura 4.4.a se puede observar un circuito que produce pulsos en la salida Q al mover
alternativamente el pulsador de entrada y que, adicionalmente, elimina el efecto de rebote
de contactos mencionado anteriormente, siendo de gran utilidad en circuitos secuenciales
como generador de pulsos en forma manual.
Un circuito equivalente al especificado en la figura 4.4.a se puede realizar con compuertas
NOR. Aqu el punto central del suiche es colocado a la fuente de alimentacin,
proporcionando ahora un 1 lgico a las entradas S y R para llevar la salida Q a los valores
de 0 y 1. Se debe asegurar que cuando el suiche no est conectado a un lado, la entrada del
latch permanece estable en 0, logrando esto ltimo a travs de resistencias conectadas a
tierra desde S y R.
En este caso, si se produce un rebote del contacto (abre y cierra la conexin) la entrada del
latch retorna a 0, manteniendo la informacin de salida.

b)

a)

Fig. 4.4.- Generadores de pulsos (eliminacin de rebotes de contactos) con Nand y Nor
79

4.3.2.- Latch S-R con habilitacin


En el latch S-R estudiado si se quieren cambiar las entradas SR, de 01 a 10, por ejemplo, se
debe pasar por los estados intermedios con la posibilidad de introducir la combinacin no
deseada. Para ello se va a adicionar una tercera seal de entrada que va a servir como
sincronismo ya que se puede definir exactamente el momento en el cual se desea hacer
efectivo el cambio.
En el circuito de la figura 4.5 se muestra sta tercera seal de entrada denominada C, la
cual permite el paso no de la informacin de SR o el negado de SR para realizar los
cambios respectivos en las salidas Q y Q .

Fig 4.5.- Latchs SR con seales de habilitacin C.


Cuando la entrada C est en cero las seales S y R no tienen influencia sobre el latch y
mantiene el estado ya que sus entradas permanecen en 11. Cuando la seal C pasa a 1, los
valores que existan un instante antes producen el cambio respectivo en las salidas, pero
cualquier modificacin de las seales de entrada afecta inmediatamente la salida.
Este es un circuito manejado POR NIVEL: mientras la seal de habilitacin est en 1 todos
los cambios que se produzcan a la entrada van a afectar la salida de acuerdo a la tabla
especificada; en 0 la salida mantiene su valor.
La nueva tabla de verdad incluyendo la entrada C sera:
S
X
0
0
1
1

R
X
0
1
0
1

C
0
1
1
1
1

Salida siguiente
Misma anterior
Misma anterior
0
1
No permitida

Ejemplo 4.1. Determinar la forma de onda de la seal de salida Q de un latch SR al aplicar


las seales en S y R mostradas:
80

Es importante que los circuitos secuenciales tengan un control del estado inicial de sus
salidas Q y Q . A cada una de las compuertas del latch SR se les adiciona una tercera
entrada que normalmente van a permanecer en el estado 1 , permitiendo el
funcionamiento normal del latch.

Figura 4.6.- Seales asincrnicas de Preset y Clear


Analicemos el circuito de la figura 4.6. Cuando la entrada marcada como CLEAR es
llevada a un 0 lgico, la salida Q es obligada a pasar al estado de 0; la entrada debe
retornar nuevamente a 1 quedando habilitado nuevamente el dispositivo. Cuando la
entrada marcada como PRESET es llevada a un 0 lgico, la salida Q es obligada a pasar
al estado de 1; la entrada debe retornar nuevamente a 1 quedando habilitado
nuevamente el dispositivo.
En resumen, las seales de CLEAR y PRESET ( pulso de 1 a 0 y retorno a 1 : tal
como se aprecia en la figura) permiten llevar, asincrnicamente, la salida Q del circuito a
0 y 1 , respectivamente. Estas dos seales operan independientemente del reloj.
Nota : Nunca use las entradas asincrnicas para funciones lgicas, nicamente para
inicializacin del sistema a un estado conocido.
4.3.3.- Latch D con habilitacin :
Este tipo de latch posee una sola entrada D (Data) en lugar de S y R . Esto reduce la tabla
de funcionamiento a nicamente dos opciones tal como se muestra en la figura 4.7,
81

evitando el problema que se presenta en los latch SR al tener las entradas S =1 y R =1. El
circuito del latch D con seal de habilitacin C es mostrado en la figura 4.7

D
X
0
1

C
0
1
1

Salida siguiente
Misma anterior
0
1

Fig. 4.7.-Latch D con habilitacin.


Ejemplo 4.2. Determinar la forma de onda de la seal de salida de un latch D para la seal
D mostrada en la figura

Para resumir el funcionamiento de estos circuitos (Latch SR y Latch D) vamos a definir


para cada uno de ellos la tabla de excitacin, diagrama de estados y ecuacin caracterstica.
La tabla de excitacin permite visualizar el estado presente y el estado siguiente de
acuerdo a las entradas del circuito.
El diagrama de estado es una representacin grfica del comportamiento del circuito. Los
crculos representan las configuraciones nicas o estados del circuito y los arcos las
combinaciones de las entradas que causan una transicin de un estado a otro. La condicin
de no importa es mostrada con una d.
La ecuacin caracterstica del circuito muestra el funcionamiento del circuito a travs de
una ecuacin booleana del estado siguiente ( Q*) en funcin del estado anterior Q y las
entradas. Esta puede deducirse a travs de un mapa de Karnaugh teniendo como entradas el
valor presente Q y las entradas del circuito.
Las figuras 4.8, 4.9 y 4.10 muestran las tablas de excitacin, diagrama de estados y
ecuacin caracterstica de los latch SR, SR con habilitacin y D con habilitacin,
respectivamente.
82

Latch S R :
Tabla de excitacin :
Entradas
Estado
Presente
S
R
Q
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

Diagrama de estados :

Estado
siguiente
Q*
0
1
0
0
1
1
X
X

SR
10

0d
0

d0
1

01
Ecuacin caracterstica :
Q* S R. Q

Figura 4.8.- El latch SR


Latch SR con habilitacin
Tabla de excitacin :
Diagrama de estados :
Con
trol
C
0
0
1
1
1
1
1
1
1
1

Excitacin
S
X
X
0
0
0
0
1
1
1
1

R
X
X
0
0
1
1
0
0
1
1

Estado
presente
Q
0
1
0
1
0
1
0
1
0
1

Estado
siguiente
Q*
0
1
0
1
0
0
1
1
X
X

CSR
110

0dd
10d
0

1
101

Ecuacin caracterstica :
Q* S . C R. Q C. Q

Figura 4.9.- El latch SR con habilitacin


Latch D con habilitacin :
Tabla de excitacin :
83

0dd
1d0

Habili- Dato
tacion
C
D
0
X
0
X
1
0
1
0
1
1
1
1

Estado
presente
Q
0
1
0
1
0
1

Diagrama de estados :

Estado
siguiente
Q*
0
1
0
0
1
1

CD
11

0d
10
0

0d
11
1

10
Ecuacin caracterstica :
Q* D. C C. Q

Figura 4.10.- El latch D con habilitacin


4.4.- FLIP - FLOPS
Este dispositivo cambia de estado nicamente cuando un borde de la seal de reloj es
aplicada. El latch es un circuito tpicamente asincrnico y por lo tanto su operacin no
puede ser sincronizada con otros dispositivos. Si controlamos estos elementos mediante una
seal de reloj tenemos un flip-flop. El reloj provee dos ventajas bsicas: remueve los
hazards inherentes en los flip flop JK y T, ya que todas las entradas seran fijadas por el
momento en que llega el reloj, y nicamente una transicin es posible para cada borde de
reloj; y permite disear sistemas sincrnicos donde todas las seales son coordinadas con
otras seales (reguladas por el reloj).
El latch con habilitacin ve los datos de entrada mientras el C est activo y los ignora el
resto. Es fcil disear circuitos que generen el enganche del dato de entrada si la ventana de
muestreo es pequea cuando el latch est viendo las entradas de los datos (flip-flop). Las
entradas de reloj dinmicas y los latches que las usan reducen la ventana a un tiempo muy
pequeo alrededor del borde del reloj. Hay dos tipos de entradas de reloj dinmicas :
disparadas por flanco positivo o negativo y master-slave el cual difiere del anterior en que
tiene un comportamiento especial llamado ones catching que ser definido ms adelante.

4.4.1.- Flip-flop JK
Una de las formas de eliminar la combinacin no permitida para el latch SR , es realimentar
las seales de Q y Q tal como se muestra en la figura 4.11.

84

Teniendo J=K=1 y Q=0, las entradas al latch


sern S=1 y R=0, con lo cual la nueva salida
es Q=1 (salida complementaria). En el caso
de que la entrada Q inicialmente fuera 1, al
tener J=K=1 la nueva salida de Q sera 0.
Por lo tanto, ahora si las entradas J y K son 1
(no permitidas para el latch SR) la salida del
circuito es complementada. .

Figura 4.11.- El latch JK

El latch mostrado anteriormente seguir cambiando sus salidas (toggle) indefinidamente


hasta tanto no sean removidos los valores de J=1 y K=1. Las seales J y K no deben ser
mantenidas en alto por un tiempo mayor que el de retardo de propagacin del latch. Existen
condiciones de carrera potenciales si J y K son cero y son removidas exactamente al mismo
tiempo.
La solucin a este problema es construir un elemento de memoria en dos etapas
denominado Master-Slave.
La tabla de verdad del funcionamiento del circuito es mostrada a continuacin.
J
0
0
1
1

K
0
1
0
1

Q*
Q
0
1
Q

Funcin
Mantiene
Reset
Set
Toggle

4.4.2.- Flip-flop JK MS (Master-Slave)


El Flip-flop JK MS es manejado por el borde negativo de la seal de reloj tal como se
muestra en la figura 4.12. Al pasar la seal del reloj de 0 a 1 las entradas S y R son
aceptadas por el primer latch (Master) y generan en su salida las seales de P y su negado.
Esta salida es recibida por el segundo latch (slave) y cambia la salida del dispositivo con el
borde de bajada. La seal de salida es realimentada a la primera etapa, pero la seal del
reloj ha sido removida garantizando que las salidas no pueden cambiar cclicamente de uno
a cero y cero a uno nuevamente. En conclusin, este flip-flop JK MS muestrea las entradas
cuando el reloj est en alto y genera las salidas correspondientes justo despus de que el
reloj va a bajo.

85

Fig.4.12.- FF JK MS
La tabla de excitacin y diagramas de estados son mostrados en la figura 4.13
1
J
X

K
X

CK
0

Q*
Q

Diagrama de estados :

JK
1d

0d
0

Otra forma de presentar esta informacin,


plantea qu valor deben tomar las entradas J
y K si partiendo del estado dado por Q se
quiere llegar a Q*(despus de un borde de
reloj) :
Q
0
0
1

Q*
0
1
0

J
0
1
X

K
X
X
1

d0
1

d1

Ecuacin caracterstica :
Q* K . Q J . Q

Figura 4.13.- El flip-flop JK Master Slave


Una propiedad de los flip-flop MS es llamada ones catching : Si una entrada est en un
valor de 1 en cualquier momento durante un perodo de reloj, ser tomada como un uno
para calcular la salida (zeros catching en el caso de que los latchs sean construdos con
compuertas nand).

4.4.3.- Flip-flops disparados por flanco:


86

Una forma de eliminar el problema mencionado anteriormente para los flip-flop JK MS es


construir circuitos que muestreen la seal de entrada nicamente durante los flancos del
reloj (subida o bajada) y no mientras est en 1.
La figura 4.14 muestra un flip-flop D disparado por flanco negativo. La siguiente tabla
describe el funcionamiento del flip-flop D, la cual contempla tres casos: cuando el reloj est
en 1, cuando el reloj est en 0 y, finalmente, cuando el reloj est en cero y D cambia.

Reloj
1
0
0

Entrada D Punto 1 Punto 2 Punto 3 Punto 4


constante
D
0
0
D
constante
D
D
D
D
varia
D
D
0
D

Figura 4.14.- Flip-flop D disparado por flanco negativo.


Una forma de presentar la informacin de la tabla de transicin plantea qu valor debe
tomar la entrada D si partiendo del estado dado por Q se quiere llegar a Q*(despus de un
borde de reloj) tal como se muestra en la figura 4.15.

Tabla de transicin:
Dato Reloj
Q*

0
1
87

0
1

X
X

0
1

Q
Q

Q*

0
0
1
1

0
1
0
1

0
1
0
1

Figura 4.15.- Tablas de transicin para el flip-flop D


El diagrama de estados y la ecuacin caracterstica son mostradas en la figura 4.16
Diagrama de estados:
Smbolo :

D
1

0
0

1
1

Ecuacin caracterstica :

Q* D

Figura 4.16.- Diagrama de estados y ecuacin del flip-flop D.


Este FF D disparado por flanco analizado tiene disparo por borde negativo de un pulso de
reloj.
4.4.4.- FLIP-FLOP T (Toggle):
Una variacin del Flip-flop JK MS es el Flip-flop T (toggle). Posee un sola entrada T que
mantiene la salida Q si es 0, y en el caso de que T valga 1 la salida toma el valor negado de
la salida Q anterior. Ver figura 4.17.
T
0
1

Reloj

Q*
Q
Q

CK

Ecuacin caracterstica:
Q* T . Q T . Q

Figura 4.17.- El flip-flop T


4.5.- CONSIDERACIONES DE TIEMPOS EN FLIP-FLOPS
88

Es necesario recordar algunas condiciones que el diseador debe tener en cuenta : el ancho
de los pulsos de habilitacin del reloj debe ser suficiente para que los cambios de estado se
lleven a cabo y no cambien las entradas dentro de los tiempos de actualizacin (setup) y
mantenimiento (hold). Esto es, se define una ventana de tiempo con dos restricciones: t su
antes del evento y th despus del evento. Si las entradas no cambian dentro de la ventana el
estado ser actualizado de manera correcta.
Los tiempos mencionados pueden definirse
como sigue y son mostrados en la figura
4.18:
tsu (tiempo de actualizacin): Intervalo de
tiempo mnimo anterior al evento durante el
cual la entrada debe ser estable para ser
reconocida vlidamente.
th (tiempo de mantenimiento): Intervalo de
tiempo mnimo despus del flanco del
evento durante el cual la entrada debe ser
estable para ser reconocida vlidamente.

Ventana de muestreo

Entrada

tsu

th

Reloj

Figura 4.18.- Tiempo de setup y


hold

4.6.- CIRCUITOS EQUIVALENTES DE FLIP-FLOPS


Se muestran a continuacin en las figuras 4.19, 4.20, 4.21 y 4.22 las equivalencias entre los
diferentes tipos de flip-flop analizados. Generalmente, al flip-flop JK se le denomina Flipflop Universal ya que cualquiera de los otros puede ser diseado con base en J-K.

Fig.4.19.-Flip-flop JK usando Flip-flop D.

Fig. 4.20.- Flip-flop D usando Flip-flop JK

89

Fig. 4.21.- Flip-flop T usando Flip-flop JK.

Fig. 4.22.- Flip-flop T usando Flip-flop D sin enable y con enable.


4.7.- CIRCUITOS INTEGRADOS TTL FLIP-FLOP Y LATCHS
Existen circuitos integrados digitales TTL tpicos de Flip-flop, tales como:

74LS 73, que contiene dos flip-flop JK MS y una entrada de Clear cada uno y el 74
LS 73 A el cual es disparado por flanco negativo.
74LS 74, que contiene dos flip-flop D disparados por flanco positivo.
74LS 109 contiene dos flip-flop JK MS con entrada de Preset.
74LS 76 dos flip-flops JK disparados por flanco con preset.
74LS 75 compuesto por 4 latchs tipo D con dos habilitaciones activas en alto
compartida por 2 latches.

4.8.- RESUMEN
Hasta aqu se han analizado dos tipos de circuitos :
Sincrnicos:
Circuitos sincrnizados por el reloj en los cuales todos los componentes son manejados por
una seal comn denominada reloj. El circuito cambia de estado nicamente en relacin
con el reloj al permitir cundo tomar en cuenta las entradas y hacer los respectivos cambios
en la salida.
Las entradas sincrnicas son activas solamente mientras el borde del reloj o nivel es active;
en cualquier otro tiempo, los cambios de estas entradas no son tenidas en cuenta por el
elemento de memoria.
90

Asincrnicos :
Es aquel en el cual las entradas, los estados y las salidas pueden ser muestreadas y
cambiadas independientemente de la seal de referencia del reloj. Son entradas asincrnicas
el Preset y el Clear, el oprimir un botn para realizar un reset a un circuito sincrnico.
Entradas asincrnicas tienen efecto inmediatamente y son independientes del reloj.
La mejor manera de tratar las seales asincrnicas (p. ej. un pulsador) es sincronizarla con
el sistema del reloj a travs de Flip-Flops D.
Parmetros de tiempo : las entradas no deben cambiar mientras estn siendo muestreadas
por el reloj.
A continuacin se presenta un resumen de las ecuaciones caractersticas de los circuitos
analizados hasta ahora :
Q* S R. Q
Latch SR
Q* S . C R. Q C. Q
Latch SR con habilitacin
Q* D. C C. Q
Latch D con habilitacin
Q* D
Flip-Flop D
Q* K . Q J . Q
Flip-Flop JK MS
Q
* T. Q T. Q
Flip-Flop T
Ejemplo 4.3.-Determinar las seales de salida Q de un latch D y un flip-flop D para la
seal de entrada D mostrada.

4.9.- EL TEMPORIZADOR 555 :


El temporizador 555 es un componente integrado muy til en el diseo digital. Puede
trabajar como temporizador monostable y como oscilador astable.
4.9.1.- El 555 como monostable
Un circuito monostable genera una seal que permanece en 1 lgico por un tiempo
determinado. En el caso del 555, al introducir un pulso por la entrada de disparo (trigger),
la salida Q que inicialmente est en 0 pasa a 1 durante un tiempo determinado por los
91

valores de la resistencia Ra y el condensador Ca, al cabo del cual la seal de salida vuelve
nuevamente a 0. La configuracin del 555 como monostable es mostrada en la figura 4.23.

Fig.4.23.- El 555 como monostable

El tiempo de duracin del monostable puede programarse colocando los valores de


resistencia Ra y condensador Ca de acuerdo a la siguiente relacin :
T(seg) = 1.1.Ra.Ca
a travs de la grfica mostrada en los manual Linear Databook donde el eje horizontal,
dado en segundos, (tiempo del monostable) es funcin del valor del condensador (eje
vertical) y la resistencia (rectas graficadas).
4.9.2.- Monostables redisparables y no redisparables
En un monostable no redisparable, una vez arranca su temporizacin, la salida genera
nicamente un tiempo programado y el circuito no tiene en cuenta seales de disparo
efectuadas dentro del ancho del pulso de salida, tal como se muestra en la figura 4.24.
En un monostable redisparable si el circuito es disparado dentro de su tiempo programado,
cada pulso generar un nuevo tiempo haciendo que el ancho del pulso de salida se amplie
tal como lo muestra la figura 4.24.
Existen circuitos integrados TTL que tienen estas dos funciones: el 74 121 es un
monostable no redisparable el cual tiene entradas adicionales de disparo y a travs de
conexiones externas de una resistencia y un condensador permiten obtener tiempos
programados. Los circuitos integrados 74122 y 74123 son monostables redisparables que
poseen seal de borrado (clear) y diferentes formas de activacin del disparo.

92

Fig. 4.24.- Monostables redisparables y no redisparables


Para mayor informacin acerca de estos circuitos integrados consulte el manual TTL
Databook.

4.9.3.- EL 555 como astable


Como astable el 555 puede suministrar un tren de pulsos de frecuencia programable con
ciclo de trabajo (duty cycle) variable a travs de las resistencias Ra, Rb y el condensador
Ca. El diagrama del circuito es mostrado en la figura 4.25

Fig. 4.25.- El 555 como astable


La frecuencia de oscilacin del circuito puede calcularse a partir de las siguientes frmulas
o a travs del grfico mostrado en la figura 4.26.
Tiempo en alto t H 0,693.( Ra Rb).Ca
Tiempo en bajo t L 0,693.( Rb).Ca
El perodo de la seal es : T t H t L 0,693.( Ra 2 Rb).Ca
Y por lo tanto la frecuencia est dada por : f
93

1,44
( Ra 2 Rb).Ca

100
10

C(uF)

1,0
A=1K

0,1

B=10K
C=100K
D=1M
E=10 M

0, 01
0,001
0,1 1,0

10

100

1K

10K 100K

Frecuencia(Hz)

Fig 4.26.- Grfica para el clculo de la frecuencia de oscilacin

94

Captulo 5. - REGISTROS Y
CONTADORES
Introduccin
En este captulo examinaremos algunas aplicaciones tpicas de los circuitos secuenciales :
registros y contadores. Estos estn conformados bsicamente por flip-flops D y JK.
Los registros son unidades de almacenamiento que permiten ser ledos o se puede escribir
en ellos. Los registros de desplazamiento permiten mover el contenido de cada celda de
almacenamiento a travs de l mismo (derecha o izquierda).
Los contadores permiten que estos registros sigan una secuencia predefinida dando lugar a
conteos binarios o BCD en forma ascendente o descendente.
El diagrama de tiempos es una herramienta muy til en el anlisis de circuitos secuenciales,
ya que muestra el comportamiento de los circuitos en un espacio de tiempo donde las
entradas realizan cambios importantes.
Algunos circuitos integrados tpicos TTL de contadores y registros son estudiados
revisando sus principales caractersticas, modos de operacin y aplicaciones.
5.1.- APLICACIONES DE FLIP-FLOPS
El circuito mostrado en la figura 5.1 trabaja como divisor de frecuencia por 2, tal como se
puede ver en el diagrama de tiempos.

Fig. 5.1.- Divisor de frecuencia entre 2 y su diagrama de tiempos


Muchos sistemas requieren un sistema de reloj de doble fase para alimentar las seales de
95

reloj de algunos dispositivos microprocesadores. Vea la figura 5.2.

Fig. 5.2.- Reloj generador de dos fases y su diagrama de tiempos


Una variedad de circuitos de disparo (one-shot) se puede generar mediante el uso de flipflop, tal como se aprecia en la figura 5.3, donde el tiempo del pulso es generado debido a
los retrasos de los circuitos inversores.

Fig. 5.3.- Circuito de disparo monostable (one-shot)


5.2.- CONTADORES
La mayor aplicacin de los Flip-flops se encuentra en los circuitos contadores. A
continuacin se analizan algunos de ellos :
5.2.1.-Contadores de rizado :
Teniendo como base el circuito analizado anteriormente denominado Divisor de frecuencia
por 2, se pueden conectar 4 de esos mdulos para formar un contador asncrnico (seal de
reloj no es comn a todos los flip-flops) binario de 4 bits, donde se tienen divisiones de
frecuencia sucesivas por 2 en cada etapa (por 2, 4, 8 y 16) dando lugar a conteos de 0 a 15
en forma cclica. Este contador est limitado por su velocidad de operacin. La figura 5.4
muestra un contador ascendente de 4 bits y su correspondiente diagrama de tiempos.

96

Fig. 5.4.- Contador ascendente de 4 bits y diagrama de tiempos.


Si ahora conectamos la salida negada del flip-flop a la entrada de reloj de la siguiente etapa
construmos un contador descendente binario de 4 bits. Vea la figura 5.5 y deduzca su
diagrama de tiempos.

Fig. 5.5.- Contador descendente de 4 bits.


Para tener divisiones entre cualquier entero, diferente de 2 n (2,4,8,16) y, por lo tanto,
conteos desde 0 hasta (2n -1) se utilizan un nmero de etapas divisoras entre 2, tal que se
use la siguiente potencia superior de 2 (p.ej., contador divisor decimal debe usar 4 flipflops) y conectando las salidas de los flip-flop que son 1 para el mximo conteo a una
compuerta que ir a efectuar una operacin de borrado, tal como se muestra en la figura
5.6 (contador divisor entre 12).

97

Fig. 5.6.- Contador divisor entre 12


5.2.2.- Contadores sincrnicos :
El contador sincrnico elimina los retrasos acumulativos presentados por los contadores de
rizado. Todos los flip-flops tienen la misma seal de reloj.
En las figuras 5.7 y 5.8 se muestran un contador sincrnico de 4 bits y uno BCD. Realice el
diagrama de tiempos (17 y 11 pulsos de reloj, respectivamente) para las seales de Qa, Qb,
Qc y Qd, teniendo en cuenta que en este tipo de circuitos el reloj entra al mismo tiempo
para todos los flip-flops y, por lo tanto, en el anlisis se debe especificar el valor de cada
entrada del flip-flop J-K un instante antes de que caiga el pulso del reloj.

Fig. 5.7.-Contador sincrnico de 4 bits.

Fig. 5.8 .- Contador sincrnico BCD.


5.3.- CIRCUITOS INTEGRADOS TTL CONTADORES
Comercialmente se encuentran contadores tipo rizado, sincrnicos, ascendentes,
descendentes y programables. Se describen a continuacin algunas de las caractersticas
tcnicas y aplicaciones ms importantes :
5.3.1.-Contador sincrnico de 4 bits 74LS 161 y 74LS 163 :
98

Contadores binarios de 4 bits. Debido a las conexiones internas (reloj sincrnico) de los
flip-flops y al circuito que conforma su salida Carry Output elimina los spikes al realizar
el conteo (comportamiento propio de contadores asincrnicos -ripple clock-).
En el 74LS 163 todas las funciones son sincrnicas :
La funcin de carga coloca las salidas del contador en los valores puestos en las entradas A,
B, C y D al colocar un bajo nivel en la seal de entrada Load y esperar el prximo pulso de
reloj.
La funcin de borrado (Clear) para el 74 LS 163 es sincrnica ; un bajo nivel en esta
entrada coloca todas las salidas del contador a 0, despus de que sea aplicado un pulso de
reloj, independiente de las seales de Enable.
Las entradas de Enable P y T (habilitacin del conteo) deben ser altas para que el
dispositivo inicie el conteo.
El comportamiento del circuito 74LS 161 es similar al del 74LS 163. La nica diferencia es
que la funcin de borrado (Clear) para el 74 LS 161 es asincrnica ; un bajo nivel en esta
entrada coloca todas las salidas del contador a 0, independiente de la seal del reloj Clock,
Enable y Load. En la figura 5.9 se muestra el comportamiento de ste circuito a travs de su
diagrama de tiempos.

99

Fig 5.9.- Diagrama de tiempos del contador 74LS163


Veamos ahora algunas aplicaciones del contador sincrnico 74LS163:
Conexin en cascada :
Con el fin de tener conteos superiores a 9 se pueden conectar contadores como el 74 LS
163 en cascada tal como se muestra en la figura 5.10. Cuando el contador del dgito menos
significativo llega a 15 (1111), la salida de RCO (ripple carry output) es llevada a 1,
habilitando la siguiente etapa logrando que el contador se incremente en una unidad,
despus de lo cual la seal retorna a 0, bloquandolo de nuevo hasta el prximo valor
mximo que se produzca (15).
100

Fig. 5.10.- Contador en cascada utilizando el 74LS163.


Contador de 0111(7) a 1111(15) :
Suponga que se necesita un contador que tenga la secuencia 0111 a 1111 y se repita. Para
ello aprovechamos la seal de RCO y a travs de una compuerta inversora la conectamos a
la seal de entrada de Load, tal como se muestra en la figura 5.11.

Fig. 5- 11.- Contador de 7 a 15 utilizando el 74LS163


Al reinicializar este circuito (Reset) las salidas Qa, Qb, Qc y Qd van a cero y el valor de
0111 es alcanzado 7 ciclos de reloj despus del cual entra en la secuencia mencionada.
Contador de 0000 (0) a 1101 (13) :
Si lo que deseamos es que el contador arranque en 0000 y vaya hasta 1101, la seal de
Clear ser activada por la compuerta And de las seales Qa, Qb, Qc y Qd, con el fin de
suministrar un 0 lgico cuando el contador alcance el nmero 1101. Ver la figura 5.12.
El prximo pulso del reloj llevar efectivamente el reloj a 0000.

101

Fig. 5.12.- Contador de 0 a 13 utilizando el 74LS163.


5.3.2.- Contador sincrnico BCD 74LS 160 y 74 LS162
Estos dos circuitos integrados tienen la misma distribucin de pines y comportamiento que
el 74LS 161 y 74LS 163, teniendo como diferencia nicamente que realiza conteos BCD
( de 0 a 9).
5.3.3.- Contador de decada 7490 / Contador divisor por 12: 7492 / Contador binario
7493 :
Estos tres circuitos integrados estn conformados por cuatro flip-flops maestro-esclavo
interconectados internamente en dos etapas para proporcionar un contador divisor entre 2
en la primera y un contador divisor entre 5, 6 y 8, respectivamente. La salida del flip-flop
A no est conectada internamente. Los tres estn provistos de lneas para inhibir las
entradas de conteo y para regresar todas las salidas a 0 lgico, al nmero 9 en el caso
del circuito integrado 74LS90. Deduzca el funcionamiento de estas entradas de las tablas de
verdad mostradas en el manual de circuitos integrados TTL de Intel.
Modos de conteo (Ver tablas de verdad - Manual TTL) :
74LS90
Conectando externamente
Qa a IN B trabaja como
contador
de
decada
(BCD).
Entrada de pulsos : IN A

74LS92
Conectando externamente
Qa a IN BC trabaja como
divisor entre 12.
Entrada de pulsos : IN A.
Divisiones entre 2, 6 y 12
en Qa, Qc y Qd.

74LS93
Conectando externamente
Qa a IN B trabaja como
contador tipo rizado de 4
bits.
Entrada de pulsos : IN A
Divisiones entre 2, 4, 8 y 16
en Qa, Qb, Qc y Qd.
Conectando externamente Contador divisor entre 6.
Contador tipo rizado de 3
Qd a IN A se provee una Entrada de pulsos: IN BC bits.
divisin simtrica por 10. Divisiones por 3 y 6 en Qc Entrada de pulsos : IN B
Entrada de pulsos : IN B. y Qd.
Divisiones por 2, 4 y 8 en
Qb, Qc y Qd.
102

Divisor entre 2 en Qa.


Conectando externamente
Divisor entre 5 en Qb,Qc y Qd a IN A trabaja como
Qd con entrada en IN B.
divisor entre 12.
Entrada de pulsos : IN BC
Divisiones entre 3, 6 y 12
en Qc, Qd y Qa.
5.3.4.- Contador sincrnico ascendente y descendente BCD 74LS190 y de 4 bits 74LS
191
Estos circuitos permiten el conteo programado hacia arriba o hacia abajo de 0 a 9 en el caso
del 74LS190 y de 0 a 15 en el 74LS191. El comportamiento del circuito es descrito
mediante un diagrama de tiempos (ver especificaciones del circuito).
Los cambios de estado se realizan en la transicin de 0 lgico a 1 lgico de la seal de
entrada del reloj; la direccin del conteo es determinada por la entrada de control Up/Down
(Arriba =0 ; Abajo = 1); la seal de Enable permite que el contador sea bloqueado
inhibido aunque la seal de reloj est presente (0 habilita el contador).
Adems de la funcin de contador (BCD de 4 bits) estos circuitos integrados permiten
que datos presentes en las entradas A,B,C y D sean cargados cuando la seal de Load
(Carga) se encuentra en 0 lgico (funcin de carga paralelo). Las seales de Clear y Load
son asincrnicas, esto es, independientes del reloj y del estado del contador. Estn provistos
de dos salidas : Max/Min =1 si el contador est en 9 15 (BCD 74LS190 binario de 4
bits 74LS191) en conteo ascendente en 0 si el conteo es descendente; Ripple Clock=0 si
el Enable es 0, max/min es 1 y el reloj est en cero.
Estos contadores pueden conectarse en cascada de tres maneras :
1.- Como contador sincrnico interno pero entre etapas como contador tipo rizado, donde la
seal de salida Ripple Clock sirve como entrada de reloj de la siguiente etapa. Vea la figura
5.13.

Fig. 5.13.- Contador 74LS190 sincrnico.


2.- Como contador sincrnico donde la seal de reloj es la misma para todos ellos y la
salida de Ripple Clock maneja directamente la seal de Enable del siguiente. Vea la figura
103

5.14.

Fig. 5.14.- Contador 74LS190 sincrnico (carga tipo rizado).


3.- Como contador sincrnico con carga paralelo. Vea la figura 5.15.

Fig. 5.15.- Contador sincrnico con carga tipo rizado.


Tambin pueden trabajar como divisores programables de frecuencia : prefijando un
nmero en las entradas A, B, C y D e interconectando la salida de Ripple Clock a la entrada
de Load se logra la divisin llevando el conteo a su mximo mnimo. En la figura 5.16 se
muestra un contador divisor programable de frecuencia y los diagramas de tiempo
correspondientes para en el caso de conteo ascendente descendente.

104

Fent
7
Fent
Conteo hacia abajo : Fsal
8

Conteo hacia arriba : Fsal

Fig. 5.16.- Contador divisor entre N usando el 74 LS 190/191 y diagrama de tiempos.


En resumen, como divisor programable de frecuencia puede trabajar as :
Para conteo ascendente : Fsal

Fent
para
N

1 N 15 (N : entradas ABCD).

Fent

Para conteo descendente : Fsal 15 N para 1 N 14 (N : entradas ABCD).


5.3.5.- Contadores sincrnicos arriba/abajo 74LS192 y 74LS193 :
Contadores sincrnicos BCD y binario de 4 bits, respectivamente. La seal de reloj activa
el circuito en el borde de subida. Para programar el tipo de conteo la entrada de reloj no
usada debe ser conectada a un 1 lgico y los pulsos de conteo correspondientes a CKUP
CKDOWN segn sea el caso.
Ambos contadores poseen dos entradas asincrnicas : Load y Clear para las funciones de
carga paralela y borrado, respectivamente. Las seales de Carry y Borrow detectan cuando
se alcanza el mximo conteo, en el primer caso, el mnimo en le segundo caso. Un
105

circuito programable implementado con circuitos 74LS192 y 74LS193 se muestra en la


figura 5.17. Cuando se necesiten divisiones de frecuencia por dos o ms dgitos se puede
utilizar el circuito de la figura 5.18.

Fig. 5.17.- Contador divisor entre N usando el 74192/3

Fig. 5.18.- Ejemplo de un divisor de frecuencia entre 25 usando el 74192.


Si se utiliza un contador tipo BCD (74LS192), la frecuencia de salida ser :
fsal

fent
1A 2B 4C 8D 10E 20F 40G 80 H

donde 1 N 99 (Entrada de datos a cada contador de 0 a 9)


Si se utiliza un contador tipo binario de 4 bits (74LS193), la frecuencia de salida ser:
fsal

fent
1A 2B 4C 8D 16E 32F 64G 128 H

donde 1 N 255 .
5.3.6.- Contadores divisores entre N :
106

Cualquier contador se puede programar para que realice las operaciones de conteo y
divisin de frecuencia entre N. Para ello se compara el valor del mximo conteo y se
alimenta a las entradas asncronas de borrado del dispositivo. A manera de ejemplo se
muestra un circuito contador divisor entre 6.

Fig. 5.19.- Contador divisor entre 6 usando 7490.


De la misma forma se pueden realizar conexiones en cascada con el fin de tener contadores
divisores de cualquier valor. Ojo. contadores divisores fig 10.53,54 y 55.
5.4.- REGISTROS
La figura 5.20 muestra un registro de corrimiento implementado con flip-flops D y su
respectivo diagrama de tiempos.

Fig. 5.20.- Registro de corrimiento bsico y su diagrama de tiempos


Un registro de corrimiento con desplazamiento a la derecha y a la izquierda es mostrado en
107

la figura 5.21, utilizando Flip-flops tipo D.

Fig. 5.21.- Registro de corrimiento izquierda-derecha


5.5.- CIRCUITOS INTEGRADOS TTL REGISTROS
Se presenta a continuacin una breve descripcin de los diferentes tipos de registros TTL :
Registro
7491
7494
7495
74194
7496

#bits
Caractersticas
8
Entrada serie a travs de Nand (control A y B).
Salida serie en Q y Q . Borde de subida del reloj
4
Entrada serie y salida serie
Permite carga paralelo y borrado. Borde de subida del reloj
4
Permite carga paralelo. Salida paralelo. Realiza desplazamiento
a la derecha y a la izquierda bajo el control de M. Borde de
bajada del reloj
4
Cuatro funciones : carga paralelo, desplazamiento a la derecha
(entrada serial derecha), desplazamiento a la izquierda (entrada
serial izquierda) y no hace nada. Posee borrado.
5
Permite carga paralelo y borrado. Borde de subida del reloj.

5.6. CONTADORES ESPECIALES


5.6.1.- Contador en anillo
Tiene N estados donde N es la longitud del dgito nmero de etapas de un registro de
corrimiento; su funcin es hacer circular un 1 lgico, por lo tanto, puede verse como un
contador con su decodificador includo. El circuito mostrado en la figura 5.22 se ha
realizado con Flip-flop y es necesario realizar un autoarranque (valor inicial del 1 a
circular) de la forma mencionada.

108

Fig. 5.22.- Contador en anillo y su diagrama de tiempos


5.6.2.- Contadores Johnson
Es un contador de 2N estados. En la tabla mostrada en la figura se puede apreciar la
secuencia de conteo. Asmismo, un circuito contador Johnson con autoarranque es
presentado.

Fig. 5.23.- Contador Johnson y diagrama de tiempos.


109

110

Captulo 6. MAQUINAS DE
ESTADOS
Introduccin
Las mquinas de estado son ampliamente usadas para control lgico secuencial conformado
la parte central de muchos sistemas digitales.
Una mquina de estados es un circuito digital que sigue una determinada secuencia de
estados en una forma ordenada donde un estado es un grupo de valores tomados en
diferentes partes del circuito. Consta de elementos de memoria (Flip-Flops) que usan
entradas de reloj sincrnico, esto es, todos los flip-flops usan la misma seal de reloj, y una
lgica combinatoria encargada de suministrar los datos de la secuencia. Otro trmino usado
es mquina de estado finitas (siglas en ingls FSM).
Se definirn dos tipos de mquinas de estados: la mquina de Mealy y la mquina de
Moore.
6.1.- EL CONCEPTO DE LA MAQUINA DE ESTADOS
Con el fin de tener un concepto muy claro de lo que es una mquina de estados
consideremos el diseo de un circuito lgico que cuenta el nmero de 1s en una entrada
serial verificando si tiene una paridad impar. El circuito proporciona una salida en 1 cuando
el grupo de bits contiene nmero impar de 1s. El circuito es claramente secuencial: la
salida actual depende de la historia completa de las entradas.
El diagrama de estados mostrado en la figura 6.1 describe el comportamiento del circuito.
El circuito puede tener dos diferentes estados: un nmero impar o un nmero par de 1s. Si
la entrada contiene un 1, se cambia al estado contrario. Si la entrada es 0, permanece en el
estado actual.
1

0
Impar(1)

Par(0)

Reset

Fig. 6.1.- Diagrama de estados de verificador de paridad impar


El anterior diagrama de estados puede ser representado mediante una tabla de transicin de
estados tal como se muestra en la figura 6.2:
111

Estado presente
Par
Par
Impar
Impar

Entrada
0
1
0
1

Estado siguiente
Par
Impar
Impar
Par

Salida
0
0
1
1

Fig. 6.2.- Tabla de transicin de estados


Existen dos modelos para representar circuitos secuenciales sincronizados por reloj: la
mquina de Moore y la mquina de Mealy.
La mquina de Mealy es un circuito secuencial en el cual las salidas son funcin del estado
actual y las entradas. Los bloques mediante los cuales podemos representar este tipo de
mquina son mostrados en la figura 6.3, y son :

Lgica del siguiente estado : Bloque combinacional encargado de suministrar los


valores de excitacin de la memoria de estado dependiendo de las entradas del
circuito y los valores del estado actual.

Lgica de salida : Bloque combinacional que depende del estado actual y las
entradas

Memoria de estado : El estado presente es almacenado por n flip-flops


proporcionando 2n estados diferentes.

Entra
das

Salida
Lgica
del sgte
estado

Excitacin

Lgica
de salida

Memoria
de estado
Ck

Estado
actual

Seal de reloj

Fig. 6.3.- Mquina de estado de Mealy.


En el caso en que las salidas dependan nicamente del estado actual se configura una
Mquina de Moore. El diagrama de bloques de la mquina de Moore es mostrado en la
figura 6.4.
112

Como se puede ver, el bloque de lgica de salida depende nicamente del estado actual
dado por la memoria de estado.

Salida
Lgica
de salida

Entradas
Lgica
del sgte
estado

Excitacin

Memoria
de estado
Ck

Estado
actual

Seal de reloj

Fig. 6.4.- Mquina de estado de Moore.


6.2.- ANALISIS DE MAQUINAS DE ESTADOS
Para el circuito mostrado en la figura 6.5 describa el comportamiento a travs de un
diagrama de estados

Fig. 6.5.- Anlisis de mquinas de estados


El circuito mostrado en la figura es una mquina de Mealy ya que la salida Max depende no
solo del estado actual sino de las entradas. La seal de entrada es EN, las seales de
excitacin son D0 y D1, el estado actual est dado por Q0 y Q1 y la seal de salida es
113

MAX.
Paso 1: Determine el estado siguiente y las funciones de salida.
Para ello se describe el comportamiento del circuito a travs de las ecuaciones de excitacin
D0 y D1 para los flip-flops D0 y D1.
y,

D 0 Q 0.EN Q 0.EN
D1 Q1.EN Q1.Q 0.EN Q1.Q 0.EN

Para la funcin del estado siguiente se tiene en cuenta la ecuacin del flip-flop D: Q0* = D
Por lo tanto, las ecuaciones de transicin que describen el estado futuro sern:
,

Q 0* Q 0.EN Q 0.EN

MAX Q1.Q 0.EN

Q1* Q1.EN Q1.Q 0.EN Q1.Q 0.EN

Una mquina de estados con s bits para estados e i entradas tiene 2s+i combinaciones de
estado/entrada.
Paso 2: Tabla de transicin: A partir de las ecuaciones de transicin se elabora una tabla de
transicin que muestra todos los posibles casos, tal como se muestra en la figura 6.6.
Estado anterior
Q1
0
0
1
1

Q0
0
1
0
1

EN = 0
Q1*
0
0
1
1

Estado siguiente
EN = 1
Q0*
Q1*
0
0
1
1
0
1
1
0

Q0*
1
0
1
0

Fig. 6.6.- Paso 2: Tabla de transicin de estados


Paso 3: A partir de la tabla de transicin elabore una tabla de estados: Si a cada
combinacin de Q1 y Q0 se le asignan los estados A, B, C y D, se puede construir una tabla
de estados como la mostrada en la figura 6.7.
Estado
anterior
S
A
B
C
D

Estado siguiente
EN = 0
EN =1
S*
MAX
S*
MAX
A
0
B
0
B
0
C
0
C
0
D
0
D
0
A
1
114

Fig. 6.7.- Tabla de estados


Paso 4: Represente mediante un diagrama de estados la tabla de estados obtenida en el paso
anterior. Este diagrama es mostrado en la figura 6.8.
EN=1
MAX=0

EN=0

EN=0

EN=1
MAX=0

EN=1
MAX=0

D
EN=0

EN=1
MAX=0

EN=0

Fig. 6.8.- Diagrama de estados


El diagrama de estados muestra un contador binario de 2 bits que se incrementa cuando la
seal de En=1 y tiene una salida max que se valida cuando el circuito ha alcanzado el
mximo conteo.
6.3.- DISEO DE MAQUINAS DE ESTADO
6.3.1.- Procedimiento de diseo de FSM :
FSM : Mquinas de estado finitas : Nombre dado a las mquinas de estado debido a que la
lgica secuencial que las implementa puede estar solamente en un nmero fijo de estados
posibles.
Los pasos a seguir en el diseo de este tipo de mquinas pueden ser :
1.- Entendimiento del problema: Interprete la descripcin dada de una manera no ambigua;
se puede intentar plantear diferentes secuencias de entrada con el fin de verificar si
efectivamente las salidas generadas son las pedidas.
2.- Representacin de la FSM : Coloque el problema en una forma tal que sea fcil de
manipular por algunos de los diferentes procedimientos para disear FSM (diagramas de
estado, ASM, HDL, etc.).
3.- Minimizacin de estados : Si el comportamiento de las seales de entrada y salida es
115

duplicada en algunos tramos del diagrama de estados puede eliminarse la trayectoria


llevando a una reduccin del nmero de estados planteado.
4.- Asignacin de estados : Una buena asignacin de estados (asignar a cada estado una
combinacin de bits ) puede llevar a una minimizacin del diseo.
5.- Escogencia del tipo de Flip-flop : Generalmente la escogencia de Flip-flops J-K tiende
a reducir el nmero de compuertas y el Flip-flop D simplifica el procedimiento de diseo.
6.- Implementacin de FSM : Usando mapas de Karnaugh para las funciones de la lgica
del siguiente estado y lgica de salida se lleva a cabo la implementacin de la FSM.
6.3.2.- Ejemplo de una mquina expendedora :
Una mquina expendedora de dulces suministra uno cuando ha recibido 15 centavos en
monedas. La mquina posee una ranura que acepta monedas de 10c y 5 c, una a la vez. Un
sensor mecnico identifica el valor de la moneda insertado. Un controlador de salida libera
un dulce a travs de una ventanilla. Esta mquina no suministra cambio.
Paso 1.- Se puede dibujar un diagrama de bloques de funcionamiento, as :
D es vlido por un perodo de reloj cuando es insertada una moneda de 10c, y N lo es
cuando una moneda de 5c es insertada. La mquina coloca un 1 por un perodo de reloj
cuando 15c ms han sido depositados.
Paso 2.- Una manera de realizar una buena especificacin es enumerar las posibles
secuencias nicas de entradas configuraciones del sistema, ayudando a definir los
probables estados de la FSM. Posibles secuencias :
3 monedas de 5c en secuencia : N,N,N
2 monedas de 5c y una de 10c : N,N,D
Una de 5c seguida de una de 10c : N,D
Una de 10c seguida de una de 5c : D,N
Dos monedas de 10c : D,D.
Un primer diagrama de estados (9 estados) es mostrado en las figura 6.9. En los estados 4,
5, 6, 7 y 8 la salida Open del circuito se valida.
Reset
N

D
2

1
N

N
D

3
N

5
1
116

7
7

D
6
1

Fig. 6.9.- Diagrama de estados expendedora de dulces.


Paso 3.- Como los estados 4, 5, 6, 7 y 8 tienen el mismo comportamiento se pueden
combinar en uno solo. Se puede pensar que cada estado representa una cantidad de
monedas recibidas. Vea el diagrama en la figura 6.10
D
Reset

0c

5c

10c

N,D

15c

Fig. 6.10.- Minimizacin del diagrama de estados


Paso 4.- En este paso se realiza la codificacin de cada uno de los estados mediante la tabla
de transicin de estados. Vea la tabla de la figura 6.11
Una buena asignacin en la codificacin de los estados permitir tener una menor cantidad
de hardware necesario para implementar la mquina. Se puede realizar una asignacin de
estados naturalmente desde 00 para el estado 0c, 01 para el estado 5c, 10 para el estado 10c
y 11 para el estado 15c.
Presente
Estado
0c

5c

10c

15c

Entrada D

Entrada N

0
0
1
1
0
0
1
1
0
0
1
1
X

0
1
0
1
0
1
0
1
0
1
0
1
X
117

Siguiente
Estado
0c
5c
10c
X
5c
10c
15c
X
10c
15c
15c
X
15c

Salida
0
0
0
X
0
0
0
X
0
0
0
X
1

Fig. 6.11.- Tabla de transicin de estados


Paso 5.- A modo de comparacin se implementar este diseo con flip-flops D primero y
luego con Flip-flop J-K.
Presente
Estado
Q1,Q0
0 0
0 0
0 0
0 0
0 1
0 1
0 1
0 1
1 0
1 0
1 0
1 0
1 1
1 1
1 1
1 1

Entrada D

Entrada N

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

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

Siguiente Estado
Q1*,Q0* (D1, D0)
0
0
1
X
0
1
1
X
1
1
1
X
1
1
1
X

Salida

0
1
0
X
1
0
1
X
0
1
1
X
1
1
1
X

0
0
0
X
0
0
0
X
0
0
0
X
1
1
1
X

Fig. 6.12.- Tabla de excitacin para flip-flop D


La implementacin con flip-flop D es mucho ms sencilla ya que Q* = D. Se elabora una
tabla de excitacin donde se tienen el estado presente (Q1,Q0), las entradas N y D, el estado
siguiente (Q1*,Q0*) y el valor que deben tomar las entradas D 1 y D0. En este caso el valor
del estado siguiente y las entradas son iguales. Ver tabla de excitacin 6.12.
Los mapas de Karnaugh para deducir las ecuaciones de D 1, D0 y salida son mostrados en la
figura 6.13.
D1 Q1 D Q0 .N

Q1Q0
DN
00 01 11 10
00
01

0
0

0
1

1
1

1
1

11

10

Q1Q0
DN
00 01 11 10

00
01

0
1

1
0

1
1

0
1

11

10

118

D 0 N .Q 0 Q 0 .N Q1 .N Q1 .D

Q1Q0
DN

00 01 11 10

00
01

0
0

0
0

1
1

0
0

11

10

SALIDA Q1 .Q0

Fig. 6.13.- Mapas de Karnaugh y ecuaciones de excitacin.


La implementacin completa del circuito con flip-flops D es mostrada en la figura 6.14.

Fig 6.14.- Implementacin mediante flip-flops tipo D.


Si utilizamos flip-flops tipo J-K, an cuando la elaboracin de la tabla de excitacin es un
poco ms compleja, se obtiene un menor nmero de compuertas en el diseo final del
circuito.
As pues, la tabla de excitacin es mostrada en la figura 6.15 donde necesitamos recordar la
tabla de transicin y excitacin del flip-flop J-K.
Presente
Estado
Q1,Q0
0 0
0 0
0 0
0 0

Entrada Entrada
D
N
0
0
1
1

0
1
0
1

Siguiente
Estado
Q1*,Q0*
0 0
0 1
1 0
X X
119

J1

K1

J0

K0

Sali
da

0
0
1
X

X
X
X
X

0
1
0
X

X
X
X
X

0
0
0
X

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

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

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

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

0 1
1 0
1 1
X X
1 0
1 1
1 1
X X
1 1
1 1
1 1
X X

0
1
1
X
X
X
X
X
X
X
X
X

X
X
X
X
0
0
0
X
0
0
0
X

X
X
X
X
0
1
1
X
X
X
X
X

0
1
0
X
X
X
X
X
0
0
0
X

0
0
0
X
0
0
0
X
1
1
1
X

Fig. 6.15.- Tabla de excitacin del diseo para flip-flop J-K


Los mapas de Karnaugh para deducir las ecuaciones de excitacin para J 1,K1,J0,K0 son
mostradas en la figura 6.16.
La implementacin completa del circuito con flip-flops J-K es mostrada en la figura 6.17.
Q1Q0
DN
00 01 11 10

Q1Q0
DN
00 01 11 10

00
01

0
0

0
1

x
x

x
x

00
01

x
x

x
x

0
0

0
0

11

11

10

10

J 1 D Q0 .N

K1 0

Q1Q0
DN
00 01 11 10

Q1Q0
DN
00 01 11 10

00
01

0
1

x
x

x
x

0
1

00
01

x
x

0
1

0
0

x
x

11

11

10

10

J 0 N Q1 .D

K 0 Q1 .N

Fig. 6.16.- Mapas de Karnaugh y ecuaciones de excitacin.


120

Finalmente, el circuito con flip-flop JK es mostrado en la figura 6.17

Fig. 6.17.- Implementacin mediante flip-flops J-K

Ejemplo 6.3.3.- Controlador de dispositivos


Se desea conectar un computador a un dispositivo de salida. Es necesario un controlador de
salida, tal como se muestra en la figura, cuyas entradas son D, una seal proveniente de un
decodificador de instrucciones indicando que una salida es requerida, y una seal B (Busy),
que viene desde el dispositivo indicando cuando est ocupado. La seal de salida S es
usada para enviar datos al dispositivo.

Controlador
de salida

B(Busy)
S(Send)

En ausencia de una instruccin de salida, el sistema estar en un estado IDLE . Cuando


llega D (asuma todas las seales activas en alto) el controlador entra a un estado de espera
WAIT donde no hay salida si el dispositivo est ocupado, o va a un estado SEND con
S=1 si no est ocupado. El controlador permanece en el estado WAIT hasta que el
dispositivo se desocupe, donde una vez se active S entra al estado SEND . El controlador
permanece en SEND hasta que B(Busy) aparece, donde una vez S se desactive regresa a
IDLE.
Disee el circuito secuencial para el controlador usando flip-flop JK.
1.- Del enunciado del problema se deduce el siguiente diagrama de estados (fig.6.18):

11/0
X0/0
121

1X/0
IDLE

WAIT
1X/0
0X/1

01/1

SEND
0X/1

Fig. 6.18.- Diagrama de estados


Donde X representa la condicin de no importa y las combinaciones de entrada y valor de
salida estn marcadas como: BD/S
2.- Como tenemos tres estados se necesitan nicamente dos flip-flops
3.- Las asignaciones de estado sern: IDLE = 00 , WAIT = 01 y SEND = 11
4.- Del diagrama de estados obtenemos la siguiente tabla de estados (fig. 6.19):
Estado
presente
00
01
11

Estado siguiente
BD=00 BD=01
00
11
11
11
11
11

BD=10
00
01
00

BD=11
01
01
00

Salida (S)
BD=00 BD=01
0
1
1
1
1
1

BD=10
0
0
0

BD=11
0
0
0

Fig. 6.19.- Tabla de estados


5.- El tipo de flip-flop a utilizar es JK.
6.- La tabla de excitacin de la figura 6.20 est formada por las transiciones mostradas en la
tabla de estados. Usando la tabla de transicin de los flip-flop JK se determinan las entradas
J y K necesarias para lograr esas transiciones.

Estado
presente

Excitacin
BD=00

BD=01

BD=10
122

BD=11

Y1
0
0
1

Y2
0
1
1

J1 K1
0X
1X
X0

J2 K2
0X
X0
X0

J1 K1
1X
1X
X0

J2 K2
1X
X0
X0

J1 K1
0X
0X
X1

J2 K2
0X
X0
X1

J1 K1
0X
0X
X1

J2 K2
1X
X0
X1

Fig. 6.20.- Tabla de transicin


7.- Los mapas de Karnaugh para la salida S, J1, K1, J2 y K2 son mostrados en la figura 6.21.
BD
Y1Y2
00 01 11 10
BD
Y
Y
00 01 11 10
1 2
00 0 1 0 0
00 X X X X
01 1 1 0 0
01 X X X X
11 X X X X
11 0 0 1 1
10 X X X X
10 X X X X
J 1 B.D Y2 .B

K1 B

BD
Y1Y2
00 01 11 10

BD
Y1Y2
00 01 11 10

00 0
01 0

1
X

1
X

0
X

00 X
01 0

X
0

X
0

X
0

11 X
10 X

11 0
10 X

J2 D

K 2 B.Y1

BD
Y1Y2

00 01 11 10
00 0
01 1

1
1

0
0

0
0

11 1
10 X

J 1 B.D Y2 .B

Fig. 6.21.- Mapas de Karnaugh y ecuaciones

123

Fig. 6.22.- Diagrama del circuito

124

Captulo 7. CONTROLADORES
SINCRONICOS
Introduccin
Cuando se necesita disear un controlador sincrnico complicado, se puede experimentar
un sentimiento de ahogamiento que puede significar el retorno a los libros de texto para
repasar las tcnicas de tablas de transferencia, lgica combinatoria y secuencial y
minimizacin de componentes. Pero un mtodo general de diseo le evita al ingeniero eso y
le permite configurar un controlador de programa complejo con un mnimo de esfuerzo,
tiempo y costo.
Se analizarn los controladores sincrnicos secuenciales, no secuenciales, con prioridad de
condiciones y se mostrar un circuito para sincronizar seales externas. Otros esquemas de
conexiones son posibles para multiplexores o decodificadores de otros tamaos (por
ejemplo 8 x 1).
7.1.- CONTROLADORES DE RICHARD
El mtodo generalizado no se aplica solamente a controladores secuenciales sencillos, sino
que implementa decisiones de escogencia mltiple y del tipo SI-NO no secuenciales. El
controlador puede ser usado para indexar un estado al tiempo, para realizar saltos hacia
adelante o atrs a cualquier estado predeterminado, o para escoger cul condicin de
entrada de muchas puede hacerlo saltar a otro estado.
Tres circuitos integrados forman el ncleo del controlador del programa:
contador de k estados
multiplexor de n bits
decodificador de n bits
El numero de estados del controlador es en este caso de 2k.
El controlador puede ser programado para obedecer cierta prioridad de condiciones
(condiciones de entrada primarias y secundarias) y operaciones de salto simplemente
aadiendo ms multiplexores y decodificadores.

125

7.1.1.- Diagrama de flujo


La secuencia de eventos puede ser representada por un diagrama de flujo de los estados
individuales del programa en el cual se especifican las entradas al controlador y las
acciones de salida iniciadas en cada caso. Este diagrama puede ser convertido fcilmente a
un grupo de ecuaciones lgicas, las cuales dicen cmo conectar las entradas y salidas,
incluyendo direcciones de salto.
Para explicar cmo el controlador puede ser aplicado es necesario definir los trminos
condicin de transferencia y funcin de transferencia. Estos son mostrados simblicamente
como un rombo y un rectngulo en la figura 7.1.
Funcin
Transferencia

de

NO

Condicin de
Transferencia

SI
0
Estado

Fig. 7.1. Condicin y funcin de transferencia


El rombo representa la condicin de transferencia con decisin SI-NO. El nmero dentro
del rombo es el nmero del estado para esa condicin de transferencia. Esta condicin de
transferencia puede ser implementada fsicamente por dispositivos de dos estados como un
termostato, un flip-flop o un pulso.
La funcin de transferencia, denotado por los rectngulos en la figura 7.1, es una accin
que es empezada o parada por la condicin de transferencia. Por ejemplo, la funcin de
transferencia puede arrancar un motor. Como se muestra, una condicin de transferencia
vlida SI puede iniciar una funcin de transferencia y una NO otra funcin diferente.
Ms an, dependiendo de la aplicacin del controlador, las condiciones de transferencia
pueden ser independientes o dependientes de la funcin de transferencia. En un caso
dependiente, la condicin de transferencia podra iniciar una funcin de transferencia que
empieza un conteo de 1000 eventos. La ocurrencia del conteo nmero 1000 sirve luego
como una subsiguiente condicin de transferencia. En un caso independiente, la siguiente
condicin de transferencia puede ser una salida de un circuito temporizador ocurriendo 500
milisegundos despus de que el conteo empieza, sin importar si el conteo ha llegado a
126

1000.
7.1.2.- Diseo de un controlador secuencial de cuatro estados
Probablemente el controlador de programa ms simple es uno que secuencia de un paso al
siguiente. La fig. 7.2 contiene el diagrama de flujo de un controlador de cuatro estados. No
se requieren condiciones de transferencia del tipo NO, lo que significa que estas
condiciones regresan al mismo estado.

NO

A
0
RESET

A
SI

NO

NO

B
1

SI

NO

C
SI

D
3

D
SI

Fig. 7.2.- Diagrama flujo controlador secuencial


Las ecuaciones lgicas correspondientes derivadas del diagrama de flujo son :
FUNCION A = (ESTADO 0) * (CONDICION A)
FUNCION B = (ESTADO 1) * (CONDICION B)
FUNCION C = (ESTADO 2) * (CONDICION C)
FUNCION D = (ESTADO 3) * (CONDICION D)
Inicialmente el controlador permanece en el estado 0 hasta que la condicin A se vuelva
cierta. Una vez se valida, la funcin A se activa tomando el valor 0 (salida activa bajo de un
decodificador) si el estado es el 0 y la condicin A es 1 y se pasa al estado 1. Luego el
controlador permanece en el estado 1 hasta que la condicin B se vuelve cierta iniciando la
funcin B y pasando al estado 2 y as sucesivamente.
Este controlador de 4 estados usa circuitos integrados comerciales. Como se muestra en la
figura 7.3, el contador de estados es un contador 74LS163 de 4 bits, aunque solo se usan los
dos bits menos significativos para esta aplicacin. La salida del contador direcciona dos
circuitos: un multiplexor de 4 a 1 lneas tipo 74LS153 (dos Mux en un solo chip) para
seleccionar la condicin de transferencia correspondiente y un decodificador de 2 a 4 lneas
tipo 74LS155 (dos decodificadores) para seleccionar la funcin de transferencia
correspondiente.
127

Fig. 7.3.- Controlador secuencial de 4 estados


El funcionamiento es el siguiente: asuma que al contador se le ha dado la seal de RESET
para colocarlo en 00, correspondiendo al estado 0 del diagrama de flujo. Esto hace que el
multiplexor seleccione la condicin A a su salida Y. Cuando la condicin A es NO, la salida
Y es 0. La salida Y alimenta la entrada ENABLE del contador, y el contador no puede
incrementarse aunque tenga pulso de reloj. La salida Y tambin alimenta la entrada DATA
del decodificador lo cual inhibe (con 0) las salidas del decodificador (todas en 1). Pero
cuando Y se vuelve 1, habilita la salida correspondiente del decodificador de acuerdo a la
direccin del contador.
Cuando la condicin A se vuelve SI, suceden dos cosas : la salida Y del multiplexor se
vuelve 1 y permite al contador incrementar en EL SIGUIENTE PULSO DE RELOJ y se
habilita el decodificador al producir una salida 0 (lgica negada) en la lnea Y0
produciendo la seal de inicio de la funcin A.
Cuando el siguiente pulso sucede, el contador de estado incrementa a 01 (estado 1), la
funcin A vuelve de regreso a 0 y el multiplexor deja pasar la condicin B, pero la funcin
B del decodificador aparece solamente cuando la condicin B se vuelve SI y entonces el
contador incrementa al siguiente estado.
7.1.3.- Diseo de un controlador no secuencial
Ms complejo y realista es un controlador de programa que debe iniciar una funcin de
128

transferencia cuando una condicin es SI y otra funcin si la condicin es NO.


La figura 7.4 contiene el diagrama de flujo para un controlador que puede ejecutar
decisiones SI-NO y saltos no secuenciales.

NO

RESET

NO

0
SI

B
1

NO

NO

SI

D
SI

D
3

F
SI

Fig. 7.4. Diagrama de flujo controlador no secuencial


Por ejemplo, cuando est en el estado 1 y la condicin B es SI, se inicia la funcin C; pero
cuando la condicin B es NO, se inicia la funcin B y se salta el estado 0.
Estas son las ecuaciones lgicas:
FUNCION A = (ESTADO 0) * (CONDICION A)
FUNCION B = (ESTADO 1) * (CONDICION B) 0
FUNCION C = (ESTADO 1) * (CONDICION B)
FUNCION D = (ESTADO 2) * (CONDICION C)
FUNCION E = (ESTADO 3) * (CONDICION D) 1
FUNCION D = (ESTADO 3) * (CONDICION D)

La flecha horizontal en la ecuacin seala el estado requerido de salto, como se muestra en


el diagrama de flujo de la figura 7.4.
129

Esta implementacin es similar al controlador anterior, excepto por la adicin de un


decodificador secundario para dar las direcciones no secuenciales para esas funciones de
transferencia generadas por las dos condiciones NO. Tambin se necesitan compuertas a la
entrada de las seales de Load y A, B, C, D para llevar el contador al estado correcto. Ver
figura 7.5.

Fig. 7.5. Controlador no secuencial


La salida Y del multiplexor habilita las funciones de condiciones SI en el decodificador
primario a travs de su entrada Data1C (activa alto), y las funciones de condiciones NO a
travs del habilitador negado Data 2C. (vase caractersticas de este decodificador).
Supongamos que el controlador ha llegado al estado 3: si la condicin D es NO el contador
debe saltar al estado 1 lo cual hace habilitando la entrada LOAD del contador debido a la
conexin de la funcin FE de la salida Y3 (activa cero) del decodificador secundario
habilitado y dando la direccin de salto correspondiente a travs de las entradas D, C, B, A
(0001). Si la condicin D es SI entonces las entradas Enable del contador y la funcin FF es
habilitada haciendo que al siguiente pulso sea incrementado el contador y ejecutada la
funcin.
7.1.4.- Diseando un controlador con prioridad de condiciones
Considere una aplicacin para la cual dos entradas existen para un estado y el controlador
de programa tiene que escoger cual condicin iniciar la siguiente funcin. En este caso el
controlador debe seguir un conjunto de reglas de prioridad.
130

En el estado 0 de la figura 7.6, por ejemplo la condicin A puede representar un swiche de


un termostato el cual si est cerrado (SI) inicia la funcin A y el circuito pasa al estado 1. Si
el termostato est abierto (NO), la condicin B debe ser evaluada. La condicin B podra
ser la salida de un temporizador. En estado 0 el controlador da la primera prioridad al
termostato, pero si este no se cierra entonces despus de algn tiempo transcurrido operar
la condicin B y se salta al estado 2. Si la temperatura y el tiempo son SI, el controlador
obedece la condicin de prioridad A.

NO

NO

SI

NO

A
0

RESET

SI

NO

A
SI

C
1

NO

D
2

SI

NO

D
SI

F
3

F
SI

Fig. 7.6. Diagrama de flujo controlador con prioridad de condiciones


Las ecuaciones de diseo lgico del controlador de la figura 6 son:
FUNCION A = (ESTADO 0) * (CONDICION A)
FUNCION B = (ESTADO 0) * (CONDICION A) * (CONDICION B) 2
FUNCION C = (ESTADO 1) * (CONDICION C)
FUNCION D = (ESTADO 2) * (CONDICION D)
FUNCION E = (ESTADO 2) * (CONDICION D) * (CONDICION E) 0
FUNCION F = (ESTADO 3) * (CONDICION F)
FUNCION G = (ESTADO 3) * (CONDICION F) 2
En la figura 7.7, las condiciones de alta prioridad son las mismas condiciones primarias de
los ejemplos anteriores y son habilitadas por el multiplexor de alta prioridad. Otro
multiplexor genera las condiciones de baja prioridad. Como esta aplicacin requiere saltos
no secuenciales, las direcciones son alimentadas por el mismo procedimiento del ejemplo
anterior.
131

Figura 7.7.- Controlador con prioridad de condiciones


De inters particular es la forma como estos multiplexores estn conectados. La salida Y
del primario conecta a la entrada Enable del contador para proporcionar secuenciamiento
continuo cuando se necesite. Esta salida Y tambin va a la entrada Strobe del multiplexor
de baja prioridad para inhibir la funcin de transferencia de baja prioridad a travs del
decodificador secundario.
Analicemos el estado 0: si la condicin A es vlida (1), la salida Y del multiplexor primario
va a 1 habilitando el contador y el decodificador de funciones primario a travs de Data1C.
Con la seal de Strobe del multiplexor secundario en 1, su salida inhabilita el decodificador
secundario. Al siguiente pulso el contador es incrementado y la funcin FA es ejecutada,
llegando el controlador al estado 1. Si la condicin A no es vlida (0) el contador es
inhibido, las salidas del decodificador primario van a 1 y ahora el multiplexor secundario es
habilitado verificando la condicin B. Si sta es 0 el decodificador secundario es
inhabilitado pues tiene Data2C en 1 (activo en 0), las salidas van a 1 y el controlador
permanece en el estado 0 a pesar de que entren pulsos de reloj; si la condicin B es vlida
(1) y la condicin A an es no vlida (0) el decodificador secundario es habilitado llevando
Y0 a 0 y por lo tanto, al prximo pulso de reloj ser ejecutada la funcin FB y el contador
ser cargado con el estado 2.
7.1.5.- Sincronizacin de seales externas
132

Puede ser necesario en algunas ocasiones la sincronizacin de seales externas ( que


generan las condiciones del circuito ) para producir una condicin que genera un solo punto
de reloj, sobre todo en el caso de seales provenientes de botones externos, las cuales
pueden durar por un periodo de tiempo. Para estos casos, el circuito mostrado en la figura
7.8 puede ayudar y en la cual se muestra igualmente los diagramas de tiempo.

Fig. 7.8.- Sincronizacin de seales externas

133

134

Captulo 8. PRACTICAS DE
LABORATORIO
Introduccin
Se muestran a continuacin siete prcticas de Laboratorio que comprenden todos los temas
tratados en el presente libro. Adicionalmente se ha incluido una prctica de Instrumentacin
para aquellos estudiantes que no han tenido mucho contacto con equipos de Laboratorio
tales como osciloscopios, puntas lgicas, entrenadores digitales, analizadores lgicos, etc.
Al final de este captulo se proponen 20 ejercicios especficos de la parte combinatoria y
secuencial. Estos han sido problemas de exmenes y proyectos de la materia de Lgica
Digital en la Universidad Javeriana de Cali.

135

136

LABORATORIO DE LOGICA DIGITAL


INSTRUMENTACIN
1.- OBJETIVOS
Familiarizar al estudiante con la instrumentacin del laboratorio de electrnica digital. Para
el efecto se desarrollarn algunos experimentos sencillos que involucren mediciones. El
grupo preparar un informe sobre el resultado de estos experimentos adicionando los
diagramas, tablas y grficas tanto de los circuitos integrados como de cada uno de los
puntos del desarrollo de la prctica.
2.- INSTRUMENTOS
Osciloscopio Anlogo
Generador de funciones
Entrenador Digital
Punta Lgica
3.- COMPONENTES
2 Integrados 7404 (12 Compuertas NOT)
1 Integrado 7400 (4 Compuertas NAND)
4.- DESARROLLO DE LA PRACTICA
A.-USO DEL OSCILOSCOPIO
Con el osciloscopio observe, mida la frecuencia y amplitud de las diferentes formas de
onda. Cada integrante del grupo debe tomar por lo menos una medicin, teniendo en cuenta
de anotar en el informe la escala utilizada, el numero de cuadros etc.
Entrenador Digital
Observe y mida las seales de CLOCK y su negado para las tres frecuencias del
equipo
(1Hz, 100Hz, 1KHz).
Mida la frecuencia de lnea (60Hz) del entrenador.
B.- PUNTAS LOGICAS
Usando Las puntas lgicas verifique el funcionamiento de los entrenadores digitales
midiendo cada una de las seales suministradas por los pulsadores, switch de datos,
CLOCK, etc.

137

C.- MEDICION DE TIEMPO DE RESPUESTA


Todo circuito tiene un tiempo de respuesta, la cual puede afectar el comportamiento de un
circuito si este no ha sido diseado cuidadosamente.
En esta seccin se estudiar este comportamiento.
Usando un osciloscopio y un generador de pulsos, arme el siguiente circuito(figura 1) en el
protoboard:

Figura 1
Use un nmero grande impar de inversores(9 o 11) 7404, para que el tiempo sea medible
en un osciloscopio de 20 MHz.
Dibuje el diagrama de conexiones del 7404 y del circuito.

Vare la frecuencia del generador de pulsos. Vare el nmero de inversores. Dibuje


las formas de onda en cada caso y comente las diferencias observadas.
Cul es la respuesta observada?
Al variar la frecuencia del generador de pulsos se observa algn cambio en la
respuesta del circuito?
El nmero de inversores empleados en el circuito altera la respuesta del circuito?

5.- INVESTIGACIN
1. Investigue cual es la respuesta terica del circuito de la figura 1.
6.- CONCLUSIONES

138

LABORATORIO DE LOGICA DIGITAL

PRACTICA No 1

COMPUERTAS LOGICAS Y MINIMIZACIN DE FUNCIONES


1.- OBJETIVOS
Familiarizarse con el uso de los IC (circuitos integrados) de las familias lgicas TTL
.
Entender el concepto de retardo y su importancia al analizar y disear circuitos
lgicos.
Utilizar mtodos de minimizacin de funciones lgicas como Mapas de Karnaugh y
el procedimiento de Quine-McCluskey.
Montar con compuertas las funciones lgicas minimizadas y apreciar los beneficios
que trae la simplificacin.
Familiarizarse con el uso de herramientas de computacin como Altera que
permitan la simulacin de circuitos lgicos.
2.- MATERIALES Y COMPONENTES
Circuitos Integrados (compuertas lgicas)
Osciloscopio
Generador de Funciones
Punta Lgica
Multmetro
Entrenador Digital
3.- PREINFORME
Consultar en los manuales existentes en el laboratorio la configuracin interna de los
integrados a utilizar en la prctica de laboratorio.
Se deben traer montados todos los circuitos pedidos en el numeral 4. Utilizar interruptores
para el manejo de las entradas y LEDS que indiquen el estado de las salidas.
Investigar sobre el fenmeno de FAN-OUT en las compuertas y sobre los niveles lgicos en
las compuertas TTL.
Nota: El preinforme no es una carga, su intencin es agilizar el tiempo del desarrollo de la
prctica en el laboratorio. Piense en la economa, las compuertas se repiten en los montajes
y se dar cuenta que la distribucin de los terminales en los CI TTL generalmente es muy
parecida o igual.

4.- PROCEDIMIENTO
139

4.1 Montar el siguiente circuito:

Figura 1.
Use un nmero impar grande (9 o 11) de compuertas NOT (7404), para que el tiempo sea
medible en un osciloscopio con un ancho de banda de 20MHz.
Aplique a (fr entrada) una onda cuadrada con voltajes entre 0V y 5V (TTL) y mida con el
osciloscopio la forma de onda en (fr salida) Variar la frecuencia del generador y variar el
nmero de inversores. Dibuje las formas de onda y analice el comportamiento del circuito.
Responda:
Cul es la respuesta terica del circuito?
Cul es la respuesta observada?
Al variar la frecuencia del generador se observa algn cambio en la respuesta del
circuito?
El nmero de inversores empleado afecta el funcionamiento del circuito?
4.2 Montar la siguiente configuracin NAND TTL, luego reducir la resistencia hasta que el
voltaje empiece a caer. Tomar los datos iniciales y finales de corriente y voltaje:

Figura 2

Analizar el fenmeno de FAN-OUT.

4.3 Disee un multiplicador combinacional de 2 bits (2 bits para cada entrada y 3 bits para
la salida). Montar el circuito diseado usando el menor numero de integrados posibles.
Use los mtodos de minimizacin de funciones vistos en clase.
5.- INFORME

140

5.1 Describir el comportamiento terico que tiene la configuracin de la figura y explicar que tipo
de fenmeno fsico provoca este comportamiento.

Figura 3.

5.2 Que sucedera si en el numeral 4.3 se reemplaza una compuerta TTL por una compuerta
MOS sin alterar el resto de las condiciones? Que precauciones se deben tener en cuenta si
se desea que funcione correctamente?.
5.2 Deducir las ecuaciones lgicas para un circuito que reste dos nmeros binarios de 2 bits
y produzca los bits de resta y un bit que indique si el resultado obtenido es o no negativo (1
= negativo ). Minimizar las ecuaciones obtenidas.
5.3 Realizar las simulaciones en Altera de los numerales 4.3 y 5.2. Entregar el respectivo
diskette.
5.3 Investigar la definicin de Hazard. Proponer una solucin para el siguiente circuito.

Figura 4.

6.- CONCLUSIONES
7.- BIBLIOGRAFA

141

142

LABORATORIO DE LOGICA DIGITAL

PRACTICA No 2

DISEO Y SIMULACIN DE CIRCUITOS COMBINATORIOS


1.- OBJETIVOS
Familiarizarse con el simulador LogicWorks y la herramienta Altera
Adquirir experiencias en el diseo y simplificacin de circuitos combinatorios
Desarrollar habilidad en los procesos de montaje y cableado de un circuito
combinatorio
Aprender a realizar circuitos lgicos en la herramienta Altera, utilizando el lenguaje
AHDL
2.- MATERIALES Y EQUIPOS
Circuitos Integrados(compuertas lgicas requeridas para su diseo)
Punta Lgica
Entrenador Lgico
Cables, caimanes
3.- PREINFORME

Investigar que son compuertas con colector abierto e indagar sobre sus posibles
usos, ventajas y desventajas. Explicar y bosquejar la forma en que se debe
implementar un circuito con dichas compuertas.
Investigar sobre los diferentes tipos de display de 7 segmentos existentes, explicar
las diferencias entre ellos y bosquejar la forma correcta de disear un circuito con
cada uno de estos.
Realizar el diseo de un circuito combinatorio que cumpla la funcin de decodificar
un numero hexadecimal a su valor equivalente en 7 segmentos. Adems, existe una
entrada (C) mediante la cual se indicara si el numero a representar esta (C=1) o no
(C=0) en complemento a dos. En caso de que el numero se encuentre en formato de
complemento a dos, un led indicara su signo (encendido para negativos), de lo
contrario el led deber estar apagado. Recuerde simular el circuito el LogicWorks
antes de realizar el montaje.
Nota: Recuerde las entradas con switches y que tipo de display usa para mostrar las
salidas.
4.- PROCEDIMIENTO
Verificar los montajes del diseo y resolver posibles problemas que se presenten

5.- INFORME
143

Simular el diseo del preinforme en Logic Works o Altera. Presentar la simulacin


para tres entradas distintas y entregar el diskette.
Disear un circuito que permita comparar 2 nmeros (N1 y N2), cada uno de 4 bits,
dados en formato de complemento a dos. El circuito poseer tres salidas: MAYOR,
IGUAL Y MENOR, de las cuales, solo una de ellas estar en algn momento en 1,
indicando la relacin entre N1 y N2 (es decir, si N1 > N2 -> MAYOR = 1, IGUAL
= 0, MENOR = 0). Tener en cuenta que los nmeros son enteros con signo. Procurar
usar el enfoque de diseo estructurado. Simular en Logic Works. Presentar el
diagrama esquemtico, la simulacin para tres parejas de entradas distintas y
entregar el diskette.
Tomando el circuito del numeral anterior como un modulo, disear un comparador
para nmeros de 10 bits. Simular el diseo en Altera. Presentar el diagrama
esquemtico, la simulacin para tres parejas de entradas distintas y entregar el
diskette.
Realizar el diseo del preinforme en Altera, en lenguaje AHDL. Simular el circuito
y entregar el diskette.

6.- CONCLUSIONES
7.- BIBLIOGRAFIA

144

LABORATORIO DE LOGICA DIGITAL

PRACTICA No 3

DISEO Y SIMULACIN DE CIRCUITOS COMBINATORIOS


1.- OBJETIVOS
Familiarizarse con el simulador LogicWorks
Adquirir experiencias en el diseo y simplificacin de circuitos combinatorios
Desarrollar habilidad en los procesos de montaje y cableado de un circuito
combinatorio
Aprender a realizar circuitos lgicos en la herramienta Altera, utilizando el lenguaje
AHDL
2.- MATERIALES Y EQUIPOS
Circuitos Integrados(compuertas lgicas requeridas para su diseo)
Punta Lgica
Entrenador Lgico
Cables, caimanes
3.- PREINFORME
Realizar el diseo de un circuito combinatorio que cumpla la funcin de quasidecodificar
un nmero octal a su valor equivalente en siete segmentos segn la tabla 1. Utilizar el
mtodo de minimizacin de Quine Mckluskey para simplificar el circuito, y simular el
circuito el LogicWorks antes de realizar el montaje.
TABLA1
Nmero 000
Imagen 5

001
6

010
7

011
8

100
9

101
A

110
b

111
C

Traer el circuito montado para la prctica y conectado a un despliegue, tener en cuenta que
esta conexin no debe ser directa, cada lnea debe tener una resistencia limitadora del orden
de 200 a 50 Ohms s la fuente de alimentacin esta alrededor de los 5 voltios.
Nota: Tener muy en cuenta el tipo de despliegue(nodo o ctodo comn) que se va a utilizar
antes de realizar el diseo.

145

Figura 1 : Decodificador de 3 entradas (Oct) a 7 segmentos


4.- PROCEDIMIENTO
Verificar los montajes de los diseos realizados y resolver posibles problemas que se
presenten.
5.- INFORME
Disear un circuito que permita mostrar 2 valores hexadecimales en 2 despliegues
diferentes utilizando una sola unidad de decodificacin(no hay que disearla), es decir un
circuito controlado por una seal que sea capaz de conmutar la entrada al decodificador y
su salida sincrnicamente. Simular el circuito en Altera (AHDL).

Figura 2.- Circuito Decodificador Hex-7 seg de dos nmeros en dos despliegues
6.- CONCLUSIONES
7.- BIBLIOGRAFIA

146

LABORATORIO DE LOGICA DIGITAL

PRACTICA No 4

DISEO DE CIRCUITOS COMBINATORIOS CON DISPOSITIVOS MSI


1.- OBJETIVOS
Utilizar el simulador WaveForm para crear circuitos al nivel de bloques funcionales.
Adquirir experiencia en el diseo y simplificacin de circuitos combinatorios con
elementos MSI.
2.- MATERIALES Y EQUIPOS
Circuitos Integrados
Punta Lgica
Entrenador Lgico
Cables, Caimanes
3.- PREINFORME
Disear, simular y realizar el montaje de un circuito con cuatro canales (A, B, C, D) cada
uno con un ancho de 4 bits y dos seales de control C1 y C0, el cual acte de la siguiente

forma:
Se deben usar microswitches para el manejo de los datos de entrada y LEDS para la
visualizacin de las salidas.
Para el diseo de los circuitos solo es posible el uso de un (1) comparador y un (1)
sumador.
4.- PROCEDIMIENTO
4.1 Verificar el funcionamiento del circuito en todas sus modalidades.
4.2 Explicar como se realiz el diseo, se deben tener las simulaciones en Altera y el
diagrama esquemtico a nivel de bloques de todo el circuito.
147

5.- INFORME
5.1 Realizar el siguiente diseo. Donde A y B son de 4 bits, y C de 8 bits.

Nota: Cuando el control esta en 0 en la operacin no se debe perder ningn dgito, por lo
cual la respuesta debe ser exacta. Cuando el control esta en 1 el sumador se comporta como
BCD, por lo tanto los dgitos que aparezcan en la respuesta solo pueden ser BCD.
Realizar el diseo tanto con archivos grficos (*.gdf), como en AHDL.
6.- CONCLUSIONES
7.- BIBLIOGRAFIA

148

LABORATORIO DE LOGICA DIGITAL

PRACTICA No 5

DISEO DE CIRCUITOS UTILIZANDO FLIP FLOPS Y MONOESTABLES


1.- OBJETIVOS
Adquirir experiencia en el diseo de circuitos con flip-flops y monoestables.
Identificar diferentes aplicaciones de los flip-flops.
Familiarizarse con los dispositivos fotoelctricos y su uso.
2.- MATERIALES Y EQUIPO
Circuitos Integrados
Punta Lgica
Multmetro
Fuente
Pulsadores (para el circuito de la figura 2)
3.- PREINFORME
3.1.- La figura 1 representa un sistema de seguridad, ste cuenta con un buzzer(timbre), una
fotorresistencia y un led. Mientras la fotorresistencia reciba luz del led el buzzer se
mantendr en silencio. En el momento en que el flujo de luz sea interrumpido el buzzer
empezar a sonar. Para poder desactivar el buzzer existe el pulsador denominado RESET,
as mismo, esta el pulsador TEST que cuando se cierra activa el buzzer por tres segundos y
luego se apaga. Disear un circuito que cumpla con la descripcin anterior y montarlo.

Figura 1
3.2.- El circuito de la figura 2 tiene la funcin de probar circuitos antirrebote, cuando el
mdulo identificado como contador recibe un pulso generado por el circuito antirrebote este
incrementa en 1 el nmero que tiene consignado a su salida. El decodificador y el
despliegue sirven para ver de manera inmediata que valor hay a la salida del contador. Use
149

como contador el integrado (74163) y tambin use como decodificador el 7447 para un
despliegue de nodo comn. El antirrebote se incluye como anexo.

Figura 2
4.- PROCEDIMIENTO
4.1 Verificar el funcionamiento del circuito alarma, con cada una de sus seales de
activacin (fotorresistencia), RESET, TEST).
4.2 Verificar el funcionamiento del circuito probador (antirrebote) utilizando 3 tipos
diferentes de pulsadores.
5.- INFORME
5.1 Disear el circuito primero en llegar, nico en salir mostrado en la figura 3. Este
circuito funciona de la siguiente manera:
Sea Ei (1,2,3,4):
Si Ei se activa entonces Si se activa indefinidamente y todas las Sk son bloqueadas con k i
k (1,2,3,4).
Para Desactivar Si se debe generar un pulso en la entrada RESET

Figura 3
5. CONCLUSIONES
6. BIBLIOGRAFA

150

LABORATORIO DE LOGICA DIGITAL

PRACTICA No. 6

MAQUINAS DE ESTADOS
1.- OBJETIVOS
Adquirir habilidad en el anlisis de circuitos secuenciales.
Identificar las ventajas y desventajas del diseo de mquinas de estados con flipflops tipo D y flip-flops tipo JK.
2.- MATERIALES
Circuitos Integrados
Pulsadores
Resistencias y condensadores
Punta Lgica
Fuente
3.- PREINFORME
La figura 1(este circuito es entregado como un archivo anexo en formato gdf de
ALTERA PRACTICA5.gdf) es una mquina de estados que controla dos motores. Cada
una de las salidas activa una accin en los motores de acuerdo a la tabla 1:
Salida
Z0
Z1
Z2
Z3

Accin
Encendido M1
Direccin M1
Encendido M2
Direccin M2

La mquina de estados tiene las siguientes caractersticas:

Dos entradas P1 y P0 las cuales consisten en pulsadores con un tiempo alto mayor
que 1 segundo y menor que 2 segundos.
El reloj de la mquina tiene una frecuencia de 1Hz. (Opcionalmente puede ser un
pulsador con su antirrebote).
El nmero de estados que maneja la mquina es 5, los cuales representan diferentes
combinaciones de las acciones individuales de los 2 motores, las cuales estn
definidas en la tabla 2.

151

Estado
0
1
2
4
5

Accin
Los dos motores se encuentran apagados.
Motor 1 gira a la derecha, motor 2 esta apagado.
Ambos motores giran a la derecha.
Motor 1 esta parado, motor 2 gira a la izquierda.
Ambos motores giran a la izquierda.

El nmero que se encuentra en la columna Estado, representa la combinacin que tienen los
flip flops (Q2,Q1,Q0) para esa accin.
Se recomienda utilizar dos motores de 6V reversibles con una configuracin H para el
control de cada uno.
Se deben usar las leds para visualizar el estado en que se encuentra la mquina.
Para el da de la practica se debe traer montado el circuito de la mquina de estados, junto
con el anlisis de la misma(de forma escrita).
4.- PROCEDIMIENTO
En la prctica se verificar que el montaje realice las secuencias indicadas.
5.- INFORME
Realizar el diseo de la mquina de estados que se monto con flip flops JK.
6.- CONCLUSIONES
7.- BIBLIOGRAFA

152

LABORATORIO DE LOGICA DIGITAL

PRACTICA No 7

DISEO, SIMULACIN I SNTESIS DE UNA MQUINA DE ESTADOS


DISEADA EN VHDL
1.- OBJETIVOS
Profundizar en el aprendizaje de una herramienta como Altera
Adquirir experiencias en el diseo , simulacin de un circuito digital
Aprender como se programa un chip de Altera
Aprender a realizar circuitos lgicos en la herramienta Altera, utilizando el lenguaje
VHDL
2.- MATERIALES Y EQUIPOS
Leds, sensores (puede ser un pulsador) , etc. requeridas para su diseo.
Punta Lgica
Entrenador Lgico
Cables, caimanes
3.- PREINFORME

La prctica consiste en implementar la mquina de estados de 2 semforos en un


cruce de 2 vas ,una principal y otra secundaria, propuesto en clase. La mquina
deber ser realizada en VHDL.

Traiga montado, la circuitera adicional necesaria, leds, resistencias, pulsadores,


circuitos antirebote, etc.

Compile su programa hasta que este libre de errores, y proceda luego a la


simulacin.

Verifique que su programa obtenga las salidas esperadas, que se cumplen las
condiciones de tiempos de espera para cada estado, as como los cambios de estado
esperado, segn la condicin del sensor.

Guarde en su disquete varias de las simulaciones de su diseo, de manera que pueda


comprobar el da de la prctica el correcto funcionamiento de su diseo (diseo
que no demuestre estar correcto, no se quema).

4.- PROCEDIMIENTO

Si todo lo anterior se ha cumplido, se proceder a la utilizacin del chip

Conecte su chip con la circuitera externa que trajo para la prctica. Recuerde tener
153

en cuenta las resistencias de proteccin y los valores de corriente source y sink del
chip. Si es del caso consulte en el manual del mismo
5.- INFORME

Revisar el archivo .RPT , e indicar el porcentaje de Logic Blocks usadas por su


diseo

Utilice las herramientas que Altera le ofrece, para determinar el tiempo de reloj
mximo que su diseo podra soportar en el chip en que se realiz la prctica.

6.- CONCLUSIONES
7.- BIBLIOGRAFIA
RECOMENDACIONES

Una seal de reset puede ser necesaria, segn su diseo.

Utilice los datos tipos STD_LOGIC y STD_LOGIC_VECTOR que se encuentran en


la biblioteca IEEE y que se incluyen (algo parecido a C, con el include) con las
lneas:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;
USE ieee.std_logic_unsigned.ALL;

8.2.- Ejercicios propuestos


154

1.- Disee un circuito combinatorio con tres canales A, B, C de 4 bits c/u que realice las
siguientes funciones de acuerdo al estado de dos controles S1 y S0, as:
S1
0

S0
0

0
1
1

1
0
1

FUNCION
Si (A+B)>10 =>
C A+B,
si no C B/2
C 2B A
CA + Menor (A,B)
Si B par => CA+1
si no CA-1

2.- Dada la siguiente tabla de funciones y diagrama de bloques, disee la lgica


combinacional requerida para los dos bloques de funcin.
S1
0
0
1
1

S0
0
1
0
1

Funcin
F= Comp 2s de B
F =A B
F =A+ B
F=A

S1 S0
An

Co

LC

LC

S
Bn

Gn

Ci

3.- Disee un sistema de visualizacin de 4 dgitos utilizando nicamente un decodificador


de BCD a 7 segmentos que permita mostrar 4 nmeros A, B, C, D expresados en BCD.
4.- Un microprocesador Z80 tiene 16 bits de direcciones y 8 bits de datos. Llene el
siguiente mapa de decodificacin de memoria para 3 bancos de memoria M1, M2 y M3 de
4K, 2K y 2K bytes, respectivamente, que comienzan en las direcciones 0000H, 1800H y
2000H. Coloque las direcciones finales de cada banco.
A15 A14 A13 A12 A11 A10 ......

A0

Direcciones
0000H1800H2000H-

Banco
M1
M2
M3

Para el problema planteado, disee el sistema de decodificacin de memoria.

5.- Diseo de una ALU de 4 bits : Una unidad aritmtica y lgica (ALU) es un circuito
combinacional que desarrolla microoperaciones lgicas y aritmticas de dos operandos A y
155

B de n bits. Las operaciones llevadas a cabo por la ALU son controladas por un grupo de
entradas de seleccin de funcin.
Se debe disear una ALU de 4 bits con 4 entradas de seleccin: S3, S2, S1 y S0.
Adicionalmente, algunas funciones son realizadas dependiendo del valor que tome C in. Las
funciones desarrolladas por la ALU se muestran en la siguiente tabla.
S3 S2 S1 S0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

Cin = 0
F = A ( Transferencia )
F = A + B ( Suma )
F = A B 1 ( Resta menos 1 )
F = A 1 ( Decremento )
F = A AND B
F = A OR B
F = A XOR B
F = A (complemento)
F = Logical shift right A
F = Rotate right A
F = Rotate right A with carry
F = Arithmetic shift right A
F = Logical shift left A
F = Rotate left A
F = Rotate left A with carry
F = Arithmetic shift left A

Cin = 1
F = A + 1 ( Incremento)
F = A + B + 1 ( Suma ms 1 )
F = A B ( Resta )
F = A ( Transferencia )

Con el fin de hacer el diseo ms manejable se divide el problema en mdulos funcionales (


por ejemplo: unidad aritmtica, unidad lgica, unidad de corrimiento a la derecha y unidad
de corrimiento a la izquierda) y se multiplexan las salidas de los bloques funcionales. En
lugar de disear una ALU de 4 bits como un solo circuito, se implementar primero una
ALU de 1 bit (bit-slice) para con base en ella montar el circuito de 4 bits.
6.- Disee un circuito combinatorio que permita ordenar en forma ascendente 3 nmeros de
4 bits cada uno.
7.- Disee un circuito combinatorio que permita determinar si dados 3 nmeros de 4 bits A,
B y C (los cuales representan 3 lados de A, B y C) se puede construir con ellos un tringulo.

8.- Dados dos nmeros A y B expresados en BCD, visualice en forma EXACTA el


resultado de la siguiente operacin : ( A B ) x

3
.
8

9.- Visualice en forma EXACTA el resultado del promedio de 4 nmeros BCD


156

10.- Disear un procesador digital sincrnico que reciba en sus entradas A0 a A7


informacin de un digito en BCD natural y una orden de operacin ST. Al producirse dicha
orden, el sistema ha de realizar las siguientes operaciones:
Almacenamiento en paralelo de la informacin presente en las entradas Ao a A7
Comparacin del numero almacenado con otro numero preprogramado en el sistema
e indicacin mediante la salida Z1 del resultado de dicha comparacin.
Salida en serie de la informacin a travs de Z2 si el numero almacenado es menor
que el preprogramado e inhibicin de dicha salida en caso contrario.
Realizadas estas operaciones, el sistema quedara preparado para recibir una nueva orden de
operacin.
11.- Un procesador digital recibe una orden externa de operacin ST y simultneamente dos
nmeros A y B en paralelo de 8 bits codificados en el sistema binario natural
mediante el convenio del complemento a dos con bit de signo. A la recepcin de
dicha orden el sistema ha de realizar :
Memorizacin de ambos nmeros A y B en sendos registros R1 y R2
respectivamente.
Deteccin de la paridad de ambos nmeros A y B.
Si ambos son de paridad par, se realizara la diferencia B-A y el resultado se
almacenara en un nuevo registro R3.
Si cualquiera de los dos nmeros es de paridad impar , se realizara la diferencia A-B
y el resultado se almacenara en R3.
Tanto si se ha efectuado la operacin indicada en c) , como la d), se realizara la
suma de A+B y se almacenara en el registro R2.
12.- Disear un procesador digital sincrnico que realice en serie la suma de dos nmeros
binarios A y B de ocho bits cada uno que se presenten a su entrada en paralelo. El
sistema ha de cumplir las siguientes especificaciones :
Al aplicar tensin al sistema, este permanecer inactivo hasta que se reciba una
orden exterior de suma ST.
La operacin de suma se iniciara con ST.
Una vez finalizada la operacin de suma, el sistema quedara preparado para realizar
un nuevo proceso cuando vuelva a recibir la seal externa ST.

13.- Disear un procesador secuencial sincrnico que realice la multiplicacin de dos


nmeros de cuatro bits codificados en el sistema binario natural por el procedimiento de
desplazamiento. Las especificaciones de operacin son las siguientes :
Al aplicar tensin al sistema , este permanecer inactivo hasta que se reciba la orden
ST.
Una vez finalizado el proceso, el sistema quedara preparado para realizarlo de
nuevo, cuando vuelva a recibir la orden ST.
157

El multiplicando y el multiplicador se aplicaran en paralelo al sistema y se


almacenaran en sendos registros R1 y R2. El resultado se almacenara en un tercer
registro R3.

14.- Disear un procesador digital sincrnico que posea una entrada en paralelo de
informacin procedente de dos convertidores anlogo-digitales cuya salida es un
numero positivo codificado en binario natural de 8 bits.
Al recibir una orden externa de inicio ST, el sistema ha de realizar el siguiente proceso :
Memorizar la informacin procedente de ambos convertidores en sendos registros
R! y R2
Comparar con un numero preprogramado N, la informacin mayor de ambos
convertidores. Si el resultado de esta comparacin indica que el numero comparado
con N es mayor que el, se activara una alarma y se dar por terminado el proceso.
Si se comparo el contenido de R1 con N se realizara la resta del contenido de R1 del
de R2 y, si se comparo el contenido de R2 con N, se realizara la resta del contenido
de R2 del de R1. El resultado de ambas operaciones se memorizara.
La diferencia obtenida en el caso anterior se comparara con el valor mximo de
todas las diferencias obtenidas en sucesivos procesos y se reemplaza por ella en el
caso de que sea mayor. A continuacin se dar por terminado el proceso y el
sistema quedara a la espera de recibir nuevas ordenes de proceso.
15.- Disee un procesador digital sincrnico que ordene en forma ascendente tres nmeros
binarios positivos A, B y C codificados en binario natural de 4 bits.
Al recibir una orden externa de inicio ST, el sistema ha de realizar:

Recibir informacin en paralelo de A, B y C en tres registros R1, R2 y R3


Ordena y visualiza en forma ascendente en los registros R1 - R2 - R3 los nmeros
A, B y C.
Utilice bus de tres estados. Al terminar el proceso, el sistema queda habilitado para una
nueva operacin.
16.- Disee un cronmetro digital que contabilice minutos y segundos y que posea dos
botones de control Start/Stop y Lap/Reset. Las funciones que debe realizar deben ser
idnticas a las de un cronometro convencional.
17.- Realice un procesador digital sincrnico que realice la siguiente microoperacin:
( F ) = R1 + (1) + (2) + (3).
al recibir una orden externa de inicio ST. El sistema debe realizar :
Previamente se han de cargar los valores en las posiciones de memoria (1), (2) y (3)
(contenidos de memoria en las posiciones 1,2,3).
El resultado de la operacin se debe almacenar en la direccin de memoria F.
Al terminar el proceso, el sistema queda habilitado para una nueva operacin.
18.- Disee un circuito digital que controle la apertura de una cerradura mediante el ingreso
158

de un nmero de 4 dgitos decimales en estricto orden. El circuito permite que el usuario


cometa dos errores habilitando el sistema despus de activarse el indicador luminoso de
Teclee nuevamente. Si falla por tercera vez el sistema activa una alarma durante un
tiempo de 30 segundos. Lgicamente, en cualquier intento al teclear correctamente la clave
se activar la apertura de la puerta.
19.- Recuerda el famoso juego de picas y fijas? . Disee un circuito que permita averiguar
un nmero clave de 4 dgitos decimales no repetidos. El jugador teclea los 4 dgitos en
forma continua despus de lo cual el circuito le informa: el nmero de picas (dgitos que
pertenecen a la clave pero no estn en posicin), nmero de fijas (dgitos en posicin) y el
nmero de intentos. El juego finaliza una vez ha sido encontrado el nmero mostrando 4
fijas 0 picas y el nmero de intentos realizados.

159

También podría gustarte