Simplificación.
Compuertas NAND, NOR, XOR.
Además de las compuertas
bien conocidas, como son AND, y OR (y NOT), existen algunas otras,
derivadas de estas, llamadas NAND, NOR, XOR y XNOR
Es importante tener en
cuenta estas funciones, debido a que al momento de diseñar un circuito,
podrían simplificar las ecuaciones.
NAND
La compuerta NAND, es el complemento de la compuerta AND, y funciona negando la salida de esta compuerta.
Por lo tanto.
NOT (A AND B) es equivalente a A NAND B.
Por leyes de D’Morgan, tenemos también que:
(AB)’=A’+B’
NOR
La compuerta NOR, es el complemento de la compuerta OR, y funciona negando la salida de esta compuerta.
Por lo tanto.
NOT (A OR B) es equivalente a A NOR B.
Por leyes de D’Morgan, tenemos también que:
(A+B)’=A’B’
XOR
La compuerta XOR, (O exclusivo), es un operador que da como salida verdadero, cuando sus entradas son distintas.
Por lo tanto.
A XOR B es equivalente a (A’AND B) OR (A AND B’).
Mapas de Karnaugh.
Los mapas de Karnaugh son una herramienta utilizada para facilitar la simplificación de funciones algebraicas booleanas.
Estas por medio de una
tabla, agrupan los valores de una función algebraica que podrían ser
eliminados de estar colocados de forma contigua.
Estos se pueden usar en funciones desde 2 hasta 6 variables.
Ejemplo 2 variables.
Suponiendo que tenemos una función:
AB=1
AB’=1
A’B=0
A’B’=1
Estos datos se colocan en una tabla:
Una vez llena esta tabla, se marcan las filas o columnas contiguas que contengan unos continuos (con una cantidad de 2n elementos, es decir la cantidad de elementos seleccionados siempre debe ser exactamente una potencia de 2).
De esta forma podemos ver que las funciones en cada tabla son:
A’B’+AB’
que es igual a
(A’+A)B
que es igual a
B
Esto se puede apreciar
en la tabla al momento de ver que el hecho de que dos 1s estén
colocados de forma contigua, eliminan a la variable que cambia entre
ellos (en este caso la A).
Así aplicado esto a la
segunda tabla, la variable eliminada sería la B (debido a que entre los
2 unos agrupados, la B es la que cambia).
Así quedamos que la función simplificada de esta función es la sumatoria de las agrupaciones, las cuales son:
A+B
Ejemplo 3 variables
Para los casos de 3 o 4
variables, se agrupan 2 variables en una subfunción, y se ordenan en
orden GRAY (código gray), ya que en este código entre valor y valor,
solo cambia una variable, lo que nos ayuda al momento de simplificar,
ya que cuando hay dos 1s seguidos, podemos eliminar la variable que
cambió entre ellos.
Para el ejemplo de 3 variables se usará la siguiente función:
ABC=0
ABC’=1
AB’C=1
AB’C’=0
A’BC=0
A’BC’=1
A’B’C=1
A’B’C’=1
Se coloca en una tabla de 2x4, agrupando AB en las columnas y C en las filas.
|
A’B’ |
A’B |
AB |
AB’ |
C’ |
1 |
1 |
0 |
1 |
C |
1 |
0 |
1 |
0 |
En este caso se pueden agrupar: A’B’C’ con A’B’C y A’B’C’ con A’BC’.
Quedando así:
|
A’B’ |
A’B |
AB |
AB’ |
C’ |
1 |
1 |
0 |
1 |
C |
1 |
0 |
1 |
0 |
Queda como: A’B’
|
A’B’ |
A’B |
AB |
AB’ |
C’ |
1 |
1 |
0 |
1 |
C |
1 |
0 |
1 |
0 |
Queda como: A’C’
A esto además hay que agregar que los 2 términos restantes, se agrupan consigo mismos.
|
A’B’ |
A’B |
AB |
AB’ |
C’ |
1 |
1 |
0 |
1 |
C |
1 |
0 |
1 |
0 |
Queda como: ABC
|
A’B’ |
A’B |
AB |
AB’ |
C’ |
1 |
1 |
0 |
1 |
C |
1 |
0 |
1 |
0 |
Quedan como: AB’C’
Por tanto la ecuación queda así:
A’B’+A’C’+ABC+AB’C’
Circuitos lógicos combinatorios.
Aritméticos.
Ahora se empezará a diseñar circuitos.
En este casó se programará un sumador completo de 1 bit.
Su entradas son A y B,
los bits que se van a sumar, y Ci un acarreo extra a sumar, y sus
salidas son S y Co, que corresponden a su suma y al acarreo, en caso de
existir uno.
A |
B |
Ci |
S |
Co |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Así la tabla de Karnaugh de S es:
|
A’B’ |
A’B |
AB |
AB’ |
Ci’ |
0 |
1 |
0 |
1 |
Ci |
1 |
0 |
1 |
0 |
Que da como resultado:
A’B’Ci+A’BCi’+ABCi+AB’Ci’
Que es equivalente a
A’(B xor Ci)+A(B xnor Ci)
Que es equivalente a
S=A xor B xor Ci
Y la tabla de Karnaugh de Co es:
|
A’B’ |
A’B |
AB |
AB’ |
Ci’ |
0 |
0 |
1 |
0 |
Ci |
0 |
1 |
1 |
1 |
Las agrupaciones son:
|
A’B’ |
A’B |
AB |
AB’ |
Ci’ |
0 |
0 |
1 |
0 |
Ci |
0 |
1 |
1 |
1 |
Que queda: BCi
|
A’B’ |
A’B |
AB |
AB’ |
Ci’ |
0 |
0 |
1 |
0 |
Ci |
0 |
1 |
1 |
1 |
Que queda: ACi
|
A’B’ |
A’B |
AB |
AB’ |
Ci’ |
0 |
0 |
1 |
0 |
Ci |
0 |
1 |
1 |
1 |
Que queda: AB
Por lo tanto la ecuación es:
Co=AB+ACi+BCi
Y el diagrama queda así:

