Está en la página 1de 21

1.

Funciones Booleanas
• Fundamentos del álgebra de Boole
• Compuertas lógicas
• Descripción de circuitos lógicos en
forma algebraica
Contenido 2. Circuitos lógicos combinatorios
3. Diseño de soluciones a problemas
empleando circuitos lógicos
combinatorios

1
Funciones Booleanas Funciones Booleanas
• George Boole (1815 - 1864) fue un famoso matemático de origen inglés que
publicó un tratado sobre las leyes del pensamiento, el cual sustenta las
teorías de la lógica y la probabilidad.
• El aporte de Boole fue fundamental, ya que permitió reducir la lógica a un
álgebra simple (las matemáticas).
• Para ello, estableció la analogía entre los símbolos algebraicos y aquellos
que representan sus formas lógicas.
• A continuación anotamos algunos aspectos de interés sobre ello:
• El álgebra Booleana o de Boole, consiste en un método para resolver
problemas de lógica empleando para ello valores binarios 1 y 0 y a tres
operadores: AND (y), OR (ó) y NOT (no).
• El álgebra Booleana se emplea en la construcción de computadoras,
circuitos eléctricos, etc.
• Es fundamental destacar que los sistemas modernos trabajan a partir de
lógica binaria.
2
Funciones Booleanas
Algunas de las aplicaciones más importantes
del álgebra de Boole son las que se anotan a
continuación:
• En términos generales, el álgebra de
Boole se puede emplear a cualquier
sistema en que cada variable posea dos
estados (1 y 0).
• Las computadoras modernas realizan
sus operaciones y almacenan la
información empleando valores
binarios (1 y 0) y realizan sus
operaciones en base al álgebra de
Boole.
• Se emplea en el diseño de circuitos
electrónicos.
https://youtu.be/u4VhsP-CZbY • Se emplea ampliamente en la
programación (condiciones lógicas).
3
Funciones Booleanas
Compuertas Lógicas

Programación 4
Compuertas Lógicas
Las compuertas lógicas se constituyen en los elementos de construcción
fundamental en la lógica combinatoria, con esto, debemos considerar lo
siguiente:
• Las compuertas son circuitos electrónicos que se pueden emplear para
implementar la mayoría de las expresiones lógicas elementales (conocidas
como expresiones Booleanas).
• Básicamente existen 3 compuertas: OR, AND y NOT. A partir de éstas se
derivan otras compuertas como la NAND, NOR, la XOR (OR exclusiva) y
la XNOR (la NOR exclusiva).
• Las compuertas trabajan con dos valores de “verdad”, 1 y 0, y al igual que
en la lógica proposicional, es factible construir tablas de verdad con cada
compuerta y sus combinaciones con otras compuertas.
• Dentro del álgebra Booleana las variables se emplean para representar el
nivel de voltaje presente en un cable o en las entradas/salidas de un
circuito.

5
Compuertas Lógicas
Por ejemplo, en cierto sistema digital el valor booleano 0 podría asignarse a
cualquier voltaje en el intervalo 0 a 0.8 voltios, mientras que el 1 booleano
podría asignarse a cualquier voltaje entre 2 y 5 voltios.
Por ello, se debe tomar en cuenta que el 1 y 0 booleanos no representan
números reales, sino el estado de una variable de voltaje o el nivel lógico.

0 (cero) Lógico 1 (uno) Lógico


Falso Verdadero
Apagado Encendido
Bajo Alto
No Sí
Interruptor abierto Interruptor cerrado
6
• Al igual que en el caso de las proposiciones,
las tablas de verdad en el álgebra de Boole se
Tablas de emplean a fin de describir la forma en que la
verdad salida de un circuito lógico depende de los
niveles en sus entradas.
• A continuación se puede apreciar un ejemplo
donde se ilustran dos circuitos, uno con 2
entradas y un segundo con 3 entradas. Para
cada ejemplo se ha desarrollado la tabla de
verdad correspondiente.
• Estas tablas listan todas las posibles
combinaciones de niveles
• lógicos presentes en las entradas A y B, y A,
B y C, respectivamente
7
Entradas Salidas

Tablas de verdad A B ? X
0 0 1
0 1 0
1 0 1
1 1 0

A B C ? X
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1 8
Entradas Salidas

A B X=A+B

0 0 0
0 1 1
1 0 1
1 1 1 𝑋 =𝐴+𝐵

La operación que se lleva a cabo con esta


compuerta devolverá en la salida un valor de 1
cuando al menos una de las dos entradas sea 1.
Compuerta OR Es importante observar que esta compuerta recibe
dos entradas. Se puede observar la tabla de
verdad correspondiente a esta compuerta, el
símbolo que la representa y su ecuación
correspondiente.
9
Entradas Salidas

A B X=A∙B

0 0 0
0 1 0
1 0 0
1 1 1 𝑋 =𝐴∙𝐵

La operación que se lleva a cabo con esta


compuerta devolverá en la salida un valor lógico
Compuerta AND de 1 cuando las dos entradas sean 1.
Es importante observar la tabla de verdad
correspondiente a esta compuerta, el símbolo que
la representa y su ecuación correspondiente.

10
Entradas Salidas

A X = ~A

0 1
1 0

De igual forma que en otras notaciones, 𝑋 = 𝐴ҧ


también se puede emplear el símbolo “primo o
apóstrofe, comilla simple”, A’ = 𝐴ҧ variable
con barra (como acento). También 𝑁𝑜𝑡 𝐴, ¬𝐴,
~𝐴 (virgulilla).
La operación que se lleva a cabo con esta
compuerta devolverá en la salida un valor lógico
negado al que se reciba como entrada.
Compuerta Not Esta compuerta únicamente recibe una entrada.
Podemos observar su tabla de verdad, el símbolo
que la representa (a través de la barra sobre la
variable) y su ecuación correspondiente.
11
Entradas Salidas

