Está en la página 1de 51

Algebra Booleana y Lgica Digital

Lgica digital

Objectivos
Comprender la relacin entre lgica booleana y los
circuitos digitales de computadora.
Aprender como se disean circuitos lgicos
simples.
Comprender como los circuitos digitales trabajan
en conjunto para formar complejos sistemas
computacionales.

Lgica digital

Introduccin

En la ltima parte del siglo XIX, George Boole llam la atencin de filsofos y
matemticos cuando sugiri que el pensamiento lgico podra ser
representado con ecuaciones matemticas.
Cmo puede alguien sugerir que el pensamiento humano puede ser encapsulado
y manipulado como una frmula algebraica?

Computers, como los conocemos hoy, son implementaciones de las Leyes del
Pensamiento de Boole.
John Atanasoff y Claude Shannon estuvieron entre los primeros en ver esta
conexin.

A mediados del siglo XX, los computadores eran conocidos como mquinas
pensantes y cerebros electrnicos.
Mucha gente les tema.

Hoy, raramente ponderamos la relacin entre los computadores digitales


electrnicos y la lgica humana. Los computadores son aceptados como parte
de nuestras vidas.
Sin embargo, mucha gente todava les teme.

Lgica digital

Appendix - 3.2 Algebra Booleana


El Algebra Booleana es un sistema matemtico de
manipulacin de variables de dos valores.
En lgica formal estos valores son verdadero y falso.
En sistemas digitales esos valores son, on y off, 1 y
0 y alta y baja.

Las expresiones booleanas se crean ejecutando


operaciones en variables booleanas.
Operadores booleanos comunes son AND, OR y NOT.

Lgica digital

Algebra Booleana
Un operador booleano puede ser
descrito completamente usando
una tabla de verdad.
Las tablas de verdad para los
operadores AND y OR se
muestran a la derecha.
El operador AND se conoce
tambin como el producto
booleano. El operador OR es la
suma booleana.

Lgica digital

Algebra Booleana
La tabla de verdad para el
operador booleano NOT
aparece a la derecha.
La operacin NOT es
frecuentemente
representada por una
barra sobre la variable.
Otras veces se le indica
por una marca prima ( ) o
una ceja ().

Lgica digital

Algebra Booleana
Una funcin booleana tiene:

Al menos una variable booleano,


Al menos un operador booleano y
Al menos un input, en el conjunto {0,1}.

Produce una salida que es tambin miembro


del conjunto {0,1}.
Ahora sabe por qu el sistema de
numeracin binario es tan til para los
computadores.

Lgica digital

Algebra Booleana
La tabla de verdad para la
funcin:

aparece a la izquierda.
Para facilitar la evaluacin de
la funcin booleana, la tabla
de verdad continen columnas
extra (sombreadas) que
mantienen las evaluaciones
parciales.

Lgica digital

Algebra Booleana
Al igual que con la aritmtica
comn, los operadores
booleanos tienen reglas de
precedencia.
El operador NOT tiene la
mayor prioridad, seguido por
AND y despus por OR.
Por eso se sigui orden en las
columnas sombreadas, para
evaluar las subpartes de la
funcin en la tabla.

Lgica digital

Algebra Booleana
Los computadores digitales tiene circuitos que
implementan funciones de algebra booleana.
Entre ms simple es una funcin booleana, ms pequeo
es el circuito resultante.
Los circuitos simples son ms baratos de hacer, consumen
menos potencia y son ms rpidos que los circuitos
complejos.

Con esto en mente, siempre se quiere reducir las funciones


booleanas a su forma ms simple.
Hay un conjunto de identidades booleanas que nos ayudan
a minimizar las funciones.

Lgica digital

10

Algebra Booleana
La mayora de las identidades booleanas tienen
una forma AND (producto) y una forma OR (suma).
Aqui se muestran ambas formas:

Lgica digital

11

Algebra Booleana
El segundo grupo de identidades booleanas es
semejante al algebra corriente:

Lgica digital

12

Algebra Booleana
El ltimo grupo de identidades booleanas es el ms
til.
Estas leyes tambin aparecen en teora de
conjuntos y lgica formal.

Lgica digital

13

Algebra Booleana
Podemos usar las identidades booleanas para simplificar la
funcin que sigue:

