Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lgica Combinacional
Corte
Conduccin
S
G
D
( N3 N2 N1 N0 ) =
Ni 10
i=0
Luego, si estamos en un sistema binario, nicamente hay que cambiar la base por la que se realizan las multiplicaciones. Luego, el resultado es:
3
Ni 2
( N3 N2 N1 N0 ) =
i=0
Una vez que conocemos la manera de obtener el valor numrico, si dicho valor numrico
es calculado en el sistema decimal, tendremos su valor numrico en el sistema decimal. Por lo
tanto, para pasar un nmero del sistema binario al sistema decimal nicamente hay que evaluar
dicho sumatorio. En el caso que tengamos nmeros decimales, el procedimiento es el mismo
pero con exponentes negativos. A modo de ejemplo presentamos varias conversiones en la
figura 1.2.
100101 = 125+024+023+122+021+120 = 35
1111 = 123+122+121+120 = 15
011010 = 025+124+123+022+121+020 = 26
110.001 = 122+121+020+02-1+02-2+12-3 = 6.125
1000.10 = 123+022+021+020+12-1+02-2 = 8.5
Ni 2
N
+ ------0
2
i=1
Por lo tanto, el resto de la divisin por dos (la base) es el bit menos significativo. Si volvemos
a hacer la divisin con el cociente que nos ha quedado, el nuevo resto ser el bit menos significativo del cociente, es decir, el bit N1 en la divisin del primer cociente.
A modo de ejemplo, en la figura 1.3 mostramos varias conversiones de decimal a binario. Como se ha comentado previamente, el primer resto se corresponde con el bit menos significativo, mientras que el ltimo resto (o el cociente de la ltima divisin) se corresponde con el
bit ms significativo.
El mtodo anterior nicamente sirve para nmeros enteros, ya que al utilizar nmeros
decimales, el resto no slo sera un bit sino que se correspondera con varios (ms concreta-
235 2
1 117
1
2
58
0
2
29
1
100 2
0 50
0
2
14
0
2
7
1
2
3
1
2
1
1
2
25
1
2
12
0
2
6
0
2
3
1
2
0
235)10 = 11101011)2
2
1
1
2
0
100)10 = 1100100)2
mente todos los decimales). Si estamos considerando nmeros decimales (con valores entre 1 y
0), su valor numrico sera el siguiente:
-m
Ni 2
N -1 N -2 N -m =
i = -1
En este caso, si en lugar de dividir, multiplicamos por dos (la base), el bit ms significativo
pasa a ser la parte entera del nuevo nmero decimal, como se muestra a continuacin:
-m
( N -1 N -2 N -m )2 =
Ni 2
i+1
+ N -1
i = -2
Por lo tanto, si realizamos iterativamente estas multiplicaciones, podemos obtener todos los
dgitos binarios decimales (detrs del punto decimal). Tambin hay que indicar que al igual
que en el sistema decimal puede haber infinitos nmeros decimales, en el sistema binario tambin puede haberlos. En la figura 1.4 mostramos algunos ejemplos, en los cuales tomaremos
como resolucin cuatro bits.
0.125)10 = 0.0010)2
0.125 * 2 = 0.250
0.250 * 2 = 0.500
0.500 * 2 = 1.000
0.000 * 2 = 0.000
0.200)10 = 0.0011)2
0.200 * 2 = 0.400
0.400 * 2 = 0.800
0.800 * 2 = 1.600
0.600 * 2 = 1.200
Por lo tanto, si queremos convertir un nmero con dgitos decimales y enteros, lo nico
que se debe hacer es separar ambas componentes del nmero y convertirlas por separado. Una
vez convertidas, nicamente debemos colocarlas en su sitio. En la figura 1.5 mostramos algunos ejemplos.
125.43)10 = 1111101.0110)2
125 2
1 62
0
0.43 * 2 = 0.86
2
31
1
0.86 * 2 = 1.72
2
15
1
0.72 * 2 = 1.44
2
7
1
0.44 * 2 = 0.88
2
3
1
2
1
1
2
0
64.75)10 = 100000.1100)2
64
2
0 32
0
0.75 * 2 = 1.50
2
16
0
0.50 * 2 = 1.00
2
8
0
0.00 * 2 = 0.00
2
4
0
0.00 * 2 = 0.00
2
2
0
2
1
1
2
0
= N7 2 + N6 2 + N5 2 + N4 2 + N3 2 + N2 2 + N1 2 + N0 2
= ( N 7 2 + N 6 2 + N 5 2 + N 4 2 )16 + ( N 3 2 + N 2 2 + N 1 2 + N 0 2 )16
Ahora, si en lugar de bits, utilizamos dgitos hexadecimales, nos quedara la siguiente expresin:
N7 N6 N5 N4 N3 N2 N1 N0
= ( H 1 )16 + ( H 0 )16
Luego, un dgito hexadecimal (octal) se correspondera con cuatro (tres) bits. Adems, la conversin de hexadecimal (octal) a binario o viceversa no debe realizarse sobre el nmero completo sino por grupos de cuatro (tres) bits.
Luego, el mtodo para convertir nmeros binarios a hexadecimales (octal) se deben
agrupar los bits en grupos de cuatro (tres), y convertir cada uno de los grupos por separado. En
el caso de que los grupos no sean completos, se completarn con 0s a la izquierda (si el grupo
est a la izquierda de la coma decimal) o a la derecha (si el grupo est a la derecha de la coma
decimal). En el caso de que la conversin sea de hexadecimal (octal) a binario, se convertir
dgito a dgito, en la cual se realizarn en grupos de cuatro (tres) bits.
En la figura 1.6 mostramos algunos ejemplos de conversin directa entre sistemas binario y hexadecimal.
0011001011001.001101
0
9.
11001.1000101
1
9.
0.
0.
00110101111110100000.1000
2
001010101011
01100000.1011001
6
0.
110011000000.11111111
P3.- las operaciones tienen elementos identidad diferentes dentro de B. Estos elementos son definidos como 0 para (+) y 1 para ().
a+0 = a
a1 = a
P4.- para cada elemento, a, del conjunto B, existe otro elemento denominado complemento, a tambin del conjunto B, tal que se cumple:
a+a = 1
aa = 0
Cuando el conjunto es limitado al conjunto binario {0, 1} y las operaciones estn definidas
segn la tabla 1.1 se habla de lgebra de conmutacin.
Tabla 1.1. Operaciones del lgebra de conmutacin.
a = a
ab
a+b
Una operacin estar determinada por la combinacin de entradas en la que su valor de salida
sea nico, es decir, el producto estar determinado por la combinacin que hace que valga 1
(y por lo tanto, todas sus entradas sean 1), y la suma estar determinada por la combinacin
que hace que valga 0 (y por lo tanto, todas sus entradas sean 0).
A continuacin se muestra las principales leyes que se cumplen en cualquier lgebra de
Boole, y por lo tanto, el lgebra de conmutacin.
Principio de dualidad.- Cualquier teorema o identidad algebraica deducible de los
postulados anteriores puede transformarse en un segundo teorema o
identidad vlida sin mas que intercambiar las operaciones binarias y los
elementos identidad.
Teorema 1.1.- El elemento a del 4 postulado (denominado complemento o negacin
de a) est unvocamente determinado, es decir, es nico.
Teorema 1.2.- (o Teorema de elementos nulos) Para cada cualquier elemento a, se
verifican las siguientes igualdades
a+1 = 1
a0 = 0
Teorema 1.3.- Cada uno de los elementos identidad es el complemento del otro, es
decir, 1 = 0 y 0 = 1
Teorema 1.4.- (o Teorema de idempotencia) Para cada elemento a, se verifican las
siguientes igualdades:
a+a=a
aa=a
Smbolos
tradicionales
Puerta AND
A
B
F
A
B
A
Smbolos
B
internacionales
Q
&
B
0
0
1
1
0
0
1
1
A
B
Q
F = AB...Q
A
0
0
0
0
1
1
1
1
Puerta OR
C
0
1
0
1
0
1
0
1
F = A+B+...+Q
F = A = A
A+B+C
0
1
1
1
1
1
1
1
B
1
1
0
0
1
1
0
0
ABC
0
0
0
0
0
0
0
1
Smbolos
tradicionales
Smbolos
internacionales
A
B
Puerta NAND
A
B
F
A
B
&
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
A
B
A
B
ABC
1
1
1
1
1
1
1
0
A
B
A
B
=1
A+B+C
1
0
0
0
0
0
0
0
A
B
=1
F = A+B+...+Q
Puerta XNOR
Puerta XOR
Q
F = AB...Q
A
0
0
0
0
1
1
1
1
Puerta NOR
F = AB...Q
ABC
0
1
1
0
1
0
0
1
F = AB...Q
ABC
1
0
0
1
0
1
1
0
10
A
B
C
A
F
B
C
&
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F = (ABC)
0
1
1
1
1
1
1
1
11
N1 = AB
C
A
N2 = C
N3 = A+B
F = N1 + N4
F = AB + cN3
F = AB + c(A+B)
N4 = N2N3
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
N1 N2 N3 N4
0
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
F
1
0
0
0
0
0
1
1
12
Significado
Temp.
Hum.
Lumin.
Toldo
Riego
Si consideramos los 0s (valor que identifica a una suma, como se vio anteriormente), cada
combinacin que d dicho valor ser un trmino suma, los cuales se multiplicarn. En dicho
trmino, todos sus operandos deben tomar el valor 0, por lo que si la variable de entrada vale
1 aparecer complementada para obtener el operador igual a 0; pero si vale 0 aparecer tal
cual. Luego, la seal de salida RIEGO tomar la siguiente frmula:
RIEGO = (TEMP.+HUM.+LUM.)(TEMP.+HUM.+LUM.)
13
As, en la tabla 1.3 se muestran los trminos producto y suma correspondiente a las diferentes
combinaciones de seales de entrada.
Tabla 1.3. Trminos producto y suma
Trmino producto
Trmino suma
ABC
A+B+C
ABC
A+B+C
ABC
A+B+C
ABC
A+B+C
ABC
A+B+C
ABC
A+B+C
ABC
A+B+C
ABC
A+B+C
No obstante, la frmula obtenida de la forma anterior no es mnima, y por lo tanto, el circuito asociado puede ser minimizado en el nmero de puertas y/o en el nmero de entradas de
cada puerta. De hecho, si partimos de la frmula de la seal TOLDO, y aplicando las diferentes
leyes del lgebra de Boole podemos llegar a la siguiente expresin:
TOLDO = TEMP.HUM.LUM. + TEMP.HUM.LUM. + TEMP.HUM.LUM.
Aplicando la propiedad distributiva en los dos primeros trminos obtenemos
TOLDO = TEMP.HUM.(LUM.+LUM.) + TEMP.HUM.LUM.
Aplicando una de las formas del cuarto postulado al parntesis obtenemos
TOLDO = TEMP.HUM. + TEMP.HUM.LUM.
Aplicando la propiedad distributiva obtenemos
TOLDO = TEMP.(HUM. + HUM.LUM.)
Aplicando el teorema 1.7 al parntesis obtenemos
TOLDO = TEMP.(HUM. + LUM.)
Luego, aplicando las diferentes leyes del lgebra de Boole podemos reducir la frmula lgica,
y por lo tanto, el circuito asociado. El problema de utilizar este mtodo es que al utilizar ms
leyes, existe ms probabilidad de equivocacin en su tratamiento.
Una forma de minimizacin que no conlleva la aplicacin de tantas leyes es la utilizacin
del mapa de Karnaugh.
Un mapa de Karnaugh es una tabla de combinaciones con un disposicin
especial, de tal forma que los valores de las variables de entrada correspondiente a una celda y sus adyacentes slo se diferencian en uno de ellos.
En la figura 1.11 mostramos la estructura de los mapas de Karnaugh de dos, tres y cuatro variables, as como los mapas de Karnaugh correspondientes a las seales RIEGO y TOLDO.
El mtodo para obtener la frmula a partir del mapa de Karnaugh consiste en seguir los
siguientes pasos:
14
AB
A
1
AB
00
01
11
10
CD
00
01
01
00
11
10
11
10
TEMP. HUM.
TEMP. HUM.
LUM.
0
00
01
11
10
00
01
11
10
LUM.
0
TOLDO
RIEGO
Obtener los grupos de 1s (0s) adyacentes cuyo nmero sea igual a una potencia de
dos.
Elegir el nmero mnimo de grupos que engloban a todos los 1s (0s).
Por cada grupo de 1s (0s) hay un trmino producto (suma). En dicho trmino aparecern nicamente las variables que no cambien, de tal forma que la variables que
tomen el valor 1 (0) aparecern sin complementar y si toman el valor 0 (1) aparecern complementadas.
En la figura 1.12a mostramos el ejemplo de obtener las seales TOLDO y RIEGO utilizando trminos producto; mientras que en la figura 1.12b mostramos el mismo ejemplo utilizando trminos sumas.
TEMP. HUM.
(a)
TEMP. HUM.
LUM.
0
00
01
11
10
00
01
11
10
LUM.
0
(b)
LUM.
0
00
01
11
10
00
01
11
10
LUM.
0
TOLDO = (HUM.+LUM.)TEMP.
RIEGO = (TEMP.+HUM.)
Figura 1.12.- Ejemplos del mapa de Karnaugh: (a) utilizando trminos producto, y (b) utilizando trminos sumas.
Tema II
Lgica secuencial
16
A
F
B
F
F = AB + AF + BF
Figura 2.1.- Ejemplo de circuito digital junto con sus formas de ondas.
En las formas de onda podemos comprobar que la seal de salida F cambiar de valor (cuando
sea necesario) despus del retraso de la puerta AND y OR. Otra caracterstica de este circuito
que tambin podemos observar es que la salida no depende nicamente de las seales de
entrada, A y B, ya que para una misma combinacin de entradas, AB = 10, obtenemos dos
valores de salida diferentes, 0 y 1 respectivamente, mostradas en la figura 2.1. Si nos fijamos en las formas de onda, podemos observar que el valor de salida en dicha combinacin de
entrada coincide con el valor que tena la seal de salida previamente. Este hecho implica que
la salida depende de la historia pasada del circuito, adems de las seales de entrada.
A estos sistemas que muestran dependencia con la historia, se les denomina sistemas
secuenciales, ms formalmente
Un circuito de conmutacin secuencial se define como un circuito bivaluado en el cual, la salida en cualquier instante depende de las entradas en
dicho instante y de la historia pasada (o secuencia) de entradas.
Estos sistemas estn ms extendidos que los sistemas puramente combinacionales, ya que presenta un aumento considerable en la funcionalidad.
La dependencia de esta historia puede ser ventajosa e incluso necesaria para algunas
aplicaciones en las que es necesario recordar una determinada situacin. Algunos ejemplos de
esta ventaja (necesidad) pueden ser:
La creacin de un reloj, que se modelada con la afirmacin la salida ser el valor
complementario de su valor anterior,
La creacin de un contador, que se modelada con la afirmacin la salida ser el resultado de sumar uno a su valor anterior,...
17
Un sistema de control de un paso a nivel, el cual debe saber cuando el tren est dentro
del paso, est entrando, saliendo o est fuera.
Por lo tanto, se ve cuando menos interesante incluir la dependencia del tiempo en los sistemas
y en especial, en los sistemas digitales.
Seales de
salida
Seales de
prximo estado
ELEMENTO
DE MEMORIA
Seales de
entrada
M L
BI G
N IC
AC A
IO
N
AL
Seales de
estado presente
18
0
1
1
0
0
1
El primer elemento est formado por dos inversores realimentados de tal forma que el
valor a la entrada del primer inversor es el mismo que a la salida del segundo inversor, estando
de acuerdo con el lazo de realimentacin. Por lo tanto, mientras que el dato de entrada no cambie, el dato de salida permanecer sin cambiar, es decir, quedar almacenado. De igual forma
podemos comprobar que una simple lnea de conexin muestra el mismo comportamiento, de
tal forma que la tensin es almacenada en el condensador parsito asociado a dicha lnea.
La diferencia entre ambos elementos se encuentra en el tiempo que permanece almacenado el dato, caracterstica que se suele denominar duracin de la informacin. En el primer
elemento, la informacin permanecer almacenada indefinidamente hasta que el dato de
entrada cambie su valor. En cambio, en el segundo caso, de la misma forma que hay un condensador parsito, tambin existe una resistencia parsita, creando un camino de descarga a
travs de la resistencia. Como el dato no es regenerado por ningn elemento (como sucede con
los inversores en el primer elemento), cuando se sobrepasa un determinado tiempo, que se
denomina tiempo de descarga y suele considerarse proporcional al producto RC, la tensin
almacenada no es lo suficiente alta como para identificar un nivel lgico o cambia su valor. A
este tipo de almacenamiento se denomina almacenamiento dinmico; mientras que cuando el
dato permanece durante un tiempo indefinido, el almacenamiento se denomina almacenamiento esttico. En el caso del almacenamiento dinmico, para evitar la prdida de la informacin es necesario volver a almacenar la informacin de forma peridica (antes de superar el
tiempo de descarga), lo cual se conoce como ciclo de refresco.
Otra propiedad que podemos encontrar en los ejemplos anteriores consiste en un almacenamiento instantneo. Cuando el dato de entrada cambia, el valor almacenado en el elemento
de memoria cambia de forma instantnea (despus de que se haya superado el retraso impuesto
por el elemento), como podemos ver en la figura 2.4. A esta propiedad se la conoce con el
nombre de transparencia, dicindose entonces que estamos considerando un elemento de
memoria transparente.
19
Seal de entrada
Seal de salida
Seal de control C
C
Seal de salida
(a)
(b)
20
por lo que tambin se dice que carece de esta fase (por ser un instante y no un intervalo) y por tanto de esta propiedad.
Este comportamiento se puede apreciar en la figura 2.6. De ambos tipos de elementos, los flipflops son los que muestran una mayor independencia con respecto a los datos de entrada, o lo
que es lo mismo, una menor ventana de transparencia.
Fase de transparencia
Seal de entrada
Seal de control C
Seal de salida
(a)
(b)
Figura 2.6.- Formas de onda correspondientes a (a) los latches y a (b) los flip-flops.
En la figura 2.7 mostramos la simbologa referente a los elementos de memoria.
D
C
Latch
Flip-flop
21
estables y estados inestables. Cuando existe alguna transicin para la cual se llega al mismo
estado desde el que se parte, se dice que es un estado estable. Mientras que si no existe ninguna transicin que cumpla la condicin anterior, se dice que es un estado inestable.
Las transiciones correspondern a los eventos en las entradas que producirn los cambios
de estado en el sentido de la flecha del arco. El cambio de estado se producir si la condicin
de entrada coincide con la etiqueta asociada a dicha transicin.
Consideremos el ejemplo de una puerta automtica de un garage, como se muestra en la
figura 2.8. En dicho sistema se dispone de una puerta y tres sensores: un sensor de posicin del
coche (S), un sensor para el mando a distancia (M), y un tope para determinar cuando la puerta
ha alcanzado el mximo (puerta completamente abierta) o el mnimo (puerta completamente
cerrada).
S
M
M=1
1xx
M
M=0
0xx
T
T=0
x0x
E0
T
T=1
x1x
T
T=1
x1x
E3
T
T=0
x0x
MTS
E1
E2
S
S=0
xx0
E0
E1
E2
E3
000
E0
E1
E3
E3
001
E0
E1
E2
E3
S
S=1
xx1
010
E0
E2
E3
E0
011
E0
E2
E2
E0
100
E1
E1
E3
E3
Tabla de estado
Diagrama de estado
101
E1
E1
E2
E3
110
E1
E2
E3
E0
111
E1
E2
E2
E0
22
23
ciones: en las entradas de las puertas (estado presente) y en las salidas de las puertas (prximo estado).
Derivacin de la tabla de transiciones, que ser parecido a una tabla de estados.
Asignacin de estados.
Obtencin de la tabla y/o diagrama de estados.
Veamos esta tarea con un par de ejemplos.
En la figura 2.9 mostramos un circuito secuencial con elementos de memoria, el cual se
quiere analizar.
Q1
X
D Q
q1
Q2
D Q
F = q2
clk
24
q2 q1
00
01
10
11
0
00
10
01
11
X
X
1
11
01
10
00
E0 = 00
E1 = 01
E2 = 10
E3 = 11
E0
E1
E2
E3
Q2 Q1
0
E0
E2
E1
E3
E0
1
E3
E1
E2
E0
E3
X
X
E1
E2
F = Q1
q1
q1
0
1
Q1
x
x+y+z y
z
xy
xy
E0
E1
xyz
xyz
25
Veamos otro ejemplo. Se dispone de una mquina trituradora, en la cual hay dos sensores
de presencia y dos motores de trituracin como se muestra en la FIGURA. Se pretende
disear un circuito secuencial que controle los motores de tal forma que:
Cuando no haya nada que triturar, los dos motores estn parados.
Cuando el tanque est lleno, los dos motores deben funcionar simultneamente.
Cuando el tanque est medio lleno, slo funcionar uno de los motores, concretamente el que estaba parado en la ltima vez que se produjo esta misma situacin.
Lo primero que tenemos que hacer es generar el diagrama de estado. Para ello, en primer lugar debemos identificar las posibles situaciones (estados) en los que la mquina
se puede encontrar:
Est funcionando nicamente el motor 0 (E01), por lo tanto M0=1 y M1=0.
Est funcionando nicamente el motor 1 (E11), por lo tanto M0=0 y M1=1.
26
e0
E0
D Q
E1
E2
D Q
D Q
e1
e2
E3
D Q
e3
clk
S1
S2
M0
M1
27
tenemos que identificar los eventos que tengan sentido en cada uno de los estados. Por
ejemplo,
si estamos en el estado E00 y el tanque est por la mitad (S1S2), debemos ir al
estado E11 (en el que slo funciona el motor que estaba previamente ocioso);
si estamos en el estado E11 y el tanque se vaca (S1S2), debemos ir al estado
E10 (en el que no funciona ningn motor, pero se indica que el motor ocioso era
el 0).
Luego, el diagrama de estados correspondiente se muestra en la figura 2.15.
S1S2
S1S2
S1S2
E00
S1S2
E01
E02
S1S2
S1S2
S1S2
S1S2
E10
E11
S1S2
E12
S1S2
S1S2
S1S2
28
S1
E00
e00
S2
E11
E02
E10
E01
E12
e11
e02
M1
e10
M0
e01
e12