A B X = 𝐴⨁𝐵
0 0 0
0 1 1
1 0 1
1 1 0
𝑋 = 𝐴⨁𝐵 = 𝐴 ∙ 𝐵ത + 𝐴ҧ ∙ 𝐵
= (𝐴 + 𝐵) ∙ (𝐴ҧ ∙ 𝐵)

La operación que se lleva a cabo con esta


Compuerta XOR compuerta devolverá en la salida un valor lógico
de 1 siempre y cuando las dos entradas sean
distintas. Esta compuerta recibe dos entradas.

12
Entradas Salidas

A B X = 𝐴⨁𝐵
0 0 1
0 1 0
1 0 0
1 1 1
𝑋 = 𝐴⨁𝐵 = 𝐴 ∙ 𝐵 + 𝐴ҧ ∙ 𝐵ത

Representa la combinación de dos compuertas:


una XOR seguida de una NOT. Es importante
Compuerta XNOR observar que esta compuerta recibe dos entradas.
Podemos observar su tabla de verdad, el símbolo
que la representa y su ecuación correspondiente.

13
Entradas Salidas

A B X=𝐴+𝐵
0 0 1
0 1 0
1 0 0
1 1 0
𝑋 =𝐴+𝐵

Representa la combinación de dos compuertas:


una OR seguida de una NOT. Es importante
Compuerta NOR observar que esta compuerta recibe dos entradas.
Podemos observar su tabla de verdad, el símbolo
que la representa y su ecuación correspondiente.

14
Entradas Salidas

A B X = 𝐴𝐵
0 0 1
0 1 1
1 0 1
1 1 0
𝑋 =𝐴∙𝐵

Representa la combinación de dos compuertas:


una AND seguida de una NOT. Es importante
Compuerta NAND observar que esta compuerta recibe dos entradas.
Podemos observar su tabla de verdad, el símbolo
que la representa y su ecuación correspondiente.

15
Funciones Booleanas
Descripción de circuitos lógicos en forma algebraica

Programación 16
Descripción de circuitos lógicos en forma
algebraica
• Una función lógica o circuito se define de forma completa
cuando para todas las posibles combinaciones de las variables de
entrada la función de valor se encuentra establecida:
• El número de combinaciones depende de la cantidad de variables
de entrada (A, B, C, D, . . . ):
• Total de combinaciones = 2n, donde n representa cuántas
variables se tiene a la entrada del circuito.
• También es posible obtener una función lógica a partir de una
tabla de verdad.

17
Descripción de circuitos lógicos en forma
algebraica
Supongamos que X(A, B, C) representa un circuito con tres
variables y la siguiente tabla de verdad: Ejemplo de tabla de
verdad con tres variables de entrada
Decimal A B C ? X
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
https://es.wikipedia.org/wiki/Sistema_binario
7 1 1 1 1
18
Descripción de circuitos lógicos en forma
algebraica
Si deseamos obtener el circuito o función lógica a partir de esta
tabla, debemos únicamente considerar aquellas salidas que tienen
un valor de 1 para x: Ejemplo de tabla de verdad con tres variables
de entrada A B C ? X
𝐴ҧ 𝑎𝑛𝑑 𝐵ത 𝑎𝑛𝑑 𝐶ҧ 𝐴ҧ ∙ 𝐵ത ∙ 𝐶ҧ 0 0 0 1
0 0 1 0
0 1 0 0
𝐴ҧ 𝑦 𝐵 𝑦 𝐶 𝐴ҧ ∙ 𝐵 ∙ 𝐶 0 1 1 1
𝐴 ∙ 𝐵ത ∙ 𝐶ҧ 1 0 0 1
1 0 1 0
𝐴 ∙ 𝐵 ∙ 𝐶ҧ 1 1 0 1
𝐴∙𝐵∙𝐶 1 1 1 1
19
Descripción de circuitos lógicos en forma
algebraica
Con ello, el circuito o función lógica se expresaría como se indica
en la ecuación: ∪ 𝑜𝑟 𝑜
𝑋 = 𝐴ҧ ∙ 𝐵ത ∙ 𝐶ҧ + 𝐴ҧ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵ത ∙ 𝐶ҧ + 𝐴 ∙ 𝐵 ∙ 𝐶ҧ + 𝐴 ∙ 𝐵 ∙ 𝐶

Como se puede apreciar, la ecuación es grande, y si no la


simplificamos, el circuito resultante empleará muchas compuertas
y no será práctico de construir. Por ello, a continuación se
estudiarán los teoremas del álgebra de Boole, y posteriormente,
cómo reducir estas ecuaciones a través de Mapas de Karnaugh.

20
Bibliografía
[1] Luis Joyanes Aguilar; Fundamentos generales de
programación; Editorial McGraw Hill, 5ta Edición; Madrid
2013
[2] R. Martínez Fernández; Programación en C: Ejercicios;
Editorial UPM, 1ra redición; Madrid 2014
[3] K.N King; C programming: A modern aproach; Editorial
W.W.Norton and Company , 2da edición; 2008
[4] Doug Abbott; Linux for embedded and real time aplications;
Editorial Newnes, 3ra edición; 2013
[5] Noel Kalicharan; Learn to Program with C; Editorial Apress,
1ra edición; 2015
[6] Michael J. Quinn; Parallel programming in C with MPI and
openMP; Editorial McGraw Hill; 2003

21

También podría gustarte