Lgica digital

14

Algebra Booleana
A veces es ms econmico construir un circuito
usando el complemento de la funcin (para
despus complementar el resultado) que
implementando la funcin directamente.
La ley de DeMorgan brinda una manera facil de
encontrar el complemento de una funcin
DeMorgan dice:

Lgica digital

15

Algebra Booleana
La ley de DeMorgan puede ser extendida a cualquier nmero
de variables.
Reemplace cada variable por su complemento y cambie
todos los AND a OR y todos los OR a AND.

Por lo tanto, el complemento es:

Lgica digital

16

Algebra Booleana
Vemos que hay muchas maneras de presentar la
misma expresin booleana.
Estas formas sinnimas son equivalentes.
Las expresiones lgicas equivalentes tienen
identicas tablas de verdad.

Para disminuir la confusin, los diseadores


expresan las funciones booleanas en forma
cannica o estandarizada.

Lgica digital

17

Algebra Booleana
Hay dos formas cannicas para expresiones booleanas: suma
de productos y productos de sumas.
Recuerde que el operador booleano del producto es el AND y
el de la suma es el OR.
En la forma de suma de productos, una serie de AND son
unidos por OR.
Por ejemplo:
En la forma de producto de sumas, una serie de OR son unidos
por AND.
Por ejemplo:

Lgica digital

18

Algebra Booleana
It is easy to convert a function
to sum-of-products form using
its truth table.
We are interested in the values
of the variables that make the
function true (=1).
Using the truth table, we list
the values of the variables that
result in a true function value.
Each group of variables is then
ORed together.
Lgica digital

19

Algebra Booleana
The sum-of-products form
for our function is:

We note that this function is not


in simplest terms. Our aim is
only to rewrite our function in
canonical sum-of-products form.

Lgica digital

20

Puertas lgicas

Las funciones booleanas son implementadas en los computadores


digitales por circuitos llamados puertas.
Una puerta es un dispositivo electrnico que produce un resultado en base
a dos o ms valores de entrada.
En realidad, las puertas consisten de uno a seis transistores, pero los
diseadores digitales piensan en ellas como una sla unidad.
Los circuitos integrados tienen colecciones de puertas, adecuadas a un
propsito particular.
Vs es tierra = 0 Volts
Vd voltage ms alto Para todo
propsito podemos pensar en
+5V, hay muchas posibilidades.
Vg Voltaje de puerta
Dependiendo de este valor, los
electrones pueden o no fluir
desde el voltaje alto al bajo.

Lgica digital

21

Voltaje invertido de
la entrada

Voltage de
entrada

Puertas lgicas

Esta es la logica para la


puerta NAND.

Esta es la lgica para


una puerta AND.

Dependiendo de los
valores de A y B la salida
C est conectada a la
potencia o a tierra por lo
que tiene un valor lgico 1
0.

Es simplemente un
NAND con un inversor.

Lgica digital

22

Puertas lgicas

Las ms simples puertas lgicas son AND, OR y NOT.

74LS08
Quad 2-input AND

Estan relacionadas directamente con sus respectivas operaciones booleanas


como se puede ver de las tablas de verdad, y esas representaciones mapean
directamente con los transistores de las ltimas lminas.

Lgica digital

23

Puertas lgicas

La salida del XOR es verdadera


slo cuando los valores de las
entradas son diferentes.

Note el simbolo para la


operacin XOR.

Simbolos de NAND y NOR y tablas


de verdad.

74LS02
Quad 2-input NOR

Lgica digital

24

Puertas lgicas

Las puertas NAND y NOR son


conocidas como puertas
universales porque son baratas de
fabricar y cualquier funcin lgica
puede expresarse en terminos
slo de puertas NAND y NOR.

Las puertas pueden tener mltiples


entradas y ms de una salida.
Una segunda salida puede servir
para el complemento de la
operacin.

Lgica digital

25

Componentes digitales

Combinaciones de puertas implementan funciones booleanas. El


circuito de abajo implementa la funcin:

Este es un ejemplo de circuito de lgica combinacional.


Los circuitos de lgica combinacional producen una salida
especificada (casi) al instante en que se aplican los valores de
entrada.
Lgica digital

26

Circuitos combinacionales

Los circuitos combinacionales nos


