Apunte algebra de boole

15
TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 1/15 ÁLGEBRA DE BOOLE Se ocupa de la manipulación de las denominadas variables lógicas o booleanas. Variable lógica: es aquélla que en todo momento puede tomar uno de dos estados posibles. Ejemplo de este tipo de variables son: una lámpara (prendida o apagada); una puerta (abierta o cerrada); señales eléctricas (valor positivo, valor nulo); un bit (1, 0); un contacto (abierto, cerrado). Precisamente al Álgebra de Boole también se la denominó álgebra de conmutación pues su estudio se basó en el funcionamiento de relevadores o llaves electromecánicas que se operan o se desactivan. En la figura se ve un ejemplo, en el cual se introducen dos tipos de contactos que se utilizan habitualmente tanto en la industria como en electricidad y electrónica: son los Normal Abierto (NA) y Normal Cerrado (NC): Ip=0 A=0 x Ip A=1 Contacto Normal Cerrado Contacto Normal Abierto x Ip A=1 Ip=0 A=0 c) d) b) a) fig.1 NA NC fig.2 Así, el esquema de la fig.1 a) si no se activa el terminal del contactor, no circula corriente, no mueve su eje (electroimán) y los terminales de contacto no se unen, no produciéndose transmisión (T) de un extremo a otro del dispositivo, lo cual sí sucede en la figura b) cuando se hace A=1. En la fig.1 c) si no se activa el terminal del contactor, no circula corriente, no mueve su eje (electroimán) y los terminales de contacto se mantienen unidos produciéndose transmisión entre sus extremos, dejando de hacerlo, como en el caso de la figura 1d) cuando se opera el contactor y se abre (A=1). Los esquemas simbólicos con que se representan ambos tipos de contactores se ilustran en fig.2 Desde el punto de vista lógico su operación se representa con Tablas de Verdad; se ilustran en la fig.3 A T A T=A 0 0 1 1 A A Buffer a) A T A T=/A 0 1 1 0 A A Inversor b) fig.3 Se muestran además los dispositivos circuitales que se encargan de realizar las operaciones lógicas en los circuitos que se verán a lo largo del curso: las compuertas lógicas. En este caso, a cada operación le corresponden sendos dispositivos. Uno es el denominado Buffer (o separador) que deja pasar la misma señal que hay en la entrada, pero cuyo objetivo en todo caso, tiene que ver con la operación eléctrica del circuito donde va a funcionar (por ejemplo, se pueden utilizar buffers cuando es necesario que la variable lógica maneje mayores niveles de corriente, etc). El otro es el Inversor, que entrega en su salida el estado opuesto al presente en su entrada FUNCIONES LÓGICAS En el ejemplo de la fig. 3 b) se dice que la variable lógica T (transmisión) toma un estado que es el opuesto de A, o sea, depende de A. Se dice que T es función de A. Se define una función lógica, como “una variable lógica (en todo momento vale “0” o “1”) cuyo estado depende en todo momento del estado que presenten otra u otras variables lógicas”. Existen variables lógicas que son independientes de cualquier proceso (en un circuito lógico serán aquéllas externas a él). Las funciones que dependen de ellas se las puede denominar funciones lógicas primarias. A la vez, éstas pueden relacionarse y generar nuevas funciones lógicas, que pueden denominarse secundarias.

description

Algebra de BooleTecnicas digitales I - UTN FRBA 2015

Transcript of Apunte algebra de boole

Page 1: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 1/15

ÁLGEBRA DE BOOLE Se ocupa de la manipulación de las denominadas variables lógicas o booleanas. Variable lógica: es aquélla que en todo momento puede tomar uno de dos estados posibles. Ejemplo de este tipo de variables son: una lámpara (prendida o apagada); una puerta (abierta o cerrada); señales eléctricas (valor positivo, valor nulo); un bit (1, 0); un contacto (abierto, cerrado). Precisamente al Álgebra de Boole también se la denominó álgebra de conmutación pues su estudio se basó en el funcionamiento de relevadores o llaves electromecánicas que se operan o se desactivan. En la figura se ve un ejemplo, en el cual se introducen dos tipos de contactos que se utilizan habitualmente tanto en la industria como en electricidad y electrónica: son los Normal Abierto (NA) y Normal Cerrado (NC):

Ip=0A=0

x

Ip A=1

Contacto Normal CerradoContacto Normal Abierto

xIp

A=1Ip=0

A=0

c) d)b)a)

fig.1

NA

NC

fig.2

Así, el esquema de la fig.1 a) si no se activa el terminal del contactor, no circula corriente, no mueve su eje (electroimán) y los terminales de contacto no se unen, no produciéndose transmisión (T) de un extremo a otro del dispositivo, lo cual sí sucede en la figura b) cuando se hace A=1. En la fig.1 c) si no se activa el terminal del contactor, no circula corriente, no mueve su eje (electroimán) y los terminales de contacto se mantienen unidos produciéndose transmisión entre sus extremos, dejando de hacerlo, como en el caso de la figura 1d) cuando se opera el contactor y se abre (A=1). Los esquemas simbólicos con que se representan ambos tipos de contactores se ilustran en fig.2 Desde el punto de vista lógico su operación se representa con Tablas de Verdad; se ilustran en la fig.3

