Você está na página 1de 51

I REPRESENTACION DE DATOS

1.1. Sistemas numricos


Si bien es cierto que una computadora puede realizar una serie de tareas
complejas, la verdad es que lo nico que comprende es 0 y 1. Estos 0 y 1
agrupados adecuadamente (bajo un formato) pueden representar diferentes tipos
de informacin binaria para el procesador tales como datos, cdigo ejecutable,
caracteres, seales de control, etc. Como resulta obvio pensar, el sistema de
numeracin que puede traducir directamente la computadora es el BINARIO, pero
ste resulta muy difcil de comprender y manipular por los seres humanos ya que
la mayora estamos acostumbrados a usar el sistema de numeracin DECIMAL.
Otro de los inconvenientes de trabajar con el sistema binario es la documentacin,
ya que para expresar cualquier nmero en binario se necesitar mucho ms
espacio que si se utilizara, por ejemplo, el sistema decimal o, mejor aun, el sistema
HEXADECIMAL.
Estos tres tipos de sistemas de numeracin pertenecen a los sistemas numricos de
base o raz r (r=2 para binario, r=10 para decimal y r=16 para hexadecimal),
tambin se les conoce como sistemas posicionales debido a que cada digito tiene
un valor basado en su posicin relativo al digito menos significativo (el que se
encuentra ms a la derecha).
Para determinar el valor que representa un nmero de base r en el sistema decimal
se puede utilizar la siguiente formula:
N

e 1

d *r

i f

Donde:

r es la base o raz del nmero


di es un dgito de la posicin i del nmero
f es la cantidad de dgitos de la parte fraccionaria
e es la cantidad de dgitos de la parte entera

En trminos generales, cualquier nmero es simplemente la suma de los productos


de cada digito y su valor posicional.
Ejemplo: Cul es el valor de 31.2041(5 en el sistema decimal?
Como se aprecia r=5, f=4 y e=2. El nmero sera: d1 d0 . d-1 d-2 d-3 d-4
y el valor en decimal:
N = 3*51 + 1*50 + 2*5-1 + 0*5-2 + 4*5-3 + 1*5-4
N = 3*5 + 1*1 + 2/5 + 0/25 + 4/125 + 1/625
N = 15 + 1 + 0.4 + 0 + 0.032 + 0,0016
N = 16.4336
Ahora, para convertir un numero del sistema decimal al sistema de base r, primero
se toma la parte entera y se divide entre la raz r, el residuo de esta divisin se
convertir en el digito menos significativo de la parte entera. Luego se divide el
cociente resultado de la divisin anterior entre la raz r, el residuo ser el siguiente
digito, se vuelve a dividir el ltimo cociente entre la raz r y as sucesivamente se
repite esta operacin hasta que el cociente sea 0. El nmero se formar tomando el

ltimo residuo como el digito ms significativo y el primer residuo obtenido como


el digito menos significativo.
Para convertir la parte fraccionaria, se coge slo la parte fraccionaria (tomando
cero como parte entera) y se multiplica por la raz r. La parte entera del resultado
de la multiplicacin ser el primer digito de la nueva parte fraccionaria. Luego se
elimina la parte entera (se hace 0) y se repite la operacin anterior tantas veces
como dgitos se desea obtener. Si en algn momento el resultado de la
multiplicacin es 1 significar que se ha obtenido el valor exacto en el sistema de
base r, en caso contrario, todos los dgitos obtenidos hasta ese instante slo son
una aproximacin al valor real.
Ejemplo: Convertir 82.573 al sistema de base 7
Tomamos la parte entera 82 y la dividimos entre la raz r=7
82/7
cociente 11, residuo 5 (digito menos significativo)
Dividimos el ultimo cociente entre la raz
11/7
cociente 1, residuo 4
1/7
cociente 0, residuo 1 (digito ms significativo)
Por lo tanto la parte entera ser: 145
Ahora tomamos la parte fraccionaria 0.573 y la multiplicamos por la raz
0.573*7 = 4.011
4 ser el 1er digito, luego eliminamos la parte entera.
0.011*7 = 0.077
0 ser el 2do digito.
0.077*7 = 0.539
0 ser el 3er digito.
0.539*7 = 3.773
3 ser el 4to digito, eliminar la parte entera.
0.773*7 = 5.411
5 ser el 5to digito y as sucesivamente
Una aproximacin a 82.573 es 145.40035(7
1.1.1. Decimal
La base 10 es importante debido a que se usa en la vida diaria. Este sistema
se compone de 10 numerales o smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9; al
utilizar estos smbolos como dgitos de un numero podemos expresar
cualquier cantidad. El sistema decimal evolucion en forma natural a partir
del hecho de que el ser humano tiene 10 dedos. Incluso, la palabra digito
significa dedo en latn.
En el sistema digital se comienza a contar con el 0 en la posicin de las
unidades y se toma cada smbolo (digito) en progresin hasta llegar al 9,
luego se incrementa en 1 la segunda posicin (decenas) y volvemos a
empezar con 0 en las unidades. Este proceso contina hasta llegar a 99 y se
suma 1 en la tercera posicin (centenas) y se empieza con 0 en las 2
posiciones anteriores. Se repite este proceso mientras se desee.
1.1.2. Binario
En el sistema binario slo hay 2 smbolos o valores de dgitos: 0 y 1. Sin
embargo, con un conjunto de estos smbolos se puede representar cualquier
cantidad denotada en cualquier sistema de numeracin.
Al trabajar con nmeros binarios, generalmente se est restringido a
utilizar una cantidad especfica de dgitos (bits). Esta restriccin se basa en
los circuitos utilizados para representar estos nmeros binarios.

Al tener, este sistema slo los dgitos 0 y 1, cualquier nmero que se desee
representar se debe de hacer con una combinacin de stos.
El conteo en binario inicia con 0, al sumarle 1 (0+1) nos dar 1. Si luego le
sumamos 1 (1 + 1) nos dar 0 (porque no existe el digito 2) ms 1 de
acarreo es decir 10 en total, que es la representacin de 2. Nuevamente
sumamos 1 (10 + 1) resultar 11 (representacin de 3) y al sumarle 1
(11+1) nos dar 100 (4 en binario) y as sucesivamente.
Numeracin del 0 al 15 en decimal, binario y binario con 4 bits
Dec
0
1
2
3
4
5
6
7

Bin
0
1
10
11
100
101
110
111

Bin 4 bits
0000
0001
0010
0011
0100
0101
0110
0111

Dec
8
9
10
11
12
13
14
15

Bin
1000
1001
1010
1011
1100
1101
1110
1111

Bin 4 bits
1000
1001
1010
1011
1100
1101
1110
1111

Como se aprecia, el conteo empieza con 0 en las unidades luego se


incrementa en 1 y despus en 1 ms, pero como no existe el digito 2 en
binario, para representar ste, se suma en 1 el siguiente digito obteniendo 2
en binario (10). Se incrementa en uno las unidades y se repite esto hasta
que todos los dgitos son 1s.
Las cantidades binarias pueden representarse por medio de cualquier
dispositivo que solamente tenga dos estados de operacin o posibles
condiciones. Por ejemplo, un interruptor slo tiene dos estados: abierto o
cerrado. Arbitrariamente podemos hacer que un interruptor abierto
represente el 0 binario y que uno cerrado represente el 1 binario. Una hoja
con perforaciones sera otro ejemplo, donde una perforacin ser un 1
binario y la ausencia de ella es un 0 binario. As, podemos seguir
mencionando otros ejemplos como un foco elctrico (encendido-apagado),
una fotocelda (iluminada u oscura), el transistor (cortado o saturado), una
cinta magntica (magnetizada o desmagnetizada), etc.
En los sistemas electrnicos digitales, la representacin binaria se hace por
medio de voltajes (o corrientes) que estn presentes en las entradas o
salidas de los diversos circuitos. Por lo general, el 0 y el 1 binarios se
representan con dos niveles de voltaje nominal, 0V para representar el 0
binario y +5V para el 1 binario, aunque para ser ms exactos esta
representacin se hace por medio de intervalos de voltaje: el intervalo entre
0 y 0.8V representa un 0 y cualquiera entre 2 y 5V representa un 1
1.1.3. Hexadecimal
Este sistema de numeracin est conformado por los 10 dgitos del sistema
decimal (0-9) y 6 dgitos ms, como por ejemplo el DIGITO DIEZ (10) o
el DIGITO TRECE (13), pero para evitar confusiones cuando se

presenten los dgitos 1 y 0 o 3 juntos, se ha convenido representarlos por


las letra A y D respectivamente. Entonces, A=10, B=11, C=12, D=13,
E=14 y F=15. Este sistema proporciona representaciones breves que son
convenientes para nmeros con mltiples bits en un sistema digital.
Ejemplo: La representacin del entero 23830 en binario de 16 bits es
0101110100010110, es decir que se necesitan 16 dgitos,
mientras que en hexadecimal es 5D16 (5D16h) siendo
necesario slo 4 dgitos. Debido a que su base es potencia de 2
(16=24) 4 dgitos binarios pueden representarse con un solo
digito hexadecimal, tal como se aprecia a continuacin.
0101 1101 0001 0110 Dgitos Binarios
5
D
1
6
Dgitos Hexadecimales
1.2. Representacin de enteros
Un detalle muy importante en la representacin de enteros es la cantidad de bits
que se van a emplear, ya que de ello va a depender el rango de valores que se
pueden representar.
Ejemplo: Un nmero de 4 bits implicar que se tiene 4 dgitos binarios y como
cada uno de ellos puede tomar el valor de 0 o 1 significar que se
pueden formar 24 combinaciones diferentes y que cada una de ellas
puede representar un valor. Por lo tanto, con 4 bits se puede representar
16 valores diferentes que podran estar comprendidos (rango) entre 0 y
15 o entre -8 y 7 o cualquier convencin que se establezca.
1.2.1. Sin signo
En este tipo de notacin slo se van a representar enteros positivos (sin
signo). El menor valor a representar ser el 0 y el mayor valor depender
de la cantidad de bits a emplear. Si N es la cantidad de bits a emplear, 2 N-1
ser el mayor valor que se podr denotar, as por ejemplo, con 4 bits el
mayor valor ser 15 (24=16); con 8 bits, 255 (28=256) y con 16 bits hasta
65535 (216=65536). En todos los casos, el valor es uno menos debido a que
se tiene en cuenta el 0 como primer valor a representar.
Ejemplo: Para representar el entero 1837 se necesitan por lo menos 11
bits, ya que este entero en binario es 11100101101. La
representacin de este valor en un formato de 16 bits ser
0000011100101101 y en forma abreviada (hexadecimal) ser
072Dh.
1.2.2. Con signo
Aqu se tiene en cuenta los valores negativos y por ende, que la cantidad a
representar de valores positivos sea igual a la cantidad de valores
negativos.
Los dos sistemas ms usados para representar un nmero con signo son:

a) Bit de signo.- Se utiliza el bit ms significativo (el que se encuentra


ms a la izquierda) para representar el signo del nmero: 0 para indicar
que el nmero es positivo y 1 para indicar que es negativo. Esto trae
como consecuencia que, si se utiliza N bits para representar el nmero
slo se podrn emplear N-1 bits (2 N-1 valores diferentes) ya que 1 bit se
usar para el signo y por lo tanto el rango de valores a representar
disminuir a la mitad: una mitad ser para representar valores positivos
y la otra mitad los valores negativos.
Ejemplo: El entero -1837 en 16 bits ser igual que +1837 pero
estableciendo en 1 el bit ms significativo es decir:
1000011100101101 y en forma abreviada 872Dh.
Con 16 bits se podr denotar desde -32767 a +32767 (216-11) es decir desde 1111111111111111 = FFFFh a
0111111111111111 = 7FFFh.
Una de las desventajas de este sistema es la doble representacin del 0,
ya que se puede denotar como 000...0 (+0) y como 1000 (-0).
Adems, no permite realizar las operaciones aritmticas directamente.
Ejemplo: Restar 86 y 24 en 8 bits
86 = 01010110 y 24=00011000 -24=10011000, luego
86+
=
01010110+
-24
=
10011000
-------------------------------62

11101110
=
-110
Como se aprecia el resultado es -110 cuando debi ser 62.
En la actualidad este sistema se emplea nicamente para la
codificacin de nmeros con punto flotante.
b) Complemento a 2.- El complemento a r de un numero N de un sistema
de base r es rn-N, donde n es la cantidad de dgitos de N y el
complemento a (r-1) es (rn-1)-N.
Ejemplo: Hallar el complemento a 10 de 392
103-392=608
Ejemplo: Hallar el complemento a 9 de 392
103-1-392=607
Es decir, que el complemento a r de N es igual al complemento a (r-1)
de N, ms 1.
Ahora si a un nmero X le restamos Y entonces:
X-Y = X-Y+rn-rn = X+(rnY)-rn = X+CY(r)-rn
Donde CY(r) es el complemento a r de Y.