proveen de muchos dispositivos
tiles.
Uno de ellos es el semisumador (half
adder), que encuentra la suma de dos
bits.
Podemos entender algo de la
construccin de un semisumador
mirando su tabla de verdad.

Como vemos, la suma se encuentra


usando un XOR y la reserva (acarreo
carry) usando un AND.

Lgica digital

27

Circuitos
combinacionales
Podemos convertir un
semisumador en un sumador (full
adder) incluyendo compuertas
que procesen el bit de acarreo.
La tabla de verdad del sumador
se muestra a la derecha.

HALF ADDER

FULL ADDER
Lgica digital

28

Circuitos combinacionales
Asi como combinamos semisumadores para
construir un sumador, estos se pueden conectar
en serie.
El bit de acarreo se pasa de un sumador al
siguiente. Esta configuracin se llama ripple-carry
adder.

Este es un sumador de
4-bits.

Lgica digital

74LS283

29

Circuitos combinacionales

Los decodificadores son otro importante tipo de circuito combinacional.


Entre otras cosas, se usan en la seleccin de ubicaciones de memoria basadas
en el valor binario colocado en las lineas de direccin de un bus de memoria.
Decodificadores de memoria con n entradas pueden seleccionar 2n
ubicaciones.

Asi es como luce en su interior un decodificador de 2-to-4.

Si x = 0 e y = 1,
qu linea de
salida estar
habilitada?

Lgica digital

30

Circuitos combinacionales

Lgica digital

31

Circuitos combinacionales

74LS42

Decodificador 1 a 10

Lgica digital

32

Circuitos combinacionales
Un multiplexor hace lo
opuesto a un decodificador.
Selecciona una nica salida
de mltiples input.
El input elegido se determina
por los valores de las lineas
de control.
Para poder elegir entre n
entradas se requiere de log2n
lineas de control.
Un diagrama
de bloques de
un
multiplexor
Lgica digital

33

Circuitos combinacionales
Asi es como luce un multiplexador 4-to-1.

Si S0 = 1 y S1 = 0,
qu entrada se
transfiere a la
salida?
Lgica digital

34

Circuitos combinacionales

Lgica digital

35

Circuitos combinacionales

Este shifter
desplaza bits hacia
la izquierda o
derecha.

Si S = 0, en que
direccin se
desplazan los bits
de entrada?
Lgica digital

36

3.5 Combinational Circuits

74LS164
8-bit shift register

Lgica digital

37

Circuitos secuenciales

Los circuitos de lgica combinacional son ideales para situaciones cuando se


requiere una aplicacin inmediate de una funcin booleana a un conjunto de
entradas.
Sin embargo, otras veces, necesitamos un circuito que cambie su valor de
acuerdo a su estado actual junto con las entradas.
Esos circuitos tienen que recordar el estado actual.

Los circuitos de lgica secuencial proveen esta funcionalidad.

Como su nombre indica, los circuitos de lgica secuencial necesitan un medio


por medio del cual los eventos pueden ser secuenciados.

Los cambios de estados son controlados por relojes.


Un reloj es un circuito especial que enva pulsos elctricos a traves de un circuito.

Los relojes producen ondas elctricas como la mostrada abajo.

Lgica digital

38

Circuitos secuenciales
Los cambios de estados ocurren en los circuitos secuenciales de acuerdo
al tictac del reloj (es sincrnico) En otro caso el circuito es
asincrnico y depende del comportamiento de las seales de entrada.
Los circuitos que cambian de estado en la parte creciente o decreciente
del pulso del reloj son llamados disparados por flanco Circuits that
change state on the rising edge, or falling edge of the clock pulse are
called edge-triggered.
Los circuitos disparados por nivel (Level-triggered) cambian su estado
cuando el voltaje del reloj alcanza su nivel mayor o menor.

Lgica digital

39

Circuitos secuenciales

Para retener el valor de su estado, los circuitos secuenciales dependen de la


retroalimentacin (feedback).
La retroalimentacin ocurre cuando la salida se enlaza con la entrada.
Aqui se muestra un ejemplo simple de este concepto. Este circuito muestra
retroalimentacin y nunca cambia su estado:
si Q is 0 siempre sera 0, Si es 1 siempre ser 1. Por qu?

