jueves, 13 de noviembre de 2014

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
COLEGIO DE CIENCIAS Y HUMANIDADES
PLANTEL SUR
 
 
Morales Román Daniel
Grupo: 570
Cibernética

Contenido

Introducción

Circuitos lógicos

Compuertas lógicas
   > Compuerta AND 
   > Compuerta OR 
   > Compuerta NOT

Algebra de Boole
   > Operaciones Booleanas y Compuertas Básicas
      * Inversión o negación (complemento)
      * Suma booleana
      * Multiplicación booleana

Propiedades de las operaciones booleanas
   > Leyes conmutativas en dos variables
   > Leyes asociativas en tres variables 
   > Ley distributiva para tres variables

Teoremas booleanos
   * Mapa de Karnaugh*
   * Algoritmo de Quine-McCluskey * 

Teoremas de De Morgan

Simplificación de Expresiones Lógicas

Implementación de Funciones Lógicas mediante Compuertas

Tipos de Circuitos
   > Circuitos Lógicos Combinatorios
   > Circuitos Lógicos Secuenciales
   > Circuitos Lógicos Programables 
      * Arrays Lógicos Programables

Conclusiones

martes, 11 de noviembre de 2014

CIRCUITOS LÓGICOS

Introducción

Un circuito lógico es un dispositivo que tienen una o más entradas y exactamente una salida. En cada instante cada entrada tiene un valor, 0 o 1; estos datos son procesados por el circuito para dar un valor en su salida, 0 o 1.
Los valores 0 y 1 pueden representar ciertas situaciones físicas como, por ejemplo, un voltaje nulo y no nulo en un conductor.
Los circuitos lógicos se construyen a partir de ciertos circuitos elementales denominados compuertas lógicas, entre las cuales están:
• Compuertas lógicas básicas: OR, AND, NOT.
• Compuertas lógicas derivadas: NOR, NAND.

Circuitos lógicos
Un circuito lógico es aquel que maneja la información en forma de "1" y "0", dos niveles lógicos de voltaje fijos. "1" nivel alto o "high" y "0" nivel bajo o "low". Los circuitos lógicos están compuestos por elementos digitales como la compuerta AND (Y), compuerta OR (O), compuerta NOT (NO) y combinaciones poco o muy complejas de los circuitos antes mencionados. Estas combinaciones dan lugar a otros tipos de elementos digitales como los compuertas, entre otros. - compuerta nand (No Y) - compuerta nor (No O) - compuerta or exclusiva (O exclusiva) - mutiplexores o multiplexadores - demultiplexores o demultiplexadores - decodificadores
- codificadores - memorias - flip-flops - microprocesadores - microcontroladores - etc.
La electrónica moderna usa electrónica digital para realizar muchas funciones. Aunque los circuitos electrónicos podrían parecer muy complejos, en realidad se construyen de un número muy grande de circuitos muy simples.
En un circuito lógico digital se transmite información binaria (ceros y unos) entre estos circuitos y se consigue un circuito complejo con la combinación de bloques de circuitos simples. La información binaria se representa en la forma de: - "0" ó "1", - "abierto" ó "cerrado" (interruptor), - "On" y "Off", - "falso" o "verdadero", etc.

Compuertas lógicas
Los circuitos lógicos se pueden representar de muchas maneras Los posibles estados del interruptor o interruptores que afectan un circuito se pueden representar en una tabla de verdad.
La tabla de verdad es un instrumento utilizado para la simplificación de circuitos digitales a través de su ecuación booleana. Todas las tablas de verdad funcionan de la misma manera sin importar la cantidad de columnas que tenga y todas tienen siempre una columna de salida (la última columna a la derecha) que representa el resultado de todas las posibles combinaciones de las entradas.
Los circuitos lógicos son básicamente un arreglo de interruptores, conocidos como "compuertas lógicas" (compuertas AND, NAND, OR, NOR, NOT, etc.). Cada compuerta lógica tiene su tabla de verdad.
Si se pudiera ver con más detalle la construcción de las "compuertas lógicas", se vería que son circuitos constituidos por transistores, resistencias, diodos, etc., conectados de manera que se obtienen salidas específicas para entradas específicas
La utilización extendida de las compuertas lógicas, simplifica el diseño y análisis de circuitos complejos. La tecnología moderna actual permite la construcción de circuitos integrados (ICs) que se componen de miles (o millones) de compuertas lógicas.

    Compuerta AND