A

T

A T=A0 01 1

A A

Buffera)

A

T

A T=/A0 11 0

A A

Inversorb) fig.3

Se muestran además los dispositivos circuitales que se encargan de realizar las operaciones lógicas en los circuitos que se verán a lo largo del curso: las compuertas lógicas. En este caso, a cada operación le corresponden sendos dispositivos. Uno es el denominado Buffer (o separador) que deja pasar la misma señal que hay en la entrada, pero cuyo objetivo en todo caso, tiene que ver con la operación eléctrica del circuito donde va a funcionar (por ejemplo, se pueden utilizar buffers cuando es necesario que la variable lógica maneje mayores niveles de corriente, etc). El otro es el Inversor, que entrega en su salida el estado opuesto al presente en su entrada FUNCIONES LÓGICAS En el ejemplo de la fig. 3 b) se dice que la variable lógica T (transmisión) toma un estado que es el opuesto de A, o sea, depende de A. Se dice que T es función de A. Se define una función lógica, como “una variable lógica (en todo momento vale “0” o “1”) cuyo estado depende en todo momento del estado que presenten otra u otras variables lógicas”. Existen variables lógicas que son independientes de cualquier proceso (en un circuito lógico serán aquéllas externas a él). Las funciones que dependen de ellas se las puede denominar funciones lógicas primarias. A la vez, éstas pueden relacionarse y generar nuevas funciones lógicas, que pueden denominarse secundarias.

Page 2: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 2/15

Inversión: se dice que la operación lógica Inversión es una función lógica que depende del estado de una sola variable (A en este caso) y se caracteriza por tomar siempre el estado opuesto de ella. Otras funciones lógicas primarias básicas son: Suma lógica: también llamada suma, o, or o unión, es una operación entre variables que asume el estado “1” cuando una variable o la otra o ambas están en “1”. Esto dicho con palabras se pone de manifiesto en la tabla de verdad colocando un 1 en cada renglón en que B o A estén en 1. La Tabla de Verdad de la OR tiene un único cero. En la fig.4 a) se ve dicha función hecha con contactos (hay Transmisión si se pulsan las llaves A o B o las dos) y con la compuerta “OR”. Producto lógico: también llamado producto, y, and o intersección, es una operación entre variables que asume el estado “1” cuando una variable y la otra están en “1”. Esto dicho con palabras se pone de manifiesto en la tabla de verdad colocando un 1 en el renglón en que B y A están en 1. La Tabla de Verdad de la AND tiene un único uno. En la fig.4 b) se ve dicha función hecha con contactos (hay Transmisión si se pulsan las llaves A y B) y con la compuerta “AND”.

A

B

B A B + A0 0 00 1 11 0 11 1 1

AB

Y=B+A

Y

a)

B A

b)

AB

Z=B.A

ZB A B . A0 0 00 1 01 0 01 1 1

fig.4 Se verá más adelante, que con estas 3 funciones lógicas primarias se puede formar cualquier función lógica (de lo que se desprende que con compuertas AND, OR e INVERSOR se puede armar cualquier circuito lógico). VARIABLES Y FUNCIONES LÓGICAS COMO DIAGRAMAS DE VENN En lo que sigue se presenta una manera alternativa de representar variables y funciones lógicas. Para entenderlo se parte de uno de los postulados del Algebra de Boole que establece que si una variable A no toma el valor cero, toma el valor uno, es decir el contrario dentro del universo de valores posibles (0 y 1). En teoría de conjuntos se define un Conjunto Universal (U) dentro

a)

U

A

A

U

b)fig.5

del que se definen todas las variables y funciones. El postulado anterior se puede enunciar en este ámbito diciendo que definido un conjunto A, todo lo que no esté incluído o pertenezca a A es lo que lo complementa dentro del universo (se lo simboliza como antes la variable A negada).

U

A.BBA

U

+BA

U

a) b) c)fig.6

Page 3: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 3/15

En la fig. 6 se ven ejemplos de funciones lógicas básicas: en a) se presentan dos conjuntos que representan las variables A y B. Se define la operación suma como un conjunto formado por los elementos que pertenecen a A o pertenecen a B o a los dos. Es un conjunto que surge de juntar, de unir a los dos. Por eso la operación suma también se la denomina Unión (b). La operación producto se entiende como un conjunto formado por los elementos que pertenecen a A y (también) pertenecen a B. Se ve que esto se da en donde los dos conjuntos se intersectan, por lo que al producto lógico también se lo denomina Intersección (c). POSTULADOS DEL ÁLGEBRA DE CONMUTACIÓN 1a) Si A ≠ 0 entonces A = 1 1b) Si A ≠ 1 entonces A = 0 (variable bivaluada) 2a) A . B = B . A 2b) A + B = B + A (prop. conmutativa)

ABA B

A

B A

B

3a) A . A = A 3b) A + A = A (Idempotencia)