Ejemplo: Hallar 627-392 (en el sistema decimal)


Como se observa, r=10 y n=3, entonces:
627-392= 627+608-103 = 1235-1000 = 235.
El restarle 103 es equivalente a simplemente eliminar el
digito ms significativo al resultado (por desbordamiento)
En el sistema binario, X-Y = X+C Y(2)-2n y como CN(r)= CN(r-1)+1,
entonces: X-Y = X+(CY(1)+1)-2n. Donde CY(1) es el complemento a 1 de
Y, pero el complemento a 1 de un numero en binario es simplemente el
cambio de 0s por 1s y 1s por 0s. Por lo tanto, en binario, la diferencia
de X y Y se puede resumir en: Sumar a X, Y complementado, es decir,
convertir los 1s en 0s y los 0s en 1s, luego sumarle 1 y finalmente
eliminar el digito ms significativo.
Ejemplo: Restar 179-62 (r=2 , n=8 bits)
179=10110011
62=00111110
-62=11000001+1=11000010
Luego: 179 = 10110011 +
-62 = 11000010
----------------------117 101110101 pero al eliminar el bits ms
significativo queda 01110101 = 117
1.3. Representacin de reales
Para poder representar nmeros con parte fraccionaria se deben tener en cuenta
tres cosas: como representar la parte entera, la parte decimal y el punto decimal.
Existen dos notaciones:
1.3.1. Con punto fijo
En esta notacin se establece una determinada cantidad de bits para la
parte entera y otra para la parte fraccionaria. El punto quedar
arbitrariamente fijado entre estos bits. Por ejemplo el nmero 3.641 en
binario es aproximadamente 11.101001000001, si el formato que se va a
usar es de 8 bits y el punto se fija en la mitad, entonces la representacin
sera: 00111010 (3Ah), donde los dgitos en negrita son la parte entera. Si
para representar este mismo nmero se fijara el punto decimal despus de
los 2 bits ms significativos la representacin sera: 11101001 (E9h).
Como se comprender, al observar los nmeros 3Ah y E9h (o en binario)
no hay forma de determinar la posicin del punto decimal a no ser que
previamente se haya establecido o acordado esta. Por lo general la posicin
del punto se establece durante el diseo del hardware y queda fijo a ella. El
inconveniente de esta notacin es que la precisin queda fija, por ejemplo
en el primer caso solo se tienen 4 bits para representar la parte fraccionaria,
mientras que en el segundo caso se tienen 6 bits, con lo que se obtiene
mayor precisin (3Ah=0011.1010=3.625 ; E9h=11.101001=3.640625). Por
otro lado, si la parte entera en el nmero a representar fuera mayor o igual
que 4 este no podra ser denotado usando la fijacin del punto decimal del
segundo caso porque se necesitara ms de 2 bits para representar estos

valores. Por lo tanto, al permanecer el punto fijo, en algunos casos se


necesitaran ms bits en la parte fraccionaria (correr el punto hacia la
izquierda) y en otros en la parte entera (correr el punto hacia la derecha).
1.3.2. Con punto flotante
El inconveniente del punto fijo es resuelto con un punto flotante, es decir,
un punto que pueda ser corrido hacia la izquierda o hacia la derecha segn
sea necesario.
El proceso se inicia convirtiendo el nmero al sistema de numeracin
binario y luego se normaliza. La normalizacin consiste en correr el punto
hacia la izquierda o hacia la derecha de tal forma que el 1 que se encuentre
ms hacia la izquierda quede posicionado a la izquierda del punto. El valor
resultante se multiplica por 2N donde N es la cantidad de posiciones que se
ha corrido el punto. N es positivo si el punto se corre hacia la derecha y
negativo en caso contrario.
Ejemplo: Convertir 37.4592 al formato de punto flotante de 32 bits.
Primero hay que convertirlo a binario. Utilizar el mtodo de
multiplicaciones sucesivas por 2, para convertir la parte
decimal, es muy largo y tedioso, as que usaremos
multiplicaciones por 16 y lo que obtendremos son los dgitos en
hexadecimal, los cuales son sencillos de pasar a binario.
37 en binario es 100101, ahora vamos a la parte decimal
0.4592*16 = 7.3472
0.3472*16 = 5.5552
0.5552*16 = 8.8832
0.8832*16 = 14.1312
0.1312*16 = 2.0992
0.0992*16 = 1.5872
0.5872*16 = 9.3952
0.3952*16 = 6.3232
0.3232*16 = 5,1712
0.1712*16 = 2.7392
0.7392*16 = 11.8272
0.8272*16 = 13.2352
0.2352*16 = 3,7632

7
5
8
E
2
1
9
6
5
2
B
D
3

0111
0101
1000
1110
0010
0001
1001
0110
0101
0010
1011
1101
0011

El nmero en binario ser:


100101.0111010110001110001000011001011001010010101111010011

y normalizado:
1.00101011101011000111000100001100101100101001010111101 x 25

El formato para representar nmeros con parte fraccionaria esta


conformado por 1 bit S para el signo y el resto de bits se distribuye entre
la caracterstica C y la mantisa M. La caracterstica es la representacin del
exponente E en exceso a 2N-1-1, donde N es la cantidad de bits que tiene la
caracterstica.

NUM = (-1)S * 1.M * 2E

donde E = C-2N-1+1

Existen dos formatos bsicos:


a) Formato de precisin simple (32 bits), que consta de:
1 bit para el signo (S)
8 bits para la caracterstica (C) y
23 bits para la mantisa (M)
La secuencia de bits del nmero ser la siguiente:
S = 0, debido a que el nmero es positivo.
C = E+2N-1-1 = 5+28-1-1 = 5+128-1 = 132 = 10000100(2
M = 00101011101011000111000 que son los 23 dgitos que se
encuentran a la derecha del punto del numero normalizado.
Por lo tanto, la representacin del valor ms prximo a 37.4592 en 32
bits es: 0100 0010 0001 0101 1101 0110 0011 1000 = 4215D638h.
Para hallar su valor en decimal, se toma el nmero normalizado pero
slo con los 23 dgitos a la derecha del punto (mantisa) y se corre el
punto hacia la derecha para convertirlo en entero, esto significa que el
punto tendr que desplazarse 23 posiciones a la derecha y por ende
tendr que restarse esta cantidad al exponente. Luego el entero se pasa
a decimal y se divide entre 2 elevado al nuevo exponente:
1.00101011101011000111000 x 25 , convertido a entero queda:
1001 0101 1101 0110 0011 1000 x 25-23
95D638h x 2-18= 9819704 x 2-18 = 9819704 / 218
9819704 / 262144 = 37,459197998046875
b) Formato de precisin doble (64 bits)
1 bit para signo (S)
11 bits para la caracterstica (C)
52 bits para la mantisa (M)
La secuencia de bits del nmero ser el siguiente:
S = 0, debido a que el nmero es positivo.
C = E+2N-1-1 = 5+211-1-1 = 5+1024-1 = 1028 = 10000000100(b
M = 1010101110101100011100010000110010110001010111101001
que son los 52 dgitos a la derecha del punto
La representacin del valor ms prximo a 37.4592 en 64 bits es:
404ABAC710CB295Eh (muy extenso para representarlo en binario)
Su valor en decimal es:
1.0010101110101100011100010000110010110010100101011110 x 25
10010101110101100011100010000110010110010100101011110 x 2-47

12BAC710CB295Eh x 2-47 = 5271913723799902 x 2-47


5271913723799902 / 247 = 5271913723799902 / 140737488355328
8

37.459199999999995611688063945621 (mayor precisin)


Una vez obtenida las respectivas representaciones de los valores con parte
fraccionaria, hay que evaluar el ERROR de precisin. Hay 2 tipos de error:
por DEFECTO y por EXCESO. El primero se da cuando la representacin
obtenida es menor que el valor real y la segunda cuando es mayor,
obviamente se deber elegir aquella que tenga menor error.
En el caso del formato de 32 bits, podemos apreciar que el digito 24 del
numero normalizado (despus del punto) es 1 por lo que procedemos a
redondear (aumentar en 1 la mantisa) lo cual nos dar 95D639h x 2 -18 =
37,459201812744140625. Esta representacin, aunque genera un error por
exceso, es la ms cercana al valor real.
Con el formato de 64 bits ocurre algo semejante. El bit 53 del numero
normalizado tambin es 1, por lo que se procede a redondear con lo que se
obtiene 12BAC710CB295Fh x 2-47 = 37,45920000000000271711 que
como se aprecia es bastante prximo a 34.4592.
1.4. Otros cdigos
En ocasiones, se utilizan otros cdigos binarios para nmeros decimales y
caracteres alfanumricos. Las computadoras digitales tambin emplean otros
cdigos binarios para aplicaciones especiales. Veamos algunos de ellos:
1.4.1. Cdigo Gray
Es la representacin de un conjunto de valores de tal manera que los
dgitos que lo conforman (binario) cambia slo uno de ellos conforme
avanza de un valor al siguiente. Por ejemplo, 3 en binario de cuatro bits es
0011 y 4 es 0100 como se aprecia, para pasar de 3 a 4, tres bits cambian su
estado, lo cual podra producir uno o ms estados intermedios, si los tres
bits no cambiasen simultneamente, esto no ocurre en cdigo Gray.
Para formar una tabla de nmeros en cdigo Gray de N bits se debe seguir
las siguientes reglas:
a) Un cdigo Gray de 1 bit tiene dos palabras cdigo: 0 y 1.
b) Las primeros 2N palabras de N+1 bits son iguales a las palabras de N
bits precedidas por un 0.
c) Las ultimas 2N palabras de N+1 bits son iguales a las palabras de N bits
escritas en orden inverso y precedidas por un 1.
Ejemplo:
N=1
0
1