En una compuerta AND con entradas A y B, la salida Y resulta: Y = A*B donde el producto se define por la siguiente tabla: La compuerta AND se representa del siguiente modo:

A  B  Y=A*B
0   0   0
0   1   0
1   0   0
1   1   1

Se representa del siguiente modo:


                                           
  Compuerta OR
En una compuerta OR con entradas A y B, la salida Y resulta: Y = A+ B donde la suma se define por la siguiente tabla:

A  B   Y = A + B
0   0    0
0   1    1
1   0    1
1   1    1

Se representa del siguiente modo:

 Compuerta NOT
En una compuerta NOT con entrada A, la salida Y resulta: Y = Ā donde el complemento se define por la siguiente tabla:
A  Y
1   0
0   1

Se representa del siguiente modo:

 A continuación se presenta la lista completa de los componentes de los circuitos lógicos.
Ø CONECTOR, COMPUERTA
Ø ENTRADA(S), SALIDA
Ø CONNECTOR/GATE,
Ø INPUT(S), OUTPUT
Ø NOMBRE/NAME
Ø TABLA DE VERDAD
Ø AMORTIGUADOR


      

Algebra de Boole

Álgebra de Boole (también llamada álgebra booleana) en informática y matemática, es una estructura algebraica que esquematiza las operaciones lógicas Y, O , NO y SI (AND, OR, NOT, IF), 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 autodidacta, que fue el primero en definirla como parte de un sistema lógico, inicialmente en un pequeño folleto: The Mathematical Analysis of Logic, publicado en 1847, en respuesta a una controversia en curso entre Augustus De Morgany sir William Rowan Hamilton. El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. Más tarde fue extendido como un libro más importante: An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities (también conocido como An Investigation of the Laws of Thought o simplemente The Laws of Thought), publicado en 1854.
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. Esta lógica se puede aplicar a dos campos:
> Al análisis, porque es una forma concreta de describir como funcionan los circuitos.
> Al diseño, ya que teniendo una función aplicamos dicha álgebra, para poder desarrollar una implementación de la función.

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

Operaciones Booleanas y Compuertas Básicas

Las operaciones booleanas son posibles a través de los operadores binarios negación, suma y multiplicación, es decir que estos combinan dos o más variables para conformar funciones lógicas. Una compuerta es un circuito útil para realizar las operaciones anteriormente mencionadas.

  Inversión o negación (complemento)
Esta operación se indica con una barra sobre la variable o por medio de un apóstrofe en el lado superior derecho de la variable, en este curso emplearemos esta última notación. El apóstrofe (’) es un operador algebraico que invierte el valor de una variable, es decir, si X denota la señal de entrada de un inversor, entonces X’ representa el complemento de tal señal.
Un ejemplo sería:
Si X = 0 entonces X’ = 1


  Suma booleana
La representación matemática de una suma booleana de dos variables se hace por medio un signo más entre las dos variables.
Ejemplo La suma booleana de las variables A y B se enuncia de la siguiente forma:
X = A + B
La suma booleana es 1 si alguna de las variables lógicas de la suma es 1 y es 0 cuando todas las variables son 0. Esta operación se asimila a la conexión paralela de contactos.



  Multiplicación booleana
La representación matemática de una multiplicación booleana de dos variables se hace por medio un signo punto (·) entre las dos variables. La multiplicación booleana de las variables A y B se enuncia de la siguiente forma, X = A · B La multiplicación booleana es 1 si todas las variables lógicas son 1, pero si alguna es 0, el resultado es 0. La multiplicación booleana se asimila a la conexión serie de contactos.



