miércoles, 20 de octubre de 2010

Mapa de Karnaugh

MAPA DE KARNAUGH


Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como K-Mapa o KV-Mapa) es un diagrama utilizado para la simplificación de funciones algebraicas booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y matemático de los laboratorios Bell.

Los mapas K aprovechan la capacidad del cerebro humano de trabajar mejor con patrones que con ecuaciones y otras formas de expresión analítica. Externamente, un mapa de Karnaugh consiste de una serie de cuadrados, cada uno de los cuales representa una línea de la tabla de verdad. Puesto que la tabla de verdad de una función de N variables posee 2N filas, el mapa K correspondiente debe poseer también 2N cuadrados. Cada cuadrado alberga un 0 ó un 1, dependiendo del valor que toma la función en cada fila. Las tablas de Karnaugh se pueden utilizar para funciones de hasta 6 variables.


X1 X3 54645454 0 4 5 1 X4 8 12 13 9 X2 10 14 15 11

2 6 7 3
Números correspondientes a las posiciones de la tabla de la verdad


Ejemplo mapa de Karnaugh:

X1
X3 _________
_________
0 1 1 1
X4 0 0 1 1
X2 0 0 1 0
1 1 0 0
Tabla de lazos que se pueden permitir, según las variables que contenga un mapa: MAPAS según su variable




v 1 2 4 8 16 32 64
2 2 1 C NA NA NA NA
3 3 2 1 C NA NA NA
4 4 3 2 1 C NA NA
5 5 4 3 2 1 C NA
6 6 5 4 3 2 1 C

v= variables
C= constantes
NA= no permitido

ECUACIONES BOOLEANAS


Ecuaciones Booleanas
Reducción de ecuaciones booleanas.