N=2
00
01
--11
10

N=3
000
001
011
010

----110

111
100
101
Para convertir binario a Gray se deben seguir los siguientes pasos:
a) Los bits de un cdigo Gray de N bits se numeran de derecha a
izquierda de 0 a N-1.
b) El bit i es 0 si el bit i e i+1 de la palabra en binario son iguales y 1 en
caso contrario.
Ejemplo: Convertir 1011 a cdigo Gray
Como el bit 0 y 1 son iguales, el bit 0 ser: 0
Como el bit 1 y 2 son diferentes, el bit 1 ser: 1
Como el bit 2 y 3 son diferentes, el bit 2 ser: 1
Como el bit 3 y 4 (se asume 0) son diferentes, el bit 3 ser: 1
Por lo tanto 1011 en cdigo Gray es 1110

1.4.2. BCD
Decimal codificado en binario, pertenece a los sistemas de numeracin no
posicionales y utiliza una asignacin directa del equivalente binario del
digito decimal. Cada digito decimal se codifica por 4 dgitos binarios, pero
como con 4 bits se pueden representar hasta 16 valores, las 6 ltimas
combinaciones (despus del 9) que no se usan no tienen ningn valor
cuando se utiliza BCD.
Ejemplo: Codificar 5 en BCD = 0101 (igual que en binario)
Ejemplo: Codificar 173 en BCD
1 = 0001, 7=0111 y 3=0011
Por lo tanto 175 en BCD ser: 000101110101
1.4.3. ASCII
Muchas aplicaciones requieren el manejo de datos que no solo estn
formados por nmeros sino tambin por letras del alfabeto y por ciertos
caracteres especiales. Un conjunto de caracteres alfanumricos incluye los
10 dgitos decimales, las 26 letras del alfabeto y otros caracteres como $,
+, -, etc. Por lo que se necesitan 6 bits para codificarlos. Pero si adems se
incluyen letras maysculas o minsculas entonces se necesitaran 7 bits,
con lo que se puede codificar hasta 128 caracteres. Este conjunto de
cdigos ha sido estandarizado y tiene el nombre de ASCII (Cdigo
estndar americano para intercambio de informacin) y en la actualidad ha
sido extendido a 8 bits, es decir, 256 caracteres.

10

1.5. Ejercicios
1.5.1. Resueltos
a) Cual es el menor entero negativo y el mayor entero positivo que se
puede almacenar en un formato de 10 bits donde tambin se
representarn nmeros negativos usando complemento a 2
El menor entero positivo ser: -210-1 = -29 = -512
El mayor entero positivo ser: 210-1-1 = 29-1 = 511
b) Convertir 8503 a base 13
8503/13
cociente 654, residuo 1 (digito menos significativo)
654/13
cociente 50, residuo 4
50/13
cociente 3, residuo 11
3/13
cociente 0, residuo 3 (digito ms significativo)
Por lo tanto 8503 en base 13 ser: 3B41
c) Convertir 46.483 a base 16
Primero la parte entera
46/16
cociente 2, residuo 14 = E
2/16
cociente 0, residuo 2 = 2
46 en base 16 es 2E
Ahora la parte fraccionaria
0.483*16 = 7.728

0.728*16 = 11.648

11

0.648*16 = 10.368

10

0.368*16 = 5.888

0.888*16 = 14.208

14

Una aproximacin a 46.483 es 2E.7BA5E(16

7
B
A
5
E

d) Si el resultado anterior se almacena en una variable del tipo real de


precisin simple (32 bits) Cul es la secuencia de bits en este
formato?
46.483=2E.7BA5(16=101110.01111011101001011110
Normalizado: 1.0111001111011101001011110 x 25
Por lo tanto:
S = 0 (por ser positivo)
C = E+2N-1-1 = 5+27-1 = 132 = 10000100(2 (N= bits de la caracter=8)
M = 01110011110111010010111 (slo 23 bits), pero como el bit 24 es
1, hay que redondear a 01110011110111010011000 (+1)
Uniendo todos los bits: 01000010001110011110111010011000
Abreviado: 4239EE98h
e) Cual es el valor real almacenado en la variable del ejercicio anterior?
El nmero anterior normalizado a 23 bits y redondeado es:
1.01110011110111010011000 x 25
Convertido a entero:
101110011110111010011000 x 25-23
Convertido a hexadecimal
B9EE98 x 2-18
Convertido a decimal
12185240 x 2-18 = 46,483001708984375
11

f) Si A, B y C son variables enteras sin signo de 8 bits que contienen los


valores 203, 151 y 0 respectivamente. Determine el valor de C luego de
hacer la siguiente operacin C=A+B
A = 203 = 11001011 +
B = 151 = 10010111
---------------------354 = 101100010
Como se observa el resultado es 354, pero se necesitan 9 bits para
poder representarlo y la variable C solo tiene 8 bits, por lo que slo se
tomarn los 8 bits menos significativos (el bits ms significativo se
desborda). Por lo tanto C = 01100010 = 98
g) Si A, B y C son variables enteras con signo de 16 bits que contienen los
valores 28391, 15016 y 0 respectivamente. Determine el valor de C
luego de hacer la siguiente operacin C=A+B
A = 28391 = 0110111011100111 +
B = 15016 = 0011101010101000
-------------------------------------43407 = 1010100110001111
Aparentemente el resultado es 43407 (incluso no hay desbordamiento),
pero al ser C una variable entera con signo y como el bit ms
significativo del resultado es 1 inmediatamente nos lleva a pensar que
el resultado es negativo, por lo que procedemos a hallar su
complemento a 2 para determinar su verdadero valor.
C = 1010100110001111
0101011001110000 (0s a 1s y 1s a 0s)
1 (sumamos 1)
-------------------------0101011001110001 = 22129
Pero como se ha complementado, entonces: C = -22129. Aunque
parezca increble, el sumar dos nmeros positivos puede dar como
resultado un nmero negativo.
h) Convertir a cdigo Gray 158 (8 bits)
Primero convertimos 158 a binario de 8 bits esto es: 10011110
Analizando los bits de derecha a izquierda tenemos:
0 1 0 0 1 1 1 1 0
1 1 0 1 0 0 0 1
158 en codigo Gray es 11010001 = 209
i) Codifique en binario 2837 (BCD)
2=0010, 8=1000, 3=0011 y 7=0111
2837 en BCD es 0010100000110111

12

1.5.2. Propuestos
a) Cual es el menor entero negativo y el mayor entero positivo que se
puede almacenar en un formato de enteros con signo de 8 bits.
b) Se desea representar slo enteros positivos con 12 bits, Cul es el
mayor entero que se puede representar?
c) Convertir 97058 a base 7.
d) Convertir 23.81 a base 12
e) Determine la secuencia de bits para la representacin de -7903.37 en
un formato de 32 bits.
f) Determine el verdadero valor (en decimal) almacenado en el ejercicio
anterior.
g) Determine la secuencia de bits para la representacin de 0.00517 en un
formato de 32 bits.
h) Determine el verdadero valor (en decimal) almacenado en el ejercicio
anterior.
i) Si A, B y C son variables enteras con signo de 16 bits que contienen los
valores -10732, 6932 y 0 respectivamente. Determine el valor de C
luego de hacer la siguiente operacin C=A-B.
j) Si A, B y C son variables enteras sin signo de 10 bits que contienen los
valores 372, 998 y 0 respectivamente. Determine el valor de C luego de
hacer la siguiente operacin C=A+B.
k) Convertir a cdigo Gray 826 (10 bits).
l) Codifique en binario 8037 (BCD)

13

II CIRCUITOS DE LOGICA DIGITAL


2.1. Compuertas lgicas.
Las compuertas lgicas son bloques de hardware que producen seales de 0 o 1
cuando los requerimientos lgicos de entrada son satisfechos. Esta caracterstica
permite utilizar el lgebra booleana como herramienta para el anlisis y diseo de
circuitos lgicos digitales.
Cada compuerta tiene un smbolo grfico distinto y su funcionamiento puede
describirse por medio de una expresin algebraica. La relacin de entrada/salida
de las variables binarias para cada compuerta puede representarse en forma tabular
por una tabla de verdad. Los nombres, smbolos, tablas de verdad y funciones
algebraicas de las siete compuertas lgicas se listan en la figura 2.1

C=AB
A B C
0 0 0
0 1 0
1 0 0
1 1 1

C=A+B
A B C
0 0 0
0 1 1
1 0 1
1 1 1

C=(AB)
A B C
0 0 1
0 1 0
1 0 0
1 1 1

Figura 2.1 Compuertas lgicas digitales

Las compuertas lgicas pueden combinarse para producir circuitos lgicos.


2.2. lgebra booleana
El lgebra booleana difiere de forma significativa del lgebra en que las constantes
y variables booleanas slo pueden tener, en diferentes ocasiones, dos valores
posibles: 0 o 1.
Las tres operaciones lgicas bsicas son AND, OR y complemento.
Una funcin booleana puede expresarse algebraicamente con variables binarias,
smbolos de operadores lgicos, parntesis y signos de igualdad. Para un valor
dado de las variables, la funcin slo puede ser 0 o 1.
La relacin entre una funcin y sus variables binarias se pueden representar en una
tabla de verdad, donde se lista las 2N combinaciones de las N variables binarias y,
tambin, mediante un diagrama lgico.

14

Ejemplo: F = A(B+C)

A, B, C y F, por ser variables booleanas slo


puede ser 0 o 1.

En la figura 2.2 se muestra la tabla de verdad con todas las posibles


combinaciones de A, B y C, as como el diagrama lgico para la funcin F
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
0
0
0
0
1
0
0
0

Figura 2.2 Tabla de verdad y diagrama lgico para F = A(B+C)

La tabla de verdad la podemos interpretar de la siguiente manera: Cuando