Propiedades de las Operaciones Booleanas

Las operaciones booleanas están regidas por tres leyes similares a las del álgebra convencional. Estas incluyen las leyes conmutativas de la suma y la multiplicación y la ley distributiva.
      
  Leyes conmutativas en dos variables
> Ley conmutativa de la suma se enuncia como sigue
X + Y = Y + X
En aplicación a los circuitos digitales, se puede decir que no importa el orden de conexión de las entradas a una compuerta OR.

> Ley conmutativa de la multiplicación
X·Y = Y· X
En aplicación a los circuitos digitales, podríamos decir que no importa el orden de conexión de las entradas a una compuerta AND.

  Leyes asociativas en tres variables
> Ley asociativa de la adición, se escribe en forma algebraica de la siguiente forma
A + (B + C) = (A + B) + C
En la figura se muestra la aplicación de la propiedad a las compuertas OR,



> Ley asociativa de la multiplicación
A·(B· C) = (A·B)·C
En la figura se muestra la aplicación de la propiedad a las compuertas AND,





Ley distributiva para tres variables

En el álgebra de Boole, la multiplicación lógica se distribuye sobre la suma lógica,
A· (B + C) = A·B + A·C
En la figura se muestra la aplicación de la propiedad a las compuertas AND y OR,




Teoremas Booleanos

Los teoremas booleanos son enunciados siempre verdaderos, lo que permite la manipulación de expresiones algebraicas, facilitando el análisis ó síntesis de los circuitos digitales. Los teoremas booleanos son los siguientes:
X + 0 = X
X + 1 = 1
X·0 = 0
X·1 = X
(X’)’=X
X + X = X
X·X = X
X + X’ = 1
X.X’= 0
X + XY = X
X +X’·Y = X + Y
X·Y + X·Y’ = X (Teorema de combinación)
(X +Y)(X + Y’) = X + X·Y’ + X·Y = X
X·Y + X·Z + Y·Z’ = XZ + Y·Z’ (Consenso)

El teorema 12 se conoce como la ley distributiva para tres variables.
Demostración teorema 12:
X·Y + X·Y’ = X Utilizando la ley distributiva para tres variables
X·Y + X·Y’= X·(Y+Y’)
Aplicando el teorema 8 se tiene,
X·Y + X·Y’= X·1
Dando como resultado,
X·Y + X·Y’= X
Esta expresión indica que la suma de dos productos canónicos adyacentes, es decir que difieren en una sola de las variables, se reduce al producto de los demás términos suprimiéndose dicha variable. El teorema 13 es otro caso del teorema de combinación. Los teoremas 12 y 13 se utilizan de forma sistemática para sintetizar circuitos lógicos con los métodos de mapas de Karnaugh* y el algoritmo de Quine-McCluskey*.

Mapa de Karnaugh* Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como Mapa-K o Mapa-KV) 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 de Karnaugh reducen la necesidad de hacer cálculos extensos para la simplificación de expresiones booleanas, aprovechando la capacidad del cerebro humano para el reconocimiento de patrones y otras formas de expresión analítica, permitiendo así identificar y eliminar condiciones muy inmensas. El mapa de Karnaugh consiste en una representación bidimensional de la tabla de verdad de la función a simplificar. 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. Las variables de la expresión son ordenadas en función de su peso y siguiendo el código Gray, de manera que sólo una de las variables varía entre celdas adyacentes. La transferencia de los términos de la tabla de verdad al mapa de Karnaugh se realiza de
forma directa, albergando 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.
 


Algoritmo de Quine-McCluskey * El Algoritmo Quine–McCluskey es un método de simplificación de funciones booleanas desarrollado por Willard Van Orman Quine y Edward J. McCluskey. Es funcionalmente idéntico a la utilización del mapa de Karnaugh, pero su forma tabular lo hace más eficiente para su implementación en lenguajes computacionales, y provee un método determinista de conseguir la mínima expresión de una función booleana.
 