A A A

A

AA

4a) A . 1 = A 4b) A + 0 = A (neutralidad)

A 1 A

A

0A

5a) 10 = 5b) 01 = (negación) DUALIDAD: “Dada una función lógica, se puede obtener su dual reemplazando en su expresión los unos por ceros y viceversa y las sumas por productos y viceversa” (Atención: al aplicar dualidad no se alteran los estados de las variables; mantienen su carácter de negadas o su forma normal) Ej: dada 1.. BCAf += su correspondiente dual será: )0).(( ++= BCAfd Observar que los postulados b) enunciados antes se desprenden por aplicación de dualidad a los postulados a). Lo mismo podrá el lector aplicarlo como ejercitación a los teoremas a) que siguen para corroborar lo que enuncian los teoremas b) o viceversa. PRINCIPIO DE DUALIDAD: “Si dos funciones lógicas son iguales, también lo son sus respectivas duales entre sí” Ej: si DBCAGF ... += entonces )).(( DBCAGF ++=+ IGUALDAD: “Dos funciones lógicas son iguales si sus tablas de verdad son iguales”.

Page 4: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 4/15

TEOREMAS DEL ALGEBRA DE CONMUTACIÓN

Versión a Versión b Propiedad

1) A.0 = 0

2) 0A.A =

3) AA = 4) (A.B).C = A.(B.C) = A.B.C 5) A.(B+C) = A.B+A.C 6) A.(B+A) = A

7) B.A)AB.(A =+

8) BAB.A +=

9) ,...)C,B,A(fd...)C,B.A(f =

10) C.AB.AC.AC.BB.A +=++

A+1 = 1

1AA =+

(A+B)+C = A+(B+C) = A+B+C A+(B.C) = A+B.A+C A+(B.A) = A

BA)A.B(A +=+

B.ABA =+

)CA).(BA()C.A).(CB).(BA( ++=++

Involución

Asociativa

Distributiva

Absorción

Simplificación

Ley de De Morgan

Ley de Shannon

Consenso

Como fundamento de la Ley de De Morgan se puede presentar las siguientes tablas:

B A B+A B A fd(B+A) B A B+A

0 0 0 1 1 0 0 0 10 1 1 Por dualidad ==> 1 0 0 Reordenando ==> 0 1 01 0 1 0 1 0 1 0 01 1 1 0 0 1 1 1 0

B A B+A /B /A /(B+A) /B /A /(B+A)

0 0 0 1 1 0 0 0 10 1 1 Negando variables 1 0 0 Reordenando ==> 0 1 01 0 1 y la función ==> 0 1 0 1 0 01 1 1 0 0 1 1 1 0

Aplicando la definición de igualdad de funciones, se ve que las tablas de verdad de la función suma B+A resulta similar a la de la función A.B si se consideran las variables A y B negadas. De esto se desprende una justificación del teorema 8b presentado como Ley de De Morgan. FUNCIÓN DE FUNCIONES Sea la función ABCABACY .... ++= se escribe su tabla de verdad descomponiéndola en las funciones primarias, que en este caso son productos. Como la función es de 3 variables, sólo el producto que contiene a las tres (C.B./A)* presenta un único uno. A los demás les falta una variable en su expresión y esto determina que sus columnas tengan dos unos (uno para cada valor de la variable faltante) * /A léase A negado.

fig.7

Page 5: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 5/15

OTRAS TABLAS DE VERDAD: Por razones que se verán a lo largo del curso, puede ser de utilidad presentar la información que caracteriza a una función lógica mediante una Tabla de Verdad Reducida, que consiste en expresarla sin tabular los valores de una o más de las variables independientes. En la fig 8a se ve para el ejemplo anterior: se tabula X para las combinaciones de B y A, o sea no se tabula C. Como X es dependiente de C, ésta aparece en la columna de X. ¿Cómo se genera esta tabla reducida?

a) fig.8 b)

En la tabla completa (fig. 7) se marcaron con un mismo símbolo los renglones en los que la variables B y A toman los mismos juegos de valores. Dichos renglones corresponden a los dos valores de la variable restante, C. El símbolo “/” se colocó cuando BA = 00 (renglones 0 y 3). En ambos renglones la función X vale cero, por ello la Tabla reducida tiene ese valor en el renglón BA = 00. Algo análogo sucede en los renglones 1 y 4. Pero en el caso de los renglones 2 y 6 (marcados “**”) la función vale 0 cuando C=0 y vale 1 cuando C=1, es decir, X coincide con C. Por esta razón, en la tabla reducida no se coloca un estado lógico sino la variable C. Algo análogo sucede en los renglones 3 y 7. Otra forma de presentar una Tabla de Verdad es mediante una de doble entrada, denominada Mapa de Karnaugh (fig.8b). Los renglones pasan a ser celdas y se las numera según las variables ordenadas utilizando una codificación contínua (Gray). Ya se verán los motivos de hacerlo así. FUNCIÓN DE FUNCIONES: Suma de Minitérminos Se definen los Minitérminos o mintérminos como aquéllos productos en que intervienen todas las variables de la función. Se llaman también productos canónicos. Por ser productos y tener todas las variables, los minitérminos tendrán una TdeV con un único 1. Con n variables se pueden obtener 2n minitérminos. Expresión de una función a partir de su Tabla de Verdad