las entradas A, B y C son 0, la salida F es 0 que es lo que se obtiene al
reemplazar A, B y C en la funcin.
F= A(B+C) = 0(0+0) = 00 = 01 = 0
Ahora si A=1, B=0 y C=0, F tomar el valor de:
F= A(B+C) = 1(0+0) = 10 = 11 = 1
As, se va probando con todas las posibles combinaciones de las entradas
A, B y C (23=8 combinaciones) y se van obteniendo los valores de la salida
F.
Existen un conjunto de reglas que se pueden usar para simplificar expresiones
lgicas, es decir, para reducir el nmero de trminos de una expresin. Al hacer
esto, la expresin reducida generar un circuito lgico menos complejo que el de
la expresin original. Las identidades se listan a continuacin:
1)
2)
3)
4)
5)
6)
7)
8)

A+0=A
A+1=1
A+A=A
A+A=1
A+B=B+A
A+(B+C)=(A+B)+C
A(B+C)=AB+AC
(A+B)=AB

9)
10)
11)
12)
13)
14)
15)
16)
17)

A0=0
A1=A
AA=A
AA=0
AB=BA
A(BC)=(AB)C
A+BC=(A+B)(A+C)
(AB)=A+ B
(A)=A

15

Las identidades 8) y 16) se conocen como los teoremas de DeMorgan y se


pueden generalizar de la siguiente manera:
(A+B+C+D+E+) = ABCDE
(ABCDE) = A+B+C+D+E
Implicaciones del teorema de DeMorgan

2.3. Mintrminos y Maxtrminos


La representacin ms bsica de una funcin lgica es la tabla de verdad, pero la
informacin contenida en ella puede tambin expresarse en forma algebraica
mediante una suma cannica o un producto cannico.
La suma cannica de una funcin lgica es la suma de los productos lgicos de
las variables correspondientes a las lneas de la tabla de verdad para las que la
funcin produce una salida de 1. Cuando en la columna de la variable hay un 1 se
toma la variable y cuando hay un 0 se toma su complemento.
El producto cannico de una funcin lgica es un producto de las sumas lgicas
de las variables correspondientes a las combinaciones de entradas para las que la
funcin produce una salida de 0. En este caso, cuando en la columna de la variable
hay un 0 se toma la variable y cuando hay un 1 se toma su complemento.
Por ejemplo, dada la funcin lgica de la tabla siguiente:
Lnea
0
1
2
3
4
5
6
7

X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Z
0
1
0
1
0
1
0
1

F
1
0
0
1
1
0
1
1

Las lneas donde F es 1 son: 0, 3, 4 6 y 7 y el producto lgico de la fila:


0 es XYZ
en la columna X es 0, en Y es 0 y en Z es 0
3 es XYZ
en la columna X es 0, en Y es 1 y en Z es 1
4 es XYZ
en la columna X es 1, en Y es 0 y en Z es 0
6 es XYZ
en la columna X es 1, en Y es 1 y en Z es 0
7 es XYZ
en la columna X es 1, en Y es 1 y en Z es 1
Por consiguiente la suma cannica de la funcin es:
F = xyz(0,3,4,6,7) = XYZ + XYZ + XYZ + XYZ + XYZ
Para el producto cannico se tiene que:
Las lneas donde F es 0 son: 1, 2 y 5 y la suma lgica de la fila:
1 es X+Y+Z en la columna X es 0, en Y es 0 y en Z es 1
2 es X+Y+Z en la columna X es 0, en Y es 1 y en Z es 0
5 es X+Y+Z en la columna X es 1, en Y es 0 y en Z es 1

16

F = xyz(1,2,5) = (X+Y+Z)(X+Y+Z)(X+Y+Z)
2.4. Simplificacin por lgebra Booleana
Manipulando una expresin booleana, de acuerdo con las reglas del lgebra
booleana, se puede obtener una expresin ms simple, una expresin que requiera
menos compuertas lgicas.
Ejemplo: Simplificar F = XYZ + XYZ

Figura 2.3 Diagrama lgico de F = XYZ + XYZ

Si hacemos que: A = XY
F = AZ + AZ
F = A(Z + Z)
F =A1
F=A
F = XY

entonces tenemos:
si aplicamos la identidad 7) queda:
aplicando la identidad 4) Z + Z = 1
por la identidad 10)
regresando el valor original

La tabla de verdad (del diagrama original y el simplificado) y el diagrama


lgico simplificado se muestran en la figura 2.4
X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Z
0
1
0
1
0
1
0
1

F
0
0
0
0
1
1
0
0

Figura 2.4 Tabla de verdad y Diagrama lgico y para F = XY

17

Por lo tanto las expresiones booleanas: XYZ + XYZ y XY son


equivalentes, esto implica que ambas expresiones tienen la misma tabla de
verdad a pesar que sus diagramas lgicos son diferentes.
Ntese que mientras en el diagrama lgico original se requieren 7
compuertas lgicas (2 NOT, 4 AND y 1 OR) en el diagrama simplificado
solo se necesitan 2 compuertas (1 NOT y 1 AND). Pero lo que debe quedar
bien claro es que ambos diagramas tienen la misma tabla de verdad, es decir,
que si a ambos diagramas se les aplica las mismas entradas, stos generarn
las mismas salidas.
Ejemplo: Simplificar F = (A + B)(A + B)

Figura 2.5 Diagrama lgico F = (A+B)(A +B)

F = (A + B)(A + B)
F = (A + B)A + (A + B)B
F = AA + BA + AB + BB

por la identidad 7) o como,


simplemente, el producto
de 2 binomios

Aplicando la 12) AA=0 y por la 11) BB=B queda


F = 0 + BA + AB + B
F = 0 + AB + AB + B
F = 0 + (A + A)B + B
F = 0 + 1B + B
F=0+B+B
F=0+B
F=B

por la 13) BA=AB


por la 7)
por la 4)
por la 10)
por la 3)
por la 1)

Con esto queda demostrado que (A + B)(A + B) puede ser reemplazado por
simplemente B, es decir, que la salida F slo y nicamente depende de la
variable de entrada B y no se toma en cuenta, para nada, el valor que pueda
tomar la variable A, esto tambin se puede apreciar en la tabla de verdad y el
diagrama simplificado de la expresin original de la figura 2.6
A
0
0
1
1

B
0
1
0
1

F
0
1
0
1

Figura 2.6 Tabla de verdad y Diagrama lgico y para F = B

18

En este caso se puede ver como queda simplificada una expresin booleana
al mximo.
Cabe recalcar, una vez ms, que la tabla de verdad que se muestra en la
figura 2.6 satisface las condiciones de salida para ambos diagramas lgicos
(el original y el simplificado)

Ejemplo: Simplificar F = ((A + C)(B + D))

Figura 2.7 Diagrama lgico de F = ((A+C)(B+D))

Hacemos que X=A+C y Y=B+D y sustituimos en F


F = (XY)
por la 16)
F = X + Y
restableciendo valores
F = (A + C) + (B + D)
por la 8)
F = AC + BD

Figura 2.8 Diagrama lgico de F = AC + BD

La tabla de verdad que satisface las condiciones de salida de los dos


diagramas lgicos es la siguiente:
A
0
0
0

B
0
0
0

C
0
0
1

D
0
1
0

F
0
1
0

A
1
1
1

B
0
0
0

C
0
0
1

D
0
1
0

F
1
1
0

19

0
0
0
0
0

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

1
0
0
0
0

1
1
1
1
1

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

1
1
1
0
0

Figura 2.9 Tabla de verdad de F = AC + BD

En este caso, como se observar en los diagramas, no se ha simplificado


mucho la expresin, pero se ha obtenido un equivalente con mayor presencia
de compuertas AND.
2.5. Simplificacin por mapa de Karnaugh.
Si bien es cierto que una expresin booleana se puede simplificar mediante las
relaciones bsicas del lgebra booleana, en algunas ocasiones esto se puede
complicar debido a que no esta definido una serie de pasos sucesivos a realizar en
el proceso de simplificacin.
Existe un mtodo grafico que proporciona un procedimiento sencillo y directo
para simplificar las expresiones booleanas y se denomina Mapa de Karnaugh.
El Mapa de Karnaugh se puede utilizar para resolver problemas con cualquier
nmero de variables de entrada, su utilidad prctica se limita a seis variables, con
una cantidad mayor ser necesario el empleo de una computadora.
El mtodo consiste en agrupar 2 o ms trminos de una suma cannica en los
cuales exista un cambio mnimo de bits (cdigo Gray) entre las variables que los
conforman. Por ejemplo la suma cannica ABC + ABC (111 y 110,
respectivamente), puede simplificarse a AB(C+C) = AB
La idea es hacer un mapa colocando juntas las lneas cuyos valores en binario
tengan un cambio mnimo de sus bits. Por ejemplo la lnea 0 (0000) con las lneas
1, 2, 4 y 8 (0001, 0010, 0100 y 1000, respectivamente).
La lnea 2 (0010) con las lneas 0, 3, 6 y 10 (0000, 0011, 0110 y 1010)
La lnea 5 (0101) con las lneas 1, 4, 7 y 13 (0001, 0100, 0111 y 1101)
La lnea 15 (1111) con las lneas 7, 11, 13 y 14 (0001, 0100, 0111 y 1101)
Siguiendo esta regla un mapa de 16 lneas (4 variables) seria el siguiente:

10
2
6
14
10
2

8
0
4
12
8
0

9
1
5
13
9
1

11
3
7
15
11
3

10
2
6
14
10
2

8
0
4
12
8
0

Figura 2.10 Mapa de Karnaugh para 4 variables

Como se observa la lnea 0 tiene adyacentes a las lneas 1 y 4 pero no a las lneas 2
y 8. Igual ocurre con la lnea 2 que tiene adyacentes a las lneas 3 y 6 pero no a las
lneas 0 y 10. Este inconveniente se resuelve copiando la tabla alrededor de la
tabla original como se muestra en la figura 2.10

20

Una vez que se tiene el mapa se forman grupos de 2, 4, 8, 16, etc. lneas
adyacentes cuya funcin de salida es 1. Esto significa que se pueden agrupar de:
2 trminos: Las lneas (0,1), (0,4), (0,2), (0,8); (5,1), (5,7), (5,4), (5,13); (11,9),
(11,3), (11,10), (11,15), etc.
4 trminos: Las lneas (0,1,3,2), (0,4,12,8), (0,1,4,5), (0,2,8,10); (1,5,13,9),
(1,3,9,11), (1,3,5,7); (6,4,14,12), (6,2,14,10), (6,7,15,14), etc.
8 trminos: Las lneas (0,1,3,2,4,5,7,6), (0,4,12,8,1,5,13,9), (0,4,12,8,2,6,14,10),
(0,1,3,2,8,9,11,10), etc.
No hay que olvidar que solo se agruparn las lneas cuya funcin de salida es 1
Por ejemplo para la siguiente suma cannica ABCD(0,1,2,3,4,5,9,10) que se
corresponde con la siguiente tabla:
0
1
2
3
4
5
6
7

A
0
0
0
0
0
0
0
0

B
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1

F
1
1
1
1
1
1
0
0