Teoremas de De Morgan

Los teoremas de De Morgan demuestran la equivalencia entre las puertas NAND y negativa - OR, y las puertas NOR y negativa –AND.
El complemento de la suma de variables es igual al producto de los complementos de las variables.
(X1 + X2 +.....+ Xn)’ = X1’ · X2’ · ..... · Xn’
En el caso de dos variables se tiene,
(X + Y)’ = X’ · Y’
El circuito equivalente a la ecuación anterior se muestra en la figura




Un ejemplo sería el siguiente:
Obtener una compuerta OR utilizando compuertas NAND.
Y = (A + B) = [(A + B)’]’ = (A’·B’)’



El complemento del producto de variables es igual a la suma de los complementos de las variables.
(X1 · X2 ·.....· Xn)’ = X1’ + X2’ + .....+ Xn’
En el caso de dos variables se tiene:
(X · Y)’ = X’ + Y’
El circuito equivalente en dos variables a la ecuación se muestra en la siguiente figura:



Otro ejemplo:
Obtener una compuerta AND utilizando compuertas NOR.
Y = A·B = [(A.B)’]’ = (A’+B’)’




Simplificación de Expresiones Lógicas

El objetivo de la simplificación de expresiones lógicas es reducir la expresión al menor número posible de términos. Las expresiones lógicas se pueden simplificar utilizando los teoremas anteriores.

Ejemplo (1)
F = A·B’·C + A·B’C’
F = A·B’·(C + C’)
F = A·B’

Ejemplo (2)
F= (A’+B)·(A+B’)
F = A·A’ + A’·B’ + A·B + B·B’
F = A’·B’ + A·B

Ejemplo (3)
F = [(A’ + C)·(B + D’)]’
F = (A’ + C)’+(B + D’)’
F= A·C’ + B’·D

Ejemplo (4)
F = (X + Z’)·(Z + W·Y)’ + (V·Z + W·X’)·(Y + Z)’
F = (X + Z’)·[Z’·(W’ + Y’)] + [(V·Z + W·X’)·(Y’·Z’)]
F = (X + Z’)·(Z’·W’ + Z’·Y’) + V·Y’·Z·Z’ + W·X’·Y’·Z’
F = W’·X·Z’ + X·Y’·Z’ + Z’·Z’·W’ + Z’·Z’·Y’ + W·X’·Y’·Z’
F = W’·X·Z’ + X·Y’·Z’ + W’·Z’ + Y’·Z’ + W·X’·Y’·Z’
F = W’·Z’·(1 + X) + Y’·Z’·(1 + X) + W·X’·Y’·Z’
F = W’·Z’ + Y’·Z’ + W·X’·Y’·Z’
F = W’·Z’ + Y’·Z’·(1 + W·X’)
F = Z’·(W’ + Y’)

Implementación de Funciones Lógicas mediante Compuertas

La forma más fácil de encontrar la expresión de un circuito lógico consiste en comenzar con las entradas situadas más a la izquierda e ir avanzando hasta la salida de cada compuerta lógica, obteniendo la expresión para cada una de ellas. Al final del recorrido se debe tener la expresión para todo el circuito. La expresión resultante podemos simplificarla para obtener una más sencilla y así obtener un circuito más reducido.
Ejemplo:
Encontrar la expresión para el circuito de la figura.



La expresión de la compuerta NOR situada a la izquierda cuyas entradas son A y B es (A+B)’. Esta es la primera entrada de la compuerta AND situada a la derecha.
La expresión de la compuerta AND cuyas entradas son (A+B)’ y C es (A+B)’·C.
La salida de la compuerta AND es la primera entrada de la compuerta OR del extremo derecho. Por lo tanto, la expresión de esta compuerta OR es [(A+B)’·C]+D.

   Tipos de Circuitos

 Circuitos Lógicos Combinatorios