Productocanónico C B A

0 0 0 P00 0 1 P10 1 0 P20 1 1 P31 0 0 P41 0 1 P51 1 0 P61 1 1 P7

Vale 1 sólo siSimbología

.AB.CAB.C .

A..BCA..BC

A.BC..AB.CA.C.BA..C.B

A partir de la Tde V que se ilustra, se va a buscar un camino para obtener la expresión de la función lógica X. En base a lo hecho para tabular la función Y de la página 4 como suma de tablas de funciones primarias, se puede pensar en descomponer X en tantas funciones primarias como “1” tenga la tabla de verdad y luego sumarlas. En la fig.9 a. se ve tal descomposición. Cada columna lleva el nombre de cada función primaria, que por tener un único uno, resulta ser un minitérmino. X será la suma de los 4 minitérminos representados en cada columna. Este es un caso de función de funciones particular ya que todos los términos de la función contienen todas sus variables. Se dice que X es una Suma de Productos canónicos

C B A X0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

La expresión literal de la función es: .........X ABCABCABCABC +++= Se puede expresar en forma numérica detallada: X = P1+P3+P5+P6 o bien numérica simbólica: X = Σ P3 (1, 3, 5, 6)

Page 6: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 6/15

Cada minitérmino se simboliza Pi (significa producto i) siendo i el renglón de la tabla donde el producto se hace uno (renglón asociado al minitérmino). La expresión simbólica dice que X es la sumatoria de P3 (productos de 3 variables, numerados entre paréntesis). En la expresión literal aparecen las variables en su forma normal si la misma presenta un 1 en el renglón asociado o bien invertidas si están en cero en el mismo.

fig.9 a

C B A X0 0 0 0 0 0 0 00 0 1 1 1 0 0 00 1 0 0 0 0 0 00 1 1 1 0 1 0 01 0 0 0 0 0 0 01 0 1 1 0 0 1 01 1 0 1 0 0 0 11 1 1 0 0 0 0 0

.AB.C A.B.CA.B.C A.B.C