Se denomina función lógica o booleana a aquella función matemática cuyas variables son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico (·) o negación('). Función Booleana
Una función booleana es una aplicación de A x A x A x....A en A, siendo A un conjunto cuyos elementos son 0 y 1 y tiene estructura de álgebra de Boole.
Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:
• Algebraica
• Por tabla de verdad
• Numérica
• Gráfica
Todas las variables y constantes del Álgebra booleana, admiten sólo uno de dos valores en sus entradas y salidas: Sí/No, 0/1 o Verdadero/Falso. Estos valores bivalentes y opuestos pueden ser representados por números binarios de un dígito (bits), por lo cual el Álgebra booleana se puede entender cómo el Álgebra del Sistema Binario. Todas las operaciones (representadas por símbolos determinados) pueden ser materializadas mediante elementos físicos de diferentes tipos (mecánicos, eléctricos, neumáticos o electrónicos) que admiten entradas binarias o lógicas y que devuelven una respuesta (salida) también binaria o lógica.

IMPORTANCIA

Implementar una ecuación booleana a través de un circuito lógico para obtener su tabla de verdad, reducir la ecuación a través de algebra booleanas e implementar la ecuación reducida para comprobar que cumple con la función de la ecuación original.

Equipo y material:

-Fuente de voltaje
-Multímetro
-Transistor 2N2222
-CI 7406 compuerta NOT
-CI 7408 compuerta AND
-CI 7432 compuerta OR
Dip Switch
6 resistencias de 330 ohm
3 resistencias de 1kohm
6 LED´s

martes, 19 de octubre de 2010

COMPUERTAS LOGICAS


COMPUERTAS LÓGICAS

Las computadoras digitales utilizan el sistema de números binarios, que tiene dos dígitos 0 y 1. Un dígito binario se denomina un bit. La información está representada en las computadoras digitales en grupos de bits. Utilizando diversas técnicas de codificación los grupos de bits pueden hacerse que representen no solamente números binarios sino también otros símbolos discretos cualesquiera, tales como dígitos decimales o letras de alfabeto. Utilizando arreglos binarios y diversas técnicas de codificación, los dígitos binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos de instrucciones para realizar diversos tipos de cálculos.

La información binaria se representa en un sistema digital por cantidades físicas denominadas señales, Las señales eléctricas tales como voltajes existen a través del sistema digital en cualquiera de dos valores reconocibles y representan una variable binaria igual a 1 o 0. Por ejemplo, un sistema digital particular puede emplear una señal de 3 volts para representar el binario "1" y 0.5 volts para el binario "0". La siguiente ilustración muestra un ejemplo de una señal binaria.


Como se muestra en la figura, cada valor binario tiene una desviación aceptable del valor nominal. La región intermedia entre las dos regiones permitidas se cruza solamente durante la transición de estado. Los terminales de entrada de un circuito digital aceptan señales binarias dentro de las tolerancias permitidas y los circuitos responden en los terminales de salida con señales binarias que caen dentro de las tolerancias permitidas.

La lógica binaria tiene que ver con variables binarias y con operaciones que toman un sentido lógico. La manipulación de información binaria se hace por circuitos lógicos que se denominan Compuertas.

Las compuertas son bloques del hardware que producen señales en binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica. Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadoras digitales. Cada compuerta tiene un símbolo gráfico diferente y su operación puede describirse por medio de una función algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en forma tabular en una tabla de verdad.

A continuación se detallan los nombres, símbolos, gráficos, funciones algebraicas, y tablas de verdad de las compuertas más usadas.

Compuerta AND: (ver funcionamiento)

Cada compuerta tiene dos variables de entrada designadas por A y B y una salida binaria designada por x.
La compuerta AND produce la multiplicación lógica AND: esto es: la salida es 1 si la entrada A y la entrada B están ambas en el binario 1: de otra manera, la salida es 0.
Estas condiciones también son especificadas en la tabla de verdad para la compuerta AND. La tabla muestra que la salida x es 1 solamente cuando ambas entradas A y B están en 1.
El símbolo de operación algebraico de la función AND es el mismo que el símbolo de la multiplicación de la aritmética ordinaria (*).
Las compuertas AND pueden tener más de dos entradas y por definición, la salida es 1 si todas las entradas son 1.



Compuerta OR: (ver funcionamiento)

La compuerta OR produce la función sumadora, esto es, la salida es 1 si la entrada A o la entrada B o ambas entradas son 1; de otra manera, la salida es 0.
El símbolo algebraico de la función OR (+), es igual a la operación de aritmética de suma.
Las compuertas OR pueden tener más de dos entradas y por definición la salida es 1 si cualquier entrada es 1.


Compuerta NOT: (ver funcionamiento)

El circuito NOT es un inversor que invierte el nivel lógico de una señal binaria. Produce el NOT, o función complementaria. El símbolo algebraico utilizado para el complemento es una barra sobra el símbolo de la variable binaria.
Si la variable binaria posee un valor 0, la compuerta NOT cambia su estado al valor 1 y viceversa.
El círculo pequeño en la salida de un símbolo gráfico de un inversor designa un inversor lógico. Es decir cambia los valores binarios 1 a 0 y viceversa.


Compuerta Separador (yes):

Un símbolo triángulo por sí mismo designa un circuito separador, el cual no produce ninguna función lógica particular puesto que el valor binario de la salida es el mismo de la entrada.
Este circuito se utiliza simplemente para amplificación de la señal. Por ejemplo, un separador que utiliza 5 volt para el binario 1, producirá una salida de 5 volt cuando la entrada es 5 volt. Sin embargo, la corriente producida a la salida es muy superior a la corriente suministrada a la entrada de la misma.
De ésta manera, un separador puede excitar muchas otras compuertas que requieren una cantidad mayor de corriente que de otra manera no se encontraría en la pequeña cantidad de corriente aplicada a la entrada del separador.


Compuerta NAND: (ver funcionamiento)

Es el complemento de la función AND, como se indica por el símbolo gráfico, que consiste en una compuerta AND seguida por un pequeño círculo (quiere decir que invierte la señal).
La designación NAND se deriva de la abreviación NOT - AND. Una designación más adecuada habría sido AND invertido puesto que es la función AND la que se ha invertido.
Las compuertas NAND pueden tener más de dos entradas, y la salida es siempre el complemento de la función AND.


Compuerta NOR: (ver funcionamiento)

La compuerta NOR es el complemento de la compuerta OR y utiliza el símbolo de la compuerta OR seguido de un círculo pequeño (quiere decir que invierte la señal). Las compuertas NOR pueden tener más de dos entradas, y la salida es siempre el complemento de la función OR.







El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario “ º “ definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana.

Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:

• Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.

• Conmutativo. Se dice que un operador binario “ º “ es conmutativo si A º B = B º A para todos los posibles valores de A y B.

• Asociativo. Se dice que un operador binario “ º “ es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C.

• Distributivo. Dos operadores binarios “ º “ y “ % “ son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.

• Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario “ º “ si A º I = A.

• Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano “ º “ si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.




















ALGEBRA DE BOOLE

Postulados:

Operaciones conmutativas:

A*B=B*A
A+B=B+A

Elemento neutro:

A*1=A
A+0=A

Propiedad distributiva:

A*(B+C)=(A*B)+(A*C)
A+(B*C)=(A+B)*(A+C)

Complementos:

A+Ã=1
A*Ã=0

TEOREMAS:

DUALIDAD: Dada una identidad de los postulados del álgebra de boole, por lo tanto válida, se obtiene otra identidad igualmente válida para la operación * en la operación +, y viceversa. Cada operación se reemplaza por otra, al igual que sus elementos neutros.

IDEMPOTENCIA:

A*A=A
A+A=A

Demostración:

A+A=(A+A)*1
(A+A)*(A+Ã)
A+(A*Ã)
A+0
A
Dual para la operación *


ABSORCIÓN:
A+1=1
A*0=0
Demostración:

1=A+Ã
A+(Ã*1)
(A+Ã)*(A+1)
1*(A+1)
(A+1)*1
A+1

Dual para A*0

Primera ley de redundancia:
A+(A*B)=A
A*(A+B)=A

A=A*1
A*(B+1)
(A*B)+(A*1)
(A*1)+(A*B)
A+(A*B)

Dual para A*(A+B)

Unicidad del complemento:

Supondremos que:

Ã=X ^ Ã=Y // Es decir supondremos 2 complementos posibles para Ã

Si existiera lo anterior, entonces tendríamos:

(A+Ã=A+X=A+Y=1) ^ (A*Ã=A*X=A*Y=0)

Demostración:

X=X*1
X*(A+Y)
(X*A)+(X*Y)
0+(X*Y)
(A*Y)+(X*Y)
Y*(A+X)
Y*1
Y

INVOLUCION:

A=Ẫ

Demostración:
Ã=E
Ẽ = A

A*E=0
A+E=1

Reemplazando en E:
A*Ã=0
A+Ã=1


ASOCIATIVA:

A+(B+C)=(A+B)+C
A*(B*C)=(A*B)*C

Supondremos:

A+((A*B)*C)=A+((A*(B*C))
Ã+((A*B)*C)=A+((A*(B*C))

DEMOSTRAREMOS:
A+((A*B)*C)=A+((A*B)*C)
A+((A*B)*C)=A
A*(A*C)
A+(A*B)+(A+C)
A+((A*B)*C)

DEMOSTRAREMOS: Ã+((A*B)*C)=Ã+((A*B)*C)

Ã+(A*(B*C)) = (Ã+A) * (Ã+(B*C))
1 * (Ã+(B*C))
(Ã+B) * (Ã+C)
1 * (Ã+B) * (Ã+C)
(Ã+A) * (Ã+B) * (Ã+C)
Ã+(A*B) * Ã+C
Ã+((A*B)*C)

Y CON ELLO:

(A+((A*B)*C))* (Ã+((A*B)*C))) =(A+(A*(B*C)) *(Ã+(A*(B*C))

Al primer miembro lo minimizaremos:

(A+((A*B)*C))* (Ã+((A*B)*C))

(A*Ã)+((A*B)*C)

0 + ((A*B)*C)) I



(A+(A*(B*C)) *(Ã+(A*(B*C))

(A+Ã)+(A*(A*B))

0+(A*(A*B)) II

Para terminar:
I=II
(A*B)*C=A*(A*B)

PRIMERA LEY DE DEMORGAN:

_____
(A+O) = Ã*Õ
_____
(A*O) = Ã+Õ

Demostración:

(A+O) + (Ã*Õ) = 1

(A+O)*Ã + (A+O)*Õ

(A*Ã)+O + (O*Õ)+A

1+O + 1+A

1+1

1

SEGUNDA LEY DE DEMORGAN

Dual al anterior

SEGUNDA LEY REDUNDANCIA

A*(Ã+B) = A*B
A+(Ã*B) = A+B

A*(Ã+B) = (A*Ã) + (A*B)
0 + (A*B)
(A*B)

Dual al anterior para demostrar : A+(Ã*B) = A+B





Muchos componentes utilizados en sistemas de control, como contactores y relés, presentan dos estados claramente diferenciados (abierto o cerrado, conduce o no conduce). A este tipo de componentes se les denomina componentes todo o nada o también componentes lógicos.

Para estudiar de forma sistemática el comportamiento de estos elementos, se representan los dos estados por los símbolos 1 y 0 (0 abierto, 1 cerrado). De esta forma podemos utilizar una serie de leyes y propiedades comunes con independencia del componente en sí; da igual que sea una puerta lógica, un relé, un transistor, etc...

Atendiendo a este criterio, todos los elementos del tipo todo o nada son representables por una variable lógica, entendiendo como tal aquella que sólo puede tomar los valores 0 y 1. El conjunto de leyes y reglas de operación de variables lógicas se denomina álgebra de Boole, ya que fue George Boole el que desarrolló las bases de la lógica matemática.

Operaciones lógicas básicas

Sea un conjunto formado por sólo dos elementos que designaremos por 0 y 1. Llamaremos variables lógicas a las que toman sólo los valores del conjunto, es decir 0 o 1.
En dicho conjunto se definen tres operaciones básicas:

SUMA LOGICA:

Denominada también operación "O" (OR). Esta operación responde a la siguiente tabla:

a b a+b
0 0 0
0 1 1
1 0 1
1 1 1

PRODUCTO LOGICO:

Denominada también operación "Y" (AND). Esta operación responde a la siguiente tabla:

a b a*b
0 0 0
0 1 0
1 0 0
1 1 1


NEGACION LOGICA:

Denominada también operación "N" (NOT). Esta operación responde a la siguiente tabla:

a a'
0 1
1 0


Propiedades del álgebra de Boole

Las propiedades del conjunto en el que se han definido las operaciones (+, *, ') son las siguientes:

PROPIEDAD CONMUTATIVA:

De la suma: a+b = b+a
Del producto: a*b = b*a

PROPIEDAD ASOCIATIVA:

De la suma: (a+b)+c = a+(b+c) = a+b+c
Del producto: (a*b)*c = a*(b*c) = a*b*c

LEYES DE IDEMPOTENCIA:

De la suma: a+a = a ; a+a' = 1
Del producto: a*a = a ; a*a' = 0

PROPIEDAD DISTRIBUTIVA:

De la suma respecto al producto: a*(b+c) = (a*b) + (a*c)
Del producto respecto a la suma: a + (b*c) = (a+b) * (a+c)

LEYES DE DE MORGAN:

(a+b+c)' = a'*b'*c'
(a*b*c)' = a'+b'+c'

Otras operaciones lógicas

A partir de las operaciones lógicas básicas se pueden realizar otras operaciones booleanas, las cuales son:

NAND, cuya tabla correspondiente es:

a b (a*b)'
0 0 1
0 1 1
1 0 1
1 1 0


NOR, cuya tabla correspondiente es:

a b (a+b)'
0 0 1
0 1 0
1 0 0
1 1 0


XOR, también llamada función OR-EXCLUSIVA. Responde a la tabla:

a b a(+)b
0 0 0
0 1 1
1 0 1
1 1 0


Compuertas lógicas




Toda puerta lógica consta de 1 o más entradas y 1 o 2 salidas (puede darse el caso de proporcionarse la salida y su negada). En todos los símbolos las entradas se encuentran a la izquierda y las salidas a la derecha.

Estas puertas las podemos encontrar empaquetadas dentro de distintos circuitos integrados. Por ejemplo, para la familia lógica TTL tenemos las siguientes referencias:

54/74 (LS) 00 Cuádruple puerta NAND de dos entradas
54/74 (LS) 02 Cuádruple puerta NOR de dos entradas
54/74 (LS) 04 Séxtuple puerta NOT
54/74 (LS) 08 Cuádruple puerta AND de dos entradas
54/74 (LS) 10 Triple puerta NAND de tres entradas
54/74 (LS) 11 Triple puerta AND de tres entradas
54/74 (LS) 20 Doble puerta NAND de cuatro entradas
54/74 (LS) 21 Doble puerta AND de cuatro entradas
54/74 (LS) 27 Triple puerta NOR de tres entradas
54/74 (LS) 30 Puerta NAND de ocho entradas
54/74 (LS) 32 Cuádruple puerta OR de dos entradas

Las puertas lógicas más frecuentes, baratas, y fáciles de encontrar son las NAND. Debido a esto se suelen implementar circuitos digitales con el mayor número de dichas puertas.
Hay que mencionar en este punto que los niveles de tensión que se corresponden con los niveles lógicos 1 y 0 dependen de la familia lógica empleada. De momento basta saber que la familia TTL se alimenta con +5V, por lo que los niveles de tensión se corresponderán con +5V para el 1 lógico y 0V para el 0 lógico (idealmente hablando, claro).

Funciones lógicas

La aplicación más directa de las puertas lógicas es la combinación entre dos o más de ellas para formar circuitos lógicos que responden a funciones lógicas. Una función lógica hace que una o más salidas tengan un determinado valor para un valor determinado de las entradas.

Supongamos que tenemos dos entradas, A y B, y una salida F. Vamos a hacer que la salida sea 1 lógico cuando A y B tengan el mismo valor, siendo 0 la salida si A y B son diferentes.

En primer lugar veamos los valores de A y B que hacen 1 la función:

A = 1 y B = 1
A = 0 y B = 0

Es decir, podemos suponer dos funciones de respuesta para cada caso:

F1 = A*B (A y B a 1 hacen F1 1)
F2 = A'*B' (A y B a 0 hacen F2 1)

La suma de estas funciones será la función lógica final que buscamos:

F = F1 + F2 = (A*B)+(A'*B')

A continuación vamos a ver como en muchos casos es posible simplificar la función lógica final en otra más simple sin alterar el funcionamiento del circuito.

Simplificación de funciones

Supongamos que tenemos un circuito donde "F" es la respuesta (salida) del mismo en función de las señales A, B, y C (entradas):

F = A*B*C + A'*B*C + B*C

Esta función puede ser simplificable aplicando las propiedades del álgebra de Boole. En primer lugar aplicamos la propiedad distributiva:

F = B*C*(A+A') + B*C

Ahora aplicamos las leyes de idempotencia:

F = B*C + B*C = B*C

Como hemos podido ver en este ejemplo en muchas ocasiones se puede simplificar la función (y por tanto el circuito) sin que ello afecte al resultado. Más adelante veremos como simplificar funciones empleando otros métodos más sencillos y fiables.

Tablas de verdad

DEFINICION:

Es una forma de representación de una función en la que se indica el valor 0 o 1 para cada valor que toma ésta por cada una de las posibles combinaciones que las variables de entrada pueden tomar.

Anteriormente hemos visto las tablas de respuesta de cada una de las operaciones lógicas; estas tablas son tablas de verdad de sus correspondientes puertas lógicas.

La tabla de verdad es la herramienta que debemos emplear para obtener la forma canónica de la función del circuito, para así poder simplificar y conseguir la función más óptima.

Veamos un ejemplo de la tabla de verdad para una NAND de cuatro entradas:


A B C D F
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0


Como podemos ver, si simplificamos la función obtenemos:

F = (A*B*C*D)'

es decir, un puerta NAND de 4 entradas.

ALGEBRA DE BOOLE


ALGEBRA DE BOOLE


Álgebra de Boole (también llamada Retículas booleanas) en informática y matemática, es una estructura algebraica que rigorizan las operaciones lógicas Y, O y NO, así como el conjunto de operaciones unión, intersección y complemento.

Se denomina así en honor a George Boole, (2 de noviembre de 1815 a 8 de diciembre de 1864), matemático inglés que fue el primero en definirla como parte de un sistema lógico a mediados del siglo XIX. El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. En la actualidad, el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico. Claude Shannon fue el primero en aplicarla en el diseño de circuitos de conmutación eléctrica biestables, en 1948.