8
9
10
11
12
13
14
15

A
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1

F
0
1
1
0
0
0
0
0

Figura 2.11 Tabla de verdad de ABCD(0,1,2,3,4,5,9,10)

La expresin sin simplificar ser:


F = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD+ ABCD

El mapa de karnaugh, quedar as:


CD
00
AB
00
AB
01
AB
11
AB
10

CD
01

1
4

1
12

5
13

7
15

0
9

CD
10

CD
11

11

0
14

0
10

Figura 2.12 Mapa de Karnauhg de ABCD(0,1,2,3,4,5,9,10)

Los nmeros en la esquina superior derecha de las celdas se corresponden con los
nmeros de lnea y los nmeros en el centro son los valores que toma la funcin
de salida en esa lnea.
En los bordes superior e izquierdo, aparecen los valores que pueden tomar las
variables lgicas. Por ejemplo, la interseccin de la fila AB y la columna CD
definen el trmino ABCD (0101, lnea 5). Otro detalle a tener en cuenta es el
orden o secuencia que tienen los elementos de los bordes, as, AB, AB, AB y
21

AB se corresponden con 00, 01, 11 y 10 (cdigo Gray para 0, 1, 2 y 3), de igual


manera ocurre con el borde superior.
A continuacin se proceder a agrupar. Cuanto mayor nmero de elementos
tenga el grupo, mayor ser la simplificacin
Las lneas 0, 1, 3 y 2 forman el grupo 1.
Las lneas 0, 1, 4 y 5 forman el grupo 2.
Las lneas 1 y 9 forman el grupo 3 y, finalmente,
Las lneas 2 y 10 el grupo de 4.
No importa que se tomen lneas que pertenecen a algn grupo para formar otro
grupo.
Ahora pasaremos a simplificar. La regla de simplificacin es sencilla:
QUEDARN SOLO AQUELLAS VARIABLES LGICAS PARA LAS
QUE NO APARECE SU COMPLEMENTO EN EL GRUPO
En el grupo 1 (ABCD + ABCD + ABCD + ABCD) quedar: AB
En el grupo 2 (ABCD + ABCD + ABCD + ABCD) quedar: AC
En el grupo 3 (ABCD + ABCD) quedar: BCD
En el grupo 4 (ABCD + ABCD) quedar: BCD
Por ultimo, se unen las reducciones mediante un operador OR (+) quedando:
F = AB + AC + BCD + BCD
Condicin no importa
En algunos casos se va a dar que, ciertas entradas nunca van a ocurrir, por lo que
no estarn definidos los correspondientes valores para la funcin de salida. Esto se
conoce como condicin NO IMPORTA, es decir, que no importa si la funcin de
salida toma el valor de 0 o 1, por lo que se puede establecer un valor arbitrario
para la funcin de salida de tal manera que permita simplificar an ms la
expresin.
Ejemplo: Disear un detector de dgitos BCD primos.
Como sabemos, los dgitos BCD son del 0 al 9 (0000 a 1001) y estn
conformados por 4 bits. Por consiguiente, los dgitos BCD primos son: 1, 2,
3, 5 y 7.
La tabla de verdad para esta funcin ser:

0
1
2
3
4
5
6
7

A
0
0
0
0
0
0
0
0

B
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1

F
0
1
1
1
0
1
0
1

8
9
10
11
12
13
14
15

A
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1

F
0
0
?
?
?
?
?
?

22

Figura 2.13 Tabla de verdad para detector de nmeros primos

En la tabla, ABCD representan los 4 dgitos del cdigo BCD. Ntese que
desde la lnea 10 hasta la 15, la funcin de salida tiene el valor ? debido a
que esos valores no estn definidos para el cdigo BCD, en otras palabras, si
las entradas es un cdigo BCD, estas entradas (10-15) nunca ocurrirn.
Ahora construiremos el mapa de Karnaugh tal como se muestra en la figura
2.14. Ntese las lneas del 10 al 15, los ? significa que pueden tomar el valor
de 0 o 1 segn nos convenga.
CD
00
AB
00
AB
01
AB
11
AB
10

CD
01

1
4

0
12

5
13

7
15

?
9

CD
10

CD
11

11

0
14

?
10

Figura 2.14 Mapa de Karnauhg de nmeros primos BCD

Hay un grupo que est completamente definido, que es el grupo conformado


por las lneas 1, 3, 5 y 7, el problema es, con qu lneas agrupar la lnea 2.
Un primer intento sera agrupar la lnea 2 con la lnea 3, con lo que se forma
un grupo de 2 lneas.
Un segundo intento es hacer 1 la lnea 10 y agruparla con la lnea 2, tambin
sera un grupo de 2 lneas.
Un tercer intento, es hacer 1 las lneas 11 y 10 y agruparlas con las lneas 3 y
2 (grupo de 4) con lo que obtendramos una mayor simplificacin. Al parecer
esto sera lo ptimo, por lo que la funcin quedar:
F = AD + BC
Esto tambin significa que la funcin de salida del resto de lneas (12, 13, 14
y 15) debemos asignarle el valor de 0.
2.6. Circuitos lgicos combinacionales.
Es un grupo de compuertas lgicas conectadas de una manera especfica,
definiendo de esta forma un circuito con un conjunto de entradas y salidas
binarias. La caracterstica principal de un circuito combinacional es que los
valores binarios de las salidas dependen o estn en funcin, slo y nicamente, de
una combinacin binaria de entradas.
N variables
de entrada

A
B

Circuito
Combinacional

F1
F2

M variables
de salida

FM

23

Figura 2.15 Diagrama de bloque de un circuito combinacional

Un circuito combinacional puede describirse mediante una tabla de verdad que


muestre la relacin binaria entre las N variables de entrada y las M variables de
salida.
2.6.1. Semisumador de 1 bit.
Es el circuito combinacional ms simple y realiza la suma aritmtica de
dos dgitos binarios. Se denomina semisumador porque las entradas estn
conformadas por slo los dos dgitos binarios a sumar y como salidas,
tiene el resultado de la suma y el acarreo generado.

A
0
0
1
1

B
0
1
0
1

S
0
1
1
0

C
0
0
0
1

Figura 2.16 Tabla de verdad y circuito combinacional de un semisumador

De la tabla podemos obtener las siguientes funciones lgicas S = AB+AB


y C = AB, pero AB+AB = AB por lo que el circuito quedara:

Figura 2.17 Circuito combinacional simplificado de un semisumador

2.6.2. Sumador completo de 1 bit.


Este circuito combinatorio tiene como entradas los dos dgitos binarios a
sumar (A, B) y adems un acarreo inicial (K), es decir, tres entradas. Como
salidas, el resultado de la suma (S) y el acarreo generado o de salida (C).
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

K
0
1
0
1
0
1
0
1

S
0
1
1
0
1
0
0
1

C
0
0
0
1
0
1
1
1

24

Figura 2.18 Tabla de verdad y circuito combinacional de un sumador completo

De la tabla de la figura 2.18 se obtienen las funciones:


S = ABK+ABK +ABK+ABK = (AB+AB)K+(AB+AB)K
S = (AB)K+(AB)K = (AB)K
C = ABK+ABK+ABK+ABK = (AB+AB)K+AB(K+K)
C = (AB)K+AB
2.6.3. Sumador restador de 4 bits.
Los circuitos anteriores pueden tratarse como cajas negras, donde solo
sepamos las salidas que se van a obtener al ingresar entradas determinadas,
por ejemplo el diagrama de bloque para el sumador completo seria el
siguiente:

Figura 2.19 Diagrama de bloque de un sumador completo

Donde A y B son las entradas de los dgitos binarios a sumar, Ci es el


acarreo de entrada, es la salida de la suma de los bits de entrada y Co el
acarreo de salida.
Se pueden usar estos circuitos simples para disear circuitos
cambinacionales ms complejos como por ejemplo un sumador de 4 bits
tal como se muestra en la figura siguiente:

Figura 2.20 Diagrama de un Sumador de 4 bits

En el diagrama de la figura 2.20 hay 4 sumadores completos. K es el


acarreo de entrada, A3, A2, A1 y A0 son los 4 bits del numero A, al igual
que B3, B2, B1 y B0 del numero B.
El acarreo de salida Co de cada sumador se conecta al acarreo de entrada C i
del siguiente bloque sumador. S3, S2, S1 y S0 es un nmero de 4 bits
resultado de la suma de A y B. Finalmente C contiene el acarreo de salida
resultado de la suma de los nmeros de 4 bits A y B.

25

De igual forma su puede disear un sumador de 8, 16 o 32 bits o, en todo


caso, usando 2 sumadores de 4 bits se puede construir un sumador de 8
bits, con 4 uno de 16 y as sucesivamente.

Figura 2.21 Diagrama de un Sumador de 8 bits usando sumadores de 4 bits

La figura 2.21 muestra un sumador de 8 bits diseado con 2 sumadores de


4 bits y estos a su vez se han diseado usando sumadores completos de un
bit.
Usando la misma lgica se puede disear un restador, pero mejor aun,
pasemos a hablar de un circuito que realice ambas operaciones: un
sumador-restador.
Primero recordemos que una resta binaria (A-B) es igual que una suma
pero complementando a 2 el segundo operando (A+C2(B)), es decir que:
10 2 = 10 + C2(2)
En binario con 4 bits sera:
1010 0010 = 1010 + C2(0010) = 1010 + (1101 + 1)
Por consiguiente necesitamos disear un circuito tal, que cuando la
operacin sea una suma el segundo operando B se mantenga igual pero, si
la operacin es una resta se complemente (cambiar 1s por 0s y 0s por 1s y
sumarle 1). Una vez tratado el segundo operando se realiza una simple
suma.
Una entrada adicional (M) nos puede indicar si la operacin a realizar es
una suma (0) o una resta (1). Si M=0, entonces el digito Bi debe quedar
igual (sumar), caso contrario el digito Bi debe ser complementado (restar).
Si miramos la tabla de verdad generada, donde B es la entrada al sumador,
(figura 2.22) lo que obtenemos es una operacin XOR.
M
0
0
1
1

Bi
0
1
0
1

B
0
1
1
0

Figura 2.22 Tabla de verdad de la operacin

Por lo tanto, mediante una operacin XOR podemos, si fuera una resta,
complementar los 0s y los 1s del segundo operando; pero al hacer esto slo
estamos hallando el complemento a 1, falta sumarle 1 para que se convierta
en el complemento a 2. Esto se logra conectando la entrada M al acarreo de
entrada (sumar 1), tal como se aprecia en la figura 2.23.

26

Figura 2.23 Diagrama de un Sumador-Restador de 4 bits

2.7. Flip-flops
Es una celda binaria capaz de almacenar un bit de informacin. Tiene 2 salidas,
una para el valor normal y una para el valor complementado del bit almacenado en
l. La diferencia entre los diversos tipos de flip-flops est en el nmero de entradas
que posean y la manera en la cual las entradas afectan el estado binario.
Comnmente los flip-flops reciben el nombre de registros.
2.7.1. Flip Flop Bsico con compuertas NAND y NOR
El circuito Flip-Flop ms elemental que se puede construir es con 2
compuertas NAND como muestra la figura 2.24