Esta forma obtener X conduce al: Teorema general de los minitérminos: “Toda función lógica puede ser expresada como una suma de minitérminos cada uno de ellos asociado al renglón de la Tabla de Verdad en que la función vale 1” Corolario: “Una función que sea la suma de los 2n minitérminos vale 1” Producto de Maxitérminos Se definen los maxitérminos como aquellas sumas en que intervienen todas las variables de la función. Se llaman Sumas canónicas. Una función lógica de n variables podrá tener hasta 2n maxitérminos. Considerando que la suma lógica es una operación cuya TV tiene un único cero, lo mismo se aplica a un maxitérmino. Se puede obtener una expresión de X estudiando los casos en que X= 0, tomando cada uno de los maxitérminos asociados y haciendo el producto entre ellos. (cualquier combinación de variables que corresponda al renglón de

Suma

canónica C B A

0 0 0 S00 0 1 S10 1 0 S20 1 1 S31 0 0 S41 0 1 S51 1 0 S61 1 1 S7

Vale 0 sólo siSimbología

ABC ++ABC ++

ABC ++A.BC ++

ABC ++ABC ++ABC ++ABC ++

un maxitérmino sumadas dan un valor 0 y un producto donde intervenga dará 0). Sea la función de la fig. 9b Su expresión literal es:

)).().().((X ABCABCABCABC ++++++++=

La expresión numérica es X =S0.S2.S4.S7

o numérica simbólica X = π S3 (0, 2, 4, 7)

fig.9b

C B A X0 0 0 0 0 1 1 10 0 1 1 1 1 1 10 1 0 0 1 0 1 10 1 1 1 1 1 1 11 0 0 0 1 1 0 11 0 1 1 1 1 1 11 1 0 1 1 1 1 11 1 1 0 1 1 1 0

ABC ++ ABC ++ ABC ++ ABC ++

Cada maxitérmino se simboliza Si (sumando i) siendo i el renglón de la tabla donde el sumando se hace cero (renglón asociado al maxitérmino). La expresión simbólica dice que X es la productoria de S3 (sumandos de 3 variables numerados entre paréntesis). En la expresión literal aparecen las variables en su forma normal si la misma presenta un cero en el renglón asociado o bien invertidas si están en uno en el mismo. Lo señalado más arriba conduce al enunciado del: Teorema general de los maxitérminos: “Toda función lógica puede ser expresada como un producto de sumas de maxitérminos, cada uno de ellos asociado al renglón de la Tabla de Verdad en que la función vale 0” Corolario: “Una función que sea el producto de los 2n maxitérminos vale 0”

Page 7: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 7/15

Notar que la redacción de cada uno de los párrafos anteriores que aparecen coloreados se puede obtener aplicando dualidad en la redacción del otro.

FUNCIÓN DE FUNCIONES CON DIAGRAMAS DE VENN Sea el caso de la función

ABCABACY .... ++= En fig.10 se ven 3 conjuntos tres de cuyas intersecciones representan los 3 productos de la función Y. La fig.11 muestra la génesis del producto de dos variables si una está negada. La representación de los tres productos y su suma se muestra en la fig.12.

U

A B

C

fig.10

C

A

C

fig.11

A.B

C

.AC

A.B.C

fig. 12

En general, para 3 variables, los 8 mintérminos que se pueden formar vistos en un Diagrama de Venn se muestran en la figura 13.

fig 13 SIMPLIFICACIÓN DE FUNCIONES: MINITÉRMINOS ADYACENTES

C B A YP0 0 0 0 0P1 0 0 1 1P2 0 1 0 0P3 0 1 1 1P4 1 0 0 0P5 1 0 1 1P6 1 1 0 0P7 1 1 1 1

Las funciones lógicas se pueden expresar de varias formas: Y = P1 + P3 + P5 + P7 (forma numérica de Y)

A.B.CA.B.CA.B.CA.B.CY +++= (forma canónica de Y)

A.CA.C)BB.(A.C)BB.(A.CY +=+++=

AY)CC.(AY =⇒+= & FORMA SIMPLIFICADA

Cómo localizar Minitérminos adyacentes Mediante Mapas de Karnaugh Los minitérminos adyacentes en el Mapa K son los que están en celdas separadas por un lado (1y3, 1y5, etc). Las opuestas por el vértice no son adyacentes (1y7, 3y5).

C BA

00 01 11 10

0 1 11 1 1

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

Page 8: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 8/15

Pero siendo adyacentes 3y7 y 5y7, determina que los cuatro formen un grupo de adyacencia. Esos grupos de adyacencia tendrán siempre una geometría particular en el Mapa K: formarán cuadrados, rectángulos o figuras simétricas, todos con 2n unos. Mediante los diagramas de Venn En los diagramas de Venn, los minitérminos adyacentes se representan como sectores separados por un segmento de curva; no lo son los que comparten sólo un vértice.

Mapas de Karnaugh como Diagramas de Venn Una variable se representó como un conjunto circular, pero se puede hacer también como rectángulo. Se verá una representación de este tipo en diversos Mapa K en función de su tamaño. Se tomará al Mapa como el Universo. Como una variable vale 0 ó 1 (la nada o el Universo) y a+/a = 1, se concluye que cada una y su negada ocupan todo el Mapa, con sendas mitades.

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10D

CBA

B A

0 1

01

B A

0 1

01

C BA

00 01 11 10

01

C BA

00 01 11 10

01

C BA

00 01 11 10

01B

A A BC

AB

Identificación de Minitérminos Adyacentes en el Mapa de Karnaugh

C BA

00 01 11 10

01

C BA

00 01 11 10

01

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10

1 111

11

11

1111A.B A.C

A.D A.B.C

11

11

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10

DC BA

00 01 11 10

00

01

11

10

1 1

1 1

1111

1111

A.C A A.B.CA.C

1 1 1 1

1 1 1 1

Page 9: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 9/15

SIMPLIFICACIÓN DE FUNCIONES: en dos niveles como Suma de Productos

Se presentan algunos ejemplos de agrupamientos de minitérminos para formar implicantes. Cada uno de éstos se denomina con las variables en común que tiene cada minitérmino que lo integra. La suma de esos productos da la expresión de la función simplificada (aparecen en ella de izquierda a derecha según aparecen en el Mapa K y en algunos casos se indican con flechas).

DC BA

00 01 11 10

00

01

11

10

C BA

00 01 11 10

01

11

11

C BA

00 01 11 10

01

11

11

C BA

00 01 11 10

01

11

1 1C

BA00 01 11 10

01

11

1C

BA00 01 11 10

01

11

1C

BA00 01 11 10

01

11

1 1C

BA00 01 11 10

01

1 11 11 1

C BA

00 01 11 10

01

11

11

C BA

00 01 11 10

01

11

11

1 1C

BA00 01 11 10

01

11

11

11

1 11 1 1

1

11

A.BA.B + A.CA.B + A.B.CA.B +A

A.BA.C + B.CA.B + BC+

A.BA.CA.B ++A.BB.CA.B ++ BA+B.C.DA.B.DA.B.DB.C.D +++

A continuación se presentan los implicantes primos esenciales: son los que deben aparecer sí o sí en la simplificación pues aportan un determinado minitérmino (aparecen con su celda coloreada).

C BA

00 01 11 10

01

DC BA

00 01 11 10

00

01

1110

DC BA

00 01 11 10

00

01

1110

11

1 11 1

1111

11 1

11

11

11

11

11

B.CA.CA.B ++A.B.CA.B.DB.DA.B +++ A.B.DB.CA.C ++

Funciones como Producto de Sumas Abajo se muestra como implementar una función Y agrupando los “0” de la función.

A.B.CA.B.DB.DA.BY +++=

1111

11

1

DC BA

00 01 11 10

00

01

1110

11

1111

11

1

DC BA

00 01 11 10

00

01

1110

11

1111

11

1DC

BA00 01 11 10

00

01

1110

A.BB.C.DA.B.DY ++=

)AB).(BCD).(ABD(YY +++++==A.BB.C.DA.B.DY ++=

Función Y Función YYFunción

=>

Page 10: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 10/15

El resultado es un producto de sumas y la función obtenida puede ser tan simple o más o menos, que agrupando minitérmnos. En este ejemplo se obtiene una función más simple. OBTENCIÓN DE FUNCIONES EN SU FORMA CANÓNICA Recordar que las formas canónicas de una función son aquéllas en que la misma se expresa como suma de productos (o producto de sumas) en los que cada factor contiene todas las variables. Estos factores son denominados factores canónicos o minitérminos (cada uno se expresa como producto de todas las variables) o maxitérminos (si expresan una suma) Sea la función X de tres variables: ABCABACX .... ++= (1) Si se multiplica cada término no canónico por la variable faltante más su negada la función no se altera pues equivale a multiplicar por 1 (recordar el 4to. postulado del Algebra de Conmutación: neutralidad):

ABCCCABBBACX ..).(.).(. ++++= =>> ABCABCABCABCABCX .......... ++++= P3 P1 P5 P1 P6 El minitérmino 1 aparece dos veces. Por el Postulado 3 resulta P1 + P1 = P1, con lo que:

ABCABCABCABCX ........ +++= (2) que es la expresión canónica de la función X. ¿Y si la función es de 4 variables y faltaran dos en un término? Sea por ejemplo ABCDACY .... += (3) en este caso se procede en forma análoga pero cuidando de incluir tantos factores como variables falten en cada término:

ABCDBBDDACY ...)).(.(. +++= =>> ABCDBBACDACDY ...)).(....( +++= =>> =>> ABCDABCDABCDABCDABCDY ............... ++++= P11 P9 P3 P1 P11 la repetición de P11 lleva a:

ABCDABCDABCDABCDY ............ +++= (4) Funciones canónicas y funciones simplificadas Si se pregunta si la (3) es la expresión más simple de la (4), habría que armar un Mapa K y obtener de ahí la expresión más simple: Agrupando los minitérminos involucrados, se ve en la figura que se forma un único implicante, lo que determina que la función tendrá un único término : ACY .= Se puede verificar lo antedicho factorizando la expresión (3):

DC\ BA

00 01 11 10

00 1 1011110 1 1

ABCDACY .... += => ).1.(. BDACY += => ACY .=

Conclusión: una expresión no canónica de una función lógica es más simple que la equivalente canónica, pero no necesariamente es la expresión más simple de la función.

Page 11: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 11/15

SINTESIS DE FUNCIONES LÓGICAS: CIRCUITOS LÓGICOS Como se señaló oportunamente, las técnicas digitales son una manera de procesar información. En los cursos de Ingeniería Electrónica, ella estará representada por señales eléctricas y serán procesadas por circuitos. Esas señales serán binarias que se simbolizan con “1” y “0” y serán procesadas en un circuito eléctrico por medio de distintos tipos de componentes. Los básicos son las compuertas lógicas que se presentaron al principio. En los diseños se parte de una especificación de la funcionalidad que se quiere obtener de la información lógica que se reciba y se pretende de ello hacer una traducción a valores lógicos llamados de salida, que representan la conclusión obtenida en base a lo recibido. La información de entrada y salida es procesada en principio por una Tabla de Verdad, de ella se buscará obtener una expresión lógica lo más simple posible y el circuito que la implementa. Ejemplo: diseñar un circuito que detecte por una entrada de 4 bits si la palabra binaria recibida corresponde a un dígito BCD, excepto sus valores extremos (0 y 9), poniendo en alto (“1”) su salida.

A la izquierda se ve la T de verdad que cumple con lo requerido y más abajo los Mapas de Karnaugh correspondiente. Luego se busca obtener la expresión más simple, lo que da lugar a los agrupamientos que se ven. En este caso ambas expresiones tienen el mismo tamaño (cantidad de términos y cantidad de variables por término)

D C B A W0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 13 0 0 1 1 14 0 1 0 0 15 0 1 0 1 16 0 1 1 0 17 0 1 1 1 18 1 0 0 0 19 1 0 0 1 1

10 1 0 1 0 011 1 0 1 1 012 1 1 0 0 013 1 1 0 1 014 1 1 1 0 015 1 1 1 1 0

W = /DC+/DA+/DB+D/C/B/A

DC BA

00 01 11 10

00 1 1 101 1 1 1 111

10 1

DC BA

00 01 11 10

00 1 1 101 1 1 1 111

10 1

W=(/D+/C)(/D+/A)(/D+/B)..(D+C+B+A)

DC BA

00 01 11 10

00 1 1 101 1 1 1 111

10 1

SIMPLIFICACIÓN EN DOS NIVELES (KARNAUGH) Y TRES O MAS NIVELES

Las simplificaciones por Karnaugh dan expresiones en dos niveles. Las mismas, no son necesariamente las más simples en cuanto a cantidad de términos que la forman (ni a la cantidad de compuertas requeridas para implementarlas).

/DC

W

D/C/B/A

/DA

/DA

W = /D.(C+B+A)+D/C/B/A

/D W

CBA

D/C/B/A

Page 12: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 12/15

En la figura superior, ambos circuitos realizan la misma función lógica. El de la izquierda surge de una simplificación utilizando el mapa de Karnaugh. El de la derecha, cuya expresión se transcribe abajo, surge de simplificar la expresión obtenida por Karnaugh y da lugar a un circuito con menos compuertas (una menos), o sea es ligeramente más simple. No obstante esto, se puede apreciar que las señales C, B y A tienen que atravesar 3 niveles de compuertas para llegar a la salida, esto es, el circuito de la derecha si bien es más simple también es más lento. Otro caso de simplificación lógica a posteriori de la hecha por Karnauh se muestra abajo; el circuito resulta en 4 niveles y mayor cantidad de compuertas, por lo que la misma resulta inconducente:

W = DC/B + DA + D/CB + /CBA

DC/B

W

DA

/CBA

D/CB

W = D(C/B+A+/CB)+/CBA

DA

C/B

/CBA

/CB

W

FUNCIONES INCOMPLETAMENTE ESPECIFICADAS: Uso de Redundancias Son aquéllas que no tienen establecido un estado lógico definido para una o más combinaciones de las variables de entrada (aunque pueden adoptar sólo uno de los dos estados lógicos) debido a una de dos posibilidades: a) no interesa el valor o estado que adopte la función para esa(s) combinación(es) de las variables de entrada . b) es imposible que en la realidad se produzca(n) esa(s) combinación(es) de las variables de entrada. A través del siguiente ejemplo se intentará dar una noción práctica del tema. El sistema de la figura representa un motor que llena una tanque de agua. El mismo es accionado por una lógica que detecta los niveles de agua a través de dos sensores. Se quiere diseñar una lógica que accione el motor cuando se vacíe el tanque (por debajo del nivel A) y lo detenga cuando desborde (supere el nivel B)