Una vez que se tiene un sumador de 1 bit, se pueden conectar varios en cascada, y así hacer operaciones de mas bits.
El procedimiento para conectar varios sumadores de un bit en cascada, para armar un sumador de 2 bits es:

Para hacer multiplicadores, restadores, etcétera se sigue el mismo procedimiento.
Codificadores y decodificadores.
Los codificadores son
los dispositivos que codifican una entrada binaria a una salida en otro
código. Los decodificadores son los dispositivos que reciben una
entrada en cualquier código y la convierten en binario.
Ambos se diseñan de la misma forma.
Su diseño es muy sencillo, como ejemplo se colocará un conversor de código binario (4 bits) a BCD (8 bits) de 0 a 15.
Las entradas son ABCD y las salidas son STUVWXYZ
ENTRADAS |
SALIDAS |
A |
B |
C |
D |
S |
T |
U |
V |
W |
X |
Y |
Z |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
Los mapas de Karnaugh de las salidas son:
Mapa de S
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
0 |
0 |
C’D |
0 |
0 |
0 |
0 |
CD |
0 |
0 |
0 |
0 |
CD’ |
0 |
0 |
0 |
0 |
Ecuación de S: 0
Mapa de T
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
0 |
0 |
C’D |
0 |
0 |
0 |
0 |
CD |
0 |
0 |
0 |
0 |
CD’ |
0 |
0 |
0 |
0 |
Ecuación de T: 0
Mapa de U
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
0 |
0 |
C’D |
0 |
0 |
0 |
0 |
CD |
0 |
0 |
0 |
0 |
CD’ |
0 |
0 |
0 |
0 |
Ecuación de U: 0
Mapa de V
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
0 |
0 |
C’D |
0 |
0 |
0 |
0 |
CD |
0 |
0 |
1 |
1 |
CD’ |
0 |
0 |
1 |
1 |
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
1 |
0 |
C’D |
0 |
0 |
1 |
0 |
CD |
0 |
0 |
1 |
1 |
CD’ |
0 |
0 |
1 |
1 |
Ecuación de V: AC+AB
Mapa de W
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
0 |
1 |
C’D |
0 |
0 |
0 |
1 |
CD |
0 |
0 |
0 |
0 |
CD’ |
0 |
0 |
0 |
0 |
Ecuación de W: AB’C’
Mapa de X
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
1 |
0 |
0 |
C’D |
0 |
1 |
0 |
0 |
CD |
0 |
1 |
1 |
0 |
CD’ |
0 |
1 |
1 |
0 |
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
1 |
0 |
0 |
C’D |
0 |
1 |
0 |
0 |
CD |
0 |
1 |
1 |
0 |
CD’ |
0 |
1 |
1 |
0 |
Ecuación de X: A’B+BC
Mapa de Y
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
1 |
0 |
C’D |
0 |
0 |
1 |
0 |
CD |
1 |
1 |
0 |
0 |
CD’ |
1 |
1 |
0 |
0 |
Ecuación de Y: ABC’+A’C
Mapa de Z
|
A’B’ |
A’B |
AB |
AB’ |
C’D’ |
0 |
0 |
0 |
0 |
C’D |
1 |
1 |
1 |
1 |
CD |
1 |
1 |
1 |
1 |
CD’ |
0 |
0 |
0 |
0 |
Ecuación de Z: D
De esta forma, con las ecuaciones:
S=0
T=0
U=0
V= AC+AB
W= AB’C’
X= A’B+BC
Y= AB’C’+A’C
Z= D
Se puede diseñar un circuito de forma trivial.
Así, estas ecuaciones
nos podrían servir para pasar la salida de: STUV a un codificador
binario-7segmentos, y este conectarlo a un display de 7 segmentos, para
mostrar las decenas, y las salidas WXYZ a otro para mostrar las
unidades. Sin embargo, debido a que esta conversión ya esta
implementada en el circuito integrado 74 LS 47, su conexión queda así:

Multiplexores y demultiplexores.
Los multiplexores son
dispositivos cuyo objetivo es usando una salida y líneas de dirección,
elegir una entrada por la cual pase por una salida.
Es decir, si se tienen 4
canales, y solo un canal para mandar uno de estos, se usa un
multiplexor para seleccionar cierto canal, para que salga por este.
Así, para diseñar un multiplexor se colocan todas las entradas, y N cantidad de líneas de dirección
N se calcula como el logaritmo base 2 de la cantidad de entradas. (N=ln(total)/ln(2))
En este ejemplo se pondrá un multiplexor de 4 canales.
Este tendrá por lo tanto 2 líneas de dirección, para seleccionar al dato de salida.
A,B = Líneas de dirección
d0,d1,d2,d3 = Entradas
s = salida
A |
B |
d0 |
d1 |
d2 |
d3 |
s |
0 |
0 |
0 |
X |
X |
X |
0 |
0 |
0 |
1 |
X |
X |
X |
1 |
0 |
1 |
X |
0 |
X |
X |
0 |
0 |
1 |
X |
1 |
X |
X |
1 |
1 |
0 |
X |
X |
0 |
X |
0 |
1 |
0 |
X |
X |
1 |
X |
1 |
1 |
1 |
X |
X |
X |
0 |
0 |
1 |
1 |
X |
X |
X |
1 |
1 |
El caso de los multiplexores es igual, (con la misma tabla incluso, pero con las d como salidas).
Circuitos lógicos secuenciales.
Flipflops (SR,JK,D,T).
Circuitos monoestables y astables.
Contadores y registros.
Máquinas de estado (Mealey, Moore).
Memorias.
Compuertas de 3er estado. Buses.
Memorias ROM y RAM, bancos de memoria.
Ciclos de lectura y escritura en una memoria.