R
0
0
1
1

S
0
1
0
1

Q
Q=Q=1
1
0
Sin Cambio

Figura 2.24 Flip-flop bsico NAND y su tabla d verdad

Resumen del flip-flop bsico con compuertas NAND


1. R=S=1: Esta condicin no tiene efecto alguno sobre el estado de salida.
Las salidas Q y Q permanecern en el estado en el que se encontraban
antes de presentarse esta condicin de entrada.
2. R=0, S=1: Este estado siempre ocasionar que la salida pase al estado
Q=1, donde permanecer aun despus de que R=1.
3. R=1, S=0: Esto siempre producir el estado Q=0, donde la salida
permanecer aun despus de que S=1.
4. R=S=0: Esta condicin intenta iniciar y borrar el registro bsico en
forma simultanea y produce Q=Q=1. No debe utilizarse.
La figura 2.25 muestra el diagrama de estados del flip-flop, donde los
crculos son los estados del flip-flop (salida Q) y las flechas las
transiciones que permiten pasar de un estado a otro.

27

Los valores 00, 01, 10 y 11 son los valores que pueden tomar las entradas
RS cuando el flip-flop se encuentre en alguno de sus 2 estados (0 o 1).
Como se aprecia la salida Q o estado al que pasara, esta en funcin de las
entradas R, S y del estado actual en el que se encuentre el flip-flop. Por
ejemplo, si el flip-flop se encuentra en el estado 0 y RS=11 la salida Q es
0, pero si se encontrara en el estado 1, la salida Q sera 1.
Figura 2.25 Diagrama de estados del flip-flop NAND

Otra alternativa de flip-flop bsico es la mostrada en la figura 2.26,


construido con 2 compuertas NOR
R
0
0
1
1

S
0
1
0
1

Q
Sin cambio
1
0
Q=Q=0

Figura 2.26 Registro bsico NOR y su tabla d verdad

Resumen del flip-flop bsico con compuertas NOR


1. R=S=0: Esta condicin no tiene efecto alguno sobre el estado de salida.
Las salidas Q y Q permanecern en el estado en el que se encontraban
antes de presentarse esta condicin de entrada.
2. R=0, S=1: Este estado siempre ocasionar que la salida pase al estado
Q=1, donde permanecer aun despus de que R=1.
3. R=1, S=0: Esto siempre producir el estado Q=0, donde la salida
permanecer aun despus de que S=1.
4. R=S=1: Esta condicin intenta iniciar y borrar el registro bsico en
forma simultanea y produce Q=Q=0. No debe utilizarse.
Figura 2.25 Diagrama de estados del flip-flop NOR

00

01

10

10
0
11

01

11

11

10

00

10

01

00

00

11

01

28

Al modificar el valor de una de las entradas del fli-flop, la salida Q cambia


inmediatamente, por lo que podemos considerar estas entradas como
asncronas. Pero por lo general es necesario que las salidas se sincronicen
con una seal maestra conocida como seal del Reloj. Esto se logra
agregando un par de compuertas AND, con lo que ahora obtenemos un
flip-flop con entradas sncronas, lo que implica que las salidas no se
actualizaran mientras la seal de reloj no sea 1.

Figura 2.25 Diagrama de un flip-flop con entradas sncronas

2.7.2. Flip-flop SR sincronizado por reloj


Q0
0
0
1
1

Q1
0
1
0
1

S
0
1
0

0
1
0

Figura 2.26 Smbolo grafico, Tabla caracterstica y excitacin de un FF RS

Ecuacin caracterstica: Q = S + RQ
2.7.3. Flip-flop D sincronizado por reloj
D
0
1

CLK

Q
0
1

Q0
0
0
1
1

Q1
0
1
0
1

D
0
1
0
1

Figura 2.27 Smbolo grafico, Tabla caracterstica y excitacin de un FF D

Ecuacin caracterstica: Q = D
2.7.4. Flip-flop JK sincronizado por reloj
Q0
0
0
1
1

Q1
0
1
0
1

J
0
1

1
0

Figura 2.28 Smbolo grafico, Tabla caracterstica y excitacin de un FF JK

29

Ecuacin caracterstica: Q = JQ + KQ
2.7.5. Flip-flop T sincronizado por reloj
T

T
0
1

CLK

Q
Q anterior
Q

Q0
0
0
1
1

Q1
0
1
0
1

T
0
1
1
0

Figura 2.29 Smbolo grafico, Tabla caracterstica y excitacin de un FF T

Ecuacin caracterstica: Q = Q T

2.8. Circuitos lgicos secuenciales.


Es un conjunto de compuertas lgicas (circuito combinacional) y flip-flops
interconectados entre si. La caracterstica principal de un circuito secuencial es
que los valores binarios de las salidas no slo dependen de sus entradas actuales
sino tambin de la secuencia de entradas previas.
2.8.1. Ecuaciones de entrada de los flip-flops
La figura 2.30 muestra un circuito secuencial conformado por 2 flip-flops
D y algunas compuertas lgicas.

Figura 2.30 Diagrama de un circuito secuencial con FF D

En un flip-flop tipo D la ecuacin caracterstica es Q=D (ntese que Q ser


A en el primer flip-flop y B en el segundo), es decir A=D A y B=DB. Por lo
tanto DA ser igual a la salida del circuito conformado por las compuertas
1, 2 y 3, es decir: A=DA=Ax+xB y DB a la salida de la compuerta 4,

30

B=DB=Ax. La salida y ser igual al resultado de las compuertas 5, 6, 7 y


8; entonces: y=Ax+Bx.
Esto significa que el nuevo valor de A depender del actual valor de A, B y
x, mientras que el valor de B estar en funcin de B y A. Lo siguiente ser
construir la tabla de estados del circuito usando las expresiones halladas.
Estado actual
A
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

Entrada
x
0
1
0
1
0
1
0
1

Estado nuevo
A
B
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0

Salida
y
0
0
1
0
1
0
1
0

Figura 2.31 Tabla de estados

Por ejemplo si los valores actuales de las variables A, B y x son 0, 1 y 1


respectivamente y los reemplazamos en las expresiones halladas,
obtendremos los nuevos valores de A y B:
A = Ax+xB
= 01 + 11 = 0 + 1 = 1
B = Ax
= 11 = 1
y = Ax+Bx
= 00 + 10 = 0 + 0 = 0
Ahora, a partir de la tabla de estados, construiremos el diagrama de estados
Como tenemos 2 (N) Flip-flops y cada uno de ellos puede tener 2 estados
posibles, esto significa que el circuito secuencial tendr 4 (2 N) estados
(AB) en total 00, 01, 10 y 11.
Cuando el estado actual (AB) es 00 y x es 0, el estado siguiente es 00 y la
salida y=0, pero si x=1 el siguiente estado es 01 y la salida y=0.
Si el estado actual es 11 y x=0 el siguiente estado es 00 y la salida y=1,
pero si x=1 el estado siguiente es 10 y la salida y=0. Si continuamos con
este razonamiento, obtendremos el siguiente diagrama:
0/0

1/0
0/1
0
0

0/1

1
0

0/1

1/0
0
1

1/0
1
1

1/0

Figura 2.31 Diagrama de estados

Los nmeros que aparecen en el numerador son las entradas, mientras los
denominadores son las salidas.

31

Ahora analicemos un circuito secuencial con flip-flops tipo JK.

Figura 2.32 Diagrama de circuito secuencial con FF JK

Las ecuaciones de entrada son: JA=x, KA=x, JB=z, KB=z, z=(x+A)B y la


ecuacin caracterstica para estos flip-flops es Q=JQ+KQ que para este
caso sera: A=JAA+KAA y B=JBB+KBB
Estado actual
A
0
0
0
0
1
1
1
1

Entrada

=x

=x

x
0
1
0
1
0
1
0
1

JA
0
1
0
1
0
1
0
1

KA
0
1
0
1
0
1
0
1

B
0
0
1
1
0
0
1
1

Salida
(x+A)B
z
0
1
0
0
1
1
0
0

=z

=z

JB
0
1
0
0
1
1
0
0

KB
0
1
0
0
1
1
0
0

Estado nuevo
= JQ+KQ
A
B
0
0
1
1
0
1
1
1
1
1
0
1
1
1
0
1

Figura 2.33 Tabla de estados

Por ejemplo si A, B y x valen 1, 0 y 0, respectivamente, entonces:


JA= x = 0
KA = x = 0
z = (x+A)B = (0+1)1 = 1
JB = z = 1
KB = z = 1
A = JAA+KAA = 00+11 = 1
B = JBB+KBB = 11+00 = 1
Todo esto queda resumido en el diagrama de estados siguiente
0/0

0/0

0
0

0
1

1/0
1/1

1/1

1/0
0/0

1
1

1
0

0/1

Figura 2.34 Diagrama de estados

32

Hasta ahora hemos partido del diagrama de un circuito secuencial para


determinar el comportamiento de ste, pero tambin se puede dar el caso
contrario, es decir, que a partir del comportamiento del circuito secuencial
determinar o disear dicho circuito.
Por ejemplo: Dado el diagrama de estados de la figura 2.35 disear un
circuito secuencial haciendo uso de flip-flops tipo JK
0/0

0/1
1/0
0
0

1
1

1/1

0/1

1/1
0
1

1
0

0/0

1/0

Figura 2.35 Diagrama de estados

En este tipo de problemas conocemos el estado actual (Q 0) y el estado


nuevo (Q1) al que pasara el circuito secuencial al generarse una entrada x.
En este caso haremos uso de la tabla de excitacin del FF JK, la cual nos
permite saber que valores deben tener las entradas J y K para poder pasar
de Q0 a Q1
Estado actual
Q0
A
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

Entrada
x
0
1
0
1
0
1
0
1

Estado nuevo
Q1
A
B
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0

FF-A
JA
0
0
0
1

KA

0
0
0
1

FF-B
JB
0
1

0
1

KB

0
1

0
1

Salida
z
0
1
1
0
0
1
1
0

Figura 2.35 Tabla de estados

Por ejemplo, si el estado actual del FF A es 0, para que pueda pasar al


estado 0 (se queda en el mismo estado), la entrada J (J A) debe ser 0 y K
(KA) debe ser (entrada no importa), segn la tabla de excitacin.
Para el caso del FF B, si su estado actual es 1, para que pueda pasar al
estado 1 (se queda en el mismo estado), la entrada J (JB) debe ser (entrada
no importa) y K (KB) debe ser 0.
Continuando con este razonamiento se completa la tabla y luego se
procede a determinar JA, KA, JB y KB en funcin de A, B y x, es decir, que
se toma a A, B (estado actual), x como entradas y a J A, KA, JB y KB como
funciones de salida. Obviamente el mtodo ms prctico para todos estos
casos es: El mapa de Karnaugh.