X0

1X

Page 13: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 13/15

La tabla de verdad de S va a contemplar las 2n = 4 posibilidades teóricas de suceso de las variables independientes B y A. La realidad del sistema Bomba - Tanque de Agua indica que: a) no interesa mayormente el estado que adopte la bomba de agua (S) cuando el nivel del tanque está entre A y B: puede funcionar o no. En un caso (S=1) arranca tan pronto el nivel desciende de B y para tan pronto lo sobrepasa. En otro (S=0) la bomba no arranca; el nivel descenderá hasta llegar a A para comenzar a funcionar y detenerse al llegar a B. En ambos casos no hay desborde ni vaciamiento. Se dice que es irrelevante el estado que tome S (renglón BA = 01 >>> S = X). b) es imposible que en la realidad el agua esté por encima de B y por debajo de A. También para este caso será irrelevante el valor de S (renglón BA = 10 >>> S = X). Ejemplo 1: Sea implementar un circuito que lea en su entrada un número BCD Natural y active su salida en Alto cuando dicho número sea 3 o múltiplo de 3.

D C B A Z0 0 0 0 00 0 0 1 00 0 1 0 0

3 0 0 1 1 10 1 0 0 00 1 0 1 0

6 0 1 1 0 10 1 1 1 01 0 0 0 0