Un circuito combinatorio es un arreglo de compuertas lógicas con un conjunto de entradas y salidas. En cualquier momento, los valores binarios de las salidas son una combinación binaria de las entradas. Los circuitos combinatorios se emplean en las computadoras digitales para generar decisiones de control binarias y para proporcionar los componentes digitales requeridos para el procesamiento de datos.
  n variables de entrada
  m variables de salida


El diseño de un circuito combinatorio parte del planteamiento verbal del problema y termina con un diagrama lógico. El procedimiento es el siguiente:

1. Se establece el problema
2. Se asignan símbolos a las variables de entrada y salida.
3. Se extrae la tabla de verdad.
4. Se obtienen las funciones booleanas simplificadas.
5. Se traza el diagrama lógico

El circuito aritmético digital más simple es el de la suma de dos dígitos binarios. Un circuito combinatorio que ejecuta la suma de dos bits se llama semisumador Implementarlo.
Otro método para sumar dos números de n bits consiste en utilizar circuitos separados para cada par correspondiente de bits: los dos bits que se van a sumar, junto con el acarreo resultante de la suma de los bits menos significativos, lo cual producirá como salidas un bit de la suma y un bit del acarreo de salida del bit más significativo.



  Circuitos Lógicos Secuenciales
A diferencia de los circuitos combinacionales, en los circuitos secuenciales se guarda memoria de estado. Las salidas no dependen tan solo del valor de las entradas en un instante dado, sino que también están determinadas por el estado almacenado en el circuito. Dicho de otra forma, un circuito secuencial tiene memoria. En los circuitos secuenciales se distinguirá entre circuitos secuenciales asíncronos y síncronos.

Un circuito secuencial asíncrono evoluciona ante cualquier cambio en las entradas de forma inmediata, no tiene periodicidad de funcionamiento, se rige por eventos. Aunque los circuitos secuenciales más básicos siempre tendrán una parte con comportamiento asíncrono, para los circuitos secuenciales complejos no es deseable que sigan este comportamiento (los cambios de estado se producen de forma esporádica, ante eventos en las entradas, sin periodicidad, se pueden producir comportamientos que dependen del orden de sucesión de eventos cuando no se desea ese comportamiento etc.)

Los circuitos secuenciales complejos se diseñan para comportamiento síncrono, los cambios se producen de forma periódica y controlada, ante cambios de una señal denominada señal de reloj (“clock”). Todas las entradas se muestrean de forma simultánea en un instante determinado por la señal de reloj, la evolución del estado y las salidas queda determinadas por el valor que tenían las entradas y el estado en el instante de muestreo. Se puede decir que el sistema evoluciona entre estados discretos para instantes (k-1)T, kT, (k+1)T, ..., siendo T el periodo de reloj.

Como se menciona antes, los circuitos secuenciales tienen una característica, tienen unidades de memoria, hechas a base de biestables.

Biestables: Como se ha indicado, los biestables o “flip-flops” son elementos capaces de memorizar un estado (uno o cero lógicos). Se trata de elementos básicos de memoria, con capacidad para memorizar una sola variable digital, es decir, son elementos de memoria de 1 bit.

Biestable JK: Síncrono con cambio por flanco de reloj Aquí se presenta el biestable síncrono más completo, en su modalidad de disparo por flanco negativo de reloj y con entradas de reset y preselección.




 Contadores
Los contadores son circuitos secuenciales que cambian de estado ante cambio de una señal de entrada evolucionando cíclicamente entre un número concreto de estados. En los contadores síncronos la señal que marca el cambio de estado es, básicamente, la señal de reloj. Existen muy variados tipos de contadores para aplicaciones muy diversas aplicaciones.



 Registros
