viernes, 4 de julio de 2008

logica booleana


ALGEBRA BOOLEANA
El concepto de variable lógica fue introducido en 1850 a través del uso del álgebra booleana. Es un método muy sencillo para expresar situaciones, en forma de lenguaje matemático. Se consolida como una ciencia estructurada mediante el álgebra booleana. Permite fácilmente representar, analizar y diseñar circuitos digitales. Fueron desarrollados por el matemático ingles George Boole en su obra “Análisis matemático de la lógica" publicada en 1847. Sin embargo, sólo hasta 1938 se descubrió su real utilidad.
En este año, Claude E. Shannon, estudiante de postgrado del MIT (Instituto Tecnológico de Massachussets, EE.UU.) presentó un trabajo en el cual describía como el álgebra booleana se adaptaba perfectamente a la representación y al diseño de circuitos de conmutación, basados en relees e interruptores.

Con el advenimiento de los tubos de vacío, los transistores y los circuitos integrados y la fabricación de compuertas, circuitos y sistemas digitales con estas tecnologías, el álgebra booleana adquirió un papel determinante en el desarrollo de la electrónica digital moderna y sus aplicaciones.

Proporciona el método más compacto y conveniente de representar, analizar y diseñar circuitos lógicos. La operación completa de un circuito digital se puede describir mejor por el álgebra booleana que utilizando complicados diagramas lógicos y extensas tablas de verdad. Cuando se diseña un circuito por métodos boléanos, el primer paso consiste generalmente en obtener su tabla de verdad de acuerdo con las condiciones de entrada y de salida. El circuito obtenido por este método es el óptimo porque requiere de un número mínimo de compuertas para su realización. Esto reduce el costo, el tamaño físico y el consumo de potencia del mismo y mejora su confiabilidad y velocidad.

El álgebra booleana es muy fácil, no encontrarás raíces cuadradas, logaritmos, números imaginarios, progresiones geométricas, series, etc.




Ecuaciones Booleanas y Funciones Lógicas Básicas
La analogía de funciones lógicas mediante interruptores, además de utilidad como ayuda para visualización, posee un significado histórico importante. Antes de la invención de los dispositivos de estado sólido y de los circuitos integrados (Ic), las funciones lógicas fueron realmente construidas con interruptores electromecánicos (relevadores) y las primeras computadoras literalmente tenían miles de estos dispositivos interconectados mediante mazos de alambre.
Estructura de las Ecuaciones Booleanas
Las ecuaciones booleanas tienen las siguientes características básicas:
1. Cada ecuación tiene la forma F = f (A, B, C) donde F, A, B, C, etc. son variables.
2. Todas las variables son variables lógicas, caracterizadas por tener sólo dos posibles valores: VERDADERO o FALSO, ALTO o BAJO, 1 o 0, etc.
3. Las variables lógicas están relacionadas con las ecuaciones mediante operadores lógicos o conectivos: EQUIVALENCIA LOGICA, AND, OR e INVERSION LOGICA.


Tablas de Verdad
Es una manera conveniente de representar simbólicamente una función lógica. Todas las posibles combinaciones de los valores de la variable de entrada se presentan en una tabla y, para cada combinación única de entradas, los valores de la variable de salida se listan en una columna separada asignada a cada una de las variables. En muchos casos, la construcción de una tabla de verdad a partir de la especificación del problema puede ser muy difícil, por lo tanto, el proceso que se implante en lógica debe ser estudiado en detalle, hasta que se comprendan sus características.
Una tabla de verdad tiene la forma siguiente:
Tabla de Verdad
Entradas
Salida
P
Q = NOT P
0
1
1
0
Esta Tabla de verdad refleja el funcionamiento de la operación NOT (negación lógica)

Deducción de Ecuaciones booleanas a partir de tablas de verdad
Consideremos la siguiente tabla de verdad:

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
B
C
D
Y
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0








Mini término Y7



Mini término Y11

Mini término Y13
Mini término Y14

A continuación se detallará la forma de obtener la ecuación lógica (función lógica) que la describe o sintetiza. El primer paso es identificar las filas o combinaciones de entrada que producen como resultado un 1 a la salida. En nuestro caso, esto es aplicable a las filas 7, 11, 13 y 14. A continuación, observamos en cada fila los valores que toma cada variable de entrada. Si una variable determinada vale 0, la reemplazamos mentalmente por su complemento (A', B', C', D'). Si la variable vale 1, la dejamos tal como estaba, es decir, sin negar (A, B, C, D). En la siguiente figura se ilustra este paso:

7
11
13
14
A
B
C
D
Y
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1



7
11
13
14
A
B
C
D
Y
A'
B
C
D
1
A
B'
C
D
1
A
B
C'
D
1
A
B
C
D'
1

Seguidamente, asignamos a la salida de cada fila una expresión booleana equivalente a la operación AND de las variables de entrada representadas de esta forma. En la siguiente figura se ilustra este paso:

7
11
13
14
A
B
C
D
Y = Y7 + Y11+ Y13 + Y14
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1

Mini término Y7
Mini término Y11
Mini término Y13
Mini término Y14
Cada una de estas ecuaciones es un mini término. Por ejemplo, el min. Término asociado a la fila 13 es:
Y13 = ABC'D
La ecuación final se obtiene realizando la operación OR de todos los mini términos. En nuestro caso:
Y = Y7 + Y11+ Y13 + Y14
Reemplazando cada mini término por su expresión booleana correspondiente, se obtiene la ecuación solicitada:
Y = A'BCD + AB'CD + ABC'D + ABCD'
Implementación de las funciones booleanas
Se puede implementar en electrónica en forma de red de puertas. Para una función dada, hay una serie de realizaciones alternativas.
Considérese la función booleana representada por la siguiente
Tabla de verdad:
x1
x2
x3
f
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
Función Algebraica: Podemos expresar esta función sencillamente detallando las combinaciones de los valores de AB y C que hacen que F valga 1:
f = x1' x2' x3' + x1' x2' x3 + x1'x2x3 + x1 x2 x3
Hay 4 combinaciones de los valores de entrada que hacen que F valga 1, y si se da cualquiera de estas tres combinaciones, el resultado será 1. Este tipo de expresión, por razones evidentes, se conoce como forma suma de productos (SOP, "SUM Of. products").
La forma SOP indica que la salida es 1 si cualquiera de las combinaciones de entrada que producen 1 es cierta. También se puede decir que la salida es 1 si ninguna de las combinaciones de entrada que producen 0 es cierta.
Se puede realizar una función booleana tanto en la forma SOP como en la forma POS. En este momento, podría parecer que la elección dependería de si la tabla de verdad contiene más unos o ceros para la función de salida: La SOP tiene un término para cada 1, y la POS tiene un término para cada 0.
SOP : f = x1' x2' x3' + x1' x2' x3 + x1'x2x3 + x1 x2 x3
POS : f = (x1' + x2 + x3') ( x1' + x2 + x3) (x1 + x2' + x3) (x1' + x2' + x3)
Sin embargo, hay otras consideraciones:
· Generalmente es posible obtener una expresión booleana más sencilla de la tabla de verdad que de las formas SOP o POS.
· Puede ser preferible implementar la función con puertas sencillas (NAND o NOR)


Simplificación de Expresiones
Una de las propiedades de las operaciones booleanas es que hay más de una combinación de ellas que da lugar al mismo resultado. La misma operación lógica puede implementarse mediante más de un circuito lógico. El objetivo principal de los circuitos lógicos es el de determinar la combinación de puertas lógicas que producirá el resultado deseado empleando el mínimo número de puertas lógicas, esto permite que las compuertas ocupen poco espacio sobre una pastilla (chip) de silicio. Esto reduce el costo y el consumo de potencia eléctrica de los circuitos lógicos, e incrementa la velocidad. Un segundo objetivo que se persigue en ocasiones es el de realizar un circuito lógico empleando sólo determinados tipos de puertas lógicas. La simplificación requiere habilidad y experiencia y, para diseños lógicos complicado, la reducción óptima es tanto un arte como una ciencia y a menudo se requiere de la utilización de un software poderoso para diseño asistido por computador.
Existen 3 métodos para simplificar una expresión algebraica:
· Simplificación algebraica a través de teoremas.
· Mapas de Karnaugh
· Tablas de Quine-McKluskey
Teoremas del Algebra de Boole
A
= A
A . 1
= A

A + 0
= A
A . 0
= 0

A + 1
= 1
A . A
= A

A + A
= A
A . A'
= 0

A + A'
= 1


A + AB
= A


A(A + B)
= A


AB + AB'
= A


