Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Libro Logic A
Libro Logic A
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.
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
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
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
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
_________
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
_________
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
=
=
=
=
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
_________
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.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
_________
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
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
_________
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
Binary
01000000
01000001
01000010
01000011
01000100
01000101
01000110
01000111
01001000
01001001
01001010
01001011
01001100
01001101
01001110
01001111
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
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
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
_________
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
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
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.
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
B
0
1
0
1
S
0
1
1
1
Tabla de verdad
S
1
0
Tabla de verdad
Smbolo
A
0
0
1
1
B
0
1
0
1
S
0
1
1
0
Tabla de verdad
21
B
0
1
0
1
S
1
1
1
0
Tabla de verdad
B
0
1
0
1
S
1
0
0
0
Tabla de verdad
22
Con interruptores
Con diodos
Con interruptores
Circuitos And
Con diodos
Circuitos Or
_________
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.
_________
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
_________
Ejemplo 2.3.- En los circuitos mostrados en la figura 2.11 determine a qu compuerta es
equivalente.
_________
Ejemplo 2.4.- En los circuitos mostrados en la figura 2.12 determine a qu compuerta es
equivalente.
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.
_________
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
_________
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
_________
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
_________
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
_________
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)
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
D
C
B
A
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
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 .
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
32
33
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
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
Area de B
Area de
Area
Area
A
0
1
F= A+ B
F = A. B
Area de B
1
Area
Area de
Area
A
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
AB
CD
00
00
01
11
10
1
1
01
11
10
AB
CD
00
00
01
11
10
01
11
10
00
01
11
01
11
10
10
00
AB
CD
00
01
11
10
00
01
11
10
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)
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
F X Y X Y ,
pero X A B , y, Y C D . Finalmente, F A B C D
pero X A B . Finalmente, F A B C
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
A B 0
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
m A C B C D A D
45
I M m
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
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
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
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
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
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
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
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
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
b
g
c
d
10 11 12 13
14 15
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
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
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
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 :
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.
60
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.
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
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
-
65
-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
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
S
A(8)
M
S
16 bits
B(7)
16 bits
67
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
decodificadores
69
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
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)
S1
S0
4
4
Carry out
ALU
4 bits
Salida S(3..0)
71
Ci
Ai
Ci
Bi
Ci
Ci+1
Unidad
Aritmet
1
Fi
S1
S0
Unidad
Lgica
72
D0
2n x b
Datos
Db-1
A0
Decoder
Arreglo 2nxb
A1
An-1
D0 D1
Db-1
Tamao de palabra
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
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
74
1M
FFFFF H
128K
32K
32K
32K
32K
128K
1FFFF H
128K
00000 H
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 :
S=0 y R=1
S=1 y R=0
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.
b)
a)
Fig. 4.4.- Generadores de pulsos (eliminacin de rebotes de contactos) con Nand y Nor
79
R
X
0
1
0
1
C
0
1
1
1
1
Salida siguiente
Misma anterior
Misma anterior
0
1
No permitida
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.
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
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
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
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
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
K
0
1
0
1
Q*
Q
0
1
Q
Funcin
Mantiene
Reset
Set
Toggle
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
Q*
0
1
0
J
0
1
X
K
X
X
1
d0
1
d1
Ecuacin caracterstica :
Q* K . Q J . Q
Reloj
1
0
0
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
D
1
0
0
1
1
Ecuacin caracterstica :
Q* D
Reloj
Q*
Q
Q
CK
Ecuacin caracterstica:
Q* T . Q T . Q
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
89
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.
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.
92
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)
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.
96
97
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
101
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
5.14.
104
Fent
7
Fent
Conteo hacia abajo : Fsal
8
Fent
para
N
1 N 15 (N : entradas ABCD).
Fent
fent
1A 2B 4C 8D 10E 20F 40G 80 H
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.
#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.
108
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
Estado presente
Par
Par
Impar
Impar
Entrada
0
1
0
1
Estado siguiente
Par
Impar
Impar
Par
Salida
0
0
1
1
Lgica de salida : Bloque combinacional que depende del estado actual y las
entradas
Entra
das
Salida
Lgica
del sgte
estado
Excitacin
Lgica
de salida
Memoria
de estado
Ck
Estado
actual
Seal de reloj
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
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
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
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
EN=0
EN=0
EN=1
MAX=0
EN=1
MAX=0
D
EN=0
EN=1
MAX=0
EN=0
D
2
1
N
N
D
3
N
5
1
116
7
7
D
6
1
0c
5c
10c
N,D
15c
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
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
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
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
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
Controlador
de salida
B(Busy)
S(Send)
11/0
X0/0
121
1X/0
IDLE
WAIT
1X/0
0X/1
01/1
SEND
0X/1
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
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
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
123
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
de
NO
Condicin de
Transferencia
SI
0
Estado
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
NO
RESET
NO
0
SI
B
1
NO
NO
SI
D
SI
D
3
F
SI
NO
NO
SI
NO
A
0
RESET
SI
NO
A
SI
C
1
NO
D
2
SI
NO
D
SI
F
3
F
SI
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
137
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.
5.- INVESTIGACIN
1. Investigue cual es la respuesta terica del circuito de la figura 1.
6.- CONCLUSIONES
138
PRACTICA No 1
4.- PROCEDIMIENTO
139
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
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
PRACTICA No 2
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
6.- CONCLUSIONES
7.- BIBLIOGRAFIA
144
PRACTICA No 3
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 2.- Circuito Decodificador Hex-7 seg de dos nmeros en dos despliegues
6.- CONCLUSIONES
7.- BIBLIOGRAFIA
146
PRACTICA No 4
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
PRACTICA No 5
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
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
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
PRACTICA No 7
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.
4.- PROCEDIMIENTO
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
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
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
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
A0
Direcciones
0000H1800H2000H-
Banco
M1
M2
M3
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 )
3
.
8
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:
159