33

KA

X
0

AB

AB

AB

AB

2
6
4

X
1

1
5

Figura 2.36 Mapas de Karnaugh para JA, KA, JB y KB

De los mapas de Karnaugh podemos determinar que:


JA = Bx
KA = Bx
JB = x
KB = x
Del mismo modo se puede determinar z = Bx + Bx = Bx
Con todas estas expresiones procedemos a disear el circuito secuencial tal
como se muestra en la figura 2.37

Figura 2.37 Diagrama del circuito secuencial

2.9. Solucin de ejercicios con Boole


Boole es un programa que permite disear y analizar circuitos combinacionales y
secuenciales. Este software es de libre uso y puede ser descargado de la siguiente
pgina: http://paginaspersonales.deusto.es/zubia/BOOLE_SP.zip
Una vez descargado y descomprimido se ejecuta Boole.exe y aparece una ventana
con 2 botones: Sistema combinacional y Sistema secuencial. Autmatas
2.9.1. Circuitos combinacionales.

34

Seleccionado el botn Sistema combinacional aparecer la ventana


mostrada en la figura 2.38

Figura 2.38 Ventana de Sistema combinacional de Boole

Primero debemos darle un nombre al sistema (Ejercicio1) y luego


establecer la cantidad de variables de entrada (3) y salida (1). Se puede
establecer un nombre para las variables de entrada (X, Y, Z) y de salida o
dejarlos con sus valores por defecto A, B, C y F respectivamente.
Ahora elegimos el botn Tabla de verdad manual para ingresar los
valores de la tabla de verdad del circuito. La ventana que aparecer es la
mostrada en la figura 2.39.

35

Figura 2.39 Ventana para el llenado de la tabla de verdad

El botn Condiciones libres llenara de X la funcin de salida F, mientras


que el botn Ceros de ceros y Unos de unos. Obvio!
Bastara con hacer clic, una o varias veces, en cualquiera de las celdas de la
funcin F para que cambie a 0, 1 o X
Una vez llenada la tabla hacemos clic en Evaluar y luego en Salir, para
regresar a la ventana anterior en donde haremos clic en el botn Expr.
SOP simplificada donde aparecer la siguiente ventana:

Figura 2.40 Ventana de Expresin SOP simplificada

En ella se observa las expresiones lgicas simplificadas de las funciones


(F:1, F:2, ) y 4 botones:
Veitch-Karnough, que permite ver el mapa de Karnaugh de la funcin con
las agrupaciones de lneas que se han empleado para la simplificacin

Figura 2.41 Ventana de mapa de Karnaugh

36

Nand/Nor que muestra una ventana con expresiones lgicas de F, pero


empleando solo operadores Nand o Nor
Visualizar circuito que muestra una ventana con el diagrama del circuito
simplificado, como se muestra en la figura 2.42

Figura 2.42 Ventana de diagrama del circuito

2.9.2. Circuitos secuenciales.


Al seleccionar el botn Sistema secuencial. Autmatas aparecer la
ventana de la figura 2.43

Figura 2.43 Ventana de Sistema Secuencial

Al seleccionar la opcin Nuevo del men Archivo aparecer la


ventana de la figura 2.44 que nos permitir elegir el tipo de autmata con
el que se desea trabajar: Moore y Mealy (en el tipo Mealy tenemos que
ingresar el valor de la transicin y el valor de la salida por cada flecha,

37

mientras que en el Moore ingresamos la transicin en cada flecha y la


salida en cada crculo). As tambin, se establece la cantidad de entradas y
salidas y sus nombres respectivos.
Figura 2.44 Ventana de Sistema Secuencial

El ejemplo a desarrollar es el autmata de la figura 2.31 y el tipo de


autmata, Mealy. Una vez establecido la cantidad de variables y sus
nombres se hace clic en Aceptar para que aparezca la ventana de la
figura 2.44 donde se proceder a dibujar el autmata.
Hay que reconocer que la interfaz grafica para dibujar el autmata es un
poco dura, pero con un poco de prctica se lograr dominarla.
Primero dibujaremos los estados, 4 en este caso. Para ello se hace clic en el
botn crculo de la ventana Barra (barra de herramientas) y luego
hacemos clic en el fondo blanco tantas veces como estados deseemos.
Para dibujar las transiciones, seleccionamos el botn flecha derecha de la
ventana Barra y luego hacemos clic en el estado inicial y luego en el
estado final los cuales quedarn unidos mediante una flecha. Esta

operacin deber repetirse tantas veces como transiciones tenga el


autmata.
Figura 2.45 Ventana donde se dibuja el Autmata

Para hacer cualquier modificacin respecto a la posicin de los estados, se


debe seleccionar primero la flecha tipo puntero de mouse y luego arrastrar
el elemento a mover (crculo o flecha). As mismo se puede tambin
establecer los valores de las entradas y salidas; haciendo doble clic sobre
cualquier flecha, aparecer una ventana donde se ingresar la entrada y
salida respectivamente
Para visualizar el circuito abrimos el men Ver circuito y podemos elegir
la opcin Con flip-flops D

38

Figura 2.46 Circuito secuencial con Flip-Flop tipo D

O la opcin Con flip-flops JK

Figura 2.47 Circuito secuencial con Flip-Flop tipo JK

39

Otra opcin interesante es Simulacin interactiva del men Resultados


donde se podr simular las transiciones de los estados al tomar un valor
determinado la entrada x cada vez que se haga clic en el botn CLK

Figura 2.48 Ventana de simulacin interactiva

2.10. Simulacin de circuitos con Electronics WorkBench


Electronics Workbench (EWB) o Banco de Trabajo de Electrnica, es un programa
para disear y simular circuitos electrnicos y lgicos, desarrollado por
INTERACTIVE IMAGE TECHNOLOGIES LTD. El programa tiene una interfaz
grfica con el usuario que lo hace muy intuitivo, cmodo de usar y rpido de
trabajar, razn por la cual no vamos a describir, con detalle, como hacer los
circuitos sino, mas bien, las herramientas a usar para simular nuestros circuitos.

Activar
simulacin

Figura 2.50 Ventana principalde WorkBench

40

La figura 2.50 muestra la ventana principal del WorkBench v5.12, junto con
algunas cajas de herramientas que se van a emplear en el diseo y simulacin de
circuitos digitales.
Para iniciar el diseo de un circuito, se hace clic en el botn respectivo de la barra
de herramientas, para que aparezca la caja de herramientas con la que deseamos
trabajar (Logic Gates - Compuertas Lgicas, por ejemplo). A continuacin
seleccionamos el elemento de la caja de herramientas que queremos agregar y lo
arrastramos hacia el rea de trabajo (ventana de fondo blanco), esta operacin la
repetimos tantas veces como elementos deseemos.
Todos los elementos tienen una o ms salidas, las cuales al sealarlas con el
puntero del mouse aparece un crculo negro sobre ellas, lo cual indica que
podemos iniciar la operacin de conexin con otros componentes. Al arrastrar y
llegar a la salida (entrada) de otro componente, tambin aparecer un crculo
negro, con lo cual podemos finalizar la conexin.
Al finalizar este proceso veremos una lnea que conecta ambos componentes y as
sucesivamente se puede repetir esta operacin con el resto de elementos.
La figura 2.51 muestra un circuito terminado. Como se aprecia es el diagrama de
un sumador completo de un bit (figura 2.18) al cual se le han agregado una batera
de 5v, 3 switch (A, B y C), 2 probadores (rojo y azul) para poder hacer la
simulacin.

Figura 2.51 Circuito de un sumador completo de un bit

La batera se usa para simular los 0s y 1s digitales (0V. y 5V.) y los switch para
conmutar las entradas a 0V. o 5V. (0 o 1). Para establecer las propiedades de los
componentes basta con hacer doble clic sobre ellos y elegir la ficha respectiva
donde se establecern los valores deseados. Por ejemplo, hacer doble clic sobre
batera, elegir la ficha Value y establecemos el valor de 5V, para los switch,
tambin, elegimos la ficha Value y establecemos la tecla (A, B y C
respectivamente) con la cual conmutar el switch.
Para iniciar la simulacin hacer clic en el botn 0/1 que se encuentra en la esquina
superior derecha de la ventana. Bastar con presionar A, B o C para conmutar las
entradas para las compuertas. Cada vez que la salida sea 1, los probadores se
encendern con el color respectivo.
El ejemplo anterior es slo para iniciarnos en el proceso de simulacin pero lo mas
apropiado es utilizar el Generador de Palabras (Word Generador) tal como se
muestra en la figura siguiente:
41

Figura 2.52 Circuito del sumador completo con el generador de palabras

Un Generador de Palabras es un instrumento que permite generar palabras de 16


bits y hacer que sus salidas contengan estos valores. Al conectar las salidas del
Generador de Palabras a las entradas de los diferentes componentes podemos
estudiar el comportamiento del circuito, o mejor dicho las salidas de ste, frente a
un conjunto de valores de entrada.
El Generador de Palabras es el 5to botn (Word Generador) de la caja de
herramientas Instruments (Instrumentos) y al hacer doble clic sobre l aparecer
la ventana de la figura 2.53, con la cual podemos configurarlo.

Figura 2.53 Ventana de configuracin del Generador de Palabras

En la parte izquierda hay una lista donde se puede ingresar las palabras en
hexadecimal (4 dgitos) que deseamos generar. Esto tambin lo podemos hacer
ubicndonos primero en la posicin dentro de la lista donde deseamos insertar la
palabra y luego en la parte inferior derecha (Binary) escribir el valor en binario
(16 dgitos).
En el rea Address se puede ver:
Edit.- Muestra el valor de la palabra a generar, ingresada o editada.
Current.- Cuando se esta simulando, muestra el valor actual que se est
generando o que esta presente en las salidas del generador.
Initial.- Muestra o establece la direccin de la primera palabra a generar.
Final.- Muestra o establece la direccin de la ltima palabra a generar.
En Frecuency se establece la frecuencia con la que se generaran las palabras. Para
la simulacin es recomendable 1 Hz, pero se puede cambiar a kHz o MHz
42

Finalmente en la parte superior derecha se encuentran 4 botones que permiten


