Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ID
1
4
IC6
7448
A B C D
UA
o1 Q~
Q Q
9
a$ 43 n4 n4
IC
' .
v
z~
n,
cb4 oa
R2
10K
I1
B .R,
0 ' 9 9
(
A B
1 1
74
3V00072350
1 F
vcc
C-
q7
PROBLEMAS
DE CIRCUITOS
Y SISTEMAS DIGITALES
Carmen Baena Oliva
Manuel Jess Bellido Daz
Alberto Jess Molina Cantero
Mara del Pilar Parra Fernndez
Manuel Valencia Barrero
Departamento de Tecnologa Electrnica
Universidad de Sevilla
McGraw-Hill
MADRID BUENOS AIRES CARACAS GUATEMALA LISBOA MXICO
NUEVA YORK PANAM SAN JUAN SANTAF DE BOGOT SANTIAGO SO PAULO
AUCKLAND HAMBURGO LONDRES MILN MONTREAL NUEVA DELHI PARS
SAN FRANCISCO SIDNEY SINGAPUR ST . LOUIS TOKIO TORONTO
TABLA DE CONTENIDOS
PRLOGO
vi
1.
2.
3.
4.
5.
SUBSISTEMAS COMBINACIONALES
6.
CIRCUITOS ARITMTICOS
7.
8.
9.
SUBSISTEMAS SECUENCIALES
229
10 .
MEMORIAS SEMICONDUCTORAS
263
11 .
12 .
325
13
MISCELNEA
359
BIBLIOGRAFA
391
89
141
PRLOGO
Este ejemplar es un libro de problemas resueltos en el campo del Diseo Lgico . Como tal
libro de problemas ha sido concebido con la finalidad de ensear cmo se aplican los
conceptos y herramientas a casos concretos . Esto significa que nuestra atencin no se centra
en el desarrollo de la doctrina terica, sino en tratar de explicar cmo interpretar enunciados
de problemas ms o menos bien especificados y, empleando los conocimientos tericos
adquiridos por otras vas, resolver ese problema en particular y no otro . Como se ve, nuestros
objetivos primarios son potenciar las capacidades de aplicacin de la teora y la de resolucin
prctica de problemas .
En cuanto a la disciplina, el trmino Diseo Lgico alude a materias tan bien conocidas
como son los Circuitos y Sistemas Digitales o la Teora de Conmutacin . En ella se incluyen :
1) los fundamentos matemticos usuales (lgebra de Boole, representaciones binarias de nmeros y su aritmtica, codificacin binaria) ; 2) la presentacin, anlisis y diseo de circuitos
a nivel de conmutacin, tanto combinacionales como secuenciales ; y 3) la descripcin y realizacin de sistemas digitales a nivel de transferencias entre registros (RT), organizando el sistema como una unidad de procesado de datos y otra de control . Aunque claramente fuera del
contexto de este libro, las materias fronteras son, en el nivel inferior, el tratamiento elctrico
de las puertas lgicas y, en el nivel superior, la arquitectura de computadores, as como los sistemas multiprocesadores . La proliferacin de aplicaciones y el considerable aumento de la
complejidad experimentada por los circuitos digitales en los ltimos aos hacen inviable el cubrimiento completo de esta materia . Nuestro propsito ha sido desarrollar un conjunto de problemas que den soporte y fundamenten adecuadamente a todos los circuitos y tcnicas de Diseo Lgico .
Nuestro libro est pensado para un primer curso de Diseo Lgico, con aplicacin en
diversos estudios universitarios tales como Informtica (fundamentos del hardware) e Ingeniera Electrnica (realizacin de sistemas digitales) . Tambin es til en algunos campos cientficos, en concreto, los relacionados con la Teora de Conmutacin, la Teora de Autmatas y
la Aritmtica del Computador . Adems, al estar fuertemente enfocado a la resolucin de problemas, este texto tambin puede servir a profesionales que deseen realizar una puesta al da
vi
viii
rpida y eficiente en las realizaciones de circuitos y de sistemas digitales . El uso de este libro
no requiere conocimientos especficos previos ni en Electrnica, ni en Computadores, ni en
Matemticas avanzadas . Sin embargo, al ser un libro de problemas, el lector debe conocer a
nivel terico los conceptos, principios y tcnicas del diseo digital . En la actualidad hay disponibles suficientes libros que cubren satisfactoriamente los aspectos tericos de esta materia
(vanse las referencias que citamos) . A ellos deber acceder el lector para conocer los fundamentos tericos de este libro de problemas . No obstante, con el doble fin de resumir los conceptos ms importantes y de presentar la terminologa que utilizamos, en cada Captulo hay
una pequea presentacin terica . Adems, en los problemas que introducen materias, durante
su resolucin se detallan los nuevos aspectos tericos involucrados .
En la realizacin del libro hemos huido de los ejercicios puramente repetitivos, de los
excesivamente simples y de los de escasa entidad . Esto es debido a que, en nuestra experiencia,
es claramente preferible primar el nivel de profundidad de los problemas sobre la cantidad de
stos . Por otra parte y desde un punto de vista ms prctico, hemos establecido dos tipos de
ejercicios . En primer lugar hemos seleccionado un amplio conjunto de problemas para
resolverlos en detalle . Sobre ellos el lector aprender la metodologa de resolucin . Hemos
intentado que cada aspecto importante de la materia est cubierto por problemas bien
desarrollados . Posteriormente se presenta un segundo conjunto de problemas de los que slo
se ofrece la solucin final . Con ello se pretende que el lector se aventure en la resolucin de
stos y simplemente pueda comprobar la correccin de sus resultados .
La organizacin elegida obedece a un cubrimiento de la materia que va de abajo a arriba
(de forma similar a la metodologa "bottom-up"), avanzando desde lo ms simple a lo ms
complejo . En gran parte el material es autocontenido por lo que no se necesita ningn
prerrequisito .
Bsicamente la materia contenida en este libro de problemas est dividida en tres grandes bloques ms un Captulo final . El primero de los bloques (Captulos 1 al 6) corresponde a
circuitos combinacionales, el segundo (Captulos 7 al 10) a circuitos secuenciales y el ltimo
(Captulos 11 y 12), donde se aumenta significativamente la complejidad, a los sistemas digitales . Dentro de cada bloque hemos ordenado los problemas procurando ordenarlos para que
el lector pueda apoyarse en los ya realizados a la hora de abordar los que vengan a continuacin . As, cada bloque consta de varios Captulos, cada uno de los cuales contiene problemas
de una materia concreta . Los problemas de estos Captulos han sido desarrollados procurando
que el lector vaya aprendiendo a resolverlos dentro de esa materia . Por el contrario, el ltimo
Captulo est ideado con la finalidad de que el lector evale su nivel de conocimientos . Para
ello, por una parte, los problemas no se han ordenado segn la materia, de forma que el lector
no los site
a ms de una unidad temtica ; y, por ltimo, se presentan todos los enunciados juntos, cada
problema separado de su solucin, con el fin de que el lector tenga que ir a buscar explcitamente cada solucin .
PRLOGO
ix
Captulo 1
REPRESENTACIN Y CODIFICACIN BINARIA
Los circuitos digitales operan con dos niveles de seal, la mayora de las veces una tensin baja
y otra alta . Desde el punto de vista matemtico decimos que operan con seales binarias y los
dos niveles se representan mediante 0 y 1 . Toda la informacin que ha de procesar un sistema
digital ha de expresarse mediante combinaciones de esos dos valores . En consecuencia, hay
que describir cmo se representan los entes mediante 0 y 1 (codificacin binaria) y, ms especficamente, por ser esencial en el clculo, cmo se representan los nmeros .
REPRESENTACIN POSICIONAL DE MAGNITUDES
Un sistema numrico se caracteriza por sus smbolos bsicos ; estos son llamados dgitos, cada
uno de los cuales representa una determinada cantidad de unidades . A su vez, cada cantidad
puede expresarse mediante una secuencia de tales dgitos . En algunos sistemas la posicin ocupada por cada uno de los dgitos dentro de la secuencia est asociada a un valor determinado
(peso) . Decimos entonces que se trata de un sistema de representacin posicional .
Un sistema numrico de base r es un sistema posicional de representacin donde los
pesos de los dgitos son potencias de r. As, una magnitud M puede representarse en la base r
de la siguiente forma :
M = dn-1 d n_2 . . . d1 do . d_1 d-2 ... d_m (r
n-1
siendo d; un dgito de dicha base y cumplindose que d i e {0, 1, . . ., r-1} y M =
d . r1 .
j -m
Para realizar cambios entre distintas bases existen diversos mtodos . En este Captulo se
usan fundamentalmente los siguientes :
n -1
- Para cambiar de base r a base 10, se aplica la frmula : M =
Y,
r .
d.
j= -m
- Para cambiar de base 10 a base r, se utiliza el mtodo de las divisiones sucesivas para
obtener la parte entera y el mtodo de las multiplicaciones sucesivas para obtener la parte fraccionaria .
T
magnitud
La forma de representar los nmeros negativos es distinta para las tres notaciones :
- En la notacin signo magnitud b s se hace igual a 1 y el resto de bits representan de
nuevo la magnitud :
T
bit de signo
magnitud
0
1
2
3
4
5
6
7
cdigo
octal
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
cdigo
hexadecimal
0000
0001
0010
0011
0100
0101
0110
0111
8
9
A
B
C
D
E
F
cdigo
hexadecimal
0000
0001
0010
0011
0100
0101
0110
0111
Entre los cdigos ms utilizados se encuentran los llamados cdigos decimales . Estos
asignan a cada uno de los dgitos de la base 10 una palabra binaria . Con su utilizacin se evita
el proceso de conversin entre base 2 y base 10, aunque el nmero de bits precisado para expresar una cantidad es, en general, mayor . En la siguiente tabla se muestran algunos ejemplos :
dgito decimal
BCD natural
BCD exceso 3
2 de 5
7 segmentos
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
00011
00101
00110
01001
01010
01100
10001
10010
10100
11000
1111110
0110000
1101101
1111001
0110011
1011011
0011111
1110000
1111111
1110011
Otro cdigo de gran inters es el cdigo Gray (o cdigo reflejado) de n bits . En las
siguientes tablas se muestran los casos n = 3 y n = 4 . Puede observarse en ellas la particularidad
de que las palabras asignadas a dos nmeros consecutivos se diferencian nicamente en 1 bit .
Se trata por tanto de un cdigo con distancia unidad .
cdigo
Gray(n=3)
0
000
0
1
001
1
2
011
2
3
4
5
6
7
010
110
111
101
100
3
4
5
6
7
cdigo
cdigo
Gray(n=4) Gray(n=4)
0000
8
1100
0001
9
1101
0011
10
1111
0010
0110
0111
0101
0100
11
1110
12
1010
13
14
15
1011
1001
1000
Como ejemplo de cdigo alfanumrico, en este texto se usa el cdigo ASCII . Mediante
este cdigo de 7 bits es posible codificar las 26 letras del alfabeto, tanto maysculas como minsculas, los 10 dgitos decimales, caracteres como <, @ , secuencias de control como ESC,
NULL, etc . A continuacin se muestran algunos ejemplos :
smbolo
cdigo ASCII
smbolo
cdigo ASCII
A
B
a
b
0
1000001
1000010
1100001
1100010
0110000
0110001
0111100
1000000
0011011
0000000
ESC
NULL
A cualquiera de los cdigos anteriores se les puede aadir un bit de paridad . El valor de
dicho bit se asigna de forma que el nmero total de unos en la palabra sea par (hablamos
entonces de bit de paridad par) o impar (hablamos entonces de bit de paridad impar) .
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias :
- Representacin posicional de magnitudes .
- Conversin entre bases .
- Codificacin binaria .
- Nmeros con signo .
- Nmeros fraccionarios en punto flotante .
PROBLEMAS RESUELTOS
Problema 1 .- Recientemente se ha rescatado una extrasima nave espacial que provena
de los confines de la constelacin Ophiocus . Tras mltiples esfuerzos, nuestros cientficos
han logrado deducir algunos datos sobre la civilizacin que la construy . En vez de dos
brazos, sus criaturas posean uno slo que terminaba en una "mano" con un nmero 8 de
n-1
senta a una magnitud M si se cumple que M
d . B~ .
_ -M
Aplicando dicha frmula a los coeficientes de la ecuacin : 5, 50 y 125, obtenemos la
siguiente :
con di =0,12 .
do d i
d2
d3
"r unidades"
en base
r se
representa 10 (r
t
11
do d i
`I '
C_2
1
0
1
v v
d2
d3
d4
2 = 1 .5
2 = 1 .0
La parte entera, en esta ocasin, nos da el bit d_ 2 . Como la parte fraccionaria es 0, todas
las siguientes multiplicaciones daran como resultado 0 y, por tanto, el resto de los bits
(d_ 3 , d_4 , . . .) son iguales a 0 .
Por tanto :
Para base 5 :
0 .75
6 = 4 .5 - d_ 1 = 4
0 .5 . 6=3 .0 -4d_3=3,d_4=0=d_5= . . .
por tanto, 23 .75 (10 = 35 .43 6
Para base 8 :
0 .75
8 = 6 .0 - d_, = 6, d_ 2 = 0 = d_ 3 = . . .
Para base 16 :
expresin
M =
n-1
E d . r1
j = -m
a) 100 .111010 (2 = 1 2 2 + 1 2 -1 + 1 2 -2 + 1 2-3 + 1
2-5
= 4 .90625 (1 0
16 3 + 9 16 2 + 8 16 1 + 15 160 = 6543(, 0
Problema 5.-Se cuenta que un rey, encantado con el juego, ofreci al inventor del ajedrez el
premio que desease . El inventor slo pidi 1 grano de arroz por la primera casilla del tablero,
2 granos por la segunda, 4 por la tercera y as, el doble cada vez, hasta llegar a la ltima casilla (la nmero 64) . Los matemticos del reino concluyeron que no haba arroz suficiente para
pagar al inventor. Sabra decir cuntos granos de arroz se necesitaban?
Solucin P5.-La cantidad pedida M es, en base 2, el nmero compuesto por 64 unos :
63
M=1 1 . . .1 1 1 1 ya que en ese caso M=1 20 +1 2 1 +1 2 2 + . . .+1 2
Esta cantidad es una unidad menos que la representada por un 1 seguido de 64 ceros .
19
Entonces :
M = 264 - 1 = 1 .844674407 x 10
Problema 6.- Cuntos bits son necesarios como mnimo para representar cada uno de los
siguientes nmeros decimales?
50, 1000, 5000, 100000 y 1000000.
Solucin P6 .- Para calcular el nmero mnimo n de bits que representa la magnitud M, tengamos en cuenta que n ha de cumplir la siguiente desigualdad :
2n-1-1 <M<-2 n -1
El valor de n puede deducirse de dos formas :
1) A partir de la expresin n = r 192 (M + 1)1
de x .
2) Por bsqueda en la tabla de potencias de 2 .
50
1000
5000
100000
1000000
6
10
13
17
20
1 1 2 3 0 3 . 2 3 0 (4
2 6 6
3.
5 4 (8
3.
0 (16
Para pasar de bases 4, 8 16 a base 2, se hace la descomposicin inversa . Por otra parte,
la conversin entre las bases 4 y 16 tambin se realiza de la misma forma . Sin embargo, para
pasar de base 8 a base 4 16, o viceversa, conviene pasar antes a base 2 .
Por tanto :
372 .105 (8 = 011 111010 . 001 000 101 (2 = 3322 .020224 = FA .228( 16
F0.A( 16 = 11110000- 1010(2 = 3300 .22 (4 = 360 .50 (8
Problema 8.-En la colonia humana de Ganimedes la energa se obtiene con pilas atmicas
de exactamente 1 Kg de peso . Las pilas son enviadas desde Tritn en 6 cajas de 50 pilas cada
una .
a) Tras un envo se avisa a Ganimedes que, por error, una de las cajas contiene pilas
malas con 1 g de menos. Deben detectarla y reenviarla a Tritn . Los operadores de Ganimedes deciden detectarla mediante una sola pesada . Cmo?
b) Tiempo despus y tras otro envo, el aviso es que una o ms cajas contienen pilas
malas con 1 g de menos . Cmo podrn ahora detectar las cajas errneas con slo una
pesada?
Solucin P8.
a) Identifiquemos cada una de las seis cajas con una letra : caja A, caja B, caja C, caja D,
caja E y caja F . Si pesamos 1 pila de la caja A, 2 de B, 3 de C, 4 de D, 5 de E y 6 de F, la
cantidad de gramos que falten para un nmero entero de Kg indica la caja errnea .
b) En este caso ser necesario tomar 1 pila de A, 2 de B, 4 de C, 8 de D, 16 de E y
32 de F . Con esto, el nmero de gramos que faltan para un nmero entero de Kg representados
en base 2 indica las cajas errneas . Por ejemplo, supongamos que las cajas errneas son A, B,
D y F : entonces, faltarn 1 + 2 + 8 + 32 = 43 g . El nmero 43 expresado en binario es : 101011
lo que sealara a las cajas F - D - B A .
Problema 9 .- La figura representa 6 cartas con las que se pretende hacer un juego de magia .
Alguien debe pensar un nmero y, sin decir cul es, debe indicar las cartas donde el numero
est presente . Conociendo slo esto, se podr adivinar el nmero pensado . Por ejemplo, si
est en las tarjetas A, D, F y G, se trata del nmero 75 . Sabiendo que el juego se basa en la
representacin binaria de magnitudes :
a) Explquelo .
b) Cmo lo cambiara si quiere incluir hasta el nmero 123? Ysi incluye hasta el200?
~45671213 "\~
14 15 20 21 22 23
28 29 30 31 36 37
38 39 44 45 46 47
52 53 54 55 60 61
626368697071
76 77 78 79 84 85
86 87 92 93 94 95
6 17 18 19 20 21 1 ,11 8 9 10 11 12 13
14 15 24 25 26 27
22 23 24 25 26 27
28
29 30 31 40 41
28 29 30 3148 49
42
43 44 45 46 47
50 51 52 53 54 55
56
57
58 59 60 61
565758596061
62
63
72 73 74 75
62 63 80 81 82 83
76
77
78 79 88 89
84 85 86 87 88 89
90
91
92 93 94 95~
90 91 92 93 94 95
%23671011
14 15 18 19 22 23
26 27 30 31 34 35
38 39 42 43 46 47
50 51 54 55 58 59
626366677071
74 75 78 79 82 83
86 87 90 91 94 95
98 99
13
25
37
49
61
73
85
1357911
15 17 19 21
27 29 31 33
39 41 43 45
51 53 55 57
63 65 67 69
75 77 79 81
87 89 91 93
97 99
23
35
47
59
71
83
95
Solucin P9.
a) El mayor nmero, el 99, se representa en binario con 7 bits, concretamente como
99 (2 = 1100011 .
De aqu que haya 7 tarjetas (A, B, C, . . ., G) cada una encabezada por una potencia de 2
(2 6 = 64 para A, 25 = 32 para B, 2 4 = 16 para C, etc) . El resto de nmeros en cada tarjeta son
aquellos cuya representacin en base 2 contiene un 1 en la posicin de la potencia correspondiente a la tarjeta . As el 99 estar en las tarjetas A, B, F y G pero no en las otras . El nmero
75 (= 64 + 8 + 2 + 1) estar slo en las tarjetas A, D, F y G ; etc .
b) El 123 precisa tambin 7 bits por lo que no hay que aumentar el nmero de tarjetas .
A cada una de stas habra que incorporar los nuevos nmeros (del 100 al 123) de la forma
explicada antes ; por ejemplo : el 111 (10 = 1101111 (2 se incorporara a A, B, D, E, F y G .
10
Para aadir hasta el 200 se necesitara una nueva tarjeta encabezada por 128 = 27 , ya que
para representar nmeros mayores de 128 se precisan 8 bits .
4 5
(eje de simetra)
b) y c) Para representar tanto los diez nmeros del 0 al 9, como los 16 nmeros del 0 al
15 se necesitan 4 bits, con lo que el cdigo Gray a utilizar es el de 4 bits . Al ser un cdigo reflejado, para asignar valores del cdigo a los diez nmeros (0-9) lo haremos con los 10 cdigos
centrales, tal como se muestra . En la codificacin de los 16 nmeros (0-15) ocupamos los 16
cdigos existentes .
0
1
1
4
2
5
4
7
10
11
12
13
14
15
(eje de simetra)
d) El cdigo ASCII consta de 7 bits y representa 26 letras minsculas, 26 letras maysculas, 10 dgitos decimales, 32 caracteres especiales y 34 comandos . La codificacin procede
de un convenio y, en concreto, el cdigo del 6 es 0110110 que, expresado en cdigo hexadecimal, es $36 .
e) Para un cdigo de n bits, incluir la paridad supone aadir 1 bit adicional a los n anteriores que se llama bit de paridad . Su fin es hacer que el nmero total de unos en el cdigo
11
(ahora de n + 1 bits) sea par en el caso de paridad par o impar en el caso de paridad impar .
La posicin del bit de paridad es convenida previamente ; por ejemplo, ponemos el bit
de paridad en primer lugar .
El cdigo ASCII de paridad par para el 6 ser 00110110 (aadimos un 0 para tener un
total de cuatro unos) . En hexadecimal ser $36 .
f) El cdigo ASCII de paridad impar para el 6 ser 10110110 (aadimos un 1 para tener
un total de cinco unos) . En hexadecimal, $B6 .
g) El cdigo 2-out-of-5 representa los 10 dgitos decimales mediante 5 bits de los que
tres son 0 y dos son 1 . La codificacin es la mostrada a continuacin :
nmero
cdigo
0
1
2
00011
00101
00110
01001
01010
01100
10001
10010
10100
11000
3
4
5
6
7
8
9
Problema 11 .- Determine el bit de paridad impar para cada uno de los 10 dgitos decimales
en el cdigo 8, 4, -2, -1 .
Solucin P11 .-En la siguiente tabla, se muestra la codificacin para cada dgito decimal en el
cdigo pesado 8, 4, -2, -1, junto con el bit de paridad que hay que generar para que en cada
dgito haya un nmero impar de 1 .
dgito
84-2-1
0
1
2
3
4
5
6
7
8
9
0000
0111
0110
0101
0100
1011
1010
1001
1000
1111
1
0
1
1
0
0
1
1
0
1
12
compl . a 1
compl . a 2
1010101
0111000
0000001
10000
00000
0101010
1000111
1111110
01111
11111
0101011
1001000
1111111
10000
00000
compl . a 9
compl . a 10
13579
09900
90090
10000
00000
86420
90099
09909
89999
99999
86421
90100
09910
90000
00000
Problema 14.- Represente con el mnimo nmero de bits posibles los siguientes nmeros decimales en notacin binaria, signo-magnitud, complemento a 1 y complemento a 2 :
a) 122, b) 64 ; c) 15; d) 37
Solucin P14 .- La representacin binaria con n bits permite representar los nmeros comprendidos entre 0 y 2 n-1 , siendo una representacin sin signo . Esto es, no podemos representar +N
ni -N sino slo N . En particular, operando como en el problema 2 :
a) 122 = 1111010 (2
b) 64 = 1000000(2
c) 15 = 1111(2
d) 37 = 100101(2
13
La representacin signo-magnitud aade un bit de signo (0 para + y 1 para -) a la representacin binaria de la magnitud, situando ese bit de signo en la posicin ms significativa.
Entonces, con n bits pueden representarse todos los nmeros enteros comprendidos entre
- (2 n-1 - 1) y + (2n-1 -1) . En particular,
a)+122=01111010
-122=11111010
b) + 64 = 01000000
- 64 = 11000000
c)+15=01111
-15=11111
d)+37=0100101
-37=1100101
La representacin complemento a 1 sigue el siguiente convenio :
- Un nmero positivo se representa igual que en signo-magnitud .
- Un nmero negativo se representa complementando a 1 el correspondiente nmero
positivo . Con n bits pueden representarse todos los nmeros enteros comprendidos entre
- (2 n-1 - 1) y + (2 n-1 - 1) . En particular,
a) + 122 = 01111010
- 122 = 10000101
b) + 64 = 01000000
- 64 = 10111111
c)+15=01111
-15=10000
d)+37=0100101
-37=1011010
La representacin en complemento a 2 sigue el siguiente convenio :
- Un nmero positivo se representa como en los casos anteriores .
- Un nmero negativo se representa mediante el complemento a 2 del correspondiente
n-1
nmero positivo . Con n bits pueden representarse los 2 n nmeros comprendidos entre - 2
y + (2 n- -1) . En nuestro caso,
a) + 122 = 01111010
b) + 64 = 01000000
- 122 = 10000110
- 64 = 1000000
-15=10001
-37=1011011
c)+15=01111
d)+37=0100101
Problema 15 .- Se dispone de palabras de 10 bits . Sobre ellas se escriben nmeros fraccionarios en punto fijo dedicando 3 bits a la parte fraccionaria . Represente los siguientes nmeros en las notaciones signo-magnitud, complemento a 1 y complemento a 2, en los dos casos
siguientes : a) Redondeando el valor; b) Truncando el valor .
Nota: Para los nmeros negativos, obtenga primero el valor de la magnitud y, despus, aplique la notacin .
1)+27.625
3)+33.3
5)+45.67
7)+45 .7
2)-27.625
4)-33.3
6)-45.67
8)-45 .7
Solucin P15 .
14
Problema 16.- Se dispone de 30 bits para escribir nmeros en notacin exponencial . De ellos
se destinan 21 a la mantisa y 9 al exponente . Mantisa y exponente se escriben en notacin
signo-magnitud.
a) Determine los rangos de valores decimales que se pueden escribir .
b) Represente en BCD los siguientes nmeros :
1 . Velocidad de la luz en mis (3x10 8).
2. Carga del electrn en culombios (- 1,602x10 -19) .
-31) .
3. Masa del electrn en kilogramos (9,109x10
4 . Aceleracin de la gravedad en mis 2 (9,807) .
5. Cero.
6. Infinito .
Solucin P16 .- En notacin exponencial los nmeros se expresan en la forma : M = m x be (m
mantisa, b base, e exponente) . En nuestro caso, hay que representar las cantidades pedidas en
BCD . Por tanto la base es decimal . Cada dgito BCD es codificado por 4 bits . Disponemos de
21 bits para la mantisa de los cuales uno es para el signo, los otros 20 bits nos permiten almacenar 5 dgitos BCD . En cuanto a la parte fraccionaria, tenemos 9 bits, uno para el signo y 8
para dos dgitos BCD . Por tanto, el espacio disponible se distribuye de la siguiente forma :
mantisa
Sm
exponente
Se
Utilizaremos normalizacin fraccionaria, es decir, el punto decimal se encuentra a la iz-
quierda del primer dgito representado y ese primer dgito ha de ser no nulo .
a) El rango de valores positivos que se puede representar viene dado por el menor nmero representable : mantisa + 10000 y exponente - 99 que corresponde al 0 .1 x 10 -99 , y el
99
mayor representable : mantisa + 99999 y exponente + 99 que corresponde al 0 .99999 x 10
Por tanto el rango cubierto es [0 .1 x 10-99 , 0 .99999 x 1099 ] .
-99 ]
En cuanto al rango de valores negativos, ser [- 0 .99999 x 1099 , - 0 .1 X 10
15
0011100001000010000 0000
010000 1001
mantisa
exponente
-18
2) - 1 .602 x 10-19 , normalizado - - 0 .1602 x 10
, los 30 bits sern :
1 0001101101000010010_ 0000
1100011 1000
0011 0000
000010001
5) Por convenio, cero, es el nico nmero con el primer dgito de la mantisa a 0 . (Normalmente se ponen todos los dgitos de la mantisa y el exponente a 0, pero bastara slo con
fijar a cero el primer dgito de la mantisa) .
xl00001xxxxlxxxxlxxxxlxxxx
xlxxxx xxxx1
6) Infinito . Con signo positivo, por convenio viene dado por el mayor nmero representable . Con signo negativo, ser el menor representable :
+ infinito
- infinito
011001 1001
101100111001
exponente
16
Problema 18.- Represente los siguientes nmeros decimales en base 2 y compruebe el resultado : a) 17,, b) 94 .
Solucin P18 .
a) 17(10 = 10001(2 b) 94 (10 = 1011110(2 .
Problema 19.- Pase los siguientes cdigos hexadecimales a cdigo binario, octal y BCD : a)
$F2.85; b) $B02.A ; c) $25.FA ; d) $71 .02.
Solucin P19 .- El cdigo BCD corresponde a la representacin binaria de un nmero decimal .
Esta se obtiene asociando a cada dgito decimal su representacin binaria de 4 bits . Para pasar
un nmero desde una determinada base a BCD, deber obtenerse en primer lugar el nmero en
base 10, y despus hacer la conversin antes indicada .
a) $F2 .B5 = 1111 0010 .1011 0101(2 = 011 110 010 .101 101 010( 2 = 362.552( 8 . Para
representarlo en BCD pasamos a base 10 :
$F2 .B5 = F x 16 + 2 x 160 + 11 x 16 -1 + 5 x 16 -2 = 242 .70(10 _3 0010 0100 0010 .0111 (BCD)
Procedemos de igual forma con el resto de los casos :
b) $B02 .A = 1011 0000 0010 .1010 (2 = 5402 .5 ( 8 = 2818 .625 ( 10
= 0010 1000 0001 1000 .0110 0010 0101 (BCD) .
c) $25 .FA = 0010 0101 .1111 1010 (2 = 45 .764 ( 8 = 37 .977(10
= 0011 0111 .1001 0111 0111 (BCD)
d) $71 .02 = 0111000 1 .0000 0010 (2 = 161 .004(8 = 113 .007(10 =
= 000 1000 100 11 .0000 0000 0111 (BCD)
17
Problema 20.- Represente el nmero decimal 8620 (a) en BCD, (b) en cdigo exceso 3,
(c) en cdigo 2, 4, 2, 1 y (d) como nmero binario .
Solucin P20 .
a) 8620(10 3 1000 0110 0010 0000 (BC p) .
b) 8620 (10 -3 1011 1001 0101 001 1 (exceso-3)
c) El cdigo 2,4,2,1 es un cdigo pesado de 4 bits cuyos pesos son precisamente 2,4,2,1 .
dgito
decimal
Pesos :
2421
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
Problema 21 .- Un cdigo binario usa 10 bits para representar cada uno de los diez dgitos
decimales . A cada dgito le asigna un cdigo de nueve ceros y un uno . El cdigo binario para
el nmero 6, por ejemplo, es 0001000000. Determine el cdigo binario para los nmeros decimales restantes .
Solucin P21 .- Se trata del cdigo "1-hot", tambin llamado "1-out-of-n" . En este caso n = 10 .
dgito
bg b 8 b 7 b6 b 5 b 4b3 b2b l bo
0
1
0000000001
0000000010
2
3
4
5
6
7
8
9
0000000100
0000001000
0000010000
0000100000
0001000000
0010000000
0100000000
1000000000
18
Problema 22.- Obtenga un cdigo binario pesado para los dgitos de la base 12 usando los
pesos 5421 .
Solucin P22.
dgito
5421
dgito
5421
0
1
2
3
4
5
0000
0001
0010
0011
0100
1000
6
7
8
9
A
B
1001
1010
1011
1100
1101
1110
Problema 23.- Determine el rango de valores numricos que pueden escribirse en palabras
de 8, 16 y 32 bits, en las diferentes notaciones de nmeros enteros con signo .
Solucin P23 .- Con n bits se representan los siguientes rangos :
n-1 - 1)]
- Signo-magnitud : [- (2n-1 - 1), + (2
- Complemento a 1 : [- (2n-1 - 1), + (2 n-1 - 1)]
- Complemento a 2 : [- 2 n-1 , + (2n-1 - 1)]
Entonces para los valores de n propuestos :
n 2 de bits
8
16
32
signo-magnitud y
complemento a 1
complemento a 2
[- 127,+ 127]
[- 32767, + 32767]
[- (231- 1) + (2
31- 1 )]
[- 128,+ 127]
[- 32768, + 32767]
231,+
(2 31- 1)]
1-
Problema 24.- Un registro de 30 bits almacena un nmero decimal en punto flotante representado en BCD. Los coeficientes ocupan 21 bits del registro y se asume como un entero normalizado . Los nmeros en el coeficiente y el exponente se asumen representados en forma
de signo-magnitud. Cules son las cantidades mayores y menores que pueden ser acomodadas excluyendo el cero? . Repita para representacin binaria, con base 2, si se representa
con fraccin normalizada .
Solucin P24 .
BCD normalizado entero,
99
- Cantidad mayor positiva : 99999 x 10
10 -95
-Cantidad menor positiva : 10000 x 10-99 =
Base 2 fraccin normalizada,
11111111 = (1 -2 -21) x 2 255 .
- Cantidad mayor positiva : 0 .111 . . .111 x 2
2-1
-255 =2 -256
- Cantidad menor positiva : 0 .100 . . .000x2-11111111 =
x2
Captulo 2
0 1
0 0
0 1
OR
AND
El lgebra de conmutacin cumple los postulados del lgebra de Boole . De ah que podamos decir que la primera es un caso particular de la segunda . Los postulados del lgebra de
Boole son los siguientes :
P1 . Ley de identidad : Existen elementos identidad (0 para la operacin "+" y 1 para la
operacin " ") de forma que para cualquier elemento x, se cumple :
x+0=x
x 1=*
P2. Ley conmutativa : Para cualesquiera dos elementos x e y, se cumple :
x+y=y+x
x .y=y .x
P3 . Ley distributiva : Dados tres elementos x, y, z se cumple :
x+(y .z)=(x+y) .(x+z)
x . (y+z)=x .y+x .z
19
20
P4 . Ley del complemento : Para todo elemento x existe un elemento x tal que:
x+x= 1
x x=0
A partir de estos postulados es posible probar una serie de propiedades de inters . Estas
propiedades, que aqu simplemente se enumeran, son demostradas en el problema 1 para el
caso general del lgebra de Boole y probadas en el problema 2 para el lgebra de conmutacin .
TI . Ley de idempotencia :
x + x = x
x x = x
T2 . Ley de unicidad del complemento : el elemento x del postulado cuarto es nico .
T3 . Ley de los elementos dominantes :
x + 1 = 1
x 0 = 0
T4 . Ley involutiva :
(x) = x
T5 . Ley de absorcin : x + x y = x
T6 . Ley del consenso : x + x y = x + y
T7 . Ley asociativa :
x (y z) _ (x y)
T8 . Ley de DeMorgan :
xy=x+y
T9 . Ley de De Morgan generalizada :
T10. Ley del consenso generalizado :
x (x + y) = x
x (x + y) = x y
z
x + (y + z) = (x + y) + z
x +y=x y
x y z ... = x + y + z + .. .
x + y + z . . .= x y z . . .
x y + x z + y z = x y +x z
(x+y) ( x+z) ( y+z)=(x+ y) (x+z)
FUNCIONES DE CONMUTACIN
Son funciones que se definen sobre el conjunto B = (0, 1 } del lgebra de conmutacin . Estricf: Bx . . . xBxB = Bn -4 B .
tamente se definen como :
As una funcin de n variables asigna un valor o imagen de B (0 1) a cada punto del
espacio B ' : (x 1 ,x 2 , . . .,x,) . Por ejemplo, una funcin de tres variables : f(x, y, z) se puede definir
de la siguiente forma: f(0,0,0) = 0, f(0,0,1) = 1, f(0,1,0) = 0, f(0,1,1) = 1, f(1,0,0) = 0,
f(1,0,1) = 0, f(1,1,0) = 1, f (1,1,1) = 1 . A veces no todas las combinaciones de las variables tienen imagen, decimos entonces que la funcin es incompleta o que est incompletamente especificada. Cuando esto sucede, por ejemplo, en la combinacin (x 0 ,Y 0 ,z0) lo simbolizamos de
la siguiente forma : f(x0,y o,z 0 ) = d f(x 0 ,Y 0,z 0) = -, donde los smbolos "-" y "d" (don't care)
son llamadas inespecificaciones o indeterminaciones .
REPRESENTACIN DE FUNCIONES
Existen diversos modos de representar las funciones de conmutacin . Algunas formas utilizan
tablas o mapas (modos grficos) . Otras, consisten en expresiones algebraicas . A continuacin
daremos algunos detalles sobre las formas de representacin utilizadas en este texto .
- Tablas de verdad.
En una tabla se representan dos columnas . En la primera de ellas se escriben todas las
combinaciones de las variables de entrada en orden binario . En la otra columna se anota el valor que toma la funcin para cada combinacin de las variables de entrada . A continuacin se
muestra un ejemplo para una funcin de tres variables . Ntese que para n variables se necesitara una tabla de 2n filas . As, este tipo de representacin es ms interesante para funciones de
un nmero reducido de variables .
xyz
21
000
001
010
011
100
101
110
111
Mapa de Karnaugh .
Es tambin una forma grfica . Las variables de la funcin se dividen en dos grupos . Uno
de ellos se sita en el eje horizontal de una tabla y el otro en el eje vertical . Las combinaciones
de cada grupo de variables se escriben en el orden del cdigo Gray . As, disponemos de una
cuadrcula en cuyas celdas se anota el valor de la funcin para la combinacin de las variables
asignada . La propiedad principal es que dos celdas geomtricamente adyacentes tambin corresponden a cdigos lgicos adyacentes . En el ejemplo se muestra un mapa para una funcin
de 4 variables . En los problemas aparecen ejemplos para 5 variables . Al igual que en el caso
de las tablas de verdad, este tipo de representacin aumenta su tamao de forma potencial con
el nmero de variables . Si el orden en que se escriben los valores de las variables es el binario
natural, el mapa es denominado binario .
-
ab
c
11
10
00 0
01
11
10
- Expresiones o frmulas .
En este caso se utiliza una expresin algebraica para representar las funciones . Se
combinan las variables con los operadores NOT I , AND 2 y OR . Aquellas combinaciones de las
variables que hagan 1 ( 0) la expresin sern las combinaciones en que la funcin es 1 ( 0) .
Algunos tipos de frmulas son de un inters particular . Entre las ms destacables estn
las formas cannicas y estndares . Tanto unas como otras tienen en comn que son frmulas
compuestas nicamente por suma de productos, o bien, nicamente por producto de sumas . En
las formas cannicas, adems, se cumple que los productos son siempre mintrminos y las suNOT(x) = x.
2 El smbolo del operador AND ( ) puede omitirse: a b = a b .
1
22
mas son maxtrminos . Tenemos as que las formas cannicas son sumas de mintrminos o producto de maxtrminos . A continuacin se muestra para la funcin de cuatro variables del ejemplo anterior expresiones en forma cannica y estndar tanto de sumas como de productos .
- Suma de mintrminos :
f(a,b,c,d)=abcd+abcd+abcd+abcd+abcd+abcd+abcd=
=m1+m5+m6+m10+m11+m14+m15=E(1,5,6, 10, 11, 14, 15) .
Producto
de maxtrminos :
f(a,b,c,d)=(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)
(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)=
= M0 M2 M3 M4 M7 M8 M9 M12 M13 = IT (0, 2, 3, 4, 7, 8, 9, 12, 13) .
- Suma de productos :
f(a,b,c,d)=acd+ac+bcd .
- Producto de sumas :
f(a, b, c, d) = (c + d) ( + c) (a + c + d) (a + b + c).
Mientras que las dos primeras formas son nicas para cada funcin (cannicas), las dos
siguientes (es- tndares) no lo son, pero presentan una mayor simplicidad .
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias :
- Demostracin de teoremas e identidades .
- Manejo de expresiones lgicas .
- Representacin mediante tablas, mapas y formas cannicas y estndares .
PROBLEMAS RESUELTOS
Problema 1 .- Demuestre los teoremas booleanos en base a la definicin del lgebra .
Solucin P1 .-Nos basaremos en los postulados del lgebra de Boole :
P1 . Identidad :
x+ 0= x
x- 1= 1
P2 . Conmutativa :
x+ y= y+ x
x y= y . X
x (y + z) = x y + x z
P3 . Distributiva :
x + (y - z) = (x + y) - (x + z)
0
P4 . Complemento :
x+
1
x
Los teoremas y sus demostraciones se relacionan a continuacin .
T1 . Idempotencia :
x+ x= x
x x= x
1
=(x+x)(x+x)=x+xx=x+0=x
x+x=(x+x)
x-x=x-x+0=x-x+x-x=x-(x+x)=x- 1 =x
Hemos aplicado los postulados PI, P4, P3, P4 y P1, en ese orden .
da e B, 3' a' E B 1 a'=
T2 . Unicidad del complemento :
Si existieran dos complementos, al y a2 se cumpliran las siguientes igualdades (por P4) :
a .a2 =0
a+a 1 =1 a+a 2 =1 a .a1=0
Entonces :
al =al 1=a1 ( a+a2),=a1 -a+ al a2=0+a1 a 2=a a 2+a1 a2=
=(a+al)-a2=1 a 2=a2
x=
x=
23
Se han aplicado los postulados P1, P4, P3, P2, P4, P3 y P1, en ese orden .
x 0= 0
T3 . Elementos dominantes : x + 1= 1
x+x)=
x +1 x_= x+x=1
x+1=(x+1) 1 =(x +1) (
x 0 =x 0 +0=x 0 +x x =x(O+x)=x x =0
Los postulados utilizados son P1, P4, P3, P2, Pl y P4 .
T4 . Lev involutiva: (x) = x
a
=a
a+b (
.b+a=a
a [ b+(a+c)]=a b +a ( a+c)=a
donde hemos utilizado P3 y T5 .
L3 . a=a+b (c a )
a=a [ b+(c+a)]
por P2 y L2.
Ahora demostremos la ley asociativa :
(por L2, L3 y L1)
x (y z) = [x + z (x y)] ([y + z (x y)] [z + z (x y)]) _
(porP3)
=[x+z .(x .y)] .(y z +z .(x y ))=
(aqu tambin hemos aplicado P3)
= x (y z) + z (x y) =
(esto, por P2)
= z (x y) + x (y z) =
(donde hemos aplicado P3)
= [z + x (y z)] [x y + x (y z)] =
(por L3)
= z . [x y + x (y z)] =
(porP3)
= z [x + x (y z)] [y + x (y z)] =
z
(por
LI,
L2
y
finalmente P2) .
= z (x y) = (x y)
Luego, hemos probado x (y z) = (x y) z
Por otra parte,
x+(y+z)=x [z+(x+y)]+(y [ z+(x+y)]+z [z + (x + y)]) = (porL2, L3 y LI)
= x [z + (x + y)] + (y + z) [z + (x + y)] = (por P3)
_ [x + (y + z)] [z + (x + y)] = (aqu tambin hemos aplicado P3)
= [z + (x + y)] [x + (y + z)] = (esto, por P2)
y OR (+) en el lgebra de
(x+z)
(
(x+z)
(x+y)
(y+z)=(x+y)
y+z+0)= (P1)
=(x+y) ( x+z) ( y+z+x x) =
(P4)
=(x+y) ( x+z) ( y+z+x) ( y+z+ x)=
(P3)
=(x+y) x+y+z) x+z) x+z+y)=
(P2)
= (x + y) (x + z)
(T5)
yz
yz
yz .
z z y z z1
y z z(
z zx zx
Problema 2.- Demuestre los teoremas booleanos en el lgebra de conmutacin comprobando su validez mediante tablas de verdad .
Solucin P2 .- A partir de la definicin de las operaciones AND ( )
conmutacin, comprobaremos :
- Idempotencia :
x = x + x,
x = x x;
- Elementos dominantes :
x + 1 = 1, x 0 = 0 ;
25
- Involutiva :
x = x;
- Absorcin :
x (x + y) = x ;
x + x y = x,
- Consenso :
x (x + y) = x y ;
x + x y = x + y,
- Asociativa:
(x + y) + z = x + (y + z),
(x y) z = x (y z) ;
-LeyDeDeMorgan : xy=x+y,
x+y=xy .
En las dos tablas siguientes podemos ver la comprobacin de todos los teoremas excepto
el de la ley asociativa que se prueba a continuacin .
x y
x+x
xx
x+1
x0
p(donde p=x)
x+xy
x(x+y)
0 0
0
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
x y
x+xy
x+y
x(x+y)
xy
xy
x+y
x+y
xy
0 0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
0
0
0
x+y
(x+y)+z
y+z
x+(y+z)
xy
(xy)z
yz
x(yz)
000
001
010
011
100
101
110
111
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
26
xz
+ y z = x y+ x
b)x(x+y)+z+zy=y+z
c)xy+xyz=xy+z
d)w+wx+yz=w(y+z)
e)w[x+y(z+w)]=w+xy+xz
f) (w+x+ y)
(w+x+y)
Solucin P4 .
a)xy+xz+yz=xy+xz+(x+x)yz=xy+xz+xyz+xyz=
=xy+xyz+xz+xzy=xy(1+z)+xz(1+y)=xy+xz
donde hemos aplicado P4, P3, P2, P3, T3 y P1
b)x(x+y)+z+zy=xy+z+y=y+yx+z=y+zporT6,P2yT5
(por la ley del consenso : u + u z = u + z donde u = x y)
c) x y + xyz = x y + z
porT5yT8
d)w+wx+yz=w+yz=wyz=w(y+z)
e)w[x+y(z+w)]=w+x+y(z+w)=w+xy(z+w)=w+x(y+z+w)=
por T8yT6
=w+xy+xzw=w+xy+xz
fl(w+x+y)(w+x+y)(y+ z) (w+z)= [(w+y)+xx](y+z)(w+z)=
por P2,P3,P4,PlyT10 .
=(w+y)(y+z)(w+z)=(w+y) (y+z)
Problema 5.- Reduzca las siguientes expresiones del lgebra de Boole al nmero de literales
solicitado al lado de cada una de ellas .
a)abc+abc+abc+abc+abc
b) b c + a c + a b+ b c d
c)[cd+a]+a+cd+ab
d) [(a + c + d) (a + c + d) (a
(a cinco literales)
(a cuatro literales)
(a tres literales)
+ c+
d) (a + b)]
Solucin P5.
a) abc+abc+abc+abc+abc=
=abc+abc+abc+abc+abc+bc=
=abc+abc+abc+abc+abc+bc=
=ab(c+c)+ab(c+c)+(a+a)b c=
(a cuatro literales)
(ya que x + x = x)
(por la propiedad conmutativa)
27
28
Solucin P7 .
a) Si f = w y z + x y + w y, entonces es fcil deducir cundo f = 1 :
/wyz=1 ==> w=1,y=1,z=1
f=1 f=> xy=1 ~x=1,y=1
\wy=1~w=1,y=1
con ello, la tabla de verdad es :
wxyz
wxyz
0000
0001
0010
0011
0100
0101
110
111
1
1
1000
1001
1010
1011
1100
1101
1110
1111
wxyz
wxyz
0000
0001
0010
001 1
0100
0101
110
0111
0
0
1
1
1
1
1000
1001
1010
1011
1100
1101
1110
1111
29
Solucin P8.
a) f (a, b, c, d) = E (5, 6, 7, 12) + d(1, 3, 8, 10)
11
10
00
01
11 d
10 0
f
b) f (a, b, c, d) = fI (10, 13, 14, 15) + d(0, 1, 2, 8, 9)
ab
c
01
11
10
00
01
11
10 d
01
11
10
30
Solucin P9.
a) (a b + a c) (a b) = a b
(por la ley del consenso)
Con esto tenemos una forma en suma de productos, donde el producto p = a b es el nico. Tambin tenemos un producto de sumas, donde los trminos suma son dos : s1 = a y s = b .
b) x y (v + w) [(x + y) v] = x y (v + w) (x + y) v = v x y (x + y) = v x y (ley de absorcin) .
Con esto tenemos una forma en suma de productos, donde el producto p = v x y es nico .
= v, s = x,
Tambin tenemos un producto de sumas, donde los trminos suma son tres :
s
y.
c) x + yz, es suma de dos productos,
=
P = y z . Por otra parte, aplicando la propiedad distributiva : x + yz = (x + y) (x + z) . Con ello tenemos una expresin en producto de sumas :
s1 =x+y, s =x+z .
d)f=(a+b+ c) (d + a) + b c + a c
Para reducirlo a una forma en producto de sumas operaremos sobre la expresin de f
aplicando repetidas veces la propiedad distributiva :
(a + b + c) (a + d) + b c + a c = (a + b + c) (a+d)+(a+b)c=
=[(a+b+c)(a+d)+(a+b)] [(a+b+c)(a+d)+c]=
=[(ab+c+a+b)+(a+d+a+b)] [(a+b+c+c)(a+d+c)]=
=(a+b+ c) (a+b+ d) (a+c+ d) .
Obtenemos por tanto un producto de tres trminos suma : s1 = a + b + c, s = a + b + d
y s3=a+c+d.
De forma similar se puede obtener una expresin en suma de productos :
(a + b + c) (a + d) + b c + a c = [a + (b + c) d)] + a c + b c = a + a c + b c + (b + c) d=
=a+bc+bd+c d .
Son, por tanto, cuatro trminos producto :
= a, = b c, p = b d, P = c d .
SI
pl X, 2
pl
P2
1 2
1
Solucin P10.- Para expresar la funcin f + f como suma de mintrminos hay que tener en
consideracin que todos los mintrminos de f y todos los mintrminos de f son mintrminos
de f + f ya que 1 + x = 1 . Entonces :
f + f = E (0, 4, 8, 9, 10, 11, 12, 14, 15), y por exclusin : f + f = U (1, 2, 3, 5, 6, 7, 13) .
Para expresar la funcin f . f , es mejor comenzar por la expresin en forma de producto de maxtrminos ya que debido a que 0 x = 0 podemos decir que todos los maxtrminos de
f y todos los de f son maxtrminos de f f . Entonces :
f f =11(1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15) =E (0, 4, 8, 9, 10) .
En cuanto a la funcin f O f , para que sea 1 es preciso que f y f sean distintas . Por
tanto, los mintrminos de f O f son los mintrminos de f que no lo son de f y los de f que
no lo son de f :
f
= E (11, 12, 14, 15) = fI (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13) .
1 2
l 2
1 2
1 2
l 2
1 f2
1 2
1 2
1 2
1 2
31
T 1 = E (0, 1, 3, 4, 5, 7, 11,15)
T 2 = E (2, 3, 6, 7, 11,15)
a) Suponiendo que tanto G 1 como G2 son puertas AND, obtenga el mapa de la funcin
(es
decir, la funcin P que tiene el menor nmero de mintrminos) que permite obtener
Pmin
T 1 y T2.
Obtener los mapas para Q y R correspondientes al Pmin anterior. Indique, explcitamente, las posiciones de las inespecificaciones .
Suponiendo que G 1 y G2 son puertas OR obtenga el mayor Pmax (la funcin P con
mayor nmero de mintrminos) y sus mapas correspondientes para a y R.
Pueden obtenerse Q, P y R si G 1 es una puerta AND y G2 una puerta OR? Y si G 1
es una puerta OR y G2 una puerta AND?
Solucin Pll .
a) G 1 y G2 son puertas AND .
En este caso T 1 = Q . P y T2 = R P, por tanto, Q y P tienen que tener todos los mintrminos de T 1 (o sea : 0, 1, 3, 4, 5, 7, 11, 15), y R y P tienen que tener todos los mintrminos de
T2 ( o sea : 2, 3, 6, 7, 11, 15) . Entonces P como mnimo tiene que contener todos esos mintrminos, luego : Pmin = E (0, 1, 2, 3, 4, 5, 6, 7, 11, 15) .
b) La funcin Q tiene al menos los mintrminos de T1 ; R tiene los de T 2 . Ahora bien, Q
tiene ceros en las celdas en que Pmin vale 1 pero T 1 no es 1 ; por ejemplo, 2 es mintrmino de
Pmin pero no lo es de T 1 , por lo que 2 es un 0 de Q . Lo mismo ocurre para R con respecto a T2
Y Pmin Por ltimo, en las celdas donde T 1 vale 0 y Pmin tambin es 0, Q est inespecificada ;
algo similar ocurre para R respecto a T 2 y P min . Por tanto :
Q = E (0, 1, 3, 4, 5, 7, 11, 15) + d (8, 9, 10, 12, 13, 14) .
32
tambin R y P (o sea en 0, 1, 4, 5, 8, 9, 10, 12, 13, 14) . As, P tendr como mximo los
mintrminos que sean comunes a TI y T2 : Pmax = Y- (3, 7, 11, 15) .
Q y R contendrn los mintrminos que le faltan a P para completar los de T I y T2 :
Q = E (0, 1, 4, 5) + d (3, 7, 11, 15) .
R = E (2, 6) + d(3, 7, 11, 15) .
Las celdas en que Q est inespecificada son aquellas en las que T I vale 1 y Pmax tambin
es 1 . Algo similar ocurre para R respecto a T2 y Pmax
d) No es posible, ya que si G 1 es una AND y G 2 una OR : T I = Q P, T 2 = R + P . Entonces, en aquellos valores en los que T I es 1 y T 2 es 0 (como por ejemplo en 4) sera imposible
encontrar un valor adecuado para la funcin P . Si P valiese 1 forzara T2 = 1 y si valiese 0 forzara T I = 0) .
Si G 1 es una OR y G 2 es una AND, tampoco es posible ya que T I = R + P y T2 = Q P .
As, en aquellos puntos en que T I = 0 y T2 = 1 (como por ejemplo en 6) no se puede encontrar
un valor adecuado para P.
Solucin P12 .
a)f=(E+c)(a+d)+(+b) (c+d) .
b)f=bd+bc+acd+bc=ab+acd+bd,entonces :
f = (a + b) ( + c + d) (b + d) .
c) Operando obtenemos f = 0 luego f = 1 .
d)f=(+b) (c+d) .
+p . . . Oe
x = (x, O . . . O+
x ;) 0 (x ; + ,
donde a 0 b= a O b .
= xlm . . . mxi E
) xi+l O+ . . . 0 x n
. . . O+ x) ;
33
Solucin P14 .
a) f (a, b, c) = E (0, 1, 3, 4, 5, 6, 7).
b) f (a, b, c) = E (0, 2, 3, 4, 5, 6, 7) .
c) f (a, b, c, d) = E (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 10, 11) .
Problema 15.- Exprese las siguientes funciones como producto de maxtrminos :
a) f (a, b, c, d) = (a + c) d + b d.
b) f (x, y, z) _ (x y + z) (y + x z) .
c)f(a,b c)=(abc+abc)
d) f (a, b, c) _ (a b + c (a + b)) (b + c) .
Solucin P15 .
a)
b)
c)
d)
Problema 16.- A partir de las tablas de verdad de las siguientes funciones, obtenga sus expresiones algebraicas.
xy
f,
xy
f2
xy
f3
00
01
10
11
1
0
1
0
00
01
10
11
0
1
1
0
00
01
10
11
1
1
1
0
34
f,
f2
f3
f4
f5
f6
000
001
010
011
100
101
110
1 11
0
1
0
0
0
1
0
0
1
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
1
0
1
0
Solucin P17 .
f =xyz+xyz=yz .
f2 =xyz+xyz+xyz+xyz=xy+yz+xyz .
f3 =xyz+xyz=xy .
f4 =x+y+z .
f =x+z
f6 =xyz+xyz+xyz+xyz=z .
Problema 18.- Interprete las siguientes expresiones lgicas considerando que el dato tiene
n bits. (Para ayudarse puede considerar un caso particular de n, por ejemplo: n = 4) .
a)z=xox1(D . .
.x,1)bz=n-0 x1(D . . .(D Xn_2 .
k = n - 2, . . ., 1, 0, con zn _ 1 = xn - 1
c) zk = xk+ 1 Xk,
k = n - 2, . . ., 1, 0, con zn _ 1= xn _ 1 .
d) zk = zk+ 1 (D Xk,
k = n - 1, n-2, . . . . 1,0
e) zk = xk q) yk,
donde yk = yk 1 + xk 1 , con k > 1, 2, . . ., n - 1 e yo = 0.
Solucin P18 .
a) La operacin XOR de n variables se hace 1 si y slo si hay un nmero impar de unos
en las n variables . Por tanto, en este caso z es un detector de paridad .
b) La funcin z forma parte de la palabra den bits dada por : x0 x 1 x 2 . . . x n - 2 xi- 1 . Entonces, z es el bit de paridad par para x 0 x 1 x 2 . . . x n _ 2 .
c) Si se particulariza paran = 4 y se obtiene la tabla de verdad de las 4 funciones se puede concluir fcilmente que se trata de una conversin binario-Gray .
d) Procediendo como en el apartado anterior se puede concluir que se trata de una conversion de cdigo Gray a binario .
e) Si se considera el caso particular de n = 4 y se obtiene la tabla puede observarse que
z 3-0 = Ca2(x3-0)
Captulo 3
ANLISIS DE CIRCUITOS COMBINACIONALES
combinacional
z(t) = f(x(t))
ANLISIS DE CIRCUITOS
El objetivo principal del anlisis de un circuito combinacional es, por tanto, obtener una representacin de la funcin de conmutacin que implementa . A este objetivo se le llama anlisis
lgico del circuito . En algunos casos es posible, adems, obtener una descripcin verbal de la
operacin del circuito (del tipo "hace la suma", "compara nmeros", etc) . Adems, incluso
cuando es posible esta operacin a partir de las tablas o expresiones lgicas es difcil salvo que
se est sobre aviso . En este texto no se har el paso a la descripcin verbal salvo que se indique
explcitamente en el enunciado (vase, p . ej ., el problema 4) .
Aunque el anlisis lgico es el objetivo principal no es el nico aspecto que debe contemplar un buen anlisis de un circuito . Otros aspectos que se deben considerar son :
- El coste del circuito . Una manera de medir el coste es a travs del nmero de puertas
lgicas y conexiones entre puertas del circuito .
- Un anlisis de parmetros elctricos . Se debe establecer la tecnologa en la que se im-
35
36
plementa el circuito y evaluar, en funcin de las caractersticas elctricas de la misma, el rendimiento del circuito en cuanto a mrgenes de ruido, fan-in y fan-out, potencia disipada, etc .
- Un anlisis temporal . Este tipo de anlisis consiste en, dado un patrn de entradas, determinar la forma de onda de las seales de salida considerando los retrasos de propagacin de
las puertas lgicas . El anlisis temporal sirve para verificar si el circuito realiza correctamente
la funcin de conmutacin o si, por el contrario, existen fenmenos transitorios como por
ejemplo azares, as como para calcular los valores mximos y mnimos de los tiempos de propagacin que determinan la velocidad de operacin del circuito .
Este Captulo est centrado en el anlisis de circuitos a nivel de puertas lgicas . Los aspectos que se tratan son los de anlisis lgico, mostrando mtodos generales vlidos para cualquier circuito e independientes del tipo de puerta, y mtodos especficos para circuitos con slo
NAND o slo NOR . Estos procedimientos son explicados en los problemas 1 y 3 respectivamente . Adems, en este Captulo tambin se incluyen algunos casos de anlisis del coste del
circuito, medido en funcin del nmero de puertas y conexiones del circuito y de anlisis temporal, analizando circuitos que presentan azares .
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias :
- Anlisis lgico segn el procedimiento general .
- Anlisis lgico de circuitos slo NAND (y slo NOR) .
- Anlisis temporal .
PROBLEMAS RESUELTOS
Problema 1 .- Analice a nivel lgico el siguiente circuito combinacional . Ponga tambin la funcin en forma de suma de productos o producto de sumas y realice el nuevo circuito a partir
de estas expresiones .
1
37
x +y+z)(z+y)i
z
z+
00
01
11
10
3--
Problema 2.- Realice un anlisis lgico del circuito representado en la figura . Obtenga las expresiones en forma de suma de productos y producto de sumas . Liste los mintrminos y maxtrminos correspondientes . Determine el coste .
xl
>_1
- f
xl
X2 -
x3
x3
X2
D --X 1
x2
Solucin P2.- Comencemos determinando el coste del circuito . Este se calcula : 1 .- dando el
nmero de puertas del circuito ; 2 .- dando el nmero de entradas a puertas (conexiones) del circuito y el nmero de salidas . Adems, a veces se evala el "coste" temporal estableciendo los
retrasos mximos y mnimos que experimentan las seales de entrada al propagarse hasta las
salidas . Para ello, lo ms habitual es considerar una unidad de retraso por puerta . En este circuito el coste es el siguiente:
38
coste
n puertas
n conexiones
16 entradas + 1 salida
retraso mximo
3 niveles de puertas
retraso mnimo
2 niveles de puertas
Anlisis lgico . Teniendo en cuenta la funcin lgica que realiza cada puerta, se obtiene
la siguiente expresin para f :
f = x3
(x,x 2 ) + x 3 (x,x2 )
( x 3 x2)
+ x 1 x2
fsp
= X 3 (x ] x2 ) +x 1 x 2 = x3 +x 1 x2
fps
(x3 +x1 ) (x 3 +x 2 )
x3
Problema 3.-Analice la funcin que realiza el circuito, encontrando una expresin reducida
en dos niveles .
- fi
e
3-
Solucin P3 .- Todas son puertas NAND, salvo la de salida f 1 ; llamando M a la entrada desconocida de esa puerta, f 1 = e M .
Ahora, M y f2 pueden obtenerse por el mtodo especfico de circuitos con slo puertas
NAND . Este mtodo consta de los siguientes pasos :
1 .- Hay que construir un rbol del circuito en el que los nodos representan a las puertas
39
y las ramas las conexiones . Las puertas se estratifican en niveles distintos comenzando por la
puerta de salida que da lugar al primer nivel del rbol . A partir de este nivel y en funcin de
las conexiones del circuito se van situando el resto de puertas en niveles sucesivos hasta alcanzar las seales de entrada .
2 .- Por la equivalencia de dos niveles de puertas NAND con dos niveles AND-OR, se
va a asociar a cada nivel de puertas del rbol la funcin AND o la OR alternando ambos tipos
de funcin y comenzando por la funcin OR .
3 .- Se obtendr la funcin que realiza el circuito considerando slo operaciones AND u
OR . Hay que tener en cuenta que aquellas variables de entrada que estn conectadas a puertas
que correspondan a un nivel OR deben complementarse .
A continuacin se aplica este mtodo al circuito .
Se numeran las puertas de la forma que se muestra en la figura :
a
b
- f1
1
e
3- f
M=d+c(+b)
1
f2=c(+b)+fg
OR
AND
De aqu se tiene :
f,
= de + ice + bce
f2
=c+bc+fg
OR
40
>_1
3--.
?1
al
n conexiones
16 entradas + 2 salidas
retraso mximo
4 niveles de puertas
retraso mnimo
2 niveles de puertas
Anlisis lgico :
z sp = a 2 b 2 +a,b,a 2 b 2 +a,b,a 2 b 2
Zps = (a, + a 2 ) (b, + b 2 ) (a 2 + b 2 ) (a 2 + b,) (a, + b 2 )
y Sp
=a 2 b 2 +a,b,a 2 b 2 +a,b,a 2 b 2
b2b l
00
01
10
11
00
00
10
10
10
01
01
00
10
10
10
01
01
00
10
11
01
01
01
00
zy
41
e
e
3-D-- f
Solucin P5.- El circuito est compuesto exclusivamente por puertas NOR, por lo que vamos
a aplicar el mtodo especfico de anlisis de slo puertas NOR . Este mtodo es el mismo que
el utilizado en el problema anterior, slo cambian dos aspectos :
1 .- El primer nivel de puertas es de tipo AND, por lo que la expresin que se obtendr
para f es del tipo producto de sumas de producto de sumas .
2.- Ahora son las variables de entrada que estn conectadas a los niveles AND las que
deben complementarse .
Numerando a las puertas de la forma que se ve en la figura :
e
e
>1
D-f
a-
O-
6
7
O-
42
OR
OR
AND
AND
OR
AND
De aqu se tiene :
C
D - F
C
4
43
D- F
u=BC
x=ABu
v=u
y=Dv
F = xy = ABC+DCB
00
01
11
10
00
01
11
10
CD
u=C
A
x=v=u
f-
1-
y=v
A
F=xy
-t
A
4-
44
u=B
v=u
y=v
x=Bu
F=xy
d) Con B=D=1, y A y C cambiando peridicamente, el diagrama temporal queda como
se observa en la figura :
u=C
v=u
4x=Au
y=v
F=xy
e) En el caso b) : Las entradas pasan de ABCD=1101 a ABCD=1 111 peridicamente . En
ambos casos la funcin debe ser 1 . Sin embargo, ocurre un pulso de 0 en la salida F, lo que es
un azar esttico .
En el caso c) : ABCD pasan de 1011 a 1111 alternativamente . La funcin debe tomar los
siguientes valores segn el mapa de Karnaugh : F(1011)=0 y F(1111)=1, la salida debera seguir los cambios de B con el retraso del circuito . Sin embargo, ocurre que la seal de salida
oscila (ver figura del apartado c) cuando B sube . Esto es un azar (se llama dinmico) .
45
En el caso d) : ABCD pasan de 1101 a 0101 (ste durante un tiempo A), de aqu a 0111,
0111, 1111 (durante un tiempo A) y vuelven de nuevo a 1101 . La funcin, debe tomar los valores : 1, 0, 1, 1 que es lo que se muestra en la salida . El pulso de 0 es mayor que la duracin
en 0101, pero esto no es azar: la funcin debe pasar por el valor 0, explicndose el cambio de
duracin por el distinto tiempo de retraso cuando cambia A (2 puertas) a cuando despus cambia C (4 puertas) .
PROBLEMAS CON SOLUCIN RESUMIDA
Problema 7.- Analice a nivel lgico los siguientes circuitos combinacionales . Ponga la funcin en suma de productos o producto de sumas .
a)
>_1
- f
>_1
b)
=1
- f
c)
y
=1
D- f
Solucin P7.- a)
01
11
Z\
0
10
f
1
46
= xz+xy
b) f = xy +O (z+x)
00
01
11
10
00
01
11
10
c) f = y O+ (y + x) = xy
Problema 8.- Realice un anlisis lgico de los circuitos representados en la figura correspondiente. Obtenga las expresiones en forma de suma de productos y producto de sumas . Liste
los mintrminos y maxtrminos correspondientes . Determine el coste .
a)
x I-
>1
f
3-
b)
xl
1
f
x2 3
c)
>_l
x3
X4
Solucin P8 .
a) Anlisis de coste :
coste
n puertas
n conexiones
10 entradas + 1 salida
retraso mximo
4 niveles de puertas
retraso mnimo
2 niveles de puertas
Anlisis lgico :
fsp = x2 + x 1 x3
n conexiones
12 entradas + 2 salidas
retraso mximo
5 niveles de puertas
retraso mnimo
2 niveles de puertas
Anlisis lgico :
fl sp = X3 X4 + x1 x2 x4 + x1 x2 X4 + x1 x2 x3 x4 + x1 X2 X3 x4 .
fips = (x3 + x4) (xl + x2 + x4) (x1 + x2 + x3 + x4) (x1 + x2 + x4) (x1 + x2 + x3 + x4) .
f2sp = x3 + XI x2 + x1 x2
f2ps =(x1+23) x+,
f l (x l , x 2 , x 3 , x4) = E (1, 3, 4, 7,8, 11, 13, 15) = II (0, 2, 5, 6, 9, 10 12, 14) .
f2(x l , x 2 , x 3 , x4 ) = E (0, 1, 2, 3, 6, 7, 10, 11, 12, 13, 14, 15) = fI (4, 5, 8, 9) .
c) Anlisis de coste :
coste
n puertas
n conexiones
6 entradas + 1 salida
retraso mximo
2 niveles de puertas
retraso mnimo
2 niveles de puertas
47
48
Anlisis lgico :
fsp - XI + X2 + x3 x4
fps = ( x2 + XI + x3) (x2 + x1 + x4) .
f2 (x l , x 2 , x3 , x 4 ) = E (3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) =11(0, 1, 2) .
Problema 9.-Analice la funcin que realiza cada circuito encontrando una expresin sp o ps .
a)
VIL-
X Y -
b)
d
g
C)
xl x2 x3 -
X2 3
xl X2 -
XI
3
x3
x3
Captulo 4
DISEO DE CIRCUITOS COMBINACIONALES
51
52
1
Descripcin formal :
Tabla de verdad, mapa de Karnaugh, expresin de la funcin
i
Minimizacin :
forma sp o ps mnima
1
Circuito
En cada uno de estos pasos hay que realizar las siguientes acciones :
1 .- Dado un enunciado con palabras (descripcin verbal) de la funcin hay que obtener
una primera representacin de dicha funcin mediante una tabla de verdad, un mapa de Karnaugh o una expresin de la funcin . Esta representacin es lo que se conoce como una descripcin formal de la funcin .
2 .- A partir de la descripcin formal obtenida al finalizar el paso anterior, hay que realizar el proceso de minimizacin . Con este proceso se pretende obtener la expresin suma o
producto mnimo de la funcin . En particular, se presentan dos mtodos para hacer la minimizacin, uno basado en el mapa de Karnaugh y el otro, tabular, que denominaremos de QuineMcCluskey .
3 .- De la expresin suma de productos o producto de sumas mnimo de la funcin se obtiene el circuito ptimo . En concreto, para las expresiones sp de las funciones se derivan circuitos en dos niveles AND-OR .y NAND-NAND ; si se obtienen las expresiones sp de las funciones complementadas, el circuito puede implementarse con las estructuras AND-OR-INV,
AND-NOR NAND-AND . Las estructuras duales (OR-AND o NOR-NOR ; y OR-AND-INV,
OR-NAND NOR-OR) proporcionan los circuitos cuando se obtienen expresiones ps (de f y
de f, respectivamente) .
53
Estos pasos del proceso se realizan antes de tener en cuenta otros aspectos como son si
la disponibilidad de las entradas es en nico rail, si el fan-out es limitado, si se dispone de circuitos integrados en vez de puertas individuales, etc . Solamente no se siguen estos pasos cuando el circuito final no se obtiene a partir de expresiones sp (ps) . En estos casos (p .ej . en realizaciones con puertas EXOR) el diseador debe saber cmo pasar del paso 2 a la realizacin de
su circuito .
El conjunto de problemas que se presentan en este Captulo, tanto los resueltos como los
de solucin resumida barren completamente los diferentes pasos del proceso . Adems, se dedica especial atencin al primer paso del proceso de diseo por ser el menos sistemtico y, por
tanto, el ms complejo de realizar .
PROBLEMAS RESUELTOS
Problema 1 .- Se tiene una palabra de 5 bits : los cuatro ltimos bits representan un dgito
BCD; el primero es un bit de paridad impar . Obtenga la tabla de verdad (o el K-mapa) de las
funciones siguientes:
1) f, se har "1 "para valores de entrada que no correspondan con dgitos BCD .
2) f2 se har "1 para palabras con paridad incorrecta .
Solucin Pl .- El circuito que se pretende disear tiene 5 seales de entrada . Sean a, b, c, d,
e, siendo a el bit de paridad impar y b, c, d, e un nmero BCD . Por otra parte tiene dos salidas
f l y f2 que toman los siguientes valores :
f1 = 1 si y slo si (b, c, d, e) no es un nmero BCD .
abc
abc
000 001 011 010 110 111 101 100
00
00
01
01
11
11
10
10
f,
f2
PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES
54
Problema 2.- Las normas de seguridad de los modernos aviones exigen que, para seales
de vital importancia para la seguridad del aparato, los circuitos deben estar triplicados para
que el fallo de uno de ellos no produzca una catstrofe . En caso de que los tres circuitos no
produzcan la misma salida, sta se escoger mediante votacin . Disee el circuito "votador"
que ha de utilizarse para obtener como resultado el valor mayoritario de las tres entradas .
Solucin P2 .- El proceso de votacin consiste en tomar el valor mayoritario de las entradas .
De esta forma, la salida, f, del circuito tendr la siguiente codificacin :
f = 0 si hay ms ceros que unos en las entradas
f = 1 si hay ms unos que ceros en las entradas
El circuito votador tiene tres seales de entrada : a, b y c, que son las salidas de los circuitos triplicados . Podemos construir el mapa de Karnaugh o bien la tabla de verdad :
abc
000
001
010
011
100
101
110
111
En
zamos un
f
Un
f
0
0
0
1
0
1
1
1
00
c
0
01
11
10
rol
raEC'i~
1
B
Problema 3.- Se pretende disear un circuito combinacional que tenga como entrada un dgito BCD natural y como salida la parte entera del cociente de su divisin por tres . Se pide :
a) expresar las funciones mnimas de salida como suma de productos y como productos
de sumas;
b) obtener el circuito correspondiente a la mnima de estas expresiones, realizado con
un solo tipo de puertas .
Solucin P3.- La salida es un nmero, N, igual a la parte entera de dividir un dgito BCD
por 3 : N=Ent .[N2 BCD/3] . El mayor dgito BCD es 9, por tanto el mayor valor de N ser 3,
mientras que el menor valor ser 0 . Representaremos a N por dos bits : z1z0 = N(2 .
55
La entrada es el dgito BCD que est formado por 4 dgitos binarios : x3x2x1xo .
Teniendo en cuenta esto, podemos formar la tabla de verdad y, a partir de ella, el mapa
de Karnaugh de cada una de las funciones de salida sabiendo que las celdas que no corresponden a dgitos BCD (celdas 101- y 11--) son inespecificaciones (d) para las funciones :
x3x2x 1 x0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
N
0
0
0
1
1
1
2
2
2
3
z 1 zp
0
0
0
0
0
0
1
1
1
1
3 2
0
0
0
1
1
1
0
0
0
1
3x2
00 01' 11 10
x lxo
00
01
11
10
a_~
riii d I
x 1 x0
00
d ~l
IN L1
00 01 11 10
01
E
11
10
B4
z1
ZO
~ G
ZIS,=D+C = x 3 +x 1 x2
zosP = I + H + J
zoPs =GFE=
z 11,
= AB = (x3+x1) (XI +x 2 )
= x 3 xo +x2 x 1 +x2x l xo
(x 2 +xo ) (x 1 +x2 ) (x 3 +x 2 +x 1 )
El coste sp y ps de zo es el mismo, por lo que da igual realizarla slo con NAND o slo
con NOR . (En la realizacin mnima de z o la celda 15 es tomada como 1 para zo sp y como 0
para z ops ; no se trata de un error sino del uso ms conveniente para esa inespecificacin) . Por
otra parte, el coste de z1 en sp es menor que en ps por lo que la realizaremos con NAND :
x3
xo
2
X2
1
X1
x2
X1
Xo
56
01
11
10
00
01
11
10
f
La expresin mnima en forma sp es la siguiente :
f
= bcd + bcd
+ a_bcd + abcd
b
_1
a
b
d
b
Problema 5.- Disee un circuito combinacional que acepte un nmero de tres bits y genere
un nmero binario de salida igual al cuadrado del nmero de entrada .
Solucin P5.- Con tres bits, a b y c, se representan desde el 000-0 hasta el 111-7 . En la salida
debe aparecer el cuadrado de la entrada :
abc- N . Dec .
000-0
001-1
010-2
011-3
100-4
101-5
110-6
111-7
(abc) 2
16
25
36
49
57
000-0
001-1
010-2
011-3
100-4
101-5
110-6
111-7
000000
000001
000100
001001
010000
011001
100100
110001
abc- N . Dec .
Z5Z4Z3z2z
De esta tabla se obtiene un mapa de Karnaugh para cada salida y, de l, una expresin
de las mismas :
11
00 01
10
1\ 0
0
0 0 0 0
0
U
z 5 = ab
z 4 = ac+ ab
00 01
z2 = bc
11
10
z 3= bc+ abc
C
0
z1= 0
N
11,1 Oa >
58
HORAS
8-9-10
11-12
13-14-15
16-17-18
HORAS-8
0-1-2
3-4
5-6-7
8-9-10
z 1 zO
0
1
0
1
1
0
0
1
A partir de esta tabla se construyen los mapas de Karnaugh y de ellos se obtienen las
siguientes expresiones de las salidas, en forma sp y ps :
~1
~ V1
-J
~Lr
z 1 =a+bcd+bcd
z 1 = ( a + b + c)(a + c +d)(d+ b)
z0=bc+bd
zp=b(c+d)
z 1 = a(bcd)(bcd)
z 1 = ( a+b+c)+(a+ c +d)+(d+ b)
zp=(bc)(bd)
z 0 = b +(c +d )
59
00
01
11
10
00
morra
r-
I/IV 00
LES
VOL:J
EN
Za-
90 0
01
11
10
Crac=~!~1
or!~~~J
Dula=
a ar`v~i
m
m = (b i +b o ) (b i +a o) (b 1 +a 1 ) (a l +bo) (a i +a o )
Problema 8.- Se ha diseado una puerta de tres entradas llamada bomba (cuyas caractersticas se muestran) con un resultado desafortunado . Experimentalmente se encuentra que las
combinaciones de entrada 101 y 010 hacen explotar la puerta . Determine si hay que inutilizar
las puertas o, por el contrario, pueden ser modificadas externamente (aadiendo un circuito)
de forma que sea funcionalmente completa y que sin embargo no explote .
ABC
1 11
BOMBA
BOMBA(A,B,C)
BOMBA(A,B,C)
Solucin P8.- Debemos conseguir que el circuito no explote en ninguna combinacin de entrada de forma que no cambiemos la funcin de salida . Para ello vamos a aadir un circuito
con 3 entradas (a, b, c) y tres salidas (A, B, C) de manera que BOMBA(a,b,c) = BOMBA
(A,B,C) segn la tabla del enunciado :
CIRCUITO
b
A DISEAR
m
B
BOMBA(a,b,c) = BOMBA(A,B,C)
O
m
Las salidas ABC=101 y 010 deben ser evitadas para que no explote el circuito . Como
BOMBA(0,1,0) = 1, podemos hacer que para abc=010 las salidas ABC sean cualquiera de las
que dan 1 en la salida del circuito BOMBA . Esto es, ABC= 000, 011, 100 . Como
BOMBA(1,0,1)= 0, podemos hacer que para abc=101 las salidas del circuito sean cualquiera
de las que dan 0 en la salida del circuito BOMBA . Esto es, ABC= 001, 110, 111 .
60
Con el fin de no producir ms cambios, para cualquier otra combinacin de abc, haremos ABC=abc .
Tenemos que hacer dos elecciones, una para abc=010 y otra para abc=101 . Una buena
solucin es la que implica menos cambios en las seales :
abc = 0l0 -* ABC = 000
abc = 101 - ABC = 111
Con estas elecciones la nica seal que cambia es B mientras que A y C cumplen A=a
y C=c .
Del mapa de Karnaugh se obtiene una expresin de B en funcin de a, b y c :
sal
J
1
al'l~~L
B=ab+ac+bc
Problema 9.- Utilizando el mapa de Karnaugh, determine las expresiones mnimas en suma
de productos y producto de sumas de las siguientes funciones :
a) f(x, y, z, u) = E(3, 4, 7, 8, 10, 11, 12, 13, 14)
b) f(x, y, z, u) = E(0, 4, 6, 7, 10, 12, 13, 14)
Solucin P9 .
a)
z xy
00
01
11
a
non
rol
ORO
01
11
10
nono
e
Enn
00
C4:110.
1
1
jlezOC
ro
f=(x+y+ z) (x+z+
f=yzu+xyz+xzu+xyz+xu
(y
+ z + u)
u)
(x+z+u)
(x + y + z + u)
b)
z xy
00
01
11
dan
01
11
0
10
uo
z xy
01 Lle
n0
11
n01
10
f=xzu+xyz+xyz+xz
00
01
11
01a
nl ,
111
f=(y+u)(x+y+z)(x+z+u)
(x+z+
(x+y+z)
61
Problema 10.- Simplifique f = E(1, 2, 7, 8, 19, 20, 25) + d(10, 11, 12, 13, 14, 15, 26, 27, 28)
Solucin P10 .
abc
d
110
00
01
11
10
CE
G
I-
111 101
100
17
0
0
f=abe+abcde+cde+
+acde+acde+abce+acde
Problema 11 .- Razone si una OR de dos entradas con inhibicin puede ser funcionalmente
completa si disponemos del "0" y del "1 ". Las variables se encuentran en nico ral . Implemente f=m 1 +m3+m 4+m 6 usando este tipo de puertas .
Solucin P11 .-La puerta OR opera de acuerdo con la siguiente tabla :
I
I
0
1
1
z
z
x+y
0 : Inhibicn
AND :
OR :
.A
-1
A+B
?1
AB
la
>_1
ac
`M
ffiffila
f = c+ ac
>_1
ac
0
1
>_1
62
Problema 12.- Un circuito que realiza la funcin z(a, b, c) est compuesto de dos subcircuitos
(ver figura) . La combinacin de entradas abc=001 nunca ocurre . La tabla de verdad del subcircuito N, es la mostrada . Es posible cambiar algunos valores de u, v, x a inespecificaciones sin modificar z(a, b, c)?. Si es as, indique todos ellos y realice un buen diseo de N 1 con
puertas NOR tras obtener todos los valores inespecificados .
abc
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
10 1
1 1 0
1 1 1
uvx
0 0 1
1 1 0
1 1 1
0 0 0
1 1 0
1 1 1
0 1 0
1 0 1
-----------------------------------N2
a
b
c
---------------------------------
Solucin P12 .-Llamemos P ala salida de la puerta EXOR : P = v O+ x . Busquemos las posibles inespecificaciones de u, v y x, de forma que no se modifique la funcin z, la cual toma el
siguiente valor : z = P u . De esta manera :
1) Si u=0, entonces z=0 independientemente del valor de P . De aqu que P pueda estar
inespecificado para u=0 .
2) Si P = 0, entonces z=0 independientemente del valor de u .
3) Si u=P=1, entonces z=1 .
Por otra parte, P = v O+ x , de forma que : P=0 si v=x ; P=1 si
v=x .
63
Para disear el circuito N 1 con puertas NOR vamos a construir los mapas de Karnaugh
y obtener las expresiones mnimas ps :
oma
arv~o
uo
u= a(b + c)
Mal- 0111
v= a+ b
>1
x=+c
>1
>1
>1
>1
>_1
Problema 13.- En la tabla representada aparecen todas las implicantes primas y todos los
mintrminos de una funcin f(a,b,c,d) que tambin tiene inespecificaciones . Determine cules
son los mintrminos (m, m) e implicantes (A, B) desconocidos, as como todas las inespecificaciones de la funcin .
3
ad
ac
bc
cd
A
B
X
X
8
X
12
X
m'
X
X
X
X
X
Solucin P13 .- La resolucin del problema puede efectuarse utilizando una representacin de
la informacin que aporta la tabla del enunciado sobre un mapa de Karnaugh . En esta tabla
aparecen expresiones de todas las implicantes primas menos dos (A y B) de la funcin y todos
los mintrminos menos dos (m y m') . En el siguiente mapa se muestra la informacin de partida acerca de la funcin :
64
u=
-u
=amo
Ramo
f
Implicante a d : Vale 1 cuando a = 1 y d = 0 . Son las posiciones 8, 10, 12 y 14 sobre un
mapa de Karnaugh . 8 y 12 son mintrminos de f . Como esta implicante cubre a m' este mintrmino solo puede ser el 10 el 14 . El que no sea m' ser una inespecificacin, d .
Implicante ac : Vale 1 cuando a = 1 y c = 1 . Son las posiciones 10, 11, 14 y 15 sobre un
mapa de Karnaugh . Esta implicante slo cubre a un mintrmino de f, m', por lo que posee tres
inespecificaciones . De la implicante anterior se sabe que m' o es el mintrmino 10 el 14 . De
esta forma las posiciones 11 y 15 del mapa son inespecificaciones, d .
Implicante Ec : Vale 1 cuando b = 0 y c = 1 . Son las posiciones 2, 3, 10 y 11 sobre un
mapa de Karnaugh . Esta implicante solo cubre al mintrmino 3 y al m . La posicin 11 ya sabemos que es inespecificacin por lo que m slo pueden ser la posicin 2 o la 10 . Ahora bien
de las anteriores implicantes sabemos que la posicin 10 es m' o inespecificacin . Esta implicante no cubre a m' por lo que la posicin 10 no puede ser el mintrmino m', sino inespecificacin . Por tanto el mintrmino m es el mintrmino 2 y el mintrmino m' es el mintrmino 14 .
Implicante c d : Vale 1 cuando c = 1 y d = 1 . Son las posiciones 3, 7, 11 y 15 sobre el
mapa de Karnaugh . 3 y 7 son mintrminos de f y 11 y 15 ya sabemos que son inespecificaciones por lo que esta implicante no aporta ms informacin .
Con lo que hemos obtenido hasta ahora, el mapa de karnaugh de la funcin f queda de
la siguiente manera :
b
d
00
01
11
10
00
01
11
10
..01a
.a- .
vpvR
=a .1
f
65
Cualquier otra posibilidad para A dara lugar a que alguna de las implicantes que ya conocemos, no fuese prima y sabemos que s lo son . Teniendo en cuenta que en la primera columna del mapa de Karnaugh, posiciones 0, 1, 3 y 2 todas son inespecificaciones o mintrminos menos el 1 y que no existe ninguna implicante prima que los cubra a todos (la implicante
B no posee al mintrmino m = 2) la posicin 1 tiene que ser un maxtrmino . Al igual le ocurre
a las posiciones 13, 6, 9 y 4 que son maxtrminos .
Implicante B : cubre a los mintrminos 5 y 7 . Las casillas adyacentes a 5 y 7 son maxtrminos (1, 6, 4, 13) por lo que B es la implicante prima que asocia exclusivamente a los mintrminos 5 y 7 . La expresin de B es bd .
Resumiendo, el mapa de Karnaugh de f queda de la siguiente manera :
ab
c\ 00
01 11
10
m=2
m` = 14
00
01
11
10
A=bd
B=bd
Problema 14.- El circuito de la figura ha sido diseado para comparar las magnitudes de dos
nmeros binarios de dos bits a 2 a l y b2 b 1 . Si z=1 e y=0, a 2 a l es el mayor. Si z=0 e y=1, b 2
b 1 es el mayor. Si z=y=0, los dos nmeros son iguales . Sin embargo el circuito propuesto no
cumple las especificaciones solicitadas . Compruebe este hecho y modifique el diseo para
que sea correcto .
- z
a2
b
a,
Solucin P14 .-Analicemos el circuito :
a 1 b 1 a2b2 +a 1 b 1 a2 b2
y = a 1 b1 (a2b2 +a2b2)
66
CIRCUITO
ESPECIFICADA
a2al
a 2a l
b 2\ 00
01
11
10
b2\ 00
01
11
10
00
00
10
00
00
00
00
10
10
10
01
01
00
00
00
01
01
00
10
10
11
00
00
00
01
11
01
01
00
01
10
01
01
10
00
10
00
00
10
00
zy
zy
Se observa que (zy)cir # (zy)func . En particular las diferencias estn en que tanto z como
y tienen 4 mintrminos ms en la funcin especificada que en el circuito suministrado en las
siguientes posiciones :
r
---DJ
-------
----
--
r a-.
al a-
----
EN
a 2b2
Y = Yc + a2b2
La reforma del circuito consistir en aadir dos puertas OR para hacer las sumas ya que
los trminos productos ya estn en el circuito :
>1
Zfunc
>_1
a2 -a
C
Ycir
>1
- Yfunc
bl
al
67
Problema 15.- Las funciones del circuito de la figura dependen, en general, de las variables
(w,x,y,z) . Sabiendo que f = E (0, 4, 9, 10, 11, 12):
(incluyendo
funciones
f2 :# 0 y
f3 :# 0
completamente las
a)Determine
inespecificaciones) .
b)Realice los circuitos que proporcionan f2 y f3.
---------------w
x
z
f
-s
f
---------------
Solucin P15 .
a) Analizando el circuito de la figura se obtiene que f = H + f 3 , siendo H la salida de la
puerta AND . De aqu se deriva que los maxtrminos de f son maxtrminos de H y de f 3 , mientras que los mintrminos de f son mintrminos de H de f3 . Por tanto, los mapas de Karnaugh
de H y f 3 tienen los siguientes maxtrminos :
wx
wx
wx
Y\
00
01
11
10
Y\
00
01
11
10
\
y
00
01
11
10
0
00
00
01
01
01
11
11
11
10
10
10
00
f3
Por otra parte, H = f 1 f2 = (x0 z)f2 . De aqu que los mintrminos de H son mintrminos
de f 1 y de f2 , mientras que los maxtrminos de H son maxtrminos de f 1 de f2 .
Como f 1 es conocida, a partir de ella y de H se obtiene parte del mapa de f 2 :
wx
f2 est inespecificada
en aquellas celdas en las
queH=Oyf 1 = 0 .
Por otra parte, f2 = 0 en
celdas en las que H = 0
yf i =1 .
--------
68
donde no es ni inespecificacin ni 0 (celdas 4, 9, 11 12) . Como f = 1 en esas celdas, en aquellas en las que f2 = 0, f3 debe tomar el valor 1 . Por tanto, existen varias soluciones, dependiendo
de cules de las celdas 4,9,11 12 consideremos mintrminos de f 2 .
- Una de las posibles soluciones es la que se muestra a continuacin :
wx
00
Y\
00
=amo
000
000
0 0
01
11
10
0
01
11
10
f3
wx
00_1
000
000
0 0
Yz
00
00
01
10
0
01
= wY
11
11
10
n
111
f3=wyz+wxy
Problema 16.- En la figura se representa una funcin de 4 variables incompletamente especificada . Asigne valores a las inespecificaciones para conseguir especificar completamente la
funcin de la forma que se indica en cada uno de los casos siguientes :
ab
00 01 11 10
cd
00 1
d
d
d
01
a)
b)
c)
d)
e)
z
z
z
z
z
11 0
10 d
Solucin P16 .
a) Teniendo en cuenta que hay dos mintrminos en esquinas opuestas, para lograr que z
dependa slo de dos variables, las inespecificaciones de las otras esquinas deben sustituirse por
69
00
01
11
10
1
00
01
11
10
z=bd
b) Para que no haya implicantes superiores, no puede haber dos mintrminos adyacentes. El mapa quedara de la siguiente manera :
ab
00
01
11
10
00
01
11
0
0
0
0
0
cd
10
01
11
00
1)
0 H-
01
11
10
cd
10
Implicante
prima
no esencial
70
e) En el siguiente mapa existen dos implicantes primas y dos implicadas primas (implicada como agrupacin de maxtrminos) :
J v~a -
u
w~w
I
+ atic + abcd
+ abec
Solucin P17.
a) Para realizar la funcin con puertas NAND vamos a obtener la expresin mnima en
forma de suma de productos (sp) que nos da una forma directa de implementarla en dos niveles
de puertas NAND .
Para obtener la expresin mnima vamos a aplicar el mtodo de Quine-McCluskey . Este
mtodo parte de la expresin suma de mintrminos de la funcin . En primer lugar, obtenemos
esa expresin a partir de la que nos dan . Para ello construimos el mapa de Karnaugh :
101
100
00
01
11
10
f = 1 (4,6,9,11,12,13,17,19,21,22,23,25,27,29)
Una vez con la expresin suma de mintrminos, el mtodo consta de dos partes :
1) Obtencin de las implicantes primas .
El procedimiento de obtencin de las implicantes primas consta de los siguientes pasos :
1) Listar todos los mintrminos por su ndice (nmero de unos del cdigo
asociado a cada mintrmino) .
2) Comparar cada mintrmino de ndice j (empezando por j=0) con cada
mintrmino de ndice j+l . En el caso de ser adyacentes :
a) Formar una nueva pareja con ambos mintrminos e incluirla en una
nueva lista, dentro del grupo de ndice j . (Cada pareja es una implicante) .
b) Marcar ambos mintrminos .
71
3) Una vez comparados todos los mintrminos, proceder con la nueva lista
(la de implicantes) de forma similar al punto 2 . Esto es, comparar cada implicante de ndice j con cada implicante de ndice j+l . En caso de ser adyacentes, formar la nueva implicante que cubre a las implicantes anteriores y
aadirla a una nueva lista . Adems, marcar las implicantes agrupadas .
4) Una vez comparadas todas las implicantes de todas las listas generadas,
son implicantes primas todas aquellas que estn sin marcar al final del proceso .
El desarrollo de estos pasos, en este caso, es el siguiente :
Mintrminos listados
por su ndice
Implicantes de
dos mintrminos
(4,6)-2 J
(4,12)-8 1
ndice 1
4<
ndice 2
6<
9<
12<
17<
ndice 3
ndice 4
11<
13<
19<
21<
22<
25<
23<
27<
29<
(6,22)-16 H
(9,1l)-2<
(9,13)-4<
(9,25)-16<
(12,13)-1 G
(17,19)-2<
(17,21)-4<
(1 7,25)-8<
(11,27)-l6<
(13,29)-16<
(1 9,23)-4<
(19,27)-8<
(21,23)-2<
(21,29)-8<
(22,23)-1 F
(25,27)-2<
(25,29)-4<
Implicantes de
cuatro mintrminos
(9,11,25,27)-2,16 E
(9,13,25,29)-4,16 D
(17,19,21,23)-2,4 C
(17,19,25,27)-2,8 B
(17,21,25,29)-4,8 A
Expresin de cada implicante
a b c d e
A
1--01
ad
1-0-1
a e e
lo
abe
-1-01
bde
-10-1
b e e
1011-
abcd
0110-
abcd
-0110
bcd-e
0- 100
acde
001-0
asee
22
23
17
:19
21
A
~{
. . .. ... . . . . . . . . . ... . . . . . . . . . . .. . . . . . . . . . . . . . ....
x X . . . . . . . .... .
..... . .. . . . . . . . . . .... . . . . . . . . .. . .. . . . . . . . . . . . .. .. . . . . . . . . . . . . . ..... . . . . . . . .l. .x . . . . . . . .. . . . . . . . . . . .... . .. . . . .
C... .
.
D
X
E
X
X
F
X
X
G
X
X
H
X
X
I
X
X
J
X
9
11
12
13
25
t{
... . X . . . .
,.
27
29
X
x ....... .. ..
A
X
t{
X
'
0 0
. . . .. . . . . . . . . . . . . ..
V. . . . .
c.... . . . . . . .. . . . . . . .. . . . . . . . . .
-. . . .
73
f = E+C+H+D+I = bce+abe+bcd+bde+cd
b) Con puertas NOR, el procedimiento es similar con las diferencias de que hay que obtener una expresin mnima en forma producto de sumas (ps) y, por tanto, hay que partir de la
expresin producto de maxtrminos de f . A partir de esta expresin, el mtodo de Quine-McCluskey se aplica exactamente igual que en el caso anterior . La solucin que se obtiene es la
siguiente :
- C4 : Si van A y C, debe ir B D .
- C 5 : Si va C D no va A, debe ir B .
F valdr 1 cuando la eleccin sea incorrecta, esto es, cuando se incumpla alguna de las
condiciones . Podemos expresar F como una suma de productos donde cada trmino producto
representa una condicin :
F = C1 + C2 + C3 + C4 + C5
74
CX = 1 si no se cumple la condicin .
CX = 0 si se cumple la condicin .
La condicin C 1 se incumple en el caso de que no vaya ninguna chica, esto es, en el caso
de que A=0 B=0 C=0 y D=0 . En este caso C 1 =1 . El trmino producto asociado a esta condicin
es el mintrmino 0 : C 1 =A B C D .
La condicin C2 se incumple en el caso de que vayan todas las chicas, esto es, en el caso
de que A=1 B=1 C=1 y D=1 . En este caso C 2=1 . El trmino producto asociado a esta condicin
es el mintrmino 15 : C 2=A B C D .
La condicin C3 se incumple en el caso de que vaya B y no vaya C . Esto es, si B=1 y
C=0 . En este caso C3=1 . El trmino producto asociado a esta condicin es : C3=B C .
La condicin C4 se incumple en el caso de que vayan A y C y no vayan ni B ni D . Esto
es, si A=1 C=1 B=0 y D=0 . En este caso C4=1 . El trmino producto asociado a esta condicin
es : C4=A C B D.
La condicin C 5 se incumple en el caso de que vayan C o D o no vaya A y no vaya B .
Esto es, si (C=1 D=1 A=0) y B=O . En este caso C 5 =1 . El trmino asociado a esta condicin
es : C 5 = (C+D+A)B= A B+ B C+ B D .
De esta forma se obtiene que F=ABCD+ABCD+BC+ACBD+AB+BC+BD
En forma de suma de mintrminos queda : F = E (0,1,2,3,4,5,9,10,11,12,13,15)
A continuacin, vamos a obtener una expresin ptima de F mediante el mtodo de
Quine-McCluskey que consta de dos partes .
1) Obtencin de las implicantes primas . En nuestro caso, se obtiene :
Mintrminos listados
por su ndice
ndice 0
0<
ndice 1
1<
2<
4<
ndice 2
3<
5<
9<
10<
12<
Implicantes de
dos mntrminos
(0,1)-1<
(0,2)-2<
(0,4)-2<
(1,3)-2<
(1,5)-4<
(1,9)-8<
(2,3)-1<
(2,10)-8<
(4,5)-1 <
(4,12)-8<
Implicantes de
cuatro mntrminos
(0,1,2,3)-2,1
(0,1,4,5)-4,1
(1,3,9,11)-8,2
(1,5,9,13)-8,4
(2,3,10,11)-8,1
(4,5,12,13)-8,1
11
12
13
14
15
16
(9,11,13,15)-4,2 17
ndice 3
ndice 4
11 <
13<
15<
(3,11)-8<
(5,13)-8<
(9,11)-2<
(9,13)-4<
(10,11)-1<
(12,13)-1<
(11,15)-4<
(13,15)-2<
11
00--
12
0-0-
AC
13
-0-1
BD
14
--01
CD
15
-01-
BC
16
-10-
BC
17
1--1
AD
75
I I) Cubrimiento mnimo
Construimos la tabla de implicantes :
0
X
C
D
X
E . . ... .
F . . . . . . . . . . . . .
10
11
12
X
k
. . .
- -----
.
.-
. . . . . K . . . . ..x
. . . . . .. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .. . . . . . . . . . . . . . . . . .
15
X
. . . . .
. . . . . . .
13
... . . .
.... .
.. . . . . . . . . . . . . . . -. . . .i . .
....
.
.....
a
. . . . . . .;
.....
10 es una columna distinguida, entonces, IE es una implicante prima esencial . Se eliminan los mintrminos de IE : 2, 3, 10, 1 . Lo mismo ocurre con la columna 12 y la implicante IF,
y se eliminarn los mintrminos de IF : 4, 5, 12, 13 .
15 tambin es una columna distinguida e IG es una implicante prima esencial . En este
caso se eliminan los mintrminos de IG : 9, 11, 11, 15 .
En este punto reescribimos la tabla eliminando las columnas y filas ya tachadas .
1
B
. . . .e
...... ....
1
X
AB
F = IE+IF+IG+ IA = BC+BC+AD+
IB
AC
x
x
x xx
x
x
x
B
D
xE
F
G
La empresa quiere construir almacenes de forma que cada pueblo, o bien tenga un
almacn o bien un pueblo vecino lo tenga .
76
X
X
c
d
e
f
g
h
X
X
X
X
X
X
X
donde a, b, c, d, e, f, g y h representan un almacn en los pueblos A, B, C, D, E, F, G y H respectivamente . Cada uno de ellos cubre al pueblo donde est instalado y a los pueblos vecinos .
Por ejemplo, un almacn en el pueblo A, fila a, cubre a los pueblos A, B, D y F .
A partir de aqu el procedimiento es igual al del cubrimiento en Quine-McCluskey :
Columnas distinguidas ; filas dominadas y columnas dominantes . No obstante, en el enunciado
X
X
c
d
e
f
g
X
X
X
X
X
X
X
77
a
b
c
e
f
g
X
X
X
X
X
Con h se cubre el resto de la tabla . As pues con d y h se cubren todas las columnas .
2.- Eligiendo e : Eliminamos las filas que cubre e : E y F quedando la siguiente tabla :
a
b
c
d
f
g
h
X
X
X
X
X
X
X
X
X
X
B
X
X
X
X
X
X
Con c se cubre el resto de la tabla . As pues con f y c se cubre todas las columnas .
Existen por tanto dos soluciones mnimas : Poner almacenes en los pueblos D y H
ponerlos en los pueblos C y F .
Existe otra forma de resolver la tabla de cubrimiento, aplicando el mtodo de Petrick .
Este es un mtodo que consiste en lo siguiente :
1 .- Se forma la funcin de Petrick como expresin producto de sumas, donde cada trmino suma corresponde a las formas de cubrir una columna mediante filas . P.ej ., A se cubre
con (a+b+d+f) :
78
P = (a+b+d+f)(a+b+c+d)(b+c+d+g+h)(a+b+d+e)(d+e+f)(a+e+f+h)(c+g+h)(c+f+g+h) .
2 .- Se obtiene la funcin de Petrick como suma de productos . El cubrimiento mnimo se
obtiene con las filas que aparecen en los trminos producto con menor nmero de literales :
P = cf+dh+acd+ace+ (el resto de trminos producto tiene 3 o ms literales) .
Por tanto, las soluciones mnimas son construir en C y F en D y H .
b) Si en A y G se colocan almacenes estn cubiertos todos los pueblos vecinos de A y
G junto con ellos . Se pueden eliminar de la tabla de cubrimiento inicial . Al eliminar estos pueblos la tabla queda como sigue :
1
d
e
E
X
X
Hay, pues, tres soluciones mnimas en esta caso son : { A,G,E }, { A,G,D } y { A,G,F } .
Problema 20.- Disee, con el menor nmero posible de puertas, un divisor por 2 de un dgito
BCD . D el resultado con una cifra decimal (tambin en BCD) .
Solucin P20 .-Debemos disear un circuito con 4 seales de entrada representando un dgito
BCD y que genere a la salida el resultado de dividir ese dgito por 2 . El resultado deber tener
una cifra decimal y estar representado en BCD . Por tanto la salida tendr 8 seales : z3 z 2z 1 _
z0 .u3u2u1u0, donde z3z2z1z0 representa el dgito BCD de la parte entera de la divisin y
u3u2u1u0 el dgito BCD de la parte fraccionaria .
La tabla de verdad del circuito es la siguiente :
N
0
1
2
3
4
5
6
7
8
9
ENTRADAS
a b c d
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0101
0 1 1 0
01 1 1
1 0 0 0
1001
SALIDAS
N/2
0 .0
0 .5
1 .0
1 .5
2 .0
2 .5
3 .0
3 .5
4 .0
4 .5
z3z2z1z0 .u3u2u1u0
0 0 0 0 .0 0 0 0
0 0 0 0 .0 1 0 1
0 0 0 1. 0 0 0 0
0 0 0 1 .0 1 0 1
0 0 1 0 .0 0 0 0
0010 .0101
0 0 1 1 .0 0 0 0
001 1 .0101
0 1 0 0 .0 0 0 0
0100 .0101
De la tabla de verdad se obtiene una expresin para cada salida sin ms que comparar
las columnas de cada salida con las columnas de las entradas . As se tiene :
z3=0,z2=a,z1=b, z0=c,u3=0,u2=d,u1=0,up=d .
79
Problema 21 .- Una cierta puerta de cuatro entradas llamada LIMON realiza la funcin
siguiente:
L IMON(A, B, C, D)=BC(A+D)
Suponiendo entradas en doble ral:
a) Realice la funcin:
f (v, x, y, z) = E (0, 1, 6, 9, 10, 11, 14, 15)
con slo tres LIMON y una OR .
b) Puede realizarse cualquier funcin en lgica LIMON/OR? .
n
090
f = vy + v x y + v x z + xyz (1)
x y z (2)
f
Tenemos dos opciones para f, (1) y (2) . Como slo disponemos de tres puertas LIMON
y la funcin f tiene 4 trminos productos, debemos usar una puerta LIMON para implementar
dos de los 4 trminos productos . Para ellos necesitamos dos trminos productos que compartan
dos variables . Esto es posible en la opcin (2), con los trminos productos v x y y x y z. La
suma de estos trminos productos la podemos implementar con la siguiente puerta LIMON :
LIMON (v,x,y,z) = v x y + x y z = L 1
Los otros dos trminos productos los implementamos cada uno de ellos con una puerta
LIMON de la siguiente manera :
LIMON (l ,v,y,1) = v y = L 2.
LIMON (v,x,z,0) =v x z = L3.
Por tanto :
f= L, +L2 +L3
b) Con la puerta LIMON podemos implementar trminos productos de hasta tres variables . Para implementar un trmino producto de ms de tres variables necesitamos ms de una
puerta LIMON pero es posible implementarlo . Por tanto s es posible implementar cualquier
funcin utilizando exclusivamente puertas 'LIMON (con tantos niveles como se necesiten) y
puertas OR.
80
Problema 22.- Se desea enviar mensajes de tres bits de una estacin a otra y, para evitar en
lo posible los errores, se ha decidido aadirle al mensaje un bit de paridad impar . Disponiendo
nicamente de puertas EXOR y NO-EXOR de dos entradas :
a) Disee el circuito que genere ese bit de paridad impar en la estacin emisora .
b) Disee tambin el circuito que compruebe en la estacin receptora que el mensaje
recibido es correcto.
c) Generalice ambos apartados para n bits.
Solucin P22 .
a) El enunciado nos pide disear un circuito que genere un bit de paridad impar a un cdigo de 3bits :
b
P = 0 si el n- de "1"
en abc es impar
CIRCUITO
COMBINACIONAL
P = 1 si el n2 de "I"
en abc es par
b) El enunciado nos pide disear un circuito que detecte un error de paridad impar en un
cdigo de 4 bits :
CIRCUITO
COMBINACIONAL
E = 0 si el n4 de "1"
en abcP es impar
E = 1 si el n - de "1"
E en abcP es par
81
=1
o- E
Solucin P23 .- Para 4 bits de entrada existen 4 bits de salida cuyas expresiones y el circuito
final son las siguientes :
82
A2
Ao
Co = Ao
?1
>1
C 1 =A o +OA 1
C2 = (Ao+A1) OA2
C3 = ( Ao+A 1 +A 2 ) +OA 3
C3
C2
C1
Co
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
C 3 - o= Ca 2 (A3-o)
83
A1
A2
>_1
_1
Ao
>_1
>_1
Kout-
Kin
1
=1
=1
=1
=1
Bo
c,
C3
A jo A9 A 8
A7
A6
A5
A4
A3
A2
Al
Ao
A3
Kout
A2
Al
Ao
Kin
A3
A2
Kout
A1
Ao
Kin
C3
C2
Cl
A3 A 2
Kout
C3
C2
C10
C9
C11
Al
Ao
Kin
CO
C8
C7
C6
Cl
Co
C3
C2
C1
Co
C5
C4
C3
C2
C1
Co
01
11
lo 0
0
0
Solucin P24.-f=abe+abcd+acde+abde
Problema 25.- Disee de forma ptima, un circuito que genere la funcin f(a,b,c,d,e) y cuya
realizacin sea en dos niveles :
a) f = E ( 0, 1, 5, 6, 9) + d (10, 11, 12, 13, 14, 15) .
b) f = 1 ( 0, 2, 5, 7, 13, 15, 18, 26, 29, 31) + d(20, 24, 28) .
Solucin P25 .
a)fsp =bc+bcd+cd
fps =(+d) (b+c) (c+d) (b+c+d)
b)fsp =ace+bce+atice+acde
fps =(c+ e) (c + e) (a + b + c) (a + d + e) (a+ b + e)
Problema 26.- Sea F una funcin de un dgito BCD y de una entrada de control X. F vale "1 "
en los siguientes casos :
1) Si X= 1 y el n BCD es mltiplo de 3.
2) Si X=0 y el n BCD tiene un n 2 impar de unos.
Implemente F como un circuito en dos niveles utilizando puertas NAND .
Solucin P26 .- El mapa de Karnaugh y una expresin en forma sp (para implementar la funcin en dos niveles NAND-NAND) son los siguientes :
Xab
000 001 011 010 110 111
d
00
01
11
10
Lp
R Ei
,v
d
C~
1 o ~4\
101
100
0
f
f = Xbcd+Xbcd+Xbcd+Xbcd+Xad+Xad+Xbcd+Xbcd+Xbcd
x
y
z
Solucin P27 .- Primero hay que analizarlo, para posteriormente buscar una expresin en suma
de productos :
85
Problema 28.- Disee un circuito cuya salida sea el resto de la divisin de un nmero A de
tres bits entre un nmero B de dos . El nmero B nunca puede ser cero .
Solucin P28 .- El mapa de Karnaugh y las expresiones en forma sp para las dos salidas que
forman el "resto" de la divisin son los siguientes :
011
010 110
111
101
100
dd
dd
dd
dd
dd
dd
dd
dd
00
00
00
00
00
00
00
00
00
01
00
10
00
01
10
01
00
01
01
00
00
01
01
00
r a ro
Problema 29.- Un sistema sencillo para hacer votacin secreta es utilizar un circuito combinacional cuyas entradas estn controladas por interruptores que puedan accionar los miembros del jurado . Cada miembro votar con un S o un NO (no hay abstenciones) .
El sistema que queremos realizar es el siguiente . Hay dos tribunales : A y B. El tribunal
A tiene 4 miembros (a,b,c, y d) y el tribunal B tres (e,f, y g). El veredicto deber ser..
- El del tribunal A en el caso de que no se produzca empate .
-4 Si se produce empate en el tribunal A, el veredicto ser el del tribunal B .
Disee el circuito segn el diagrama de bloques de la figura:
CIRCUITO A
CIRCUITO C
CIRCUITO B
86
Del circuito B :
F 3 = 0 cuando gana NO en la votacin del tribunal B .
F 3 = 1 cuando gana S en la votacin del tribunal B .
Del circuito C :
S = 0 cuando gana NO en la votacin global .
S = 1 cuando gana S en la votacin global .
Los mapas de Karnaugh para cada una de las funciones y sus expresiones en forma sp
son los siguientes :
ab
cd\ 00 01 11 10
ab
cd\ 00 01 11 10
00
00
01
01
11
11
10
10
F I = bcd+bcd+bcd+ a b e d + a b c d + a b c d
F2= a b + c d
u
aoo
S= F 1 F2 + F 1 F 3
F3 =ef+eg+fg
Problema 30.- Se desean visualizar las siguientes representaciones utilizando un visualizador de 7 segmentos . Disee un circuito de tres entradas que encienda correctamente el segmento g .
REPRESENTACIONES
El
1
I_
1
IC
uLUL
VISUALIZADOR
7 SEGMENTOS
87
Son 6 casos los que hay que representar por lo que se necesitan tres entradas : x, y, z :
REPRESENTACIONES
x y z
> 000
u
r
L
>
U
C
L
C >
001
010
011
1
g=y+z
100
101
Problema 31 .- Una caja de seguridad dispone de 5 cerrojos (V,W,X,Y,Z) los cuales deben
ser desbloqueados para abrirla caja . Las llaves de la caja estn distribuidas entre 5 ejecutivos
de la siguiente manera : A tiene llaves para los cerrojos V, X; B para V, Y; C para W, Y; D para
X, Z; E para V, ZZ
a) Determine todas las combinaciones mnimas de ejecutivos requeridos para abrir la
caja .
b) Determine el ejecutivo "esencial".
Solucin P31 .- Es un problema de cubrimiento mnimo y para resolverlo se debe aplicar el
mtodo ya conocido (vanse los Problemas 17 y 19) . La tabla de cubrimiento es :
A
B
x
x
C
E
x
x
x
x
x
x
Las combinaciones de ejecutivos mnimas que se obtienen con esta tabla de cubrimiento
son : (A, C, E } ( A, C, D ) { B, C, D } {C, D, E } . El ejecutivo "esencial" es el C .
Problema 32.- Dada una palabra "A" de n bits y una seal de control "C", disear un circuito
combinacional cuya salida sea el complemento a 1 (Ca 1) el complemento a 2 (Ca2), segn
el valor de C . Utilice exclusivamente puertas EXOR y OR .
Solucin P32 .- Sea A=An_1An_2 A 1 Ap el nmero de entrada y B = Bn_1Bn_2 B 1 Bp el
nmero de salida . El circuito que obtiene el complemento a 1 a 2 en funcin del valor de C
es el siguiente :
88
Si C = 0, B = Ca2(A)
Si C = 1, B = Cal (A)
A
n-
_1
An-
?l
>1
=1
B n-1 -
Problema 33.- Una luz se enciende cuando su seal de excitacin est en nivel bajo . Esta
seal est controlada por un circuito de cuatro entradas : x, ->orden de encender la luz, activa
en bajo ; x2 ->orden de inhibir la luz, activa en bajo ; x3 ->orden de emergencia, activa en bajo;
x4 ->aviso del estado de la luz en la calle : "1" si es de da, "0" si es de noche . La luz se debe
iluminar cuando haya orden de encenderla, el estado de la luz exterior sea el apropiado y no
haya inhibicin, excepto si hay emergencia, en cuyo caso la luz se enciende independientemente de las otras seales .
De una tabla de verdad del circuito que controla la luz disendolo con los elementos
que estime oportunos .
Solucin P33.- Funcin de salida :
L=0 luz encendida .
L = 1
luz apagada .
Variables de entrada :
x1 = 0 encender luz .
x 1 = 1 no encender luz .
x 2 = 0 inhibir luz .
x 2 = 1 no inhibir luz .
x 3 = 0 emergencia .
x3 = 1 no emergencia .
x4 = 0 es de noche .
X4= 1 es de da.
Funcin L :
L = 0 si se enciende y es de noche y no hay inhibicin : (xt+x 4+x2) .
L = 0 si hay emergencia : x 3
L = (x 1+x4+x2)x3 .
Captulo 5
SUBSISTEMAS COMBINACIONALES
En este Captulo se abordan los subsistemas combinacionales . Con este nombre se agrupa a
una gran diversidad de circuitos que, a nivel estructural son generalmente mucho ms
complejos que las puertas estando integrados en al menos la escala MSI y cuya funcionalidad
va mucho ms all de las meras operaciones algebraicas . Una clasificacin atendiendo a dicha
funcionalidad los divide en subsistemas de propsito especfico y subsistemas de propsito
general . Los primeros realizan funciones fijas, mientras que los segundos realizan cualquier
funcin lgica mediante una "programacin" interna o de sus entradas y salidas . Antes de
conocer uno a uno los dispositivos que componen ambos grupos, destacamos algunas
caractersticas comunes .
En cuanto a los tipos de entradas se pueden distinguir dos : las de control y las de datos .
Las primeras controlan la operacin del dispositivo y suelen recibir nombres como el de seal
de habilitacin (Enable) . Y las segundas corresponden a las variables independientes de las
funciones que desarrollan . Es importante destacar que en estos dispositivos, cada entrada de
dato suele poseer un peso asociado, de modo que las entradas no son intercambiables como
ocurra en las puertas . Respecto a las salidas, tambin existen las de control, que avisan de determinadas situaciones o estados en el que se encuentra el dispositivo, y las de datos, que son
realmente las que dan respuesta al conjunto de entradas en cada instante .
Respecto a la actividad de las seales, estas pueden ser activas en bajo o en alto . Si por
ejemplo, nos referimos a la entrada de habilitacin (EN), que sea activa en alta significa que
cuando sta tenga el valor lgico 1 1 , el dispositivo realiza la funcin para la cual est diseado,
y si est a 0, el dispositivo no est habilitado para desarrollar su funcin . En los circuitos de
esta obra, las seales activas en bajo se representan con un "crculo" (por ej ., las seales de
habilitacin 1 y 2 del problema 6) y las que son en alto, sin l (por ej ., E 3 en el problema 6) .
Cuando un dispositivo no est habilitado, sus salidas estarn fijas a un valor determinado que, segn su diseo, puede ser 0, 1 o un tercer estado de alta impedancia (HI) .
1 Recordemos
89
90
EN
1
EN
3 - d3
xo
do
dl
d2
d3
.xo EN
= x 1 .x oEN
0 - d o = x 1 .xo EN
2- d 2
1 - d1
x1
= x 1 .x o EN
= x1
DEC 2 :4
pleto .
Codificador :
Realiza la operacin contraria al decodificador . Es decir, convierte el cdigo "l-entre-n" en
cdigo binario . Un codificador completo posee 2" entradas, de las que slo una puede estar
activa, y n salidas que ofrecen la combinacin binaria asociada a dicha entrada . Su smbolo,
tabla y ecuaciones de salida son las siguientes :
C3
C2
C1
Co
Yl
Yo
Y1= c3+c2
2
1
Co
Y0= C3+c 1
COD 4 :2
SUBSISTEMAS COMBINACIONALES
c3
c2
1
0 1
0 0 1
c0
Yi
91
Yo
Convertidor de cdigos :
Consiste en un subsistema combinacional que convierte un cdigo de entrada en otro de salida .
El nmero de lneas de entrada y de salida depende de los cdigos que se convierten . Los casos
particulares en los que uno de los cdigos sea "1-entre-n" son los dispositivos antes vistos .
Comparador de magnitudes :
Es un dispositivo que compara las magnitudes de dos datos A y B de n bits, para dar como
resultado si A<B, A=B o A<B . El smbolo y la tabla son :
A -,>
n
-2o( -A
A>B
A=B
A<B - L
Datos G E L
A>B 1 0 0
A=B 0 1 0
A<B 0 0 1
S I SO
S i So
0 0
0 1
1 0
1 1
Co
C1
C2
C3
Demultiplexor :
Realiza la funcin inversa al multiplexor . Un DEMUX-n o DEMUX 1 :2", posee una entrada
de dato, n entradas de seleccin y 2n lneas o canales de salida . Su funcin consiste en pasar la
informacin de entrada de dato a una de las lneas de salida, la determinada por la combinacin
92
C 0=
C1=
C2=
C3=
Din
Din S 1 Sp
Din S 1 S o
Din S, -90
Din S 1 -So
siso
S 1 So
Co C1 C2
C3
0
0
1
1
Din 0 0
0 Din 0
0 0 Din
0
0
0
0
1
0
1
Din
Analizando la tabla se puede comprobar que el dispositivo es equivalente a un decodificador con seal de habilitacin EN= Din .
Dispositivos Lgicos Programables (PLD's) :
Su estructura general es la siguiente :
plano AND
----
plano OR
lneas AND
entradas
salidas
plano AND
plano OR
No programable
Programable
ROM
Programable
Programable
PLA
Programable
No programable
PAL
ROM :
Una ROM(2 n xm) posee n entradas de direccin y m salidas, que puede verse como un dispositivo que almacena 2n palabras de m bits, de forma que para cada combinacin binaria de sus
n entradas se selecciona una de sus 2n palabras . En las m lneas de salida se lee la palabra almacenada . Del plano AND de una ROM se obtienen todos los mintrminos de las n variables
de entrada, y en funcin de la programacin del plano OR, se eligen los que interesen para realizar la funcin lgica que se desee . Por tanto, una ROM es un dispositivo lgico universal de
n variables para m funciones .
SUBSISTEMAS COMBINACIONALES
93
PLA :
Un PLA(n,p,m) es un subsistema con n entradas, m salidas y p trminos productos (salidas del
plano AND) . Mediante este dispositivo pueden implementarse m funciones lgicas de n variables expresadas en sumas de productos si para ello no se superan los p trminos ANDs disponibles .
PAL:
En este dispositivo cada salida es la OR de un conjunto determinado de lneas AND, no estando compartidas ninguna de ellas por otra salida . La implementacin de una funcin con este
dispositivo es similar al caso anterior, salvo que en el PAL cada funcin de salida se trata independientemente de las otras .
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias :
- Anlisis de circuitos con subsistemas .
- Diseo de subsistemas .
- Diseo de funciones lgicas con subsistemas .
PROBLEMAS RESUELTOS
Problema 1.-Describa con palabras el funcionamiento del circuito :
x>y
xo
yl
x=y E
x<y
2
3
4
5
6
Solucin Pl .- Si las entradas x t xo son mayores o igual a y yo, se activarn las salidas G o E,
respectivamente, del comparador de magnitudes . Estas salidas, gracias a la puerta OR, provocan que la entrada del demultiplexor sea un 1 lgico . Habr, ahora, que determinar cul es el
canal de salida, en funcin de las seales de seleccin . Puesto que x>y, la salida L del comparador es 0, por tanto los canales seleccionados dependen slo de y t (canal 1 o canal 5) . Como
puede verse, estos canales estn unidos mediante una OR, por lo que la salida ser 1 .
Cuando x<y, la salida L del comparador est activa . La entrada del DMUX se encuentra
a 0 e, independientemente de las entradas de seleccin, los canales valdrn todos 0, y la salida
tambin .
En resumen, si x>y, f=1 y si x<y, f=0 .
94
do
0
di 1
d2
d 2
1
F
0
u v
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0 0
1 1 - 1
0 1 - 0
1 1 1 1
0 0 0 0
0
0
0
1
0
1 0 1
1 1 0
1 1 1
1 1 - 1 0
0 1 0 0 0
1 0 - 0 1
x y z
do d
0
0
0
0
1
1
1
1
0 0 0 0
1 1 1 0
0 1 - 0
1 1 1 1
0 0 0 0
1 1 1 0
0 1 0 0
1 0 - 1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
que, junto con las seales de seleccin de canal, podemos construir el K-mapa siguiente :
xyz
000 001 011 010 110 111 101 100
uv
00
01
11
10
f
de donde obtenemos la expresin mnima :
f = v
Problema 3.-
z + y . z+u y -z+ v y z + x z
D
A3
A2
Al
Ao
D3
D2
convertidor
binario/BCD
conv
BCD
7 seg
b
c
e
f
g
el
ROM
D
D
conv
BCD
7 seg
b'
e'
f
l c
d
a'
fl
e l
l b,
l c'
d'
SUBSISTEMAS COMBINACIONALES
95
Solucin P3 .- Dada una entrada (A3,A 2,A 1 ,A0), se selecciona una posicin de la ROM cuyo
contenido se vuelca en el bus de datos (D 4-0) . El convertidor binario a BCD, transforma el nmero binario en su correspondiente BCD de 2 dgitos . Estos dgitos BCD, se muestran en sendos displays de 7 segmentos . Por tanto, el sistema de la figura, sirve para mostrar el contenido
de una memoria ROM en formato decimal .
Problema 4 .-Disee un codificador de prioridad de 4 entradas activas en el nivel bajo . Aada
una salida que indique cundo no hay ninguna entrada activa .
Solucin P4 .
EO
EO
El .
E2
E
El
E2
E3
0
A1
AO
c 1
2
C
Y
COD
A1
Ao
0
1
Problema 5 .- Se tienen dos codificadores de prioridad 4 a 2 como el de la figura . Este dispositivo dispone de una entrada de habilitacin El y dos salidas EO y GS . EO se activa cuando
el codificador est habilitado pero no hay ninguna entrada de datos activa, mientras que GS
se activa cuando el codificador est habilitado y hay alguna entrada activa . Disee un codificador de prioridad de 8 a 3 de las mismas caractersticas de los anteriores . Adems de los
dos codificadores, se pueden emplear hasta un mximo de ocho puertas de Jos entradas .
EO
El
13
12
I1
lo
GS
COD
Ql
Qo
Solucin P5.- De acuerdo con la descripcin del enunciado y suponiendo que la entrada del
dispositivo con mayor prioridad es 1 3 , la tabla de verdad es :
El
EO
GS
Qo
No habilitado
El dispositivo a realizar es una extensin de ste . Llamando con minsculas a sus variables, nuestro objetivo es realizar el siguiente circuito :
COD 8 :3
i7
i6
i5
i4
i3
i2
il
eo
gs
q2
q1
q0
eo
gs
q2
q1
q0
SUBSISTEMAS COMBINACIONALES
97
EO >
El
i7
C 13
i6
c 12
GS
T ea
g
Ql
lo
COD
Qo
Circuito
q2
combinacional
qi
q0
-C
'3
2
it
io
-~ I 1
Ql
Qo
COD
COD 8 :3
-----------------------------------------------------En esta solucin, la habilitacin externa acta sobre el codificador H (ms prioritario)
y, slo cuando no hay peticin en i 7 ,
o i 4 , se habilitar el codificador L (menos prioritario) . Para ello, conectamos EO H con EIL .
Adems existe un circuito combinacional que, recibiendo como entradas las salidas de
los codificadores, genera las salidas deseadas .
Para nuestra solucin se cumplen las siguientes relaciones :
El = e;
EIL = EOH
La tabla siguiente muestra los valores de entradas del codificador completo y el valor
de las seales intermedias que sern las salidas de cada uno de los dos codificadores que estamos utilizando .
98
e;
17
16
15
14
11
13
10
EO H GSH QIH QO
EO
GS L QI L. Q0
1-
A partir de la tabla anterior se pueden obtener las relaciones algebraicas para las cinco
funciones de salidas . Se han especificado a O las inespecificaciones en las salidas de los codificadores .
eo = EOL
gs = GS H
GSL
q2 = EOH
q1 = Q1 H + QI L
q0 = QOH + Q0L
El
13
12
co
GS
H
gs
I,
Ql
CODQ0
El
EO
i3 c I
GS
i2
1 L
I1
q1
Ql
io
q0
COD
SUBSISTEMAS COMBINACIONALES
99
Solucin P6.- El decodificador del que disponemos, el Cl 74138, es el que se muestra a continuacin :
A2
Al
A0
2
1
0
Oo
O1
02
03
04
05
06
07
A partir de l, se quiere conseguir un decodificador 4 :16 . Para ello se requiere dos decodificadores y una de las posibles formas de asociarlos es como se ve en la siguiente figura,
donde la nueva variable de entrada elige, segn su valor lgico, cul de los dos decodificadores
estar habilitado . Para ello, de las tres entradas de habilitacin que tiene cada uno de los decodificadores, dos de ellas la fijamos al valor lgico correcto para habilitar al decodificador, y la
tercera entrada de enable es con la que se pretende ir habilitando uno u otro .
Oo
O1
2
04
05
06
O6
089
0 10
Oll
0,2
0,3
0 14
X15
Como comentario del decodificador obtenido se puede decir que no posee seales de habilitacin como tena el inicial . Si se hubiera querido conservar stas, se tenan que haber utilizado mayor nmero de decodificadores .
Procediendo del mismo modo se puede conseguir un decodificador 5 :32 asociando cuatro decodificadores y un inversor . Se muestra en la siguiente figura :
100
-----------------------------------
EA
1 r-~1
0
a4
4
5
1
2
3
04
5
07
a3 -
11
, E2E, J_
1
a2 -`
al a0
2
1
E, E2 E3
2
1
0
2T- ~
~r
4
Ser
6 !7 --
8
9
10
11
12
13
0 14
0 15
`16
1 ~-~17
2>-r
18
3~-~19
4
20
5r- ` 0 21
822
T
23
01
E 30-24
1>~ 25
2>
26
!
2
3)
.
27
1
1
4'
28
5 >- :- 029
0 30
7Yr 0 31
DEC 5 :3L
1
Problema 7.-La figura muestra un comparador de dos nmeros de 1 bit y su tabla de verdad .
Se desea obtener un comparador de nmeros de 6 bits, utilizando exclusivamente comparadores de 1 bit. El diseo debe contemplar que el tiempo de retraso no supere 4T, donde T es
el retraso asociado al comparador de 1 bit .
SUBSISTEMAS COMBINACIONALES
101
Bi
A;
Ci Ai B i Ei
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
Ei
Solucin P7 .- Para comparar dos nmeros de 6 bits, con estos dispositivos, necesitaremos
comparar, bit a bit, los dos nmeros . Utilizaremos, por ello, 6 comparadores :
A2
C
B2
C2
A5
El
A4
EO
B5
E2
A3
B4
B3
E5
E4
E3
Supongamos que los bits A 0 y B 0 son distintos . La salida E0 , evaluar 0 . Esto implica
que, independientemente de que los restantes bits sean iguales, la salida global debe evaluar 0 .
Nos podemos valer de las entradas de habilitacin de los restantes comparadores para que sus
salidas tambin sean 0 . Extendemos este concepto a slo 3 comparadores, para no superar las
restricciones temporales .
Ao
Al
BO
B1
A2
B2
C2
A4
C5
B4
C3
C4
E5
A3
E4
E3
Para las estructuras anteriores, E 2 y E3 sern distintos de 0, cuando los bits de los nmeros A y B sean iguales . Si alguno de ellos vara, E 2 o/y E 3 , pero al menos uno de los dos, ser
0 . En efecto, supongamos que A 1 es distinto de B 1 , y todos los bits restantes son iguales . La
salida del primer comparador, E 0 , ser 1 (en el supuesto de que la entrada de habilitacin sea
1) . Esto habilita la comparacin del segundo comparador que, como sus bits de entrada difieren, generar un 0 en su salida E 1 . Esta salida inhibe al siguiente comparador, cuya salida tambin ser 0, independientemente de A 2 y B 2 .
102
Bo
A1
Co
B1
A2
C1
C2
E o E l
A5
E2
A4
C5
B4
A3
C4
E5
B2
B3
C3
E4
E3
Nos falta, por ltimo, generar una nica salida E del comparador partir de E 2 y E3 y utilizando, como mucho, un comparador ms, para no superar el tiempo de respuesta (4T) . Se han
tabulado las posibles respuestas de E 2 , E 3 y de la salida a generar, E, en funcin de los bits de
datos y habilitacin
C
0
A,B
xxxxxxxxxxxx
E2 E 3
0 0
A0-2#B0-2 y A3-5#B3-5
0 0
SUBSISTEMAS COMBINACIONALES
E2
103
E3
C
1 E
Cuando E 2=0 (ver tabla), la salida E vale 0, por estar este comparador inhabilitado .
Cuando E2 =1, el comparador est habilitado y slo tenemos dos posibilidades, E 3 =1 y E3 =0 .
En la primera, el comparador activa su salida (E= 1) y en la segunda no .
Problema 8.-Realice las siguientes funciones haciendo uso de los dispositivos que se dan en
cada uno de los apartados:
a) Utilizando un decodificador con salidas activas en nivel alto y puertas OR .
Utilizando un decodificador con salidas activas en nivel bajo y puertas AND .
Utilizando un decodificador con salidas activas en alto y puertas NOR.
Utilizando un decodificador con salidas activas en bajo y puertas NAND .
E(0,9,11,15) + d(1,2,3)
F= JJ (0, 3,5) d(1,2)
Solucin P8 .- Si se dispone de un decodificador con salidas activas en alta, la expresin
algebraica que define cada una de stas ser el mintrmino correspondiente al nmero de
entradas que tenga dicho decodificador . Por tanto, si usamos en cada apartado un
decodificador con tantas entradas como variables tiene la funcin a disear, se dispondr de
todos los mintrminos de ese nmero de variables, en cuyo caso slo nos queda elegir entre
todas las salidas cules son los mintrminos de la funcin y realizar la operacin OR de todos .
De forma anloga, si el decodificador tiene las salidas activas en baja, la expresin para cada
un de ellas sern los maxtrminos del nmero de variables que posea el decodificador en su
entrada . Siguiendo el mismo procedimiento, podemos conseguir todos los maxtrminos
distintos del nmero de variables que posea la funcin y elegir los que sean maxtrminos de
sta . Bastara despus realizar la operacin AND de stos .
Pasamos a resolver el problema para cada una de las funciones del enunciado
F (a,b,c,d) = E(0,9,11,15) + d(1,2,3)
a) utilizando decodificador salidas activas nivel alto y puertas OR :
0
1
2
b
c
4
5
6
7
8
2
1
9
10
DEC
4 :16
1
11
13
14
15
104
2
1
0
a
DEC
4 :16
c) utilizando decodificador salidas activas nivel alto y puertas NOR .
Para este caso, dado que disponemos de una puerta NOR, tomaremos los maxtrminos
de la funcin complementaria a la que queremos disear . De esta forma, a la salida de la puerta
se obtiene la funcin del enunciado .
2
1
d
DEC
4 :16
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
d
DEC
4 :16
0
1
2
3
4
5
6
7
8
9
10
11
12
13
15
SUBSISTEMAS COMBINACIONALES
105
0
1
2
3
1
0
DEC
3 :8
6
7
2
1
0
4
DEC
3 :8
6
7
I0 DEC
3 :8
Problema 9.-Encuentre un diseo mnimo para cada una de las siguientes funciones si slo
disponemos de un decodificador 3 :8 y de puertas de dos entradas .
a) F= E(0,9,11,15) + d(1,2,3)
b) F= fi (0, 3,5) - d(1,2)
c) F = n (1, 3,4, 6, 9,11) d(7,12,14)
d) F = n (1,2,3,7,8,9)
Solucin P9.- Para dar solucin a este problema, en el apartado b) se sigue el mismo procedimiento que en el Problema 8, pero para los otros tres apartados, las funciones son de cuatro
variables y el decodificador del que se dispone slo posee tres entradas . Con ello, de las salidas
de ste, se obtienen los mintrminos o maxtrminos de tres variables (dependiendo del tipo de
salida del decodificador), y aadiendo la cuarta variable (bien mediante operador AND u OR)
se consiguen los mintrminos o maxtrminos de la funcin que se necesiten .
106
a
b
c
abcd
b) F(a,b,c,d) = 11 (0,3,5) d(1,2) = a .(b + c) :
d
m6 + m7
2
1
0
DEC
3 :8
d) F (a,b,c,d) = [1 (1,2,3,7,8,9) :
a
b
2
1
0
DEC
3 :8
4
5
6
7
SUBSISTEMAS COMBINACIONALES
107
Problema 10.- Un circuito tiene como entradas dos nmeros binarios de dos bits cada uno :
Y= y,yo; X= x,xo . Se desea que tenga salidas 11 si Y=X, 10 si Y>X y 01 si Y<X . Disee un
circuito con un decodificador de 3 a 8 con salidas activas en alto, un nmero no determinado
de puertas NAND de dos entradas y dos puertas NAND de un nmero de entradas no limitado .
Aada una seal de habilitacin (enable) . Las entradas estn en nico ral . Utilice obligatoriamente el decodificador.
Solucin P10 .-Las funciones del circuito, considerando E como seal de habilitacin, estn
representadas en la siguiente tabla :
X
Zi
Zo
X=Y
X>Y
X<Y
Hemos elegido la salida Z 1 Z0 = 0 0 para indicar que el circuito est no activo puesto que
era la combinacin de salida no utilizada en el enunciado .
Para disear el circuito, primero consideraremos que no tenemos seal de habilitacin,
y como segundo paso aadiremos sta al circuito ya diseado previamente .
Para cada uno de los casos posibles de valores en las entradas X e Y conocemos los valores para las seales de salida . Mostramos este resultado en el siguiente mapa de Karnaugh :
00
01
11
10
Y
00
11
01
01
01
01
10
11
01
01
11
10
10
11
10
10
10
10
01
11
Z1 Zo
A partir del mapa anterior podemos dar las expresiones de cada una de las funciones de
salida .
(0,1,2,3,5,6,7,10,11,15)=fl (4,8,9,12,13,14) .
Z1 (x1 ,x0 ,y1 ,yo) =
(0,4,5,8,9,10,12,13,14,15) =11(1,2,3,6,7,11) .
Zo (x1 ,x0 , y1 ,yo) =
Ambas funciones dependen de cuatro variables . Como el decodificador es de tres entradas y ocho salidas activas en alta, en cada salida aparece uno de los ocho mintrminos de las
tres variables que actan como entradas en el decodificador . Esto es, dado que las salidas del
decodificador no proporcionan directamente los mintrminos de las funciones, tendremos que
realizar la operacin AND de la salida del decodificador con la cuarta variable con o sin complementar, segn corresponda . As tendremos:
108
xl'xo'Y , Yo = mo
Yo
xl'x0
Yl
1'
xl'x0'Y]
x1
Xo '
x0'Y1'Yo -M i
Yl
2
x1'xo'Y]
xo
x1
Xo'
Yi
Yl
5
6
xl'x0'Yi
xl'xo . Y 1
DEC3 :8
o -
Y1
Yo -
m14
xo " Y F Yo =
m15
xl . x0' Y1'
Yo
Yo
Yo
Al disponer de puertas NAND de dos entradas, si las puertas AND anteriores son sustituidas por puertas NAND, a la salida de stas dispondremos del complemento del mintrmino,
es decir, maxtrmino correspondiente de cuatro variables .
Adems, en el problema disponemos de dos puertas NAND de un nmero no limitado
de entradas . Podemos realizar las dos funciones descritas por producto de sus maxtrminos .
Como para ello tenemos dichas puertas NAND, este producto es negado a la salida, por lo que
podemos usar una puerta NAND de dos entradas actuando como inversor para conseguir la
funcin final .
miMi . . . M k
mi Mi . . . M k
Mi +mj + . . .mk
Como se puede ver en el grfico anterior, a la salida de la primera puerta NAND podemos obtener la funcin como suma (operacin OR) de sus mintrminos, y a la salida de la segunda puerta NAND se expresara la funcin como producto (operacin AND) de los maxtrminos .
Si pasamos a dar la solucin para cada una de las funciones obtenindolas como salidas
de las puertas NAND de nmero variable de entradas, tendras os que elegir como entradas de
dicha puerta los maxtrminos de cuatro variables, cuyo subndice sean las combinaciones binarias que hacen 1 a la funcin, as quedara expresada sta como suma de sus mintrminos .
Yo - &
Mo
Yo -
Yo
Yo
l
2
XI
1
M1
3
4
5
Y1
DEC
3 :8
Yo
M1
6
M1
M1
M1
Yo
[&
Yo
Yo
M oiM 1
M2M 3
M5
M M7
M10M11
M15
xl
xo
Y1
M .M
M
1
0
M1
DEC
3 :8
M
M8 M9
_J
Yo
Yo
M12 M 13
ZI
M1
Yo
Si incluimos la seal de habilitacin E que se defini en una tabla anterior, una de las
opciones para resolverlo sera aadirle al decodificador una entrada de habilitacin definida de
la siguiente forma :
110
X1
Xo
y1
1
2
3
4
5
DEC
3 :8
00
01
02
03
04
05
06
07
Problema 11 .- Disee un circuito de 4 entradas y 3 salidas, z0, z,, z2 que realice las siguientes
funciones :
zo vale 1 cuando tres o ms entradas sean 1 .
z, vale 1 cuando haya el mismo nmero de unos que de ceros .
z2 vale 0 cuando dos o ms entradas sean 1 .
Para ello se dispone de :
a) Un decodificador con salidas activas en nivel alto y puertas NOR .
b) Un decodificador con salidas activas en bajo y puertas NAND .
Solucin P11 .- El mapa de Karnaugh para las tres funciones de salidas y el circuito final se
muestra a continuacin :
00
01
11
10
00
001
001
010
001
01
001
010
100
010
11
010
100
100
100
10
001
010
100
010
zO=E (7,11,13,14,15)
z 1 = E (3,5,6,9,10,12)
z 2 = E (0,1,2,4,8)
zo z t z2
a) Se dispone de decodificador con salidas activas nivel alto y puertas NOR .
z0 = II (0,1,2,3,4,5,6,8,9,10,12) .
z 1 = 11 (0,1,2,4,7,8,11,13,14,15) .
Z2 = fI (3,5,6,7,9,10,11,12,13,14,15) .
SUBSISTEMAS COMBINACIONALES
DEC
4 :16
m58
m10
m6
m
7
m3
mp
ml
m2
m3
m4
m5
1
2
3
4
5
6
m1
m
m2
m4
6
m9
zp
12
m2
7
11
m14
8 -- m8
9
m9
mip
10
11
mil
12
m12
13
M13
14
m14
15
m 15
m10
m12
m14
zl
m6
m9
z2
11
M l3
15
z l = 11 (3,5,6,9,10,12) .
z2 = II (0,1,2,4,8) .
M7
M il
Mo
b
c
2
1
DEC
4:16
M1
2 r--- M2
M3
3 )
4
M4
5 )
5
M6
6
M7
7 ,
8
M8
9
M9
10
Mi0
11 '
M11
12 '
M12
13 ~-- M13
14' -- M14
15 ,
M15
M13
M14
M15
M5
z1
M9
M12
M
M1
M2
M4
M8
zp
z2
111
112
Solucin P12 .
a) Estructura general :
0
DECOD
A
B
2
1
C
D
1
2
3
5
6
7
BCD/Decimal 8
do
d1
d2
d3
d4
d5
d6
d,
dR
d9
1
2
3
CODIF
Z
2
Decimal/ 1
Exceso3 0
6
7
Z2
zi
Zo
BCD
Exceso -3
ABCD
Z3
Z2
0
1
Zo
1
7
8
1
1
0
0
1
1
z1
b) Estructura general :
o
DECOD
AB
C
D
1
2
3
2
1
4
5
6
7
BCD/Decimal 9
do ,
d,
d2
d3
d4
d5
d6
d7
dR
d
CODIF
2
3
4
5
Z
3
Decimal/ 2
6
7
Convertidor BCD/ 2 de 5
2de5
1
0
Z3
Z2
ZI
Z
SUBSISTEMAS COMBINACIONALES
BCD
ABCD
0
1
2
3
Z4
0
0
0
0
Z3
0
0
0
1
2 de 5
Z2
0
1
1
0
Z1
1
0
1
0
ZO
1
1
0
1
5
6
7
8
9
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
113
Z3 = E (3,4,5,9)= d 3+d4+d5+d9
Z 2 = E (1,2,5,8)= d 1 +d2+d5+d8
Z 1 = E (0,2,4,7)= d0+d2+d4+d7
ZO = E (0,1,3,6)= d0+d 1+d3+d6
Cada una de las funciones de salida se realizaran con puertas OR cuyas entradas seran
las salidas correspondientes del decodificador BCD/Decimal .
Problema 13 .- En un determinado sistema microcomputador, existen 3 subsistemas que
procesan la informacin de forma independiente a travs de cuatro fases de operacin . Por
propsitos de control, es necesario conocer :
a) Cundo dos o ms subsistemas estn en la misma fase .
b) Cundo exactamente dos subsistemas estn en la misma fase .
Cada subsistema genera una seal de dos bits para indicar en qu fase se encuentra
(00, 01,10,11) . Disee un circuito que permita conocer cundo el conjunto de subsistemas se
encuentra en alguna de las situaciones a) y b) .
Solucin P13 .- Sean A, B y C los tres subsistemas que generan las seales A 1 A0, B1B0 y
C 1 CO, que indican la fase de operacin de los tres subsistemas respectivamente .
El circuito a realizar debe tener dos salidas F y G que tomarn los siguientes valores :
F=1 si hay 2 o 3 subsistemas en la misma fase .
G=1 si hay exactamente dos subsistemas en la misma fase .
G=F=O en otros casos .
Para conocer si dos sistemas estn en fase o no, utilizamos un comparador de
magnitudes de 2 bits :
Al
AO
B,
BO
IAB
114
ama
EN a
10
FG
Tan slo comentar que existen casos que no pueden darse como entrada del circuito a
disear con puertas . Uno de estos casos es IAB IAC e I BC = 011 . En efecto, si el subsistema A
est en fase con el C (I AC = 1), y el subsistema C est, a su vez, en fase con el subsitema B
(I BC = 1) es imposible que el subsistema A est en desfase con B .
Las ecuaciones para las funciones F y G son :
F = IAB +IAC + IBC
G =
IAB - IAC
+ IAC
A
Ao
IA
BI
B0
AI Ao
CI
CO C,
Co
G
IB
B,B0
SUBSISTEMAS COMBINACIONALES
F=
115
E (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31)
00
01
10
11
000
0
0
0
1
001
1
1
0
0
010
0
0
0
1
011
1
1
1
1
100
1
1
0
0
101
0
0
0
0
110
1
0
1
0
111
1
1
0
1
1
Si
SO
y
Z3 Z 2 Z 1 Zp
SI
SO
0
0
1
1
0
1
0
1
Z3
A3
0
0
0
Z2
A2
A3
0
0
Z1
A1
A2
A3
0
Zp
Ao
Al
A2
A3
116
Cada Zi se obtiene de un MUX-2, donde cada fila s1 s 0 es un canal de entrada . Realizando el diseo quedara :
A3A2A I A 0
0 A3A2A 1
SI
So
0 0 A3A 2
0 0 0 A3
I J
Z3
Zo
00
01
00
11
00
10
Z3
z2 J
ZI
zo
1011
0010
donde s es el nmero s 1 s 0
y Lx]
Problema 16.- Redisee el circuito de la figura, utilizando slo MUX s 2 :1 . Deber reducirse
en los posible el nmero de multiplexores . La nica entrada disponible en doble ral es e .
1
0
e
0
e
1
e
1
0
1
2
3
4
5
6
7
1 s
c
2 1 0
1 I I
a b d
SUBSISTEMAS COMBINACIONALES
117
Solucin P16.- Para resolver este problema determinaremos, en primer lugar, el K-mapa de
la funcin F .
00
01
11
10
F
Para obtener el circuito de menor coste que implemente la funcin F, utilizando
multiplexores de 2 canales, slo podemos ir probando las diferentes realizaciones que surgan
de suponer a, b, d e, como variables de seleccin del primer multiplexor ( el que genera F
en su salida) . De todas ellas, la mejor es :
1 s
i
Z
ls
1
a -
ls
1
Solucin P17 .- La desigualdad del enunciado describe una funcin booleana de 6 variables
f(x1,x2,x3,x4,x 5 ,x 6 ), que toma el valor 1 cuando las asignaciones binarias de las variables
(x 1 , . .x6 ) , satisfacen la expresin anterior, y 0, cuando no . Esta funcin booleana puede
desarrollarse segn el teorema de expansin de Shannon :
f(x1,x2,x3,x4,x5,x6) =x4 x5 x6 f(x1 , x2 ,x3 ,0,0,0 ) + x4 x5 x6 f(x1 , x2, x3 ,0,0,1 ) +
+ x4 x5 x6 f(x1,x2,x3,0,1,0) + x4 x5 x6 f(x1,x2,x3,0,1,1) +
+ x4 x5 x6 f(x1,x2,x3,1,0,0) + x4 x5 x6 f(x 1 ,x2 ,x 3 ,1,0,1) +
+ x4 x5 x6 f(x1,x2,x3,1,1,0) + x4 x5 x6 f(x1,x2,x3,1,1,1)
118
f (XI, x2 , x 3 , 0, 0, 0) = 0
Las siguientes funciones residuo, evalan siempre 1, ya que la desigualdad se cumple
siempre, independientemente de los valores de x 1 , x 2 y x 3 .
f (x 1 , x2 , x 3 , 1, 1, 1) = 1
f (x 1 , x 2 , x 3 , 0, 1, 1) = 1
f (XI, x 2 , x3 , 1, 0, 1) = 1
f (x 1 , x 2 , x 3 , 1, 1, 0) = 1
De las restantes 3 funciones residuo, podemos deducir que :
--x _1x2 00
X3
01
11
10
2 00
01
11
10
f(x l , x2 , x3 , 0, 0, 1)
f(x 1 , x2 , x3 , 0, 1, 0)
1
1
0
x3
x3
01
SUBSISTEMAS COMBINACIONALES
119
~>
- 1
D - < >
F-
IG
L >1
L
F-
Solucin P18 .- Sea F(a,b,c,d) la funcin a implementar cuyo mapa se muestra a continuacin :
ab
c d
00
00
01
11
10
01
11
10
Para realizar esta funcin con el PAL de la figura tenemos que resolver tres problemas :
1) El nmero de entradas del PAL son tres y la funcin F necesita cuatro variables .
Para solucionar el problema se usa una de las entrada-salidas del PAL como entrada .
Esto se consigue poniendo un "0" (a travs del producto x.x) sobre la lnea de control
del inversor 3-estados correspondiente :
120
X X
&
= 0
&
L >1
E}<> d
X X
2) El PAL del que se dispone realiza la operacin AND-OR-INV . Para resolver el problema se escoger a la funcin F como suma de productos y, al invertirse a la salida, se obtiene
la funcin F . Para que en la salida se obtenga F, el control del inversor 3-estados debe estar a
" 1 " (para ello basta con no programar ningn fusible de la AND que proporciona dicho control :
o F
3) EL PAL slo puede sumar (operacin OR) tres trminos productos y F tiene cinco .
Para resolver el problema se descompone F en dos subfunciones de forma que, en cada una de
ellas, slo se sumen tres trminos :
F = (a.bcd + b.c .d + a .b .c) + acd + a b c = G + a c d + a bc .
donde G = b cd + b cd + a bc .
De esta forma, G se obtiene por una de las salidas de la PAL y es reintroducida para formar F.
.9
G
Finalmente, tras las consideraciones anteriores se muestra la configuracin final del
PAL:
ccbbaaddGG
C .C
= 0
bcd
bcd
ac
G
acd
>F
abc
Problema 19.- Se desea disear un circuito que tenga como entradas dos nmeros de dos
bits a=(a, a 0) b=(b, b 0) y un bit de paridad par correspondiente a los cuatro bits anteriores . El
circuito indicar en una salida si a>b, y en otra si se ha producido una entrada ilegal (con el
bit de paridad mal) . El circuito deber realizarse con multiplexores de dos entradas de seleccin y una ROM de 8 posiciones de memoria .
Solucin P19 .- El circuito a disear posee cinco entradas, P, a1, a0, b 1 , b0 y dos salidas . Llamaremos G a la salida que indica cundo el nmero a = al a0 es mayor o igual que el b = b 1 b o,
y salida 1 cuando se produce una entrada con el bit de paridad P errneo .
122
a > b
G=1
a<b
G=0
error en P
I=1
P correcto
1 = 0
001
010
011
100
101
110
111
Go
G1
G2
G3
o
001
010
011
100
101
110
111
00
01
lo
II
10
12
11
13
b e bo
I
Eligiendo b 1 y b0 como entradas de seleccin de los multiplexores, y por tanto, P a l a0
como entrada de la memoria, se observa que algunos de los residuos de las funciones de salida
tienen una expresin muy simplificada, bien una constante o una variable de entrada . En esos
casos, pueden ser conectadas directamente a las entradas de los multiplexores pudindose ahorrar en el tamao de la memoria ya que no se necesita implementar esas funciones como salidas
de la ROM . Estas son :
G0=1
'G2=a1
1 3 =10
1 1= 12
SUBSISTEMAS COMBINACIONALES
123
al
a0
[$1
1
o ROM
2 3 x4
al
a0
3 2 1 0
1111
G IG31 0 1 2
0
1
al- 2
1
2
1
0 ROM 0
23x4
lo
G
G3
I0
b Ib0
12
o
1- 2
3
I1
b Ib0
X 4 - X0
Convertidor de cdigo
2de5/BCD
Buffers
3-estados ~-4-r
Detector de error
Z3 - Z0
000
00
001
010
011
100
0
1
01
10
11
1
E
101
110
111
124
xo
o
XI -
2
3
4
5
6
7 2 1 0
Xo X
X 4 X 3X2
X3
X2
x1
0
0
0
0
1
1
0
1
1
1
0
1
0
0
0
Xo
1
03
0
02
0
01
00
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
1
1
Una vez conocidas las cuatro funciones de salida basta implementar el circuito utilizando un PLA . Suponiendo que todas las combinaciones de entrada que no correspondan a cdigo
2 de 5 no ocurren nunca, y asignando un trmino producto para cada una de las combinaciones
de entrada obtendramos diez trminos producto para realizar en el plano AND del PLA .
A continuacin, para cada funcin de salida se har la operacin OR de aquellos trminos producto de los que participa . Siendo P0, P 1 , P 2 , . . .P 9 cada uno de estos trminos, las funciones
sern :
03 = P8 + P9
02 = P4 + P5 + P6 + P7
0 1 = P2 + P3 + P6 + P7
00=P1 +P3 +P5 +P7 +P 9
El esquema del PLA ser el que se muestra :
SUBSISTEMAS COMBINACIONALES
125
PI
.
P,)
P3
P4
P5
P6
P7
PA
Pq
X4 X3 X2 X 1 XO
03 02 0 1 00
X4
X3
X2
xl
xo
z3
PLA
MERIMIO
Convertidor cdigo
~
E
2de5/BCD
~EN
z2
zl
zo
ILL
Detector de error
Problema 21 .- Analice el circuito de la figura describiendo con palabras la funcin que realiza. Puede disearse con una ROM un circuito que realice la misma tarea? En caso afirmativo, indique cmo se hara, as como el contenido de la ROM para los siguientes valores en
hexadecimal de X e Y:
XY: 10, 11, 12, 67, 84, AA,DF
z3
Y3
Y2
Yo
X3
x2
xl
xO
A3
A2
A1
Ao
B3
B2
B1
BO
A>B
A=B
A<B
zO
126
Solucin P21 .- Si el nmero X>Y, la salida A<B del comparador de magnitudes, se activa .
Esto provoca que, en la batera de multiplexores, se escoja el canal 1 . Por tanto, el conjunto de
las salidas de estos multiplexores, contiene el nmero x . La salida del sistema depender de la
salida A=B del comparador . Como sta se encuentra a 0 lgico, las salidas Z 3 _0 contienen el
nmero X .
De igual modo razonamos cuando el nmero X<Y . La salida A<B del comparador se
encuentra a O lgico, lo que provoca que en la batera de multiplexores se escoja el canal 0 .
Las salidas Z 3 _ 0 , contienen, en este caso, el nmero Y .
Por ltimo, cuando X=Y, la salida A=B del comparador se encuentra a 1 lgico, por lo
que el inversor provocar que las salidas Z 3 _ 0 se encuentren a O lgico .
La funcin de salida de este circuito puede representarse mediante una ROM, que se
dimensiona con 8 lneas en su bus de direcciones (correspondientes a los 4 bits de los 2
nmeros), y 4 bits por palabra . En la tabla siguiente, se han representado los contenidos de la
ROM para las direcciones indicadas en el enunciado :
POS CONT
Y3
Y2
Yl
Yo
XI
A7
A6
A5
A4
A3
A2
Al
xo
Ao ROM
X3
x2
$10
$11
$12
$67
$84
$AA
$CB
$DF
$FF
D3
D2
D1
Do
1
0
2
7
8
0
B
F
0
Problema 22.- Necesitamos un circuito lgico con cuatro entradas que genere una salida z
que se activa cuando se satisface una de las dos condiciones siguientes, pero no las dos :
1) Ambas entradas, a y b, son activas .
2) o bien c o d o ambas son activas .
Disee este circuito en cada uno de los casos siguientes :
a) Con MUX s de 4 canales, suponiendo que a y b son activas en nivel alto, c y d activas
en bajo y z activa en bajo .
b) Con un DEC 3 :8 con salidas activas en alto, una puerta NAND de 6 entradas y un
nmero no mayor de 8 puertas NAND de dos entradas, suponiendo que todas las entradas y
salidas son activas en alto .
Solucin P22 .-
00
00
0
00
00 0
Z
Esta funcin la implementaremos como producto de maxtrminos . Si escogemos a, b, c,
como entradas del decodificador y las salidas de este se llaman O ;, tenemos que :
M o = a+b+c+d = b .
d = 00 . d
M 4 = a+b+c+d = b .J .d = 0 2 d
128
M8
M13
= +b+c+d = a .b .c .d = 04 d
= +b+c+d = a b c d = 0 6 d
14 = +b+c+d = a b c d =
15 = +b+c+d = a b c d = 0 7 d
07 .d
a
b
c
1
2
3
4
5
6
M
M1
DEC3 :8
3--
~M M 15 1 -
b- A
a - Al
c- A
POS CONT
0
A
ROM
D3
D2
D1
1
2
sis
~- fi
f2
2
3
4
5
6
7
02
B
C
7
3
7
Solucin P23.- Las salidas f1 y f2, tienen las siguientes expresiones, donde se han sustituido
las seales de seleccin del demultiplexor, sl y s o, por las salidas de la ROM D 1 , y D o, respectivamente.
f1 = D 3 s 1 so +D 3 s 1 so +D 3 s 1 s o = D3+D1 Do
y
f3 =
D 3 ' SI ' SO
= D3 ' D1 . Do
Nos falta, por tanto, determinar las relaciones entre las salidas de la ROM (D3 , D 1 y D o),
y las variables de entrada a, b y c . De la tabla de programacin de la ROM, deducimos los
siguientes K-mapas para D 3, D 1 y D o:
SUBSISTEMAS COMBINACIONALES
11
ama
ama
a
una
DI
Do
00
01
11
10
f,
f2
fo
s
d
y
1
2
3
is
d2
0
fi
do = y+x+E d, =
y+x+E
d2
y+x+E
d3
y+x+E
E = y +u x
Sustituyendo en las expresiones anteriores y simplificando, queda :
do = 1
d, = y+x+
d2 = y+x+u
Por otro lado, las funciones f 1 y fo se expresan como :
fo = do -d2 = y+x+u
f, = d i x d 3 = x y
d3
y+x
f = y +x Y
129
130
Problema 25.- Disee un convertidor de cdigo Gray a binario natural de 4 bits utilizando
slo tres puertas EXOR de tres entradas .
Solucin P25 .- Llamaremos g3 g2 g1 go a las variables de entrada (cdigo Gray) y b 3 b 2 b 1 b o
a las de salida (binario natural) . La tabla de verdad que muestra el comportamiento del convertidor es la siguiente :
g3
g2
g1
g0
b3
b2
b1
bo
g3
g2
g1
g0
b3
b2
b1
bo
SUBSISTEMAS COMBINACIONALES
g3
92-
o -
131
b
91o-al-a0-0
go -
- bo
0 -
m0
1
m1
2
0
m2
m3
DEC2 :4 3
Si fijamos una de las entradas (por ejemplo la de mayor peso asociado) a "0" quedara :
E
} ;
ao
1
2
DEC2 :4 3
=
DEC :21---
m0
m1
132
------
m0
a2
MI
m2
3
DEC 2 :4
m3
1
2
3
DEC 2 :4
m4
al
m5
ao
m6
3
DEC 2 :4
m7
DEC 3 :8
c)
'
Con un razonamiento
SUBSISTEMAS COMBINACIONALES
133
E
--------------------------------------------
mo
1
0
1
MI
2 -'r-- m2
m3
DEC2 :4 3
a3
a2 -
DEC 2 :43
al
ao
m4
m5
m6
m7
DEC 2 :4
M8
1 Y m9
2
m10
Mil
DEC2 :4
1
0
1
2
DEC 2 :4
m12
m13
m14
m15
DEC 4 :16
'
Problema 27.- Utilizando multiplexores de menos entradas de seleccin que el dado, se pide :
a) Cmo implementara un MUX de 3 entradas de seleccin?
b) Cmo implementara un MUX de 2 entradas de seleccin?
c) Cmo implementara un MUX de 4 entradas de seleccin?
134
C7
S iso
Multiplexor de 2 entradas de seleccin a partir de MUX-1 :
C
C
C
C
S I SO
Problema 28.- Se dispone de ROMs den lneas de direccin y m bits por palabra, todas ellas
con CS. Disee una ROM con CS, n lneas de direccin y 2m bits por palabra.
SUBSISTEMAS COMBINACIONALES
135
A(n-1) - 0
y se desea obtener una memoria del mismo nmero de lneas en el bus de direccin pero con
el doble nmero de lneas en el bus de datos, es decir, que cada palabra contenga 2m bits . Para
ello asociamos en paralelo dos memorias de las iniciales . De esta forma, cuando ambas sean
seleccionadas simultneamente, para una misma direccin de palabra, (el bus de direcciones
es comn para ambas), se accede a una palabra de cada memoria leyendo su contenido . Basta
slo reunir los m bits de cada uno de los contenidos en un bus comn que ser el de datos de
la memoria final que se busca . A continuacin se muestra el esquema de conexionado :
cs
cs
A(n-1)-0- , :\ ',
n
n
cs
ROM
2"* m
ROM
2n *m
m
1
. $2m
B15-12
A>B
A=B
A<B
136
Si de este grupo de 4, los bits del nmero A son mayores que los del B, no hara falta
comparar los restantes bits ; el nmero A es mayor que el B . De igual modo razonamos cuando
los 4 bits del nmero B son mayores que los respectivos del A . Podemos ver, entonces, que las
salidas de este primer comparador, pueden utilizarse como salidas del comparador de 16 bits .
Slo en el caso en que los 4 bits ms significativos de los dos nmeros sean iguales, se
necesitar comparar los restantes bits .
4
A11-8 -x-30 A
G'
4
A15-12 -/_ A
G'
G
E
L
E
B11-8 -1 -> B
4
B15-12
f~ B
A>B
A=B
A<B
Si los bits A15-12, son iguales a los bits B15-12 , Y los bits A 11 - 8 son mayores que B11-8 ,
la salida G del segundo comparador, est activa, y provocar que se active la salida G del
comparador primero . De igual modo, si los bits A15-12 son iguales a los bits B15-12 Y los bits
A 11 - 8 son menores a los bits B 11 - 8 , la salida L del comprador nmero 2, se encontrar activa,
y provocara la activacin de la salida L del comparador 1 . Slo en el caso de que el conjunto
de los 8 bits A15-8 y B 15-8 sean iguales, habr que comparar el siguiente grupo de 4bits de los
2 nmeros . La estructura del comparador de 16 bits se obtendra extendiendo el esquema
anterior para el grupo de 8 bits restante .
A11-s
A15-12 > A
A
G'
E'
L'
B 2
E
L
B 15-12
E
L
A>B
A=B
A<B
A7-4
A
G'
E'
L'
B 4
G'
E'
L'
B 1
E
L
DI A
G'
E'
E
L'
L
B7-4 -~ B 3
Se resalta el hecho de que el comparador 4 ( el que acta sobre los bits de menor peso),
tiene en sus entradas G',E', L', la terna (0,1,0) . Esto es necesario para el caso en que los dos
nmeros, A y B, sean iguales, para activar la salida A=B .
E (1,3,11,13,21,23,25,31)
SUBSISTEMAS COMBINACIONALES
137
e 34
5
6
2107
III
abc
Problema 31 .- Una llamada de telfono puede dirigirse a cuatro secretarias. (Nunca hay ms
de una llamada simultneamente) . La recepcionista distribuir las llamadas segn el siguiente
criterio:
Si la llamada procede de empresas de alimentacin o de ropa, se pasa a la secretaria
nmero 4.
Si procede de una empresa de venta de ordenadores, o de un banco, se pasar a la
secretaria nmero 3.
Si se trata de una llamada procedente de una empresa de viajes o del aeropuerto, deber sonar el telfono de la secretaria nmero 2 .
En cualquier otro caso se enviar a la secretaria nmero 1 .
Disee un circuito que indique el nmero de la secretaria que deber recibir la llamada,
utilizando un nico codificador 8 :3, una NOR de 2 entradas y una NOR de 6 entradas.
Solucin P31 .- Interpretamos cules sern las variables de entrada y de salida del problema .
Variables de salida:
Z 1Zp: indican la secretaria a la que va dirigida la llamada :
Z1 Zo
0 0
0 1
1 0
1 1
secretaria
secretaria
secretaria
secretaria
n4 1
n - 2
n - 3
n - 4
Variables de entradas : Se nombrarn con X0, X 1 , ... a las distintas llamadas de empresas .
Xk = 1 indicar que hay llamada de la empresa "k" (ver tabla) .
Hay siete procedencias distintas de las llamadas, organizadas en cuatro grupos dependiendo de la secretaria que la reciba . Utilizando un codificador 8 :3 se transforman estos 8 casos
en cdigo de tres variables de las que dependern las variables de salida . A continuacin se
muestra la tabla :
138
Llamada
Xo
XI
X2
X3
X4
X5
X6
X7
C2
C1
C0
Z1
Z0
Alimentacin
Ropa
Ordenadores
Banco
Viajes
Aeropuerto
Otras
Por ltimo basta obtener las expresiones de Z 1 y Z0 en funcin de las salidas del codificador .
C2 C 1
C C
00
1 1
O1
10
00 01
11
10
1
1
Zo
Z1 = U2
Zo = C1
La realizacin del circuito utilizando los dispositivos de los que disponemos quedara
como se muestra a continuacin :
X0
X1
X2
>1
X3
X4
X5
X6
NC
7 COD 8 :3
C
C
0
NC : no conectada
SUBSISTEMAS COMBINACIONALES
1 39
Solucin P32.
Sistema
de
medida
1 3-0
C.C .
Todas las salidas que genera el sistema de medida, se representan en la siguiente tabla .
Asimismo, se ha representado el equivalente en notacin Ca2, y la salida Z .
T
+0
+1
+2
+3
+4
+5
+6
+7
1 3 12 1 1 10
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0111
Z
1
1
1
1
1
0
0
0
13 12 11 10
-8
-7
-6
-5
-4
-3
-2
-1
1 0 0 0
1 0 0 1
1010
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0
0
0
1
1
1
1
1
' 1A
1 3-0 '90 B
4
1010 f) A
1 3-0
>
YO
1 -
X 3 _
.J- > ZO
B
Z1
Z2
> Z3
> Z4
140
Xo
XI
0
X2
Yi
0
Y3
X3
zo
Z2
Z3
Z4
Yo
1
Y2
(i = 0, 1,2,3 y Z4
0)
X3 - 1 = Zi = Y-1
(i = 1 , 2 , 3 ,4 y Z0 = 0)
con lo que se obtiene el circuito que se muestra a continuacin :
X3
Captulo 6
CIRCUITOS ARITMTICOS
ARITMTICA BINARIA
La suma de dos magnitudes A y B en base 2 se realiza de forma similar a la suma en base 10 .
En cada columna se suman los bits de esa columna (A i y Bi) y el acarreo generado previamente
o carry, (Ci); del resultado de la suma (A i+Bi+Ci = 0,1,2 3) se genera el bit del resultado de
esa columna (F i ) y el acarreo a la siguiente columna (Ci+1) : Ci+1Fi = 00, 01, 10 o 11,
respectivamente . En el siguiente ejemplo se representa la suma de dos nmeros y los acarreos
que se generan 1 :
11 111
Acarreos
01101110
A=110 00
00100011
B=35(10
10010001
F=A+13=145 (10
La resta de dos magnitudes binarias, A-B, tambin es similar al caso decimal . En cada
columna existe un bit de pedir prestado (borrow, Bw i ) generado en la etapa previa y cuyo
significado para Bwi = 1 es el cotidiano "me llevo uno" . En cada columna se hace la operacin
Ai - (B1 + Bwi) generndose Bwi+1 = 0, o (2 + A i ) - (B i + Bwi ) generndose Bw1+ ,=1 .
A continuacin se presentan dos ejemplos . En el primero se cumple que A>B y en F se obtiene
el resultado correcto A-B . En el segundo, A<B, se genera Bwn =1 y en F no est el resultado
correcto :
11 1
Borrows
1
Borrows
11010 A=26
000100 A=4
1101 B=13
- 110000 B=48
01101 F=13
110100 F=52
No presentaremos, en esta introduccin, otras operaciones aritmticas como la
multiplicacin y divisin entre nmeros binarios . Remitimos al lector a los problemas 1, 4, 5
y 15 de este Captulo .
1 . En adelante se sobreentender que los nmeros como A, B o F estn en base 10 sin necesidad de
explicarlo, tal como aparecen en las operaciones de ms abajo .
141
142
Ca2
5t AB
F
F
Desbordamiento (overflow )
La suma de dos nmeros binarios con signo de n bits, expresados en cualquier notacin, puede
tener un resultado errneo en el caso de que ambos tengan el mismo signo y el valor de la suma
no pueda ser expresado en n bits . En estos casos diremos que se ha generado un
desbordamiento (overflow) . En el siguiente ejemplo se muestran dos casos de overflow . En el
primero, tenemos dos nmeros en Cal positivos de magnitudes 13 y 8 . El resultado de la suma
es un nmero negativo lo cual es incorrecto . El segundo ejemplo representa la suma de dos
nmeros negativos expresados en Ca2 . De idntica forma, el resultado obtenido es positivo, lo
cual no representa el valor correcto :
Cal
Ca2
01101+13
01000+8
10101 -10
10001 -15
11000 - 8
01001 +9
CIRCUITOS ARITMTICOS
Ai
A i Bi Si Ci+l
00
00
01
10
10
10
11
01
Bi
HA
Ci+I Si
y
143
i
1
Sumadores completos
Tienen tres entradas A; , B i y Ci que se corresponden, las dos primeras, con los bits de los
nmeros A y B y, la ltima, a la entrada de acarreo, y dos salidas, S i y C i+l , con idntico
significado que en los semisumadores . El esquema, tabla de verdad y estructura interna de un
sumador completo son : .
A i B i C i Si Ci+l
000
001
010
011
100
101
110
111
00
10
10
01
10
01
01
11
Ci
Bi
Ai
Ci+I
Sumador de n bits
Los semisumadores y sumadores completos pueden unirse para formar sumadores de
2 nmeros de n bits . Esto se consigue mediante el empleo de n sumadores completos en los
que la entrada de acarreo del sumador j+1 se conecta a la salida de acarreo del sumador j . En
la siguiente figura se muestra el esquema de bloques y constitucin interna de un sumador de
4 bits .
B3-0
14
Cout
A3-0
14
Sumador
de 4 bits
4
Z3-0
Ci n
Cout
A3 B3
A2 B2
Al
B1
A0 B 0
1 1
1 1
1 1
1 1
a b
FA
Ci+l Ci
S.
a b
FA
Ci+l Ci
S
a b
FA
Ci+l Ci
S.
a b
FA
Ci+l Ci
S-
Cin
Z
3
Sumador BCD
Un tipo particular de sumadores binarios lo constituyen aquellos que aceptan nmeros BCD
en sus entradas y generan el resultado tambin en BCD . El sumador BCD ms bsico es el que
realiza la suma de dos dgitos BCD, A y B, junto con un posible acarreo de entrada, K ;,, y
genera un acarreo de salida, K ot, t , y el resultado BCD de la suma, Z . Su estructura interna est
basada en sumadores binarios de 4 bits . Existe un circuito combinacional que detecta si el
resultado del primer sumador es un nmero BCD y un segundo sumador, que aade la
magnitud 6 0, segn corresponda, para convertir la suma binaria al valor BCD de la salida :
144
Kont <
i
Kout
0 0
1 r1
Sumador
K'n EBCD
Sumador c,,,, -0
de 4 bits CinE0
E-,
Cout
Sumador
de 4 bits -in n:-,-
in
Detector error
BCD
iz
Encadenando en serie "K" de estos sumadores, se construyen sumadores BCD paralelos
de K dgitos decimales .
Sumador-restador de nmeros con signo en Ca2
Un circuito sumador-restador de nmeros con signo en Ca2 consta, bsicamente, de un
sumador binario de magnitud y un circuito que deja pasar, o complementa, el dato que acta
de sustraendo, segn se muestra en la figura . Si se ordena la suma (s/r=0), Y=B y F=A+B ; si
se ordena la resta
Y = B y F = A + B + 1 = A + Ca2(B) = A - B . El desbordamiento se
representa mediante el bit V y se puede implementar de varias formas como, por ejemplo,
V = Exor(C n ,Cn- 1) :
Transfiere/ F
Complementa
4Y
c o t Sumador
binario
V
s/r
in
s2 s1
B3-0
SO
000
001
010
011
100
101
110
111
Operacin
F = AND(A,B)
F = OR(A,B)
F = EXOR(A,B)
F = NOT(A)
F = A+B+C n
F = A- B+C n
F=A-1+ C; n
F=A+C;n
A
B
Esta misma expresin se obtiene razonando sobre los valores mximos : A<B<-2 nb -1 ->A+B<-2 n a+2 nh -2<2
n
2 a -
1 y
max(n a +nb+l)
-1
Para la multiplicacin tambin debemos ponernos en el peor de los casos : todos los bits
de A y B son 1's .
11 . ..11 A
1 .. .11 B
11 . ..11 S O
11 . . .110 s i
1 1 .. . 1 1 0
0 0 0 snb-I
. .. 0 1
Supongamos que el nmero A tiene ms bits que el B (n a > nb). Llamemos S i , a los
146
resultados parciales procedentes de multiplicar el bit i del nmero B, por el nmero A (ver
figura anterior) .
El nmero de bits del resultado parcial S 0 es de n a ; el de S 1,n a +1 ; en general, el del S i ,
es n a + i. El resultado parcial con mayor nmero de bits es Snb-1, con n a + nb - 1 bits .
Por el apartado a) sabemos que la suma de los resultados parciales S 0 y SI, necesitarn
un resultado de n a +2 bits . Este resultado, sumado con S 2 ( que tiene n a +2 bits), producir un
nuevo resultado que necesitar n a+3 bits . De forma sucesiva, llegamos sumando las resultados
parciales, hasta el ltimo, Snb-1 . El tamao del resultado de esta ltima suma, se necesitar
almacenar con un bit ms de los que posee Snb-1, es decir, n a + n b -1 + 1 .
En resumen, el resultado de la multiplicacin de dos nmeros A y B de n a y nb bits,
respectivamentes es :
na x n = n a + n,
112.
v 0
73 12
`D 3 6 12
`0 181 2
`0
91 2
j
412
`0 2 2
`0
11 2
j 0
73 (10 =
01001001 (2 .
Por ltimo :
35 12.
,U 17 12
v v81 2
v
41 2
2 1 2
1
`0
35 10 = 00100011(2
Las sumas son :
v 0
Problema 2.-
01101110
00100011
10010001
110
35
145
01101110
01001001
10110111
110
73
183
26
13
13
01 1010
+ 110010
1001100
L--> + 1
001101
+26
-13
Por el complemento a 1
+13
Por el complemento a 2
+ 011010 +26
110011 -13
.00 1 1 0 1 +13
+26
-16
+10
011010
+ 101111
1001001
L--> + 1
001010
+26
-16
Por el complemento a 1
+10
148
Por el complemento a 2
01 1010 +26
+ 110000 -16
>40010l0 +10
Resultado -1
Por el complemento a 1
010010
+ 101100
111110
+18
-19
-1
010010
+ 101101
111111
+18
-19
-1
Por el complemento a 2
110000 48
000100
4
1 0 1 1 0 0 44 Resultado -44
Por el complemento a 1
0000100
+ 1001111
1010011
+4
-48
-44
0000100
+ 1010000
1010100
+4
-48
-44
Por el complemento a 2
Problema 3 .- Sea una ALU de 8 bits que entre otras operaciones realiza la suma sin signo
(SSS) y la suma en complemento a dos (SC2) . Indique justificadamente :
a) Dados dos nmeros positivos A y B, da igual sumarlos mediante SSS que mediante
SC2?.
b) En qu consisten y cmo se reconocen los errores de desbordamiento (oven7ow)?
En su caso, cmo puede obtenerse el resultado correcto? .
c) Realice, si es posible, las siguientes operaciones indicando si es con SSS o SC2 .
1 . (-75) + 125
2. (-75) +(-125)
3. 75 + (-125)
4 .75+125
CIRCUITOS ARITMTICOS
149
Solucin P3 .
a) Disponemos de dos nmeros positivos A y B . En primer lugar determinaremos la
estructura de estos nmeros en ambas notaciones . En SSS, los nmeros son la representacin
binaria de una magnitud . El rango oscila entre 0 y 255 para los 8 bits de la ALU . En SC2, los
datos estn representados segn el convenio basado en el complemento a 2 . Esto es, A y B
representan valores positivos y negativos, existe un bit de signo y sus valores van del -128
al +127 .
Para la comparacin de las operaciones SSS y SC2 cabe distinguir varios rangos :
1) A+B < 127, esto es, la magnitud que representa la suma de los dos nmeros es menor
que 128 . En este caso, tanto SSS como SC2 dan el mismo resultado .
2) 127 < A+B < 255 . En este caso el resultado que da SSS es correcto, pero no as SC2,
ya que la representacin en esta notacin necesitara un bit ms . El resultado sera interpretado
como un nmero negativo .
3) A+B > 255 . Este caso es absurdo para SC2, ya que, como mximo, la suma de dos
nmeros positivos en Ca2 es de 254 . Para SSS existe un error en el resultado, porque las
8 salidas de la ALU son insuficientes para representar la magnitud de la suma .
b) Los errores de desbordamiento ocurren cuando se sobrepasa la capacidad de
representacin de los sistemas, produciendo estos, resultados incorrectos . Para reconocer el
desbordamiento, disponemos de la seal de acarreo C 8 y de overflow
V, que
ofrecen la mayora
de las ALU's . El bit de overflow es til para operaciones en las que intervengan nmeros
expresados en notacin Ca2 . Se obtiene realizando la operacin Exor entre el acarreo de la
columna de signo C 7 y el acarreo de salida C 8 : V=Exor(C 7 ,C 8) . Aclaremos este aspecto .
Supongamos que tenemos dos nmeros positivos de 8 bits expresados en Ca2 . Si la suma de
los bits A6-0 y B6-0, es menor de 128, no se produce ningn acarreo C 7 =C8=O, y el resultado
es correcto, tal como muestra la figura :
C 8 =O C7=O
- --------------0 A6 A5 .. .
0 : B6 B5 .
0 : F6 F5 . . .
----------- ----------Si la suma de los bits A6-0 y B6-0 es mayor de 127, se produce un acarreo C 7 =1 que
provocar que el resultado se interprete como un nmero negativo . Existe overflow o
desbordamiento . En este caso, como se puede observar, no existe acarreo de salida C 8=O .
C 8=0 C7=1
0 A6 A5 . . .
0 B6 B5 ...
0
F6
F5
...
Cuando los dos nmeros son negativos, se produce siempre un acarreo de salida que se
desprecia . En tal situacin se producir un overflow cuando, al producirse un C 7 =O, se obtiene
un resultado positivo :
150
C8=1
:
C7=0
111, 1
0' A6 A 5 . . .
0 B6 B5 ...
0 F6
F5
.. .
`~` r- -1~
0 A6 A5 . . .
0 B6 B5 ...
0 F 6 F5 . . .
-----------------------Si damos un rpido repaso a las condiciones que producen desbordamiento V=1 en
funcin de C 7 y C8, comprobaremos que se cumple la expresin dada para V .
Dicho todo esto tenemos que :
1 ) En SSS sabemos que existe un desbordamiento cuando el bit de acarreo C 8 se
encuentre a 1 lgico, independientemente del bit V .
2) En SC2 sabemos que existe overflow cuando el bit V se encuentre a 1 lgico .
No obstante, en ambas notaciones es posible recuperar la suma correcta, utilizando
como noveno bit el de acarrero C 8 :
C 8F7F6F 5F4F3 F Z F 1 Fo
Mostremos a continuacin la validez de esta solucin para SC2 (para SSS es evidente) .
La suma A + B genera desbordamiento slo en dos casos : si ambos sumandos son positivos
(A 7 = B7 = 0) o si ambos son negativos (A 7 = B 7 = 1) . Como el desbordamiento se elimina al
contar con suficiente nmero de bits, imaginemos que existe un noveno bit en la posicin ms
significativa (columna 8) . El valor de este hipottico bit ser el del signo de los nmeros
A 8 = B 8 = 0 en el primer caso y A 8 = B 8 = 1 en el segundo . Entonces, al sumar la columna 8
se tendr 0 + 0 + C8 o 1 + 1 + C 8 , por lo que en ambos casos el hipottico bit de signo del
resultado correcto es F 8 = C8 .
c) Los tres primeros casos slo pueden realizarse con SC2 ya que se trata de nmeros
con signo, mientras que el ltimo se realizar con SSS .
1) SC2(101 10101 + 01111101) . Las salidas de la ALU son 00110010, que representan
el nmero +50 . Se produce acarreo, C 8 = 1 que se desprecia en la aritmtica en Ca2, y el bit de
overflow, V, se encuentra a 0 porque los acarreos C 8 y C 7 estn a 1 .
2) SC2(10110101 + 10000011) . Las salidas de la ALU son 00111000, que representan
el nmero +56 . Pero el bit V est a 1 (C 7 = 0, C 8 = 1) indicando que existe un error de
desbordamiento . El resultado correcto se puede obtener formando un nmero de 9 bits,
constituido por el bit de acarreo C8 como bit de signo, y los 8 bits del resultado,
A+B = 100111000 . Esto representa el nmero -200, lo cual es correcto .
3) SC2(01001011 + 10000011) . Las salidas de la ALU son 1100 1110, que representan
el nmero -50 . No se produce acarreo C8 y V=O .
4) SSS(01001011 + 01111101) . Las salidas de la ALU son 11001000, que representan
la magnitud correcta, 200 . No se produce acarreo de salida C 8=0 . Si se hubiese realizado
SC2(01001011 + 01111101) las salidas de la ALU tambin son 11001000, pero V = 1
indicando desbordamiento .
Problema 4.-Muestre la palabra de 8 bits que representan los nmeros +36 y -36 en las tres
notaciones (S-M, Cal, Ca2) . Represente tambin el resultado de multiplicar por dos y de
dividir por dos, esos nmeros . Qu relacin hay entre la palabra inicial y la final?
Solucin P4 .
=2
S?
S
Ur
1
= 2 S~
U,,
2
c1
152
x 2
--.2
S
1
Ur
Problema 5.- Realice las siguientes operaciones en binario, comprobando el resultado :
22 x 18
b) 75 x 8
18x40
d)61=16
168 x-14
0168--. 20
Solucin P5.
a) 22 x 18 = 396
10110
x10010
22
18
101100
101100000
110001100
396
b) Desplazamos a la izquierda tres veces los bits del nmero 75 e introducimos un 0 por
la derecha cada vez que realicemos un desplazamiento .
75 = 1001011 ; 75 x 8 = 1001011000
c) 18 x 40 = 720
101000
x10010
40
18
1010000
1010000000
1011010000
720
d) Dividir un nmero A entre una potencia de dos equivale a desplazar hacia la derecha
los bits del nmero A . As 61 _ 16 = 111101 - 10000 = 11 .1101 . Este resultado representa el
nmero 3 .8125 .
e) 168 _ 14 = 12
1010100011110
-1110
1100
01110
- 1110
0
f) 168=20=8 .4
10101000 110100
-10100
1000 .0110 . . .
100000
- 10100
11000
-10100
01000
En nuestro caso el primer dgito es 9 lo que significa que el resultado es negativo . Para
conocer la magnitud del resultado aplicamos, nuevamente, la definicin del Calo :
Cal 0(9971) = 0 0 2 9 . El resultado, por tanto, es el -29 .
c) Si representamos los valores anteriores codificados en BCD, utilizando un nico bit
para el signo (0 para los positivos y 1 seguido del Calo para los negativos), nos queda :
+ 149 - 0(149) B C D = 0000101001001
- 178 -* 1 Ca 10(178) BCD = 1(822) = 1100000100010
154
Obsrvese que, al sumar los 4 bits del dgito menos significativo, se produce un
resultado que no es BCD . La aritmtica BCD exige en estos casos que se aada la cantidad 6
para obtener el resultado correcto . Esto provoca un acarreo hacia el siguiente dgito BCD . El
resultado final es 1100 10 111000 1, que corresponde a -029 (el primer bit 1 indica que es
negativo y los otros 12 bits, en BCD, equivalen a 971 por lo que el resultado es
-Ca 10(971) = -29 .
Problema 7.-La substraccin binaria directa F=A-B produce una diferencia correcta si A es
mayor o igual que B. Cul podra ser e/ resultado s A es menor que B ? . Determine la relacin
entre el resultado obtenido en F y el bit de borrow en la posicin ms significativa .
Solucin P7 .- Para determinar el resultado, investiguemos con un ejemplo sencillo qu
nmero obtenemos al realizar la resta binaria F = A - B . Supongamos que realizamos la
siguiente operacin (A = 10 (10 y B = 15 (1 0) :
Borrow final=l
1010 A
-1111 B
1011
Borrow final=0
11010 A
-01111 B
01011 : F
En este caso no se genera borrow y el resultado es el correcto ( 26 - 15 = 11) . Como se
puede observar, el resultado F de esta operacin es el mismo que el de la anterior, con la
salvedad que la cantidad 2" es suficiente para cubir el arrastre final . Entonces, F = 2 n - (B - A)
lo que significa que el resultado del restador de magnitud proporciona el nmero A - B en la
notacin Ca2 . As, 1011 como nmero con signo en Ca2 es -Ca2(1011) = -(0101) = -5 .
Por ltimo podemos decir que el nmero formado por el borrow y los bits del resultado,
representa siempre A-B en Ca2 . Si A>B, no se produce arrastre, por lo que tenemos un bit de
signo positivo (borrow=0), y si A<B, se produce arrastre (borrow=l), por lo que tenemos un
nmero negativo expresado en notacin de complemento a 2 .
CIRCUITOS ARITMTICOS
155
Problema 8.-Disee a nivel de puertas un sumador completo de tres bits (adems de posibles
acarreos) . Utilizando el diseo anterior, realice un sumador paralelo de 3 nmeros de n bits .
Solucin P8 .- El sumador completo a disear debe tener como entradas en cada etapa los bits
de los tres nmeros y el acarreo generado en la etapa anterior . Debe generar la suma de las
entradas anteriores y el acarreo de salida hacia la siguiente etapa . Para determinar el nmero
de bits que ser necesario utilizar para el acarreo, vamos a realizar una suma de tres nmeros
que son todos 1's :
Acarreo
2221
11111
11111
. ..11101
..
Como puede observarse, en el peor de los casos cada celda sumadora de 3 bits debe
sumar los tres l's de los nmeros, y aadirles un acarreo de como mucho 2 . Para codificar los
posibles acarreos, necesitaremos dos bits . Por tanto la celda a disear tiene 5 entradas y
3 salidas . Ntese que es imposible que se genere, en ningn momento, como acarreo, la
magnitud 3 :
Xj
F;
yi
Sumador
zl
co
cl
Co
Cl
completo
Yj Zi
000 001 011 010 110 111 101 100
c lco
00
01
Fj
11
10
(D c o
156
00
00 00 01 00 01 01 01 00
01
00 01 01 01 01
10 01 01
C' Co
11
10
01 01
10 01
10 10 10 01
C, = y_Zi C 1
+-iy C~ +X-i Z f C~
Co =
AC1
+x, y zi C o
Z1 Y1 X1
ZO Yo x0
Problema 9.-La ALU de 4 bits de la figura se incluye dentro de un Cl . Muestre las conexiones
entre 3 Cl pra formar una ALU de 12 bits . Asigne los arrastres de entrada y salida en la ALU
de 12 bits .
1111
A 3 A2 A Ao
Co E
1111
B B B, B o
ALU
F 3 F2 F I Fo
W W
s2
SI
SO
Ci
Solucin P9 .- Para formar una ALU de 12 bits nos basta con 3 ALU's de 4 bits . En ellas
conectaremos los distintos grupos de 4 bits de las entradas A y B de 12 bits . Por otro lado, las
seales de control de las tres deben ser idnticas, por lo que irn interconectadas . Por ltimo,
cuando se realicen operaciones aritmticas, ser necesario que cada ALU conozca si la ALU
anterior ha generado un acarreo o no para aadrselo a su suma parcial . Por tanto se sugiere
una estructura de acarreo en serie . El circuito resultante sera :
157
CIRCUITOS ARITMTICOS
A11-8
A7-
B11-8
Cout
S2
S2
2
S
1111 1111
1111 1111
1111 1111
ALU
ALU
SI
So
SO
Ci
Ci
ALU
SI
SO
C,
1111
1111
1111
F11-8
F7-4
F3-o
S2
S1
So
Cin
Problema 10.- Disee un circuito aritmtico con dos variables de seleccin s, ys o que realice
las siguientes operaciones aritmticas . Indique una solucin para una etapa tpica .
S 1 SO
0
0
1
1
0
1
0
1
Ci 0
C '=1
F=A+B
F=A
F=B
F=A+B
F=A+B+1
F=A+ 1
F=B+1
F=A+B+1
Solucin P10.- Daremos una solucin basada en un sumador de n bits con entrada de acarreo,
a cuyas entradas a y b habr que conectar los datos adecuados en funcin de s1 y s o . En
concreto, si sls0 = 00, las entradas a y b tendrn los nmeros A y B respectivamente ; si
s1s0=01,a=Ayb=0 ; si s1s0=10,a=Oyb=B ;ysislso=11,a=Ayb=B .
Una solucin con subsistema consiste en utiliza dos grupos de multiplexores de
4 canales cuyas salidas se conectarn con la entrada a o b y, en funcin de sus seales de
control, se escoger el canal que tenga el dato apropiado para la operacin :
AAO A
B OB B
S1
SO
F
A continuacin haremos el diseo interno de la etapa tpica de un sumador que responda
al conjunto de operaciones especificadas . Mediante la repeticin e interconexin de etapas
tpicas se obtendr el sumador entero . Utilizaremos como base del diseo un sumador
158
Hay que disear el circuito combinacional (C .C .) de modo que, en funcin de los valores
de control s i s 0 , y los bits i de los nmeros A y B, permita suministrar las entradas adecuadas
a; y b i del sumador completo, para que su salida se corresponda con la operacin especificada .
Podemos obtener, sin mayor dificultad, el K-mapa del C .C . :
Bi
s 1 s0
00
01
11
10
00
00
01
11
10
a;=A;
b ;=B
01
00
00
10
10
a;=A;
b 1 =0
11
01
00
10
11
a ;=A ;
b ;=B1
10
01
00
00
01
a ;=0
b1 =Bi
al b i
de donde obtenemos las siguientes ecuaciones :
a = A i s, +A is 0
b . = B i s l s + b i s 1
Problema 11 .- Se desea obtener el valor de un nmero binario sin signo A, de 8 bits (A=A7_ 0),
multiplicado por 129.
a) Obtenga un circuito que lo realice . No pueden utilizarse circuitos aritmticos de n bits
(n > 1), pero s semisumadores (HA), sumadores completos(FA) y puertas .
b) Repita para Ax40 .
Solucin P11 .
a) Realizaremos, en primer lugar, la multiplicacin entre los dos nmeros :
A7 A6 A5 A4 A 3 A 2 A l A0
1 0 0 0 0 0 0 1
A7 A6 A5 A4 A 3 A 2 A l A0
A7 A 6 A 5 A 4 A 3 A 2 A l A0
Z15 Z14Z13Z12Z11 Z10Z9 z8 Z7 Z6 Z5 Z4 Z3 Z2 Z1 ZO
CIRCUITOS ARITMTICOS
159
Z15
Z14
Z13
Ao
0
0
0
Los tres bits menos significativos del resultado son 0 . Los dos bits siguientes, coinciden
con los bits menos significativos del nmero A . A partir de aqu, el bit Z5 debe obtenerse
sumando A 0 con A 2, lo cual puede obtenerse con semisumador ; el bit Z6 , sumando A 1 con A 3
ms el posible acarreo anterior, lo cual debe hacerse con un sumador completo . Utilizaremos
sumadores completos para obtener los bits Z 5 hasta Z10 . Los bits Z11 y Z12 pueden obtenerse
con semisumadores y el bit Z 13 corresponder con el acarreo del ltimo semisumador . El
circuito resultante es :
A7 A
b
HA
Co
s
HA
Co
s
b
FA
Co Ci
s
A6 A4
b
A5 A3 A4 A 2 A3
b
A1 A2 A 0 A 1 A0
b
FA _ FA
FA
FA
HA
Co Ci Co Ci _ Co Ci Co Ci - Co
s
s
s
s
s
0 0 0
III
Z13
Z12
Z11
Z10
Z7
Z6
Z5
Z4 Z3 Z 2 Z I Z 0
160
Problema 12.- Se dispone de una ALU de 8 bits muy simple, ya que slo hace las
operaciones de "suma " y " transfiere el complemento", como se indica en la figura adjunta :
A
F
Cout
A+B
A+B+1
A
F
Considere dos nmeros con signo de 16 bits (K y L), representados en complemento
a dos . Cada uno est escrito en dos palabras de 8 bits, una con la parte ms significativa (H)
y otra con la menos significativa (L), es decir, (K= KHKL y L=LHLD.
a) Utilizando una sola AL U, indique justificadamente, qu hay que realizar para obtener
M=K+L (M=MHM incluyendo la posibilidad de desbordamiento (overflow) . No hay que
explicar cmo se almacenan los resultados intermedios, sino que, simplemente, hay que decir
que se almacenan .
b) Repita el apartado anterior para obtener M=K-L .
c) Disee la ALU con puertas y sumadores completos (FA) de 1 bit.
Solucin P12 .
a) Para realizar la suma de los dos nmeros de 16 bits, tendremos que hacerlo en dos
etapas : primero la parte menos significativa y, segundo, la parte ms significativa . Los
nmeros pueden ser positivos o negativos, puesto que estn representados en Ca2 . Por tanto es
la salida V de la suma ms significativa la que nos determinar la existencia o no de un
overflow .
1) Introducimos por las entradas A y B los bytes K L y L L , respectivamente. Las seales
de control de la ALU deben ser XC in = 00 . Por la salida F, obtendremos el byte menos
significativo del resultado, M L que se almacenar. Lo mismo se har con el acarreo de salida
generado Cout = C82) Introducimos por las entradas A y B los bytes K H y LH , respectivamente . Las seales
de control de la ALU son XCin = OC 8 , de forma que si en la etapa anterior se gener acarreo,
C 8 = 1, se calcula la operacin A+B+1 y en caso contrario, A+B . La salida F corresponder
con el byte significativo del resultado M H . Llamemos C 16 , al acarreo que se haya generado en
Cout .
3) Es en este momento cuando debemos evaluar la salida V de la ALU para determinar
la existencia de overflow :
Si V=0, no existe overflow y el resultado correcto de la suma K+L est en M .
Si V=1, existe overflow y el resultado correcto de la suma K+L est en el nmero de 17
bits formado por C 16M .
b) Para realizar la diferencia K-L, calculamos previamente el complemento a 2 del
nmero L, el cual se lo sumamos a K . La ALU no permite calcular el Ca2 de un nmero, slo
CIRCUITOS ARITMTICOS
161
Cout
V
SI
SO
S I SO
Operacin
00
01
10
11
F
F
F
F
= AND(A,B)
= A+Ci n
= A+B+C in
= A+B+C in
162
Solucin P13 .- El valor pedido, IX - YI, se obtiene con X - Y si X > Y y con Y - X = -(X -Y)
si X < Y . Para obtenerlo hacemos A = X, B = Y, C i = 1 y s i so = 11 . As se realiza la
operacin F = X + Y + 1 = X + Ca2(Y) = X - Y . Como ambos nmeros son positivos no hay
desbordamiento aunque existen dos opciones : X > Y, en cuyo caso F muestra IX - YI, y
C0,t = 1 ; y X < Y, en cuyo caso F = X - Y es un nmero negativo y C ot = 0. Por tanto, si
C0,t = 1, la salida F proporciona directamente el mdulo de la diferencia y si C ot = 0 habr
que realizar algunos pasos adicionales para obtener la salida deseada . Aqu presentamos dos
opciones :
a) Repetir el proceso anterior pero cambiando las entradas, esto es, A = Y, B = X,
;,,=1ys 1 so =11 .
C
b) Reintroducir el resultado anterior F = X - Y por A y aplicar las entradas C i = 1 y
s 1 so = 01, en cuyo caso obtendremos a la salida F = A+1 = Ca2(A) = Y - X.
PROBLEMAS CON SOLUCIN RESUMIDA
Problema 14.- Realice las siguientes sumas sin pasar a la base decimal :
a)1110(2 +1001 (2
b) 100.1(2 + 111 (2
c) F02B( 16 +1021 (16
d) 1230(4 + 23(4
Solucin P14.
a)
b)
1011 .1
c)
1
F02B(16
+ 1021 (16
1 0 0 4 C06
d)
1
wn
1230 (4
23 (4
1313 (4
Problema 15.- Multiplique los nmeros del problema anterior sin pasar a la base decimal .
Solucin P15 .
a)
b)
100 .1
x 111
1001
1001
1001
11111 .1
c) Debe utilizarse la "tabla de multiplicar" en base 16, de la que se ilustran
algunos casos :
F02B (1 6
1021(16
2 x B = 16(16
2 xF =1 E(16
F 0 2 B
1E056
F02B
F21 A 58 B(16
d) Debe utilizarse la "tabla de multiplicar" en base 4, de la que se ilustran algunos casos
1230 (4
23(4
11010
3120
102210 (4
3x3=21 (4
3x2=12 (4
2x2=10 (4
164
Solucin P16.
1)
1
a)
0101010 42
1110010 -13
0011100
> 1
0011101
29
b)
0101010
+ 1110011
0011101
42
-13
29
42
13
55
b)
1010101
1110010
1000111
> 1
1001000
-42
-13
b) X
1010101
+ 0001101
1100010
-42
13
29
0101010
+0001101
0110111
0101010
+ 0001 101
0110111
42
13
55
3)
a)
1010110
+ 1110011
1001001
-42
-13
-55
1010110
+ 0001 101
1100011
-42
13
29
-55
4)
a)
b)
Problema 17.- Realice las siguientes operaciones utilizando 10 bits, 3 de ellos para la parte
fraccionaria, usando la notacin en complemento a 2 . Compruebe el resultado verificando los
posibles errores.
(+22.25) + (+13.13)
(+22.25) - (+13.13)
(-22 .25) + (+13.13)
(-22.25) - (+13.13)
Solucin P17.- La cantidad 22 .25 se representa en binario como 10110 .01 . La cantidad 13 .13
se representa como 1101 .00100010. .. Puesto que slo tenemos 7 bits para almacenar la parte
entera y 3 para la parte fraccionaria de los nmeros, su representacin ser
22.25 = 0010110 .010 y 13 .13 = 0001101 .001.
CIRCUITOS ARITMTICOS
165
a)
0010110 .010
22 .25
+ 0 0 0 1 1 0 1 .0 0 1 13 .13
0100011 .011
35.375
El resultado correcto sera 35,38 . Se ha producido un error de 0,005 .
b) Para realizar la resta sumaremos el Ca2 de 13 .13 .
Ca2(0001101 .001) = 1110010.111
0010110 .010
+ 1 1 1 0 0 10.1 1 1
0001001 .001
22.25
-13 .13
9.125
El resultado que se lee tiene un error de 0,005 con respecto al resultado correcto, 9 .12 .
c) Determinaremos, primero, el Ca2 de 22 .25
Ca2(0010110.010) = 1101001 .110
1101001 .110 -22 .25
+ 0 0 0 1 1 0 1 .0 0 1 13.13
1110110.111
-9 .125
El resultado se obtiene con un error de 0 .005.
d)
x 1101001 .110
+ 1 1 1 0 0 10.1 1 1
1011100.101
-22 .25
-13 .13
-35 .375
S2 S i S o F
0 0 0 A
0 0 1
0 1 0
0 1 1
1 0 0
101
1 1 0
1 1 1
B_
ABi
Ai +B
A B i
A +B i
Exor(A ,B )
Nexor(A,Bi )
A
B
S2
Si
S
C .C .
I
g T
E
Fi
166
Solucin P18 .- Se pueden dar mltiples soluciones a este problema. La que presentamos
consiste en hacer g = 1 y h = 0 en el ITE de salida, con lo que F i = f es la nica funcin que
debe realizarse con el C .C . Para disear C .C . con multiplexores representamos F ; en un mapa
binario natural :
s2 SI s 0
ABi
00
01
10
11
f = F
1
2
310
11
A B
11
s2 s1
Problema 19.- Disee un circuito aritmtico con una variable de seleccin s y dos entradas
de datos A y B de 4 bits . Cuando s = 0 el circuito realiza la operacin de suma F= A+B.
Cuando s = 1, el circuito realiza la operacin de incremento F=A +1 .
Solucin P19 .- Utilizaremos un sumador de 4 bits, en el que una de las entradas ser el
nmero A y en la otra el nmero B para s = 0 y el nmero 0 para s = 1 . Asimismo conectaremos
S al acarreo de entrada C i para generar F = A+ 1 cuando s = 1 . El circuito de la figura siguiente
deja pasar aB si s=0y da un0si s= 1 :
CIRCUITOS ARITMTICOS
167
3
SS
I1.
Sumador
4 bits
C; n
Problema 20.- Para la ALU de 8 bits de la figura, determine la salida F para todas las combinaciones posibles de s2 s, s o si las entradas A y B contienen los nmeros binarios $23 y
$FO, respectivamente, y el acarreo de entrada es 0 .
A7-o
s2 s1 s0
B7-0
s2
SI
SO
000
001
010
011
100
101
110
111
Operacin
F = AND(A,B)
F = OR(A,B)
F = EXOR(A,B)
F = NOT(A)
F = A+B+C ;,,
F = A+ B+C ;,,
F = A+ $FF +C ;,,
F=A+C in
Solucin P20 .
a) s 2 S 1 so = 000 . F = AND($23,$F0) = $20 .
b) s2 S 1 s o = 001 . F = OR($23,$F0) = $F3 .
c) s 2 s 1 so = 010 . F = EXOR($23,$F0) = $D3
d) s2 s 1 s o = 011 . F = NOT(A)=$DC .
e)s 2 s 1 so=100 .F=A+B+C;,,=$23+$F0=$13yC o t =1 .
f) S 2 S 1 s o = 101 . F = A + B + C ;,, = $23 + $OF = $32 y Cout=0 .
g) s2 s 1 s o = 110 . F = A + $FF+ C;,, = $23 + $FF = $22 y Cout =1
h) s2 s 1 s o = 111 . F = A + C i = $23 y Cout=0 .
Captulo 7
ANLISIS DE CIRCUITOS SECUENCIALES
169
170
NS
O(NS)
Si
Mealy
Ii
NS
O(S i )
Moore
CIRCUITOS SECUENCIALES
La realizacin de mquinas secuenciales con circuitos digitales es lo que se conoce como circuitos secuenciales . En ellos, los estados de entrada 1 corresponden a valores de las seales de
entrada X, los de salida O a las seales de salida Z y, tambin, los estados internos corresponden a valores "0" y "1" sobre un conjunto de variables llamadas de estado . Esto es, cada estado
tiene asignado un cdigo binario sobre las variables de estado del circuito . ste se representa
mediante la denominada tabla de transicin de estados/salida, la cual es similar a las anteriores
(de estados/salida) sin ms que sustituir cada estado por el cdigo binario asignado (S i -~ q,
donde q = q l . . . qn ; anlogamente, NS -> Q) .
La evolucin desde un estado presente a un prximo estado, lo que simplemente es pasar
de un valor a otro en las variables de estado, puede realizarse de mltiples formas . La ms
comn es disponer de un circuito especfico, llamado biestable porque tiene dos estados
estables (el 0 y el 1), que implementa una variable de estado .
Cada biestable muestra en su salida el estado 0 1 almacenado, que corresponde al valor
presente en la variable de estado implementada en ese biestable . Para cambiar de valor almacenado y as poder hacer el cambio al prximo estado, los biestables poseen unas entradas de
excitacin (normalmente llamadas SR, JK, D o T) . A su vez, este cambio de estado puede hacerse de forma asncrona o sncrona, en cuyo caso el cambio de estado es controlado por una
seal de reloj (clk) . Una vez elegido el tipo de biestable, la mquina se describe por la denominada tabla de excitacin/salida . En esta tabla, la representacin de los cambios de estado se
hace mediante el valor de las entradas de excitacin que hay que poner en cada biestable para
que cambie adecuadamente su valor almacenado ; por ej ., para biestables T, la tabla de excitacin tiene la forma :
X
Ii
Ti junto con el estado presente q i
producen el adecuado Q i
171
Circuito
combinacional
q
Banco
de
biestables
clk 11
BIESTABLES
En esta breve introduccin nos centraremos nicamente en los biestables ms comunes . Desde
el punto de vista lgico los cuatro biestables ms usuales son :
00 01 11 l0
1 1
0
1 1
0 1
aa
a aa
Q
Tabla de transicin biestable JK
a
a
SJ -
RK-
Smbolo lgico
DT -
q
q
Q
Tabla de transicin biestable T
Smbolo lgico
Desde el punto de vista temporal, las formas sncronas de los biestables son :
- Disparados por nivel (a veces llamados latches sncronos): en estos biestables uno de
los dos niveles de la seal de reloj habilita los cambios de estado (segn la tabla de estado del
biestable), mientras que durante el otro nivel no hay cambio de estados (Q = q) .
- Disparados por flancos (a veces llamados flip flops) : en estos biestables los cambios
de estado se producen siempre tras uno de los flancos de la seal de reloj . Existen dos estructuras :
- Master-Slave en la que el biestable puede captar valores de entrada durante el nivel previo al flanco activo .
- Edge-triggered, en el que las entradas slo afectan en el entorno del flanco
activo .
q
q
clk 1
(Latch, nivel H)
clk
clk
172
La mayora de los biestables sncronos incorporan una o dos seales de excitacin asncronas para la puesta a 1 (preset) o a 0 (clear) del biestable . Operan de forma similar a las seales S y R . El biestable debe tener las entradas asncronas desactivadas para poder operar sncronamente .
PROBLEMAS RESUELTOS
Problema 1 .-Obtenga los biestables JK y T a partir de un biestable D .
Solucin Pl .- Este problema se reduce a obtener un circuito combinacional CC que, para
cualquier combinacin de entradas JK y estado presente q, genere una entrada en el biestable
D que provoque, en ste, la transicin de estado que correspondera al biestable JK para
idnticas condiciones de entrada y estado .
173
D
De aqu obtenemos la expresin para D : D = J q + K q . El circuito correspondiente
se muestra en la figura:
L
KJ-
&
&
F
Para el biestable T procedemos de idntica manera .
elh
D 9
q
a
a
Q
La ecuacin de entrada al biestable D es : D = T - q + T q
&
-1--
_q
q
174
Problema 2.-Se pretende construir un circuito como el de la figura, el cual podr actuar como
RS, D, T o JK dependiendo del valor de C, y C o (ver tabla). Diselo utilizando como nico
elemento de memoria un biestable tipo T.
C, Co
I, lo
0 0
0 1
1 0
R S
D T
J K
- Q
C, Co 1 1
I1 l o
1 1
Solucin P2.- Este problema se reduce a obtener los distintos tipos de biestables a partir del
T . Procediendo de forma similar a como se hizo en el emblema 1, obtenemos las siguientes
ecuaciones de entrada :
T = S q + R q
T = J q+K q
T = DOq
Asociando cada ecuacin con el caso correspondiente C 1 Co e identificando las entradas
1 1 e lo con las del biestable en cada caso, se tiene :
T = l o q+1, q
C 1 C o =00
T = I, O+ q
C 1Co=01
T = T
CICO = 10
C 1 C o =11
T=1, q +lo q
clk
S
R
Solucin P3.
a) El biestable Master-Slave est formado internamente por dos latches SR, tal como se
muestra en la siguiente figura :
Master
S- S
R- R
175
Slave
Ss
qs
qs
clk
El biestable amo (Master) es disparado por el nivel alto de la seal de reloj y recibe las
entradas del conjunto Master-Slave . Slo puede cambiar de estado cuando clk = 1 y lo har
dependiendo de sus entradas de excitacin .
El biestable esclavo (Slave) slo lo har si clk = 1 (clk = 0) . Sus entradas son las salidas
del amo, por lo que slo se pueden dar las combinaciones SR=10 (puesta a 1) y SR=01 (puesta
a 0) . Las salidas q s del esclavo son las salidas del conjunto Master-Slave .
Para resolver este problema, vamos a representar las formas de onda de salida del
biestable amo y del esclavo .
to
t1
t2
t3
t4
t5
clk
S
R
qm
q = qs
E-
Los dos biestables comienzan por un estado desconocido representado por la banda
rayada en el grfico anterior . Cuando clk = 1 el biestable amo puede cambiar de estado, y el
cambio ocurre como consecuencia del cambio en la seal S, dado que este valor de entrada
(S m = 1) fuerza a que q,,, = 1 . En el intervalo [t 1 ,t 2 ], clk = 0, con ello el biestable Master
mantiene su estado inalterable, y el Slave lee en sus excitaciones los valores 10
(SsRs = gmgm = 10) por lo que q s toma el valor lgico 1 . En el intervalo [t 2 ,t 3 ], clk = 1 .
del biestable
176
clk
to
S
t3
1
Hasta el instante t o , el estado del biestable es desconocido . En ese instante, las entradas
al biestable son SR = 10 por lo que, en el prximo ciclo de reloj, la salida del biestable se pone
a 1.
En el instante t 1 , las entradas son SR = 01, esto implica que, durante el siguiente ciclo
de reloj, la salida es 0 .
En el instante t 2 , las entradas son SR = 00 por lo que se mantiene el estado .
Para el instante t 3 , las entradas son nuevamente SR = 00, por lo que se mantiene el
estado .
c) Para flanco positivo se opera de igual forma .
clk
to
S
q
Podemos observar en el cronograma que se mantiene el estado desconocido inicial
durante muchos ciclos, porque en los flancos ascendentes, que ocurren en los instantes to y t l ,
las entradas son SR = 00 .
En el instante t2 la entrada es SR = 01 por lo que se almacena un 0 en el biestable . La
llegada del siguiente flanco, en t 3 , no altera el contenido del biestable ya que SR = 00 .
Problema 4.-Para cada uno de los circuitos de la figura, justifique razonadamente si es vlido
como biestable para realizar cualquier circuito secuencial .
& q
_1
1
(a)
Solucin P4 .-
(b)
r=
&
(c)
Para que los circuitos de la figura puedan ser utilizados como elementos de
memoria en los circuitos secuenciales, deben ser capaces de almacenar dos estado estables : el
0 y el 1 y permitir el cambio de uno a otro . Esto es equivalente a decir que estos elementos
deben tener la posibilidad de realizar cualquier tipo de transicin : 0 ---3 0, 1 -3 1, 1 -> 0,
0 --> 1 .
El circuito de la figura (a) presenta el siguiente K-mapa, donde se puede observar que
no existe la transicin 0 -3 1 .
ab
00
Ql
11
10
177
Q
SI obtenemos el K-mapa para el circuito de la figura (b), podemos observar que no
existe transicin de 1 - > 0 :
Q
El circuito de la figura (c), es el nico que permite las cuatro transiciones posibles, por
lo que puede ser utilizado, como elemento de memoria . Su k-mapa se muestra a continuacin :
ME
ama
Problema 5.-Analice el circuito de la figura :
Y-
1
T
q2
2
0-
D3 ci
q2
q3
1
1
X
J q
Y
X- K q
clk
Solucin P5.-
operacin .
Los pasos del mtodo de anlisis son :
a) Obtener las ecuaciones de excitacin y de salida . Cada una de las entradas (excitaciones) de los biestables as como las distintas salidas que posea el circuito se expresan mediante
ecuaciones algebraicas cuyas variables son las de entrada al circuito y las variables de salida
de cada uno de los biestables (variables de estado presente) . En nuestro caso :
178
K,=X
J, = Y q3
T2 = Y .(X+Og 3 ) = X .Y .g 3 +X .Y .g 3
g2'g2+X'gi'g2 = X+q,+q2
q 1q2q3
00
01
11
10
000
00,0,1, 1
00,0,1, 1
01,1,1, 1
01,0,1, 1
001
00,0,1, 1
10,1,1, 1
11,0,1, 1
01,0,1, 1
011
00,0,1, 0
10,1,1, 0
11,0,0, 1
01,0,0, 1
010
00,0,1, 1
00,0,1, 1
01,1,0, 1
01,0,0, 1
110
00,0,1, 1
00,0,1, 1
01,1,1, 1
01,0,1, 1
111
00,0,1, 0
10,1,1, 0
11,0,1, 1
01,0,1, 1
101
00,0,1, 1
10,1,1, 1
11,0,1, 1
01,0,1, 1
100
00,0,1, 1
00,0,1, 1
01,1,1, 1
01,0,1, 1
J I K 1 ,T2,D3 , Z
c) Determinar la tabla de transicin/salida . La tabla de excitacin se traduce a otra, la de
transicin donde aparecen los prximos estados .
Para ello se procede de la siguiente forma . En cada celda de la tabla de excitacin se
observa el valor de las excitaciones del biestable considerado, por ejemplo, para el biestable 1,
en la celda XY = 00, q1q2q3 = 000, se tiene J 1 K 1 = 00 . Apoyndonos en la tabla de estados del
biestable JK, esas excitaciones dan lugar a un cierto prximo estado ; as, para JK = 00 se da
Q = q . Entonces, como en la celda considerada q 1 = 0, en la misma celda de la tabla de transicin pondremos Q 1 = 0 . Anlogamente, en esa celda Q 2 = 0 (ya que T 2 = 0) y Q3 = 1 (ya que
D 3 = 1 y, por tanto, Q 3 = D3 = 1) . La tabla resultante es :
XY
g1g2q3
000
00
01
11
10
001,1
001,1
011,1
001,1
001
011
001, 1
111, 1
101, 1
001, 1
011,0
101,0
110,1
010, 1
010
011,1
011, 1
000, 1
010,1
110
111, 1
111,1
001,1
011,1
111
101
111,0
101,0
011,1
011, 1
101, 1
111, 1
001, 1
001,1
100
101, 1
101,1
011,1
001, 1
Q1Q2Q3,Z
d) Obtener la tabla de estados/salida. Cada estado de la tabla de transicin est dado por
179
las variables de cada uno de los biestables . Ahora, asignaremos a cada combinacin binaria de
esas variables un smbolo concreto que identifique a ese estado . En nuestro problema, llamando 0, 1, 2, . . ., 7 a los estados segn la codificacin g1g2q3 = 000, 001, 010, , 111, se obtiene
la tabla de estados/salida que se muestra a continuacin :
00
01
11
10
1, 1
1,1
3,1
3,0
5, 1
5, 1
7,1
7,0
1, 1
7,1
3,1
5,0
5, 1
7, 1
7,1
3, 1
51
01
6, 1
3, 1
1,1
1,1
3, 1
1, 1
1,1
2,1
2, 1
1,1
1,1
31
3, 1
5,0
NS,Z
e) Presentar el diagrama de estados/salida . Ofrece la misma informacin que la tabla anterior, tan slo que expresada en forma de grafo . En nuestro caso :
10,1
01,0
01,1
n n
1-,1
J
00,1
180
f) Expresar verbalmente el funcionamiento . Esto slo tiene sentido en casos muy especiales . En nuestro problema no es aplicable .
> Ao
Al
> A2
do
dl
d2
d3
A3 ROM
D3
D
[$]
[$]
0
1
2
3
4
5
6
7
A
B
6
8
6
C
7
6
8
9
A
B
C
D
E
4
7
D
1
8
4
A
9
Solucin P6.- S, corresponde a una estructura de circuito secuencial sncrono (con 8 o menos estados) ya que la ROM es un mdulo lgico universal . As, Z puede ser cualquier funcin
de la entrada y del estado presente, y D 3 , D 2 y D 1 pueden ser cualquier funcin de excitacin
de las mismas variables .
Analizamos el circuito identificando la variable asociada a cada lnea de entrada y salida
de la ROM . As, tenemos :
A3A2A1 = q3q2q1, Ao = X, D 3 D2 D 1 = d 3 d 2d 1 y Z = Do
y podemos reescribir la tabla de contenido de la ROM :
g3g2q1X
A3A2A1Ao
D3 D 2 D 1 Do
1000
0100
0111
g3g2q1X
A3 A 2 A 1 Ao
D 3 D2D 1 D o
0000
0001
1010
1011
0010
0011
0110
1001
1010
0100
1000
0110
1011
1100
0001
1000
0101
1100
1101
0100
0111
0110
1110
1111
1010
1001
0110
0111
d 3 d2d 1 do
d 3d 2d 1 d o
1101
A continuacin escribimos la tabla de excitacin y salida del circuito que coincide con
la de transicin, ya que estamos utilizando biestables tipo D para los cuales se cumple Qi = Di :
939291
000
001
010
011
100
101
110
111
0
101,0
011,0
011,0
011,1
010,0
110,1
100,0
101,0
181
1
101,1
100,0
110,0
011,0
011,1
000,1
010,0
100,1
D3D2D1,Z = Q3Q2Q1,Z
1
5, 1
4,0
6,0
3,0
3, 1
0,1
2,0
4,1
NS, Z
Problema 7
.-Analice el circuito de la figura . Encuentre la forma de onda de la salida para la
secuencia de entradas dada .
X
Y
>1
>1
J2 q2
K~92
lk
clk
x
Y
182
Z=q2+Y .q1
00
0, 0 0, 0
01
1, 0 1, 1
0,00,1
11
10
q1 q2
00
01
11
10
1,01,1
1, 1 1,1
1,11,1
1, 1 0, 0
1,10,1
0,00,1
1,01,1
1,11,1
1,10,1
0,00,0
1,01,0
1, 1 1,0
1, 10,0
D 1 , J2 K 2 , Z
c) Tabla de transicin y salida :
00
q
II
11
10
00,0
lo,
01
1
1 1, 1
1 1,0
01,1
01,1
10,1
10,1
10,1
10,1
11,1
11,1
00,0
10,0
11,0
11,0
QiQ2, Z
d) Llamando a = 00, b = 01, c = 11 y d = 10 obtenemos la siguiente tabla de estados y
salida . Esta tabla puede ser reducida en un estado, ya que b es equivalente a c :
XY
\Y
S
00
a,0
01
d, 1
11
c, 1
10
c, 0
00
a, 0
01
d, 1
11
c, 1
b, 1
b, 1
d, 1
d, 1
d, 1
c, 1
c, 1
d, 1
d, 1
c, 0
c, 1
c, 1
c, 0
a,0
d, 0
c, 0
c, 0
d, 0
d, 1
c, 0
a,0
10
NS, Z
NS, Z
183
Una vez conocida la secuencia de estados por los que pasa la mquina dibujemos la forma de onda de la salida . Para determinarla, basta conocer el estado presente total (XY, S) y
mirar en la tabla de salida cul es el valor de sta . Como es un circuito de Mealy, la salida puede cambiar, tanto cuando cambie el estado (flanco negativo de clk), como cuando cambien
cualquiera de las entradas X e Y .
clk
X
__
Y
S
Problema 8.-Para el circuito de la figura, dibuje la forma de onda de la salida para las secuencias que se muestran . Supongamos que el sistema parte del estado (q1,g2,q 3,) = (0,0,0) .
y l
clk 1
clk2
Y
X
Solucin P8 .-
184
clk 1
clk2
Y
1
1
X
q1
q2
q3
Fo
o
Fo
o
4e
Fo
~ OO
Fo
O
O
2
Problema 9.-En el circuito de la figura, las entradas A, 8, y C estn todas inicialmente a cero .
La salida Y tambin est inicialmente a cero (0) y pasa a uno (1) despus de una cierta
secuencia en el cambio de A, B y C a uno (1) .
a) Determine la secuencia que har que Y pase a uno (1).
b) Explique por qu se necesita el pulso de Start.
J1
>clk
J2
K
l CL
clk
C
u
Start
185
Solucin P9 .- Como K 2 = 0, las entradas del biestable Y slo pueden ser J 2K2 = 00, en cuyo
caso el biestable no cambia de estado, o J 2K2 = 10, en cuyo caso Y = 1 .
Si inicialmente Y = 0 y se desea que pase a 1 necesitamos :
1-O) que J 2 = X sea 1
22) que el reloj del biestable X : C, suba a 1 (tenga un flanco de subida) .
Para cumplir la condicin primera, de forma anloga, A debe subir a 1 y, despus, B (reloj del biestable X) tambin debe subir a 1 .
Por tanto, la secuencia de cambios a seguir por las seales A, B y C es :
Cuando Y = 1, como J2K2 = 00 10, no puede cambiarse el estado del biestable "Y"
mediante las entradas sncronas . De aqu que sea necesario ponerlo a 0 asncronamente (Start)
cada vez que se desee que la entrada "Y" tenga un flanco de subida .
Problema 10.- Analice el circuito de la figura donde los biestables son disparados por flanco
y obtenga la secuencia que genera partiendo del estado inicial q1q2q3q4 = 1000 .
q1
A
Di
q2
q2
q4
q3
D3
clk
Este circuito posee bloqueo. Usando puertas lgicas, modifique el circuito (aadiendo
lo necesario) de forma que se evite el bloqueo :
1 . Utilizando las seales asncronas de los biestables (no mostradas en la figura) .
2. Sin utilizar las seales asncronas de los biestables .
Qu ocurrira en el caso de que los biestables fuesen disparados por nivel?
186
00
01
11
lo
00
0000
0010
1110
1100
01
1000
1010
0110
0100
11
1001
1011
0111
0101
10
0001
0011
1111
1101
q3q4
Q1Q2Q3Q4
09009000
CI Goce***
Existe bloqueo en el funcionamiento del circuito, ya que si el circuito entrase en el estado 0 nunca saldra de l .
Para eliminar el bloqueo basta detectar cundo el sistema se encuentra en dicho estado,
y realizar alguna accin que lo fuerce a salir de l .
Planteamos dos soluciones distintas :
1) Solucin asncrona :
Activar la seal de preset PR de cualquiera de los biestables . De esta forma obligamos
a que el sistema cambie de estado asncronamente .
2) Solucin sncrona :
Se tratara de introducir un 1 por la entrada de alguno de los biestables forzando igualmente el cambio de estado .
Para detectar que nos encontramos en el estado 0 definimos una seal Z como :
= ql
q 2 . q 3 . q4
De esta forma las soluciones asncrona y sncrona aplicadas al biestable 1 son respectivamente :
Z
- q4
q4
- q3
- q2
- q3
- q2
PR
D 1 q1
D
Solucin asncrona
Solucin sncrona
187
Analicemos qu sucede si los biestables son disparados por nivel (por ejemplo, por el
nivel alto del reloj) . Cuando clk = 0 se mantendra estable el ltimo estado almacenado y
cuando clk = 1 ira modificndose el estado de acuerdo con el grafo de estados . Esto se hara
al ritmo fijado por los tiempos de propagacin de los biestables y puertas . As, por ejemplo, si
clk = 1 durante 4 veces el tiempo de propagacin de los biestables tendramos que en cada
pulso habra 4 cambios de estados :
clk
S
13
12
12
flip f lops .
Problema 11 .- Para el circuito de la figura se pide :
a) Analizarlo .
b) Indicar la secuencia de salida que se obtiene si inicialmente los tres biestables tienen
salida cero.
c) Indicar cmo pueden sustituirse los biestables D y JK por biestables PM sin tener que
redisear el circuito.
D2
q2
q3 -
K
clk
PM
0 0
01
1 0
1 1
Q(t+1)
Q(t)
1
0
Q(t)
q3
188
Solucin P11 .
a) Ecuaciones de excitacin :
P1 = q3
M1 = q1 +q3
D2 = q1 ED q3
J3 - g2'g3
K3 = 1
Z = g2-g3
De las ecuaciones de excitacin pasamos a la tabla de excitacin y salida :
9392
q
0
1
00
01
11
10
01,0,01, 0
01,1,01, 0
11,0,01, 1
11,1,01, 1
01,1,11, 0
01,0,10, 0
01,1,11, 0
01,0,10, 0
J 3K3,D 2 ,P 1 MI, Z
Pasamos a la tabla de excitacin, a partir de las tablas de transicin de cada uno de los
distintos biestables :
0
Q
00
01
11
10
001, 0
011, 0
101, 1
111, 1
010, 0
000, 0
010, 0
000, 0
Q3Q2Q1 , Z
Y como ltimo paso del anlisis la tabla de estados y salida, donde hemos llamado a los
estados 0, 1, 2, 3, 4, 5, 6 y 7 segn la codificacin de las variables de estado que se muestra :
q3q2q 1 = 000, 001, 010, 011, 111
S
NS
0
1
2
3
4
5
6
7
1
3
5
7
2
0
2
0
0
0
1
1
0
0
0
0
189
-> 1
-~
Z :0
lo 0' -
-o 3
-> 7
T
secuencia que se repite
PM
q -~> Q
a
0
_0 .-1 _
01
1 0
-0 1-
0 1
10
0-- 1
0-6,-1
PM
---------------------------
Una solucin es :
P=D
M=D
--------------------------- Respecto al biestable JK : A partir de la tabla de excitacin del biestable JK (que se
muestra en la siguiente figura) y de la del PM se obtiene la tabla para PM en funcin de JK y
q (que tambin se muestra en la figura) :
JK
q
0
1
00
0
- 1 -
-0 1 -
01
0-- 1
1 0
1 0
01
0-- 1
PM
Una solucin es :
P=J q
M=K .q
q
q
190
Problema 12.- Obtenga los biestables JK, T y D a partir del biestable RS.
Solucin P12 .
Solucin P13.
D-
J -
Solucin P14 .
9
9
9
9
Problema 15.- Para las secuencias de entrada de la figura, encuentre la forma de onda de
salida para el caso de un biestable JK disparado por flanco negativo . Reptalo para el caso de
ser disparado por flanco positivo.
clk
J
K
191
clk
00/1
clk
q
S
A
A0
d3 -
K q
d2
d,
d
D3
ROM
$ (A l A 0)
f$1
0
1
2
F
0
2
B
T2
clk
Solucin P16.- Si denominamos a los distintos estados por los que pasa la mquina como se
muestra a continuacin, podemos dar la tabla de estados correspondiente a este circuito secuencial sncrono .
192
g1g2q3= 000
g1g2q3= 001
q1 q2 q3= 01 0
q1 q2 q3= 01 1
g1g2q3 =100
q1 q2 q3 = 1 0 1
q 1 q2 q3 = 1 1 0
ql q2 q3 = 1 1 1
S=0
S=1
S=2
S=3
S=4
S=5
S=6
S=7
7,0
0,0
7, 1
0,0
2,0
2,0
5,0
5, 1
3,0
4,0
6,0
7,1
6,0
5, 1
1,0
4,0
NS, Z
Problema 17.- Para el circuito secuencial de la figura, obtenga la forma de onda de la salida
Z correspondiente a la forma de onda X mostrada tambin en la figura . Parta del estado inicial
q1 q0 = 00.
X q0 -
- L_ J
X -
Tp _
q0
q0 -
clk
q0 -
X -
q0
q1
q0 q1 -
clk
x
Solucin P17.- Nombraremos a los estados del circuito de la forma mostrada a continuacin,
y a partir de la tabla de estados obtenida deduciremos la secuencia de salida .
X
q1 q0 =00
g1g0= 01
q1 q0 = 10
g1g0 =11
S=0
S=1
S=2
S=3
NS, Z
193
Problema 18.- Analice el circuito de la figura . Si inicialmente los biestables estn a 0, indique
la secuencia de salida para la siguiente secuencia de entrada :
x: 1 1 1 0 0 0 (cada bit corresponde a un ciclo de reloj)
X
_
q1 q2
X q1 q2 -
X -
J3
K3
q1 q2
q
J2
q2
K2
clk
Solucin P18.- Tras el anlisis del circuito obtenemos el diagrama de estados al que responde
la mquina secuencial . La codificacin que se ha usado para cada uno de los estados es :
g1g2q3=000 S=A
0;0
0;0 01,0
g1g2q3= 001 S=B
919293=01 1 S=C
0,1
1,0
,
g1g2q3=010 S=D
0,0
0,1
g1g2q3=110 S=E
glg2g3=111 S=F
1,1
g1g2q3=101 S=G
0,0
g1g2q3=100 S=H
1,1
O
0010
Para dar la secuencia de salida partiremos del estado inicial A (q1q2q3 = 000) y aplicaremos la secuencia de entrada .
194
clk
x
S
Z
1
clk
Solucin P19 .
clk
__r-
Y
Zi
ML
Z2
Problema 20.- Analice el circuito de la figura y muestre la secuencia de salida para la secuencia de entrada dada . Qu ocurrira si los biestables son disparados por el nivel alto del reloj?
q1
qi
195
q2
q2
clk
clk
I I I I I I I I I 1
Solucin P20 .- Tras el anlisis del circuito secuencial sncrono se obtiene la siguiente tabla de
estados como resultado . La codificacin de los estados de la mquina secuencia) es :
q1 q2= 00
q1 q2= 0 1
S=0
q1 q2= 10
q1 q2 =11
S=2
S=1
S=3
NS, Z
Aplicando la secuencia de entrada que propone el problema se obtiene la siguiente salida . Suponemos que inicialmente la mquina se encuentra en el estado 0 .
clk
x
S
0 0 0 2 1 2 3 1 0 0 2 3 3 1 2 3 1 0 0 0 0 0 0 0
Z
Si los biestables fuesen disparados por nivel se podran dar mltiples cambios de estado
durante el nivel activo del reloj . El circuito funcionara respondiendo a la tabla de estados dada
en la solucin si se disea el reloj clk con una anchura de pulso suficientemente grande para
que el biestable cambie una vez por ciclo del reloj, y suficientemente estrecha para que no cambie ms de una vez .
Captulo 8
DISEO DE CIRCUITOS SECUENCIALES
Tabla de transicin/salida
Eleccin de bi estables
Tabla de excitacin/salida
Sntesis de fun ciones combinacionales
l
Ecuaciones de excitacin y de salida
i
Circuito
197
198
199
PROBLEMAS RESUELTOS
Problema 1 .-Construya la tabla de estados para una mquina de Mealy con una entrada X y
una salida Z, que detecte la llegada de tres ceros o tres unos consecutivos, dando una salida
Z = 1 coincidiendo con la aparicin del tercer bit .
Solucin Pl .- Para construir la tabla de estados vamos a partir de un estado conocido como,
por ejemplo, aqul que representa la llegada de 2 ceros consecutivos (llammosle estado A) .
En A :
- Si X = 0 : el prximo estado es A y la salida vale 1 .
- Si X = 1 : se pasa a un nuevo estado, que llamamos B . La salida es 0 .
B es un estado que representa el comienzo de una secuencia de 1's . En B :
Si X = 0 : se pasa a un nuevo estado, C . La salida es 0 .
Si X = 1 : se pasa a un nuevo estado, D . La salida es 0 .
C es el estado que representa el comienzo de una secuencia de 0's . Por otra parte, D es
el estado que representa la llegada de 2 unos consecutivos . En C :
- Si X = 0 : se pasa al estado A . La salida es 0 .
- Si X = 1 : se pasa al estado B . La salida es 0 .
En D :
- Si X = 0 : se pasa al estado C . La salida es 0 .
- Si X = 1 : se pasa al estado D . La salida es 1 .
De esta forma, el diagrama y la tabla de estados quedan como se observa :
499
X
1
/0
0/1
00/0
0/0
Diagrama de estados
Estados
A, 1
B,0
C,0
D,0
A,0
B,0
C,0
D, 1
Tabla de estados
Obsrvese que el estado A realmente es el estado que resulta tras detectar 2 o ms ceros ;
anlogamente, la deteccin de 2 o ms unos conduce al estado D .
11/0
11/1
/0
201
11
202
Sn
NO NO
Sc
S NO
Sr
NO S
Scr S S
In
10
Ii
NONO S NO NO S
S S
ha
S S
On
NO S S NO NONO
Oc
NONO NONO NO S NO S
Or
S S
S S
S NO
S NO
Ocr
CR
l,
La respuesta a la carta debe decir lo siguiente : r minuto : Se oye risa y canto por lo que
debe quemar incienso ; 2 minuto : Se oye canto pero no risa, por lo que debe quemar incienso
y tocar el rgano ; 3` minuto : No se oye nada por lo que no debe hacer nada .
203
Problema 4 .-Sobre una nica lnea X se enva una informacin sincronizada con una seal
de reloj Ck . Se ha convenido que la informacin sea correcta siempre que no haya dos o ms
unos consecutivos o cuatro o ms ceros consecutivos . Obtenga el diagrama de estados de
un circuito cuya salida sea uno si se detecta un error en la transmisin y que permanezca en
ese valor en tanto dure el error .
Solucin P4 .- Para que la salida (seal Z) slo indique error (con Z=1) mientras ste permanezca, haremos que Z dependa de X (mquina de Mealy) .
Para construir el diagrama de estados se parte de un estado conocido, por ejemplo : sea
A el estado que indica que el ltimo valor de X almacenado es 1 . Estando en A :
Si X=1, hay error (dos 1's consecutivos) por lo que Z=1 y el prximo estado es A ya que
el ltimo valor recibido es 1 .
Si X=0, no hay error (Z=0) y el prximo estado ser B .
El estado B indica que el ltimo valor recibido es 0 (mientras que el penltimo era 1) .
Estando en B :
Si X=1, no hay error (Z=0) y el prximo estado es A .
Si X=O, no hay error (slo dos O's consecutivos) y el prximo estado es C .
El estado C corresponde a haber recibido dos ceros consecutivos . Estando en C :
Si X=1, no hay error y el prximo estado es A .
Si X=O, no hay error (sera el 3 cero) y el prximo estado es D .
El estado D refleja la existencia de tres ceros consecutivos . Estando en D :
Si X=1, no hay error y el prximo estado es A .
Si X=0 sera el cuarto 0 consecutivo con lo que hay error (Z=1) y el prximo estado es el
propio estado D .
El diagrama de estados completo es el siguiente :
1/0
s0
0/0
OVIAM
Problema 5.-Un circuito secuencial tiene dos entradas (X1 , X2) y dos salidas (Z 1 , Z2) . Las entradas representan un nmero binario natural de dos bits, N . Si el valor presente de N es mayor que el valor inmediatamente anterior, entonces, Z 1 = 1 . Si dicho valor es menor, entonces
la salida Z2 = 1 . En cualquier otro caso, Z1 = Z2 = 0. Se pide :
1) Escribir la tabla de estados correspondiente del circuito, como autmata de Mealy .
2) Cuntos estados tendra el circuito como autmata de Moore?
204
Para comparar el valor actual con el anterior se necesita almacenar ese ltimo valor .
Por tanto, la mquina debe tener un estado por cada posible valor de X 1 X 2 :
A estado que almacena que el ltimo valor recibido de X 1 X2 = 00
B estado que almacena que el ltimo valor recibido de X 1 X2 = 01
C estado que almacena que el ltimo valor recibido de XI X2 = 10
D estado que almacena que el ltimo valor recibido de X 1 X 2 = 11
Con esto se puede construir directamente la tabla de estados, que queda de la siguiente
manera :
00
01
10
11
A,00
B, 10
C, 10
D, 10
A,01
B, 00
C, 10
D, 10
A,01
B, 01
C, 00
D, 10
A,01
B, 01
C, 01
D, 00
NS, Z 1 Z2
2 .- Como mquina de Moore, en principio se necesita un estado que almacene el ltimo
valor recibido y si era mayor (salidas Z 1 Z2 = 10), igual (salidas Z 1 Z2 = 00), o menor (salidas
Z 1 Z2 = 01) que el anterior. En total, como pueden lleg~wl4 valores diferentes 100, 01, 10, 111,
son 4x3 = 12 estados distintos . La tabla de estados queda de la siguiente manera :
Est .
00
01
10
11
Ao
Co
A1
A2
A3
10
00
A1
Bo
C1
A2
A3
10
01
A2
Bo
B1
C2
A3
10
10
A3
Bo
B1
B2
C3
10
11
Bo
Co
A1
A2
A3
01
00
B1
Bo
C1
A2
A3
01
01
B2
Bo
B1
C2
A3
01
10
B3
Bo
B1
B2
C3
01
11
Co
Co
A1
A2
A3
00
00
C1
Bo
C1
A2
A3
00
01
C2
Bo
B1
C2
A3
00
10
C3
Bo
B1
B2
C3
00
11
NOTA : Se comprueba que la tabla es irreducible salvo por la posible eliminacin de los estados Ao y B 3 que slo pueden alcanzarse si son estado inicial .
Problema 6.-Muestre la tabla de estados mnima de una mquina secuencial sncrona con
una entrada X y una salida Z que opera de la siguiente forma : cuando se detecta la llegada
de 110 (primero 1,despus 1, despus 0), Z se pone a 1, manteniendo este valor hasta detectar la secuencia 010, en cuyo caso Z pasa a tomar valor 0 manteniendo este valor hasta
que llegue una nueva secuencia 110 .
Solucin P6 .- Partimos de un estado conocido para construir el diagrama de estados . Por ej .
sea A el estado que se alcanza al detectarse la secuencia 110, por lo que la salida ser 1 hasta
que se detecte 010 . Consideramos que la mquina es de Mealy . El diagrama de estados con el
significado de cada estado y la tabla de estados son los siguientes :
0/1
%- 1/0
0/1
~Q
Q
1/1
`1/
w1/1
'
1/1
1/0
1/0 O
0/0
00/0
Z = 1)
Z = 1)
Z = 1)
B1
C1
B1
C1
DO El
D
E
FO GO
A1 El
FO GO
DO HO
A1 HO
NS, Z
Z = 0)
Z = 0)
Z = 0)
Para obtener la tabla de estados mnima debemos comprobar si se pueden reducir o eliminar estados . Para ello seguimos el proceso de reduccin de estados, que consta de los siguientes pasos :
1 . Formar la lista de estados con salidas diferentes (son estados incompatibles) :
{ A,C ; A,D ; A,F ; A,G ; A,H ; B,C ; 13,13 ; B,F ; B,G ; B,H ; C,D ; C,E ; C,F ; C,G ; C, H ; D,E ;
D,H ; E,F ; E,G ; E,H ; F,H ; G,H} .
2 . Construir la tabla de pares compatibles o de reduccin, que es una tabla en forma de
escalera asignando un escaln a cada estado como se observa en la figura del paso siguiente .
3 . En esa tabla, marcar las casillas de los pares de la lista del paso 1 . (Es obvio que esta
tabla se puede obtener sin necesidad de haber listado los estados incompatibles) :
206
Tabla de reduccin
Fase inicial
X .Z'~.1,X 091
EN 09 X
X
X
X
X X E
X HA, X
X
X
X 011
FA P,al X
AB
CE
Tabla de reduccin
5 . En la tabla de reduccin tachar aquellas casillas en las que exista escrito algn par de
estados incompatibles . Repetir este paso de forma iterativa hasta que se hallan marcado todos
los pares incompatibles :
un
- D
LWI
w=, aun
.~'
Tabla de reduccin
Fase final
G
.Z'--
Al final de este punto, todas las celdas sin tachar corresponden a parejas de estados compatibles (o equivalentes si, como en este caso, la tabla de estados/salida est completamente
especificada) .
6 . Construir la lista de compatibles . Para ello hay que formar una tabla con tres columnas : en la primera anotar un estado (se empieza por el del escaln ms bajo) ; en la segunda se
anotan los estados equivalentes del primero (aquellos cuyas casillas no estn marcadas) ; en la
tercera se anotan los compatibles . En mquinas completamente especificadas, los compatibles
se agrupan por clases de equivalencia, por lo que la lista final de compatibles se forma fcilmente, agrupando todos los estados que sean compatibles entre s.
S Equivalentes
H
C
B
A
Compatibles
{H}
{H,G}
{H,G,F}
{H,G,F,E}
{H,G,DF,E}
{ H,G,DF,E,C }
{ H,G,DF,E,C,B }
(H, G, DF, E, C, AB)
Nuevos estados :
A partir de los
compatibles se
construye la
nueva tabla
de estados :
rrTrr~
A1
C 1
D 0
E 1
D 0
G 0
A 1
E 1
D 0
H 0
A 1
H 0
207
NS, Z
H, G, D, E, C, A
Problema 7.-Un circuito secuencial tiene una entrada X y una salida Z Por X se transmiten
pulsos positivos de 1, 2 3 ciclos de duracin . Desde un pulso al siguiente X permanece a 0
un mnimo de 10 ciclos . La salida Z se pondr a 1 tras terminar el pulso de entrada y permanecer en 1 durante 3 ciclos si el pulso de X dur un ciclo, durante 2 ciclos si X dur 2 y durante 1 ciclo si X dur 3 . En otros asos Z es cero.
Obtenga la tabla de estado /salida mnima segn el modelo de mquina de Mealy .
Del enunciado se deduce el comportamiento del circuito, que es el siguiente :
Solucin P7 .-
Partamos de un estado conocido . Sea el estado A aquel en el que no se ha detectado ningn pulso . En A :
- Si X= 1 se detecta el primer ciclo del pulso en X . Se pasa al estado B . Z=O .
- Si X=0 se permanece en A . Z=O .
En B :
- Si X=1 se detecta el segundo ciclo del pulso en X . Se pasa a C . Z=O .
- Si X=0 fin del pulso de un ciclo de duracin . Se pasa a D . Z=1 .
En C :
- Si X=1 se detecta el tercer ciclo del pulso en X . Se pasa a E. Z=O .
- Si X=0 fin del pulso de dos ciclos de duracin . Se pasa a F . Z=1 .
En D, E y F, X no puede valer 1 porque, segn se dice en el enunciado, el pulso mayor
es de tres ciclos y, tras finalizar un pulso, la entrada permanece a 0 un mnimo de 10 ciclos de
reloj .
En D, Z debe durar 1 durante dos ciclos ms de reloj . Se pasa a G . Por tanto, Z=1 en el
estado D y en el estado G .
208
0/1
0/1
0/1
A,0
B,0
D,1
C,0
F,1
E,0
G,1
1/0
A,1
0/1
A,1
A,1
NS, Z
S
COMPATIBLES
PRMOMM
{4 4 4,
{A, B, C,
wwdmw
Tabla de reduccin
1G}
A,0
B,0
C,1
C,0
D,1
D,0
A,1
D}
NS, Z
Tabla de estados mnima
Problema 8.-Por una lnea X se recibe, bit a bit, un nmero binario N, empezando por el menos significativo.
a) Obtenga la tabla de estados mnima correspondiente al circuito que permite generar
una nica salida Z con el valor Z = 2 x N .
b) Repita el apartado a) para obtener Z = 3 x N .
Comience por un estado de reset. No tenga en cuenta cundo acaba N.
209
Solucin P8.
a) Sea el nmero binario N = . . . N3 N2 N 1 N o . Entonces, el nmero binario
Z = 2 x N = . . . N3 N 2 N 1 N o 0, pues multiplicar en binario por 2 equivale a "poner un 0 a la
derecha" . En nuestro caso, N viene por la lnea X y 2 x N sale por Z . Esto es, se cumplir :
Ciclo 1 : En X est X0, por Z sale Z0 = 0
Ciclo 2 : En X est X 1 , por Z sale Z l = XO
Ciclo 3 : En X est X2, por Z sale Z2 = X 1
Ciclo 4 : En X est X3 , por Z sale Z3 = X2
Ciclo j+1 : En X est Xj , por Z sale Zj = Xj _ 1
Para obtener Zj , basta conocer el valor de Xj _ 1 que slo puede ser 0 (estado A) 1
(estado B) . Con ello, el diagrama y la tabla de estados son :
X
0/1
Diagrama de estados
Estado`
RE
A,0
B,0
A,0
B,0
A,1
B,1
Estado\
A,0
B,0
A,1
13,1
NS, Z
Tabla de estados mnima
NS, Z
Tabla de estados
En la tabla de estados se observa que : A y RE son el mismo estado ; A y B son incompatibles . La tabla de estados mnima consta de slo dos estados, pero el inicial debe ser A .
b) En el primer ciclo (el estado presente es el de reses RE) hay que sumar N 0 + N0 + N0 ;
el resultado ser Z0 = 0 (y acarreo 0) si N0 = 0 y Z 0 = 1 junto con un acarreo de 1 si No = 1 .
En el segundo ciclo deberemos sumar N 1 + N 1 + N 1 con el acarreo (0 o 1) anterior ; el resultado de esta suma puede ser Z 1 = 0 o Z 1 = 1 con acarreos de 0, 1 o 2 .
En general, en el ciclo j-simo hay que sumar tres veces el bit presente en X (0 01) junto
con el acarreo generado anteriormente, para lo cual dicho acarreo deber estar "almacenado"
en un estado (A si el acarreo es 0, B si es 1 y C si es 2) . La salida Z mostrar el bit de la suma,
mientras que el prximo estado informar de cul ha sido el acarreo generado .
Con este razonamiento se obtiene la tabla de estado siguiente :
Tabla de estados
X
S\
RE
A,0
B, 1
A,0
13,1
A,1
C,0
B,0
C, 1
NS, Z
(Como antes, RE y A son el mismo estado) .
\S~
A
A,0
B, 1
A,1
C,0
B,0
C, 1
NS, Z
210
Problema 9.-Disee un circuito secuencia) sncrono con dos entradas X 1 y X2 y dos salidas
Z1 y Z2 . Por las entradas se reciben bit a bit dos nmeros de n bits, N 1 y N2 , comenzando por
el bit ms significativo . Las salidas deben representar lo siguiente :
Z2 = mayor(N2 ,N1 )
Z1 = menor(N2 , N1 )
Obtenga la tabla de estados/salida mnima, suponiendo el siguiente comportamiento :
X2 : 0 0 1 0 0 1 . . . .
X1 : 0 0 1 1 0 0 . . . .
Z2 : 0 0 1 1 0 0 . . . .
Z1 : 001001 . . . .
Nota. Obsrvese que en el ejemplo N 1 > N2 por lo que X1 sale por Z2 y X2 lo hace por Z1 .
Solucin P9.- El nmero mayor entre N 1 y N 2 es aqul por el que se recibe el primer 1 mientras que se recibe un 0 por el otro . As, en el ejemplo del enunciado, el 4 bit de X 1 es 1 mientras
que el de X 2 es 0 . A partir It este momento y con independencia de los bits que se reciban, el
nmero mayor (N I en el ejemplo) saldr por Z2 y el menor por Z 1 . Hasta que ocurra eso
(X 1 X2 =10 01) por primera vez, los bits son iguales de forma que tanto por Z 1 como por Z2
sale el bit de entrada recibido .
En el comportamiento dado en el enunciado, las salidas cambian en el mismo ciclo que
ocurre el cambio de entrada, lo que indica que Z1,2 dependen de X1,2 y, por tanto, es una mquina de Mealy .
Sea A el estado inicial . Al no haberse recibido ningn bit los nmeros son "hasta ese
momento" iguales . Las posibles entradas y la respuesta del circuito son :
X 1 = X 2 : Los nmeros continan siendo iguales . No hay cambio de estado . Las salidas
sern : Z1 = Z2 = X1 = X2 .
X 1 X 2 = 10 : El nmero N 1 es mayor que el nmero N 2 , por lo que se pasar a un nuevo
estado B . Las salidas sern : Z 2 = X1 Y Z 1 = X 2 .
X 1 X2 = 01 : El nmero N 2 es mayor que el nmero N 1 , por lo que se pasar a un nuevo
estado C . Las salidas sern : Z 2 = X2 Y Z 1 = X 1 .
El estado B representa el caso en que N 1 >N2 , y por tanto, Z2 = X1 Y Z 1 = X 2 hasta el
final . El prximo estado de B, es B . Lo mismo ocurre para C estado en el que N 2 > N 1 . La tabla
de estado queda como sigue :
00
01
11
lo
A,00
B,10
A,11
C,10
B,00
13,10
13,11
B,01
C,00
C,01
C,11
C,10
es irreducible
211
Problema 10.- Disee una mquina secuencial que responda a la tabla de estados siguiente.
Disela con biestables JK atendiendo a las siguientes asignaciones :
a) Asignacin 1 : A = 00, B = 01, C = 11, D = 10
b) Asignacin 2: A = 00, B = 11, C = 01, D = 10
X
S\
A,0
C,0
D, 1
A,0
A,0
D,0
B,1
D,0
NS, Z
Solucin P10.
J 1 =X
X
1
q1 9\ 0
A 00
00
11
B 01
00
10, 1
C 11
00
D 10
10
01,1
10
Q 1 Q2, Z
Tabla de transicin/salida
q -3Q
JK
q 1 q2
0-*0
0-31
1 ->0
1 --3 1
01-1
-0
00
0
0-,0_
01
0-, -1
11
-1, -1
-0,0_
10
Tabla de excitacin
del biestable JK
K1 =q 2
1-, 1-
J2 = Xq1
1-, -1
-I,-0
-0,0_
K2 = Xq1
J 1 K 1 , J2 K2
Tabla de excitacin
Z = Xq2
Ecuaciones de
excitacin y de
salida
2
q
K
D
Ck
1 Por simplicidad, en las distintas tablas slo pondremos los mintrminos de las salidas (celdas con
Z= 1) .
212
b) Para la segunda asignacin, las tablas de transicin/salida y de excitacin y las ecuaciones de excitacin y de salida son las siguientes :
X
91 \q
00
00
01
01
00
1 1, 1
11
00
10,1
10
10
10
J1 = X92
q 1 92
00
0-,0_
0-, 0-
01
0-, -1
J-1_,_0
K1 = X q2
q-*Q
JK
0 -* 0
0-
0-41
1-
1 -~ 0
-1
11
-1, -1
-0 , _1
K2 = X+q1
1 -* 1
-0
10
-0,0_
-0,0_
Z = X92
Q I Q2, Z
J2 = X91
J1 K1 , J2 K2
Problema 11 .- Obtenga una buena asignacin para las siguientes tablas de estado :
Tabla a :
Tabla b :
0
A, 1
C
D
X
0
D, 1
A, 1
C
NS, Z
NS, Z
Solucin Pll .- Para obtener "una buena" asignacin basta con aplicar las reglas de adyacencias . Estas reglas son las siguientes :
1 .- Hacer adyacentes los estados cuyos prximos estados sean iguales para cada valor
de entrada .
2 .- Hacer adyacentes los estados cuyos prximos estados sean los mismos aunque en diferentes valores de entrada, siempre que esos prximos estados tambin se hagan adyacentes .
3 .- Hacer adyacentes los estados cuyos prximos estados sean los mismos para algn
valor de entrada .
4 .- Hacer adyacentes los prximos estados de cada estado .
5 .- Hacer adyacentes los estados que tengan los mismos valores de salida .
Aplicando las reglas a las tablas de estado obtenemos lo siguiente :
REGLAS
1
2
3
4
5
Tabla a
(A,B)
-(A,C),(A,D), (B,C), (B,D),
Tabla b
(A,B)
(C,D) si (A,C)
--
(C, D)
2x(A,D), (B,D), (C,D)
(B,C) (B,D) (C,D)
2x(B,D), 2x(A,C)
(B,D)
213
Una vez aplicadas las reglas, se forma un mapa de Karnaugh en el que las variables son
las variables de estado necesarias para la asignacin . En este caso, en ambas tablas se necesitan
dos variables de estado y l e Y 2 . En este K-mapa, asignamos a cada estado un cdigo tratando,
por prueba y error, de cumplir el mximo nmero posible de las reglas de adyacencia :
Tabla a
Tabla b
1 (Todas)
-- (Todas)
3 (de 5)
3 (de 4)
3 (Todas)
1
1
-4
1
(Todas)
(Todas)
(Todas)
(Todas)
(Todas)
s
CO
B,0
00
-
OLAM
SIGNIFICADO DE CADA ESTADO
Mealy
A : no se ha recibido ningn 1 .
B : se ha recibido el primer 1 .
C : se ha recibido el segundo 1 . (En Mquina de Mealy, si X=1, es el tercer 1 y Z=1 .
En mquina de Moore, si X=1 se pasa a un nuevo estado D .)
D (exclusivo de la mquina de Moore) : se ha recibido el tercer 1 ; Z=1
Para observar las diferencias entre las mquinas de Moore y de Mealy, en la figura
siguiente se muestra un diagrama de tiempo donde se observa la secuencia de estados y de
salida de cada tipo de mquina para una misma secuencia de entrada .
214
Ck
X
ZMoore A
ZMeaJy
C A
A! B
A B C
A': B : A B
A' A B A
C D
B C
A 13 C D D D D
C A 1 13
C C C C
A A A
C A
ZMealy A! A
A A
A
3) Obtenencin de las ecuaciones mnimas de excitacin y de salida : se aplica el procedimiento de diseo mnimo para funciones combinacionales .
Aplicando este proceso a la solucin como mquina de Moore :
215
filo
" : 3,D
Tabla de estados
una
Tabla de reduccin
NS
ASIGNACIN I
X
ASIGNACIN III
ASIGNACIN II
X
91 90
91 90
q1
A=0 0
00
01
A=0 0
00
01
B=0 1
00
10
B=01
00
11
D=1 1
00
11
C=11
00
10
C=1 0
00
11
D=1 0
00
10
Q1Q0= D1D0
A=0 0
00
11
C=0 1
00
10
B=1 1
00
01
D=1 0
00
10
90
Q1Q0=D1D0
QIQ0=D1 D 0
D I = Xq 1 +Xq0
D I = Xq 1 +Xq0
L
II :
IDO = Xq 1 + Xqo
Z =
Do = Xq 1
Z =
g1g0
D I = Xq 1 +Xqo
III:
Do = X (q1 G
) q0)
Z =
g1g0
g1g0
D
1
216
IMPAR
0/0
1/1
W-
30
40
R,1
R,1
Ma A
B
NS, Z
1ai-i.o"
C
D
VIER
V
Tabla de reduccin
Fase final : es irreducible .
217
Y2 , Y ,YO
A=000
010
011
B=001
011
010
D=011
111
110
C=010
110
111
E=110
100,1
100
F=111
100
100,1
000
001
Reglas de adyacencia
101
ama
R=100
La asignacin cumple
todas las reglas menos
3 de la regla 5
Y2Y l Y o, Z
Tabla de transicin
Y2Ytyo + Y2Yo
Problema 14.- Se pretende disear un circuito secuencia) sncrono con una entrada X y dos
salidas Y, Z que cumpla la siguiente tabla de estados/salida :
X
0
Eo
E0 ,00
13 1 ,00
El
E2,00
E 1 ,01
E2
E2,10
E3 ,10
E3
E0,10
E3 ,11
NS, Y,Z
Utilizando el diagrama de bloques de la figura :
a) Calcule el nmero de biestables tipo D que se necesitan .
b) D el tamao y contenido de la ROM.
218
Y
Z
Solucin P14.- Es una tabla con cuatro estados, todos incompatibles, por lo que es irreducible .
Se necesitan dos variables de estado . Por lo tanto, siguiendo el esquema de la figura del enunciado se necesitan dos biestables D .
El tamao de la ROM depende del nmero de entradas y salidas . Como entradas de direccin se tienen : X, entrada de datos, y q l y q0 variables de estado (salidas de los biestables
tipo D) . Como salidas se tienen : Y y Z, salidas del circuito, y D I y D0 entradas a los biestables .
Por tanto se necesita una ROM de 8x4 (8 palabras de 4 bits cada una) .
Utilizando un asignamiento cualquiera, se obtiene la tabla de transicin/salida y de ella
el contenido de la ROM :
X ql q 0 Do D 1 Y Z
X
q 1 qo
E o =00
00,00
01,00
E l =01
10,00
01,01
E2= 10
10,10
11,10
E3= 11
00,10
11,11
Q 1 Qo=D 1 Do , Y Z
Tabla de transicin/salidas
0 0 0
0 0 1
010
011
100
1 0 1
110
111
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
A2A 1 Ao H 3 H2 H 1 Ho
Contenido de la ROM
X > A2
H
A ROM
1
1
8x4 H 2
Ao
H
> Z
> Y
q0
D
q1
Ck
Circuito final
Problema 15.- Se desean obtener 4 seales Z 1 , Z2, Z3, Z4 a partir de una seal de reloj Ck
disponible en un determinado sistema . Realice el circuito correspondiente utilizando exclusivamente: 2 biestables JK, un DEC 2 :4 y 4 puertas AND.
Ck
Z1
Z2
Z3
Z4
219
Z2 = Z,,Ck
z3
= Z,.Ck
Z4 - Zd Ck
Tabla de estados
(es irreducible)
Con Z1 , Z2 , Z3 Y Z4
tomando el valor
indicado en el punto 2 .
NS
Utilizando la asignacin habitual en los contadores (asignar cdigos consecutivos a estados consecutivos) obtenemos la siguiente tabla de transicin :
q q0\ Za Zb Zc Zd
A=0 0 01 1 0 0 0
B=0 1 10 0 1 0 0
C=1 0 11
D=1 1 00
0 0 1 0
0 0 0 1
QiQo
Tabla de transicin/salida
q 1 qo\
A=0 0 0-, 1B=0 1 1-, -1
D=1 1 -1, -1
C=1 0 -0,1_
J O =Ko = 1
J,=K,=q0
J 1 K 1, JOKO
Tabla de excitacin
Ecuaciones de excitacin
220
1
0
K
1
K
DEC
2 :4
2
Z4
Ck
1~9
01/1
0/0
01/1
Problema 17.- Desarrolle un diagrama de estados para un circuito de Moore que genere salida Z= 1, durante un ciclo de reloj, cuando a la lnea de entrada X se han suministrado exactamente tres "1 " durante los tres intervalos precedentes del reloj . Si durante cuatro o ms ciclos del reloj hubiese "1 ", la salida ser Z = 0.
221
B : Recibido el primer 1 .
C : Recibido el segundo 1 .
D : Recibido el tercer 1 .
E : Recibido el cuarto o ms 1 .
Problema 18.- Disee un circuito secuencia) sncrono con una entrada de datos X, que produzca salida "1 " durante un ciclo de reloj cuando la secuencia de los tres ltimos valores de
la entrada sean : 111, 110 000.
Solucin P18 .- Realizando el circuito mediante el modelo de mquina de Moore, la tabla de
estados queda de la siguiente manera :
SIGNIFICADO DE CADA ESTADO
Estado
so
SI
000
001
S2
S3
010
0 1 1
S4
100
S5
101
S6
110
S7
111
NS
A partir de la tabla de estados se contina el proceso de diseo normal : reduccin de
estados (son equivalentes S y S 5 ) ; asignacin ; eleccin de biestable ; ecuaciones de excitacin .
Problema 19.- Disee un autmata de Mealy que detecte la secuencia 1, 0, 0, 1, 0 ; esto es,
el circuito debe tener una nica entrada X y una nica salida Z En los intervalos de reloj en
los que X=0, la salida ser Z= 1 si en los cuatro intervalos de reloj precedentes la entrada ha
sido 1, 0, 0, 1 .
222
1/0
1/0
Recibido
1
10
100
1001
Nada de la secuencia
Problema 20.- Disee un circuito secuencial sncrono que reciba una entrada X y produzca
una salida Z=1 despus de que haya recibido las secuencias de entrada 0, 0, 1 1, 0, 0 .
Comience el diseo por un estado de reset.
Solucin P20 .- Es una mquina de Moore y hay solapamiento en la secuencia . El diagrama de
estados queda de la siguiente manera :
SIGNIFICADO DE CADA ESTADO
Estado
R
A
B
C
Recibido
No se ha recibido nada
Primer 0 de la secuencia 0 0 1
Primer 1 de la secuencia 1 0 0
Segundo 0 de la secuencia 0 0 1
Recibido 0, 0, 1
Recibido 1, 0
Recibido 1, 0, 0
Problema 21 .- Disee un autmata de Mealy con dos entradas X, Y y una salida Z cuyo funcionamiento sea el siguiente :
a) si XY = 00, entonces Z = 0 .
b) si XY = 11, despus de que las entradas hayan sido durante dos ciclos de reloj
XY= 01, entonces Z= 1 .
En el resto de los casos se mantiene la salida .
Nota : en cada ciclo slo puede cambiar una variable de entrada, no las dos a la vez .
Solucin P21 .-
223
-0/0
1-/0
B:
C:
D:
Problema 22.- Se desea disear un autmata de Mealy con dos entradas (X1 ,X2) y una salida Z, que obedezca al siguiente comportamiento :
1) En ningn caso ambas entradas pueden estar a 1 simultneamente .
2) La salida Z alcanzar el valor 1 si y slo si aparecen dos unos consecutivos en la
misma lnea de entrada, pasando a dicho valor cuando se detecte el segundo 1 .
Solucin P22 .- El diagrama de estados queda de la siguiente manera :
00/0
SIGNIFICADO DE CADA ESTADO
A:
00/0
10/1
01/1
B:
C:
10/0
Problema 23.- Por una lnea se envan (bit a bit) grupos de cuatro bits . Obtenga el diagrama
de estados de un circuito secuencial sncrono de Mealy que produzca una salida Z = 1 cuando
detecte las secuencias de entradas 1100 0011 . Comience por un estado de reset.
Solucin P23 .- El enunciado dice que la mquina es de Mealy . El diagrama de estados queda
de la siguiente manera :
224
/0
0/0
-/0
1/0
0/1
0/0
1/0
0/0
/0
-/0
y
4
A, C, D - Estados que detectan la secuencia 0 0 1
B, E, F - Estados que detectan la secuencia 1 1 0
Problema 24 .- Reduzca las mquinas cuyas tablas son las de la figura . Se trata de mquinas de Mealy o de Moore?
0
si
SI
S2
si
S5
S5
S3
S2
S6
S4
S2
S6
S5
S3
S7,1
S6
S3
S7,1
S7
S4
S 8 ,1
S8
S4
S8,1
NS, Z
NS, Z
Solucin P24.-Las dos son mquinas de Mealy . Tras el proceso de reduccin las tablas resultantes son :
Si S2 , S3 , S4 S5, S 6 , S7, S s
NS, Z
NS, Z
Problema 25.- Obtenga una buena asignacin para la siguiente tabla de estados . .
NS, Z
Solucin P25 .-La tabla no puede reducirse . Aplicando las reglas de adyacencia se obtiene :
REGLAS
1
2
3
Tabla
(S4,S6), ( S3,S5)
-(S0,S1),(S0,S2), (S0, S3) , (SO,S4), (S0 , S5), ( SO, S6) , ( S1 , S3) ,
4
5
Tabla 1
aS6 so ma
NS, Z
Tabla 2
Y2Y 1
00
Yo
0
S4
S6
01
11
10
S2
So
NS, Z
Si
226
Problema 26 .- a) Para la tabla de estados siguiente, determine cul de las tres asignaciones
que se dan es la que cumple mejor las reglas de adyacencias .
b) Para la asignacin nmero 1, realice el circuito utilizando biestables JK y puertas .
ESTADO
A
B
C
D
00
01
11
10
00
01
10
II
00
11
01
10
NS
Solucin P26 .
a) Las reglas de adyacencia que debe cumplir la tabla de estado son :
Reglas 1 y 2 : Regla 3 : (A,B), 2x(A,D), (B,C) .
Regla 4 : 2x(A,C), 4x(A,D), (C,D), 2x(A,B), (B,C), (B,D) .
Regla 5 : (A,D), (B,C)
En la siguiente tabla se muestra cuntas reglas cumple cada asignacin :
Asignacin
1
2
3
R4
8
6
8
R5
2
2
J 1 = X 2 +X 1
g2
K 1 = X2 +X 1 g 2 +X 1 g 2
J2 -X 2
K2
Z
-q 2
= q2
+X 1 X 2
227
X
9i
q2
Za
Zb
Solucin P27 .- Vamos a obtener directamente la tabla de transicin/salida . Como las variables de estado q 1 q2 cambian con el flanco de bajada de Ck, los biestbles sern tipo flip flop
disparados por el flanco de bajada . En cada ciclo de Ck, estamos viendo el estado presente
(q1 q2) y el valor actual de la entrada X : tambin el de las salidas Z a Zb se ven en ese mismo
ciclo, mientras que el valor del prximo estado se determina viendo cunto valen q 1 y q2 en el
ciclo siguiente . Las tablas de transicin y de salida quedan de la siguiente manera :
X
9 i \q
00
10
1
11
01
11
10
11
10
01
00
01
01
91 92
00
10
00
01
01
11
11
00
10
11
10
11
Q1 Q2
ZaZb
Tabla de salida
Tabla de transicin
Za = Xq0+g1g2+Xq2
To = Xq 1 +Xq 2
Zn = g1g2 + g2g1
Captulo 9
SUBSISTEMAS SECUENCIALES
Las operaciones secuenciales ms comunes estn en circuitos integrados con una complejidad
superior a la del biestable . As podemos encontrar contadores de n bits que incrementan o
decrementan su contenido, adems de otras operaciones ; registros, como elementos
almacenadores de palabras de n bits ; PLD secuenciales que bsicamente son PAL y PLA que
incluyen algunos biestables y que permiten programar funciones secuenciales ; etc. En este
Captulo se estudiarn, fundamentalemente, los contadores y los registros, ya que la tcnica de
anlisis y de diseo con PLD es la de circuitos secuenciales genricos .
CONTADORES
Los contadores son circuitos que tienen la propiedad de incrementar su contenido
(ascendentes), decrementarlo (descendentes) o ambas (reversibles) . Un contador mdulo K
cuenta K valores de forma cclica, normalmente entre 0 y el K-1 (p .ej ., si es ascendente, del 0
pasa al 1, del 1 al 2, y as hasta el K-1, a partir del cual se pasa nuevamente al 0, etc) . Adems,
estos dispositivos pueden tener operaciones que permitan cargar un estado inicial de cuenta
,(carga o load) y restablecer el estado inicial de cuenta, ya sea el cero para contadores
ascendentes (clear) o todos los bits a 1 (estado 2"-1) para los descendentes (preset) . En cuanto
a las salidas, adems de las que indican el estado de cuenta, se incorporan las que avisan que
se ha alcanzado el estado de cuenta final : todo 1 para los ascendentes y 0 para los descendentes .
Existe gran diversidad de contadores dependiendo del tipo de operaciones que realizan y del
tamao del contador . El tamao se especifica por el mdulo (p .ej . : mdulo 10) o por el nmero
de bits en caso de mdulos 2" . Por ejemplo, en la siguiente figura se muestra el esquema de un
contador sncrono ascendente de mdulo 8 (3 bits) con las operaciones de cuenta arriba, carga,
puesta a 0 e inhibicin.
229
230
Up
111
Up
Up Cl Ld
Operacin
TC=Terminal Count
D D D
CI
Clear
Ld
Load
TC
q2 q1 qo
clk
000
100
x10
xxl
TC=1 si q2 q 1 q o =111
TC=O en otros casos
Inhibicin
Cuenta
Puesta a cero
Carga dato
En la siguiente figura aparece la secuencia de salidas de un contador mdulo 8 ascendente . Como se observa, el periodo de las seales de salida va duplicndose, lo que motiva que
a los contadores se les denomine, tambin, divisores de frecuencia .
clk
q0
q1
q2
[cont]
O~
^.O
DISEO DE CONTADORES
Hay dos formas de realizar contadores : 1) los de rizado (ripple-counter) o contadores asncronos ; y 2) los sncronos . En los contadores de rizado la salida de cada biestable se utiliza
como seal de reloj del siguiente . El contador tiene bajo coste, pero debido al diferente instante
de tiempo en que cambia cada biestable, a veces presenta estados incorrectos transitorios .
clk
En la siguiente figura se muestra una estructura alternativa, la del contador sncrono . En
ella, todos los biestables tienen la misma seal de reloj por lo que no presentan estados
incorrectos .
L
1
clk
SUBSISTEMAS SECUENCIALES
231
Las entradas de control de los biestables, descritas con anterioridad (clear, carga o
inhibicin), pueden tener dos modos de operacin, sncrono o asncrono, en funcin de si para
su ejecucin esperan o no la llegada de un flanco de reloj . En la siguiente figura se representa
la estructura interna de un contador sncrono ascendente de mdulo 4, con operacin de clear
asncrono y la respuesta temporal para una secuencia de entrada de control . En ella se observa
que, inmediatamente despus de que se activa clear, el contador se pone en el estado de
cuenta 0, sin esperar la llegada de un flanco activo de reloj .
Up/Clear
q 1 q0
n
Q
clk
Operacin
0
1
Puesta a cero
Cuenta arriba
clk
clk
X
[cont]
En la siguiente figura se muestra la estructura de un contador de similares caractersticas
que el anterior pero con un clear en modo sncrono . Como se observa en las formas de onda,
el contador se pone a 0 cuando, tras estar activa la orden de borrado, recibe el flanco activo en
la entrada de reloj .
To q 0
q1- .
clk
clk
X
[cont]
REGISTROS
Los registros son circuitos capaces de almacenar palabras de n bits . Existen dos operaciones
bsicas :
- Escritura (write) o carga (load) en paralelo, mediante la que los n bits del dato
son almacenados a la vez, introducindose por n entradas In-, -10 .
- Desplazamiento (shift), mediante la que los n bits del dato son almacenados en
232
serie, uno a uno . Esta operacin puede ser a derecha (shift right) introducindose el dato por
una entrada Rin, o a izquierda (shift left) entrando el dato por la entrada L i ,, . En la siguiente
figura se muestra el esquema y estructra interna de un registro universal de 4 bits, llamado as
porque incluye todos los modos de escritura posibles .
13
c2 c l Co
Operacin
0
0
0
0
1
0 0
0 1
1 1
1 0
-
SHL
SHR
LOAD
INH
CLEAR
Rin
Lin
c2
C1
co
clk
SOlg3
q2
q0
SOr
Para el diseo de registros hay que tener en cuenta el modo de funcionamiento asncrono
o sncrono que pueden tener algunas entradas de control . En la siguiente figura se muestra la
estructura de una celda genrica para el registro de la figura anterior, donde se ha supuesto que
todas las operaciones, salvo la de borrar, clear, son sncronas .
(L ;,, si i = o)
(Rin si i = 3)
q ;-1 q ;+,
SUBSISTEMAS SECUENCIALES
233
PROBLEMAS RESUELTOS
Problema 1 .- Determine la secuencia de salida del contador mdulo-5 de la figura en funcin
de la evolucin de las entradas x, y.
Y
n
sll-
Contador
mdulo-5
xy
00
01
10
11
operacin
up
down
clear asncrono
inhibicin
clk
11 +-]
l x
ln
n n
~I ~l fi~ l ~
~Fl
n,
234
clk
x
y
[CONTI 0
Problema 2.- Analice el circuito de la siguiente figura, considerando que la operacin de clear
es sncrona .
CONT[3]
Up/Clear
q2 q 1 q0
clk
Solucin P2 .-El contador slo tiene dos modos de operacin : cuenta ascendente, Up/Clear=l,
y puesta a cero sncrona, Up/Clear=0 . Como se observa en la siguiente figura, la operacin de
puesta a cero se activa para los valores de cuenta 6 y 7 . Para el resto de los estados tenemos la
operacin de cuenta ascendente . Se trata de un contador mdulo 7 sin bloqueo .
91
11
1 1
1'
Problema 3.- Disee un contador mdulo 4 que tenga las siguientes caractersticas :
Ser sncrono y disparado por flanco de subida .
Ser puesto a 0 de manera asncrona .
c) Inhibirse de la cuenta, manteniendo el estado almacenado .
Contar hacia arriba.
Contar hacia abajo .
f) Cargar datos en paralelo .
Solucin P3 .- Al ser un contador de mdulo 4, slo necesitaremos para su realizacin dos biestables . Estos debern ser disparados por flanco ascendente, tener entrada asncrona de clear
SUBSISTEMAS SECUENCIALES
235
y disponer de una seal de reloj comn . Vamos a plantear a continuacin una posible solucin .
Supongamos que la carga en paralelo y la inhibicin son operaciones sncronas ; esto
hace un total de 4 operaciones sncronas (contando la cuenta ascendente y descendente) . Para
no tener demasiadas lneas de control, es conveniente codificar las operaciones, por lo que tres
lneas sern suficientes (2 para las operaciones sncronas y 1 para la asncrona) . Una posible
codificacin es la mostrada en la siguiente tabla :
c2 cl co
Operacin
0
0
0
0
1
Up
Down
Load
Inh
Clear
0 0
0 1
1 1
1 0
- -
Si clcp = 01, tenemos cuenta descendente, por tanto las entradas sern :
To = 1
Ti = qo
Si c1cp=10, tenemos inhibicin . Los biestables no deben cambiar de estado, por lo que
sus entradas deben ser 0 :
To =O
T, = 0
Si c 1 cp=11, tenemos la carga y para determinar las entradas de los biestables T i (i =0,1)
nos basamos en la siguiente estructura, siendo D i el dato a cargar en cada biestable .
Di
Di
236
Si el dato a cargar coincide con el estado del biestable, ste no debe cambiar de valor,
por lo que su entrada ser 0 . En el caso en que difieran, la entrada ser 1 .
To = q0 e Do
T 1 = q 1 ,913 1
La solucin, para la parte sncrona, ser la unin de las entradas de los biestables para
cada seal de control :
To =
l .c 1 .c o +1 .c 1
.c o +0 .c 1
.co +(g 0 eD 0 )
c1 co
T1 = qo c1 co+go c 1 - c o +0 c 1 c o + (q 1 eD 1 )c 1 * c o
El circuito resultante es :
q0 - 0
q0 - 1
0 - 2
3
Doqo -
C1
1-0
1- 1
0 - 2
D 1 -1
31 0
II
c 1 CO
Cl
q
T1
10
II
1, 1
CO
q1
clk
Problema 4.- Disee un contador mdulo-60 (0-59) utilizando dos contadores, uno de los
cuales es mdulo 10. Realice el segundo contador con biestables JK y puertas lgicas .
Solucin P4.- El contador que tenemos que disear con biestables JK debe ser de mdulo 6 e
incrementarse cada vez que el contador de mdulo 10 alcance su ltimo estado de cuenta .
clk
up
mod . 6
En esta solucin no influye el tipo de flanco que se escoja para los contadores, eso s,
los dos deben ser iguales .
En la segunda solucin, la seal de
Aqu, s es necesario, para asegurar que los contadores cambien al mismo tiempo que el flanco
de disparo sea de bajada .
SUBSISTEMAS SECUENCIALES
Cy
2 37
mod . 10
mod . 6
clk
1
Para la segunda solucin, el diagrama de estados es an ms simple, ya que desaparece
la dependencia con la seal de entrada (siempre est cambiando de estado) .
111
11
1 1
11
e
0
Obviaremos los pasos para la obtencin del circuito secuencia, puesto que ya existe un
Captulo entero dedicado a este propsito .
Problema 5.- Se dispone de un contador mod-16 con las siguientes seales de control :
CUENTA, CARGA y CLEAR .
a) Si CUENTA = 1 y CARGA = 0, el contador cuenta hacia arriba .
b) Si CARGA = 1, el contador se carga con datos en paralelo .
c) Tiene tambin salida de CARRY.
Construya, utilizando como dispositivo bsico dicho contador1 . - Un contador md. 6 que cuente de 0 a 5.
2.- Un contador md. 6 que cuente de 10 a 15.
3.- Un contador md. 6 que cuente de 4 a 9.
4 .- Un contador que cuente de 0 a 34 .
Solucin P5 .- A partir de las especificaciones del enunciado y deduciendo que si no est activa
ninguna de las 3 seales de control existe una inhibicin, obtenemos la siguiente tabla de
operacin :
238
Operacin
Carga
Cuenta
Clear
Inhibicin
Dado que las operaciones son sncronas, deberemos generar la operacin de clear en el
estado 5, para que, cuando se reciba el siguiente flanco de reloj, el prximo estado sea el 0 .
r-W
-1
LWIEW
CUENTA
CUENTA = q 2 q0
SUBSISTEMAS SECUENCIALES
239
Como anexo al apartado, podemos decir que este circuito no sufre situacin de bloqueo,
porque si inicialmente se da un estado fuera del rango, sus lneas de control provocarn una
cuenta ascendente o un reset . Por tanto, siempre se llegar a la secuencia de estados prevista .
2 .- Para disear un contador que cuente de 10 a 15, utilizaremos las operaciones de carga
y cuenta . Las lneas de carga del contador debern tener el nmero 1010 correspondiente al
estado inicial . Las seales de control deben ser : (CARGA, CUENTA, CLEAR) = (1,-,-) para
carga y (0,1,-) para cuenta ascendente . Por tanto, la lnea de CUENTA la dejamos a 1, la de
CLEAR puede tomar cualquier valor y la seal de CARGA la generamos en funcin del estado
de cuenta del contador .
clk
q2
q0
1
4
00
01
11
10
00
01
11
10
CARGA
CARGA = q 2 - q, - q 0
3 . Este apartado es igual que el anterior, salvo que ahora se activa la seal de CARGA
en el estado de cuenta 9, y el dato a cargar es el 0100 .
CARGA = q 3 - q 0
4. Para este apartado es necesario utilizar al menos dos contadores . La seal de carry
del primer contador la utilizaremos para incrementar al segundo . Asimismo, generamos un
clear cuando el valor del conjunto de las lneas que forman los dos contadores sea 34 o lo que
es equivalente, que las lneas q 1 de los dos contadores sean 1 y el resto 0 . Podemos deducir
directamente la expresin de la seal de clear como :
CLEAR = q q
donde el superndice distingue el contador .
240
Las operaciones a realizar por el contador dos son : inhibicin, cuenta ascendente y
clear, para lo que las entradas de control (CARGA,CUENTA,CLEAR) deben tomar los
valores (0,0,0), (0,1,-) y (0,0,1) . Para ello CARGA se puede poner a 0, CUENTA se conecta
con la seal de carry del primer contador y clear se activa en el estado de cuenta 34 .
Para el contador CONTI, las operaciones a realizar son : cuenta ascendente y clear, para
lo que las entradas de control deben ser (0,1,-) y (0,0,1) . Para ello podemos dejar CARGA a 0,
CLEAR a 1 y controlamos la entrada de CUENTA, de modo que cuando est a 1, se realizar
cuenta ascendente y cuando est a 0 un clear. La seal de CUENTA la obtendremos
invirtiendo la seal que se activa cuando se alcance el estado de cuenta 34 . En la siguiente
figura se muestra el resultado final :
CARGA - 0
CONT 2 CUENTA
CLEAR
3210
1
Cy
CONT 1
CARGA
CUENTA
CLEAR
0
1
3210
1
clk
c2 cl co
Operacin
0 0 0
0 0 1
0 1 1
0 1 0
1 xx
SHL
SHR
LOAD
INH
CLEAR
L2
L 1.
Lo
Rin
C2
R[4]
C1
co
SOI
q3
q2
ql
q0
Lin
So r
Supongamos que salvo el CLEAR, el resto de las operaciones son sncronas . Entonces,
para cada biestable D tenemos que :
SUBSISTEMAS SECUENCIALES
241
i = 1, 2,3
Do = Lin
Si c2c1c0 = 001 (desplazamiento a la derecha), las entradas son :
Di = qi .1
i=0,1,2
D 3 = Rin
Si c 2c 1 c 0 = 010 (inhibicin), se conectar la entrada a la salida q del biestable :
D i =qi
Si c2c1c0 = 011 (carga), las entradas correspondern con las lneas de carga :
Di =Li
La expresin para la entrada de cada biestable se obtiene uniendo las expresiones
anteriores para cada entrada de control .
Do = L in C 1 co+q1 c1 .co+go .c1
D1 = go . c1 . co + q2
C1
0 +L o .c 1 .c o
.c 1 c o
co+q1 c 1 .co +L 1
(Li n si i = 0)
(Ri n si i = 3)
qi-I
qi+1
qi
Li
Problema 7.- La figura muestra un registro de cuatro bits y sus operaciones . Utilizando
conexiones y circuitera externa adicional a ese registro :
242
a) Obtenga un registro universal de cuatro bits ; esto es, tendr carga en paralelo,
desplazamiento a derecha e izquierda, y "no-cambio" (inhibicin) .
SI : Entrada en serie .clk
SH: Desplazamiento a la derecha .
L : Carga en paralelo .
SO: Salida serie.
SH L
REG 4-
0
0
1
REG
0
1
-
SI
3 2
SH
L
X3-Xo
SHR(REG,SI)
1 0
REG
3 2
1 0
SO
Ck
q3 q2 q1 q 0
SH
SO
Solucin P7 .
a) Para conseguir la nica operacin no disponible, el desplazamiento a la izquierda,
utilizaremos la operacin de carga de forma que mediante un cableado apropiado entre las
salidas del registro con las entradas de carga se simule este desplazamiento . El registro a
disear debe tener dos seales de control que permitan la realizacin de cuatro operaciones
distintas . Llamemos a estas seales 11 e lo . En la siguiente tabla, aparece una posible
codificacin de stas y su relacin con las seales a activar en el registro .
1 1 Io
0
0
1
1
0
1
0
1
SH L
0
0
1
0
0
1
1
Operacin
Inhibicin
Carga
SHR
SHL
SUBSISTEMAS SECUENCIALES
243
X2 = D2 11 +q, . 1 1
X1 =
D 1 . 1 1 +q0 . 1 1
Xo =DO* I I + S IL . 1
Puede observarse que en las expresiones anteriores se ha eliminado la dependencia de
lo. Esta entrada slo sirve para distinguir entre la operacin interna de carga, y las restantes
(desplazamiento a derecha e inhibicin) . Cuando estas ltimas estn activas, los valores de las
entradas de carga son indiferentes, por lo que la ausencia de I o no afecta a la operacin del
dispositivo .
Nos queda, por ltimo, disear el circuito que adapte las seales de control I 1 l o a las del
registro SH y L. De la tabla inicial, podemos sacar las expresiones algebraicas siguientes :
SH =1 1 ,1 0
L=1 0
L=I 1 +I 0
El circuito resultante es :
I
SH
L
SI 3 2 1 0
REG
3 2 1 0
SO
Ck
q3 q2 q1 q0
Por ltimo, nos falta obtener la forma de onda de la salida cuando se somete al circuito
a la secuencia de operacin mostradas en la figura del enunciado .
244
Para dibujar la forma de onda de la salida del registro debemos tener en cuenta que los
cambios en la salida suceden en los flancos de bajada de la seal de reloj . Supongamos que
inicialmente el contenido del registro es desconocido . Cuando se recibe el primer flanco
activo, las seales de control L y SH estn respectivamente a 1 y O lgicos . Esto provoca una
carga en paralelo . A partir de este ciclo ya es conocido el contenido del registro . En los cinco
flancos siguientes las seales de control provocan el desplazamiento sucesivo del contenido
del registro . La salida SO se corresponde, en cada momento con el bit menos significativo .
Para los ltimos tres ciclos, el registro se inhibe por lo que no se altera el contenido .
Problema 8 .- La figura representa un registro de 8 bits cuyas funciones son las especificadas
en la tabla . Las salidas DZ deben ir conectadas a un BUS compartido . El BUS EB es
bidireccional.
a) Disee el registro utilizando puertas y biestables de tipo T con entradas de PRESET
y CLEAR activas en alto (H).
b) Aada al diseo realizado en el apartado anterior un circuito para que cada funcin
del registro se ejecute activando una nica lnea . En esta parte pueden utilizarse
subsistemas como elementos de diseo .
X2 XI Xo
0
0
0
0
1
0
1
1
0
-
1
0
1
0
-
X2
X1
xo
Solucin P8.- Diseamos una celda de este registro . Las salidas al bus DZ deben soportar alta
impedancia por ser este un bus compartido . Para esta salida utilizamos buffers triestados .
Estos buffers se usan tambin en la salida EB, para evitar las colisiones entre la salida del
biestable y el dato de entrada . Partimos de la siguiente estructura :
SUBSISTEMAS SECUENCIALES
245
X2_o
q,
EB i
A ; y B i son las entradas de control de los buffers triestado y D i la entrada de datos que
se obtiene del bus bidireccional . El circuito combinacional C .C . debe generar las seales Ti ,
A i , B i , Cl i y Pri , en funcin de las seales de control Xi , del estado actual y el dato de entrada
D i . Para no extender demasiado el diseo, vamos a utilizar para el circuito C .C subsistemas
combinacionales . La tabla de funcionamiento para C .C . es :
XAX 0
0
0
0
0
1
0
0
1
1
-
0
1
0
1
-
Ti
Ai B i
qi
0
Di @ qi
0
0
0
1
0
0
0
0
0
0
1
0
Cli Pri
0
0
0
0
1
0
0
0
0
0
Operacin
Cero sncrono
Lectura DZ
Escritura
Lectura EB
Cero asncrono
Hemos supuesto que los buses se encuentran en alta impedancia siempre que no se haga
una operacin de lectura que los afecte . En cuanto a las seales asncronas, Pr, como se
observa, no se utiliza por lo que podemos fijarlo a 0 . A la seal Cl podemos asignarle
directamente la variable X 2 . Cuando X2 tome el valor 1, el registro se pone a 0
independientemente de las restantes seales de control . Esto nos sirve para independizar la
expresin de Ti de la variable X2 . Por tanto, podemos deducir que :
q
-X, X o +Di og i .X 1 .X O
Ti = ;
Esto se podr realizar con un multiplexor de 4 canales . Para las entradas de control de
los buffers tenemos :
A;=X2 . X, .Xo
B ; = X2 X, Xo
En este caso hemos preferido no eliminar la dependencia de X 2 para asegurar que se
produce la lectura slamente en los casos que se especifican en el enunciado . El circuito
resultante queda como :
246
Problema 9 .- a) Disee un contador sncrono con una entrada X, de forma que sea un
contador de mod-16 para X = 0 y de mod-12 para X = 1 .
b) Disee un circuito que genere la secuencia de palabras dadas en el diagrama de
tiempo de la figura utilizando el contador anterior y una ROM .
16
10
11
12
13
14 15
16 1
secuencia para X = 1
secuencia para X = 0
Solucin P9 .
a) Utilizaremos un contador mdulo 16 con puesta a cero sncrona . Si la entrada X est
a 0, lo dejaremos recorrer los 16 estados ; si X est a 1, slo le dejaremos recorrer los 12
primeros estados, para lo cual generaremos un clear cuando el estado de cuenta sea el 11 en
decimal . Si suponemos que la seal de clear (Cl) es activa en alta, tenemos :
X=1
8392
q\ 00 01 11
10
00
01
11
10
o
C1
SUBSISTEMAS SECUENCIALES
247
ROM
Zd
Zc
Zb
Za
clk
0
1
2
3
md . 12/16
A q q1 q q3
0
1
2
3
En cada ciclo de reloj tenemos un estado de cuenta para el contador y una direccin
activa de la ROM cuyo contenido se mostrar en las salidas z a, . . ., zd . Si para el ciclo 0 ( estado
de cuenta 0), las salidas (za , zb , z c , zd ) = ( 1, 0, 1, 0), la direccin 0 de la ROM deber tener
precisamente este contenido, o sea, (1, 0, 1, 0) . Repitiendo este paso para todos los ciclos,
tenemos la siguiente tabla de programacin de la ROM :
Direccin
$0
$2
$3
$4
$5
$6
$7
$8
$9
$A
$B
$C
$D
$E
$F
Contenido
A
E
$5
$1
$4
$6
$6
$F
$B
$9
$5
$3
$A
$0
$C
$3
248
Problema 10.- El circuito integrado 74LS 193 es un contador sncrono de 4 bits con carga en
paralelo, seal de puesta a 0 (clear), tambin sncrona, e inhibicin . Utilice un 74LS 193 y las
puertas necesarias para realizar el diagrama de estados de la figura .
Clear Load
0
1
1
1
0
1
1
P. T
0
1
Operacin
P
T
o Clear
c Load
CONT = 0
CONT = D
CONT = CONT
CONT = CONT + 1
D D Do
q3 q2 qi q0
I
o~~o
e
SUBSISTEMAS SECUENCIALES
249
esta forma, salvo el paso del estado G al A, todas las transiciones (A-B, B-C, . . .) pueden ser
realizadas sin ms que activar la seal de cuenta .
El segundo paso consiste en asignar el estado de cuenta cero . En general, escogeremos
aquel estado que simplifique el nmero de operaciones de carga . Para nuestro ejemplo, existen
varias soluciones ; asignar la cuenta 0 al estado A, al D o al G . De este modo, el nmero de
operaciones de carga distintas, es de dos, mientras que, si hubiramos escogido cualquier otro
estado, el nmero de estas operaciones sera mayor (esto es equivalente a elegir como estado 0
a aquel estado que reciba el mayor nmero de transiciones) . Si escogemos, por ejemplo el A,
la tabla de asignacin de cdigos queda :
Estado
250
Estado
q3 q2 q1 q0
0
0
0
0
1
1
1
A
B
C
D
E
F
G
0
0
1
1
0
0
1
0
1
0
1
0
1
0
D 3 D2 D 1 D0
P
T
Clear
Load
q q q q
C .C .
----------------------En la figura, hemos fijado D 3 y D 1 a 0 y 1 lgicos respectivamente, puesto que los datos
que cargamos son, o bien -011 (estado D), o bien -110 (estado G) . La tabla de verdad del
circuito combinacional se muestra a continuacin :
X q2 q1 q0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Clear Load P T
1
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1 1
1 1
0
1
0
0 -
1
1
1
1
1
1
1
1
1
1
1
1
D2 D 0
1 0
0 1
1
1
1
1
1
1
SUBSISTEMAS SECUENCIALES
251
En la tabla anterior, para la entrada 0100 del circuito combinacional, se han escogido
para P y T los valores 0 y - respectivamente, de forma que P .T = 0 . Las ecuaciones de salida
para el circuito combinacional son :
P=q2+X
Do =q2
T= 1
D2=q1
CLEAR = q, +qo q 2 +X q 2
LOAD = q o +q, q 2 +X
Problema 11.- Se dispone de una seal binaria con periodo de 1 minuto, contadores de
mdulo 10 disparados por flanco negativo, con entrada de clear sncrona activa en alta y
salida de acarreo (carry), visualizadores de 7 segmentos con entradas BCD y puertas lgicas .
Disee un reloj digital que muestre las horas y minutos .
Solucin P11 .-Podemos deducir, a partir del funcionamiento del reloj, que necesitaremos dos
contadores para los minutos y otros dos para las horas . La salida binaria de estos contadores
puede actuar como entrada a los displays de 7 segmentos como recoge la siguiente figura :
-----------------------------------------CONT4
CONT3
CONT2
CONT1
clk
El contador CONT1 debe ser capaz de cambiar desde el estado 0 al estado 9 en cada
minuto o ciclo de reloj .
Y
CONT 1
CL 1
q3 q2 q 1 q 0
clk ('imin")
El contador CONT2, debe cambiar de estado cada 10 minutos . Los estados que puede
recorrer van desde e10 al 5 . Como las nicas operaciones que pueden realizar estos contadores
son la cuenta arriba y el clear, nos vemos obligados a dotar a este contador de una seal de
reloj de 10 minutos . sta la podemos conseguir a partir del carry del contador CONT1 .
Adems, cuando el estado de cuenta alcance el valor cinco, activaremos la seal de clear .
CL 2 = qi q
252
El superndice de la expresin anterior hace referencia al contador del que extraemos las
salidas q ; . En este caso, el contador CONT2 .
CY2
CONT2
CL2
CY 1 CONT 1
q3 q2 q1 q0
q3 q2 q1 q0
clk
. . .... . . . . . . .
. . .... . . . . .
.......... Z
EX
0 > C 4
C :
5
iC
El diseo del contador CONT3 es algo ms complejo . ste debe cambiar de estado cada
60 minutos y, en funcin del estado del contador CONT4, debe alcanzar hasta el valor nueve
(cuando [CONT4] < 2 ), o slo hasta el tres (cuando [CONT4] = 2) . Para su entrada de reloj,
utilizaremos la seal de clear del contador CONT2 . Si nos fijamos en la ilustracin anterior,
esta seal genera un flanco negativo, cada 60 minutos, sincronizado con la seal clk . Por otro
lado, debemos activar la seal de clear (CL 3 ) cuando [CONT4] = 2 y [CONT3] = 3 . La
ecuacin para la seal CL 3 es :
CL3 = qi qi . q
Por ltimo, el contador CONT4 debe tener una seal de reloj que lo haga cambiar de
estado cada diez horas, cuando [CONT4] < 2 ; o bien cuando el reloj se encuentre en la
situacin 23 :59 . Esta seal de reloj la podemos obtener uniendo mediante operacin OR, una
seal binaria con periodo de diez horas, con otra con periodo de cuatro cuando el
[CONT4] = 2 . Para la primera, utilizaremos la salida de carry del contador CONT3 . Para la
segunda, utilizaremos la salida q 1 del contador CONT3 (ya que las salidas de un contador
actun como divisores de frecuencia y, por tanto, como la entrada de reloj del contador
CONT3 tiene un periodo de una hora, la seal q0 tendr un periodo de dos horas y la q l , de
cuatro) .
SUBSISTEMAS SECUENCIALES
253
CY4
q q
CL4
CY3
CONT 3
CL3
q3 q2 qi q
qi q
Clk
T=1 hora
1
. ... . . . . . . . . . .
CY3
3
q1
[CONT4]_
>c
Lin
A
clk
En este caso, el registro necesita ser cargado con la secuencia . Esto se consigue con la
seal de control X, y colocando en las entradas de carga los bits de la secuencia . Si X = 0 se
254
q5
S .R[3]
q2 q1
Lin
q0
C .C .
Puesto que este registro no puede almacenar la secuencia entera, tendremos que disear
un circuito combinacional que en funcin de los bits de la secuencia parcial que se encuentran
en el registro, introduzca el prximo bit de la secuencia por Li n .
Para determinar el circuito se procede de la siguiente manera . Supongamos que
inicialmente se encuentran almacenados en el registro los tres primeros bits de la secuencia, o
sea, g2 g 1 q0 = (1,1,0) . El prximo bit de la secuencia que debe ser introducido por Li n es el 0,
por lo que el circuito combinacional debe generar salida 0 para entrada (1,1,0) . Supongamos
ahora que se recibe un flanco de reloj . El contenido del registro se desplaza hacia la izquierda
y el valor de L in pasa a ocupar la posicin menos significativa, g 2 g l q0 = (1,0,0) . El prximo
bit a introducir por L in ser ahora 1 . Por tanto, C .C . generar salida 1 para entrada (1,0,0) . Si
repetimos este proceso, obtendremos la tabla siguiente :
q2
q1
q0
1 0
0 0
0 1
1 0
0 1
1 1
0
1
Lin
SUBSISTEMAS SECUENCIALES
255
Como puede observarse, para cada entrada obtenemos un nico valor de Li,,, por tanto
podremos generar esta funcin mediante un circuito combinacional . Es probable que en
muchos diseos aparezcan entradas idnticas que generen salidas distintas para Li,, . En tal
caso, deberemos aumentar progresivamente el tamao del registro de desplazamiento hasta
que a cada entrada slo le corresponda una nica salida del circuito a disear . Es entonces,
cuando obtendremos el circuito asociado .
El K-mapa para nuestro problema es :
e
Lin
de donde obtenemos la siguiente expresin :
L,~ = q2 q0+q2 q1
En este tipo de soluciones se pueden plantear problemas de bloqueo . Inicialmente, el
estado del registro es indeterminado . Esto puede originar situaciones de entrada para el C .C .
que no estn contempladas . Estas entradas pueden llegar a provocar una secuencia de salida
que no coincide con la prevista . Para solucionar este problema existen varios mtodos : uno de
ellos es el de generar una carga inicial con parte de los bits de la secuencia ; otro mtodo sera
asignar a aquellas entradas inespecificadas valores de salida que provoquen la incorporacin a
la secuencia vlida .
En nuestro ejemplo no existe bloqueo . Las nicas dos entradas que no estn
contempladas son la g2g1q0 = 000 y la 42g1g0 = 111 . Si inicialmente se da el estado 000, el
prximo estado, el 001, s pertenece a la secuencia y a partir de aqu, el funcionamiento es
correcto . Igualmente, si se da el estado 111, el prximo estado, el 110, tambin pertenece a la
secuencia.
d) Utilizando contadores y lgica combinacional (MUX, ROM, PLA, . . .) .
El contador se utiliza para generar la secuencia de estados . La lgica combinacional se
usa para asignar el valor de salida a cada estado del contador de forma que a cada uno de los
estados corresponda un bit de la secuencia de salida . Por ejemplo, si se utiliza un multiplexor,
el generador quedara como se muestra :
1
1
0
0
1
0
0
1
2
3
4
5
6
mod-6
7
A qo qi q2 2 1 0
1 1
clk
256
REG
q2 qi q
C .C .
,
-----------------
De este modo, el registro almacena los valores de la entrada en los ltimos tres ciclos y,
junto con el valor actual de X, el C .C . puede generar la salida Z . La expresin algebraica para
Z es la misma que la del problema anterior pero cambiando q3 por X .
Z=X . g2 . g1 . q0+X q2 . g1- go+X g2 . g1 q 0
Problema 14 .- Represente la salida del circuito de la figura siguiente durante 5 ciclos de reloj
suponiendo que el registro tiene almacenada la palabra 110 inicialmente y que la nica
operacin disponible para el registro es el desplazamiento a la derecha .
L
clk
q2 q t qo D Ot
I
Solucin P14 .- Con carcter general podemos decir que la salida se obtiene a partir de la funcin XOR entre el bit 1 y el bit 0 del registro de desplazamiento . De igual manera, el valor de
Z se toma como entrada de desplazamiento del registro . En la siguiente figura se representa la
secuencia de salida para los primeros 5 ciclos de reloj .
A
clk
[reg]
z
Problema 15.- Disee un contador de 4 bits (mdulo 16) que permita carga de datos en
paralelo. El contador debe ser slncrono y podr ser puesto a 0 (clear) . Diselo con biestables
JK y puertas lgicas .
SUBSISTEMAS SECUENCIALES
257
Solucin P15.- En esta solucin se ha supuesto que el clear y el load son asncronos y activos
en alta .
Load
Clear
CI
1
C1
Pr
q0
Pr
C1
CI
Pr
q,
q2
Pr
q3
clk
V
q0
v
q,
q2
q3
Problema 16.- Se desea disponer de un contador con dos entradas de control (1 y D) que
realice las siguientes funciones :
a) Si I=D=O, el contador est inactivo (no cuenta) .
b) Si 1=1, el contador se incrementa (cuenta hacia arriba) .
c) Si D=1, el contador se decrementa (cuenta hacia abajo) .
Se prohibe que las entradas l y D sean simultneamente 1 .
1 . Disee uno de 4 bits, sncrono, con biestables tipo T (no utilice la tabla de estados
global pues tiene 16 estados) .
2. Indique qu ocurre si por error u otra causa hay entradas ID= 11 .
3 . Generalice el diseo para n bits .
Solucin P16.
1) Las ecuaciones para las entradas de los cuatro biestables son :
T o =I+D
T, = I' qo+D' qo
T 2 = 1 . q, .go+D - go'q,
T3 = I . g2 . q, .go+D . g2 . q, .go
2) Si en las expresiones anteriores sustituimos 1 y D por el valor 1, y obtenemos los
valores de entrada T i para cada estado presente % el diagrama de estados, para este contador,
es el representado en la siguiente figura :
258
affs o
3) Generalizando para
bits :
n-1
T; = I .
n-1
flg i + D . [J q;
i=0
(i= 1, . . .,n)
i=0
To = I+D
Problema 17.- Se dispone de contadores mdulo 16 con dos seales X, y X 2 que controlan
su funcionamiento :
x,
Xp
0 0
0 1
1 -
Operacin
Puesta a cero
Carga en paralelo
Cuenta ascendente
Tomando como base este tipo de contadores, realice los diseos siguientes :
a) Un contador mod-7 que cuente de 0 a 6 .
b) Un contador mod-7 que cuente de 9 a 15 .
c) Un contador mod-7 que cuente de 4 a 10 .
d) Un contador que cuente de 2 a 34.
Solucin P17 .- En las siguientes soluciones no se han tenido en cuenta los problemas de
bloqueo y adems, se ha supuesto que las operaciones de clear y carga son asncronas .
a) Contador mdulo 7 (de 0 a 6) :
1 1 1 1
3 2 1 0
CONT[41
xo
q3 q2 q1 q 0
clk
SUBSISTEMAS SECUENCIALES
259
clk
clk
d) Contador de 2 a 34 :
1 1 1 1
3 2 1 0
CONT[4]
93 q2 9 i qo
0 0 1 0
I 1 1 1
3 2 1 0 X
CONT[4]
X
A 93 q2 q 190
I
clk
Puesta a 0 asncrona
Inhibicin
Desplazamiento a izquierda
Desplazamiento a derecha
Carga en paralelo
260
0
1
0
1
Operacin
Desplazar a derecha introduciendo un 0
Desplazar a derecha introduciendo el bit de signo
Desplazar a derecha introduciendo el bit menos significativo
No desplazar
y que posea una seal de lectura (R) activa en alta, de forma que, cuando no est activa
ponga al dispositivo en alta impedancia .
1) Disee el registro utilizando las puertas necesarias y el 74198 .
2) Suponiendo que inicialmente el registro contiene el dato 10101010, indique qu
ocurre para la siguiente secuencia de entradas (cada valor corresponde a un ciclo de reloj) .
R A,A 0 : 0-0, 110, 011, 001, 100 .
Solucin P18 .
Ap
I[7-0]
07
A1 -
Ds1
Dsr
00 c MR
1
A1
Ao
74198
%~
[8]
O[7-0]
clk
Y
Z[7-0]
RA 1 Ao
[CONTI
0-0
110
011
001
10101010
Z[7-01
( 01010101)
11010101
Problema 19.- Un sistema tiene una nica entrada y dos salidas. El sistema puede estar
fuera de servicio o en servicio . Entra en servicio tras recibir la secuencia 1, 1, 1 y se pone fuera
de servicio tras 0, 0, 0. Una vez que est en servicio, el sistema detecta la secuencia 1, 0, 1
SUBSISTEMAS SECUENCIALES
261
0/10
O
0/00
q2
qt q0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 1 1
1 0 1
1 1 0
h1
Con la asignacin anterior, se requieren las seales de control que aparecen codificadas
en la siguiente tabla :
c 1 co
00
01
10
11
Operacin
Up
Inh
Clear
Load
2 1 0
CONT[31
q2 ql q 0
cl
co
ROM
clk
0
X
Zb
Za
262
X q2 ql q0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
D i ci c0 Za Zb
0
1
1
0
1 1
0
0
0
0
0
0
0 1
0
0
0 1
0 1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
Problema 20.- Se desea detectar el envo del nmero diez que llega por una nica lnea
comenzando por el bit LSB . Suponemos el caso de existencia de solapamiento en la cadena
de bits . De un diseo con mdulos combinacionales, mdulos secuenciales y el menor nmero de puertas lgicas posibles .
Solucin P20 .
Con un registro de desplazamiento a la derecha y una puerta AND de tres entradas :
X
Rin
clk
SHR[3]
ShR
Captulo 10
MEMORIAS SEMICONDUCTORAS
263
264
16
Bus de direcciones
1
cc
ccI 12
14 CC .
j131c1 13 1cC1 12 IccI 1211
y W
Chip 6 Chip 7
Chip 2
Chip 3 Chip 4
Chip 5
RAM
RAM
ROM
RAM RAM
ROM
16K
8K
4K
4K
8K
4K
. .. ......... ......... ........ ........ . ........... ......... ........ ........ .........
lneas de
direccin de palabra
seleccin
fsica (en cada chip)
de chip
->
I1
CC
12
Chip 8
RAM
4K
.......
EL MAPA DE MEMORIA
De las conexiones mencionadas entre la CPU y la unidad de memoria, las nicas que cambian
de un problema multichip a otro son las del circuito de decodificacin que selecciona cada
chip . Este circuito resulta de una u otra forma segn se asocie cada chip con una regin concreta del espacio de direcciones . A esto nos referimos como "mapa de memoria" . Un ejemplo
de mapa es el que se ilustra a continuacin . El l se observa que, si la palabra lgica (esto es,
la direccionada por la CPU) es $A018, la palabra fsica a la que se accede es la $0018 del
chip 4, cuyo contenido es, en este caso $07 (00000111) . Dicha forma de representar mapas de
memoria es poco efectiva . En su lugar utilizaremos una descripcin basada en los bits ms significativos de las lneas de direcciones con las que se divide fcilmente el espacio global en
regiones de 2 k palabras . En la figura que se presenta, adems de esta forma de representar el
mapa, hemos incluido cules son los valores de las salidas del circuito de decodificacin
(CS 1 , CS 2 , . . ., CS 8) . Como se observa, en cada regin slo hay un chip seleccionado evitndose as los problemas de colisin .
MEMORIAS SEMICONDUCTORAS
0
16383
16384
32767
32768
Registro de
direccin
40959
40960
0000
53247
53248
57343
57344
61439
61440
Chip 1
RAM 16K
Chip 2
RAM 16K
Chip 3
RAM 8K
3FFF
4000
9FFF
A000
A000
Chip 4
ROM 8K
A018
Chip 5
ROM 4K
BFFF
Chip 6
RAM 4K
Chip 7
RAM 4K
BFFF
0000
0000
0018
07
1FFF
CFFF
D000
DFFF
E000
EFFF
F000
Chip 8
RAM 4K
}
65535
Direccin
Direccin Chip 4
del mapa . ROM 8K interna
del chip
de memoria
7FFF
8000
A018
49151
49152
FFFF
A 15
A 14
A 13
A 12
CS 1
CS 2
CS 3
CS 4
CS 5
CS 6
CS7
CS 8
Chip
1 (16K)
2(16K)
3(8K)
0
1
4 (8K)
5(4K)
6(4K)
7 (4K)
8(4K)
265
266
1
A15
A 12 -A
3
ROM
8Kx8
Solucin Pl .
A15
0
1
A14 2 o-A13 - 0
DEC 2 :4 3
A15
CS
A12-A0 ~
a12-a0 g lo D7 -Do
13 9>
ROM
CS
A 1 2-A0 -+~-~ al 2-ao
13
RAM
-,-> D7 - Do
MEMORIAS SEMICONDUCTORAS
267
1
0
RAM (8Kx 8)
RAM (8Kx 8)
ROM (8Kx 8)
A13 A12- 0
A15 -
DEC 2 :4
1
2
A14 - 0
DEC 2 :43
3
Ajo-A0
a to -a0
0
1
2
DEC 2 :4
CS
Ajo-A0
I1
a jo -a0
M3
8
V
DO - D7
268
Solucin P2 .
Sean CS 1 , CS 2 y CS 3 las seales de seleccin de chip correspondientes a ROM 1 , ROM2
y ROM3 respectivamente . Sean a; las lneas de direccin de las memorias M i .
Directamente del diagrama del circuito :
M 1 (2 12 x 8) =M I (4K x 8)
La ecuacin para la seal de seleccin de la memoria es :
CS1 = A 1 5+A 14 +A 1 3+A 1 2
Las lneas que componen el bus de direcciones interno :
al,-, = A11-o
M 2 (2 '1 x 8) = M 2 (2K x 8)
Ecuacin para la seal de seleccin :
CS 2 = (A13+A12+A,5+A14)
Lneas de direccin :
ato-o = Ato-o
M3 (2" x 8) = M 3 (2K x 8)
Seal de seleccin de chip :
_
CS3 = ( A 13 +A 11 + [ A 15 +A 141 . [A ,5+A141) _ (A14+A13+A11)
Lneas de direccin :
a,o-o = Ato-o
A partir de las ecuaciones obtenidas para CS i , podemos evaluar cundo se selecciona
cada memoria . Para ello basta analizar para qu combinacin de las lneas de direccin se tiene
CS i = 0 . As obtenemos el mapa de memoria que se muestra a continuacin . Como se observa,
M 1 (4Kx8) ocupa 4K posiciones en el espacio de memoria : $0000 - $OFFIM 2 (2Kx8) ocupa 12K posiciones en el espacio de memoria :
$2000 - $2FFF
$4800 - $4FFF
$5800 - $5F1-}
$C800 - $CFFF
$D800 - $DFFF
Esto quiere decir que aunque el chip fsicamente slo contiene 2K direcciones, existen
12K direcciones del espacio de memoria que hacen que se seleccione el chip M2 . Por ejemplo,
si en el bus de direcciones externo se fijan las direcciones $2000, $4800, $5800, $C800
$D800, estaremos leyendo una nica direccin fsica en M 2 , la $0000 .
M3 (2Kx8) ocupa 8K posiciones en el espacio de memoria :
$6000 - $67FF
$7000 - $77FF
$E000 - $E7FF
$F000 - $F7FF
MEMORIAS SEMICONDUCTORAS
A15
A14
A13 A12
269
A11
0
0
1
0
0
(4K)
1
1
0
0
0
1
0
0
1
1
1
0
N
(2K)
M3
(2K)
M3
(2K)
M,
(2 K)
0
1
M,
(2 K)
0
1
M3
(2K)
M3
(2K)
1
1
0
1
0
0
0
1
1
1
1
270
A 14$A 13
A15A14A13 + A15A14AI3
CS
CS
A 15 ,A 13 -A
D -D7
A 15 -A
a14-0
DO-D7
a14-0
A 14 -A
15
CS
D -D7
a14-0
RAM
RAM
RAM
(a)
(b)
(c)
Solucin P3.
Caso a)
La RAM se selecciona cuando su seal de seleccin de chip CS = 0 .
CS = A14 . A13 + A14 .A13, por tanto se puede acceder a la memoria en las combinaciones
A14 A13 = 01 10, y est no seleccionada cuando A14 A13 = 00 11 .
Se comprueba por tanto, que no hay conflicto de seleccin con las memorias RAM ni
ROM previamente posicionadas . En ninguna ocasin se selecciona ms de una memoria simultneamente .
Las lneas de direccin de la RAM (a14-0) son : a14 = A15 , a13-0 = A13-0 . Dado que la
lnea A 13 forma parte simultneamente del conjunto de lneas de direccin de la memoria y del
circuito de seleccin de chip (CS = A140+A13) es necesario hacer ciertas consideraciones . Para
los 8K que ocupan las primeras posiciones de la RAM se tiene que a14 = A15 = 0 Y
a13 = A13 = 0 . Para que CS = 0 ser necesario A 14 = 1 . Por tanto, los primeros 8K de la RAM
ocupan las posiciones del mapa en que A15A14A13 = 010 . Los siguientes 8K son posiciones
en las que de nuevo a14 = A15 = 0 pero a13 = A13 =, con lo que para que se cumpla CS = 0 se
ha de fijar A 14 = 0 . En este caso se estarn ocupando las posiciones del mapa en que
A15A14A13 = 001 . Razonando de igual modo se concluye que los 16K de la RAM con las posiciones ms altas se direccionana para A15A14A13 = 101 y 110 .
El mapa, para el caso a) queda :
A15
A14
0
A13
0
1
0
0
1
1
0
0
1
1
0
1
1
$ABCD
A14
A13
1
0
1
0
1
0
0
1
0
1
1
Ro
R1
RAM
R2
ROM inicial del problema
- $ABCD
Para A15-0 = $ABCD se selecciona la seccin R1 de la RAM (A14 A13 = 01, y por tanto
a14a13=01) .
Asimismo se tiene A14-0 = $2BCD, de donde se deduce que la direccin interna de la
memoria a la que podemos acceder es a14-0 = $2BCD .
272
Por ltimo, para acceder a la direccin interna de la memoria RAM a14-0 = $4680 que
pertenece al tramo de R2 slo hace falta determinar A 15 , que puede valer 0 1, como se quiera .
Esto es, se accede a la direccin requerida tanto para A 15 -0 = $4680 como para A 15 - 0 = $C680 .
Do - D 7
A 13 -Ao
1lo
14
A15
8
16K
2
3
4
5
A14
A12
6
DEC
3 :8 7
D - D7
A13,A11 - A0
-f-->
13
8
8K
Do - D7
A13,A11 - A
1 10
13
8
8K
Do - D7
Solucin P4 .- Primero obtenemos el mapa de memoria para conocer las direcciones fuente (de
M 2 y M 3 ) y destino (M 1 ) .
Analizando el circuito combinacional de decodificacin :
selecciona M 1
A15A14A12 = 000 001
011
selecciona M2
A15A14A12 =
selecciona M3
A15A14A12 = 110
A continuacin formamos las instrucciones TRANSFIERE (, , ) necesarias . Para ello
dibujamos el mapa de memoria .
MEMORIAS SEMICONDUCTORAS
A 15
A14
A13
0
0
A12
0
Memoria seleccionada
0
0
273
mi
16K palabras
MI
1
0
0
0
4K palabras (A 13 = 0)
M2
4K palabras (A 13 = 1)
M2
1
1
0
0
1
1
0
1
~\\\\\\\~i~:\\\\"`
4K palabras (A13= 1 )
M3
Problema 5.- Utilizando circuitos de memoria de 8Kx8, realice una asociacin de 32Ka partir
de la posicin $6000 .
Solucin P5 .- Para ocupar 32K bytes de memoria con chips de memoria de 8Kx8 necesitamos
4 de estos (M I , M2 , M3 , M4) . Sean CS i el terminal de seleccin de chip y a 12- 0 sus lneas de
direccin .
Conectaremos las lneas del bus de direcciones AB = A15-0 de forma que a12-0 = A12-0,
y la seleccin de memoria la realizaremos con A15 , A14, A13 . Repartiremos las posiciones de
las distintas memorias como muestra la siguiente tabla :
274
A15
0
0
0
0
1
1
1
1
A14
0
0
1
1
0
0
1
1
A13
0
1
0
1
0
1
0
1
$comienzo
0000
2000
4000
6000
8000
A000
C000
E000
$final
1FFF
3FFF
5FFF
7FFF
9FFF
BFFF
DFFF
FFFF
M1
M2
M3
M4
CS 1
1
1
1
0
1
1
1
1
CS 2
1
1
1
1
0
1
1
1
CS 3
1
1
1
1
1
0
1
1
CS 4
1
1
1
1
1
1
0
1
A1
A14
A1
1
2
3
4
5
0
6
DEC 7
D-
n n
CS
a12-0
M1
CS4
CS 2
0 DI
13
a12-0
M2
13
a12-0
M3
0 DI
13
a12-0
M4
A15-A0
16 A12 - Ao
Problema 6.- Se desea disear un sistema microcomputador que tenga 64Kbytes de memoria, de los cuales, 40K sean RAM y 16K ROM . Se dispone de chips de los siguientes tipos :
ROM: 16Kx4
RAM: 16Kx8
RAM : 4Kx8
Disee el circuito de decodificacin necesario .
MEMORIAS SEMICONDUCTORAS
275
cs
cs
a13 0
a13-0
7-0
14
16Kx4
16Kx4
210
3210
L 7161514
16Kx8
3)2)J0)
D7-0
Buscamos ahora la forma de situar 40K de memoria RAM y 16K de ROM en un mapa
completo que ocupa 64K .
De todas las posibles soluciones adoptamos aquella en la que se ocupa el espacio de memoria desde las posiciones ms bajas para la RAM y las ltimas posiciones de memoria para
la ROM . El mapa de memoria queda con la siguiente distribucin :
CS 1 CS2 CS 3 CS4 CS 5
M1
RAM 16Kx8
M2
RAM 16Kx8
M3
M4
RAM 4Kx8
RAM 4Kx8
0
1
1
1
Libre
ROM 16Kx8
0
1
M5
Las seales de seleccin de chip para cada una de las memorias las obtenemos con el
siguiente circuito de decodificacin :
276
A15
A14
1
0
0
1
2
DEC 2 :4
EN
CS 3
CS 4
DEC 2 :4
Problema 7.- Se dispone de 3 circuitos de memoria con entrada de seleccin activa en nivel
bajo, dos son de 8K palabras y el tercero de 32K. Estos circuitos van a estar direccionados
por un procesador de 16 seales de direccin (A 15- 0) . Se requiere que los circuitos de 8K ocupen las direcciones menores y las mayores .
a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K palabras de direccin sobrantes . Disee el circuito que realiza ese mapa .
b) Indique el circuito de memoria y la posicin en dicho circuito que se activa con cada
una de las siguientes direcciones ($A 15-o, en hexadecimal) : $0123, $2345, $4567, $6789,
$89AB, $ABCD, $CDEF y $EF01 .
Solucin P7 .-Descomponemos las 64K direcciones del bus de direcciones externo AB, en
grupos de 8K, cada uno de los cuales est definido por uno de los posibles valores de A15 , A14 ,
y A 13 . La tabla indica una de las posibles soluciones, donde la memoria de 32K ocupa las posiciones intermedias . Para realizar el circuito, describamos cmo son las memorias :
M 1 y M2 son de 8K, por tanto tienen 13 lneas en su bus de direccin (a12-0) .
M 3 es de 32K con 15 lneas de direccin (a14-0) . _
Asumimos que todas tienen su seal de seleccin CS M ; .
A15
A14 A13
0 0
0 1
8K de M 1
Libre
0 1 0
1 1
32K de M 3
1 0 0
1
Libre
MEMORIAS SEMICONDUCTORAS
A15
A14
A13
A15
A14
A13
277
>1
esMI
o- USM2
CSM3
=1
USM3
CS MI
CSM2
Ml
M2
M3
a12-0
a12-0
a12-0
8K
8K
32K
De acuerdo con lo anterior, pasamos a solucionar el apartado b) . A partir de las direcciones A15-0 que se nos indicanm tendremos que deducir del valor de A15 A14 y A13 si se selecciona alguna memoria y cul es . Posteriormente, analizamos el valor de la lneas de direccin de la memoria seleccionada (ale-0 para M1 Y M2 ; a14-0 para M3 ) para averiguar qu direccin interna es activada . En la siguiente tabla se muestran los resultados de dicho anlisis .
$A
A15A14A13A12
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
binario
0
0
0
0
0
0
0
0
Memoria
A11-8
1
3
5
7
9
B
D
F
A7-4
2
4
6
8
A
C
E
0
Palabra de memoria
A3-0
3
5
7
9
B
D
F
1
hexadecimal
M 1
Libre
M3
M3
M3
M3
Libre
M2
a7-4 a 3- 0 = 4
a7 -4 a3- 0 = 6
a7 -4 a3- 0 = 0
a7-4 a3-0 = 2
a12 a l 1 - 8 a7-4 a 3 -0 =
2 3
5 6 7
7 8 9
9 A B
B C D
F 0 1
hexadecimal
278
Problema 8.- En una memoria LIFO de fondo 6 se va a realizar la siguiente secuencia de operaciones:
3 PUSH, 1 NOP', 1 PULL, 2 PUSH, 2 NOP, 1 PULL, 1 PUSH .
La memoria est vaca en el instante inicial. La anchura de la memoria es de 8 bits . Por
su bus de entrada vienen caracteres ASCII con paridad par, concretamente, los valores durante las sucesivas operaciones de escritura son : N, E, G, 1, C, B.
a) Muestre el contenido de la LIFO al realizar la secuencia de operaciones.
b) Supuesta vaca la LIFO y siguiendo un proceso de 2 operaciones de escritura y 1 de
lectura (despus otras 2 de escritura y 1 de lectura, . . .), indique la secuencia de entradas a la
LIFO para que en la pila est escrita la palabra FINAL en algn momento .
Solucin P8.- Para conocer el contenido final de la pila vamos a obtener los resultados
parciales despus de cada operacin de escritura (PUSH) o lectura (PULL) sobre la pila . En la
siguiente figura aparecen los distintos pasos ; encima de la flecha se escribe el tipo de operacin
y debajo el dato de entrada (X significa que no importa el dato) .
instante inicial
-V -A -C-
PUSH
PUSH
PUSH
PULL
PUSH
PUSH
NOP
NOP
PULL
PUSH
3
B
NOP
NOP : no operacin .
MEMORIAS SEMICONDUCTORAS
PUSH
FINAL
F
PUSH
<
N
PUSH
INAL ~PULL
AL
NAL
PUSH
NAL
N
<
PUSH
PULL
INAL < I
X
279
NAL
PULL
PUSH
< AL
AL
< L
A
X
E-
PUSH
PUSH
< Vaca
A
L
En definitiva, la secuencia de datos necesaria para utilizar en la secuencia de operaciones es : L, A, X, A, N, X, N, 1, X, 1, F . Y como resultado de la octava operacin de escritura
(PUSH), que es la 11 2 operacin, se consigue tener la palabra "FINAL" en el contenido de la
LIFO . Los caracteres ASCII con el bit paridad par como bit ms significativo que aparecen en
este problema son (en hexadecimal) :
F : $C6
C : $C3
E : $C5
A : $41
B :$42
L : $CC
N : $4E
G :$47
1 : $C9
L
15 _o
A13
0
cs
0
A15 -
A12 -
DEC
2 :43 :)
MUX 4 :1
A ,A12,A1o- A o
fi RAM -13
8Kx8
A14 A11
90130-D7
280
A14
A13
A12
A11
0
0
0
0
1
1
0
1
0
1
0 = $0800401-1-1
0
1
1
0
0
1
0
0
1
0
1
-$ 000-$C7FF a12-0=$1000-$17FF
0
1
1
1
0
0
1
1
1
Problema 10.- Para el circuito de la figura, determine las distintas secuencias de salida,
indicando las direcciones en que ocurren cada una de ellas, dentro de un mapa de memoria
de 64K.
MEMORIAS SEMICONDUCTORAS
281
[$1
0
1
2
A15
A14
A13
A12
3
4
1
2
3
4
5
6
5
6
7
8
9
a3 CS d3 ->
a2
d2
>
d1->
A11 - al
A to -ao
do - >
DEC3 :8 7
A
B
C
D
E
F
ROM(24x4)
q
CONTADOR
MOD-4
CLK
q1
0
2
F
B
F
D
E
B
0
1
2
3
A
B
F
C
Solucin P10 .- Las secuencias que se obtienen a la salida de la ROM dependern de los valores de a3 _0 . Las lneas a l y a o estn fijas a A11 y Ajo mientras que a3 y a 2 , al estar conectadas
a las salidas del contador, van cambiando ciclo a ciclo . Analizando los distintos casos se obtiene :
Direcciones internas de la memoria RAM
a3 a2 al ao
A11 Ajo = 00
A11 Ajo = 01
A l , A jo - 10
A11 Ajo = 11
d3 d2 d l do
0
0 0
1 0
1 0
0
0
Secuencia de Salida
0 0
1
0
1
1
0
0 1
0 1
0
1
1 0
1 0
0 0
282
a13-0
a13-0
/
a13-0
14
14
16Kx4
3210
7-0
16Kx4
3210
l7~6l5l4
3)2)1)C)
~ g
D7-0
Las cuatro memorias se colocarn a partir de la direccin A15-0 = $ 1000, es decir :
A 15 = 0, A 14 = 0, A13 = 0, A12 = 1 y A11-0 = 000 (en hexadecimal) . De esta forma, las seales
CSi de cada memoria debern activarse segn la siguiente tabla :
A15
A14
A13
A12
CS 1
CS2
CS 3
CS 4
MI
M2
M3
M4
restantes combinaciones
CS 1
CS 2
A14
CS3
A13
CS 4
A12
DEC 3 :8
MEMORIAS SEMICONDUCTORAS
283
Solucin P12.- Tenemos que situar 3 memorias RAM de capacidad 8Kx8 y un EPROM de
8Kx8 en un mapa de 64K . Para ello damos uno de los posibles circuitos de decodificacin .
Hemos colocado las cuatro memorias una a continuacin de otra empezando desde la primera
direccin del mapa completo .
D -D7
A1 - Ap
13 1 a12-a0
RAM I
8
8
0
1
2
3
4
5
A15
A14
A13 -
Da - D 7
A12-
3 a,2- a0
13
1
RAM2
A
Do - D 7
A 12 -A0 .
DEC 3 :8 7
13
DI
-r
a12 -a, )
8
RAM3
A
A 1 2-A0
13
a 12-al)
Do - D 7
ROM
Para este circuito de decodificacin la mitad del mapa queda vaca . Slo se ocupan los
primeros 32K del mapa . Otra opcin en donde se ocupara el mapa completo de los 64K, ya
que cada una de las memorias cubre 16K, es la siguiente :
A
D o - D7
A12-A0
a 12
-a,1
13
8
RAM I
8
A15 -
A12-A0
---o, >
13
Do - D7
a12 -a0
8
RAM2
A14
_-
DEC 1 .2 3
A 1 2-A0
-- .
13
D -D7
a12 -a0
-01
RAM3
A
A12-
Do - D 7
/
a 12-a
13
8
ROM
Do - D 7
284
A14
A13
A12
M 2 : RAM (4Kx8)
M 3 : RAM (4Kx8)
M 1 : RAM (16Kx8)
M4 : ROM (8Kx8)
restantes combinaciones
vaca
Circuito de decodificacin :
0
A15
A14
1
0
1
2
DEC 2 :4 3
EN
1
0
CS 2
1
2
CS 3
DEC 2 :4 3
EN
0
1
DEC 1 :2
CS 4
Problema 14.- Utilizando circuitos de memoria 2Kx4, realice una configuracin 8Kx8 que
ocupe 8K posiciones a partir de la 4096 (10 en un mapa de memoria de 64K .
Solucin P14 .- Una vez que tengamos todas las memorias de 8 bits por palabra para lo que
hemos tenido que hacer una asociacin de memorias de la forma en la que se hizo en problemas
anteriores, hacemos la distribucin de estas memorias a partir de la direccin 4096, es decir,
A15-0 = $ 1000 con lo que : A15 = 0, A 14 = 0, A 13 = 0, A 12 = 1 y A 11 - 0 = 000 (en hexadecimal) .
El mapa de memoria es :
MEMORIAS SEMICONDUCTORAS
CS 1
CS2
CS 3
CS 4
M1
ato-0
M2
a jo -0
M3
ato-0
M4
Al ,
A10-0
$A15-0
A,5
A14
A13
A12
0---
1000
a jo -0
a
2FFF
3000
a
restantes combinaciones
285
HF1-F
El circuito de decodificacin :
CSi
1
CS 1
CS2
CS 3
CS 4
RAM
A jo-A0 -- T-> a10-a0 -yD o -D7
1
2Kx8
Problema 15.- Disee un circuito decodificador que permita situar 20Kbytes de RAM a partir
de la direccin $5000 dentro de un mapa de memoria de 64K . Para ello se dispone de chips
de 8Kx8 y 4Kx4 .
Solucin P15 .- En primer lugar se obtienen todas las memorias de 8 bits por palabra realizando una asociacin para los casos en los que sea necesario .
Damos a continuacin, el mapa de la distribucin de las memorias . Todas estn consecutivamente dispuestas a partir de la direccin $5000 (A 15 = 0, A 14 = 1, A 13 = 0, A 12 = 1
y A11-0 = 000 (en hexadecimal)) .
Mapa de memoria :
A15
A14
A13
A12
0
1
0
1
0
1
1
1
0
0
restantes combinaciones
M 1 (4Kx8)
M 2 (8Kx8)
M 3 (8Kx8)
Libre
CS l
CS2
CS 3
0
1
1
1
1
0
1
1
1
1
0
1
al 1-0 = A11-0
a12-0 = A12-0
a12-0 = A12-0
286
Circuito de decodificacin :
CS 1
A15
A14
A13
Problema 16 .- Se dispone de RAMs de 8Kx8 y de 4Kx4 . En una CPU de 16 lneas de direccin y 8 de datos :
a) Disee con puertas lgicas un banco de memoria de 28K palabras, a partir de la direccin $4000 del espacio de direcciones .
b) Indique la posicin fsica correspondiente a las direcciones $4567 y $CAFE en el bus
de direcciones .
c) Qu direccin hay que poner en el bus de direcciones para leer la posicin $0123
de una de las memorias RAM de 4Kx4?
d) Indique los cambios que habra que hacer si el bus de datos fuera de 4 bits .
Solucin P16 .
a) Primero asociamos las memorias necesarias para tener todas las memorias de 8 bits
por palabra :
CS
CS
C$a
Cs n
4Kx4
4Kx4
all-0
a11-0
7-0
12
3210
3210
17t I
6
3)2)1)
A14
0
1
A13
A12
Libre (16K)
CS I
CS 2
CS 3
CS 4
1
1
1
1
M 1 (8Kx8)
1
0
0
1
M2 (8Kx8)
1
0
M 3 (8Kx8)
M 4 (4Kx8)
1
1
restantes combinaciones
Libre (20K)
MEMORIAS SEMICONDUCTORAS
287
CS1
.
A14
CS2
CS 3
A13
CS 4
A12
b) Las direcciones de memoria ledas para las direcciones propuestas en el bus exterior
de lneas A 15 -0 son :
M 1 ha sido seleccionada
a 12 -0 = $0567
A15-0 = $4567
Ninguna
memoria
seleccionada
A15-0 = $CAFE
c) Para leer la direccin $0123 de de las memoria de 4Kx4 tendramos que poner en el
bus de direcciones la palabra A15-0 = $A123 .
d) Para tener un bus de datos de 4 bits por palabra, una solucin es conectar al bus de
datos slo 4 de los 8 bits que tenamos antes . El mapa anterior es vlido pero se desaprovecha
la mitad de cada una de las memorias .
Otra opcin es utilizar slo memorias RAM de 4Kx4 . As, para sustituir las memorias
M1, M2 Y M3 anteriores que eran de 8K, hacemos una asociacin de dos RAM de 4K para cada
una de ellas Mi (con i=1, 2, 3) como se indica a continuacin :
A12
A15
A14
A13
A15i
Al5i
Al4i
A141
A131
Alai
A12
0
M2a
M2b
CS i
CSib
CSi a
CS
M ia
4Kx4
A12-0
CS
Mib
4Kx4
3-
288
Problema 17.- Disee una memoria tipo LIFO de 8 bits de anchura y un fondo de 6 en los
siguientes casos:
a) Con registros de carga en paralelo .
b) Con registros de desplazamiento .
Solucin P17 .
a) Dado que la memoria LIFO tiene 8 bits de anchura y un fondo de 6, el sistema debe
disponer de 6 registros con carga en paralelo de 8 bits cada uno de ellos . La conexin que se
lleva a cabo entre los distintos subsistemas es la siguiente :
8
PUSH
8
> OUT[81
a
'
0
1
0
0
1
1
Rx
OUT
Rx - Rx
HI
R x E- Rx+I, R6 - 0 [R1]
R x E- Rx-1, R6 <-- 1 HI
ppw
1
MEMORIAS SEMICONDUCTORAS
OUT[8]
PUSH
PULL
PUSH PULL
0
0
1
0
1
0
LR
Rx
00
01 R x F-- SHR(R x ,O)
10 Rx F- SHL(Rx>Ix)
OUT
HI
[R0 Ro . . . Rp]
HI
(desplazamiento a derecha)
(desplazamiento a izquierda)
289
Captulo 11
INTRODUCCIN A LOS SISTEMAS DIGITALES
El incremento en la complejidad de los circuitos digitales, provoca que las tcnicas de descripcin y diseo estudiadas hasta aqu (mquinas de estados finitos, K-mapa, .. .) sean poco tiles .
Esto viene motivado, fundamentalmente, por el elevado nmero de estados y seales que poseera un circuito de estas caractersticas . Por tanto hay que introducir herramientas alternativas que permitan el manejo de estos "circuitos complejos" a los que nos referiremos en adelante como sistemas digitales .
SISTEMAS DIGITALES A NIVEL RT
Un sistema digital se compone fundamentalmente de dos partes : unidad de proceso, donde se
realizan operaciones sobre datos de entrada, y unidad de control, capaz de recibir informacin
sobre la operacin a realizar y generar la secuencia de instrucciones que se deben acometer sobre la unidad de proceso . En esta obra se tratarn sistemas digitales sncronos donde una sola
seal acta de reloj de ambas unidades .
Unidad
de
control
x
Zout
)1
Unidad
de
proceso
Dout
x : cualificadores o
entradas de control
z : comandos
D :datos
En la siguiente tabla aparece un estudio comparativo entre sistemas digitales (SD) y circuitos digitales (CD) . La diferencia esencial entre ellos es la unidad de informacin : la palabra
(o conjunto de bits) para los SD, y el bit para los CD . De aqu que el funcionamiento de los SD
sea descrito mediante la transferencia de las palabras o datos a travs de los elementos que los
almacenan (registros) . Para ello se utiliza el nivel de descripcin llamado "nivel RT" (Register
Transfer) .
291
292
Circuitos
Informacin
Nivel/Lenguaje
Funcionalidad
Componentes
Conexin
Organizacin
0,1
de conmutacin
FSM
puertas y biest .
lneas
combinacional y
almacenamiento
Sistemas
palabras
RT
operaciones
MUX, registros, . . .
buses
procesado de datos
y control
El nivel RT trata a todos los dispositivos capaces de almacenar informacin como registros . As, un biestable se considera como un registro de un bit ; un contador es un registro con
capacidad de incrementar o decrementar su dato ; una memoria es un banco de registros cada
uno identificado por un nombre lgico (direccin) ; y, propiamente, los registros se incluyen
dentro de este concepto .
Con el lenguaje RT podemos describir el contenido de un registro o las operaciones que
se realizan sobre l . Estas ltimas pueden ser de tres categoras :
- Escritura : cambio de dato almacenado en el registro (R) . Es una operacin
secuencia) y se realiza cuando el reloj est activo . Su formato es :
R F- nuevo dato
- Lectura : salida del dato almacenado . Es una operacin combinacional . Su
formato es :
Dout = dato presente
- Control : establece cmo opera el registro (esto es, bajo qu valores lgicos de las
seales de operacin "s" se escribe y se lee) . Su formato es :
f(s) : operacin
(f es combinacional)
Las transferencias de datos entre los registros se realizan mediante lneas que los interconectan . Este conjunto de lneas se denomina bus . En un bus se pueden realizar dos operaciones de inters :
- Lectura del bus, en la que algn registro lee el dato que contiene el bus para almacenarlo (corresponde a una operacin de escritura en el registro) .
- Escritura en el bus, en la que algn registro "vuelca" su contenido al mismo (operacin de lectura en el registro) .
Existen diversos mtodos de interconexin para los registros, dependiendo de las
caractersticas de lectura/escritura de estos . Principalmente los mtodos son por multiplexado/
demultiplexado y por conexin va alta impedancia (buses triestado) . En los problemas se
detallan estos mtodos .
293
Acciones
Acciones
Caja de estados
Caja de decisin
Acciones
(Acciones
clones
Caja de accin
condicional
294
PROBLEMAS RESUELTOS
E<-- CAD
E<-- C D
EF--CxD
0 1
1 1
0 0
0 0
1 0
0 1
1 0 0
1 1 1
0 0 1
1 1 0
0 0 0
0 1 1
295
1
2 3
Si- 1 0
0
nxMUX4 :1
So
n
1n1
d1
fn
n1
n1
n1
w A
w B
w C
w D
n/
n/
n/
A 1
DEC 1
d o- 0 2 .4 2
3
1
EN
296
3. A - B
4 .B-C
5 . NOP
6 .C<--D
Globalmente, por tanto, la operacin realizada es : D F- A y A - B E- C
Problema 3.-Sobre un registro A deben realizarse las tres operaciones siguientes, siendo B
A - A + B
A F- AB
A<- A O+ B
bits con biestables JK .
TNAND :
Aj <-- A i B i
TEQ :
Aj - AJ O+ Bj
Entonces en funcin de los valores de TNOR, TNAND, TEQ y B j y del valor actual de
Aj , podemos escribir el mapa de Karnaugh para el valor prximo de Aj (tabla de estados de la
etapa j) :
TNOR TNAND TEQ
Aj B j
000 001 011 010 110 111 101 100
(Aj = qj)
00 0
1
1
1
01
11
10
Qj = Aj * Bj
A continuacin pasamos a la tabla de excitacin donde consideraremos que la transferencia de estado es llevada a cabo por biestables JK .
TNOR TNAND TEQ
Aj i
000 001 011 010 110 111
(Aj = %)
00 01- -1----
1-
101 100
1-
0-
0-
0-
-0
-0
-1
-1
-0
-1
-0
-1
Jj Kj
297
TEQ
q
Bj
TNOR
A j A 0 Operacin
00
LSR
01
ASR
1ROR
X7-o
18
MR S I S o
Operacin
0-100
Puesta a 0 asncrona
Inhibicin
Desplazamiento izqda .
Desplazamiento dcha .
Carga en paralelo
sr
c MR
SI
74198
[81
101
110
111
Ck
07-0
Solucin P4 .
a) A nivel RT las operaciones son las siguientes (donde B es un registro de desplazamiento a la derecha) :
LSR : SHR(B, 0)
ASR : SHR(B, B,-i)
ROR : SHR(B, B 0)
298
1
n-1
LSR
ASR
ROR
b) En los tres casos ser necesario utilizar el circuito 74198 en modo de desplazamiento
a la derecha, para ello se fijarn las entradas MR, S 1 y S o a 1, 1 y 0 respectivamente . La entrada
D sr deber ser conectada a 0, B i - 1 Bp segn la operacin que se desee realizar . En los circuitos que se muestran a continuacin, las siglas NC indican "no conectado" .
LSR : SHR(B, 0)
NC
sr
C
MR
S1
S
NC
7-0
B 74198
07 (- B7)
Ck
07-0
NC
Ck
sr
MR
S1
S
NC
7-0
B
74198
0 0 (= B0)
c) Ya que la nica diferencia para los tres casos (apartado b) radica en la entrada Dsr ,
bastar multiplexar a dicha entrada la seal correspondiente :
A1 A0
Dsr
00
01
1-
0
07
00
299
A1
00
01
DSr = A100 + 1 Ao 07
11
10
Problema 5.-Se dispone de cuatro registros con datos (R o, R 1 , R2 y R3) y una ALU, todos de
n bits. Se desea disear un sistema que permita a cualquiera de los registros ser datos-operandos y/o destino del resultado . El registro fuente del dato A es seleccionado por dos bits, A 1
y A o; el de B, por 8 1 y B O; y el de destino, por D 1 y Do. Muestre la estructura del sistema e
indique cmo se realiza una operacin en los siguientes casos :
1) Un esquema de conexin basado en multiplexado, usando registros con terminales
de entrada y salida separados.
2) Un esquema de conexin basado en buses triestado, usando registros con terminales de entrada y salida separados .
3) Usando registros con terminales de datos bidireccionales .
Aada en cada caso los dispositivos que se necesiten . Indique, tambin en cada caso,
la secuencia de activacin de las seales de control de los dispositivos indicando de dnde
provienen.
Solucin P5.
1) Solucin basada en multiplexores .
Los registros utilizados son como el que se describe a continuacin :
IN
w=1 :REG4-IN
w = 0 : REG E- REG
OUT = [REG]
OUT
Los datos A y B se obtienen multiplexando los datos de los cuatro registros RO, R1,
k2
300
EW
DI - 1
n/
3
DEC 2
Do - 0 2 :4 1
0
y
R0
R2
n/
0 1 2 3
Aln x MUX 4 :1
A0-0
B I- 1 0 1 2 3
n x MUX 4 :1
B0- 0
ALU
SEL OP
w=1 : REG-IN
r = O :OUT=HI
r = 1 : OUT = [ REG]
Se permite r = w = 1
301
n
w
rW )
R1
w2
w
r3 3 R3
r2
EW
n
3
> w3
DEC 2
D o - 0 2 :4 1
0
> w2
>w1
Di -
RT
> wo
r3
A l /13 1 2
DEC
A 0/13 0 - 0 2 :4 1
0
r2
ALU
rl
SEL OP
ro
302
DAT
rw
REG E-
DAT
0 0
01
10
11
REG
DAT
REG
prohibida
HI
entradas
[REG]
prohibida
Como por un bus slo puede haber un dato y necesitamos tres (A, B y A * B), se necesitan dos registros ms para el almacenamiento temporal . De estos, uno se destina a almacenar
un dato-operando (por ejemplo B) y el otro puede :
1) almacenar el otro dato-operando (A), en cuyo caso el resultado A * B puede almacenarse en el registro de destino R D
2) almacenar el resultado A*B, en cuyo caso el dato-operando A es suministrado
por RA .
Solucin 1) :
wo
ro Ro
w
r,
w
r22
R,
W
r33 R3
R2
TA
TB
SEL OP
ALU
CB
La salida de la ALU debe poseer buffer triestado con el fin de que no haya problemas
de cableado con el bus triestado cuando R A o R B viertan datos . El control de los buffers (CB)
debe activarlo la unidad de control cuando realice la escritura en R D .
Una operacin requiere tres microoperaciones :
1 . TA -R A
2 .TB <-- RB
3 .R D E-TA*TB
Es obligatorio incluir EW, que slo se activara en la microoperacin 3 . En lo dems, la
generacin de w es como en los casos anteriores .
303
w-w
r ~' R,
-w
- r33 R3
W
r2 2 R2
WB
TB
ALU
SEL OP
2 .TD <-- R A * TB
3 . RD - TD
La generacin de las seales de lectura rj y de escritura wj son como en el caso anterior,
siendo obligatorio incluir EW (a activar en microoperacin 3) .
Problema 6.-Obtenga la carta ASM para un biestable JK .
Solucin P6.- Este es el caso ms sencillo de realizacin de cartas ASM . Se trata de describir
un biestable como un sistema con dos salidas (acciones en la carta) y dos entradas .
JK
00
01
10
11
q
0
1
q
Ck
304
Problema 7.-Construya la carta ASM del circuito secuencial dado en las siguientes tablas .
Asimismo describa ambas mquinas usando el lenguaje HDL .
a)
q1 q 0,,
0 1
X1X0
b)
q1
00 00,0 01,1
01
11,0 01,1
11
10,0 11,0
10 10,0 00,0
01
11
10
10
10
00
00
00
01
00
01
01
00
11
01
01
01
01
10
10
11
01
10
Q]Q0, z
z 1 z2 z3
0 1 1
QlQo
Solucin P7 .
a) Cada estado de la tabla dar lugar a una caja de estado en la carta ASM ; las seales
de entrada al circuito (en este caso slo hay una : X) darn lugar a posibles cajas condicionales ;
las salidas tipo Moore sern seales a activar en las cajas de estado, mientras que las salidas
tipo Mealy se activarn en cajas de accin condicional .
Descripcin HDL :
0
1
2
3
x
x
x
x
x
x
x
x
0
z
z
-j
3
1
2
0
2
3
305
b) Es una mquina de Moore, por tanto todas las salidas se activarn en cajas de estado .
00
Descripcin HDL :
1
x0
x0
1
XO
XO
xO_
Z 1 Z3
Z 1 Z3
Z I Z2
x0x1
xOx1
Z1Z2
Z 2Z3
Z2Z3
Z2Z3
0
2
0
1
2
1
1
Problema 8.-La figura muestra una carta ASM de un sistema as como la unidad de datos correspondiente . En dicha carta, x e y son entradas que pueden tener cualquier valor binario, permaneciendo constantes desde que Xs se hace 1 .
Especifique todos los errores de esta carta comentndolos brevemente .
Ra
R b Rc
Wa~
Za
A
Zb~
Z~
306
B 4- C
1
A 4- B
C4-0
A4-C
Cf-A
s
( B-AD
no
v
A~B
V
Solucin P8.- Hay cuatro errores en la carta ASM . Estos se muestran en la siguiente figura
en tramos ms gruesos .
Error (1) : El camino "0" nunca se toma, ya que si x y = 1, x + y no puede valer 0 .
Error (2) : Se trata de un bucle infinito . La estructura de este bucle es, en general, correcta aunque en este caso es errnea . Esto es debido a que segn el enunciado del problema, los
valores de x e y permanecen consantes desde que X s se hace 1 . As, en este caso, el sistema se
queda permanentemente en ese bucle (2) lo que es causa de error.
Error (3)_ : En este bucle no se pasa por ninguna caja de estado .
Error (4) : Lectura simultnea de los registros A y B (no es posible pues hay un nico
bus de datos) . Adems, A es ledo y escrito en el mismo ciclo ; esto es un error ya que A tiene
I/O bidireccional .
307
error (2)
0
C - B
error (3)
1
1
error (1)
A - B
C<-0
C <- A
si
B <-A
no
error (4)
A<-B
Problema 9 .-Se desea construir un sistema digital que realice todas las operaciones posibles
de suma y resta entre dos nmeros que se encuentran inicialmente en los registros A y B, y
que almacene el resultado en cualquiera de ellos . (No hay que obtener la unidad de control,
slo la unidad de proceso y el conjunto de microoperaciones que realiza) .
Solucin P9 .-
308
FIN
->
CONTROL
U . PROCESADO
A
B
IR
usuario
sistema
Como componentes claros de la unidad de proceso estn los registros A y B, que contienen inicialmente los datos, y la ALU, que permite operar con estos . El conjunto de operaciones que debe realizar este sistema son :
B E- A+B
A E- A-B
B E- A-B
A E- A+B
E-A+B
B
E-A+B
A
E-A-B
B E- -A-B
A
Por lo que slo se necesitan 3 bits para codificarlas .
Una posible arquitectura de la unidad de proceso que posibilite la ejecucin de estas macrooperaciones se muestra en la siguiente figura . Todos los buses y componentes que aparecen
son de n bits . Se han distinguido dos tipos de buses, los que se han dibujado en gris son unidireccionales y dedicados, mientras que los que se han dibujado en negro son bidireccionales,
compartidos y triestado .
------------------------------------------------------------------------------------DB : Bus de datos
T
RA
A
:
WA
ab
[AC]
AQ
RB
: WB
-0- RAC
f- WAC
ZAC
--
UNIDAD DE PROCESADO
t
(del controlador)
RA WA
RB
WB
WT
309
Se realiza a continuacin una descripcin de todos los elementos que componen esta
unidad con el objeto de eliminar posibles ambigedades en el funcionamiento de los mismos .
Registro T
Registro X (X es A o B)
IN
DD
~j
Rx
E- Wx
`_ WT
OUT
Rx
0
Wx
0
1
1
0
1
X- DD=
X
HI
DD
Entrada
X
[X]
Prohibida
WT
T<--
OUT=
0
1
T
IN
[T]
[T]
Registro AC (ACumulador)
IN
OUT 1
RAC
WAC
ZAC
IN,
ZAC RAC
WAC
0
1
0
0
0
0
0
0
1
Otras Prohibidas
AC AC
0
AC
IN
OUT ] =
[ACI
[ACI
[AC]
[AC]
OUT2 =
HI
HI
[ACI
HI
IN2
s
0
0
1
1
r
0
1
0
1
OUT =
(No importa)
IN, - IN 2
IN, + IN2
Prohibida
OUT
Para la unidad de procesado propuesta y para cada una de las macrooperaciones definidas, se obtiene el conjunto de microoperaciones o "pasos" necesarios a realizar en cada ciclo
de reloj, para obtener la ejecucin de cada macrooperacin . Por simplicidad, slo se detallar
el caso de A - A+B .
Observando la arquitectura, deducimos que para obtener la suma de A y B, hay que
situar el primer operando en el registro AC, y sumarlo posteriormente con el segundo
310
operando . Ntese, adems, que el dato que se transfiere al acumulador es la suma o resta del
contenido del registro T con el contenido del propio acumulador . Por tanto, en primer lugar,
se transfiere el contenido del registro A hacia el registro T y, simultneamente, ponemos a 0
el acumulador .
1 .T-A,AC-O
En el segundo ciclo de reloj, podemos transferir al acumulador el contenido de T
([TI = A), e incluso traernos el segundo operando al registro T .
2 . T<-B,ACE--AC+T
Sumamos a continuacin los dos operandos :
3 .AC-AC+T
En el ciclo de reloj siguiente, podemos ordenar el almacenamiento del resultado en el
registro A .
4 .A<--AC
Si este proceso se repite para las macrooperaciones restantes obtenemos la siguiente
tabla :
.tOP
A<-A+B
B-A+B
B<-A-B
AC<-0, T<--A
2
3
A-A-B
T<--B, AC-AC+T
AC-AC+T
AC<-AC-T
A<--AC
B<-AC
A-AC
B-AC
tOP
A-(-A)+B
B<--(-A)+B
A-(-A)-B
B<-(-A)-B
AC-O, T<--A
TAB, AC-AC-T
3
4
AC-AC+T
A<-AC
AC-AC-T
B<-AC
A-AC
B-AC
De forma equivalente obtenemos la tabla que representa las seales de control a activar
por la unidad de control :
OP
A<-A+B
B<--A+B
A-A-B
ZAC,WT,RA
WT, RB,WAC,s
3
4
WAC, r
WAC, s
WA,RAC
B-A-B
WB,RAC
WA,RAC
WB,RAC
.tOP
A-(-A)+B
A-(-A)-B
BE-(-A)-B
ZAC,WT,RA
2
3
B4-(-A)+B
311
WT, RB,WAC, r
WAC, s
WA,RAC
WAC, r
WB,RAC
WA,RAC
WB,RAC
Problema 10 .- Considere un sistema con tres registros (A, B, C) de ocho bits . Ha de tener
lugar la siguiente secuencia de operaciones en el orden que se describen :
Cuando se activa una seal de comienzo (X5) los datos de entrada se cargan en A . El
complemento de los datos de A se cargan en C . Finalmente, los datos de C se almacenan en
B . Con los datos de A y B se hace la operacin OR y el resultado se almacena en C . Finalmente, los datos de C son situados en las lneas de salida, tras lo cual el sistema va al estado
de espera .
a) Describa las operaciones a nivel RT.
b) Disee la unidad de datos que pueda realizarlas .
c) Haga la carta ASM de las seales a activar por el control.
d) Habra que hacer algn cambio para imponer que las lneas de salida estuviesen
en alta impedancia cuando no mostraran el dato? En su caso, cules son?
Solucin P10 .
a) La secuencia de operaciones descritas a nivel RT es la siguiente :
0.
Xs
0
(1)
Xs
1.
A E- DIN (2)
2.
C E- tk
(3)
3.
B E- C
(4)
4.
CE-A+B(5)
5.
OUT = [C] (0)
Los estados que aparecen entre parntesis podran suprimirse en notacin RT .
b) Para disear la unidad de datos debemos tener en cuenta que el registro A debe recibir
su entrada de D IN, el registro B debe recibir el contenido de C, el registro C debe recibir f1 y
A+B . En la siguiente figura se muestra cmo hay que conectar los registros entre s . Tambin
se describen los registros a nivel RT.
Los registros A, B y C son como el descrito a continuacin :
312
I DIN
W
WA
8
8
WK
8
x OR
8 x INV
8
0
SEL
WK
K <--
z=
0
1
[K]
[K]
8 x MUX 2 :1
RC
8 x BUF tri-estados
OUT
WA
SI
WC
S2
WB
1
SEL, WC
S4
RC
S5
d) En nuestro caso ya hemos hecho que OUT = HI cuando no estemos en la microoperacin 5 mediante los 8 buffers triestado que slo estn activados en S 5 .
313
S1
So
Ck
Cy
S I SO
Z5_0 =
C E-
Cy
00
01
10
11
[C]
[C]
[C]
[C]
C
C+1
DIN
0
859493929190
Problema 12.- Un registro A con n etapas individuales se acopla a un bus cuyas lneas llevan
los bits B . Los componentes del registro A son biestables SR. Dibuje el diagrama lgico de un
circuito asociado a una etapa del registro que nos permita ordenar la transferencia A ; E- A;B; .
Reptalo para A ;<-- A ;+B , A ;F-A BBB , A ;<-- A ;+OB, .
Solucin P12 .
Suponiendo
T=0 : A - A
T = 1: A - A * B
0-
AND
1
A;
A;
R
Ck
XOR
Ck
XNOR
314
So
Ck
s i so
Z7 -o =
RU8 -
0 0
0 1
10
11
[RU8]
[RU8]
[RU8]
[RU8]
RU8
SHR (RU8,XR )
SHL (RU8,XL)
X7-o
Solucin P13.- El registro equivalente, RE[8], tendr 3 seales de control, W para la carga en
paralelo, SR para desplazamiento a la derecha y SL para desplazamiento a la izquierda . Su descripcin y su diseo a partir del RU[8] se muestran a continuacin :
DIN7_o
W SR SL
ZRE _
RE <r-
000
001
010
100
Otras
[RE]
[RE]
[RE]
[RE]
RE
SHL (RE,L)
SHR (RE,R)
DIN A - o
Prohibidas
1-
RU8[8]
RE = Registro Equivalente
Problema 14.- Se dispone de un registro con terminales de entrada y salida separados que
posee una nica seal de control para escritura, W. Se pretende incorporar este registro a un
sistema ya dado a travs de un bus 3-estados bidireccional . Describa cmo se implementa la
incorporacin .
Solucin P14 .- Veamos dos posibles soluciones :
- A : Solucin con desconexin mnima .
- B : Solucin con desconexin total .
315
a incluir
DB
Sol . A
W
o-
SISTEMA
R
a incluir
Sol . B
SISTEMA
316
Memoria :
DIN
R/W
M
EXR[n]
2 k xn
k
A
DOUT
EN R/W
DOUT =
M-
0 1 0
1 1
0
0
[M($A)]
M <- M
M($A) F- DIN
M E- M
MBR :
SEL
1
n x MUX 2 :1
Salidas =
MBR -
0
1
[MBRI
[MBRI
MBR
Entradas
MBR[ ]
1
Problema 16.- Determine la carta ASM para un contador ascendente que dispone de una
entrada de control G que, cuando est activa, provoca que ste funcione como un contador
Gray, y si est inactiva, como un contador binario . Describir como carta de Moore y como
carta de Mealy.
Solucin P16 .- En una realizacin como mquina de Moore, no hay cajas de accin condicional . Son necesarias ocho cajas de estados que representan todos los estados posibles del contador y un conjunto de cajas de decisin que, dependiendo del valor de G, marcarn el flujo
hacia los prximos estados . En la figura se puede observar que la evolucin de estados corresponde a la de un contador binario para G=O, y a la de un contador Gray para G=1 .
317
zo
z l zo
z2
0
z2
zo
z2 zi
z 2 z 1 zo
Ck
Solucin P17 .- Los estados son : So (g1g2 = 00), SI (g1g0 = 01), S2 (g1g2 = 10),
S3 (glg2 = 11) . Tras analizar el circuito y obtener su tabla de estados se obtiene la siguiente
carta ASM :
Descripcin HDL :
0.
1.
2.
3.
x
x
x
x
x
x
x
x
z
Z
Z
0
2
0
1
z
z
z
3
1
Problema 18.- Desarrolle una carta ASM y una tabla de transicin para un generador de
formas de onda controlable que dependiendo de dos entradas X, y X2 generar las cuatro
formas de onda que se muestran en la figura . El periodo de las dos primeras formas de onda
es cuatro ciclos de reloj, el de la tercera es de dos ciclos de reloj y el de la cuarta es de tres
ciclos.
XIX2
0 0
0 1
1 0
320
Solucin P18 .
X 1 X2
00
11
10
S 1 00 01,1
01,1 01,1
01,1
10,1
10,1 00,0
10,1
9190
S2
01
01
S3 10 11,0 11,1
S4 11
11,1 00,0
321
Solucin P19.
a) En el bloque k se evalan los valores de T 0 , T 1 , T 2 , T3 y se realizan las transferencias
necesarias . Posteriormente se pasa al bloque k+1 .
b . 1) Las salidas de cada uno de los registros B i se conectan a las entradas de A mediante
multiplexores . Un codificador se encarga de seleccionar el registro B ; correspondiente al T i activo .
B1[8]
Bo[8]
B2[81
8
8
T
T1
-~] f7,
al
T2
1 COD 1
4 :2
T3
B3[8]
2 3
8 x MUX 4 :1
A[8]
To -
B o [81
B 1 [81
T2-
B2[81
B 3 [81
A[81
Problema 20.- Disee el sistema digital que permita realizar de la operacin A <-- 4*(A+B) .
(No disee la unidad de control) .
322
Solucin P20 .- En este caso, el sistema digital slo tiene una macrooperacin que realizar .
Para ello se puede plantear una arquitectura similar a la del problema 9 :
DB : Bus de datos
T
WT
RA
WA
b
a
[AC]
B
AC
SHL
RB
WB
f WAC
ZAC
UNIDAD DE PROCESADO
Slo se ha aadido una seal al registro AC (SHL) que simplifica el proceso del clculo
de la multiplicacin por cuatro . Dos desplazamientos hacia la izquierda generan este producto
de forma rpida .
La descripcin de los registros de esta unidad de proceso es idntica a la realizada en el
problema 9 salvo por el registro acumulador, que ahora tiene una nueva seal de control . Por
tanto, obviamos la descripcin de los dems registros y slo presentamos la del acumulador .
RAC WAC SHL ZAC
0 0
0 0
0
1
1 0
0
0
ACEAC
0
SHL
IN
AC
OUT,
[ACI
[ACI
[ACI
[ACI
[ACI
OUT2
HI
HI
HI
HI
[AC]
323
74298
CIR[41
CIR
0
1
CIR 4- IA
CIR 4- IB
Q3-0
PC[ 16]
MDR[24]
23-0
24
J16
8
15-0 .
23-16
TMDR
4
IR[8]
LPC
LMDR
. 15-0
MAR[16]
324
b) 8 circuitos integrados (3 para MDR, 2 para PC, 2 para MAR y 1 para IR) .
c) Diseo de MAR con el C .I . 74198
MDR 15-0
PC 15-0
16 x MUX 2 :1
8 MSB
16
/ 8 LSB
1 -c MR
S1
S,
--cMR
S1
S
LPC
LMDR
74198
MAR15-8
MAR7 - 0
MDR 15-0
LPC
/4
15-12 y
' S A 74298 B
/4
7-4
SA
B
74298
cA
74298 B
/4
Ckint
MAR15-12
MAR11-8
--------------------------------------
MAR7-4
MAR3-0
CkMAR
LMDR
LPC
-------------------------------------
Captulo 12
DISEO DE UNIDADES DE CONTROL
Como ya exponamos en el Captulo anterior, los sistemas digitales se componen de dos partes :
unidad de procesado y unidad de control . En ste se aborda fundamentalmente el diseo de esta
ltima. En el Captulo anterior se introdujeron las cartas ASM y los lenguajes de descripcin
de hardware como herramientas para la descripcin de sistemas digitales y se usaron para la
descripcin de unidades de procesado . Las unidades de control tambin son descritas mediante
cartas ASM o lenguajes de descripcin de hardware de un modo anlogo . La nica diferencia
es que las acciones a realizar consisten, en este caso, en seales a activar por el controlador .
En los problemas de este Captulo, cuando se utilicen cartas ASM para describir controladores
se mantendr la informacin relativa a la unidad de procesado (transferencias a nivel RT) aadindose la relativa a la unidad de control (seales a activar) .
Existen diversas estrategias para la realizacin de unidades de control, desde el diseo
como mquinas de estados finitos, hasta estructuras microprogramadas que usan PLA o ROM .
En esta obra nos centraremos bsicamente en dos modalidades :
- Diseo con mnimo nmero de biestables .
- Diseo con un biestable por estado .
DISEO DE CONTROLADORES COMO MQUINAS DE ESTADOS FINITOS
Esta estrategia se basa en considerar al controlador como una mquina secuencial sncrona y
disearla utilizando los mtodos del Captulo 8 . Para ello, es necesario obtener un diagrama de
estados a partir de la carta ASM . La equivalencia entre ambas formas de descripcin es la siguiente : por cada caja de estados de la carta ASM se tiene un estado en la mquina ; por cada
seal que aparezca en alguna caja de accin condicional se tiene una entrada de la mquina ;
las salidas a activar por el controlador son las salidas de la mquina . Las salidas que aparecen
en cajas de estado son salidas tipo Moore y las que aparecen en cajas de accin condicional
son salidas tipo Mealy . En los problemas 4 y 5 se detalla este mtodo .
Si el proceso de sntesis se realiza minimizando el nmero de estados y utilizando una
codificacin con el mnimo nmero de variables posible, se obtiene un diseo para el contro-
325
326
lador que utiliza el nmero mnimo de biestables . Esta alternativa de diseo proporciona realizaciones muy buenas (incluso ptimas) a costa de un proceso complejo, costoso en tiempo y
quiz excesivamente especfico .
DISEO BASADO EN UN BIESTABLE POR ESTADO
En esta estrategia de diseo se obtiene el circuito mediante una aproximacin formal a la carta
ASM . Por cada elemento de la carta se obtiene un elemento de circuito . En concreto, por cada
estado se incluye un biestable, de ah la denominacin "un biestable por estado" . Este mtodo
se basa en una codificacin de los estados de la carta mediante el cdigo 1-out-of-n (excepto
para el estado de espera al que se asigna el cdigo 0) . As, la codificacin de estados es :
estado
cdigo
gog1q2q3 . . qn
So
SI
S2
S3
S4
0000
1000
0100
0010
0001
.
.
.
.
.
.
.
.
.
.
.0
.0
.0
.0
.0
Sn
0000 . . . 1
Con una codificacin de este tipo la transicin entre estados puede realizarse fcilmente
mediante un registro de desplazamiento en el cual se introducen ciertas modificaciones . En la
siguiente figura se muestra el esquema bsico de dicho registro . Se ha omitido la seal de reloj
que es comn a todos los biestables . Por otra parte, en cada biestable aparece un nmero 'J"
indicando que la variable de estado correspondiente es % . Esto se ha hecho por simplicidad y
se mantiene en el resto del Captulo .
Xs
-D
q -
D
4
327
---------------------------------------------------------------------------------------------------q
D
q
D
i
q
D
k
-----------------------------------------------------------------------------------------------------Si
q
q
k
Por ltimo, las salidas de la unidad de control son seales que se activan bien en uno o
ms estados (salidas tipo Moore ; por ejemplo, una salida W AC que se activase en los estados
S 2 y S 5 ), bien cuando ocurre cierta condicin de entrada en un estado (salida tipo Mealy ; por
ejemplo, que W AC se activase para X 3 = 0 en S 3 ) . Como estas seales suelen estar accesibles
en el registro de desplazamiento modificado (en el ejemplo seran q 2 , q5 y la salida del canal 0
del demultiplexor de q3 : q 30 ), para obtener la salida deseada WAC bastara sumar (OR) esas
seales : WAC = q2 + q5 + q30 .
Aunque esta tcnica de diseo no optimiza el coste en puertas y proporciona controladores especficos al problema, la tcnica en s es muy genrica, vlida para todas las unidades
de control, y consiste en una mera traslacin formal desde las cartas ASM o programas HDL .
Por ello el tiempo diseo es muy corto .
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias :
- Diseo de unidades de control para casos especficos .
- Realizacin completa de sistemas digitales .
PROBLEMAS RESUELTOS
Problema 1 .- Para la unidad de datos de la figura, disee un controlador que permita escribir
en B el nmero de "1 " que hay en A . El contador C, es de tres bits (mod . 8) y el C2 de 8 bits
(mod. 256). Qu cambio hay que introducir para escribir en 8 el nmero de "0" de A?
Nota:
Z; = Puesta a 0 sncrona,
1 = Incrementar,
CY; = CARRY.
328
- WA
A[8]
- WB
B[81
- RA
- RB
A
8
3
1
RD
WD
CY 2
CY 1
REG . DESP.
C1
C2
R1 W1 11 Z1
R2 W 2 12 Z2
SHR OR
BUS 7_ 0 =
x E-
HI
[x]
x
x
entrada
prohibida
BUS7-0
prohibida
BUS7-0
- Registros C 1 y C 2 :
Wi R i I i Z i
Yi
Wi R i I i Z i
CY i =
BUSn-1,0 =
Ci-
1000
0100
0010
0001
0000
1 si [Ci ] _
entrada
= 1 . . .11
[Ci]
HI
HI
HI
BUSn-1,0
Ci
Ci + 1
0
Ci
- Registro de desplazamiento D :
W
RD
SHR
WDRD SHR
BUS7-0 =
D <--
100
010
001
entrada
[D]
HI
BUS7-0
D
SHR(D,iR )
D[8]
7_
NOP
D f- SHR(D,0), C 1 - C +
SHR, I 1
SI
S2
CY
B-C 2
WB , R2
NOP
FIN
330
CY 1
0
1
y
W D , RA , Z 1 , Z 2
SHR, 1 1
OR
WB , R2
FIN
IPC
PC[ 161
- ISP
DSP
SP[ 16]
1
IDB [8]
A
WPC WSP -
331
RA
A[8]
1
WA
MAR[ 16]
RI
MDR[81
CS R W
WI
RE
WE
AB [ 16]
MEM
EDB[8]
Solucin P2 .- Segn el enunciado, la pila se va llenando desde las direcciones ms bajas a las
ms altas . Las dos operaciones de pila implican direccionar la memoria MEM con la direccin
que indica el puntero de pila, SP . De aqu que, tras apuntar SP a la direccin adecuada, habr
que transferir SP hacia MAR . En ambas operaciones la transferencia entre MEM y A debe pasar por MDR .
Operacin PUSH (1 1 lo = 00) : Como SP apunta a la direccin vaca, es ah donde hay que
transferir A y, despus, se incrementa SP para que contine apuntando a la primera direccin
vaca .
microoperacin
seales a activar
WSP / RA / W I
CS/W/RE /ISP
Operacin PULL (I l Io = 01) : Hay que decrementar SP para que apunte a la ltima direccin llena . Slo entonces se lleva SP a MAR para, despus, leer de MEM hacia MDR y, de
este registro, llevar el dato ledo hacia A .
microoperacin
seales a activar
1 .SPF-SP-1
2 . MAR F- SP
3 . MDR E- MEM
4 . A F MDR
DSP
WSP
CS/R/WE
R I /WA
332
Representemos ahora una posible carta ASM para reunir ambas operaciones teniendo
en cuenta que los cdigos 1 1 = 1 x estn reservados para otras operaciones :
Otras
operaciones
MAR E- SP / MDR f- A
WSP / R A / Wl
SP - SP DSP
MDR - MEM
CS/R/WE
A E- MDR
R /W
333
X
D
1
q
D
U
' y
WSP
W I DSP
RA
W
RE
ISP
FIN
W E CS W
A
Problema 3.- Un nmero decimal de dos dgitos se almacena en dos registros de cuatro bits
en forma BCD . El registro M contiene los dgitos ms significativos ; el L, los menos . Los
nmeros se transfieren para que aparezcan en un registro R de ocho bits . Para efectuar la
transferencia se dispone de un bus de cuatro bits accesible a M y L, pero slo a las cuatro
posiciones de ms a la derecha del registro R. La operacin de transferencia se realiza
respondiendo a un conmutador .
a) Establezca una arquitectura para el sistema especificando los terminales de control
de cada registro.
b) Construya la carta ASM .
c) Disee el controlador del sistema usando el mnimo de biestables y dibuje el circuito
lgico .
Solucin P3.- a) Para que M[4] y L[4] puedan escribir sus datos en el nico bus de 4 bits
(BUS) hay dos soluciones :
1 . Conexin por multiplexado : Las salidas de M y L son estndares (Z M = [ M] y
ZL = [ L]) por lo que no se necesitan seales de lectura de los registros .
Mediante 4 x MUX 2 :1 se escribe el contenido de L (para S = 0) de M (para S = 1) en
el BUS .
S : BUS = [L]
S : BUS = [M]
334
2 . Conexin de bus nico (BUSU) : Las salidas de M y L tienen HI por lo que se necesitan seales de lectura . Slo una de ellas puede activarse en cada ciclo .
RM
RL
R1
M[4]
. k
L[4]
ZM
ZL
4
RX : Z x = HI
RX : Zx = [X]
BUSU[41
El registro R[8], adems de la carga en paralelo de los 4 ltimos bits, necesita estar dotado de desplazamiento a la izquierda para transferir datos a sus 4 bits ms significativos :
R[8]
WR
SL
WR SL
Operacin
00
Rf-R
10
01
Observemos que :
- La carga en paralelo deja sin cambio a los 4 bits ms significativos .
- El bit serie que entra en el desplazamiento puede ser cualquiera aunque nosotros hemos optado por introducir un 0 .
Con todo ello la arquitectura del sistema es :
RL
RM
M[4]
L[4]
Xs
CONTROL
WR
SL
R[8]
Ck
donde suponemos que Xs , salida del conmutador, es un pulso de duracin 1 ciclo de reloj .
335
NOP
So
SI
RM , WR
R 4- SHL(R,0)
SL
S2
R 4- SHL(R,0)
SL
S3
1
R E- SHL(R,O)
SL
S4
R F- SHL(R,0)
SL
S5
R3_ 0 4- L
RL, WR
S6
336
a
s
s
mu
N
s
s
R L R MW R SL
So
Ecuaciones de excitacin :
T2 = 9190 + q2q 1
0000
0 1 1 0
Codificacin
00 0 1
S 0 : 000
S1 : 0 0 1
S2 : 0 1 0
T 1 = g0 + 9291
_
T0 = q0 + q2q1 + Xs + 9281
g2g1q0
00 0 1
00 0 1
S6
00 0 1
so
1 0 1 0
S3 : 0 1 1
S4 : 1 0 0
S5 : 1 0 1
Ecuaciones de salida :
RL = 9291
RM = 829190- _
WR =_g2g1+ g2g190
S6 : 1 1 0
SL = q2q1 + q2 q1
Problema 4 .- Un sistema digital tiene como unidad de datos la representada en la figura . Inicialmente, al menos uno de los bits de A es un cero . El sistema debe dar como salida el nmero binario de la posicin del "0" menos significativo de la palabra almacenada en el registro A .
a) Describa, a nivel RT, los componentes de esta unidad de datos .
b) De la carta ASM y disee el controlador (basado en la tcnica de un biestable por
estado).
c) Si el valor inicial de A es : 10101011, represente en el tiempo (hasta que se ha generado la salida deseada) los siguientes parmetros : BUS, seales de control (RA , S,, So , CLC,
UP) y las salidas del sistema digital. Cul es el contenido de RU8 y de CONT tras regresar
al estado de espera?
A[81
CLC
UP
CONT mod-8
CY
u=
R
S I SO
00
01
10
11
RU8
0 2-0
operacin
inhibicin
carga paralelo
despl . izquierda
despl . derecha
Solucin P4.
a) Descripcin de componentes :
RA
0
1
BUS7_0
HI
[A1
A <-A
A
u:
CLC
RU[81
S I SO
Z7-0 =
RU8 E-
00
01
10
11
[RU8]
[RU8]
[RU8]
[RU8]
RU8
BUS 7- 0
SHL(RU8, BUS O )
SHR(RU8, BUS 7 )
CLC UP
CY =
00
01
10
11
1 si
[CONTI _
= 111
02-0 =
CONT -
[CONTI
[CONTI
[CONTI
Prohibida
CONT
CONT + 1
0
Prohibida
CY
CONT mod . 8
UP
02-0
337
b) Carta ASM .
Sa
NOP
S a : Estado de espera .
S b : Puesta a cero del contador y transferencia
del dato A al registro universal RU8 . El control activar RA , pondr S I S O = 01 y activar
CLC .
RU8 E- A
CONT - 0
R A , S 0 , CLC
S C : Al entrar en S ., CONT = 0 y Z0 = A0 . Si
Z0 = 0, la posicin del 0 menos significativo
de A est dada en CONT (0 2-0) ; si Z0 = 1,
debemos pasar a evaluar A 1 (lo cual hacemos
desplazando a la derecha RU8) al mismo
tiempo que hacemos que se incremente el
contador para que seale la posicin de A l .
Esto lo repetimos hasta que por Z 0 aparezca el
primer cero que necesariamente hay .
FIN
1
338
El controlador pedido es :
L/
xs
L D
D
b
zo
V
RA
S
UP
CLC
FIN
c) BUS est en HI salvo en el ciclo del estado S b . Las seales de control R A , S o y CLC
se activan en S b y S 1 , S o y UP en los ciclos de reloj en que se permanece en S c . [A] = 10101011
siempre .
Sa
Sb
Se
Se
10101011
HI
HI
SC
SF
HI
HI
Sa
Sa
HI
HI
Sa
SI
So
CLC
UP
BUS7 _0
HI
[RU8]
[CONTI
001
1
010
2
Ya no varan
1 . En el bit ms significativo de RU8 (esto es, en RU8 7 ) se almacena un valor desconocido, 0 1, debido a que BUS 7 est en HI . (Otra solucin posible es leer A, RA = 1, en la caja
de accin condicional del estado S 2, en cuyo caso '7" se sustituye por "1" que es el valor de
BUS 7 = A7)2 . Como Zo = 0, no se activa ninguna seal y se pasa a S F .
3 . Al volver a S o (estado de espera), [RU8] = ??101010 con ? = 0 1 .
[CONTI = 010, que es la posicin del cero menos significativo de A (A2 ) .
339
X I . XZ
Nota : Este controlador no tiene seal de comienzo ni estado de espera inicial . Resuelva el
apartado (b) sin preocuparse de este hecho .
Solucin P5 .
b) Para hacer el controlador en lgica discreta hemos de obtener a partir de la carta ASM
la tabla de estados y seguir con los pasos del proceso de sntesis de circuitos secuenciales sncronos . En la siguiente figura se muestran la tabla de estados junto con la codificacin de estados y la tabla de transicin obtenida .
X1X2
X 1 X2
01
11
10
q 1 q0
S2,1
S2,1
S2,1
S1
S
S1
S2,1
S 2 S3 1
S 3 S 4 ,0 S4 ,1
S4
S 4 ,1
S1 ,0
S 1 ,0 S 1 ,0 S 1 ,0 S 1 ,0
00
00 01,1
01
11
10
01,1 01,1
01,1
11,1
11,1
S2 01
11,1
S3
11
10,0 10,1
S4
NS, z
11,0
10,1 00,0
Q1Q0 , z
Solucin P6.- La organizacin del sistema es la mostrada, con una unidad de control y una
unidad de datos o de procesado :
- .
X
unidad
de
control
Ck
unidad
de
datos
ZI
z2
. z3
-
341
CL I
UP I Ck-
C1
CL256
Ck
CL2UP 2Ck
C2
CL 3UP 3 Ck
CY
C3
a
a>b a=b a<b
342
so
NOP
0
1
C256 , C I, C2, C - 0
CL256, CLI, CL2, CL3
si
S3
C - C +1
S4
C <_- C +1
FIN
1
COMP
COMP
Circuito Combinacional
> ZI
> Z2
> z3
343
Problema 7.- Un sistema digital (ver figura) consiste en una cerradura electrnica que se
abre mediante una combinacin adecuada de 8 bts . La combinacin est almacenada en el
sistema . El modo de operacin es como sigue . La seal RESET lleva al sistema al estado inicial (no hay que incluirla dentro de la carta ASM ya que se considera asncrona) . La seal BIT
indica el bit correspondiente de la combinacin (comenzando por el ms significativo) . La
seal LEE (al activarse) indica que se puede leer la entrada BIT . La seal INTENTA (al activarse) indica que ya se ha introducido la combinacin y si es correcta se abrir la caja (ponindose la salida ABRE a 1) .
RESET
LEE
INTENTA
BIT
ABRE
LEEUnidad
de control
INTENTA
ABRE
SHL A[81
UP
CY
combinacin
correcta
COMP[81
CONT
I
E
donde RESET se conecta a la puesta a 0 asncrona de A, de CONT y de la unidad de control .
Cuando esta puesta a 0 no est activa :
SHL
OA =
A E-
0
1
[Al
[Al
A
SHL(A, BIT)
SHL
344
UP
UP
CY =
CONT E-
0
1
1 si
[CONTI = 111
CONT
CONT + 1
CONT
S1
S2
44*1y
-04WV
ABRE
Suponemos que al conectar el sistema por primera vez se activa RESET . Esto hace que
se comience en So y que CONT = 0 (y A = 0) . Realizamos la carta para que, al volver, siempre
CONT = 0 en S0.
Al avivarse "LEE" procedemos a almacenar BIT y a incrementar CONT . Esto puede
hacerse en el mismo estado S O (por lo que es caja de accin condicional) .
345
Problema 8.- Un sistema digital controla el proceso de llamadas telefnicas a travs de la red
telefnica . Las llamadas pueden ser provinciales (7 dgitos) o nacionales (9 dgitos) . Tras activarse la seal de comienzo Xg, en cada ciclo de reloj llega el dgito correspondiente del
nmero marcado . El usuario activa una seal (YA) cuando termina de teclear . El sistema debe
responder de la siguiente forma : si el nmero de dgitos recibidos es incorrecto, durante un
ciclo de reloj debe activarse una seal de error (E) ; si el nmero de dgitos es correcto, durante
un ciclo de reloj debe activarse la seal de llamada (LLAMA) y una seal adicional que indicar si la llamada es provincial (P) o nacional (N) . El sistema recibe una seal, (COM), que
indica si el telfono de destino comunica . En este caso deber volver a realizar la llamada hasta tres veces sin necesidad de volver a marcar. Disee el sistema .
Nota : No se preocupe de cmo se almacena el nmero .
Solucin P8 .- Vamos a necesitar tres contadores, uno de mdulo 7 (C 1 ) y otro de mdulo 9
(C2 ) para contar el nmero de dgitos marcado y otro de mdulo 3 (C 3 ) para contar las llamadas
en caso de que comunique . La descripcin de estos contadores es la siguiente :
CL
UP
Ci
CL UP
CY =
Ci d
W
CY
00
01
1-
1 si [Ci ] = 11 . . .l l
C;
C; + 1
0
346
So
0
C2,C3 - 0
C1 L ,CL 2 ,CL
Cl - Ci+l, C2 F- C2+1
UP 1 , UP2
S1
LLAMA, P
LLAMA, N
(E)
S3
C3 E- C3+1
CL LAMA, UP
FIN
1
> a So
347
El controlador es :
LLAMA
P
q
D
2p
ACL,,CL 2 ,CL3
1
D
i>
CY
YA
cY,
COM
CY
q
D
2n
UP,
UP2
v
LLAMA E
v
LLAMA
FIN
Problema 9.- Para la unidad de datos de la figura, disee un controlador que permita realizar
la operacin de intercambio de informacin entre los registros A, B y C de la siguiente forma :
A-> B--3C
Rt -
wt-
RT
Ra
A
a
Rb
A
B
Wb
ALU
RAC
WAC
ZAC
AC
8
8
SHL
348
Solucin P9.- La carta ASM correspondiente a la operacin solicitada se muestra a continuacin junto con el controlador pedido .
Xs = I
1
AC E- 0 / RTF-A
SI
AC E- AC + RT / A<-C
S2
C E- B
S3
-.--
1
B E- AC
Ck
S4
1
FIN
a So
Zac
Ra
A Wac
Rt
Wt
Rc Wa
Rb
R ac
Wc
Wb
FIN
Problema 10.- Para la unidad de datos del problema anterior, disee un controlador basado
en registro de desplazamiento que permita realizar la operacin C = 4 - (A + B) .
Nota : La entrada SHL del acumulador produce un desplazamiento lgico hacia la izquierda,
introduciendo un "0" por la derecha .
Solucin P10 .-
Carta ASM :
Xs
ACE-0/RTE-A
Zac , Wt , Ra
AC E- AC + RT
Wac, A, R t
S5
S1
S6
S2
1
RTE-B
S7
Wt , Rb
AC E- AC + RT
Wac, A, Rt
a So
349
Controlador :
xs
1
- --
-1
-r-
Zac
Ra
wt
Rt
A
Wac
Wc
Rac
SHL
Rb
FIN
Problema 11 .- Para la unidad de datos de la figura, disee una unidad de control basada en
registro de desplazamiento de forma que, en funcin de dos bits de entrada 1 1 e lo, pueda
elegirse entre una de las cuatro macrooperaciones siguientes :
1)A-A+28
2) A*-A-2B
Rt
RT
Wt -
3)CF-A-2B
4)C<-- 2A+2B
SHIFT REG .
Rsh
Wsh
SHL
Ra
a
SEL
Rb
MUX 1
B
Wb
ALU
C
8
Rac
Wac
Zac
ACUM
350
Solucin Pll .
Si escogemos la siguiente codificacin para cada una de las macrooperaciones :
1 1 10
macrooperacin
00
01
11
10
A-A+2B
AE-A-2B
CE-A-2B
CE-2A+2B
SI
ACUM E- ACUM + RT / SR - B
SR <-- SHL(SR,O)
1
1
ACUM 4-ACUM + SR
ACUM 6-ACUM + RT
S5a
ACUM F-ACUM - SR
A E- ACUM
S4
S5b
C - ACUM
S6
FIN
SF
a So
El controlador :
1
0
q5a
q3
5b
q5b
4b
q31
FIN
RA = WT = ZAC = g1
SHL=q3
WC = q6
WAC = A+q4b
RB = WSH = q2
WA = q5b
A = RT+q4a
S = q4b
RT=q2+q5a
R SH = SEL =q4a + q4b
RAC = q5b + q6
Problema 12.- En la unidad de datos de la figura se han representado todos los componentes
y los caminos de datos . Suponga que, adems, existe disponible una seal, FIN, que se pone
a 1 cuando se han sumado n bits. Se desea realizar las tres macrooperaciones siguientes :
CE-A+B
CE-A CE-B
a) Especifique las seales de control y operaciones de los registros y el biestable .
b) Disee el controlador .
A[n]
Ao
/ 1
B>
in
Sumador
completo
B[n]
b
Cout
IN
Biestable
OUT
C[n]
352
Solucin P12.
a) Descripcin de componentes :
Rin
X = A, B
SR X
CL X-
CLEAR
x
Wbiest
SR c = 1 : SHR(C, Rin)
CLX = 1 : X - 0
SR X = 1 : SHR(X, d)
d=0 1 X7X0
IN
Biestable
OUT
i cj
CLEAR = 1 : Biestable E-- 0
Wbiest = 1 : Biestable - Ci+l
siempre C;= [Biestablel
IR, IR0
0
0
1
1
0
1
0
1
microoperacin
C-A+B
C-A
C E- B
otras
xs
353
2
FIN
IR1IR o
V
V V
CLEAR
CLB CL A
Wbiest
SRC
SR A
SR B
Problema 13.- Para la unidad de datos que se presenta, se quiere realizar un sistema digital
capaz de comparar dos nmeros de 8 bits (A y B), y almacenar en A el mayor de ellos y en B
el menor. Tras finalizar la operacin, el sistema generar una seal de FIN .
a) Defina correctamente las operaciones de los registros .
b) Obtenga la carta ASM y el controlador .
c) Sin aadir elementos nuevos, se puede simplificar la arquitectura de
esta unidad de proceso? Razone la respuesta .
A[81
C[8]
B[8]
/ I / I
]1
E E>F E=F
F
E<F
D[8]
1
CONT. mod-8
Solucin P13.
a)
Rx
X[81
w
X = A,B
UP
CL
HCY
CONT. mod-64
I/O
jo
WxRx
Z7_ o =
X -
UP CL
Cy =
CONT F-
00
01
10
11
HI
[X]
entradas
prohibida
X
X
entradas
prohibida
00
01
10
11
1 s
[CONTI
= 1 . . .11
CONT
0
CONT + 1
prohibida
354
W TRy SLy
Y7- 0
0 0 0
001
010
1 0 0
HI
HI
[Y]
entradas
b)
so
NOP
CONT4- 0 / C E-A
CL / W c , R A
v
D 4- B
WD, RB
SI
S2
t
C 4- SHL(C, X) / D 4- SHL(D, X) / CONT4-CONT +
Wc , SL c / WD, SL D / UP
C 4- A
Wc , RA
1
A4-B
WA , RB
B 4- C
WB , Rc
FIN
a So
Y 4Y
SHL (RU8,YL )
Y
entradas
X
1
C
E>F E F
>,-
V
CL
RA
WD
V
RB
RD=O
SL C
SL D
UP
WC
WA
V
RC
FIN
WB
Problema 14.- La figura muestra la solucin al ltimo apartado del problema anterior. Recordemos que se trata de almacenar en A el mayor y en B el menor de los datos previamente
almacenados en A y B. Determine la carta ASM para esta unidad .
A
Ra
Wa SHLa -
8
A[8]
me
11*
8
I> q4
11
C[8]
I>
-__ Rc
- Wc
A
Rb
Wb SHL b
8
B[8]
8
UP
CL
CONT. mod-8
CY
356
Solucin P14.
so
NOP
v
CONT- 0 / C E-A
CL, W,RA
SI
S2
00,11
A E- SHL(A,A 7 ) / SHL>
B E- SHL(B,B 7 ) / SHLb
\ONT E- CONT + 1 / Ulj
0
CY
01,10
B E- SHL(B,B 7 )/ Wb,SHLb
CONT- CONT + 1 / UP
S3
0
CY
B E- A
Ra,Wh
v
AE-C
Re' Wa
v
B E- C
Re , Wb
NOP
SF
Problema 15.- Disee un sistema digital (ver figura), que opere como sigue . Sincronizado
con Ck 1 , recibe por XS un pulso de un ciclo de duracin y, a continuacin, 8 bits de datos en
serie por una lnea Din
.
357
El sistema, deforma sincronizada con Ck2, en primer lugar debe generar por Xo un pulso de un ciclo de duracin y, seguidamente, retransmitir por Dout los 8 bits de datos recibidos .
xs
Din
SISTEMA
DIGITAL
Ck
out
Ck
CLK
R
SR
SR R
DOUT =
REG F-
0 0
0 1
1 0
11
HI
REG 0
HI
REG0
REG
REG
SHR (REG, DIN)
SHR (REG, DIN)
DOUT
CY
INC
INC CLEAR
CY =
CONT F-
x 1
1 0
0 0
1 s
[CONT]
= 11 . .1
0
CONT + 1
CONT
CONT mod .8
CLEAR
Ck
Componentes comunes a la unidad de datos y a la unidad de control :
- Un biestable SR asncrono y un multiplexor, se utilizan para obtener la seal de reloj
que se conectar tanto a las seales de reloj del registro y el contador como al controlador .
a los Ck
358
%Biest 4- 0, CONT F- 0
btest, CLEAR
Biest E- 1
XO, Sbiest
v
REG E- SHR(REG, D IN), CONT F- CONT + 1, DOUT = REG
SR,
Rbiest,
INC
0
NOP
FIN
1
El controlador :
\I
3
4
CY
CY
Xs ---J
V
CLEAR
y
INC
SR
V
FIN
xo
Sbiest
Rbiest
Captulo
13
MISCELNEA
0
1
0
q
A,1
B, 1
Tabla de estados
Ck
Elemento de memoria y su
tabla de comportamiento
NS, Z
359
360
contar es con una puerta NAND de ocho entradas adems del decodificador previsto . Obtenga el circuito equivalente al dado con el material disponible.
b) El da que va el grupo P ya disponemos de los multiplexores necesarios, pero ahora
han desaparecido los decodificadores . Obtenga un circuito equivalente al dado utilizando un
slo multiplexor como el previsto en la prctica .
Nota 1 : Disponemos de las variables en nico ral .
Nota 2: La entrada de habilitacin del multiplexor hace : F=0 si E=0 y F=MUX si E=1
Problema 3 .- Se pretende realizar un dispositivo como el mostrado en la figura :
> ZI
C .C .
> Z2
CLA uP
>
CK
CONT
mod-16
La entrada CLA pone a cero el dispositivo de forma asncrona . Por la lnea X se reciben
pulsos positivos de uno o ms ciclos de reloj. Con independencia de la duracin de cada pulso
y contando a partir de la ltima vez que se activ CLA, se desea activar Z, a partir del final del
segundo pulso recibido por X y activar Z2 a partir del comienzo del quinto pulso . Una vez
activada cada salida, se mantendr activa hasta que se active CLA otra vez .
Disee el circuito combinacional (CC en la figura) utilizando exclusivamente puertas
NAND y suponiendo variables en doble ral .
Problema 4.- Considere la palabra 10100110 . Interprete, si es posible, la informacin de esta
palabra segn sea : nmero binario, representacin signo-magnitud, representacin complemento a 1, representacin complemento a 2, cdigo ASCII, cdigo ASCII con paridad par, cdigo ASCII con paridad impar o cdigo BCD .
Problema 5.- Se desea disear una calculadora que realice las siguientes operaciones :
1 .A-2A+B
3 .B-2A+28
2.A'-A-B
4 . BOA-28 .
MISCELNEA
36 1
Para ello se dispone de la unidad de datos de la figura en la que todas las salidas de
los registros son condicionales. Se pide:
a) Especificar completamente la unidad de datos .
b) Disear la unidad de control correspondiente .
Problema 6 .- En el circuito de la figura hay, entre otros, un sumador paralelo de "n" bits y un
bloque TRANSFIERE/COMPLEMENTA B (representado por n XOR) . Describa funcionalmente el circuito . (Esto es, represente formalmente su operacin y explquela verbalmente) .
A
B
xi
x3
x2
Problema 7.- Un sistema digital de 4 entradas recibe sincronizado con una seal de reloj,
caracteres de 4 bits . El sistema genera z = 1, durante un ciclo de reloj, tras recibir cuatro
caracteres seguidos idnticos .
Cuntos elementos (bits) de memoria deber tener, el sistema? Disee dicho sistema
utilizando registros de 4 bits, comparadores de magnitud y puertas .
Problema 8.- Responda a las siguientes cuestiones :
a) Un cdigo binario de nmeros decimales se dice que es un cdigo pesado cuando la
posicin de cada bit lleva asociada un peso numrico y se denomina autocomplementable si
el complemento a 9 de cada dgito D = d 3 d2d 1 do es Ca9(D) = 9;d-2d
El cdigo 8CD natural
es un ejemplo de cdigo decimal pesado pero no autocomplementable . El cdigo exceso-3
es un ejemplo de cdigo decimal no pesado pero es autocomplementable . Muestre que el
siguiente cdigo es ambas cosas : pesado y autocomplementable y determine el peso de
cada bit .
0 = 0000
1 = 0001
2 = 0011
3 = 0100
4 = 1000
5=0111
6= 1011
7= 1100
8= 1110
9= 1111
b) El circuito de la figura contiene una puerta de 5 entradas que puede ser una NAND5,
una NOR5 o una XNOR5 . Cul es el test ms simple que se podra aplicar para averiguara
qu puerta corresponde?
7
362
PCH[81
MARL[8]
PCL[8]
RT[8]
IR[8]
ALU
AC[81
CONTROL
MDR[81
1-11
MISCELNEA
363
- MDR (Memory Data Register) : de 8 bits, su finalidad es servir como registro intermedio entre el procesador y la memoria externa . Todo dato que entre o salga del procesador deber ser almacenado previamente en MDR .
- IR (Instruction Register): es de 8 bits .
- PC (Program Counter) : es de 16 bits y est formado por la concatenacin de dos
registros de 8 bits : PCH y PCL .
- AC (Acumulador) : es de 8 bits .
- RT (Registro Tampn) : es de 8 bits y es utilizado para el clculo de operaciones
intermedias .
Obtenga la secuencia de microoperaciones necesarias para realizar la siguiente
instruccin indicando cules corresponden al ciclo de FETCH y cules al de EXECUTE :
LDA $B043
Nota : Cada instruccin ocupa 3 palabras de 8 bits consecutivas de la memoria . En la primera
aparece el cdigo de operacin (LDA) ; en la segunda aparecen los 8 bits de direccin ms
significativos del operando (A 15 - A8); y en la tercera aparecen los 8 bits de direccin menos
significativos (A 7 - A 0) .
Problema 11 .- Una puerta umbral (ver figura 1) activa su salida, Z = 1, si el valor de sus
entradas tomadas como nmero binario A110 = (a- 1 , . . .,a 1 , a 0)(2 es mayor o igual al umbral
interno "i".
a) Disee una puerta umbral de n entradas, utilizando subsistemas combinacionales y
puertas lgicas .
En la figura 2, aparece un circuito formado, nicamente, por puertas umbrales .
b) Analice dicho circuito.
c) Rediselo utilizando, exclusivamente, MUX de 4 canales .
c
1 si A>i
OsiA<i
Figura 1
Figura 2
f = fl
364
Problema 13.- Obtenga la carta ASM de un circuito secuencial sncrono con una entrada x .
La nica salida, z, es 0 a menos que la entrada x haya permanecido constante (a 1 a 0)
durante los ltimos cuatro ciclos de reloj . La salida se pondr a 1 coincidiendo con el cuarto 1
( 0) de la entrada . Suponiendo que el circuito se dispara en el flanco de bajada, dibuje la
forma de onda de salida para la secuencia de entrada de la figura, indicando las cajas de
estado por las que pasa .
Ck
x
Problema 14.- En la figura se muestra una tabla de implicantes primas para f(a,b,c,d) en la
que se desconocen algunos de los encabezamientos de las filas y columnas . Se sabe que
todos los mintrminos y las implicantes primas de la funcin estn en la tabla .
a) Determine los mintrminos e implicantes primas que corresponden a las filas y
columnas desconocidas. Es nica la solucin?
b) Escriba los maxtrminos de f y obtenga la expresin ptima para f .
0
A=b d
B= ?
C=bcd
D=?
E=?
F=?
8
X
10
15
cl
c2
X
X
X
X
X
Problema 15.- Un perro puede estar tranquilo, irritado, asustado o irritado y asustado
simultneamente, con lo cual muerde . Si le damos un hueso se queda tranquilo. Si le
MISCELNEA 365
quitamos uno de sus huesos se pone irritado, y si ya estaba asustado, nos morder . Si le
amenazamos se asusta, y si ya estaba irritado tambin nos morder . No es posible realizar
dos acciones simultneamente sobre el perro . Obtenga el diagrama de Moore y realice un
circuito que simule la conducta del perro .
Problema 16.- Disee un circuito combinacional que tenga como entradas tres nmeros sin
signo A, B y C de n bits cada uno, y una salida Z que indique cul de los nmeros B o C es
ms prximo al nmero A . Haga un diseo con subsistemas combinacionales . Suponga que
A# B, A#CyC ;, ,-- B.
C
K C
1-K
K A X
A-
CLK Y
Zr
PR
PR
D Y
S tart
Problema 18 .- Para un sistema con 16 lneas de direccin se necesitan 40K de memoria dejando libre el resto . Se dispone de una _
RAM de 32K y otra de 8K, ambas con seal de seleccin de chip CS, de lectura/escritura R/W y buses compartidos . La memoria resultante deber
tener seales de lectura R y de escritura W separadas y activas en alta, sin seleccin de chip .
a) Disee el circuito .
b) Determine qu palabras de memoria se corresponden con las direcciones lgicas siguientes: $FOCA, $4342, $9CAD.
c) Cul es la direccin lgica que hay que poner para acceder a la palabra $7531 de
la RAM de 32K?. Cul sera para la $0246 de la RAM de 8K? .
ID
El estado B es el que ms transiciones recibe (tres) . Teniendo en cuenta que en el elemento de memoria el problema es la transicin q ; : 1 -> 1, le asignaremos el cdigo glg2 = 00
(de esta forma evitamos la transicin problemtica hacia el estado B) . La nica transicin que
parte del estado A va hacia el estado B . Por tanto, no se produce la transicin problemtica si
le asignamos a A : q1q2 = 11 . Por ltimo, como C y D son prximos estados uno del otro, le
asignamos cdigos complementados, por ejemplo C : q1 q2 = 01 y D : q1 q2 = 10 .
Una vez realizada la asignacin, de forma que se ha evitado que existan transiciones que
no pueden implementarse con el elemento de memoria, el proceso de diseo contina como
siempre .
X
q 1 q\ 0
B=0 0 01,0
1
1 1,1
C=O 1
A=1 1
00,0
10,0
00,0
00,0
D=1 0
01,0
00,1
Q1 Q2
Tabla de transicin/salida
q 1 q\ 0
01
00
01
Od
11
ld
y2 =X91
11
dd
dd
Z=Xq2
10
dl
d0
YiY2
Tabla de excitacin
y1 =X
Ecuaciones de excitacin
y salida
MISCELNEA 367
Z
2
Solucin P2 .- El primer paso es calcular una expresin de la funcin F(x,y,z), para lo cual hay
que analizar el circuito . Daremos nombre a cada una de las lneas .
x
y
z
b) Para este apartado tenemos que usar el multiplexor que aparece en el enunciado .
Como estamos en nico ral, vamos a buscar qu disposicin de variables es vlida para que
no encontremos residuos de la funcin que posean variables complementadas .
368
Residuos
de F :
Residuos
de F :
xz
Solucin P3 .- Para contar los pulsos recibidos, como la duracin de estos es variable, dos flancos consecutivos en la entrada (subida y bajada) representan un pulso . Cada pulso, pues, necesita dos estados : uno que reconoce el flanco de subida en X y otro, el de bajada. El diagrama
de estados para la mquina ser :
0/00
1/00
1/00
0/00
0/00
lo
411
0 0
1/00
1/00
0/ 0
0/10
0/10
0/10
1/10
lo
donde el estado "0" es el de ausencia de pulso ; el estado "1" se alcanza cuando X = 1 (comienzo de pulso) y en l se permanece hasta que X = 0 (final del pulso) ; tras este primer pulso se
permanece en un estado "2" hasta la llegada del nuevo pulso (X = 1) ; etc .
Para realizar estos cambios de estado utilizaremos el contador . Si asignamos los valores
0000, 0001, 0010, . . . a los estados 0, 1, 2, . . ., respectivamente, el estado coincide con el valor
del contador y los cambios de estado del grafo se llevan a cabo activando o no la entrada UP
segn :
UP=O
UP =
Entonces, las ecuaciones de excitacin del contador (UP) y de salida (Z 1 , Z 2) se obtienen mediante el siguiente mapa de Karnaugh que representa la "tabla" de excitacin-salida :
MISCELNEA
369
q2
00
000
000
001
010
011
---
010
010
110
111
111
---
101
110
100
100
01
100
110
---
011
011
---
010
000
11
110
110
---
---
---
010
000
10
000
010
---
---
---
110
100
q1 q0
---
UP Z 1 Z2
Las expresiones de las que se obtiene el circuito son :
UP = X - qO+X . g3 . g0
Z1 = X'g1'g0 + q2 + q3
Z2 = g0 'g 3 +X q 3
Solucin P4.
Como nmero binario : 10100110 = 166 (1 0
Como signo-magnitud : 10100110 =- (0100110) =- 38 (10
Como complemento a l : 10100110 = - (01011001) = - 89 (10
Como complemento a 2 : 10100110 = - (01011010) = - 90(10
En cdigo ASCII : problema mal formulado, pues el cdigo ASCII es slo de 7 bits .
En cdigo ASCII con paridad par : 10100110 - & .
En cdigo ASCII con paridad impar: 10100110 no puede estar escrito como cdigo de
paridad impar pues tiene 4 unos .
En cdigo BCD : un dgito sera 1010 y otro 0110, pero como 1010 no es un dgito BCD,
el problema est mal formulado .
Solucin P5 .
a) Desarrollaremos las instrucciones mediante microoperaciones y, de aqu, iremos implicando algunas necesidades de operaciones en los registros . Previamente, analizaremos la
unidad de datos de la que disponemos :
Hay dos buses compartidos (BI y BD), por lo tanto, las salidas de los registros A, B y
AC son salidas con buffers triestado . Como las salidas son condicionales, los registros tienen
seales de lectura: nica para RT (seal RT) y AC (seal RAC) y doble para A y B, segn se
lea en BI (seales RA I, RBI) o en BD (seales RAD, RB D).
La ALU opera sumando o restando entre BD, con el que se pueden leer los contenidos
de los registros A, o B, o AC, y el contenido de RT que puede ser cargado desde el registro A
o el B .
Hay que especificar cul es el sustraendo en caso de resta ; en nuestro caso, elegimos RT
como sustraendo . Con ello, la descripcin de la ALU es :
370
(BD)
(RT)
s r
0 0
0 1
1 0
11
out
a-b
a+b
out (BD)
RA, RA D W A
A<--
BI =
BD =
RAC WAC
AC4-
out =
000
001
010
100
101
110
-11
A
BD
A
A
BD
A
proh .
HI
HI
HI
[A]
[A]
[Al
proh .
HI
entrada
[A]
HI
entrada
[Al
prohibida
00
01
10
11
AC
in
AC
in
HI
HI
[ACI
[AC]
MISCELNEA
371
cdigo
X I Xp=00
X I Xp=01
X I X0 = 10
X I X 0 = 11
OP .
AE-2A+B
AE-A-B
BE-2A+2B
BF-A-2B
op l
RTE-A
RTE-B
RTE-A
RTE-B
op2
ACE-B+RT
op 3
AC E- AC + RT
op 4
op 5
ACF-B+RT
AC E- A - RT
A E- AC
AC E- A - RT
AC E- AC + RT
AC E- AC - RT
B E- AC
b) La carta ASM, sealando en ella tanto las microoperaciones como las seales a activar por el controlador, queda como sigue :
372
Tambin podran haberse reunido los estados S3a Y S3b segn se muestra :
MISCELNEA 373
q
q2 D3a
D
FIN
9a
93a1
910
q
q
DF
XI
93bC
911
q
D
3b
q
D
93b1
0
1
q2
911
93a
> RBI
q1
93al
WT
93b
951
WB
XI
V
RA I
q50
- q51
93b
q5
> r
WAC
93a
93b
q2
s
q6
q50 -~
0
0
0 1
1 1
0
1
-
F
A+13
A+B+1
A+B
A+B+ 1
374
Solucin P7 .- Este sistema digital debe tener, por un lado, capacidad de almacenamiento para
un carcter de 4 bits, con el objeto de poder hacer comparaciones con los caracteres que
incidan en posteriores ciclos de reloj . Adems, el sistema debe llevar la cuenta de las
coincidencias existentes, por lo que necesitaramos un contador de cuatro estados o 2 bits . En
total, y como mnimo, necesitaremos seis biestables . No obstante, a la hora de implementar el
sistema, no disponemos de contadores, slo de registros . En este caso, utilizaremos los
registros para almacenar los caracteres en distintos ciclos de reloj . Los registros estn
conectados entre s de modo que en conjunto simulan un registro de desplazamiento de
caracteres . Slo es necesario utilizar 3 registros ; con ellos y la entrada actual se conocen los
caracteres correspondientes a cuatro ciclos de reloj .
X3 :0
R[4]
-1
R[4]
R[4]
El sistema debe generar salida 1 durante un ciclo de reloj, cuando se detecte una
secuencia consecutiva de cuatro caracteres idnticos . Cuando se recibe esta secuencia, tanto
la entrada como los registros, contienen el mismo dato . Utilizando comparadores de magnitud
se puede detectar cundo se ha recibido la secuencia correcta . Estos dispositivos tomarn la
entrada y el contenido de los distintos registros y los compara por parejas, de forma que en total
necesitaremos 3 comparadores .
X3 :0
R[4]
R[41
R[41
b
b =b a<b
El
Cuando el contenido de los 3 registros y la entrada coinciden, las salidas E l , E 2 y E3
toman simultneamente el valor 1 . La salida z la podemos construir mediante la operacin
AND de las tres salidas anteriores :
z = El . E 2
E3
Solucin P8 .
a) Los pesos son : d 3 -* 4, d 2 -* 3, d, -* 1, do -* 1 . (Se obtiene de forma inmediata : do
de cdigo del 1 ; d 2 del 3 ; d3 del 4 ; y d l de, por ejemplo, el 2) .
MISCELNEA
CDIGO
VALOR DECIMAL
0000
0 = 0x4 + 0x3 + Ox 1 + Ox 1
0001
0011
0100
3=0x4+1x3+Ox1+Ox1
1000
4 = 1x4+0x3+Ox1 +Ox1
0111
1011
1100
7=1x4+1x3+Ox1+Ox1
1110
8=1x4+1x3+1x1+Ox1
1111
375
d 3 d 2 d 1 dp
Ca9
d3 d2 d i do
0000
1111
0001
1110
0011
1100
0100
1011
1000
0111
0111
1000
1011
0100
1100
0011
1110
0001
1111
0000
SOLUCIN 1 :
a b c d e
11000
11100
NAND
NOR
1
1
0
0
XNOR abcde
1
11111
01111
0
NAND
0
1
NOR
0
0
XNOR
1
0
376
01
001
10
100
11
gel
100
001
leg
gel
100
001
gel
gel
100
001
gel
01
10
11
gel
GEL
Para nmeros sin signo, S I S O = 00, tenemos las siguientes posibilidades :
a) A4B 4 = 00 y A4B 4 = 11 el resultado de la comparacin depende de los 4 bits menos
significativos, esto es, GEL = gel.
b) A 4B 4 = 01, el nmero B es mayor que el A, por tanto L = 1 .
c) A4 B 4 = 10, el nmero A es mayor que el B, G = 1 .
Para nmeros en notacin S-M, tenemos las siguientes posibilidades :
a) A 4B 4 = 00, los dos nmeros tienen el mismo signo y, por tanto, el resultado de la
MISCELNEA
377
comparacin depende de la magnitud, de forma que el que tenga mayor magnitud, ser el ms
grande (GEL = gel) .
b) A4 B 4 = 01, el nmero A es positivo y el B, negativo, el mayor es el primero, G = 1 .
c) A4B 4 = 10, el mayor es el nmero B, por ser positivo, L = 1 .
d) A 4B 4 = 11, los dos nmeros son negativos y, por tanto, el mayor ser el que tenga
menor magnitud, GEL = leg .
Para nmeros en notacin Cal, tenemos las siguientes posibilidades .
a) A4 B 4 = 00, los dos nmeros son positivos : por tanto, el mayor de los dos ser el que
tenga mayor magnitud, GEL = gel .
b) A 4B 4 = 01, el nmero A es mayor por ser positivo, G = 1 .
c) A4 B 4 = 10, el nmero B es el mayor por ser positivo, L = 1 .
d) A4B 4 = 11, los dos nmeros son negativos . Hay que determinar la magnitud de ambos
para saber cul es el mayor . Para resolver este caso, observemos primeramente un ejemplo de
nmeros negativos de 4 bits en esta notacin .
- 7 : 1000
- 6 : 1001
- 3 : 1100
- 2: 1101
- 5 : 1010
- 1 : 1110
- 4 : 1011
- 0: 1111
Apartando el bit de signo, las magnitudes de los bits restantes son tanto mayores cuando
el nmero es mayor . Por tanto, las salidas GEL = gel .
Por ltimo, se puede demostrar que, para nmeros en notacin Ca2, obtenemos los
mismos resultados que en Cal .
Podemos ya determinar el circuito resultante, utilizando MUX de 4 canales :
g o
0
1
1 2
3 1 0
g
A3-0
B3-0
0
1
g
0
1
2
3 10
0
1
2
3 10
0
1
2
3 10
11
0
1
2
3 10
0
1
2
3 10
0
1
2
3 10
II
A4 B 4
0
1
2
3 10
l
2
3 10
SISO
378
Solucin P10 .- En el ciclo de fetch (bsqueda) se debe encontrar la posicin a la que apunta
inicialmente el contador de programa (PC), (por ejemplo, la direccin $K) . A continuacin
buscar la siguiente ($K+1) y, por ltimo, la direccin $K+2 .
Ah terminara el ciclo de bsqueda y habr que dejar al contador de programa (PC)
apuntando a la siguiente direccin de memoria $K+3 .
De esta forma, la secuencia de microoperaciones a realizar es :
1.
MARH - PCH
Almacena parte H de $K .
2.
MARL *- PCL
Almacena parte L de $K .
3. MDR E- MEMORIA, PC - PC + 1
4.
IR E- MDR
5.
MARH 4- PCH
6. MARL F- PCL
7. MDR E- MEMORIA, PC 4- PC + 1
8.
RT 4- MDR
9.
MARH 4- PCH
10 . MARL F- PCL
11 . MDR 4- MEMORIA, PC E- PC + 1
Aqu termina el ciclo de fetch . Comienza, por tanto, el ciclo execute de la instruccin
LDA, que consiste en cargar el acumulador con la palabra de direccin $B043 :
AC 4- MEMORIA($B043)
Para ello :
12. MARH E- RT
Pone la direccin de la palabra en el registro MAR .
13 . MARL 4- MDR
14 . MDR 4- MEMORIA
15. AC F- MDR
Con ello se termina la ejecucin . Ahora volvera a iniciarse el siguiente ciclo de fetch .
MISCELNEA
379
Solucin P11 .
a) Dada la expresin de la puerta umbral en la figura 1, para su realizacin basta con un
comparador de magnitud de n bits que compare "A" e "i" y un inversor para obtener la salida Z .
En la siguiente figura se muestra dicho esquema :
n
Comparados
de "n" bits
Z
b) Para analizar el circuito de la figura 2, construimos la tabla de verdad para cada una
de las salidas de las puertas umbrales : Z2 es la de la puerta con umbral en 2, Z 1 la del umbral
en 1, Z 3 en 3 y F es la de la puerta con umbral en 5 y cuyas entradas son Z 2 , Z 1 y Z3 . Partiendo
de estos datos se obtienen los siguientes resultados :
a
Z2
Zi
Z3
Z2
Z1
Z3
0
0
De estas tablas se puede obtener la funcin F(a, b, c, d, e) . Para ello, dada una combinacin de las cinco variables, se evala cada una de las funciones Z2 , Z 1 y Z3 y posteriormente
se obtiene el valor de la funcin de salida del circuito F . Realizando este clculo para todas
las combinaciones de entrada se obtiene el siguiente mapa binario :
000
001
010
011
100
101
110
111
ab 00
RO= 0
01
Ro = 0
10
11
R2 = R3
R3
F
c) Del mapa anterior, usando "a, b" como entradas de seleccin del MUX-2 cuya salida
es la funcin F y diseando el residuo R 2 con un MUX-2 de entradas de seleccin "c, d", se
llega al circuito final que se muestra a continuacin :
380
\d
e
0
00
01
10
11
1
Residuos
de R 2 :
1
2
2
310
310
II
II
a b
c d
0
1
1
ac
Solucin P12.
a) En los mapas de Karnaugh se ven las diferencias entre la solucin y la funcin :
FUNCIN
ESPECIFICADA
CIRCUITO
ab
ab
00
cd
00
01
11
10
00
cd\ 00
01
11
10
0
01
01
11
11
10
10
Los errores son que la solucin considera que las posiciones 6 y 7 son mintrminos y en
realidad son maxtrminos . En cambio, en la solucin las posiciones 10 y 11 son maxtrminos
cuando deben ser mintrminos .
La funcin correcta es : f = a b + a c + b . Por tanto, para corregir los errores, en la puerta central en vez de conectar b y c hay que conectar a y c . Por otra parte, es posible eliminar la
conexin de la seal d en la puerta de ms abajo del circuito, ya que las celdas 0 y 2 estn inespecificadas .
MISCELNEA
381
z=MN
M=b
c
1
L= b
Ld
N=L
M=L
s
~5 n$~
5ns
i
N
-4
_4-5ns
--4
'1-5 n
-4
n1-
Esto es, z presenta un azar (esttico) de 5ns de duracin, que aparece l Ons despus del
cambio de bajada en b .
Solucin P13 .- Los estados de la carta ASM seran los siguientes :
Estado A : se han detectado tres o ms "0" ; si x = 0 se activa "z" y se permanece en A ;
si x = 1 se pasa a B .
Estado B : estado en el que se ha detectado el primer "1" .
Estado C : estado en el que se ha detectado "11" .
Estado D : estado en el que se ha detectado tres o ms "1 " . Si x = 1 se activa z y se permanece en D ; si x = 0 se pasa a B .
Estado E : estado en el que se ha detectado el primer "0" .
Estado F : estado en el que se ha detectado "00" .
382
A ( . . .000)
B (. . I )
C ( . .11)
E ( . . .0)
D ( . . .111)
F ( . . .00)
0
Ck
X
z
S
Solucin P14 .- La resolucin del problema puede efectuarse utilizando una representacin de
la informacin que aporta la tabla del enunciado sobre un mapa de Karnaugh . En esta tabla
aparecen expresiones de dos implicantes primas y faltan por conocer expresiones de las otras
cuatro (B, D, E y F) . Adems, aparecen todos los mintrminos menos dos (c l y c2) . Con los
mintrminos conocidos el mapa queda como sigue :
MISCELNEA
383
=..o
....
.am.
...=
Implicante A = b d : Vale 1 cuando b = 0 y d = 0 . Son las posiciones 0, 2, 8 y 10 sobre
un mapa de Karnaugh . Como 0, 8 y 10 son mintrminos de f y esta implicante no cubre ni
c 1 ni a c 2, en la posicin 2 del mapa hay una inespecificacin, d .
La implicante prima B cubre al mintrmino 0 y a c l . Adems, B es la nica implicante
que cubre al mintrmino c 1 , de forma que no puede agruparse con ningn otro mintrmino distinto del 0 . Por tanto, el mintrmino c 1 slo podra estar o en la posicin 1 en la posicin 4
del mapa .
La implicante C = bcd cubre slo a los mintrminos 7 y 15 .
La implicante D cubre al 15 y a c 2. Por lo que c 2 tiene que ser adyacente al 15 y, por
tanto, slo puede ser el 11 el 13 el 14 . Como no existe ninguna implicante prima que cubra
ni al mintrmino 10 ni a c 2, no pueden ser ni el 11 ni el 14 (ambos adyacentes del 10) . Por
tanto, c2 es el 13 .
La implicante E cubre al mintrmino 8 . Como es implicante prima debe cubrir, adems,
alguna inespecificacin . Esta puede estar en celdas adyacentes al 8, esto es, en el 9 en el 12 .
La implicante F cubre a c2 = 13 . Adems, debe cubrir alguna inespecificacin que podr
estar situada en las celdas 5 9 12 . Si la celda 5 fuese inespecificacin, la implicante C no
sera prima. Por tanto, slo puede estar en la 9 12 .
Con lo que hemos deducido el mapa queda como sigue :
d?
U
Resta por determinar si el mintrmino c 1 es el 1 el 4 y si hay inespecificacin en el 9
el 12 . Existen dos soluciones posibles .
La primera es considerando que c 1 = 1 . En este caso, la inespecificacin est situada en
la celda 12 . El mapa quedara de la siguiente manera :
384
00
01
11
10
a
~..~
LU]
B=(0,1)
=aEc
D=(13,15)=abd
E=(8,12) =acd
F=(12,13) = a b c
f =1(0,1,7,8,10,13,15)+ d(2,12)
_
r
CJ
-0
L
B=(0,4)
=cd
D=(13,15)=abd
E = (8,9)
= a Ec
F=(9,13) = a c d
f = 1(0,4,7,8,10,13,15)+ d(2,9)
MISCELNEA
385
- Estados de la mquina .
Son los estados del perro :
T : Tranquilo .
1 : Irritado .
A : Asustado .
IA : Irritado y asustado .
Como el perro muerde (O 1 ) si y slo si est irritado y asustado (IA), la tabla de estados
sigue el modelo de Moore . La tabla se obtiene directamente del enunciado y se muestra en la
figura:
lo
11
12
13
00
IA
00
IA
00
IA
IA
IA
IA
01
NS
Se aplica el mtodo exhaustivo para la asignacin de estados ya que es una mquina de
slo 4 estados . Las posibles asignaciones son las siguientes :
Estados
T
1
A
IA
Los cuatro estados de entrada se codifican mediante dos entradas de forma que se tiene
X1X0 : 00 (I 0 ), 01 (I 1 ), 10 (I 2 ), 11 (1 3 ) . Entonces, las tablas de transicin/salida :
ASIGNACIN II
X I Xo
ASIGNACIN 1
X1X0
q1g
00 01
11
01
T=00
I=01 00 01
X I XO
01
11
10
T=00 00 01
00
10
T=00
10 0
I=01 00 01
01
11
IA=01
10 Z
11
01
ASIGNACIN III
g1go
00
A=11 00
10
11
11 0
IA=11 00
IA= 10 00
10
10
10
A=10 00
Q1Qo=D1D0
glgo
11
11
11
I=11
11
10
10
A=10
Q1Qo=D1Do
00 01 11 10
00
11
00
10
00 01
01
01
00
11
11
01
00 01
10
10 0
Q1Qo= D1Do
386
Utilizando biestables D las tablas de excitacin son las mismas que las de transicin . De
ellas se obtienen las ecuaciones de excitacin/salida, para cada asignacin :
Para la asignacin 1 :
D 1 = Xo g l
+ X1 X0
Do = X 1 X 0 g 1 +X 1 X 0 g o +X 1 g 1 g 0 +X 1 X D g 1 g 0
Z=g 1 g o
Para la asignacin II :
D 1 = X 0 g 1 +X 1 X 0
D =X 1 X0 +X
o
1 80
Z= g1g0
Para la asignacin III
D 1 =X 1
X0 g 0 +X 1 .X0 .g 1 +X0 .g 1 q 0 +X 1
X 0 q 1 q 0
D o - X 1 X 0 +X 180
Z=q 1 q 0
La solucin de menor coste es la segunda (II) .
X
X
D
1
xl
IA-BI
IA-CI
MISCELNEA
387
Ahora debemos obtener el circuito que realice las operaciones A-B1 y A-CI . La
definicin del valor absoluto de A-B es la siguiente :
A - B si A>B
IA-BI =
B-AsiB>A
Minuendo
A
B
A --, - x
n
RESTADOR
IA-BI
Sustraen d o
x>y
x=y
x<y
Minuendo
RESTADOR
Sustraendo
A -7n- x
B
x>y
x=y
x<y
--/-n
x
C
A
A
C
A ~n
A-B
Minuendo
x>y-x=yx<y
RESTADOR
Sustraendo
A-Cl
x>y
x=y
x<y
Solucin P17 .- Cuando Start = O, los biestables D se ponen a 1 de forma asncrona . Los biestables D, tras un pulso Start, operarn con cada flanco negativo de W segn la secuencia :
w
Y
388
puesto que D x = Y y D y = X .
Si X + Y = 1, los tres biestables JK tienen como entradas JK = 1 1 y operan como un
contador de rizado (A es el menos significativo) .
Si X + Y = 0, el biestable A tiene J A KA = 00 y no cambia de estado por lo que ningn
otro biestable JK cambia de estado .
W = B + C produce un flanco negativo (de 1 a 0) cuando B C pasa de 0 - - 0 a 11 .
De todo lo anterior se obtiene la siguiente secuencia de seales :
Start L I
CLK
A
B
C
X
Y
Solucin P18 .
a) Queremos conseguir una memoria de 16 lneas de entrada con dos seales de control
independientes para lectura y escritura . Para ello, tenemos que relacionar las nuevas seales de
control con las correspondientes a cada una de las memorias de las que partimos por separado .
Mostramos el siguiente diagrama de bloque y la relacin entre las distintas seales :
R W
a14-0
CS R/W
32Kx8
a12-0
CS RIW
0 0
Inhibicin
0 1
Escritura
1 0
Lectura
1 1
Prohibido
8Kx8
Para resolver el problema, primero determinamos la relacin entre las distintas seales
de control de cada una de las memorias . Para ello, seguimos la siguiente tabla :
MISCELNEA
R W
CS
CS 2
0 0
0 1
1 0
R/W
R/W2
389
1 1
De dicha tabla puede deducirse la siguiente relacin :
R/W 1 = R/W2 = R .
A continuacin se resuelve el mapa de memoria . Para ello colocamos la memoria de
32K en las primeras posiciones del mapa y la otra memoria de 8K a continuacin de sta . As
ocupamos los 40K que nos pide el problema .
A15
A13
A14
Mi
M2
1
1
1
0
1
1
1
0
1
Vaco
La puerta NOR (R,W) habilita los decodificadores de memorias si hay acceso (RW = 01
o 10) e inhabilita dichos decodificadores si no hay acceso (RW = 00) .
Para la seal CS 2 se ha utilizado un decodificador 2 :4 dejando as libres las lneas 1, 2
y 3 de salida para posibles expansiones del circuito . Si se desea reducir el coste se puede
eliminar dicho decodificador y poner en su lugar una puerta OR (m, A14 , A13) donde m es la
salida 1 del decodificador 1 :2 .
390
A14 -
- CS 2
A13
b) Analizamos las palabras que se leeran de las memorias si en el bus externo de datos
colocamos las siguientes direcciones :
A 15 - A0 = $FOCA
No hay palabra fsica seleccionada .
A15 A14 A13 = 111
A 15 - A0 = $ 4342
Acceso a M 1
A15 =0
A 14 - A0 = $ 4342
Se accede a la palabra $4342 de M 1 .
A 15 - A0 = $ 9CAD
Acceso a M 2
Se accede a la palabra $1 CAD de
M2
c) Para poder acceder a la direccin $7531 de M 1 tenemos que poner A 15 = 0 y as seleccionar dicha memoria . Para el resto de las lneas de entradas A 14 - A 0 = $ 7531 . Por tanto,
la direccin que se necesita fijar en el bus externo es A 15 - A0 = $ 7531 .
De forma anloga, para acceder a la palabra $0246 de M2 tenemos que fijar
A15 A14 A13 = 100 y el resto de las lneas tomaran los valores siguientes :
A12=0yA 11 -A0 =$246 .
Por tanto, uniendo todos los valores de las 16 lneas que componen el bus externo, la
direccin que necesitamos colocar en dicho bus para acceder a la que nos planteamos es
A 15 - A0 = $ 8246 .
BIBLIOGRAFA
Nuestro propsito aqu es citar un pequeo conjunto de textos, a travs de los cuales se pueden
alcanzar dos objetivos : 1) que el lector pueda estudiar en ellos la teora de la materia que se
aplica en este libro ; 2) que en ellos se aporten suficientes lneas y enfoques como para que el
lector pueda profundizar en los aspectos que desee o necesite . Somos conscientes de que puede
haber otras selecciones apropiadas, pero confiamos en que la que ahora damos sea suficientemente adecuada.
La materia correspondiente al nivel de conmutacin (Captulos 1-10) est suficientemente soportada en textos : existen muchos y poseen un variado enfoque, lo que garantiza el
progreso en cualquier lnea . Nosotros hemos tenido que seleccionar los que consideramos mejores . En cuanto a la materia correspondiente al nivel RT la situacin es bien distinta . Aunque
el nmero de autores que la tratan va aumentando cada vez ms, todava no est adecuadamente delimitado el cuerpo de doctrina . De aqu que esta materia se encuentre mucho menos estructurada en los libros existentes .
Los fundamentos matemticos (Captulos 1, 2 y, en parte, el 6) suelen estar bien presentados tanto en los textos ms recientes [Garc92, Haye96, Llor96, Mano9l, Nels95, Sand90,
Wake94], como en otros ms clsicos [Cava86, Givo70, Haye86] . En cualquiera de ellos pueden estudiarse la mayor parte de las cuestiones de estos temas . Para profundizar, en particular,
la codificacin binaria est ampliamente estudiada en [Garc92] ; un tratamiento elegante, simple y riguroso del lgebra y de las funciones de conmutacin se da en [Givo70] ; los aspectos
relacionados con la aritmtica del computador se desarrollan ampliamente en [Cava86] ; y un
buen equilibrio se encuentra en [Haye86/96, Nels95, Wake94] . Adems, para ampliar conocimientos sobre funciones especiales puede estudiarse [Unge89] .
En el bloque relativo a los circuitos combinacionales, nuestro Captulo 3 dedicado al
anlisis lgico (incluyendo circuitos slo NAND (NOR)) y temporal (incluyendo azares) est
bien tratado en [Garc92, Katz94, Mano91, Nels95, Wake94] . El diseo de circuitos a nivel de
puertas (Captulo 4) est tratado mediante mapas de Karnaugh en todos los textos
mencionados ; en [Givo70, Mano9l, Nels95, Wake94] se da una visin ms acorde con
nuestros contenidos, incluyendo el mtodo de Quine-McCluskey, las diferentes formas de
implementar expresiones sp o ps e incluso las realizaciones con puertas XOR . Para el lector
interesado, el diseo ayudado por computador (CAD) puede encontrarse en [Haye96, Katz94,
391
392
G . Almonacid
J .J .F. Cavanagh :
McGraw-Hill, 1986 .
[Garc92]
J .E . Garca
[Givo70]
D .B . Givone :
[Gree86]
D . Green :
[Haye86]
J .P. Hayes :
1986 .
[Haye96]
J .P. Hayes :
BIBLIOGRAFA
[Hi1193]
393
F.J . Hill and G .R . Peterson : "Computer aided logical design with emphasis on
VLSI ". Wiley, 1993 .
[Katz94] R.H. Katz : "Contemporary Logic Design ". The Benjamin/Cummings Publishing
Company, 1994 .
[Llor96]
[Lync93]
M . A. Lynch : "Microprogrammed State Machine Design ". CRC Press, Inc ., 1993 .
V.P. Nelson et al . : "Digital Logic Circuit Analysis and Design" . Prentice Hall,
1995 .
[Pros87]
[Sand90]
[Taub83]
[Unge89]
[Wake94] J .F. Wakerly : "Digital Design : Principies and Practices ". Prentice-Hall, 1994 .
9 788448 109660
ISBN: 84-481