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
- ABRestaacarreo0000011110101100
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
- ABR000011101111
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.