establecer el ciclo de generacin de las palabras
Cycle.- Permite generar las palabras en forma cclica, es decir que una vez
que se genero la ltima, contina con la primera y as sucesivamente.
Burst.- Una vez generada la ltima palabra se detiene.
Step.- En esta modalidad, cada vez que se desee generar una palabra se tiene
que hacer clic en este botn.
Breakpoint.- Sirve para crear puntos de parada, es decir que, cuando se vaya
a generar cierta palabra establecida como Breakpoint el simulador se detiene.
Para ello slo basta seleccionar la palabra y hacer clic en este botn
Pattern.- Muestra una ventana que permite establecer la forma como se
llenar la lista de palabras:
Clear buffer: Limpia la lista de palabras (la llena de ceros).
Open: Carga la lista de palabras desde un archivo texto.
Save: Graba en un archivo texto la lista de palabras.
Up counter: Carga la lista de palabras desde el 0000 hasta el 03FF.
Down counter: Carga la lista de palabras desde el 03FF hasta el 0000.
Shift right: Carga la lista de palabras con potencias de 2 (decrecientes).
Shift left: Carga la lista de palabras con potencias de 2 (crecientes).
Otro instrumento interesante es el Convertidor Lgico (Logic Converter). Es el
7mo botn de la caja de herramientas Instruments. Este instrumento permite
generar la tabla de verdad, la expresin booleana original y simplificada a partir de
un circuito. Tambin permite crear una tabla de verdad y a partir de ella las
expresiones booleanas correspondientes as como el circuito respectivo.
La figura 2.54 muestra las conexiones que se deben realizar para evaluar la salida
F del circuito de la figura 2.3.

Figura 2.54 Conexin del Convertidor Lgico

Igual que el caso anterior, hacer doble clic sobre el Convertidor Lgico para que
aparezca la ventana de la figura 2.55 que es donde se visualizan los resultados

43

Figura 2.54 Ventana del Convertidor Lgico

Con el primer botn, se generar la tabla de verdad con los respectivos valores
de la funcin de salida
Con el segundo botn se obtiene la expresin booleana tomada directamente
de la tabla, sin simplificar (maxtrminos).
Con el tercer botn se obtiene la expresin booleana simplificada

Tambin se puede trabajar sin tener un circuito, generando una tabla de verdad o
ingresando una expresin booleana.
En el primer caso, se hace clic sobre las variables que se van a usar (A, B, C,H)
y en forma automtica se va generando la tabla de verdad. Luego hay que ubicarse
sobre los valores que aparecen a la derecha (funcin de salida) y establecer los
nuevos. Ahora ya podemos hacer uso del segundo, tercero, quinto y sexto botn.
En el segundo caso se ingresa una expresin booleana en el rectngulo blanco de
la parte inferior de la ventana, con lo que luego se podr hacer uso de los botones
cuarto, quinto y sexto

Con el cuarto botn, dada una expresin booleana, se obtiene la tabla de


verdad a partir de dicha expresin.
Con el quinto botn, a partir de una expresin booleana, se obtiene el circuito
o diagrama.
Con el sexto botn se obtiene el diagrama pero compuesto por slo
compuertas NAND

Ahora veamos un circuito secuencial.


Al diagrama de la figura 2.37 se le ha agregado una batera y witch, para simular
los valores de la entrada X. Algo semejante se pudo haber usado para generar la
seal de reloj (CLK) que se encarga de sincronizar los flip-flops, pero en su lugar
es mejor usar un Generador de Seales (Function Generator) tal como se puede
ver en la figura 2.55

Figura 2.55 Circuito con Generador de Seales

El Generador de Seales, es un instrumento que se usa para generar 3 tipos de


seales u ondas: Sinusoidal, triangular y cuadrada

44

Haciendo doble clic en el Generador de Seales aparecer una ventana que


permitir establecer la configuracin de ste. Aqu se puede seleccionar el tipo de
seal, frecuencia, amplitud, ciclo til y desplazamiento. Ver figura 2.56

Figura 2.56 Generador de Seales

2.11. Ejercicios resueltos y propuestos


2.11.1. Resueltos
a) Simplificar AB+A(CD+CD)
AB+A(C(D+D)
AB+A(C(1))
AB+AC
A(B+C)
b) Simplificar (AB(C+BD)+AB)C
(ABC+ABBD+AB)C
(ABC+AB)C
(A+A)BC
BC
c) Dada la funcin booleana: F=XYZ+XYZ+XYZ
i.
Listar la tabla de verdad
Los trminos que conforman la expresin booleana son los
valores de las variables para las cuales F es 1, por consiguiente:
Para XYZ=101, XYZ=001, XYZ=111 F=1 entonces:
X
0
0
0
0
1
1
1
1

ii.

Y
0
0
1
1
0
0
1
1

Z
0
1
0
1
0
1
0
1

F
0
1
0
0
0
1
0
1

Simplificar la expresin booleana


XYZ+XYZ+XYZ
(X+X)YZ+XYZ
(1)YZ+XYZ
YZ+XYZ
(Y+XY)Z
((Y+X)(Y+Y))Z
45

((Y+X)(1))Z
(Y+X)Z
YZ+XZ
iii.

Dibujar el diagrama lgico original y el simplificado

d) Simplificar la siguiente funcin usando mapas de Karnaugh


F(x,y,z)= (1,2,3,6,7)
La funcin original es: F=XYZ+XYZ+XYZ+XYZ+XYZ
Z
Z

XY
0
0
1
1

XY
2
1
3
1

XY
6
1
7
1

XY
4
0
5
0

La funcin simplificada quedar: F=XZ+Y


e) Simplificar la siguiente funcin usando mapas de Karnaugh
F(x,y,z)= (0,2,3,4,6)
La funcin original es: F=XYZ+XYZ+XYZ+XYZ+XYZ
Z

Z
0

XY
La funcin simplificada
1 quedar:
0
2

XY

F=Z+XY
6
XY

XY

f) En una cierta empresa los cuatro directivos se distribuyen las acciones


segn A=45%, B=30%, C=15% y D=10%. Disear una mquina de
escrutinio sabiendo que cada miembro tiene un porcentaje de voto
igual a su nmero de acciones y que para aprobar una mocin los votos
afirmativos deben superar el 50 %
Cada vez que A=1 se deber sumar 45% al resto de los votos, si B=1
se debe adicionar un 30% ms, si C=1 un 15% ms y si D=1 un 10%
ms. Si al final la suma de los porcentajes es mayor que 50% entonces
F=1. Con lo anterior se construye la tabla siguiente:
A

46

0
1
2
3
4
5
6
7

0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
0
0
0
0
1

8
9
10
11
12
13
14
15

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
1
1
1
1
1
1

La expresin booleana resultante es:


F=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD

Simplificndola ya sea por lgebra booleana o por mapas de karnaugh


quedara:
F=AB+AC+AD+BCD=A (B+C+D) + BCD
El diagrama lgico del dispositivo es:

g) Se desea gobernar un motor desde 4 interruptores: A,B,C y D de forma


que entre en funcionamiento si estn cerrados 3 y slo 3 de ellos.
1, 2, 4 y 8 son nmeros con 3 bits igual a 0, por lo tanto:
F(A,B,C,D)= (1,2,4,8)
Luego: F=ABCD+ABCD+ABCD+ABCD
Al no poderse simplificar el diagrama lgico queda:

47

h) Un circuito secuencial tiene 2 flip-flops D: A y B; 2 entradas X y Y, y


una salida Z. Las ecuaciones de entrada de los flip-flops y la salida del
circuito son como sigue: DA=XY+XA, DB=XB+XA y Z=B
i. Construir la tabla de estados.
Estado actual
A
B
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
Estado actual
A
B
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1

Entradas
x
y
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
Entradas
x
y
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1

Estado nuevo
A
B
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
Estado nuevo
A
B
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1

Salida
z
0
0
0
0
1
1
0
0
Salida
z
0
0
1
1
1
1
1
1

Con las ecuaciones de entrada se llena la tabla anterior, recordando


que DA es el nuevo estado del flip-flop A y D B del flip-flop B es
decir que: A=DA=XY+XA y B=DB=XB+XA
ii. Dibujar el diagrama lgico del circuito.

iii. Dibujar el diagrama de transicin de estados.


00/0
00/1
10/0
(10|11)/0
0
0

11/0
01/0

0
1

00/0

01/1

1
0

01/0

00/1
1
1

(10|11)/1

01/1
10/1

11/1

48

Donde el rotulado de las flechas significa: xy/z


i) Disee un contador binario de 2 bits usando flip-flop JK. El contador
debe tener una entrada X la cual cuando es 0 el contador es ascendente
y cuando X=1, descendente.
Como el contador es de 2 bits significa que se va a requerir de 2 flipflop y por consiguiente existirn 4 estados 00, 01, 10 y 11 que su vez se
correspondern con las salidas deseadas 0, 1, 2 y 3, es decir que no se
requiere de salida alguna ya que el estado o salida del flip-flop ser la
salida del contador
Primero disearemos el diagrama de estados de transicin
0
0
0

0
1

1
1

1
1

1
1

1
0

Luego, haciendo uso de la tabla de excitacin para flip-flop JK, la tabla


de estados
Estado actual
Q0
A
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

Entrada
X
0
1
0
1
0
1
0
1

Estado nuevo
Q1
A
B
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
0

FF-A
JA
0
1
1
0
?
?
?
?

KA
?
?
?
?
0
1
1
0

FF-B
JB
1
1
?
?
1
1
?
?

KB
?
?
1
1
?
?
1
1

Y mediante mapas de Karnaugh hallar JA, KA, JB y KB en funcin de A,


ByX
KA

JA=BX+BX

X
0

AB

AB

AB

AB

2
6
4

X
1

?
3

?
7

0
5

KA=BX+BX

JB=1

KB=1

49

Finalmente usando las ecuaciones booleanas diseamos el diagrama


lgico

2.11.2. Propuestos
a) Simplificar XZ + YZ + YZ + XY
b) Simplificar (A+B)(A+C)(B+C)
c) Dada la funcin boaleana: AC + BD + ACD + ABCD
i.
Listar la tabla de verdad
ii.
Simplificar la expresin booleana
iii.
Dibujar el diagrama lgico original y simplificado
d) Indicar, explicando su respuesta, cual de las siguientes igualdades es
correcta.
i.
a b + a c + c b = (a + b) ( a + c ) ( c + b )
ii.
(a + b + c )( a + b + c ) + a b = ( a b c + a b c) ( a + b )
iii.
a (a c) = a b a c
e) Simplificar la siguiente funcin usando mapas de Karnaugh
F=ABC+ABC+ABC+ABC+ABC
f) Se desea controlar dos motores M1 y M2 por medio de los contactos de
tres interruptores A, B y C, de forma que se cumplan las siguientes
condiciones:
i.
Si A est cerrado y los otros dos no, se activa M1.
ii.
Si C est cerrado y los otros dos no, se activa M2.
iii.
Si los tres interruptores estn cerrados se activan M1 y M2.
Para el resto de condiciones los motores estarn parados.
g) Disee un circuito lgico que tenga 4 entradas y una salida. Las 4
entradas son para ingresar un nmero de 4 bits y la salida debe ser 1
cuando el nmero sea mayor que 2 y menor que 8.
h) Disee un contador mdulo 8 (diagrama lgico y diagrama de estados)
con flip-flop tipo D.
i) Dado el siguiente diagrama de estados disee el diagrama lgico
usando flip-flops tipo JK

50

0
0
1

0
0

51

Você também pode gostar