(A + B) (A + B')
= A


A + AB
= A + B


A + BC
= (A + B) (A + C)
AB + A'C + BC
= AB + A'C
A(B + C)
= AB + AC
(A + B) (A' + C) (B + C)
= (A + B) (A' + C)
AB + A'C
= (A + C) (A' + B)
(A B C ...)' .
= A' + B' + C' + ..
(A + B)(A' + C)
= AC + A'B
(A + B + C ...)'
= A' B' C' ...
A continuación se presenta un listado de las reglas del álgebra booleana:
Regla N°1: A * 0 = 0
Regla N°2: A * 1 = A
Se denominan leyes de la multiplicación o producto lógico y establecen que la operación AND de una variable A con 0 es siempre igual a 0 y con 1 es siempre igual a la variable original. Estas reglas son válidas también para compuertas AND de varias entradas.
Regla N°3: A + 1 = 1
Regla N°4: A + 0 = A
Se denominan leyes de la suma lógica y establecen que la operación OR de una variable A con 1 es siempre igual a 1 y con 0 es siempre igual a la variable original. Estas son válidas también para compuertas OR de varias entradas.
Regla N°5: A * A = A
Regla N°6: A + A = A
Se denominan leyes de la tautología y establecen que la operación OR o AND de una variable A consigo misma es igual a la variable original.

Regla N°7: A * A' = 0
Regla N°8: A + A' = 1
Se denominan leyes de los complementos y establecen que la operación AND de una variable A con su complemento es siempre igual a 0 y la operación OR de las mismas es siempre igual a 1. También se aplican a compuertas de varias entradas.
Regla N°9: A'' = A
Se denomina ley de la doble negación y establece que la doble negación de una variable A es igual a A.
Regla N°10: A * B = B * A
Regla N°11: A + B = B + A
Se denominan leyes conmutativas y establecen que las operaciones AND y OR son conmutativas.
Regla N°12: AB + AC = A * (B + C)
Regla N°13: (A+B) * (A+C) = A + BC
Se denominan leyes disibutivas de la operación AND y OR respectivamente.
Regla N°14: ABC = (AB) * C = A * (BC) = (AC) * B
Regla N°15: A+B+C = (A+B) + C = A + (B+C) = (A+C) + B
Se denominan leyes asociativas de la operación AND y OR respectivamente.
Regla N°16: A * (A + B) = A
Regla N°17: A + AB = A
Regla N°18: A * (A'+B) = AB
Regla N°19: A' + AB = A' + B
Regla N°20: A + A'B = B + A
Se denominan leyes de absorción.
Regla N°21: (A+B)' = A' * B'
Regla N°22: (A*B)' = A' + B'
Primer y segundo teorema de De Morgan. La regla 21 establece que la negación de la suma lógica de dos variables A y B es igual al producto lógico de sus complementos. La regla 22 establece que la negación del producto lógico de dos variables A y B es igual a la suma lógica de sus complementos. Ambas son aplicables a compuertas de varias entradas.
Por ejemplo si quisiéramos simplificar la expresión en forma de SOP del ejercicio anterior utilizando estos teoremas:
f = x1' x2' x3' + x1' x2' x3 + x1'x2x3 + x1 x2 x3
f = x1' X2' (x3' + x3) + x2 x3 ( x1' + x1) (A + A' = 1 Complemento)
f = x1' X2' * 1 + x2 x3 * 1 (Cualquier expresión AND 1 da la misma) expresión)
f = x1' x2' + x2 x3

Mapas de Karnaugh
Un mapa de Karnaugh o mapa K es una tabla de verdad modificada que se utiliza para simplificar ecuaciones Booleanas y diseñar circuitos lógicos de manera sistemática. Los mapas K aprovechan la capacidad del cerebro humano de trabajar mejor con patrones gráficos 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.
En la figura siguiente (a), por ejemplo, se muestra una tabla de verdad de dos variables y en las figuras (b) y (c) dos mapas de Karnaugh equivalentes. En las márgenes del mapa se señalizan las coordenadas de cada uno de los cuadrados con respecto a la tabla de verdad.
En el sistema de señalización de la figura (b) se utilizan las letras que identifican cada variable para demarcar las zonas del mapa donde cada combinación vale 1 ó 0. En la figura (c), las márgenes del mapa se señalizan con 0's y 1's, de tal forma que generan las coordenadas exactas de cada una de las combinaciones de la tabla de verdad.
Llevar una tabla de verdad al mapa de Karnaugh es muy simple: se transcribe el valor de la función lógica, para cada combinación de la tabla, a su correspondiente cuadrado, en el mapa, según las coordenadas escogidas. Si se usa la convención de la figura (b), la tabla de la figura (a) se lleva al mapa aplicando el siguiente razonamiento:
La función lógica F, en la tabla, vale 1 cuando A=0 y B=0, o lo que es lo mismo, cuando A=1 y B=1. Este 1 lógico se ubicará, en el mapa de Karnaugh, en el cuadrado situado en la intersección de las columnas A y B. Los otros tres cuadrados deben estar ocupados por 0's, como lo indica la tabla de verdad.
Si se emplea el sistema de señalización de la figura (c), basta con ubicar las coordenadas que correspondan a las combinaciones de la tabla de verdad y colocar, en los cuadrados, el valor de la función lógica (0 ó 1).
Para tres variables (A, B y C) se requiere una tabla de verdad de ocho combinaciones. Por tanto, el mapa de Karnaugh respectivo debe tener ocho cuadrados, como se muestra en la figura siguiente.

Un sistema lógico de 4 variables tiene 16 combinaciones posibles. Por esta razón, la tabla de verdad debe 16 estados y el mapa de Karnaugh 16 cuadrados, como se indica en la figura siguiente.
De la misma forma que una tabla de verdad, se lleva al mapa de Karnaugh una expresión booleana. Se colocan 1's en los cuadrados donde los términos de la ecuación valgan 1: el resto de los cuadrados se llenan con 0's o se dejan vacíos, que es lo más usual. En la figura siguiente se muestran dos ejemplos ilustrativos.
La figura (a) corresponde a una expresión booleana de tres variables que se lleva a un mana de Karnaugh. Con fines didácticos, se ha resaltado, con un bucle, el "grupo" de 1's que coloca, en el mapa, cada uno de los términos de la expresión. La figura (b) presenta la misma situación usando una expresión booleana de cuatro variables (A,B,C y D).
Los ejemplos de la figura anterior nos ofrecen una conclusión muy importante: el numero de 1's que coloca, en una mapa de Karnaugh, cada uno de los términos que componen una expresión booleana de N variables es igual a 2N-n, siendo n el número de variables que utiliza el término.
Por ejemplo, cuando se trabaja con tres variables (N=3) un término de una variable (n=1, por ejemplo A o B).coloca en el mapa K 23-1=22=4 (cuatro) 1's un término de dos variables (n=2, por ejemplo AB o AC) coloca 23-2=21=2 (dos) 1's y un término de tres variables coloca un 1.
En este punto, es conveniente que nos preguntemos por que el mapa de Karnaugh facilita la simplificación de expresiones booleanas. Responderemos esta inquietud usando un ejemplo. Supongamos que se trata de simplificar la siguiente función lógica:
La implementación directa de la expresión anterior requiere una compuerta OR de cuatro entradas para sumar los 4 términos, 4 compuertas AND de tres entradas para producir cada término y dos inversores para generar los complementos de B y C.
Utilizando las reglas del álgebra Booleana anteriormente estudiadas es posible simplificar esta ecuación y minimizar el número de compuertas requeridas para su realización.
De acuerdo a la regla 12 (Ley distributiva AND)
Y
Por tanto
De acuerdo a la regla 8 (Ley de complementos OR):
Por tanto:
Aplicando nuevamente las reglas 12 y 8:
Este resultado (F=A) revela que la función original no requiere de compuerta alguna para su realización: la salida es siempre igual a la entrada A, sin importar el estado de las entradas B y C. En otras palabras, basta un cable conectado entre la entrada A y el punto al cual va dirigida la función F.
La simplificación anterior es simple y sistemática por una sola razón: cada uno de los términos de la expresión difiere del siguiente en el valor de una sola variable. Los términos que difieren en una variable se pueden combinar y rechazar el término diferente. EI mapa de Karnaugh nos permite visualizar este hecho con gran facilidad!.
Con lo estudiado hasta ahora podemos describir, como sigue, la estrategia de simplificación usando el mapa de Karnaugh: (a) llevar la tabla de verdad o la expresión Booleana al mapa; (b) visualizar y agrupar los unos que difieran en una variable y (c) extraer la función Booleana más simple. A continuación desarrollaremos, en detalle, esta táctica.
A los cuadrados o subrectángulos de un mapa de Karnaugh que difieren en una sola variable se les llama adyacentes. Las reglas prácticas que se deben seguir para identificar adyacencias en un mapa de Karnaugh son:
· Cada subrectángulo del mapa de Karnaugh difiere de uno adyacente en una variable.
· Para mapas de Karnaugh de dos variables, los subrectángulos cuyos lados horizontales o verticales se tocan son adyacentes. Ver la siguiente figura.
· Para mapas de Karnaugh de 3 y 4 variables:
(a) Los subrectángulos cuyos lados horizontales o verticales se tocan son adyacentes.
(b) Los subrectángulos superiores e inferiores de una columna son adyacentes.
(c) Los subrectángulos de los extremos derecho e izquierdo de una fila son adyacentes.

El procedimiento sistemático que debe emplearse para simplificar una expresión Booleana o una tabla de verdad mediante el mapa de Karnaugh se puede resumir en los siguientes pasos:
1. Llevar la tabla de verdad o la expresión Booleana a un mapa de Karnaugh.
2. Agrupar adyacencias de unos así:
a. Seleccione todos los 1's que no sean adyacentes a otros 1's.
b. Seleccione todos los 1's que puedan combinarse en grupos de dos 1's (dúos) pero que no puedan formar grupos de cuatro 1's (cuartetos).
c. Seleccione todos los 1's que formen grupos de cuatro (cuartetos) pero que no pueden conformar adyacencias de ocho (octetos), etc. Repita este algoritmo hasta cubrir todos los 1's del mapa
d. Asegúrese de no introducir selecciones redundantes o repetidas.
Otra forma de explicar lo anterior:
Cuando una función lógica se ha expresado en forma estándar por medio de sus mini términos, el mapa de Karnaugh se puede utilizar para simplificar la función aplicando los siguientes principios:
1. La agrupación de compartimentos (mini términos) debe hacerse de forma tal que cada uno esté incluido como mínimo una vez. Sin embargo, un compartimiento puede aparecer en distintas agrupaciones.
2. Las agrupaciones individuales deben seleccionarse de forma que comprendan el mayor número de compartimentos con el fin de incluirlos en el mínimo de agrupaciones posibles.
Para lograr lo anterior, sin incluir agrupaciones innecesarias, conviene tomar en cuenta el siguiente algoritmo:
1. Señalar y aceptar como términos esenciales aquellos compartimentos que no puedan combinarse con otros.
2. Identificar los compartimentos que pueden combinarse con otro de una sola manera. Señalar esas combinaciones de dos compartimentos. Los compartimentos que pueden combinarse con grupos de dos pueden combinarse más de una manera y se omiten de momento.
3. Identificar los compartimentos que puedan combinarse con otros tres de una sola forma. Si todos los grupos de cuatro así obtenidos no están ya incluidos en grupos de dos, señalarlos. De nuevo, se omiten los compartimentos que pueden combinarse con grupos de cuatro, de más de una manera.
4. Repetir el paso anterior para grupos de ocho, etc. (grupos de 2i, con i = 0, 1, 2, 3, ...)
5. Aplicando el procedimiento anterior, si aún quedan compartimentos sin agrupar, pueden combinarse con otros, ya agrupados o no, arbitrariamente, tratando de incluirlos en el menor número de grupos posibles.
En la figura siguiente se muestran algunos ejemplos de selección de adyacencias que ilustran los pasos descritos.
A continuación se muestra una figura con el proceso de simplificación de una expresión Booleana por medio del mapa de Karnaugh.

Ejercicio 1:
Obtener y simplificar la expresión booleana para la siguiente tabla de verdad:
Tabla de Verdad
Entradas
Salida
A
B
C
D
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
El primer paso consiste en copiar las salidas en las celdas de un mapa de Karnaugh de tres variables, utilizando las entradas para identificar las celdas de la manera siguiente:
A=0
B=0
C=0
para
A'B'C'
A=0
B=0
C=1
para
A'B'C etc
Esto da:

A'B'
A'B
AB
AB'
C'
0
0
0
1
1
1
0
1
C
Una expresión booleana para esta operación como suma de productos se obtiene tomando los términos que tienen un 1 en las celdas del mapa:
D = ABC' + A'B'C + ABC + ABC
Para simplificar la expresión se agrupan las celdas conteniendo unos. Se toma un solo término para cada grupo, aquel en el que las variables cambian. En el grupo de la izquierda de la tabla anterior se producen cambios en el valor de B, mientras que A y C permanecen constantes. En el grupo de la derecha A y B permanecen constantes y C varía. La expresión simplificada es:
D = A'C + AB'


Ejercicio 2:
Obtener y simplificar la expresión booleana para la siguiente tabla de verdad:
Tabla de Verdad
Entradas
Salida
A
B
C
D
E
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
Rellenando el correspondiente mapa de karnaugh, de cuatro variables, se obtiene:

A'B'
A'B
AB
AB'
C'D'
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
C'D
CD
CD'
Una expresión para la tabla de verdad en forma de suma de productos es:
E = AB'C'D' + A'BC'D + ABC'D + A'BCD + ABCD + AB'CD
Para simplificar la expresión, las celdas que contienen unos se agrupan. Las propiedades de la tabla, en el sentido de continuidad de las variables, indican que de hecho hay dos grupos, como se muestra en el mapa. En el primer grupo de cuatro celdas las variables A y C cambian sus valores mientras que B y D permanecen constantes. En el segundo grupo, la variable C cambia, mientras A,B y D permanecen constantes. Por lo tanto, la expresión simplificada es:
E = BD + AB'D'
Los mapas de Karnaugh pueden emplearse hasta para seis variables de entrada; a partir de ahí es necesario recurrir a técnicas más sofisticadas basadas en el uso de computadores.

COMPUERTAS LOGICAS
Las computadoras digitales utilizan el sistema de números binarios, que tienen dos dígitos 0 y 1. Un digito binario se le denomina un BIT.
Utilizando arreglos binarios y diversas técnicas de codificación, los dígitos binarios o grupos de bits pueden utilizarse para desarrollar conjuntos complementos de instrucciones para realizar diversos tipos de cálculos. Se dice que un valor binario tiene una desviación aceptable del valor nominal.
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 en sistema de computadoras digitales. Cada compuerta tiene un símbolo grafico 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 mas usadas:
Compuerta AND: cada compuerta tiene dos variables de entrada designadas por A y B y una salida binaria designada por X. las compuertas AND pueden tener mas de dos entradas y por definición, la salid es 1 si todas Las entradas son 1.
Compuerta OR: 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: es un inversor que invierte el nivel lógico de una señal algebraico. 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.
Compuertas Separador (YES): este circuito se utiliza simplemente para amplificación de la señal.

CIRCUITOS LOGICOS Y FLIP-FLOPS
Los elementos de circuitos se fabrican generalmente a partir de pequeñas porciones de silicón que constituyen circuitos integrados monolíticos, estos circuitos integrados o son colocados en bastidores de cerámica, de plásticos o de metal con guías que permiten que los diversos circuitos se interconecten. Estas reglas de interconexión pueden obtenerse con el fabricante de los CLS permite concentrarse en la función del circuito sin preocuparse por detalles de electrónica.
Los algoritmos pueden utilizarse de dos tipos de circuitos: memorias de lectura y flip-flops. La gran variedad de circuitos adicionales disponibles, ofrece la posibilidad de lograr economías adicionales en instrumentaciones de algoritmos más complejos.
El elemento de memoria más importante es el flip-flop, que esta formado por un ensamble de compuertas lógicas. Aunque no tiene capacidad de almacenamiento pueden conectarse varias de ellas de manera que permiten almacenar información. Existen varias maneras de configuraciones de compuertas que se utilizan para producir estos flip-flop.
Existen varios tipos de flip-flop, hablaremos del tipo D que es un circuito de memoria que almacena una señal digital o BIT. Un flip-flop D tiene dos entradas y una salida. El bloque rectangular representa el flip-flop, con sus entradas etiquetadas como D y C y su salida como Q, las líneas rectas que llegan al bloque representan alambres que conectan a otras partes del circuito, estos alambres pueden transportar señales digitales de y hacia el flip-flop.

5. Expresiones
5.3 Expresiones Lógicas:
AND
CONJUNCIÓN
OR
DISYUNCIÓN
NOT
NEGACIÓN


Not
True
False
False
True




Y
True
True
True
True
False
False
False
True
False
False
False
False





Y

True
True
True
True
False
True
False
True
True
False
False
False