Se puede ver como funciona la retroalimentacin examinando el componente


secuenciales ms bsico: el flip-flop SR.

SR significa set/reset.

Se muestra los componentes de un flip-flop SR, junto con un diagrama de


bloques.

Lgica digital

40

Circuitos secuenciales
El comportamiento de un flip-flop SR es descrito por su tabla
caracterstica.
Q(t) significa el valor de la salida al tiempo t. Q(t+1) es el valor de Q
despus del siguiente pulso del reloj.

El flip-flop SR tiene tres entradas: S, R, y su


salida actual, Q. (Q es el estado historia)
Podemos construir una tabla de verdad para
este circuito, como se muestra a la derecha.
Note que hay dos valores indefinidos. Cuando
tanto S como R son 1, el flip-flop SR es
Intente un conjunto de entradas y
inestable. (lo que quiere decir que tanto Q como vea que obtiene a la salida.
Q son 0 y eso no est bien)
Lgica digital

41

Circuitos secuenciales

Si nos aseguramos que las entradas de un flip-flop SR nunca sern


ambas 1, jams tendremos un circuito inestable. Un flip-flop JK resuelve
este problema pues no hay forma que ambos S y R sean 1, incluso si
ambos, J y K, son 1.

A la derecha hay un flip-flop SR,


modificado para crear un flip-flop
JK. Vea como Q y Q condicionan
las entradas para prevenir que S y
R sean ambas 1.

La tabla caracterstica nos dice que


el flip-flop es estable para todos sus
inputs.
Significa que al tiempo t + 1 es el inverso del valor a t.
Lgica digital

42

Circuitos secuenciales
74LS112
Dual flanco negativo JK Flip Flop
Se dispara cuando el reloj va de alto a bajo

Lgica digital

43

Circuitos secuenciales

Otra modificacin al flip-flop SR es el flip-flop D, cuya tabla caracterstica


se muestra abajo.
La salida del flip-flop se mantiene fija durante los subsiguientes pulsos
del reloj. La salida slo cambia cuando lo hace el valor D.

No importa el estado anterior. Depende totalmenente


del valor de D

El flip-flop D es el circuito fundamental de


las memorias de computadoras.
Se muestra el diagrama de bloques del flipflop D.
Lgica digital

44

Circuitos secuenciales
74LS174
Hex D Flip Flop

Lgica digital

45

Circuitos secuenciales
Los circuitos secuenciales se usan cada vez que
tenemos una aplicacin con estados
Una aplicacin con estados es aquella donde el siguiente estado de
la maquina depende el estado actual y de la entrada.

Una aplicacin con estados requiere tanto circuitos


combinacionales como lgica secuencial.

Lgica digital

46

Circuitos secuenciales

Esta ilustracin muestra un


registro de 4-bits que hecho
con flip-flops D. Generalmente
se le representa con el
diagrama de bloques de abajo.

Una configuracin de memoria


ms grande se muestra en la
siguiente lmida.
Lgica digital

47

Circuitos secuenciales

Lgica digital

48

Circuitos secuenciales

Un contador binario es otro


ejemplo de circuito
secuencial.
El bit de menor orden es
complementado a cada
pulso del reloj.
Cada vez que cambia de 0
to 1, el siguiente bit es
complementado, y asi
tambin pasa con los
siguientes flip-flops.

Lgica digital

49

Conclusin
Los computers son implementaciones de lgica booleana.
Las funciones booleanas se describen mediante tablas de
verdad.
Las puertas lgicas son pequeos circuitos que
implementan operadores booleanos.
Las compuertas bsicas son AND, OR y NOT.
La puerta XOR es muy til para el chequeo de paridad y los
sumadores.

Las puertas universales son NOR y NAND.

Lgica digital

50

Conclusin
Los circuitos computacionales consisten de circuitos lgicos
combinacionales y secuenciales.
Los circuitos combinacionales producen salidas (casi)
inmediatamente cuando cambia la entrada.
Los circuitos secuenciales requieren relojes para controlar los
cambios de estado.
El circuito secuencial bsico es el flip-flop: el comportamiento de
los flip-flops SR, JK y D flip-flops son los ms importantes.
El comportamiento de los circuitos secuenciales puede
expresarse usando tablas de verdad.

Lgica digital

51