9 1 0 0 1 11 0 1 0 X1 0 1 1 X1 1 0 0 X1 1 0 1 X1 1 1 0 X1 1 1 1 X

Las combinaciones 1010 a 1111 no pertenecen al código BCD Natural. Es esperable entonces que el circuito nunca reciba alguna de ellas en su entrada. Se dice entonces que "no importa" el valor de la salida Z para esas combinaciones de estados de las variables de entrada. Se simboliza esta situación con una X en la tabla de verdad, que refiere a que "da lo mismo" o "no importa" si Z será cero o uno. En la jerga técnica se utiliza la expresión en inglés "don't care" (no preocupa). También se las denomina redundancias. ¿Qué beneficio puede traer que la función quede sin especificar? Para simplificar la función, en el Mapa de Karnaugh esas X se pueden tomar como 1 ó 0 según convenga para formar implicantes de mayor tamaño y lograr una mayor reducción en la expresión final de la función.

DC\ BA

00 01 11 10

00 101 111 X X X X10 1 X X

ABCABCADZ ..... ++=

DA

ZDCBDCB

USO DE "DON'T CARE" PARA ABREVIAR ENTRADAS DE TABLAS DE VERDAD Cuando para todas las combinaciones de estados posibles de n variables de entrada, la función presenta un mismo valor o estado (incluso si es un X), se puede abreviar la escritura de la tabla de verdad reemplazando los estados de las variables que se combinan por X en un sólo renglón, eliminando los restantes que contienen las otras 2n - 1 combinaciones. Ejemplo 2: Dada la función Z indicada, escribir una Tabla de Verdad que la exprese con todas sus variables con la menor cantidad de renglones necesarios.