En su visión básica un registro paralelo de n bits realiza la misma función que el biestable D para 1 bit, es decir, ante pulso de reloj cambia el estado para que refleje el valor de un conjunto de entradas. Dicho estado se mantiene hasta el siguiente pulso de reloj.




Circuitos Lógicos Programables

Un CLP es una máquina electrónica la cual es capaz de controlar máquinas e incluso procesos a través de entradas y salidas. Las entradas y las salidas pueden ser tanto analógicas como digitales.
Las formas como los CLP intercambian datos con otros dispositivos son muy variadas. Típicamente un CLP puede tener integrado puertos de comunicaciones seriales que pueden cumplir con distintos estándares de acuerdo al fabricante.

 Arrays Lógicos Programables
Un Array Lógico Programable (PLA), es un circuito PLD que puede programarse para ejecutar una función compleja. Normalmente se utilizan para implementar lógica combinacional, pero algunos PLA pueden usarse para implementar diseños lógicos secuenciales. El PLA es una solución con un solo circuito integrado a muchos problemas lógicos, que pueden tener muchas entradas y muchas salidas.


Se trata de una solución AND-OR de dos niveles combinacional que puede programarse para realizar cualquier expansión lógica de suma de productos, sujeta a las limitaciones del producto. Estas limitaciones son el número de entradas (n), el número de salidas (m) y el número de términos productos (p). Se puede describir como un “PLA n x m con p términos productos”. Por tanto su utilidad está limitada a funciones que puedan expresarse en forma de suma de productos usando p o menos términos productos 

Un caso especial de PLA es el de uno de los PLD’s más populares, el PAL
(Lógica de Array Proglamable). En este dispositivo solo es programable la parte correspondiente a la AND, mientras que la OR es fija.

Otros dispositivos lógicos programables de interés son:
• ROM, memoria de solo lectura
• PROM, memoria de solo lectura programable
• EPROM, memoria de solo lectura programable y borrable
• EEPROM, memoria de solo lectura programable y borrable electrónicamente
• RAM, memoria de acceso aleatorio
• SRAM, memoria de acceso aleatorio estática
• DRAM, memoria de acceso aleatorio dinámica




Conclusiones
Los circuitos lógicos son parte fundamental para representar u obtener datos de manera controlada y permiten manejar información.

Los circuitos lógicos son parte fundamental tanto en la electrónica, robótica, informática, etc. todo se engloba, desde la aparición de la escritura, que podría ser lo cotidiano y menos complejo, hasta el lenguaje máquina que se refiere a una computadora, esto se representa con lenguaje matemático o bien mejor dicho con lenguaje algebraico, es tal la importancia de todo esto que prácticamente los estudios menos pensados son los que mas están representados. En toda esta información se maneja y se habla del concepto “lógica” y bueno, la lógica en muchas ciencias tiende a varias conceptualizaciones, pero todas engloban a lo mismo, ya que es un proceso de base firme que se presenta en algo fundamentalmente planteado para dar o expresar algo coherente.

La electrónica emplea todo esto, de la lógica, el algebra, tabulaciones, y todo eso, pues es su forma de expresar la lógica de un circuito, expresa que si un circuito esta congeniando entre sí se obtendrá un sistema completo y por lo tanto tendrá un valor de 1 o abierto, esto dice que dejará pasar la corriente, por decirlo de alguna forma; cuando los distintos polos o interruptores difiere con el estado de los demás se detendrá la fluidez de la corriente, es esta la parte de lógica, es por esto que se denominan “circuitos lógicos”.



Fuentes
http://www.econ.uba.ar/www/departamentos/humanidades/plan97/logica/Legris/apuntes/AP-Circuitos.pdf
http://blogpumaagl.blogspot.mx/
http://www.solociencia.com/electronica/electronica-circuitos-logicos.htm
http://www.sabelotodo.org/informatica/digitallogico.html

http://www.utvm.edu.mx/OrganoInformativo/OrgAgo07/circuitos.htm
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/020101.htm
http://es.wikipedia.org/