sábado, 7 de marzo de 2015

Álgebra de Boole



Álgebra de Boole

Son necesarias las matemáticas en nuestro día a día? SI!, es necesario conocer el álgebra para diseñar? SI! Y te diré el porque. Cuando empezamos a idear un automatismo nuestra mente empieza a imaginar un circuito y de seguida nos ponemos delante del ordenador a crear ese automatismo con sus circuitos, bien de contactos o con puertas lógicas. Este es nuestro primer error, o al menos que seamos alguien ya muy experimentando solucionando problemas de lógica, lo mas probable es que simulación tras simulación vayamos dándonos cuenta de todos los errores que hemos cometido durante el diseño. Si esos errores, son simplemente cambiar un contacto abierto por otro cerrado, o eliminar o recolocar otros contactos, son fallos menores, pero si fallo tras fallo nos damos cuenta de que el diseño esta mal, tendremos que volver a empezar de nuevo con la consiguiente perdida de tiempo, “El tiempo es oro, tanto si trabajas para ti como para tu jefe”.

El conocer el álgebra de Boole y empezar con un buen planteamiento del problema de automatización, no nos asegura que el automatismo nos funciona a la primera pero si que cometamos errores nos obliguen a plantearnos de nuevo todo el diseño.

En este blog no voy a explicar el álgebra con profundidad, pues existe mucha literatura ya publicada tanto, en internet, como por ediciones escritas, que personalmente las prefiero.

Enlaces de Paraninfo y Marconbo

principios del álgebra de Boole

Pongamos los principios claros, un repaso:
un contacto abierto es = 0

un contacto cerrado = 1


Ni que decir tiene que tenemos que conocer el sistema binario.

Binario 0010 = 2 decimal
binario 1100000 = 96 decimal

Pasar de decimal a binario.




Pasar de binario a decimal.




La resta
Semirestador

Un semirestador no es otra cosa que una suma exclusiva o puerta lógica tipo XOR.
Expresión algebraica
R = A (+) B (resta)
C= ĀB (acarreo)

tabla de la verdad

A
B
Resta
acarreo
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
Esto es si queremos restar un bit, pero si queremos restar un byte?

Restador completo por complementos a uno

la resta de complementos a uno se realiza sumando, el sustraendo al minuendo pero, primero hemos de hacer la inversión lógica del sustraendo es decir tenemos que pasar los 0 a 1 y los 1 a 0 y posteriormente sumar sustraendo y minuendo. En caso de producirse acarreo en en el bit de mayor peso este pasara a sumarse al bit de menor peso del resultado y se considera una resta positiva.

Si el resultado de la suma no produce acarreo la resta es negativa, con lo cual tenemos que hacer la inversión lógica del resultado para tener el resultado correcto.

45>>0101101 invertido 1010010
81>>1010001 invertido 0101110
81 >>1010001
45>+ 1010010
         10100011
                    +1
                     0100100 >> 36

Restador por complemento a doses

Consiste en hacer la inversión lógica del sustraendo y sumarle 1 en el bit de menor peso. Si el resultado de la suma del sustraendo y el minuendo es positivo por que ha habido acarreo el resultado es el correcto ignorando el acarreo, si es negativo, por que no ha habido acarreo tendremos que hacer el complemento a dos del resultado. Es decir haremos la inversión lógica del resultado y le sumaremos 1.

45>>0101101 invertido 1010010 complemento a dos 1010011
81>>1010001 invertido 0101110
1010001
+1010011
10100100

ignorar

Semisumador y sumador completo

semisumador

A
B
R
0
0
0
0
1
1
1
0
1
1
1
1


Sumador completo

Cn
A
B
R
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1

A = primer sumando.
B = segundo sumando.
Cn = acarreo.
R = resultado.

Postulados del álgebra de Boole


NOTA: como no puedo representar bien algunas de las formulas e decidido colgar un archivo PDF en el siguiente enlace:
1º postulado.
A+B=R
para contactos en paralelo.

A
B
R
0
0
0
0
1
1
1
0
1
1
1
1

2º Postulado.
AxB=R
para contactos en serie.

A
B
R
0
0
0
0
1
0
1
0
0
1
1
1

3º Postulado.
A+1=1
La asociación de dos contactos en paralelo con uno de ellos siempre cerrado (1) equivale a (1)

4º Postulado.
A+0=A
La asociación en paralelo de un contacto siempre abierto con otro (A) es igual a (A).

5º Postulado.
Ax0=0
La asociación en serie de un contacto (A) con otro siempre abierto es igual a cero.

6º Postulado.
Ax1=1
La asociación de dos contactos en serie y uno de ellos siempre cerrado es igual a (A).

7º Postulado.
A+xA=A
La asociación de dos contactos iguales en paralelo equivale a uno de ellos.

8º Postulado.
AxA=A
La asociación de dos contactos en serie e iguales equivale a uno de ellos.

9º Postulado.
A+B=B+A

10º Postulado.
AxB=BxA

11º Postulado.
A+B+C=A+(B+C)=(A+B)+C
AxBxC=A(BxC)=(AxB)C

12º Postulado.
A(B+C)=AxB+AxC
Propiedad distributiva respecto al producto

13º Postulado.
A+BxC=(A+B)x(A+C)
Propiedad distributiva de la suma respecto al producto.

14º Postulado.
A+Ā=1

15º Postulado.
AxĀ=0

16º Postulado.
=
A=A
Dos veces negado es igual a la misma variable.

17º Postulado.
A+B=C también A+B=C

Teoremas de Morgan

Permite trasformar funciones suma por funciones producto y viceversa, con lo cual, entre otras cosas, permite realizar los circuitos con un único tipo de puerta logica.

Teorema 1.
A+AxB=A

Teorema 2.
A(A+B)=A

Teorema 3.
A+AxB=A+B

Teorema 4.
(A+B)xB=AxB

Teorema 5.
(A+B)x(A+C)=AC+AB

Teorema 6.
A+B=AxB

Teorema 7.
AxB=A+B

Todos estos, postulados y teoremas, son los que nos ayudan a diseñar el circuito, tenerlos presentes considero que son imprescindibles y espero poder demostrártelo mas adelante.

Tabla de Karnaugh

La tabla de Karnaugh, nos ayudara de forma gráfica a simplificar nuestro circuito a partir de la tabla de la verdad y el resultado es una función. Aunque este método es valido asta cuatro variables del mismo problema, no deja de tener su utilidad y ayuda a reducir el tamaño del circuito sin perder toda su funcionalidad.
También añadiré, que es importante como ordenamos las variables en la tabla de la verdad, ya que nos puede ayudar a simplificar el problema y si lo hacemos mal, complicarlo.
No me voy a extender mas en ejemplos y explicaciones al menos de momento ya que como dije al principio hay mucha literatura sobre el tema.