Lgica combinacional
TEMA - 2
LGEBRA DE BOOLE. LGICA COMBINACIONAL.
El control digital, y en particular el binario, est presente en todos los campos de la vida, desde los sistemas de refrigeracin hasta los complejos sistemas de control de vuelo. Aunque los circuitos electrnicos de estos sistemas pueden tener niveles de complejidad muy diferentes, todos se basan en combinaciones de elementos ms pequeos llamados puertas lgicas, las cuales se construyen a partir de transistores y elementos pasivos. En este tema se aborda el estudio de dichas puertas lgicas, el lgebra de conmutacin que se utiliza para manipular las magnitudes binarias y algunas aplicaciones.
S 0 1
L 0 1
1 cerrado 0 abierto
La funcin lgica es aquella que relaciona las entradas y salidas de un circuito lgico. Puede expresarse mediante: 1. Tabla de verdad: Es ella se representan a la izquierda todos los estados posibles de las entradas (en el ejemplo, el estado del conmutador) y a la derecha los estados correspondientes a la salida (en el ejemplo, la lmpara). 2. Funcin booleana: Es una expresin matemtica que emplea los operadores booleanos (en el ejemplo, L = S).
A 0 0 1 1
B 0 1 0 1
L 0 0 0 1
A L B
B 1 cerrado 0 abierto
La relacin es la siguiente: la lmpara se enciende slo si el conmutador A Y el conmutador B estn a 1, es decir, L = A (AND) B. Esta relacin se conoce como AND. Las puertas AND pueden tener ms de dos entradas. En la Figura 2-3 se representa una puerta AND de tres entradas. A B C
La salida de una puerta AND es verdadera (1) si, y slo si, todas las entradas son verdaderas. Esta operacin corresponde a una multiplicacin lgica binaria que para dos entradas sera: L= A B .
A B
B L
L 1 cerrado 0 abierto
En este caso la relacin es la siguiente: la lmpara se encender si y slo si, el conmutador A O (OR) el B estn cerrados. Esta funcin se describe en la tabla de verdad. La salida de una puerta OR es verdadera (1) si, y slo si, al menos una de las entradas es verdadera. Esta relacin corresponde a una suma lgica binaria: L= A + B.
A 0 1
L 1 0
La operacin lgica se conoce como negacin y se escribe: L = A (negado de A). El indicador de negacin es un crculo ( o ) que indica inversin o complementacin cuando aparece en la entrada o en la salida de un elemento lgico. El smbolo triangular sin el crculo representara una funcin en la que el estado de la salida sera idntico al de la entrada, esta funcin recibe el nombre de buffer. Los buffers se usan para cambiar las propiedades elctricas de una seal sin afectar al estado lgico de la misma.
A L B
A L B
A 0 0 1 1
B 0 1 0 1
L 1 1 1 0
A B L
A B L
A 0 0 1 1
B 0 1 0 1
L 1 0 0 0
El circuito equivalente de la Figura 2-6 se deriva de considerar el funcionamiento de al puerta XOR como combinacin de dos condiciones X e Y. X representa la condicin de que cualquiera de las entradas: A o (OR) B sea 1, e Y la condicin de que A y (AND) B no (NOT) sean 1 (NAND). A 0 0 1 1 B 0 1 0 1 L 0 1 1 0
Smbolo
A B
X A B Y
Figura 2-6. Circuito equivalente a una puerta XOR.
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
L 0 1 1 0 1 0 0 1
A B C
X C A B Y C
A B
3. Algebra de Boole.
Proporciona una notacin para describir funciones lgicas y define un nmero de operaciones que se pueden realizar con el fin de simplificarlas. El lgebra de Boole define variables, constantes y funciones para describir sistemas binarios, y una serie de teoremas que permiten manipular expresiones lgicas. Constantes booleanas: Se definen dos: 0 (estado FALSO) y 1 (VERDADERO). Variables booleanas: Son magnitudes que pueden tomar diferentes valores en diferentes momentos. Pueden representar seales de entrada o de salida y reciben nombres de caracteres alfabticos como: A, B, X, Y. Slo pueden tomar los valores 0 o 1. Funciones booleanas: Describen el comportamiento del sistema. Cada operacin lgica (suma, multiplicacin, negacin, ...) posee una notacin en el lgebra booleana, como se muestra en la Tabla 2-1.
Funcin AND
Smbolo
A C B
Notacin
Tabla de verdad
A 0 0 1 1 A 0 0 1 1 A 0 1 A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 B 0 1 0 1 B 0 1 0 1 B 1 0 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 C 1 1 1 0 C 1 0 0 0 C 0 1 1 0 C 1 0 0 1 C 0 0 0 1 C 0 1 1 1
&
C=AB
OR
C B
C=A+B
NOT NAND
B=A
A C B
&
C = A B
NOR
A C B
C = A +B
EXOR
A C B
=1
C = A B + AB C = A B C = A B + A B C = A B
NOR exclusiva
A C B
=1
En la Tabla 2-1 adems de los smbolos distintivos vistos con anterioridad se muestran los smbolos rectangulares que con frecuencia se emplea en la documentacin industrial. En estos smbolos el indicador de negacin en lugar de un crculo ( o ) es un tringulo ( ) que indica inversin cuando se coloca a la entrada o en la salida de un elemento lgico.
Ejemplo 2-1. Extraccin de la expresin booleana de un circuito a partir de su tabla de verdad. A 0 0 1 1 B 0 1 0 1 C 0 1 0 1
C = ( AB) + (AB) = AB + AB
Esta expresin se ha extrado de la tabla tan slo mediante la descripcin de los estados de A y B para cada lnea en la que C es 1 y unindolos mediante la funcin OR. Las funciones booleanas que describen el comportamiento de un sistema binario las podemos expresar de dos formas: en minterms o en maxterms. a) Se genera un minterm por cada fila de la tabla de verdad donde la salida es 1. 1. El minterm contiene el producto de cada variable de entrada en orden. La entrada est no negada si para esa combinacin es un 1 y negada si es un 0.
2. La expresin global para la funcin lgica es suma de los minterms. b) Se genera un maxterm por cada fila de la tabla de verdad en la que la salida es 0. 1. El maxterm contiene la suma de cada variable de entrada en orden. La entrada est no negada si es un 0 y negada si es un 1 (al contrario que en minterms). 2. La expresin global para la funcin lgica es producto de los maxterms. Para el ejemplo anterior sera: C = (A + B)( A + B) La funcin cannica es aquella en la que estn presentes en cada minterm o en cada maxterm todas las variables de entrada, es decir, est sin simplificar.
Ejemplo 2-2. Obtencin de la expresin booleana de un circuito a partir del diagrama lgico.
C = A B + A B B B
A B
Considerar la expresin: C = AB + AB + ( A + B) A La funcin tiene tres componentes unidos por la funcin OR, por tanto, la salida vendr de un puerta OR de tres entradas. Las entradas de esta puerta sern los tres componentes de la expresin: la 1 , A B proviene de una puerta AND de dos entradas A y B ; la 2 de una NAND de entradas A y B, y la 3 de una puerta NOR de dos entradas.
AB
AB
A +B
Ley conmutativa:
Ley distributiva:
Ley asociativa:
Ley de la absorcin
Ley de DeMorgan
Operacin producto lgico (AND) el resultado es 0 si alguno de los elementos es 0 1A=A 0A=0 AA=A AA = 0 Operacin negacin (NOT) 0 =1 1= 0 A=A
4. Simplificacin de funciones.
4.1. Mediante la aplicacin de los teoremas.
Para simplificar una expresin algebraica se pueden aplicar los teoremas booleanos vistos con anterioridad.
A B C
A D
AB
Ejemplo 2-5. Homogeneizacin con puertas NAND de una expresin dada en forma de minterms:
D = A BC+ ABC+BC
A B C
En primer lugar hay que negar dos veces toda la expresin: D = A B C+ A B C + BC Y aplicar el 1 teorema de DeMorgan: D = (A B C) (A B C) (B C)
A
B
C B C
A
A
B
A B C
B C
Ejemplo 2-6. Homogeneizacin con puertas NAND de una expresin dada en forma de maxterms:
D = (A + B + C) ( A + B + C) (A + B + C) Se niega dos veces cada elemento del producto y dos veces toda la expresin: D = (A + B + C) ( A + B + C) (A + B + C) Se aplica el 1 teorema de DeMorgan: D = ( A B C)( A B C)(A B C)
A B
A
B C A
B C
D = A BC+ ABC+BC Se niega dos veces cada sumando y dos veces toda la funcin: D = ( A B C) + (A B C) + (B C) Se aplica el 2 teorema de DeMorgan: D = (A + B + C) + ( A + B + C) + (B + C) A
A
A B C
A B
C C C
B
10
Ejemplo 2-8. Homogeneizacin con puertas NOR de una expresin dada en forma de maxterms:
11
F 00 00 CD 01 11 10 0 0 0 0 0 1 0 0
AB 01 11 0 1 0 0 10 0 0 0 0
A partir del mapa de Karnaugh se puede extraer la expresin algebraica de forma sencilla: F = ABCD + ABCD Se aprecia fcilmente que la funcin F se puede simplificar: F = BCD( A + A) = BCD Al simplificar se pierde el efecto de la variable que est presente tanto en su forma negada ( ) como en su forma normal (A). Es decir, cuando B=1, C=0 y D=1, la salida ser verdadera independientemente del valor de la variable A (A=1 o A=0).
BCD
La fila superior e inferior se consideran adyacentes, al igual que las columnas derecha e izquierda. Se puede simplificar tambin agrupando cuatro trminos adyacentes. Se pueden combinar cuatro 1 siempre que representen todas las combinaciones de dos variables.
Ejemplo 2-10. Simplificacin de una funcin a partir del mapa de Karnaugh.
E 00 CD 00 01 11 10 0 0 0 0
AB 01 0 1 1 0 11 0 1 1 0 10 0 0 0 0
Si se agrupan de dos en dos los 1 se tiene: E = BCD + BCD Que se puede simplificar an ms: E = BD(C + C) = BD Como la salida es verdadera si B y D son verdaderas sin importar el estado de A y de C, estas dos ltimas entradas se pueden eliminar de la expresin.
12
AB
La simplificacin tambin se puede realizar agrupando ocho trminos adyacentes. En general los grupos pueden ser de 2m elementos, donde m =1,2, n (n = nmero de variables de entrada). E 00 00 CD 01 11 10 0 1 1 0 0 1 1 0 AB 01 11 0 1 1 0 10 0 1 1 0 00 D CD 01 11 10 E 00 1 1 1 1 0 0 0 0 AB 01 11 0 0 0 0 10 1 1 1 1
B
Para realizar las agrupaciones se siguen las siguientes reglas: 1. Primero se construirn los grupos de celdas ms grandes posibles. 2. Agregar grupos ms pequeos, hasta que cada celda que contenga un 1 se haya incluido al menos una vez. 3. Eliminar los grupos redundantes, an cuando se trate de grupos grandes. Los mapas de Karnaugh tambin se pueden emplear para simplificar expresiones con ms de cuatro variables de entrada, pero el mtodo se complica. Por lo general para muchas entradas se emplean tcnicas de ordenador automatizadas, como el mtodo desarrollado por McCluskey. Condiciones irrelevantes. Cuando el estado de una variable de salida no est definido, es decir, puede ser 0 o 1, se representar con una X y podremos elegir su valor para simplificar al mximo la funcin de salida.
Ejemplo 2-11. Consideremos la funcin : D = A B C + A B C + A B C + A B C + A B C
13
m I M I (A = B) m (A < B)
m
A1 B1
m I M
I A0 B0
m I M
Comparador de nmeros de cuatro bits. A partir de comparadores de nmeros de dos bits se pueden construir comparadores mayores unindolos en cascada.
A2 B2 A3 B3
14
La funcin del semi-sumador es sumar dos nmeros binarios que se aplican a las entradas A y B y generar la suma y un acarreo de salida Cout. A B
Cout S
A 0 0 1 1
B 0 1 0 1
Cout 0 0 0 1
S 0 1 1 0
AB Cout AB
C out = AB S = AB + AB = A B
Sumador completo. A diferencia del anterior, un sumador completo tiene tres entradas porque incluye una entrada de acarreo Cin.
A B Cin
Cout S
AB A B Cin
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
Cin 0 1 0 1 0 1 0 1
Cout 0 0 0 1 0 1 1 1
S 0 1 1 0 1 0 0 1
C out = A B + A C in + B C in S = A B C in + A B C in + AB C in + A B C in S = ( A B) C in
S Cout
A B
S Cout
Cout
15
Sumador de nmeros de ms de un 1 bit. Sumadores binarios en paralelo. Para implementar la suma de nmeros binarios se requieren tantos sumadores completos como bits tengan los nmeros que se quieren sumar. La salida de acarreo de cada sumador se coloca a la entrada de acarreo del sumador de orden inmediatamente superior CO CO S3 S CO S2 S CO S1 S CO S0 S
Sumador completo Ci
Sumador completo Ci
Sumador completo Ci A1 B1
Sumador completo
Ci 0 A0 B0
A3
B3
A2
B2
(MSB) (MSB)
(LSB) (LSB)
E0 E1 E2 E3
. .
E9
1 2 3
8 (E8) 9 (E9)
4 5 6 7 8 9
A2
A 0 = E1 + E3 + E5 + E7 + E9 A1 = E 2 + E3 + E6 + E7 A 2 = E 4 + E5 + E 6 + E 7 A 3 = E8 + E9
A3
16
El funcionamiento bsico del circuito es el siguiente: cuando aparece un nivel alto 1 en una de las lneas de entrada correspondientes a los dgitos decimales, se generan los niveles apropiados en las cuatro lneas BCD de salida. Por ejemplo, si la lnea de entrada 9 est a nivel alto (suponiendo que todas las dems estn a nivel bajo), esta condicin producir el cdigo BCD 1001, es decir, A0 y A3 a nivel alto y A1 y A2 a nivel bajo.
Codificador con prioridad decimal BCD. Realiza la misma funcin codificadora y adems puede emplearse para detectar prioridad. La funcin de prioridad significa que cuando hay varias entradas decimales activas el codificador producir la salida BCD correspondiente al dgito decimal de entrada de ms alto orden que se encuentre activo, e ignorar cualquier otra entrada activa. Por ejemplo, si se encuentran activas las entradas 6 y 3, la salida BCD ser 0110 (que representa al nmero decimal 6).
A1 (21) A0 (2 )
0
S0 S1 S2 S3
Dgito binario
Salida decimal
S0
A1 0 0 1 1
A0 0 1 0 1
S0 1 0 0 0
S1 0 1 0 0
S2 0 0 1 0
S3 0 0 0 1
A S1 B S2
S0 = A1 A 0 S1 = A 1 A 0 S 2 = A1 A 0 S3 = A1 A 0
S3
Cdigo BCD
Decodificador BCD-decimal. Convierte cdigo BCD en uno de los diez posibles dgitos decimales. Frecuentemente se le denomina decodificador de 4 lneas a 10 lneas.
A3 0 0 0 0 0 0 0 0 1 1
A2 0 0 0 0 1 1 1 1 0 0
A1 0 0 1 1 0 0 1 1 0 0
A0 0 1 0 1 0 1 0 1 0 1
Salida decimal 0 (S0) 1 (S1) 2 (S2) 3 (S3) 4 (S4) 5 (S5) 6 (S6) 7 (S7) 8 (S8) 9 (S9)
17
Decodificador BCD-7 segmentos. Este tipo de decodificador acepta cdigo BCD en sus entradas y proporciona salidas capaces de excitar un display de 7 segmentos para indicar un dgito decimal. Por ejemplo para generar un 1, se excitan los segmentos b y c. A3A2 01 11 10 0 X 1 1 X 1 1 X X 1 X X A3A2 00 01 11 10 1 1 X 1 1 0 X 1 1 1 X X 1 0 X X
N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
a 1 0 1 1 0 1 1 1 1 1 X X X X X X
b 1 1 1 1 1 0 0 1 1 1 X X X X X X
c 1 1 0 1 1 1 1 1 1 1 X X X X X X
d 1 0 1 1 0 1 1 0 1 0 X X X X X X
e 1 0 1 0 0 0 1 0 1 0 X X X X X X
f 1 0 0 0 1 1 1 0 1 1 X X X X X X
g 0 0 1 1 1 1 1 0 1 1 X X X X X X
00 01 A1A0 11 10
00 1 0 1 1
00 01 11 10
a = A1 + A 3 + A 0 A 2 + A 0 A 2
b = A 2 + A1A 0 + A1 A 0
00 01 A1A0 11 10
A3A2 00 01 11 10 1 1 X 1 1 1 X 1 1 1 X X 0 1 X X
00 01 11 10
A3A2 00 01 11 10 1 0 X 1 0 1 X 0 1 0 X X 1 1 X X
c = A 2 + A 0 + A1
d = A1 A 0 + A1 A 2 + A 0 A 2 + A 0 A1A 2
00 01 A1A0 11 10
A3A2 00 01 11 10 1 0 X 1 0 0 X 0 0 0 X X 1 1 X X
00 01 A1A0 11 10
A3A2 00 01 11 10 1 1 X 1 0 1 X 1 0 0 X X 0 1 X X
00 01 A1A0 11 10
g f e d c b a
A3A2 00 01 11 10 0 1 X 1 0 1 X 1 1 0 X X 1 1 X X
g = A 3 + A1 A 0 + A1 A 2 + A1A 2
e = A 2 A 0 + A1 A 0
f = A 2 A 0 + A1 A 0 + A 3 + A 2 A1
a f g e c d b
A0 A1 A2 A3
Display de LEDs Un tipo comn de display de 7 segmentos es el de diodos emisores de luz (light-emitting diode, LED). Cada segmento es un LED que emite luz cuando lo atraviesa una corriente elctrica. Hay dos configuraciones posibles: nodo comn. El segmento se encender cuando se le aplique un nivel bajo 0. Ctodo comn. El segmento se encender cuando se le aplique un nivel alto 1.
+V a a
f b g
f b g
e c
e c
a) nodo comn
b) Ctodo comn
18
Multiplexor
Demultiplexor
5.4.1.- Multiplexor.
Un multiplexor es un circuito que transmite los datos digitales procedentes de varias lneas de entrada a una nica lnea de salida segn una secuencia especfica. Funcionalmente, se puede representar mediante una operacin de conmutacin electrnica, que secuencialmente conecta cada una de las lneas de entrada a la lnea de salida. Son sistemas digitales de varias entradas y una salida, en los que la salida es igual a una de las entradas dependiendo de la combinacin de las lneas de control. Para un multiplexor de n lneas de control Ci , el nmero de entradas ser 2n. E0 E1 E2 E3 Lneas de control C0 C1 C1 0 0 1 1 C0 0 1 0 1 S E0 E1 E2 E3
S = C0 C1 E0 + C0 C1 E1 + C0 C1 E2 + C0 C1 E3
5.4.2.- Demultiplexor.
Un demultiplexor es un circuito que transmite los datos digitales procedentes de una lnea de entrada a varias lneas de salida segn una determinada secuencia. Esencialmente, es un multiplexor invertido.
Entrada S0
S0 = E C0 C1 S1 = E C0 C1 S2 = E C0 C1 S3 = E C0 C1
S0 S1 S2 S3
S1 C0 S2
Lneas de control C0 C1
C1 S3