Z = Σ P4 (1,5,6,7,9,12,13,14,15)

Page 14: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 14/15

Siguiendo los procedimientos ya estudiados se escribe la Tabla de Verdad completa que se ilustra. En ella se aprecia que en los renglones 2 y 3, 6 y 7, 10 y 11 y los 12 a 15 la función Z presenta el mismo estado lógico para una dada combinación de variables. Por ejemplo, en 2 y 3, la función vale 0 para DCB = 001, o sea, independientemente de A. Equivale a decir, "no importa cuanto valga A", lo que lleva a formularse una representación alternativa con el uso de X:

D C B A Z0 0 0 0 00 0 0 1 10 0 1 0 00 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 01 0 0 1 11 0 1 0 01 0 1 1 01 1 0 0 11 1 0 1 11 1 1 0 11 1 1 1 1

D C B A Z D C B A Z0 0 0 0 0 0 0 0 0 00 0 0 1 1 0 0 0 1 10 0 1 0 0 0 0 1 X 00 0 1 1 0 0 1 0 0 00 1 0 0 0 0 1 0 1 10 1 0 1 1 0 1 1 X 10 1 1 0 1 1 0 0 0 00 1 1 1 1 1 0 0 1 11 0 0 0 0 1 0 1 X 01 0 0 1 1 1 1 X X 11 0 1 0 01 0 1 1 01 1 0 0 11 1 0 1 11 1 1 0 11 1 1 1 1

}

}

}

}

Ejemplo 3: idem anterior para la Tabla de Verdad del Ejemplo 1. En este caso se va a dar la situación de que aparecen X en las entradas y en la salida (la función)

D C B A Z D C B A Z0 0 0 0 0 0 0 0 X 00 0 0 1 0 0 0 1 0 00 0 1 0 0 0 0 1 1 10 0 1 1 1 0 1 0 X 00 1 0 0 0 0 1 1 0 10 1 0 1 0 0 1 1 1 00 1 1 0 1 1 0 0 0 00 1 1 1 0 1 0 0 1 11 0 0 0 0 1 0 1 X X1 0 0 1 1 1 1 X X X1 0 1 0 X1 0 1 1 X1 1 0 0 X1 1 0 1 X1 1 1 0 X1 1 1 1 X

}

}

}

}

IMPORTANTE: recordar no confundir una X en la función - que significa falta de especificación de la misma - con las X en las entradas, que significa escritura abreviada de renglones.

SIMPLIFICACIÓN DE FUNCIONES EN CIRCUITOS MULTISALIDA: Implicantes compartidos

Ejemplo: diseñar un Conversor de Códigos de BCD Natural a Aiken. Se escribe la T de V del Aiken. Cada una de sus variables será una función lógica a crear, esto es una salida del circuito.

BCD 2AIKEN

DCBA

D'C'B'A'

Page 15: Apunte algebra de boole

TÉCNICAS DIGITALES 1 ING. JUAN E. COLLAZO ALGEBRA DE BOOLE Ed. 15 Pág. 15/15

DC\ BA

00 01 11 10 DC\ BA

00 01 11 10

00 0 0 0 0 00 0 0 0 001 0 1 1 1 01 1 0 1 111 X X X X 11 X X X X10 1 1 X X 10 1 1 X X

A.B.CB.CD'D ++= ACB.CD'C ++=

Aiken

Nº D C B A D' C' B' A'0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 12 0 0 1 0 0 0 1 03 0 0 1 1 0 0 1 14 0 1 0 0 0 1 0 05 0 1 0 1 1 0 1 16 0 1 1 0 1 1 0 07 0 1 1 1 1 1 0 18 1 0 0 0 1 1 1 09 1 0 0 1 1 1 1 1

1 0 1 0 X X X X1 0 1 1 X X X X1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

Natural

DC\ BA

00 01 11 10 DC\ BA

00 01 11 10

00 0 0 1 1 00 0 1 1 001 0 1 0 0 01 0 1 1 011 X X X X 11 X X X X10 1 1 X X 10 0 1 X X

A'D =A.B.CB.CD'B ++=

Cuando hay que diseñar varias funciones lógicas para un mismo circuito, no siempre se busca obtener todas las funciones más simples, si es que existe algún implicante que pueda ser compartido por más de una función (salida). En este caso se han resaltado en color un par de celdas que corresponden al implicante C/BA. Este aparece en B’ tal cual, pero en D’ se podría agrupar formando un implicante mayor (CA). Pero hacer esto haría que la salida D’ tuviera una compuerta de 2 entradas y la salida B’ tuviera otra pero de 3 entradas. En cambio si se toma para D’ el implicante de menor tamaño, se puede usar sólo una compuerta que genere el término C/BA que se sumará tanto a D’ como a B’, resultando en un ahorro de una compuerta.

A.B.CB.CD'D ++=

ACB.CD'C ++=

A.B.CB.CD'B ++=

D C B A

D C B A

A.B.C

B.C

A'=D

¤¤¤¤¤¤¤¤¤¤