Documente Academic
Documente Profesional
Documente Cultură
ALGEBRA DE BOOLE
http://www.tech-faq.com/wp-content/uploads/images/integrated-circuit-layout.jpg
6.1. Introduccin 6.2. lgebra de Boole 6.3. Anlisis booleano de circuitos lgicos. Tablas de verdad 6.4. Algoritmos de simplificacin de expresiones lgicas 6.5. Implementacin de funciones lgicas mediante puertas lgicas
6.1. INTRODUCCIN
PASOS:
Inicialmente estableceremos las bases matemticas asociadas al lgebra de Boole. Despus analizaremos la representacin de las variables lgicas por magnitudes fsicas, indicando los mdulos mnimos para la sntesis de funciones. Estudiaremos algn mtodo para simplificar en alguna forma las funciones booleanas. Por ltimo, se realiza su implementacin circuital.
El lgebra booleana son reglas algebraicas, basadas en la teora de conjuntos, para manejar ecuaciones de lgica matemtica.
La lgica matemtica trata con proposiciones, elementos de circuitos de dos estados, etc., asociados por medio de operadores como Y, O, NO, EXCEPTO, SI... Permite clculos y demostraciones como cualquier parte de las matemticas. Es llamada as en honor del matemtico George Boole, que la introdujo en 1847.
Se dice que un conjunto de elementos B, en el que existen definidas dos operaciones binarias (que representaremos por + y por ) tiene estructura de lgebra de Boole si y solo si se cumplen los siguientes cuatro postulados: Las operaciones + y son conmutativas.
Ejemplo:
a+b=b+a
ab=ba
Existen en B dos elementos neutros, que denotaremos por 0 y 1, para las operaciones + y , respectivamente. a+0= a y a 1= a Cada operacin es distributiva con respecto a la otra (expresa el proceso de sacar factor comn).
Ejemplo (tres variables):
a(b+c) = ab + ac
a
de B existe un
tal que:
a +a =1 y aa = 0
4
En Electrnica Digital estamos interesados en el lgebra de Boole establecida en el conjunto B = {0,1} con las operaciones + y definidas por:
+ 0 1
0 0 1
1 1 1
0 1
0 0 0
1 0 1
Estas operaciones se cumplen los 4 postulados anteriores.Llamaremos: AND (Y lgico) a la operacin OR (O lgico) a la operacin + NOT (NO lgico) a la operacin de complementacin.
NOTA; Por simplicidad, de ahora en adelante usaremos la representacin xy en vez de la xy para la composicin de las variables x e y mediante la operacin .
La Electrnica Digital: estudio y realizacin de circuitos que realicen las funciones AND, OR, NOT y sus combinaciones.
Mara Jess Martn Martnez : mjmm@usal.es 5
Existen una serie de teoremas, vlidos en cualquier lgebra de Boole, que vamos a enunciar y que no demostraremos, los cuales nos sern de gran utilidad para la simplificacin de funciones:
Teorema 1. Principio de dualidad: Cada proposicin o identidad algebraica deducible de los postulados del lgebra de Boole permanece vlida si:
cambiamos entre si las operaciones + y , y tambin cambiamos entre si los elementos neutros 0 y 1.
x+x = x
x +1 = 1
xx = x
x0 = 0
x( x + y ) = x
x( yz ) = ( xy ) z
x + xy = x
x + ( y + z) = ( x + y) + z
asociado a
es nico
(x) = x
xy=x+y
x+ y = x y
xy + xy = y ( x + y )( x + y ) = y
x y e yz xz
x y e x z x yz
x y
x y+z
para cualquier z
x y
si y solo si
yx
7
DEFINICION: Llamaremos funciones lgicas o funciones booleanas (f) a todo conjunto de variables relacionadas entre s por una expresin que representa:
La combinacin de un conjunto finito de smbolos, representando constantes o variables Unidos por las operaciones AND (producto lgico) , OR (suma lgica) o NOT (complementacin).
Trmino producto: es una expresin lgica que consiste en un conjunto de variables (o sus complementadas) unidas por la operacin AND.
f ( x, y , z ) = x y
Trmino suma: es una expresin lgica que consiste en un conjunto de variables (o sus complementadas) unidas por la operacin OR.
f ( x, y , z ) = x + y
Un trmino producto standard o MINTERM: expresin lgica que consiste en un conjunto de TODAS las variables (o sus complementadas) unidas por la operacin AND.
f ( x, y , z ) = x y z
Un trmino suma standard o MAXTERM: expresin lgica que consiste en un conjunto de TODAS las variables (o sus complementadas) unidas por la operacin OR.
f ( x, y , z ) = x + y + z
Mara Jess Martn Martnez : mjmm@usal.es 8
Con n variables se pueden formar 2n MINTERMS y 2n MAXTERMS Formas cannicas de una funcin Toda funcin booleana puede expresarse de dos formas cannicas diferentes:
ponerse en forma de suma de Minterms forma cannica disyuntiva. O ponerse en forma de producto de Maxterms forma cannica conjuntiva.
Esa funcin algebraica se podr simplificar aplicando directamente las leyes del lgebra de Boole, o bien, sistemticamente, a travs de mtodos de reduccin que veremos ms adelante. EJEMPLO N 1: Consideramos la funcin
f ( x, y , z ) = x ( y + z )
Tenemos una funcin de 3 variables Vamos a mostrar los 23=8 Minterms y los 23=8 Maxterms que podemos formar. A los Minterms los vamos a llamar : mi (i=0 hasta 7), en total 8 A los Maxterms los vamos a llamar : Mi (i=0 hasta 7), en total 8 Cada Mi cumple
M i = mi
Mara Jess Martn Martnez : mjmm@usal.es 9
f ( x, y , z ) = x ( y + z )
Para los Minterms: Los subndices i, en decimal, indican en binario la complementacin o no complementacin de la correspondiente variable:
Asignando un 1 para la variable sin complementar Asignando un 0 para la variable complementada.
Ejemplos: el minterm m6= (f=1) corresponde al 110 de la tabla de verdad (asignando y a las variables sin complementar y complementadas, respectivamente). Ejemplo: el maxterm M2= (f=0) se asigna al contrario
D. Pardo, et al. 1999
10
Si disponemos de la tabla de verdad de una funcin, es inmediato obtener la expresin de la funcin, ya que
Si deseamos obtener la funcin como suma de minterms, podemos obtenerla escribiendo la suma de los minterms asociados a aquellas combinaciones de valores de las variables para las cuales la funcin vale 1 .
Esta suma vale uno solamente para los conjuntos de valores de las variables que hacen uno la funcin.
Si deseamos obtenerla como producto de maxterms, debemos escribir el producto de los maxterms asociados a aquellas combinaciones de valores de las variables para las cuales la funcin vale 0 .
De este producto tenemos la certeza que es cero nicamente para los conjuntos de valores de las variables que hacen cero la funcin.
11
f=1 si se cumple que x=1 y adems (y=1 o z=1) Podemos expresar la funcin como:
f ( x, y , z ) = x ( y + z )
La suma de los MINTERMS para los que la funcin toma valor 1 Producto de MAXTERMS para los que la funcin toma valor 0.
12
La electrnica digital utiliza sistemas y circuitos en los que slo existen dos estados posibles.
Estos estados se representan mediante dos niveles de tensin discretos y diferentes:
ALTO (H: high) BAJO (L: low).
Estos dos estados pueden representarse tambin mediante niveles de corriente, interruptores abiertos o cerrados, o lmparas encendidas o apagadas. En los sistemas digitales, las combinaciones de estos dos estados se utilizan para representar nmeros, smbolos, caracteres alfabticos y cualquier otro tipo de informacin.
Los dos Digitos del sistema binario, 1 y 0, se denominan bits (contraccin de BInary digiT).
Un 1 se representa mediante un nivel de tensin ms elevado, que se denomina nivel ALTO (HIGH) Un 0 se representa mediante un nivel ms bajo de tensin, que se denomina nivel BAJO (LOW)
Este convenio se denomina: Lgica positiva y es la que vamos a emplear a lo largo del curso.
Asignacin lgica
13
Los valores de tensin comprendidas entre VLmx y VHmin no son aceptables para un funcionamiento correcto Una tensin dentro de este rango podra interpretarse tanto como nivel ALTO como BAJO en un circuito. Ejemplo: En una lgica digital TTL:
Los valores del nivel ALTO pueden variar desde 2 V a 5 V Los valores del nivel bajo lo pueden hacer entre 0 V y 0.8 V.
http://zone.ni.com/cms/images/devzone/tut/voltagelevel.JPG
Si se aplica una tensin de 3.5 V, el circuito lo interpretar como un BAJO (LOW) o 0 binario. Para este tipo de circuito las tensiones comprendidas entre 0.8 V y 2 V no son aceptables y nunca deben ser utilizadas.
14
Ejemplo: Sin tener en cuenta su constitucin interna, consideremos un circuito de dos entradas y una salida, cuya representacin y salida en funcin de las entradas como el que se muestra en la Figura.
A B
Para una lgica definida positiva, este circuito realiza la operacin AND Sin embargo, con una lgica definida negativa el circuito realiza la operacin OR.
VA 0V 5V 0V 5V
VB 0V 0V 5V 5V
VC 0V 0V 0V 5V
Por tanto, al especificar el tipo de operacin que realiza un circuito, debe indicarse tambin para qu tipo de lgica la realiza. En el caso de no especificarse, debe entenderse que es para lgica definida positiva
15
Es conveniente representar los circuitos que realizan las funciones lgicas por ciertos smbolos que a la hora de trabajar con ellos simplifiquen su manejo. En lgica definida positiva, y dos entradas Las funciones lgicas elementales, tambin llamadas puertas lgicas, son bsicamente tres:
Los circuitos que realiza la operacin: NOT smbolo: AND OR se representan por el
a. b
a+b a b
http://i.cmpnet.com/pldesignline/2006/05/max-bb-02.gif
16
Debemos hacer notar que no son necesarios los tres tipos de circuitos lgicos (puertas) para realizar todas las operaciones en un lgebra de Boole Con dos de ellas puede realizarse la tercera. As tenemos, como se muestra en la Figura, que tres inversores y una puerta AND (OR) actan como una puerta OR (AND).
x x+y y
x xy
Operaciones OR y AND
17
x y
xy
D. Pardo, et al. 1999
x y
x+y
D. Pardo, et al. 1999
18
x x y xx
x x y x x+y
xy
x+y
xy y
yy a)
b)
D. Pardo, et al. 1999
19
Por ltimo mencionaremos que existen como bloques bsicos dos puertas denominadas OR-EXCLUSIVO y NOR-EXCLUSIVO, cuya funcin y smbolo son las indicadas:
Diagrama lgico y smbolo 0R "exclusiva" Diagrama lgico y smbolo N0R "exclusiva"
http://www.forosdeelectronica.com/tutoriales/compuertas-digitales.htm
20
Una funcin de Boole puede representarse, por una expresin algebraica. Pero esta representacin no es nica.
x y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f 0 1 0 1 0 1 1 1
Representacin Tablas de verdad Son unas representaciones grficas de todos los casos que se pueden dar en una relacin algebraica y de sus respectivos resultados.
0 0 0 0 1 1 1
Una vez que se ha determinado la expresin booleana de un circuito dado, puede desarrollarse una tabla de verdad que representa la salida (funcin) del circuito lgico para todos los posibles valores de las entradas Normalmente, la tabla de verdad suele ser el dato inicial a la hora del diseo de circuitos digitales. Cuanto mayor sea el nmero de variables de que consta la funcin, ms tediosa ser la representacin.
21
Representacin Mapas de Karnaugh Son similares a una tabla de verdad ya que muestra todos los posibles valores de las variables de entrada y la salida resultante para cada valor. Caractersticas de los Mapas de Karnaugh:
Esta organizado en una cuadrcula en forma de encasillado cuyo nmero de casillas depende del nmero de variables que tenga la funcin a simplificar. Para una funcin de n variables, el mapa consta de 2n cuadros, cada uno asociado a uno de los 2n minterms diferentes que son suficientes para generar la funcin. Las celdas se disponen de manera que la cada una se diferencia de la contigua (tanto en vertical como en horizontal) justamente en el estado de complementacin de una variable.
x
0 1
0 1
0 1
xy z
00
01
11
10
0 1
0 1
0 1
1 1
22
Representacin Mapas de Karnaugh En el caso de tener una funcin booleana de 5 variables, se construye mediante 2 mapas de 4 variables (con 16 celdas cada uno, uno de ellos correspondiente al valor 0 de la quinta variable y el segundo correspondiente al valor 1.
Representacin
Cada una de las casillas que forman el mapa puede representar trminos tanto minterms como maxterms.
Si representamos una funcin en forma de MINTERMs, pondremos un 1 en la casilla correspondiente a cada trmino de la tabla de verdad y del mapa de Karnaugh. Si la representamos en forma de MAXTERMS, pondremos un 0 en la casilla correspondiente a cada trmino.
Si disponemos del mapa de Karnaugh de una funcin es inmediato obtener la expresin de la funcin, de igual modo que desde una tabla de verdad.
23
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
f 1 0 0 1 1 0 1 0
Minterms
Maxterms
f ( x, y , z ) = x y z + x y z + x y z + x y z =
= ( x + y + z )( x + y + z )( x + y + z )( x + y + z )
xyz
x +y +z
x + y +z
xyz xyz
x +y +z
f ( x, y , z ) = y z + x y z + x y z =
xyz
x +y +z
= ( x + y + z )( x + y + z )( x + z )
corresponden a la tabla de verdad.
Debemos por tanto decir que la forma anteriormente propuesta, aunque correcta, no es la ms simple, salvo en casos excepcionales. Antes de proceder a implementar una funcin es conveniente, en general, intentar obtener su forma ms sencilla, mediante su simplificacin.
24
Antes de proceder a implementar cualquier funcin con puertas lgicas es conveniente obtenerla de forma ms sencilla mediante simplificacin.
La simplificacin de funciones lgicas puede obtenerse mediante la aplicacin de los teoremas que hemos estudiado del Algebra de BOOLE. Sin embargo, existen diferentes tcnicas de simplificacin de funciones lgicas basadas en agrupar MINTERMS que se diferencian en el estado de una variable
En un MINTERM figura complementada y en otro no
25
26
TRUCO: Sealemos que en algunos casos pueden introducirse MINTERMs inexistentes en la funcin a fin de simplificarla, si se dan una de las dos condiciones siguientes
NO OCURRE: es aquel minterm (combinacin de las variables) que no tiene posibilidad fsica de aparecer. NO IMPORTA: es aquel minterm que de estar presente en la entrada, no se toma en consideracin el valor de la funcin.
En cualquiera de estos dos casos el minterm se tomar contribuyendo a la funcin como ms nos interese para su mxima simplificacin.
http://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Karnaugh_map_KV_4mal4_21.svg/600px-Karnaugh_map_KV_4mal4_21.svg.png
27
f ( x, y , z , v ) = x y z v + x y z v + x y z v + x y z v + x y z v + x y z v
donde el conjunto de valores:
el x=1, y=1, z=1, v=1 no ocurre el x=1, y=0, z=1, v=0 no importa.
La agrupacin I puede representarse por: La agrupacin II puede representarse por: La agrupacin III puede representarse por:
yz v
zv
zv
yz
00 01 11 10
1 1
*
II
-
III
f ( x, y , z, v ) = y z v + z v + y z
NOTA: los minterms no ocurre y no importa se han tomado como unos para mayor simplificacin. Mara Jess Martn Martnez : mjmm@usal.es 28
Agradecimientos
Daniel Pardo Collantes. rea de electrnica. Departamento de Fsica Aplicada de la Universidad de Salamanca.
Referencias
Pardo Collantes, Daniel; Bailn Vega, Lus A., Elementos de Electrnica.Universidad de Valladolid. Secretariado de Publicaciones e Intercambio Editorial.1999. http://www.forosdeelectronica.com/tutoriales/compuertas-digitales.htm http://i.cmpnet.com/pldesignline/2006/05/max-bb-02.gif http://zone.ni.com/cms/images/devzone/tut/voltagelevel.JPG http://www.ee.surrey.ac.uk/Projects/Labview/minimisation/graphics/nak.gif http://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Karnaugh_map_KV_ 4mal4_21.svg/600px-Karnaugh_map_KV_4mal4_21.svg.png
29