You are on page 1of 396

www.FreeLibros.

me

PROBLEMAS
DE CIRCUITOS
Y SISTEMAS DIGITALES
Carm en Baena Oliva
M anuel Jess Bellido Daz
Alberto Jess M olina Cantero
M ara del Pilar Parra Fernndez
M anuel Valencia Barrero
Departamento de Tecnologa Electrnica
Universidad de Sevilla

M c G ra w -H ill
MADRID BUENOS AIRES CARACAS GUATEMALA LISBOA MXICO
NUEVA YORK PANAM SAN JUAN SANTAF DE BOGOT SANTIAGO SO PAULO
A U C K LA N D H AM BU R G O LO N D R ES M ILN M O N TR E A L N U E VA DELHI PARS
SAN FR A N C IS C O S ID N E Y SIN G A PU R ST. LO UIS T O K IO . TOR O N TO

www.FreeLibros.me

TABLA DE CONTENIDOS
P R L O G O ........................................................
1.

vii

R EPRESEN TA CI N Y CO D IFICA CI N BINARIA ............................................1

2. LG EBRA Y FUNCIONES D E C O N M U T A C I N ..................................................19


3. ANLISIS DE CIRCUITOS CO M BIN A CIO N ALES ............................................ 35
4.

DISEO DE CIRCUITOS CO M BIN A CIO N ALES ..............................................51

5.

SU BSISTEM A S CO M BIN A CIO N ALES ..................................................................89

. CIRCUITOS A R IT M T IC O S .........................................................................................141

7. ANLISIS D E CIRCUITOS S E C U E N C IA L E S ...................................................... 169


.

DISEO DE CIRCUITOS S E C U E N C IA L E S ........................................................ 197

9.

SU BSISTEM A S SE C U E N C IA L E S ............................................................................229

10.

M EM ORIAS SEM ICO N D U CTO RA S ................

11.

IN TRO D U CCI N A LOS SISTEM AS D IG IT A L E S .........................................291

12.

DISEO DE UNIDADES DE C O N T R O L .............................................................325

13

M IS C E L N E A ...................................................................................................................359

263

BIBLIO G RA FA ...............................................................................................................391

www.FreeLibros.me

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 n
meros 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 reali
zacin de sistemas digitales a nivel de transferencias entre registros (RT), organizando el sis
tema 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 sis
temas multiprocesadores. La proliferacin de aplicaciones y el considerable aumento de la
complejidad experimentada por los circuitos digitales en los ltimos aos hacen inviable el cu
brimiento completo de esta materia. Nuestro propsito ha sido desarrollar un conjunto de pro
blemas que den soporte y fundamenten adecuadamente a todos los circuitos y tcnicas de Di
seo 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 Ingenie
ra Electrnica (realizacin de sistemas digitales). Tambin es til en algunos campos cient
ficos, 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 pro
blemas, este texto tambin puede servir a profesionales que deseen realizar una puesta al da

www.FreeLibros.me

viii

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 dis
ponibles 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 funda
mentos tericos de este libro de problemas. No obstante, con el doble fin de resumir los con
ceptos 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 gran
des 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 digi
tales. 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 continua
cin. 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 p rio ri en un contexto predeterminado; por otra, se incluyen algunos que afectan
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 explcita
mente cada solucin.

www.FreeLibros.me

PRLOGO

ix

Concretando, la organizacin de este libro de problemas es como sigue:


Captulo 1 Aplicacin de los conceptos bsicos como son los sistemas de numeracin
y la codificacin binaria. Estos problemas estn orientados a practicar con las representaciones
no decimales de magnitudes y las conversiones entre las distintas bases, as como la de nme
ros con signo y fraccionarios incluyendo tanto el punto fijo como el punto flotante. Tambin
se tratan los principales cdigos binarios y decimales.
Captulo 2.- Desarrollo de los problemas relacionados con el lgebra de Boole y con el
manejo de las funciones booleanas incluyendo demostraciones de teoremas e identidades, y las
diversas representaciones de funciones de n variables (tablas de verdad, mapas binarios y de
Kamaugh) y los teoremas para dichas funciones que dan lugar a las expresiones cannicas y
estndares.
Captulo 3.- Anlisis de circuitos combinacionales, tanto a nivel puramente lgico como
temporal, incluyendo tcnicas especficas para el anlisis de circuitos con slo puertas NAND
o OR.
Captulo 4.- Diseo de funciones. En l se aplican tcnicas de reduccin para obtener las
expresiones mnimas en suma de productos o producto de sumas (basadas en mapas de Karnaugh y en los mtodos de Quine-McCluskey y de Petrick). Adems se presta una especial
atencin a la obtencin de los O's y los l's de una funcin cuando sta se da a travs de una
descripcin verbal de su comportamiento.
Captulo 5.- Presentacin de los subsistemas combinacionales de propsito especfico,
en particular los que convierten cdigos binarios (decodificadores, codificadores y converti
dores de cdigos) y los comparadores. Tambin se incluyen los subsistemas de propsito ge
neral como son los multiplexores y los subsistemas programables (las memorias de slo lectu
ra, los PLA's y los PAL's). Los subsistemas se estudian desde tres perspectivas: cmo se cons
truyen a nivel de puertas, cmo se analizan circuitos que los contienen y cmo se disean
funciones utilizndolos como componentes de la realizacin.
Captulo 6 .- Desarrollo de los problemas relacionados con la aritmtica binaria. En ellos
se muestran tanto las operaciones aritmticas (suma, resta, multiplicacin...) como los
circuitos combinacionales que las realizan (sumadores, sumadores-restadores y unidades
aritmtico-lgicas).
Captulo 7.- Presentacin del biestable tanto a nivel lgico (RS, JK, D y T) como a nivel
temporal (sin reloj, disparados por nivel, tipo M aster-Slave y disparados por flanco). Tambin
se aborda el anlisis de circuitos secuenciales. Se desarrollan tanto los circuitos sncronos o
con una nica seal de reloj, como los asincronos, incluyendo en stos los que operan mediante
entradas asincronas y los circuitos que poseen ms de una seal de reloj.

www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Captulo 8 .- Diseo de circuitos secuenciales sncronos. Se muestran los distintos pasos


del proceso habitual de diseo, sistemtico en su mayor parte, y que consigue como resultado
un circuito de coste reducido u ptimo. Algunos de los problemas van encaminados a practicar
con determinados pasos del proceso mientras que otros muestran el proceso globalmente.
Captulo 9.- Desarrollo de los problemas de anlisis de circuitos secuenciales construi
dos con contadores y registros, el diseo interno de estos dispositivos para que posean opera
ciones especficas, su realizacin mediante la asociacin de subsistemas semejantes de menor
tamao y el diseo en general de funciones secuenciales.
Captulo 10.- Problemas de memorias semiconductoras. Bsicamente estn dirigidos al
uso de estas memorias y a la formacin de memorias principales por la asociacin de varios
de estos dispositivos (realizacin de mapas de memorias).
Captulo 11.- Introduccin al nivel de transferencia entre registros (nivel RT) y al diseo
de sistemas digitales. En particular, se tratan las formas de descripcin (notacin RT, cartas
ASM y lenguaje HDL), conectndolas con los bloques de circuitos funcionales, bsicamente
registros. Tambin se incluyen problemas sobre las tcnicas de interconexin entre registros
mediante buses y la realizacin de unidades de datos simples cuando se conoce su operacin
a nivel RT.
Captulo 12.- Diseo de sistemas digitales completos, esto es, la unidad de datos y la de
control. En los primeros problemas se parte de una unidad de procesado de datos conocida y
hay que desarrollar una unidad de control adecuada. Finalmente se afrontan problemas de
diseo completo de sistemas digitales.
Captulo 13.- Presentacin de problemas de las materias ya tratadas.

www.FreeLibros.me

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 espe
cficamente, 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 ocu
pada 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-l dn-2 d l d0 d-l d-2 d-m (r

siendo dj un dgito de dicha base y cumplindose que d e {0 , 1 ,..., r - 1 } y

n 1

= d r1.
j = -m
Para realizar cambios entre distintas bases existen diversos mtodos. En este Captulo se
usan fundamentalmente los siguientes:
n- \
- Para cambiar de base r a base 10, se aplica la frmula: M = L r1.
M

j = -rn

- 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 frac
cionaria.
1
www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

- Para cambiar de una base arbitraria rj a otra r2, se pasa en primer lugar de rj a 10 y
despus de 1 0 a r2.
- Para cambiar entre las bases 2, 8 y 16 (potencias de 2) se utiliza un mtodo de agrupa
cin de bits.
REPRESENTACIN DE NMEROS CON SIGNO
De entre las notaciones existentes para expresar nmeros con signo nos hemos centrado en las
notaciones signo-magnitud, complemento a 1 y complemento a 2. En algunos aspectos que de
tallaremos a continuacin las tres notaciones son similares. Se designa un bit especial denomi
nado bit de signo (bs) cuyo valor es 0 en nmeros positivos y 1 en nmeros negativos. En n
meros positivos los dems bits representan la magnitud:
bit de signo
magnitud
La forma de representar los nmeros negativos es distinta para las tres notaciones:
- En la notacin signo magnitud bs se hace igual a 1 y el resto de bits representan de
nuevo la magnitud:
~

3 n "2

31

3-1 3 -2

a'vy

magnitud
bit de signo
- En la notacin complemento a 1, el nmero negativo es el complemento a 1 del co
rrespondiente nmero positivo:
- A = Cal (A) = 1 an_j an _ 2 ... a, ao . a_j a 2 ... a.m
- En la notacin complemento a 2, el nmero negativo es el complemento a 2 del co
rrespondiente nmero positivo:
- A = Ca2(A) = Cal (A) + 2'm
REPRESENTACIN DE NMEROS EN PUNTO FLOTANTE
La representacin en punto (o coma) flotante se basa en la notacin exponencial o cientfica.
En dicha notacin los nmeros se expresan en la forma M = m x b e (m mantisa, b base, e ex
ponente). Esto permite expresar cantidades de muy distinto tamao de forma compacta, por
ejemplo, la masa del sol: 1.989 x 103 0 Kg o la carga del electrn: -1.602 x 10- 1 9 C. Si se su
pone conocida la base, basta representar los valores de mantisa y exponente. Esto es lo que se
hace cuando se representan nmeros en punto flotante.
Una cantidad se puede expresar de muchas formas distintas en notacin exponencial, por
ejemplo la velocidad de la luz, c, es 3 x 108 m/s 0.003 x 101 1 m/s 3000 x 10 m/s, etc. Para
trabajar con nmeros en punto flotante se suele adoptar un convenio acerca de cul de las
mltiples expresiones de la forma m x be es la que se escoge. En este Captulo trabajaremos
con mantisas cuyo dgito ms significativo es no nulo (notacin normalizada). Por ejemplo,

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

supongamos que disponemos de 5 dgitos para la mantisa, representaciones normalizadas de c


seran: 3.0000 x 108 3000.0 x 105 30000 x 104, pero no lo sera 0.0030 x 101 1
0.00003 x 10 1 ^. Sin embargo, an es necesario adoptar un segundo convenio para elegir una
entre las diversas representaciones normalizadas. Ese convenio se refiere a concretar cul es
la posicin del punto decimal de la mantisa. En este texto se trabaja con dos convenios:
- Notacin fraccionaria: el punto decimal est a la izquierda del primer dgito represen
tado de la mantisa, en nuestro ejemplo: 0.30000 x 109.
- Notacin entera: el punto decimal est a la derecha del ltimo bit representado de la
mantisa, en nuestro ejemplo: 30000 x 104.
CODIFICACIN BINARIA
Por codificacin binaria se entiende la representacin de un conjunto de entes, numricos o no
numricos, mediante palabras de n bits. Ahora presentaremos algunos cdigos binarios de cada
tipo.
La conversin entre la base 2 y la base 8 16 se realiza por agrupacin de bits. Por ex
tensin cualquier cdigo binario puede representarse mediante los dgitos de dichas bases. As
podemos hablar de cdigo octal y cdigo hexadecimal.
cdigo
cdigo
cdigo
octal
hexadecimal
hexadecimal
0
0000
0
000
0000
8
1
001
1
0001
0001
9
0010
2
010
2
A 0010
3 011
3 0011
B 0011
4 100
4 0100
C 0100
5 101
5 0101
D 0101
0110
6
110
6
E 0110
7 111
7 0111
F 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 1 0 , aunque el nmero de bits precisado para ex
presar 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

0000

0011

00011

1111110

0001

0100

00101

0110000

0010

1101101

3
4
5

0101

00110

0011

0110

01001

1111001

0111

01010

0110011

0101

1000

01100

1011011

0110

1001

10001

0011111
1110000

7
8

J0 0

0111

1010

10010

1000

1011

10100

1111111

1001

1100

11000

1110011

www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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
cdigo
cdig
Gray (n=3)
Gray (i
Gray (n=4)
0
000
0000
1100
0
8
1
001
0001
1101
1
9
011
2
2
0011
10
1111
3 010
1110
3 0010
11
4 110
4
0110
12
1010
5 111
5 0111
13 1 0 1 1
6
101
0101
14
1001
6
7 100
7 0100
15 1 0 0 0
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 mi
nsculas, 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
1
0110001
1000001
B
1000010
<
0111100
a
1000000
1100001
@
b
1100010
0011011
ESC
0
0110000
NULL
0000000
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.
PROBLEM AS 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 B de

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA


dedos. En un cuaderno que encontraron en la nave haba escrito:
5X2 - 5 0 X + 1 2 5 =
8, X2 = 5
Suponiendo que tanto el sistema de numeracin como las matemticas extraterrestres
tengan una historia similar a los desarrollados en la Tierra, cuntos dedos (B) posean?

0 > X, =

Solucin Pl.-Debemos encontrar un sistema de numeracin B en el cul se verifique que 8 y


5 son soluciones a la ecuacin encontrada.
En un sistema posicional de base B una secuencia de dgitos, dn.j d n _2 ... d d0, representa a una magnitud M si se cumple que M =

n 1
'Z d- - B1.
= ~m

Aplicando dicha frmula a los coeficientes de la ecuacin: 5, 50 y 125, obtenemos la


siguiente:
5 X 2 - ( 5 B + 0) - X + (1 B2 + 2 B + 5 ) = 0
Sustituyendo los valores = 8 y X2 = 5 en la variable X:
5 82 - (5 B + 0) 8 + (1 B2 + 2 B + 5 ) = 0
5 52 - (5 B + 0) - 5 + ( 1 - B 2 + 2 - B + 5) = 0

Basta resolver el sistema formado por estas dos ecuaciones para encontrar que el nico
valor de B que satisface ambas es B = 13. Por tanto, los extraterrestres de Ophiocus posean 13
dedos en su nico brazo.
Problema 2.- Representeposicionalm ente la cantidad "diecisis unidades"en las bases 3, 7,
8 y 16.

Solucin P2.- La cantidad diecisis unidades en base 3 deber cumplir (utilizando la nota
cin decimal en las operaciones):
16 = ... + d 3 3 3 + d 2 32 + dj 3 1 + 1 3o + d.j 3 ' 1 + ...
con d = 0, 1 2.
Para obtener los valores de los dgitos d hay dos mtodos:
1) Comprobar valores de d hasta que la suma sea igual a la magnitud. En nuestro caso:
16 = 1 3 2 + 2 3 1 + 1 -3 = 121(3
2) Mediante divisiones sucesivas para la parte entera y multiplicaciones sucesivas para
la parte fraccionaria. En nuestro caso sera:
16 3
1
5
2w

do di

3
I | 3

td td
2

Con lo que 16 = ...0 1 2 1 ( 3 = 121(3.


Ntese que sin ms que sustituir el dividendo por la suma del divisor por el cociente y
del resto, se obtiene la expresin general.

www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Operando de la misma forma para los dems casos obtenemos:


16 = 2 -7 1 + 2 -7 = 22 ( 7
16 = 2 - 8 1 + 0 - 8 = 2 0 ( 8
16= 1 161 + 0 - 16= 1 0 ( 1 6
En general, r unidades en base r se representa 10(r.
Problema 3.- R epresente e l nmero decimal 23.75 en las bases 2, 5,6, 8 y 16.

Solucin P3.- Obtendremos en primer lugar la representacin de la parte entera por el mtodo
de las divisiones sucesivas. Para pasar a base 2:
23 I 2
2

T
A

d0 d,

w1
A

t t

Por tanto: 23(10 = 10111( 2


Igualmente para las otras bases obtenemos:
23(10 = 43(5 = 35(6 = 27(8 = 17(16

En cuanto a la parte fraccionaria, ha de obtenerse mediante el mtodo de las multiplica


ciones sucesivas. En el caso del paso a base 2:
0.75 2 = 1.5
La parte entera de esta cantidad es d.j; la parte fraccionaria es la que se multiplica por
la base en el paso siguiente:
0.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: 0.75 ( ] 0 = 0.11( 2 y
23.75(10 = 10111.11( 2
Para base 5:
0.75 5 = 3.75 > d_ = 3
0.75 5 = 3.75 - d _2 = 3 = d 3 = ...
por tanto, 23.75(10 = 43.333 . . . ( 5
Para base 6 :
0.75 6 = 4.5 > d.j = 4
0.5 6 = 3.0 d 3 = 3, d _4 = 0 = d _5 = ...
por tanto, 23.75(j0 = 35.43(6
Para base 8 :
0.75 8 = 6.0 > d.j = 6 , d _2 = 0 = d _3 = ...
por tanto, 23.75(10 = 27.6(g

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

Para basel:
0.75 16= 12.0 d_i = 12, d _2 = 0 = d . 3 = ...
por tanto, 23.75(jq = 17.C( 1 5
Problema 4.- Convierta los siguientes nmeros a base 10:
a)

1 0 0 .1 1 1010(2; b) 5 0 (8; c ) 1 0 1 .1(2; d ) 198F(16.

Solucin P4.- Para convertir a base 10 basta sustituir el valor de la base y de los dgitos en la
expresin

n 1
M -

d- r1

y realizar las operaciones.

j = -m

a) 1 0 0 . 1 1 1 0 1 0 ( 2 = 1 ' 2 2 + 1 2 ' 1 + 1 2' 2 + 1 2 " 3 + 1 2 ' 5 = 4.90625(10


b) 50(8 = 5 8 + 0 = 40(io
c) 1 0 1 . 1 (2 = 1 - 2 2 + 1 - 2 + 1 2 ' 1 = 5.5( 1 0
d) 198F(16 = 1 163 + 9 162 + 8 161 + 15 16 = 6543(10
Problema 5 .-S e cuenta que un rey, encantado con el juego, ofreci al inventor del ajedrez el
premio que desease. E l inventor slo pidi 1 grano de arroz p o r la primera casilla del tablero,
2 granos p or la segunda, 4 p o r la tercera y as, e l doble cada vez, hasta llegar a la ltima ca
silla (la nmero 64). Los matemticos del reino concluyeron que no haba arroz suficiente para
p ag ar a l 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:
M = 1 1 . . . 1 1 1 1 ya que en ese caso M = 1 2o + 1 2 1 + 1 2 2 + . . . + 1 2 6 3
Esta cantidad es una unidad menos que la representada por un 1 seguido de 64 ceros.
Entonces:
M = 26 4 - 1 = 1.844674407 x 1019.
Problema 6.- Cuntos bits son necesarios como mnimo para representar cada uno de los
siguientes nmeros decimales?
50, 1000, 5000, 100000 y 1000000.

Solucin P 6 .- Para calcular el nmero mnimo n de bits que representa la magnitud M , tenga
mos en cuenta que n ha de cumplir la siguiente desigualdad:
2n ~ 1 - 1 < M < 2n - 1
El valor de n puede deducirse de dos formas:
1) A partir de la expresin n = |~lg 2 ( M + 1) ] donde Tx ] es el entero por exceso
de x.
2) Por bsqueda en la tabla de potencias de 2.

www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Para los nmeros decimales propuestos tendremos:


M
50
1000
5000
100000
1000000

n
6
10
13
17
20

Problema 7 .- Convierta el nmero binario 1 01 10 110011.10110 a las bases 4, 8 y 16; el


nmero 3 7 2 .1 0 5 en base 8 a base 2, 4 y 16 y el nmero FO.A en base 16 a base 2, 4 y 8.

Solucin P7.- Para convertir un nmero de base 2 a base 4, basta agrupar a partir del punto
fraccionario de 2 en 2 bits y convertir cada grupo a base 4 . De la misma forma, para convertir
a base 8 16 se agrupan de tres en tres o de cuatro en cuatro bits respectivamente. Entonces:
1 01 10 11 0 0 11.10 11 0

1 1 2 3 0 3. 2 3 0 ( 4

10 110 110011.101 10

3. 5 4 ( 8

1011011 0011.1011 0

3.

B 0( 1 6

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 111 010. 001 000 101( 2 = 3322.02022(4 = FA.228(16
F0.A ( 1 6 = 1111 0000.1010(2 = 3300.22(4 = 360.50(8
Problema 8.- En la colonia humana de Ganim edes la energa se obtiene con pilas atmicas
de exactam ente 1 Kg de peso. Las pilas son enviadas desde Tritn en 6 cajas de 5 0 pilas cada
una.
a) Tras un envo se avisa a Ganim edes que, p o r error, una de las cajas contiene pilas
malas con 1 g de menos. Deben detectarla y reenviarla a Tritn. Los operadores de Ganime
des deciden detectarla mediante una sola pesada. Cm o?
b) Tiempo despus y tras otro envo, el aviso es que una o ms cajas contienen pilas
m alas con 1 g de menos. Cm o podrn ahora detectar las cajas errneas con slo una
pesada?

Solucin P 8 .
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

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

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? Y si incluye hasta el 200?

32 33 34 35 36 37
38 39 40 41 42 43
44 45 46 47 48 49
50 51 52 53 54 55
56 57 58 59 60 61
62 63 96 97 98 99

64 65 66 67 68 69
70 71 72 73 74 75
76 77 78 79 80 81
82 83 84 85 86 87
88 89 90 91 92 93
94 95 96 97 98 99
f

'

4 5 6 7 1213 ^
14 15 20 21 22 23
28 29 30 31 36 37
38 39 44 45 46 47
52 53 54 55 60 61
62 63 68 69 70 71
76 77 78 79 84 85
86 87 92 93 94 95

16 17 18 19 20 21
22 23 24 25 26 27
28 29 30 3148 49
50 51 52 53 54 55
56 57 58 59 60 61
62 63 80 81 82 83
84 85 86 87 88 89
90 91 92 93 94 95

23 67 10 11 ^
14 15 18 19 22 23
26 27 30 31 34 35
38 39 42 43 46 47
50 51 54 55 58 59
62 63 66 67 70 71
74 75 78 79 82 83
86 87 90 91 94 95
98 99

89 10 11 12 13
14 15 24 25 26 27
28 29 30 31 40 41
42 43 44 45 46 47
56 57 58 59 60 61
62 63 72 73 74 75
76 77 78 79 88 89
V 90 91 92 93 94 95
\$ >

'

1 3 5 7 9 11 ^
13 15 17 1921 23
25 27 29 31 33 35
37 39 41 43 45 47
49 51 53 55 57 59
61 63 65 67 69 71
73 75 77 79 81 83
85 87 89 91 93 95
97 99

X>

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 correspon
diente 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 11 l(j 0 = 1101111( 2 se incorporara a A, B, D, E, F y G.

www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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.
Problema 10.- Represente el 6 en los siguientes casos:
a) Cdigo Gray asumiendo que se representan del 0 a l 7.
b) Cdigo Gray asumiendo que se representan del O a l 9.
c) Cdigo G ray asumiendo que se representan del 0 a l 15.
d) En cdigo A SC II.
e) En cdigo A S C II con paridad par.
f) En cdigo A S C II con paridad impar.
g) En cdigo "2-out-of-5".

Solucin PIO.- El cdigo Gray es un cdigo reflejado de distancia unidad que utiliza el
mnimo nmero de bits necesarios. La distancia unidad implica que dos nmeros consecutivos
tienen cdigos adyacentes (slo se diferencian en un bit). Por otra parte, el ser un cdigo
reflejado, implica simetra respecto a la mitad de los nmeros representados, con lo que, dos
nmeros simtricos tienen cdigos adyacentes.
a) Para representar los nmeros del 0 al 7 necesitaremos 3 bits. Por tanto, el cdigo Gray
ser:
000 001 011 010
0

1 2

110111 101 100


4

(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 re
flejado, 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 0 0 0 0001 0011 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 |0 1 0 0

1100 1101

b) -

c)

| jT ]

1111

1 1 1 0 10 1 0

1011 1001

1000

8 9

10

11 12

13

14

15

(eje de simetra)
d) El cdigo ASCII consta de 7 bits y representa 26 letras minsculas, 26 letras mays
culas, 10 dgitos decimales, 32 caracteres especiales y 34 comandos. La codificacin procede
de un convenio y, en concreto, el cdigo del 6 es 0 1 1 0 1 1 0 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 ante
riores que se llama bit de paridad. Su fin es hacer que el nmero total de unos en el cdigo

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

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, $B 6 .
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:
cdigo
nmero
0

00011

00101

00110

3
4
5

01001
01010
01100
10001

10010

10100

11000

Problema 11.- Determine el bit de paridad im p a rp ara cada uno de los 10 dgitos decimales
en el cdigo 8, 4, -2, -1.

Solucin PH .-E n 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

4-2-1

0 0 0 0

0 1 1 1

0 1 1 0

3
4
5

0 1 0 1

0 1 0 0

1 0 11

1 0 1 0

1 0 0

1 0 0 0

1 1 1 1

www.FreeLibros.me

12

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 12.- Obtenga el complemento a 1 y a 2 de los siguientes nmeros binarios:


1010101 , 0111000 , 0000001 , 10000 , 00000 .

Solucin P12.- Dado B = bn_]bn_2 ...bjbo se obtienen su complementos a 1 y a 2.


El complemento a 1 se obtiene como Cal(B) = bn_jbn. 2 ...bjbo
El complemento a 2 puede obtenerse de dos formas: sumando 1 al complemento a 1 (ya
que Ca2(B) = Cal(B) + 1) dejando iguales todos los bits menos significativos hasta llegar al
primer bit igual a 1 (que tambin se deja igual) y complementando los bits restantes.
Para las palabras propuestas:
compl. a 1
palabra
compl. a 2
1010101

0101010

0111000

1000111

1001000

0000001

1111110

1111111

10000

01111

10000

00000

11111

00000

0101011

Problema 13.- Obtenga el complemento a 9 y a 10 de los siguientes nmeros decimales:


13579, 09900, 90090, 10000, 00000.

Solucin P13.- Se define Ca9(N) = (10n - 1) - N. De esta definicin podemos inferir que si N
= Nn.jNn.2 -.NjNo, entonces Ca9(N) = (9 - Nn_j)(9 - Nn_2)-(9 - N,)(9 - N0).
Por otra parte CalO(N) = 10" - 1 = Ca9(N) + 1
Para las cantidades propuestas en el enunciado:
nmero
compl. a 9
compl. a 1 0
13579
86420
86421
09900
90099
90100
90090
09909
09910
10000
89999
90000
00000
99999
00000
Problema 14.- Represente con e l mnimo nmero de bits posibles los siguientes nmeros de
cimales 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 compren
didos entre 0 y 2n_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) 1 2 2 = 1 1 1 1 0 1 0 ( 2
b) 64 = 1000000(2
c) 15= 1 1 1 1 ( 2
d) 37 = 100101(2
www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

13

La representacin signo-magnitud aade un bit de signo (0 para + y 1 para -) a la repre


sentacin 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
- (2n _ 1 - 1) y + (2n- 1 - l). En particular,
a) + 1 2 2 = 0 1 1 1 1 0 1 0
- 1 2 2 = 11111010
b) + 64 = 01000000
- 64 = 11000000
c) + 15 = 01111
- 1 5 = 11111
d) + 37 = 0100101
- 3 7 = 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
- (2n~* - 1) y + (2 n _ 1 - 1). En particular,
a) + 1 2 2 = 0 1 1 1 1 0 1 0
- 122=10000101
b) + 64 = 01000000
- 64 = 10111111
c) + 15 = 01111
- 15 = 10000
d) + 37 = 0100101
- 3 7 = 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
nmero positivo. Con n bits pueden representarse los 2n nmeros comprendidos entre - 2n _ 1
y + (2 -1). En nuestro caso,
a) + 1 2 2 = 0 1 1 1 1 0 1 0
- 1 2 2 = 10000110
b) + 64 = 01000000
- 64 = 1000000
c) + 15 = 01111
- 15 = 10001
d) + 37 = 0100101
- 3 7 = 1011011
Problema 15.- Se dispone de palabras de 10 bits. Sobre ellas se escriben nmeros fraccio
narios en punto fijo dedicando 3 bits a la parte fraccionaria. Represente los siguientes nme
ros en las notaciones signo-magnitud, complemento a 1 y complemento a 2, en los dos casos
siguientes: a) Redondeando el valor; b) Truncando e l valor.
Nota: Para los nmeros negativos, obtenga primero e l valor de la magnitud y, despus, apli
que la notacin.
1) + 2 7 .6 2 5
3 ) + 3 3 .3
5)+45.67
7 ) + 4 5 .7
2) - 2 7 . 6 2 5
4)-33.3
6)-45.67
8) - 4 5 .7

Solucin P15.
1)
+ 27.625 = 0011011.1 0 1 (2 , en este primer caso, no es necesario redondear ni truncar
la parte fraccionaria pues slo hay tres dgitos en la parte fraccionaria del nmero exacto. Por
tanto, la representacin con 10 bits (7 para la parte entera y 3 para la fraccionaria) sera:
0

www.FreeLibros.me

14

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

2 ) - 27.625 = 1011011.101s.m = 1100100.010c a , = 1100100.01 lc a 2.


3) + 33.3 = 0100001.0100... truncando en 3 bits para la parte fraccionaria: 0100001.010,
redondeando se obtiene el mismo valor ya que el valor exacto en el bit b _4 es 0 .
4 )-3 3 .3 = 1100001.010s.m = 1011110.101c a j = 1011110.110c a 2.
5) + 45.67 = 0101101.10101... truncando en 3 bits para la parte fraccionaria:
0 1 0 1 1 0 1 . 1 0 1 , redondeando: 0 1 0 1 1 0 1 . 1 1 0 .
6 )-4 5 .6 7 = 1101101.101s.m = 1010010.010c. a ! = 1010010.01 l c a 2 (truncando).
-4 5 .6 7 = 1101101.110s_m = 1010010.001c a j = 1010010.010C a 2 (redondeando).
7) + 45.7 = 0101101.1011 truncando en 3 bits para la parte fraccionaria: 0101101.101
y redondeando: 0 1 0 1 1 0 1 . 1 1 0 .
8 )- 4 5 .7 = 1101101.110s_m = 1010010.001c al = 1010010.010C a 2 (truncando).
-4 5 .7 = 1101101.110s.m = 1010010.001c a l = 1010010.010C a 2 (redondeando).
Problema 16.- Se dispone de 3 0 bits para escribir nmeros en notacin exponencial. D e ellos
se destinan 21 a ia mantisa y 9 a l exponente. Mantisa y exponente se escriben en notacin
signo-magnitud.
a ) Determine los rangos de valores decimales que se pueden escribir.
b) R epresente en B C D los siguientes nmeros:
1. Velocidad de la luz en m/s (3x1o8).
2. Carga del electrn en culombios ( - 1,602x10 ~ 19).
3. M asa del electrn en kilogramos ( 9 ,109x10~31).
4. Aceleracin de la gravedad en m/s2 (9,807).
5. Cero.
6. Infinito.

Solucin P16.- En notacin exponencial los nmeros se expresan en la forma: M = m x b e (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
2 1 bits para la mantisa de los cuales uno es para el signo, los otros 2 0 bits nos permiten alma
cenar 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
exponente
Sm

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 n
mero representable: mantisa + 10000 y exponente - 99 que corresponde al 0.1 x 10-99, y el
mayor representable: mantisa + 99999 y exponente + 99 que corresponde al 0.99999 x 1099.
Por tanto el rango cubierto es [0.1 x 10~", 0.99999 x 10 ].
En cuanto al rango de valores negativos, ser [- 0.99999 x 1099, - 0.1 x 10-99].

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

15

b) Las cantidades propuestas quedan:


1) 3 x 108, normalizado 0.3 x 109, los 30 bits sern:
0 0011 000 0 0 00 0 0 00 0 000 0

0 0 00 0 1001

mantisa
exponente
2) - 1.602 x 10-19, normalizado - 0.1602 x 10-18, los 30 bits sern:
1 0001 0110 000 0 001 0 0 000

0001 1000

3) 9.109 x 10 31, normalizado > 0.9109 x 1030JU, los 30 bits sern:


0 1001 0001 0 00 0 1001 0 00 0

0011

000 0

0 1001

o
o
o
o
o

4) 9.807, normalizado > 0.9807 x 10 , los 30 bits sern:


0000

0 000 0 0001

5)
Por convenio, cero, es el nico nmero con el primer dgito de la mantisa a 0. (Nor
malmente 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).
X 0000 xxxx xxxx xxxx xxxx

xxxx xxxx

6 )
Infinito. Con signo positivo, por convenio viene dado por el mayor nmero representable. Con signo negativo, ser el menor representable:

+ infinito
- infinito

0 1001 1001 1001 1001 1001


1 1001 1001 1001 1001 1001

0 1001 1001
0 1001 1001

mantisa

exponente

Problema 17.- Represente e l nmero (+ 3 1 .5 )10 con un coeficiente entero normalizado de 13


bits

y un exponente de 7 bits como:

a) Un nmero binario (asuma base 2).


b) Un nmero octal binario codificado (asuma base 8).
c) Un nmero hexadecim al binario codificado (asuma base 16).

Solucin P17.
a)
31,5(]0 = 1 1 1 1 1 . 1 ( 2 pero hemos de escribirlo en forma exponencial de manera que la
mantisa tenga 13 bits (incluido el bit de signo) y el exponente 7 bits (incluido bit de signo):
31,5(]0 = 0111111000000 x 2_ 7 ( 2
Entonces la mantisa, de 13 bits, es: 0 1111110000000 y el exponente, de 7 bits, es:
1 000111 .

www.FreeLibros.me

16

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) 31.5(io = 37.4(8, tambin hemos de escribirlo en forma exponencial de manera que la


mantisa tenga 13 bits (incluido el bit de signo) y el exponente 7 bits (incluido bit de signo). Sin
embargo, en este caso se trata de dgitos ocales, y cada dgito octal se codifica mediante tres
bits. Por tanto, hemos de escribirlo en forma exponencial de modo que la mantisa tenga 4 dgi
tos octales (+ el bit de signo son un total de 13 bits) y el exponente 2 dgitos ocales (+ el bit
de signo hacen un total de 7 bits). Entonces:
31 -5(io = 3740 x 8 ~2(8, con lo que la mantisa quedara: 0 011 111 100 000 y el exponen
te, de 7 bits, es 1 000 010.
c) 31 -5(io = lF- 8 (i6, en este caso la normalizacin ha de realizarse teniendo en cuenta
que un dgito hexadecimal se codifica con 4 bits. La mantisa, por tanto, ha de tener 4 dgitos
hexadecimales ( 1 2 bits).
31.5(jo = 1 F 8 x 16~, por tanto, la mantisa ser: 0 0 0 0 1 1 1 1 1 1 0 0 0 , y el exponente
quedar: 1 0 0 0 0 0 1 .
PROBLEM AS CON SOLUCIN RESUMIDA
Problema 18.- Represente los siguientes nmeros decimales en base 2 y compruebe el re
sultado: a) 17; b) 94.

Solucin P18.
a) 17(]o = 1 0 0 0 1 ( 2 .
b) 94 ( 1 0 = 1011110(2
Problema 19.- Pase los siguientes cdigos hexadecimales a cdigo binario, octal y BCD: a)
$F2.B 5; 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 1 0 , y despus hacer la conversin antes indicada.
a) $F2.B5 = 1111 0010.1011 0101 ( 2 = 011 110 010.101 101 010 ( 2 = 362.552(g . Para
representarlo en BCD pasamos a base 10:
$F2.B5 = F X 16 + 2 x 16 + 11 x 16'1 + 5 x 162 = 242.70(10 -> 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 =
= 00 10

1000 0001 1000.0110 0 0 10 0101

(BCD).

c) $25.FA =0010 0101.1111 1010( 2 = 45.764(8 = 37.977 ( 1 0 =


= 0 0 1 1 0 1 1 1 . 1 0 0 1 0 1 1 1 0 1 1 1 (BCD).
d) $71.02 =0111 0001.00000010(2 = 161.004(8 = 113.007(10 =
= 0 0 0 1 0 0 0 1 0 0 1 1 . 0 0 0 0 0 0 0 0 0 1 1 1 (BCD).

www.FreeLibros.me

REPRESENTACIN Y CODIFICACIN BINARIA

17

Problema 20.- Represente el nmero decimal 8 6 2 0 (a) en BCD, (b) en cdigo exceso 3,
(c) en cdigo 2, 4 , 2 , 1 y (d) como nmero binario.

Solucin P20.
a) 8620(lo -> 1000 0110 0010 0000(BCD).
b) 8620(10 -* 1011 1001 0101 001 l (exceso-3)c) El cdigo 2,4,2,1 es un cdigo pesado de 4 bits cuyos pesos son precisamente 2,4,2,1.
Pesos:
dgito
2
42 1
decimal
0

0 0 0 0

0 0 0

0 0

1 0

0 0

11

3
4
5

0 1 0 0
1 0 11

1 1 0 0
1 1 0

1 1 1 0

1 1 1 1

Entonces, 8620(]q ~ * 1110 1100 0010 0000


d)
Lo ms fcil es pasar primero a base 16 por el mtodo de las divisiones sucesivas y
despus pasar a base 2 , desde base 16.
8620(10 -> 21 AC ( 1 6 -> 0010 0001 1010 1100( 2 -> 10000110101100( 2 .
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. Determ ine e l cdigo binario para los nmeros de
cimales restantes.

Solucin P21.- Se trata del cdigo 1-hot, tambin llamado 1-out-of-n. En este caso n = 10.
dgito b9 bgb7 b6 b5 b4 b3 b2b tb0
0

0 0 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1 0 0

3
4
5

0 0 0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0

7
8

0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0

0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0

www.FreeLibros.me

18

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 22.- Obtenga un cdigo binario pesado para los dgitos de la base 12 usando los
pesos 5421.

Solucin P22.
dgito

0 0 0 0

0 0 0

0 0

1 0

0 0

11

3
4
5

dgito

542 1

9
A
B

0 1 0 0
1 0 0 0

542 1
1 0 0

1 0 1 0
1 0 11
1 1 0 0
1 1 0

1 1 1 0

Problema 23.- Determ ine el rango de valores numricos que pueden escribirse en palabras
de 8, 16 y 3 2 bits, en las diferentes notaciones de nmeros enteros con signo.

Solucin P23.- Con n bits se representan los siguientes rangos:


- Signo-magnitud: [- (2 n _ 1 - 1), + (2 n _ 1 - 1)]
- Complemento a 1: [- (2 n _ 1 - 1), + (2 n _ 1 - 1)]
- Complemento a 2: [- 2n_1, + (2 n _ 1 - 1)]
Entonces para los valores de n propuestos:
complemento a 2
signo-magnitud y
n2 de bits
complemento a 1
[- 128,+ 127]
[- 127,+ 127]
8
[- 32768, + 32767]
[- 32767, + 32767]
16
[2 31, + (2 31- 1 )]
32
] - ( 2 3 1 l), + (2 3 1 1 )]
Problema 24.- Un registro de 3 0 bits alm acena un nmero decimal en punto flotante repre
sentado en BCD. Los coeficientes ocupan 21 bits del registro y se asume como un entero nor
malizado. Los nmeros en el coeficiente y el exponente se asum en representados en forma
de signo-magnitud. C ules son las cantidades mayores y menores que pueden ser acomo
dadas excluyendo el cero?. Repita para representacin binaria, con base 2, si se representa
con fraccin normalizada.

Solucin P24.
BCD normalizado entero,
- Cantidad mayor positiva:
- Cantidad menor positiva:
Base 2 fraccin normalizada,
- Cantidad mayor positiva:
- Cantidad menor positiva:

99999 x 1099.
10000 x 10" = 10_95.
0.111... 111 x 2 1 1 1 1 1 1 1 1= (1 - 221)x 2255.
0.100...000 x 2_ 1 1 1 1 1 1 1 1 = 2_ 1 x 2- 2 5 5 = 2256.

www.FreeLibros.me

Captulo 2
LGEBRA Y FUNCIONES DE CONMUTACIN

El modo ms riguroso e inequvoco de describir la funcionalidad de los circuitos digitales es


de forma matemtica, mediante expresiones y funciones de conmutacin. Con ello, adems, se
facilita el desarrollo de mtodos ms o menos sistemticos a la hora de abordar las tareas de
anlisis o diseo de circuitos. Es objetivo de este Captulo familiarizar al lector con los con
ceptos relacionados con el lgebra de conmutacin, el manejo de expresiones lgicas y las for
mas de representacin de funciones que se utilizarn en este y otros Captulos.
LGEBRA DE CONMUTACIN
El lgebra de conmutacin es un sistema matemtico compuesto por un conjunto de dos ele
mentos: B = {0,1}, y dos operaciones OR (+) y AND () definidas en B de la siguiente forma:
+

OR

AND

El lgebra de conmutacin cumple los postulados del lgebra de Boole. De ah que po


damos decir que la primera es un caso particular de la segunda. Los postulados del lgebra de
Boole son los siguientes:
Pl. 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 = Jt
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
www.FreeLibros.me

20

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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.
T I. 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
x (x + y) = x
T 6 . Ley del consenso: x + x- y = x + y x (x + y) = x y
T7. Ley asociativa:
x (y z) = (x y) z
x + (y + z) = (x + y) + z
T 8 . Ley de De Morgan:
xy = x + y
x + y = x y
T9. Ley de De Morgan generalizada:
xy z . . . = x + y + z + ...
x + y + z ... = x y z ...
TIO. Ley del consenso generalizado:
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. Estric
tamente se definen como:
f: Bx ... xBxB = Bn B.
As una funcin de n variables asigna un valor o imagen de B (0 1) a cada punto del
espacio Bn: (x,X2 , ...,xn). 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 ,l) = 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 tie
nen imagen, decimos entonces que la funcin es incompleta o que est incompletamente espe
cificada. Cuando esto sucede, por ejemplo, en la combinacin (xQ,y0 ,zo) lo simbolizamos de
la siguiente forma: f(xQ,yo,zo) = d f(x 0 ,yo>zo) = -, 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 va
lor 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 necesi
tara una tabla de 2n filas. As, este tipo de representacin es ms interesante para funciones de
un nmero reducido de variables.

www.FreeLibros.me

LGEBRA Y FUNCIONES DE CONMUTACIN

xyz

f
1

0 0 0
0 0

21

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

- M apa de K arnaugh.
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 co
rresponden 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

00 01 11
00 0 0 0
01 1 1 0
11 0 0 1
10 0 1 1

10
0
0
1
1

f
- Expresiones o frmulas.
En este caso se utiliza una expresin algebraica para representar las funciones. Se
combinan las variables con los operadores NOT1, 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 su
1
2

NOT(x) = x.
El smbolo del operador AND ()puede omitirse: a b = a b.

www.FreeLibros.me

22

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

mas son maxtrminos. Tenemos as que las formas cannicas son sumas de mintrminos o pro
ducto de maxtrminos. A continuacin se muestra para la funcin de cuatro variables del ejem
plo anterior expresiones en forma cannica y estndar tanto de sumas como de productos.
- Suma de mintrminos:
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 =
= mj + m 5 + mg + ni]Q + ni] + m j 4 + mjg = S( l , 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 M 12 M j 3 = n (0, 2, 3, 4, 7, 8, 9, 12, 13).

- Suma de productos:
f(a, b, c, d) = a c d + a c + b c d.
- Producto de sumas:
f(a, b, c, d) = (c + d) (a + 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.
PROBLEM AS RESUELTOS
P ro b le m a 1.- Demuestre los teoremas booleanos en base a la definicin del lgebra.

Solucin Pl.-N os basaremos en los postulados del lgebra de Boole:


P l. Identidad:
x + 0 =x x 1= 1
P2. Conmutativa:
x+ y=y+x
x y = y x
P3. Distributiva:
x + (y z) = (x + y) (x + z) x (y + z) = x y + x z
P4. Complemento:
x + x= l x x = 0
Los teoremas y sus demostraciones se relacionan a continuacin.
TI. Idempotencia:
x + x = x x x = x
x + x = (x + x) 1 = (x + x)(x + x) = x +x x = x+ 0 = x
x -x = x x + 0 = x x + x x = x ( x + x) = x l = x
Hemos aplicado los postulados P l, P4, P3, P4 y P l, en ese orden.
T2. Unicidad del complemento:
\fa eB , 3' a' eB | a' = a
Si existieran dos complementos, a y a 2 se cumpliran las siguientes igualdades (por P4):
a + aj = l a + a2 = l a aj = 0 a a2 = 0
Entonces:
aj = aj 1 = a (a + a2) = aj a + a a 2 = 0 + a] a 2 = a a 2 + a a 2 =
= (a + aj) a 2 1 a 2 a 2

www.FreeLibros.me

LGEBRA Y FUNCIONES DE CONMUTACIN

23

Se han aplicado los postulados P l, P4, P3, P2, P4, P3 y P l, en ese orden.
T3. Elementos dominantes: x + 1 = 1 x 0 = 0
x + l = ( x + l ) - l = ( x + l ) - ( x + x) = x + l- x = x + x = l
x 0 = x 0 + 0 = x 0 + x x = x ( 0 + x) = x x = 0
Los postulados utilizados son P l, P4, P3, P2, Pl y P4.
T4. Lev involutiva: (x) = x
(x) = (x) + 0 = (x) + x x = [(x) + x] [(x) + x] = [(x) + x] 1 =
= [(x) + x] (x + x) = x + [x (x)] = x + 0 = x
donde se han aplicado P l, P4, P3, P4, P2, P4, P2, P3, P4 y Pl.
T5. Lev de absorcin: x + x y = x
x (x + y) = x
x + x- y = x- l + x- y = x- ( l + y ) = x l = x
x- ( x + y) = (x + 0 )-(x + y) = x + 0 - y = x + 0 = x
En esta demostracin hemos usado Pl, P3, T3 y Pl en ese orden.
T 6 . Lev del consenso: x + x y = x + y x (x + y) = x y
x + x- y = (x + x ) - ( x + y) = l (x + y) = x + y
x- ( x + y) = x- x + x- y = 0 + x- y = x- y
Los postulados en que nos hemos apoyado son P3, P4, P2 y P l.
T7. Lev asociativa:
x (y z) = (x y) z
x + (y + z) = (x + y) + z
Para demostrarla es necesario demostrar previamente tres lemas:
L l. a = a + a (b c) a = a [a + (b + c)]
(ambospor T5)
L2. a = a + b (a c) a = a [b + (a + c)]
cuya demostracin es:
a + b (a c) = (a + b) (a + a c) = (a + b) a = a
a - [ b + (a + c)] = a- b + a- ( a + c) = a- b + a = 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:
x (y z) = [x+ Z (x y)] ([y+ z (x y)] [z + z (x y)]) = (porL 2,L 3yL l)
= [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)
= [z + x (y z)] [x y + x (y z)] =
(donde hemos aplicado P3)
= z [x y + x (y z)] =
(por L3)
= z [x + x (y z)] [y + x (y z)] =
(por P3)
= z (x y) = (x y) z
(por L l, L2 y finalmente P2).
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,L3y Ll)
= 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)

www.FreeLibros.me

24

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

= z [x + (y + z)] + (x + y) [x + (y + z)] = (donde hemos aplicado P3)


= z + (x + y) [x + (y + z)] = (por L3)
= z + x [x + (y + z)] + y [x + (y + z)] = (por P3)
= z + (x + y) = (x + y) + z
(por L1, L2 y finalmente P2).
Con lo que queda probado que x + (y + z) = (x + y) + z.
T 8 . Lev de De Morgan:
xy = x + y
x + y = x y
La base de la demostracin es que como el complemento es nico y cumple el postulado
P4, entonces, siA + B = l y A B = O e s porque A = B, esto es:
A=
B o A + B = l y A B = 0.
Sean A = x + y, B = x y; demostremos que A = B.
A + B = x + y + x y = x + y + x = x + x + y = l + y = l
(T 6 , P2, P4 y T I).
A B = (x + y ) x - y = x x y + y x y = 0 y + 0 x = 0 + 0 = 0 (P3, P2, P4, T3, TI).
Sean A = x y, B = x + y; demostremos que A = B.
A + B = x- y + x + y = y + x + y = x + y + y = x + l= 1 (T5, P2, P4 y T3).
A B = x y ( x + y) = x y x + x y y = 0 y + x 0 = 0 + 0 = 0 (P3, P2, P4, T3, T I).
T9. Lev de De Morgan generalizada:
x y z ... = x + y + z + ...
x + y + z ... = x y z ...
x y z ...
= x (y z ...) = x + yz ... = x + y (z ...) = x + y + z ... =
= x + y + z (...) = ... = x + y + z + ...
x + y + z ... = x + (y + z + ...) = x y + z ...=x y + (z ...) = x
y
= x y z + (...) = ... = x y z ...
En las dos demostraciones se utilizan los teoremas T7 y T 8 alternativamente.
TIO. Lev del consenso generalizado:
x y + x z + y z = x y + x z
(x + y) (x + z) (y + z) = (x + y) (x + z)
x -y + x - z + y - z = x -y + x -z + y - z - l =
(Pl)
= x- y + x- z + y- z - ( x + x)=
(P4)
=xy + x z +y z x +y z x =
(P3)
=x y + xy-z +x z +x z y =
(P2)
= x y + x z
(T5)
(x + y) (x + z) (y + z) = (x + y) (x + z) (y + z + 0) = (Pl)
= (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)
Problema 2.- Dem uestre los teorem as booleanos en el lgebra de conmutacin comproban
do su validez mediante tablas de verdad.

Solucin P2.-A partir de la definicin de las operaciones AND () y OR (+) en el lgebra de


conmutacin, comprobaremos:
- Idempotencia:
x = x + x, x = x x;
- Elementos dominantes:
x + 1 = 1, x 0 = 0;

www.FreeLibros.me

LGEBRA Y FUNCIONES DE CONMUTACIN

25

x = x ;
- Involutiva:
x + x y = x,
x (x + y) = x;
- Absorcin:
x + x y = x + y, x(x + y) = xy;
- Consenso:
(x + y)_+ z = x +(y + z),
(x y) z = x (y z);
- Asociativa:
x+y=xy.
- Ley De DeMorgan: x y = x + y ,
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 + X

x+

XX

1
1

x+ xy x+ y

xO

p (donde p = x) x + x y x (x + y)

1
1

1
1

1
1

(x + y)

xy

xy

x+ y x+ y

i
0
i

1
1

0
1

0
1

1
0

1
1

1
0
0
0

xy
1
0
0
0

La comprobacin de la ley asociativa:


x y z x + y (x + y) + z y + z x + (y + z) xy

(xy)z

yz

x (y z)

0 0 0

0 0 1

0 1 0

0 1 1

0
0

1 0 0

1 0 1

1 1 0

1 1 1

Problema 3 .- Para elementos del lgebra de conmutacin, pruebe la validez de:

a) a b = a
b = c;
b )a + b = a + c - * b = c;
c ) a b = a c y a + b = a + c - ^ b = c.

Solucin P3.
a) No se cumple, por ejemplo, para a = 0, b = 1, c = 0.
b) No se cumple, por ejemplo, para a = l , b = l , c = 0.
c) S se cumple. Se puede comprobar que para cualquier combinacin de valores se
cumple. Tambin se puede demostrar algebraicamente:

www.FreeLibros.me

26

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b = b + a b = b + a c = (b + a) (b + c) = (a + b) (b + c) = (a + c) (b + c) =
= a b + c = a- c + c = c.
Se han aplicado la ley del consenso, las propiedades distributiva y conmutativa, y las
igualdades a - b = a- c y a + b = a + c.
P ro b le m a 4 .- Compruebe las siguientes igualdades:
a) x y + x z + y z = x y + x z

(ley del consenso generalizado)

b)x(x + y )+ z + z y = y + z
c)xy + x y z = xy + z
d) w + w x + y z

= w (y + z)

e )w [x + y(z+w)] = w + xy + xz
f) (w + x + y) (w + x + y) (y + z ) (w + z ) = (w + y) (y + z)

Solucin P4.
a ) x y + x z + y z = x y + x z + (x + x ) y z = x y + x z + x y z + x y z =
= x y + x y z + x z + x z y = x y ( l +z) + x z ( l + y) = x y + x z
donde hemos aplicado P4, P3, P2, P3, T3 y P1
b) x( x + y) + z + z y = x y + z + y = y + y x + z = y + z por T 6 , P2 y T5
c)xy + x y z = xy + z
(por la ley del consenso: u + u z = u + z donde u = x y)
d)w + w x + y z = w + y z = w y z = w (y + z) por T5 y T 8
e) w [x + y ( z + w)] = w + x + y(z + w) = w + x y ( z + w) = w + x(y + z + w) =
= w + xy + x z w = w + xy + xz
por T 8 y T 6
f) (w + x + y) (w + x + y ) (y + z) (w + z) = [(w + y) + x x] (y + z) (w+z) =
= (w + y) (y + z ) (w + z) = (w + y) (y + z)
por P2, P3, P4, P1 y TIO.
P rob lem a 5 .- Reduzca las siguientes expresiones del lgebra de Boole al nmero de literales
solicitado al lado de cada una de ellas.
a) a b c + a b c + a b c + a b c + a b c
b)bc + ac + a b + b c d

(a cinco literales)

(a cuatro literales)

c) [ c d + a ] + a + c d + a b

(a tres literales)

d) [(a + c + d) (a + c + d) (a + c + d) (a + b)]

(a cuatro literales)

Solucin P5.
a)abc + abc + abc + abc + abc =
= abc + abc + abc + abc + abc + abc=
= abc + abc + abc + abc + abc + abc=
= a b (c + c) + a b (c + c) + (a + a) b c =

www.FreeLibros.me

(ya que x + x = x)
(por la propiedad conmutativa)

LGEBRA Y FUNCIONES DE CONM UTACIN

27

= ab 1 + ab 1+ 1 b c=
(yaque x + x = 1 )
= a b + a b + b c = b (a + c) + a b (yaque x 1 = 1 x = x).
b ) b c + a c + a b + b c d = b c + b c d + ac + a b =(porla propiedad conmutativa)
= b c + a c + a b = b c + a c + a b ( c + c) =
(yaque x + x y = x)
= b c + a c + a b c + a b c = (por la propiedad distributiva)
= b c ( l +a) + a c ( l + b) =
= bc + ac
(yaque 1 + x = 1 ).
c) aplicando la ley de De Morgan a la expresin, obtenemos:
c d a + a + cd + ab = c d a + a + ab + c d =
(por la propiedad conmutativa)
= c d + a + c d = (ya que x + x y = x).
= a + c d (ya que x + x = x)
d) (a + c + d) (a + c + d) (a + c + d) (a + b) =
= (a + c + d) (a + c + d) (a + c + d) (a + c + d) (a + b) =
(ya que x = x x)
= (a + c) (a + d) (a + b) = a + b c d
(por la propiedad distributiva).
Problema 6.- Verifique si se cumplen o no las siguientes igualdades:
a) M (a, b, c) + M (d, e, f) = M (a + d, b + e, c + f).
b) M (a, b , c ) - M (d, e, f) = M (a d, b e, c f).
c) M (a, b, M (c, d, e)) M [M(a, b, c), d, M(a, b, e)].
donde M (x,
z) es la funcin mayora de x, y, z: M (x, y, z) = x y + x z + y z.

y,

Solucin P6.
a) No se cumple pues para a = 0, b = 0, c = l,d = 0, e = l y f = 0 s e tiene que
M(a, b, c) + M(d, e, f) = M(0, 0, 1) + M (0, 1, 0) = 0 + 0 = 0 y, sin embargo:
M(a + d, b + e, c + f) = M(0, 1, 1) = 1.
b) No se cumple, pues para a = 0, b = 1, c = 1, d = 1, e = 0 y f = 1 se tiene que
M(a, b, c) M (d, e, f) = M(0, 1,1)- M (l, 0, 1) = 1 1 = 1 mientras que
M (a d, b e, c f) = M(0, 0, 1) = 0
c) S se cumple pues M[a, b, M(c, d, e)] = M[a, b, c d + c e + de] =
= ab + a( cd + c e + de) + b ( c d + c e + de) = a b + a c d + a c e + a d e + b c d + b c e + b d e
y, por la otra parte:
M[M(a, b, c), d, M(a, b, e)] = M [ab + a c + bc, d, a b + a e + be] =
= (ab + ac + b c ) d + (ab + a c + b c ) ( a b + a e + be) + d ( a b + a e + be) =
=abd+acd+bcd+ab+abe+abc+ace+abce+abce+bce+abd+ade+bde=
= ab + a c d + b c d + a c e + b c e + a d e + b d e , luego ambas expresiones son iguales.
Problema 7.- Obtenga la tabla de verdad de las siguientes expresiones:
a) f = w y z + x y + w y.
b) f = (w + x + y) (x + z) (w + x).

www.FreeLibros.me

28

PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P7.
a ) S i f = w y z + x y + wy, entonces es fcil deducir cundo f = 1 :
Av y z = 1 = > w = 1 , y = 1 , z = 1
f= 1 <=> x y = 1 => x = 1 , y = 1
\\v y = 1 => w = 1 , y = 1
con ello, la tabla de verdad es:
f
wxyz
wxyz
f
0

1 0 0 0

1 0 0

0 0

1 0

1 0 1 0

0 0

11

1 0 11

0 1 0 0

1 1 0 0

0 0 0 0
0 0 0

1 1 0

0 1 1 0

1 1 1 0

0 1 1 1

1 1 1 1

0 1 0

b) Si f = (w + x + y) (x + z) (w + x), es fcil encontrar los ceros de f:


A v + x + y = 0 = > w = 0, x = 0, y = 0
f = 04=> x + z = 0 = x = 0 , z = 0
+ X =

con ello, la tabla de verdad es:


wxyz
0 0 0 0
0 0 0

w = 0,

=0

wxyz

1 0 0 0

1 0 0

1 0 1 0

0 0

1 0

0 0

11

1 0 11

0 1 0 0

1 1 0 0

1
1

0 1 0 1

1 1 0 1

0 1 1 0

1 1 1 0

0 1 1 1

1 1 1 1

Problema 8.- Obtenga los m apas de las siguientes funciones:

I
n

a) f =
(5, 6, 7, 12) + d(1, 3, 8, 10).
b )f =
(10, 13, 14, 15) d(0, 1, 2, 8, 9).
c ) f = 7L (1, 2, 3, 8, 12, 2 3 ) + d(17).

www.FreeLibros.me

LGEBRA Y FUNCIONES DE CONMUTACIN

29

Solucin P8.
a) f (a, b,c, d) = Z (5, 6 , 7, 12) + d (l,3 , 8 , 10)
c\
00
01

00

01

11

i d

10

0
0

11

10

b) f (a, b,c, d) = n (1 0 , 13, 14, 15) + d(0, 1,2, 8 , 9)


c K i o o i n j o
00
d 1 1 d
d 1 0 d
01
11

10

f
c) f (a, b, c, d, e) = Z (1, 2, 3, 8 , 12, 23) + d(17)
ab
, - i V ooo

001 011 0 1 0

110

111

101

10 0

00

01

11

10

f
Problema 9 .- Obtenga las formas normales en suma de productos y producto de sumas de
las siguientes expresiones:
a) f = (a b + a c) (a b).
b) f = x y (v + w) [(x + y) v],
c) f = x + y z .
d) f = (a + b + c) (d + a) + b c + a c.

www.FreeLibros.me

30

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 ni
co. Tambin tenemos un producto de sumas, donde los trminos suma son dos: sj = a y S2 = 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.
Tambin tenemos un producto de sumas, donde los trminos suma son tres: S] = v, S2 = x,
s3 = y.
c) x + yz, es suma de dos productos, pj = x, P2 = y z. Por otra parte, aplicando la propie
dad distributiva: x + yz = (x + y) (x + z). Con ello tenemos una expresin en producto de sumas:
Sj = x + y, s2 = 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] =
= [(a + b + 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: sj = a + b + c, S2 = 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 + b c + b d + cd.
Son, por tanto, cuatro trminos producto: pj = a, P2 = b c, P3 = b d, P4 = c d.
P ro b le m a 10.- Determine y exprese en forma de mintrminos y maxtrminos las funciones

f2, siendo:
n (1, 2, 3, 5, 6, 7, 13, 14, 15); f2 = I. (0, 4, 8, 9, 10, 14, 15)
Repetir para
f2 y la equivalencia: f1 0 f2.
Solucin PIO.- Para expresar la funcin fj -t- f2 como suma de mintrminos hay que tener en
consideracin que todos los mintrminos de fj y todos los mintrminos de son mintrminos
de f + ya que 1 + x = 1. Entonces:
fj + f 2 = Z (0 ,4, 8,9, 10, 11, 12, 14, 15), y por exclusin: fj + f 2 = II (1, 2, 3 ,5 , 6 ,7, 13).
Para expresar la funcin f] f2, es mejor comenzar por la expresin en forma de produc
to de maxtrminos ya que debido a que 0 x = 0 podemos decir que todos los maxtrminos de
fj y todos los de f 2 son maxtrminos de fj Entonces:
fj -f 2 = n ( l , 2 , 3, 5, 6 , 7, 11, 12, 13, 14, 15) = 1 (0 , 4, 8 , 9, 10).
En cuanto a la funcin fj f2, para que sea 1 es preciso que f y f2 sean distintas. Por
tanto, los mintrminos de f f 2 son los mintrminos de f] que no lo son de f 2 y los de que
no lo son de fj:
fj f 2 = 1(11, 12, 14, 15) = n (0 , 1,2, 3,4, 5, 6 , 7, 8,9, 10, 13).
fi + f2 y fi
f1 =

www.FreeLibros.me

LGEBRA Y FUNCIONES DE CONMUTACIN

31

Finalmente, como fj f 2 es la funcin negada de f] f2, tendremos:


fj f 2 = n (11, 12, 14, 15) = I (0, 1, 2, 3, 4, 5, 6 , 7, 8 , 9, 10, 13).
Problema 11.- Sea el circuito combinacional con cuatro entradas A, B, C y D, tres salidas in
termedias P, Q y f y dos salidas T 1 y T2, como se muestra en la figura. Slo Q y R pueden
tener inespecificaciones.

T, = 1 (0 , 1,3, 4, 5, 7, 11,15)
T 2 = I ( 2 ,3 ,6 , 7, 11,15)
a) Suponiendo que tanto G 1 como G2 son puertas AND, obtenga e l m apa de la funcin
Pmjn (es decir, la funcin P que tiene e l m enor nmero de mintrminos) que permite obtener
Ti y T2.
b) Obtener los m apas para Q y R correspondientes al Pmjn anterior. Indique, explcita
mente, las posiciones de las inespecificaciones.
c) Suponiendo que G 1 y G2 son puertas O R obtenga e l m ayor Pmax (la funcin P con
mayor nmero de mintrminos) y sus m apas correspondientes para Q y R .
d) Pueden obtenerse Q, P y R s i G 1 es una puerta A N D y G2 una puerta O R ? Y si G 1
es una puerta O R y G2 una puerta A N D ?

Solucin P ll.
a) Gj y G 2 son puertas AND.
En este caso Tj = Q P y T 2 = R P , por tanto, Q y P tienen que tener todos los mintrminos de Tj (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 mintr
minos, luego: Pmin = 1 .(0 , 1, 2, 3, 4, 5, 6 , 7, 11, 15).
b) La funcin Q tiene al menos los mintrminos de T ]; R tiene los de T2. Ahora bien, Q
tiene ceros en las celdas en que Pmn vale 1 pero Tj no es 1; por ejemplo, 2 es mintrmino de
Pmin Pero no lo es de T j, por lo que 2 es un 0 de Q. Lo mismo ocurre para R con respecto a T2
Y Pmin- Pr ltimo, en las celdas donde vale 0 y P mjn tambin es 0 , Q est inespecificada;
algo similar ocurre para R respecto a T 2 y Pmin. Por tanto:
Q = 1 (0, 1, 3, 4, 5, 7, 11, 15) + d ( 8 , 9, 10, 12, 13, 14).
R = I ( 2 , 3, 6 , 7, 11, 15) + d ( 8 , 9, 10, 12, 13, 14).
c) Gj y G 2 son puertas OR.
En este caso Tj = Q + P y T 2 = R + P, por tanto donde T] sea cero tambin deben de
serlo forzosamente Q y P (o sea en 2, 6 , 8 , 9, 10, 12, 13, 14) y donde T 2 lo sea debern serlo

www.FreeLibros.me

32

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 Tj y T2: Pmax = 21 (3, V, 1 1 , 15).
Q y R contendrn los mintrminos que le faltan a P para completar los de Tj y T 2 :
Q = 2 (0 , 1,4, 5) + d (3, 7, 11, 15).
R = I ( 2 , 6 ) + d(3, 7, 11, 15).
Las celdas en que Q est inespecificada son aquellas en las que Tj vale 1 y Pmax tambin
es 1. Algo similar ocurre para R respecto a T 2 y Pmax.
d)
No es posible, ya que si Gj es una AND y G 2 una OR: T] = Q P , T 2 = R + P. E
tonces, en aquellos valores en los que Tj 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 T 2 = 1 y si valiese 0 for
zara T ] = 0).
Si Gj es una OR y G 2 es una AND, tampoco es posible ya que Tj = R + P y T 2 = Q P .
As, en aquellos puntos en que T = 0 y T 2 = 1 (como por ejemplo en 6 ) no se puede encontrar
un valor adecuado para P.
PROBLEMAS CON SOLUCIN RESUMIDA
Problema 12.- Encuentre los complementos de las siguientes funciones:
a) f = (b c +_a d)_(a b + c dy_
b) f b d_+ a b c_+_a c d + a b c.
c ) f = [(a _ b )a ]J (a b )b ].
d) f = a b + c d.

Solucin P12.

a) f = (b + c) (a + d) + (a + b) (c + d).
b )f = b d + a b c + a c d + a b c = a b + a c d + bd, entonces:
f = (a + b) (a + c + d) (b + d).
c) Operando obtenemos f = 0 luego f = 1.
d) f = (a + b) (c + d).

Problema 13.- Dem uestre que x x x 2


donde

a0

... x n = (x, ... x)

0 (x +

,...

b = a b .

Solucin P13.-La operacin XOR cumple la propiedad asociativa. Entonces:


(X j . . . Xj) 0 (X j+

. . . x n ) = (X ] . . . Xj) (Xj+

= X j . . . X X j +

. . . xn

www.FreeLibros.me

. . . x n) =

xn) ;

LGEBRA Y FUNCIONES DE CONMUTACIN

33

Problema 14.- Escriba las siguientes funciones como suma de mintrminos:


a) f (a, b, c) = a + b + c.
b) f (a, b, c) = (a + b) (b + c).
c) f (a, b, c, d) = ( a b + b c~d) + a c d.

Solucin P14.

a )f (a, b, c) = Z (0, 1,3, 4 ,5 ,6 , 7).


b) f (a, b, c) = Z (0, 2, 3, 4, 5, 6 , 7).
c) f (a, b, c, d) = Z (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) = (a b c + a b c).
d) f (a, b, c) = ( a b + c (a + b)) (b + c).

Solucin P15.

a) f(a, b, c, d) = n (0, 2, 4, 6 , 8 , 10, 12, 13,14).


b) f(x, y, z) = n (0, 1, 3, 4, 5, 6 , 7).
c) f(a, b, c, d) = n (5, 6 ).
d) f(a, b, c) = n (0, 2, 4, 6 ).

Problema 16.- A partir de las tablas de verdad de las siguientes funciones, obtenga sus ex
presiones algebraicas.

xy
00
01
10
11

fl
1
0
1
0

xy

xy

00
01
10
11

0
1
1
0

00
01
10
11

1
1
1
0

Solucin P16.-Directamente de las tablas:


f ! = x y + x y = y.
f2 - x y + x y = x y .
3 = x y + x y + x y = x + y = xy.

www.FreeLibros.me

34

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 17.- Obtenga las expresiones algebraicas de las siguientes funciones:

xyz

f.
0
1
0
0
0
1
0
0

000
00 1
0 10
0 11
100
10 1
1 10
111

Solucin P17.

h
1
0
0
1
1
1
0
0

f3
0
0
0
0
1
1
0
0

u
1
1
1
1
1
1
1

f5
1
0
1
0
1
1
1
1

f6
1
0
1
0
1
0
1
0

f j = x y z + x y z = yz.
f2 = x y z + x y z + x y z + x y z = x y + y z + x y z .
3 = x y z + x y z = xy.
4 = x + y + z.

f5=x+|.

f6 = x y z + x y z + x y z + x y z = z.
Problema 18.- Interprete las siguientes expresiones lgicas considerando que el dato tiene
n bits. (Para ayudarse puede considerar un caso particular de n, p o r ejemplo: n = 4).
a) Z = X q X 1
b) z = xn_ 1 = x 0 x 1
xn _ 2c ) z k = xk+ 1 x k,
k = n - 2, . . . . 1, 0, c o n z n _ 1 = x n _ v
k = n - 2, ..., 1, 0, c o n z n _ 1= x n _
d ) z k = z k+ 1 x k,
e ) z k = xk y k,
k = n - 1, n - 2 , ..., 1 , 0
donde yk = yk_ 1 + xk_ 1t con k > 1, 2, ..., n - 1 e y 0 = 0.

... Xn_y.
...

Solucin P1S.
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 de n bits dada por: xq X]x 2 ... xn _2 xn_j. En
tonces, z es el bit de paridad par para xg X] x2 ... xn_2.
c) Si se particulariza para n = 4 y se obtiene la tabla de verdad de las 4 funciones se pue
de 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 con
versin 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)

www.FreeLibros.me

Captulo 3
ANLISIS DE CIRCUITOS COMBINACIONALES

Un circuito digital combinacional es aquel que implementa funciones de conmutacin cuyas


salidas en un instante, t, dependen slo del valor de las entradas en ese mismo instante. El cir
cuito consta de puertas lgicas interconectadas entre s sin que haya lazos de realimentacin.
Hay dos enfoques principales: si es conocido el circuito y se desea establecer cul es la opera
cin que realiza, se trata del anlisis, que es el aspecto que se trata en este Captulo; si se plan
tea el problema contrario, conocida la funcin hay que obtener el circuito, se trata del diseo
o sntesis, lo que se aborda en el Captulo siguiente.

circuito
combinacional
z(t) = f(x(t))

ANLISIS DE CIRCUITOS
El objetivo principal del anlisis de un circuito combinacional es, por tanto, obtener una repre
sentacin 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 con
templar 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 im35
www.FreeLibros.me

36

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

plementa el circuito y evaluar, en funcin de las caractersticas elctricas de la misma, el ren


dimiento del circuito en cuanto a mrgenes de ruido, fa n -in y fan -o u t, potencia disipada, etc.
- Un anlisis temporal. Este tipo de anlisis consiste en, dado un patrn de entradas, de
terminar 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 pro
pagacin que determinan la velocidad de operacin del circuito.
Este Captulo est centrado en el anlisis de circuitos a nivel de puertas lgicas. Los as
pectos que se tratan son los de anlisis lgico, mostrando mtodos generales vlidos para cual
quier circuito e independientes del tipo de puerta, y mtodos especficos para circuitos con slo
NAND o slo OR. Estos procedimientos son explicados en los problemas 1 y 3 respectiva
mente. 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 tem
poral, 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 OR).
- Anlisis temporal.
PROBLEMAS RESUELTOS
Problema 1.- Analice a nivel lgico e l siguiente circuito combinacional. Ponga tambin la fun
cin en forma de suma de productos o producto de sumas y realice e l nuevo circuito a partir
de estas expresiones.

Solucin P l.- El proceso de anlisis de un circuito combinacional consiste en, a partir de un


circuito, obtener una expresin algebraica, o bien su tabla de verdad o mapa de Kamaugh. Para
ello se puede proceder bien desde las entradas hasta las salidas o bien desde las salidas hasta
las entradas.
Deben encontrarse expresiones para la salida de cada puerta en funcin de sus entradas:

www.FreeLibros.me

ANLISIS DE CIRCUITOS COMBINACIONALES

37

A partir de esta expresin puede obtenerse otra simplificada o la tabla de verdad o el


mapa de Kamaugh, y un nuevo circuito:
f = ( x + y + z ) ( z + y ) z = z(y + z) = y z

--Z-----

y & ---- f
D--------

Problema 2.- Realice un anlisis lgico del circuito representado en la figura. Obtenga las ex
presiones en forma de suma de productos y producto de sumas. Liste los mintrminos y maxtrminos correspondientes. Determine el coste.

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 cir
cuito 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 cir
cuito el coste es el siguiente:
www.FreeLibros.me

38

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

coste
n puertas
n conexiones
retraso mximo
retraso mnimo

7
16 entradas + 1 salida
3 niveles de puertas
2 niveles de puertas

Anlisis lgico. Teniendo en cuenta la funcin lgica que realiza cada puerta, se obtiene
la siguiente expresin para f:
+ JC3 (JC] jc2) ( x 3x 2) + x x 2 = x 3 ( x 2 + x ) + x 2 { x 2 + x x) (x 2 + x3) + x , x 2
x tx 3 + x 3x 2 + x x 2x 3 +jc,x 2 = x x 3 + x 3x 2 + x , x 2 = x 3 ( x 2 + x,) + x xx 2

f = x i ( x lx 2)
f

A partir de esta expresin se obtienen otras en forma sp y ps, el mapa de Kamaugh y un


nuevo circuito que implementa la funcin:
f
= x 3 ( x lx 2) + x x 2 = x 3 + x , x 2
f
= (x 3 +x, ) { x 3 + x 2)
Cl X2
00

01

11

10

X, .

x2 .

&

x3-

>1

Problema 3.- Analice la funcin que realiza el circuito, encontrando una expresin reducida
en dos niveles.

Solucin P3.- Todas son puertas NAND, salvo la de salida f]; llamando M a la entrada desco
nocida de esa puerta, f = 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

www.FreeLibros.me

ANLISIS DE CIRCUITOS COMBINACIONALES

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 alcan
zar 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:

Se construye el rbol para cada salida:


7 T

M = d + c (a + b)
f2 = c (a + b) + f g

De aqu se tiene:

/, =

de + ace + bce
f 2 = dc + be +fg

www.FreeLibros.me

40

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 4.- Analice el circuito de la figura indicando verbalmente qu operacin realiza.

Solucin P4.- Anlisis de coste:


coste
7
16 entradas + 2 salidas
4 niveles de puertas
2 niveles de puertas

n puertas
n conexiones
retraso mximo
retraso mnimo

Anlisis lgico:
+ a xb xa 2b 2 + a xb xa 2b2
( 6 , + b 2) ( a 2 + b 2) ( a 2 + b x) (a, + b 2)

z*p = a 2b 2
zps

= (a, + a 2)

y sp = a 2h 2 + a xb xa 2b 2 + a xb xa 2b2
yps = ( b i + b2) ( a ] + a 2)

z ( a 2a b 2b )
y ( a 2a b 2bj )

a2

( b 2 + a 2)

( b 2 + a t) (b, + a 2)

= 1(4,8,9,12,13,14) = n (0,1,2,3,5,6,7,10,11,15)
= 1(1,2,3,6,7,11) = n (0,4,5,8,9,10,12,13,14,15)

Si se representan ambas funciones (z e y) en un mapa binario ordenado en funcin de


a i y b 2 b j, se obtiene:
\ a 2a i
2

\n

00

01

10

11

00

00

10

10

10

01

01

00

10

10

10

01

01

00

10

11

01

01

01

00

www.FreeLibros.me

ANLISIS DE CIRCUITOS COMBINACIONALES

41

Interpretando a2 a como un nmero binario A y b 2 bj como B, las funciones pueden


representarse por la tabla:
AB
>
=
<

zy
10
0 0
0 1

Por tanto, el circuito es un comparador de dos nmeros binarios de dos bits cada uno,
que distingue entre mayor, menor o igual.
Problema 5.- Analice la funcin que realiza el circuito, encontrando una expresin reducida
en dos niveles.

Solucin P5.- El circuito est compuesto exclusivamente por puertas OR, por lo que vamos
a aplicar el mtodo especfico de anlisis de slo puertas OR. 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/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:

www.FreeLibros.me

42

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Se construye el rbol para la salida:

De aqu se tiene:
/ = {c + ee + a (d + e) (b + d (e + e ) ) } {a + b ( d + e e) }
f = a c + bcd + ae + abd + be
Problema 6.- En e l circuito de la figura todas las puertas poseen el mismo retraso,

A.

a) Obtenga e l m apa de F(A ,B ,C ,D ).


b) Considerando el retraso, determine la forma de onda de F si A =B =D =1 y C cambia
peridicamente.
c) Igual que b, si A =C =D =1 y B cambia peridicamente.
d) Igual que b, si B=D =1 y A y C son como las representadas:

A
C
e)

,
~*A

,
| _________ __
A

Discuta los resultados obtenidos en los apartados anteriores.

Solucin P6.
a)
Vamos a obtener una expresin de F mediante anlisis lgico. Nombraremos los n
dos internos del circuito como se muestra en la siguiente figura:
www.FreeLibros.me

ANLISIS DE CIRCUITOS COM BINACIONALES

43

B
C
D

Analizando la funcin realizada por cada puerta, se tiene lo siguiente:


u = BC
v =

x = ABu
y = Dv

F = xy = A B C + D C B

Con lo que el mapa de F queda:


AB
D\
00
01
11
10

00
0
0
0
0

01
0
0
1
0

11
1
1
1
0

10
0
0
0
0

b)
Con A = B = D = 1, y C cambiando peridicamente, el diagrama temporal queda
como se observa en la figura:

www.FreeLibros.me

44

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

c)
Con A=C=D=1, y B cambiando peridicamente, el diagrama temporal queda como
se observa en la figura:
B
u=B

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:
C
u=C

x=Au
y=v
F=xy

T I* 3A

e)
En el caso b): Las entradas pasan de ABCD=1101 a ABCD=1111 peridicamente. En
ambos casos la funcin debe ser 1. Sin embargo, ocurre un pulso de 0 en la salida F, lo que es
un a z a r esttico.
En el caso c): ABCD pasan de 1011 a 1111 alternativamente. La funcin debe tomar los
siguientes valores segn el mapa de Kamaugh: F(1011)=0 y F( 1111 )= 1, la salida debera se
guir 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 dinm ico).

www.FreeLibros.me

ANLISIS DE CIRCUITOS COMBINACIONALES

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 va
lores: 1,0, 1, 1....., que es lo que se muestra en la salida. El pulso de 0 es mayor que la duracin
en 0 1 0 1 , 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 cam
bia C (4 puertas).
PROBLEMAS CON SOLUCIN RESUMIDA
Problema 7.- Analice a nivel lgico los siguientes circuitos combinacionales. Ponga la fun
cin en suma de productos o producto de sumas,
a)

x
y

b)

c)

Solucin P7.- a) / =

(x y + x y ) ( z + x y ) = x ( z + x y ) = xz + xy

xy
z'0
1

00

01

11

10

www.FreeLibros.me

46

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b)

/ =

xy (z + x) = xz + xy

0
1

0
1

1
1

0
0

0
0

0
0

0
0

1
1

c) f = y ( y + x) = xy

Problema 8.- Realice un anlisis lgico de los circuitos representados en la figura correspon
diente. Obtenga las expresiones en forma de sum a de productos y producto de sumas. Liste
los mintrminos y maxtrminos correspondientes. Determine el coste.
a)

b)

www.FreeLibros.me

ANLISIS DE CIRCUITOS COM BINACION ALES


C)

Solucin P8.
a) Anlisis de coste:
coste
n puertas
n conexiones
retraso mximo
retraso mnimo

6
10 entradas + 1 salida
4 niveles de puertas
2 niveles de puertas

Anlisis lgico:
fsp = x2 + x i x3

fps = (x2 + x 1)(x 3 + x2).

f(x,, x2, x3) = I (2, 3, 4, 6 , 7) = n (0, 1, 5).


b) Anlisis de coste:
coste
n puertas
n conexiones
retraso mximo
retraso mnimo

7
12 entradas + 2 salidas
5 niveles de puertas
2 niveles de puertas

Anlisis lgico:
f lsp = *3 x4 + X1 x2 x4 + X1 x2 x4 + X1 x2 x3 x4 + X1 x2 x3 x4-

f]ps = ( x 3 + x4 ) (x] + x 2 + X4 ) ( X j + x 2 + X3 + X4 ) (x + x 2 + X4 ) ( X ] + x 2 + X3 + X4 ).
^2 sp = x 3 + xi x 2 + X 1 x 2
^2 ps ~ ( X 1 + x 2 + x3) ( X 1 + x 2 + x3)fjxj, x2, x3, x4) = I (1, 3, 4, 7,8, 11, 13, 15) = n (0, 2, 5, 6 , 9, 10 12, 14).
f 2 (x ,,x 2, x3, x4) = Z (0, 1,2, 3, 6 , 7, 10, 11, 12, 13, 14, 15) = ri(4 , 5, 8 , 9).
c) Anlisis de coste:
coste
n puertas
n conexiones
retraso mximo
retraso mnimo

3
6 entradas + 1 salida
2 niveles de puertas
2 niveles de puertas

www.FreeLibros.me

48

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Anlisis lgico:
fSp = X j + x2 + X 3 x4
fps = (x2 + X j + x3) (x2 + X ] + x4).
f2(Xl,x 2, x3, x4) = 1 (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)

b)

c)

www.FreeLibros.me

ANLISIS DE CIRCUITOS COMBINACIONALES

Solucin P9.a)/ =

b)z =

wxz + xyz + x yw + xyz

ace + acf + bce + bcf+ ade + adf+ bde + bdf+ gh .

c)f = xx 2 + x xx 3 + xx 2x 4 + x 3x 4x 2 + xx}x 2 + x 3xx4.

www.FreeLibros.me

49

Captulo 4
DISEO DE CIRCUITOS COMBINACIONALES

El proceso inverso al de anlisis es el de diseo de circuitos combinacionales. Bsicamente,


este proceso consiste en, dada una funcin de conmutacin, obtener un circuito que la realice.
Planteado de esta manera, cualquier expresin lgica de la funcin sera vlida para obtener el
circuito. Sin embargo, el objetivo del proceso de diseo es, en realidad, ms complejo y con
siste en obtener un circuito ptimo respecto a algn criterio. El circuito ptimo responde a una
expresin ptima, de forma que lo que hay que obtener es esta expresin.
OBJETIVO DE DISEO
Existen diversos criterios respecto a los cuales optimizar, de manera que en funcin del criterio
elegido, el circuito ptimo puede ser uno u otro. En este tema los criterios segn los cuales se
van a optimizar los circuitos son dos:
1.- Minimizar el nmero de niveles de puertas que deben atravesar las seales de entrada
hasta alcanzar la salida, considerando que slo se usan puertas AND y OR (o bien slo NAND
o slo OR) con fa n -in y fan -o u t ilimitados y entradas en doble rail.
2.- Minimizar el coste de la funcin en cuanto: a) al nmero de puertas lgicas de que
consta el circuito; b) al nmero de conexiones total del circuito.
De estos criterios, el primero conduce a buscar expresiones que den lugar a circuitos en
dos niveles de puertas. Expresiones de tipo suma de productos (sp) o producto de sumas (ps)
son las ms apropiadas para cumplir este requisito. Para este tipo de expresiones el segundo
criterio, reduccin del coste, significa reducir el nmero de trminos productos (en expresiones
sp) o reducir el nmero de trminos sumas (en expresiones ps) y, adems, buscar trminos pro
ductos o sumas con el menor nmero de literales posible.
Existen expresiones que cumplen estos requisitos que son las llamadas suma mnima de
la funcin (expresin sp) o producto mnimo (ps). Por otra parte, existe un teorema que indica
cmo obtener la suma o el producto mnimo y es el siguiente:
Teorema.- La suma mnima (producto mnimo) de una funcin de conmutacin est for
mada por el conjunto mnimo de implicantes primas (implicadas primas) con el menor nmero
51
www.FreeLibros.me

52

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

de literales posible que cubren completamente la funcin.


Definicin de implicante (implicada) prima.- Una implicante (implicada) prima es un
trmino producto o implicante (trmino suma implicada) cuyos mintrminos (maxtrminos)
son todos mintrminos (maxtrminos) de la funcin y, adems, no existe otra implicante
(implicada) de la funcin que contenga a todos los mintrminos (maxtrminos) de dicho
trmino producto (suma). Una implicante (implicada) se dice que es esencial si
obligatoriamente pertenece a la solucin ptima, ya que slo ella cubre a algn mintrmino
(maxtrmino) de la funcin.
Segn el teorema, el objetivo del proceso de diseo de una funcin de conmutacin, con
los criterios que se han elegido, es encontrar una expresin formada por el conjunto mnimo
de implicantes (implicadas) primas que cubran completamente la funcin.
PASOS DEL PROCESO DE DISEO
El proceso de diseo se desarrolla realizando el conjunto de pasos que se muestran en el si
guiente diagrama:

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 des
cripcin formal de la funcin.
2.- A partir de la descripcin formal obtenida al finalizar el paso anterior, hay que rea
lizar 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 minimi
zacin, uno basado en el mapa de Kamaugh y el otro, tabular, que denominaremos de QuineMcCluskey.
3.- De la expresin suma de productos o producto de sumas mnimo de la funcin se ob
tiene el circuito ptimo. En concreto, para las expresiones sp de las funciones se derivan cir
cuitos en dos niveles AND-ORy NAND-NAND; si se obtienen las expresiones sp de las fun
ciones 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).

www.FreeLibros.me

DISEO DE CIRCUITOS COM BINACIONALES

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 -ou t es limitado, si se dispone de cir
cuitos integrados en vez de puertas individuales, etc. Solamente no se siguen estos pasos cuan
do el circuito final no se obtiene a partir de expresiones sp (ps). En estos casos (p.ej. en reali
zaciones 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 de
dica especial atencin al primer paso del proceso de diseo por ser el menos sistemtico y, por
tanto, el ms complejo de realizar.
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias:
- Paso de descripciones verbales a descripciones formales.
- Proceso de minimizacin por mapa de Kamaugh.
- Proceso de minimizacin por Quine-McCluskey.
- Otros tipos de realizaciones.
PROBLEMAS RESUELTOS
Problema 1.- S e 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-m apa) de las
funciones siguientes:
1 ) f 1 se har 1 para valores de entrada que no correspondan con dgitos BCD.
2) f2 se har 1 para palabras con paridad incorrecta.

Solucin P l.- 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
fj y 2 que toman los siguientes valores:
f] = 1 si y slo si (b, c, d, e) no es un nmero BCD.
f2 = 1 si y slo si el nmero de 1 en (a, b, c, d, e) es par.

Los mapas de Kamaugh de las funciones son los siguientes:


abe
le \

000

001

011

010

110

111

101

100

00

01

11

10

abe
de\.

000

001

011

010

110

111

101

100

00

01

11

10

www.FreeLibros.me

1
0
1

0
1
0

0
1
0

1
0
1

54

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 e l 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 cir
cuitos triplicados. Podemos construir el mapa de Kamaugh o bien la tabla de verdad:
ab e
f
0 0 0
0 0

0
1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

En el mapa de Kamaugh seleccionamos las implicantes de la funcin, A, B y C y reali


zamos un cubrimiento ptimo:
/ = A + B + C = a b + be + ac
Un circuito hecho slo con puertas NAND es el siguiente:
&
abacbc

&

&

fe

Problema 3.- Se pretende disear un circuito combinacional que tenga como entrada un dgi
to B C D natural y como salida la parte entera del cociente de su divisin p o r tres. Se pide:
a) expresar las funciones mnim as 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.[N 2 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: zjZq = N(2.

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

55

La entrada es el dgito BCD que est formado por 4 dgitos binarios: x3 X2 XjX0.
Teniendo en cuenta esto, podemos formar la tabla de verdad y, a partir de ella, el mapa
de Kamaugh de cada una de las funciones de salida sabiendo que las celdas que no correspon
den a dgitos BCD (celdas 101- y 11) son inespecificaciones (d) para las funciones:
I
,*A
H
N
x3x2x l xO
z lz0
2(3x2
00 0 0
0 0
0
0 0 0 1 11 1 0
00 01
101
0 0
00 0 1
0
i K
0 0 10
0
0 0
/\ 0 /
00
10
/'o A ~
0 0 11
1
0 1
01
^ 0 ! 0/ d 1
.0
0 10 0
1
0 1
vi
0 j
d
0 10 1
1
0 1
i) 0
11
0 110
2
10
0
10
0/
d d
/{ )
k
2
10
0 111
L

si

10 0 0
10 0 1

y %

10
1 1

F *-

i-

zo

Las expresiones como suma de productos y productos de sumas son la siguientes:


= A B = (x 3 + jc,) (x 3 + x2)
* 1 sp = D + C = * 3 + -*1 * 2
Osp = I + H + J = x 3x 0 + x 2x + x 2xx 0
ips = GFE {x 2+ x0) (xx+ x 2) (x 3+ x 2+ xx)
El coste sp y ps de z0 es el mismo, por lo que da igual realizarla slo con NAND o slo
con OR. (En la realizacin mnima de z0 la celda 15 es tomada como 1 para ZQSp y como 0
para zqps; no se trata de un error sino del uso ms conveniente para esa inespecificacin). Por
otra parte, el coste de z en sp es menor que en ps por lo que la realizaremos con NAND:
x3

&

x0
x2

Xi

&

&

>
x3

x2

&

z0

X1
x2

&

&

X1
x0

Problema 4.- Las cuatro lneas de entrada de un circuito combinacional corresponden a un


nmero natural codificado en binario natural.
Disee un circuito en dos niveles que sirva para detectar cundo un nmero es una po
tencia de dos.

www.FreeLibros.me

56

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P4.- Es un circuito con 4 seales de entrada, a, b, c y d y una salida f. La funcin de


salida debe detectar la llegada de un nmero potencia de 2. Las potencias de dos son: 2=1,
2'=2, 22=4, 23=8. Cuando en la entrada se detecte alguno de estos nmeros, la salida tomar
el valor 1. El mapa de Kamaugh de esta funcin es el siguiente:

<

cd
00
01
11
10

00

01

11

10

0
1
0
1

1
0
0
0

0
0
0
0

1
0
0
0

La expresin mnima en forma sp es la siguiente:


/=

abcd + abcd + abcd + abcd

El circuito en dos niveles AND-OR es el siguiente:


a
b
a
b

.
d
a
b

d
a
b

c
d

Problema 5 .- Disee un circuito combinacional que acepte un nmero de tres bits y genere
un nmero binario de salida igual a l 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:
abe- N. Dec.
(abe)2

000-0
0

001-1
1

010-2

011-3
9

www.FreeLibros.me

100-4
16

101-5
25

110-6

36

111-7
49

DISEO DE CIRCUITOS COM BINACION ALES

57

El mayor valor que debe aparecer en la salida es el 49. Para representar el 49 se necesitan
bits. Por tanto, el circuito posee 6 seales de salida, z^ z ^ z i Zq, que toman los siguientes
valores:
6

abe- N. Dec.
Z5Z4Z3Z2Z1Z0

000-0 001-1
000000 000001

010-2 011-3 100-4 101-5


000100 001001 010000 011001

111-7
110-6
100100 110001

De esta tabla se obtiene un mapa de Kamaugh para cada salida y, de l, una expresin
de las mismas:
ab
0

ab
00

01

11

10

/l'

ab
c \ 00 01 11 10
_
0 0 ("l
0 Z2 = be
1 0 0 0 0

ab

0
00
11
11
c
\0
0 0000
)0^
1
N
1 0V

z4= ac+ ab
ab
c \ 00 01 11 10
0 0 0 0 0
1 0 0 0 0

Z3 = abc+ abe
ab
c \
O

/r
0
0
s 1/
z5= ab
0

10

11

01

1\

00

i <

00 01

11

10

z0= e

Ahora ya es inmediato dibujar un circuito en dos niveles AND-OR NAND-NAND, de


la misma forma que ya se ha hecho en los problemas anteriores.
Problema 6.- E l horario laboral de una factora es de 8 horas diarias, divididas en tres turnos:
de 8 a 11 (primer turno), de 11 a 13 (segundo turno), de 13 a 16 (descanso) y de 16 a 19 (ter
cer turno).
Se pretende disear un circuito que tenga como entradas la representacin binaria
de la hora actual menos ocho y que proporcione a la salida el nmero de turno que est tra
bajando (si procede) o 0 si es hora de descanso. Se pide:
a) Expresar las funciones mnim as de salida como suma de productos y como pro
ducto de sumas.
b) Obtener las expresiones correspondientes a cada una de las anteriores funciones
realizadas con un solo tipo de puertas.

Solucin P 6 .- De acuerdo con el enunciado, si H es el nmero decimal de la hora, (H-8 ) ( 2 es


el valor en binario asociado que acta como entrada del circuito. La ltima hora a sealar va
desde las 18h alas 19h, por lo que en binario corresponde a (18-8)= 10. Se necesitan 4 bits para

www.FreeLibros.me

58

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

poder representar los nmeros 0 - 1 0 : a, b, c y d.


Las salidas deben representar cuatro casos: descanso, 1tumo, 2 - tumo y 3tumo. Se
necesitan, por tanto, dos seales de salida: z \Z q, cuyo valor en binario representar los 4 casos
con la siguiente codificacin:
TU RN O
1
2
descanso
3

H O RA S
8-9-10
11-12
13-14-15
16-17-18

HORAS-8
0-1-2
3-4
5-6-7
8-9-10

zlz0
0 1
1 0
0 0
1 1

A partir de esta tabla se construyen los mapas de Kamaugh y de ellos se obtienen las
siguientes expresiones de las salidas, en forma sp y ps:

zj=a + b c d + b c d

Z[- (a + b + c)(a + c +d)(d+ b)

z0= b c + b d

z0= b (c + d )

b) Las expresiones sp son trasladables directamente a expresiones NAND-NAND y las


ps a expresiones NOR-NOR. As:
Expresiones:
N AND -N AN D
N OR-NOR

zI==a ( b c d)( b cd)

z= (a+b+c)+(a+ c +d)+(d+ b)

z0= ( b c ) ( b d )
Zq= |j

+d )

Las mnimas son: NAND-NAND para z\ y NOR-NOR para z0.


Problema 7.- S e pretende disear un circuito com parador de 2 nmeros de 2 bits, A = (a 1,a0)
y B = (b 1,b0). Dicho circuito deber tener tres salidas M, I, m, de tal forma que:
M = 1 sii A >B
I = 1 sii A =B
m = 1 sii A <B
Disese exclusivamente con puertas OR.

Solucin P7.- Para hacerlo exclusivamente con puertas OR obtendremos las expresiones ps
de las tres salidas, M, I y m.
Del enunciado se obtienen directamente los mapas de Kamaugh de cada una de las fun
ciones:

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

bib>i 0 0 0 1
00 <t)
r
1
01
11

10

59

11

10

J
k Jp
L
kl
m

M - (a]+a0) (a[+b0) (aj+bj) (bj+ag) (bj+bg)

m - (bi+bg) (b[+ag) (b|+a() (aj+bg) (aj+ag)


I =(ai+bi) (aj+bi) (ag+b0) (ag+bg)

Problema 8.- Se ha diseado una puerta de tres entradas llamada bomba (cuyas caracters
ticas se muestran) con un resultado desafortunado. Experimentalmente se encuentra que las
combinaciones de entrada 101 y 0 10 hacen explotar la puerta. Determine si hay que inutilizar
las puertas o, por el contrario, pueden s er modificadas externamente (aadiendo un circuito)
de forma que sea funcionalmente completa y que sin embargo no explote.

ABC

00

01

11

10

BOMBA
BOMBA(A,B,C)

BOMBA(A,B,C)

Solucin P 8 .- Debemos conseguir que el circuito no explote en ninguna combinacin de en


trada 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:
c
ba-

CIRCUITO
A DISEAR

<
cq

2
O

BOMBA(a,b,c) = BOMBA(A,B,C)

oq

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.

www.FreeLibros.me

60

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Con el fin de no producir ms cambios, para cualquier otra combinacin de abe, hare
mos 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:
abe = 010 > ABC = 000
abe =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 Kamaugh se obtiene una expresin de B en funcin de a, b y c:
3?
ab
O
o
0

01

11 10

(0 ) / i\

B= ab + ac + be

0 (T

Problema 9.- Utilizando el m apa de Kamaugh, determine las expresiones mnimas en suma
de productos y producto de sumas de las siguientes funciones:
a) f(x,y,z,u) = 1,(3, 4, 7, 8, 10, 11, 12, 13, 14)
b) f(x,y,z,u) = 'L(0, 4, 6, 7, 10, 12, 13, 14)

Solucin P9.
a)

xy
ztK
00

00

01

xy
11

10

10
f= yzu+ xyz+xzu+ xyz+xu

01

11

10 0

(y + z + u) (x + y + z + u)

*y

00

01

11

3>

10

f= xzu+ xyz+ xyz+ xzu

10

f = (x + y + z) (x + z + u) (x + z + u)

10

CE 3

11

i i
i c :
M
i i @ i
i
<$1 J 2 > i

11

01

01

b)

00

00

01

11

/o \

te /

d \

10

f = (y + u) (x + y + z) (x + z + u)
(x + z + u) (x + y + z)

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

61

Problem a 10.- Simplifique f = 1.(1, 2, 7, 8, 19, 20, 2 5) + d(10, 11, 12, 13, 14, 15, 26, 27, 28)

Solucin PIO.
ab e

i1
0
0
1
01
1
0n
0
11
0
1
.
0
1
10
d
>
\0
0
00
0
00 0l
0q I
D 0 f = a b e_+a b c d e + a c d e_+
__
0
11 0 - 0/
T
\0 0 0 + a c d e + a c d e + a b c e + a c d e
1
10c
00
u
r
1
0
00 0
C
E0 3
}

y
-

Problem a 11.- R azone si una O R de dos entradas con inhibicin puede s er funcionalmente
completa si disponemos del 0 y d e l 1". Las variables se encuentran en nico ral. Implemente f=m1+m 3+m 4+m 6 usando este tipo de puertas.

Solucin P ll.-L a puerta OR opera de acuerdo con la siguiente tabla:


I
>i

X -------

I
0
1

x+y

0: Inhibicn

La puerta ser funcionalmente completa si podemos realizar las operaciones AND, OR


y NOT. En la figura siguiente se muestra cmo es posible implementar cada una de estas fun
ciones contando slo con esta puerta, el 0 y el 1 .:
NOT:

OR:

AND:

i A
>1

0 ------1 ------

>1

A
-----

A -----B ------

>1
B ----0 -------

>1

Por tanto, la puerta es funcionalmente completa.


Para implementar f=m]+m 3 +m 4 +m 6 obtenemos una expresin mnima en forma sp a
partir del mapa de Kamaugh y la implementamos directamente:

0
1

00

01

(T _ _ _ _ T )

i
a

10
D

f = ac+ ac

www.FreeLibros.me

62

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 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 1 es la mostrada. Es posible cambiar algunos valores de u, v, x a inespecificaciones sin modificar z(a, b, c)?. S i es as, indique todos ellos y realice un buen diseo de N-i con
puertas O R tras obtener todos los valores inespecificados.

abe

0~0

uvx
0

................................

1 0

1 0

1 0

1 0

1 0

1 0

1 0

1 0

.........

Solucin P12.-Llamemos P a la salida de la puerta EXOR: P = v x . Busquemos las posi


bles 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 = l.
Por otra parte, P = v x , de forma que: P=0 si v=x; P=1 si v=x.
Las inespecificaciones pueden ocurrir en los siguientes casos:
a) Valores de entrada que nunca pueden ocurrir. En este caso en el enunciado del pro
blema se dice que la combinacin de entrada abe = 001 nunca ocurre. Por tanto para esta com
binacin de entrada u, v, x = d, d, d, siendo d inespecificacin.
b) Valores de entrada para los que u=0. En este caso P puede tomar cualquier valor, de
forma que v y x pueden ser inespecificaciones. As, para abe = 0 0 0, 0 1 1,1 1 0, u = 0 y
v,x=d,d.
c) Valores de entrada que hacen P=0. Esto es, valores para los que v=x. En este caso u
es inespecificacin. As, para abe = 010, 101, v=x y por tanto, u= d.
La tabla de verdad considerando las inespecificaciones sera la siguiente:
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
d
d
0
1
d
0
1

d
d
1
d
1
1
d
0

d
d
1
d
0
1
d
1

www.FreeLibros.me

DISEO DE CIRCUITOS COM BINACION ALES

63

Para disear el circuito Nj con puertas OR vamos a construir los mapas de Kamaugh
y obtener las expresiones mnimas ps:
ab
00 01

11

ab

10

ab
c \ 00 01 11 10
0 d 1
0)
1 d d 1 i

00 01 11 10
d 1 /d\ 1
1
d d

u= a(b + c)

v= a+ b

x= a+ c

P rob lem a 13.- En la tabla representada aparecen todas las implicantes prim as 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, a s como todas las inespecifi
caciones de la funcin.

ad
ac
be
cd
A
B

X
X

7
X

8
X

12
X

m
X

m
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 Kamaugh. 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 par
tida acerca de la funcin:

www.FreeLibros.me

64

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

ab
00

01

00

01

51

11

31

10

71
6

11
12i

10

81

13

Ib

11

14

10

f
Implicante a d: Vale 1 cuando a = 1 y d = 0. Son las posiciones 8 , 10, 12 y 14 sobre un
mapa de Kamaugh. 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 Kamaugh. 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 be: Vale 1 cuando b = 0 y c = 1. Son las posiciones 2, 3, 10 y 11 sobre un
mapa de Kamaugh. Esta implicante solo cubre al mintrmino 3 y al m. La posicin 11 ya sa
bemos 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 impli
cante no cubre a m por lo que la posicin 1 0 no puede ser el mintrmino m , sino inespecifi
cacin. 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 Kamaugh. 3 y 7 son mintrminos d e f y l l y l 5 y a sabemos que son inespecificacio
nes por lo que esta implicante no aporta ms informacin.
Con lo que hemos obtenido hasta ahora, el mapa de kamaugh de la funcin f queda de
la siguiente manera:
ab

Falta por averiguar cules son la implicantes primas A y B.


Implicante A: cubre a los mintrminos m=2 y 8 , que estn en esquinas opuestas. La ni
ca posibilidad es que A sea la asociacin de las posiciones en las cuatro esquinas, esto es, las
posiciones 0, 2, 8 y 10. Como 8 y 2 son mintrminos, 10 es inespecificacin y, teniendo en
cuenta que A slo cubre a dos mintrminos, la posicin 0 es inespecificacin. La expresin
para A es b d.

www.FreeLibros.me

DISEO DE CIRCUITOS COMBNACIONALES

65

Cualquier otra posibilidad para A dara lugar a que alguna de las implicantes que ya co
nocemos, no fuese prima y sabemos que s lo son. Teniendo en cuenta que en la primera co
lumna del mapa de Kamaugh, posiciones 0, 1, 3 y 2 todas son inespecificaciones o mintrmi
nos 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 max
trminos (1, 6 ,4, 13) por lo que B es la implicante prima que asocia exclusivamente a los min
trminos 5 y 7. La expresin de B es abd.
Resumiendo, el mapa de Kamaugh de f queda de la siguiente manera:

<

00
01
11
10

00 01
d 0
0 1
1 1
1 0

11 10
1 1
0 0
d d
1 d

m=2
m = 14
A b d
B=abd

Problema 14.- El circuito de la figura ha sido diseado para com parar las magnitudes de dos
nmeros binarios de dos bits a2 a- y b2 b-. Si z=1 e y=0, a2 a 1 es el mayor. S i z = 0 e y=1, b2
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.

Solucin P14.-Analicemos el circuito:


z

= a xb x (a 2b 2 +

y=

a 2b 2)

= a xb xa 2b 2 +

a xb xa 2b 2

(a 2b 2 + a 2b2) = a xb xa 2b 2 +

a xb xa 2b 2

www.FreeLibros.me

66

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Ahora vamos a construir los mapas de Kamaugh correspondientes a las funciones de z


e y que suministra el circuito y el mapa de Kamaugh correspondiente a la funcin especificada
en el enunciado:
C IR C U IT O

F U N C IO N
E S P E C IF IC A D A

A>ai
b2>
00

00

01

0 0

1 0

0 0

01

0 1

0 0

11

0 0

10

0 0

00

01

11

10

0 0

^2 al
b2n
00

0 0

1 0

1 0

1 0

0 0

0 0

01

0 1

0 0

1 0

1 0

0 0

0 0

0 1

11

0 1

0 1

0 0

0 1

0 0

1 0

0 0

10

0 1

0 1

1 0

0 0

11

10

zy

zy

Se observa que (zy)cr ^ (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:

As, las funciones correctas sern:


z zcir + a 2b 2

y = yc . + a 2b 2

La reforma del circuito consistir en aadir dos puertas OR para hacer las sumas ya que
los trminos productos ya estn en el circuito:

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

67

Problem a 15.- Las funciones del circuito de la figura dependen, en general, de las variables
(w,x,y,z). Sabiendo que f

=Z

(0, 4, 9, 10, 11, 12):

a)Determine
completamente
las
funciones
inespecificaciones).
b)Reaiice los circuitos que proporcionan f2 y f3.

f2 ^ 0

f3 ^ 0

(incluyendo

w
X

Solucin P15.
a)
Analizando el circuito de la figura se obtiene que f = H + 3 , siendo H la salida de la
puerta AND. De aqu se deriva que los maxtrminos de f son maxtrminos de H y de 3 , mien
tras que los mintrminos de f son mintrminos de H de f3. Por tanto, los mapas de Kamaugh
de H y f3 tienen los siguientes maxtrminos:
10

wx
y z \^

00

00

01

10

wx
yz\

00

01

01

01

11

11

10

10

10

WX
y ^ \
00

00

01

11

00

01

11

10
0

Por otra parte, H = f j f2 = (x z)f2. De aqu que los mintrminos de H son mintrminos
de fj y de f2, mientras que los maxtrminos de H son maxtrminos de fj de f2.
Como f] es conocida, a partir de ella y de H se obtiene parte del mapa de f2:
wx

'Z \

00

01

11

10

00

01

11

10

f,

f2 est inespecificada
en aquellas celdas en las
que H = 0 y f] = 0.
Por otra parte, f2 = 0 en
celdas en las que H = 0
y f, = 1.

wx
y>

00

00

01

11

10
-

01

11

10

Revisando los mapas de H, f2, f3 y f podemos concluir lo siguiente:


- H vale 0 en las celdas 0 y 10 porque vale 0 en esas celdas. Como f = 1 en las celdas
y 1 0 , f 3 tiene que valer 1 en esas mismas celdas.
- Como f2 tiene que ser distinta de 0, tendr algn mintrmino en alguna de las celdas

www.FreeLibros.me

68

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

donde no es ni inespecificacin ni 0 (celdas 4, 9, 11 12). Como f = 1 en esas celdas, en aque


llas en las que f2 = 0, 3 debe tomar el valor 1. Por tanto, existen varias soluciones, dependiendo
de cules de las celdas 4,9,11 12 consideremos mintrminos de f2.
- Una de las posibles soluciones es la que se muestra a continuacin:
wx
00
01
11
10

00 01

11

10

0
0

wx
yz\
00
01
11
10

00 01
1 1
0 0
0 0
0 0

11 10
- 0
0 0 1
0 1

b) De los mapas de f 2 y 3 obtenemos expresiones para f2 y 3 :

00
01
11
10

0
0
-

_v
- 0 -

00 0
01 0
11 0
10 0

f2= wy

0
0
0

0 0 fT)
0 li J

P ro b le m a 16.- En a figura se representa una funcin de 4 variables incompletamente espe


cificada. 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
cd\
00
01
11
10

a)
b)
c)
d)
e)

z
z
z
z
z

pasa
tiene
tiene
tiene
tiene

00 01 11 10
1 d d d
d d 0 0
0
d

d
d

0
0

0
1

a depender de slo dos variables.


nicamente cinco mintrminos sin implicantes superiores.
exactamente cuatro implicantes primas.
una implicante prima no esencial.
el mismo nmero de implicantes primas que de implicadas primas.

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

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

69

mintrminos. El resto de inespecificaciones se sustituirn por maxtrminos.El mapa de


Kamaugh y la expresin final de z quedan como sigue:
,a b

cd^
00

00

01

11

10

01

11

10

;= b d

b)
Para que no haya implicantes superiores, no puede haber dos mintrminos adyacen
tes. El mapa quedara de la siguiente manera:
01

11

10

c)
Una implicante prima es aquella implicante (agrupacin de mintrminos) que no est
incluida en una implicante de orden superior. Para conseguir 4 implicantes primas
exactamente debemos hacer las siguientes substituciones en el mapa:
c d'

00

00 f e
Ol

01

11

10

i/

11

10

d) Una implicante prima no esencial no posee ningn mintrmino distinguido:.


01

11

10

to

1 1

www.FreeLibros.me

Implicante
prima
no esencial

70

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

e)
En el siguiente mapa existen dos implicantes primas y dos implicadas primas (impli
cada como agrupacin de maxtrminos):
,a b
c a ' 0 0 01 11 10
oo_
O
01
n

10 '

P ro b lem a 17.- Realice la funcin f con puertas: a) NAND, b) OR.

a b c d + ab ce + acde + abc e + abce + abce + a bc d + 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 Kamaugh:
abe
e N. 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0
00

01

11

10

/ = (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:
I) 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+1. 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 impli
cante).
b) Marcar ambos mintrminos.

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

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 im
plicante de ndice j con cada implicante de ndice j+1. En caso de ser adya
centes, 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 pro
ceso.
El desarrollo de estos pasos, en este caso, es el siguiente:
Mintrminos listados
por su ndice
ndice 1 4<
6<

ndice 2

12<
17<
11<
13<
ndice 3
19<

21<

22<
25<
23<
ndice 4 27<
29<

Implicantes de
dos mintrminos
(4,6)-2 J
(4.12)-8 I
(6,22)-16 H
(9,11)-2<
(9.13)-4<
(9.25)-16<
(12.13)-l G
(17,19)-2<
(17,21 )-4<
(17.25)-8<
(11.27)-16<
(13.29)-16<
(19.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
(9.13.25.29)-4,16
(17,19,21,23)-2,4
(17.19.25.27)-2,8
(17.21.25.29)-4,8

E
D
C
B
A

Expresin de cae a implicante


A
B
C
D
E
F
G
H
I
J

abcde
1--0 1
1-0-1
10-- 1
-1-01
-10-1
10 11 0 110-0110
0-100
00 1-0

ad
ace
abe
bde
bce
abcd
abcd
bcde
acde
abce

II) Cubrimiento mnimo.


El proceso de obtencin del cubrimiento mnimo consta de varios pasos:
1) Formar la tabla de implicantes primas. Para ello, poner los mintrminos
de la funcin como cabezas de columnas y las implicantes primas como ca
bezas de filas. Marcar los mintrminos cubiertos por cada implicante.
2) Determinar las columnas distinguidas seleccionando las implicantes pri
mas esenciales para formar la expresin de la funcin. Eliminar todos los
mintrminos cubiertos por las implicantes esenciales.
3) Si hay mintrminos de la funcin que an no han sido cubiertos, simpli
ficar la tabla. Para ello, eliminar las filas dominadas (si el coste es mayor o
igual que la dominante) y las columnas dominantes.
www.FreeLibros.me

72

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

4) Verificar si hay implicantes esenciales secundarias, en cuyo caso repetir


el proceso desde el paso 2 .
5) Si se llega a una tabla cclica, obtener el cubrimiento mnimo bien por el
mtodo exhaustivo, bien por el mtodo de Petrick.
6 ) La suma estrictamente mnima de la funcin se obtiene mediante la suma
de las implicantes seleccionadas en los pasos 2 y 5.
Notas adicionales:
1 En funciones incompletamente especificadas, las inespecificaciones se toman como
unos a la hora de obtener las implicantes primas y no se tienen en cuenta a la hora de formar
la tabla de implicantes primas.
2.- La obtencin del producto de sumas mnimo, sigue el mismo proceso tomando los
ceros de la funcin en vez de los unos.
Comenzamos construyendo la tabla de implicantes primas:
4

11

12

13

17

A
C

X
X

D
E

19

22

21

IX

X
X

H
X

25

27

A.

""*X" "

X
X

29
X

4.3

X
X

Columnas distinguidas: 11. Por tanto, E es implicante prima esencial y se selecciona. Se


eliminan de la tabla de cubrimiento los mintrminos de E: 9, 11, 25, 27.
Filas dominadas: B es dominada por C. Por tanto, eliminamos B.
Columnas dominantes: la columna 17 domina a 19 y 21. Se elimina 17.
Columnas distinguidas secundarias: 19. Por tanto, C Implicante prima esencial secun
daria y se selecciona. Se eliminan sus mintrminos: 19, 21, 23.
En este punto, por claridad, reescribimos la tabla eliminando las columnas y filas ya
tachadas.
4

12

13

2-2

A-...

y ."

....x ...

F ....
G'

H
I

- " X .... ... X ...

X
X

X
X

www.FreeLibros.me

29

...x...
....X *

DISEO DE CIRCUITOS COMBINACION ALES

73

Filas dominadas: A es dominada por D. Por tanto, eliminamos A; F es dominada por H,


de aqu que eliminemos F.
Columnas distinguidas secundarias: 22. Por tanto, H es esencial secundaria y se selec
ciona. Columna 29. Por tanto, D es esencial y se selecciona. Eliminamos los mintrminos 6 ,
22 (de H), 13,29 (de D).
Filas dominadas: G es dominada por I y J es dominada por I. Eliminamos G y J.
Columnas distinguidas secundarias: 4 > I es esencial y con ella la funcin queda com
pletamente cubierta. Por tanto:
/ = E + C + H + D + I = bce + abe + bcde + bde + acde
b)
Con puertas OR, el procedimiento es similar con las diferencias de que hay que ob
tener 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:
/=

(c + e)

(a + b + e) (a + d + e) (b + c + d)

Problema 18.- Florencio va a ir a una fiesta esta noche, pero no solo. Tiene cuatro nombres
en su agenda: Ana, Bea, Carm en y Diana. Puede invitar a ms de una chica pero no a las
cuatro. Para no romper corazones, ha establecido las siguientes normas:
- S i invita a Bea, debe invitar tambin a Carmen.
- S i invita a Ana y a Carmen, deber tambin invitar a Bea o a Diana.
- Si invita a Carm en o a Diana, o no invita a Ana, deber invitar tambin a Bea.
Antes de llamarlas por telfono, quiere utilizar un circuito que le indique cundo una
eleccin no es correcta. Aydele a disear el circuito ptimo en dos niveles con puertas
NAND. (Utilice el mtodo de Quine-McCiuskey).

Solucin P18.-Descripcin de las variables:


Vamos a asociar una variable de conmutacin a cada persona: A, a Ana; B, a Bea; C, a
Carmen y D, a Diana. Cada variable puede valer 0 1 con el siguiente significado:
- Si vale 0 significa que la persona NO va a la fiesta.
- Si vale 1 significa que S va a la fiesta.
Vamos a disear un circuito con una salida F que tomar los siguientes valores:
- F=0 si la eleccin es correcta (cumple todas las normas).
- F=1 si la eleccin es incorrecta.
OBTENCIN DE LA FUNCIN:
En el enunciado se indican 5 condiciones a cumplir:
- C: Que no va solo.
- C '. Que no vanlas 4 chicas juntas.
- C3: Si va B (Bea), debe ir C (Carmen). - C4: Si van A yC, debe ir B D.
- C5: 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 = C + C 2 + C 3 + C 4 + C 5
Debemos encontrar los trminos productos asociados a cada condicin, teniendo en
cuenta lo siguiente:
2

www.FreeLibros.me

74

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Cx = 1 si no se cumple la condicin.
Cx = 0 si se cumple la condicin.
La condicin C 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 j= l. El trmino producto asociado a esta condicin
es el mintrmino 0: C]=A B C D .
La condicin C 2 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 C2 = l. El trmino producto asociado a esta condicin
es el mintrmino 15: C2=A B C D .
La condicin C 3 se incumple en el caso de que vaya B y no vaya C. Esto es, si B=1 y
C=0. En este caso 0 3 = 1 . El trmino producto asociado a esta condicin es: C 3 =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 C 4 = l. El trmino producto asociado a esta condicin
es: C 4 =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=l D=1 A=0) y B=0. En este caso C 5 = l. El trmino asociado a esta condicin
es: Cg= (C+D+A)B= A B + B C + B D.
De esta forma se obtiene que F = A B C D + A B C D + B C +A C B D + A B + B C + B D
En forma de suma de mintrminos queda: F = X (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.
I) Obtencin de las implicantes primas. En nuestro caso, se obtiene:
Mintrminos listados
por su ndice
ndice 0 0<
1

ndice 1

ndice 2

<

2<

4<
3<
5<
9<

(0 , 1)- 1<
(0 ,2 )- 2<

(0,4)-2<
(1.3)-2<
(1.5)-4<
(1.9)-8<
(2.3)-1<

( 2 . 10)- 8<

Expresin de cada implicante


11
12
13
14
15
16
17

www.FreeLibros.me

ABCD
00-1

(4.5)-1<
(4.12)-8<
(3.11)-8<
(5.13)-8<
(9,11 )-2<
(9.13)-4<
( 1 0 . 1 1 )- 1 <
(12.13)-1<
(11.15)-4<
(13.15)-2<

Implicantes de
cuatro mintrminos
(0,1,2,3)-2,1 11
(0,1,4,5)-4,1 1 2
(1.3.9.11)-8,2 13
(1.5.9.13)-8,4
14
(2.3.10.11)-8,1 15
(4.5.12.13)-8,1 16
(9,11,13,15)-4,2 17

O
O

<
12<
11<
ndice 3 13<
ndice 4 15<
10

Implicantes de
dos mintrminos

-0-1
--0 1
- 0 1-101 - -1

AB
AC
BD
CD
BC
BC
AD

DISEO DE CIRCUITOS COMBNACIONALES

75

II) Cubrimiento mnimo


Construimos la tabla de implicantes:
0

10

.....r?i.....

11

12

13

15

....
..... >'

..... X-.....

.....XV -

.....x .....

10 es una columna distinguida, entonces, IE es una implicante prima esencial. Se elimi


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

.... ....

....X - -

....D ....

....X

Filas dominadas: C y D son dominadas por A y B, entonces eliminaremos C y D.


En la tabla resultante tras eliminar C y D, tanto IA como IB cubren todos los mintrmi
nos que faltan y adems tienen el mismo coste, por lo que se puede elegir cualquiera de ellas.
Por tanto: F = I E + I F + IG + IA = BC + B C+ A D + A__B
IB

AC

Problema 19.- Una empresa distribuye un cierto producto en ocho pueblos (A,B,C,D,E,
F,G,H) de una comarca, comunicados entre s como indica la tabla siguiente (cada X seala
dos pueblos vecinos):
A
X

B
X

D
X

E
X

F
G

X
X

La empresa quiere construir alm acenes de forma que cada pueblo, o bien tenga un
almacn o bien un pueblo vecino lo tenga.

www.FreeLibros.me

76

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a) Determine todas las formas de hacerlo construyendo el m enor nmero de almacenes


posibles.
b) SI en los pueblos A y G se ponen alm acenes por tener m ayor nmero de habitantes,
determine todas las soluciones ms econmicas.

Solucin P19.- a) Este es un problema de cubrimiento: con el menor nmero de almacenes,


cubrir todos los pueblos. Vamos a aplicar la segunda parte del mtodo de Quine-McCluskey,
que consiste en hacer un cubrimiento ptimo. Si bien en el caso del mtodo de Quine-McClus
key el problema consiste en obtener un conjunto de implicantes mnimo que cubra a todos
los mintrminos, en nuestro caso vamos a aplicarlo a obtener un conjunto mnimo de alma
cenes instalados en los pueblos de forma que cubramos a todos los pueblos. Existe una
equivalencia entre implicantes y almacenes en los pueblos y entre mintrminos y pueblos.
Vamos a construir una tabla de cubrimiento donde vamos a tener una fila por cada
almacn que se pueda instalar en un pueblo y una columna por cada pueblo:
F
G H
A
B
c
D E
b

X
X

X
X
X
X

X
X
X

X
X
X
X
X

X
X
X

X
X

X
X

X
X

X
X
X

X
h
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 res
pectivamente. 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
nos dicen que se deben obtener todas las soluciones mnimas. Cuando se pretende obtener
todos los cubrimientos mnimos, no se debe aplicar el criterio de eliminar filas dominadas, ya
que este criterio elimina algunas soluciones mnimas.
Cubrimiento mnimo de la tabla.
Eliminamos las columnas dominantes: D (domina a B) y C y H (dominan a G).
El resultado de eliminar estas columnas, es la siguiente tabla cclica:
a
b
c
d
e
f
g
h

A
X
X
X
X

B
X
X
X
X

E
X
X
X

www.FreeLibros.me

F
X

G
X

X
X
X

X
X

DISEO DE CIRCUITOS COM BINACION ALES

77

Para resolver esta tabla vamos a aplicar el mtodo exhaustivo.


En este mtodo se parte de una columna con el mnimo nmero de marcas. En este caso
la columna E.
Para cubrir el pueblo E hay tres opciones: Instalar almacn en d en e en f. Analice
mos cada una de ellas:
1.- Eligiendo d: Eliminamos las filas que cubre d: A, B, y E quedando la siguiente tabla:
F
X

a
b
c
e
f
g
h

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

a
b
c
d
f
g
h

B
X
X
X
X

X
X

G
X
X
X

Adems de e se necesitan al menos dos ms (por ejemplo: a y c b y g). En total tres,


con lo que no son soluciones mnimas.
3.- Eligiendo f: Eliminamos las filas que cubre f: A, E y F quedando la siguiente tabla:
a
b
c
d
g
h

B
X
X
X
X

G
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 tr
mino suma corresponde a las formas de cubrir una columna mediante filas. P.ej., A se cubre
con (a+b+d+f):

www.FreeLibros.me

78

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 pue
blos la tabla queda como sigue:
E
X
X
X

d
e
f

Hay, pues, tres soluciones mnimas en esta caso son: {A,G,E}, {A,G,D} y {A,G,F}.
P ro b le m a 2 0 .- Disee, con e l m enor nmero posible de puertas, un divisor por 2 de un dgito
BCD. D e l 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 z2 Z]_
Z0 .U3 U2 U1 U0 , donde z 3 z2ZjZo representa el dgito BCD de la parte entera de la divisin y
u 3 u2UjUo 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
abcd
000 0
000 1
00 10
00 11
0 10 0
0 10 1
0 110
0 111
10 0 0
10 0 1

N/2
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5

SALIDAS
Z3Z2Z1Zo.U3U2U1Uo
0000.0000
0 0 0 0.0101
000 1.0000
0 0 0 1.0101
0 0 1 0.0 0 0 0
0 0 10.0101
001 1.0000
001 1.0101
0 10 0.0 0 0 0
0 10 0 . 0 1 0 1

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:
z 3 = 0 , z 2 = a, Zj = b, Zg = c, u 3 = 0 , u 2 = d, u = 0 , uq = d.

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

79

Problem a 2 1 .- Una cierta puerta de cuatro entradas llamada LIM O N realiza la funcin
siguiente:
L IM ON(A, B, C, D )=BC (A +D )
Suponiendo entradas en doble ral:
a) Realice la funcin:
f (v, x, y, z ) = I (0, 1, 6, 9, 10, 11, 14, 15)
con slo tres L IM O N y una OR.
b) Puede realizarse cualquier funcin en lgica LIM O N/O R?.

Solucin P21.- La puerta LIMON realiza la siguiente funcin:


LIMON(A,B,C,D)=L(A,B,C,D)=BC(A+D) = ABC + BCD.
Es posible realizar trminos productos de 1 variable (por ejemplo con L(l,x,l,l)=x), de
dos variables (por ejemplo L(l,x,y,l) = xy), de 3 variables (por ejemplo L( 0 ,x,y,z) = xyz)
una suma de 2 trminos productos de 3 variables con al menos dos literales comunes. Teniendo
en cuenta esto vamos a obtener una expresin en forma de suma de productos para f y poste
riormente veremos si es posible implementarla con puertas LIMON.
Del mapa de Kamaugh se obtiene la siguiente expresin para f:
vx
00
01
11
10

y
0

0
( 1

\d

_
x y z (1)
f = v y + v x y + v x z + __
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 = Lj
Los otros dos trminos productos los implementamos cada uno de ellos con una puerta
LIMON de la siguiente manera:
LIMON (l,v,y,l) = v_y = L 2
LIMON (v,x,z,0) =v x z = L 3
Por tanto:
f= Lj + L 2 + L 3
b)
Con la puerta LIMON podemos implementar trminos productos de hasta tres varia
bles. 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.

www.FreeLibros.me

80

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 2 2 .- 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 m ensaje un bit de paridad impar. Disponiendo
nicamente de puertas E X O R y N O -E X O R de dos entradas:
a) Disee e l circuito que genere ese bit de paridad im par en la estacin emisora.
b) Disee tambin el circuito que compruebe en la estacin receptora que el m ensaje
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 c
digo de 3bits:

CIRCUITO
COMBINACIONALI

P = 0 si el n2 de 1
en abe es impar
P = 1 si el n2 de 1
en abe es par

Hay que disear el circuito usando exclusivamente puertas EXOR y NO-EXOR.


La funcin EXOR se hace 1 cuando el nmero de l s en sus variables es impar. Enton
ces, teniendo en cuenta la definicin de P, P es el complemento de la funcin EXOR de a, b y c:
P = a @ b c = ( a b) c
As, el circuito combinacional que genera P es el siguiente:

b)
El enunciado nos pide disear un circuito que detecte un error de paridad impar en un
cdigo de 4 bits:
a
b
c
CIRCUITO
COMBINACIONAL

E = 0 si el n2 de 1
en abcP es impar
E = 1 si el n2 de 1
en abcP es par

Teniendo en cuenta la definicin de la funcin EXOR que se vio en el apartado a y la


definicin de E, E es el complemento de la funcin EXOR de a, b, c y P:
E = a b c P = (a b) (c P )

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

81

As, el circuito combinacional que genera P es el siguiente:

c) Generalizacin al caso de n bits: xn.j,xn.2,........,xj ,x q .


En el caso del generador de bit de paridad impar, la funcin del bit de paridad P es:
P = 1 si el nmero de l s en los n bits es impar
P = 0 si el nmero de l s en los n bits es par
De esta forma teniendo en cuenta la definicin de la funcin EXOR,la funcin P es el
complemento de la operacin EXOR de los n bits:___________
P = xn_ X n _ 2 @ ........... X , x 0
El circuito se puede hacer encadenando puertas EXOR de dos entradas y una ltima
puerta NEXOR.
En el caso del detector de bit de paridad impar, la funcin se define exactamente igual
incluyendo un bit ms que es el bit de paridad P:
E = 1 si el nmero de l s en los n+1 bits es impar
E = 0 si el nmero de l s en los n+1 bits es par
De esta forma teniendo en cuenta la definicin de la funcin EXOR,la funcin P es el
complemento de la operacin EXOR de los n bits:
E = P x n_, xn_ ......... * i * 0
2

Problema 2 3 .- La expresin algebraica


C0 = A 0
C k = (Ao + A- + ... + Ak.-)
Ak
k = 1, 2, ...
proporciona e l valor de la salida Ck de un circuito en funcin de las entradas A 0, ., Ak.-, Ak.
(a) Disee e l circuito correspondiente a cuatro bits de entrada.
(b) Describa verbalmente qu tarea realiza dicho circuito.
(c) Utilizando como mdulo el circuito diseado en (a), realice un nuevo circuito para 12
bits de entrada, indicando las nuevas entradas y salidas que hay que aadir a l mdulo dise
ado en (a), para que e l nuevo circuito de 12 bits pueda operar correctamente.

Solucin P23.- Para 4 bits de entrada existen 4 bits de salida cuyas expresiones y el circuito
final son las siguientes:

www.FreeLibros.me

82

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Co - Ao
C ] A q A j
C2 ( A q+ A j) A 2
C3 ( A q+ A j +A2 ) A 3

b)
Analizando la tabla de verdad de las funciones C (i = 0, 1, 2, 3) se comprueba que s
obtiene el complemento a 2 del nmero de 4 bits de entrada:
A 3 a2

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

A1 Ao
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1

C3
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0

C2
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0

C,
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

Co
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

C3 -0 - Ca 2 (A3.0)

c)
Para obtener la variable Ck hay que ir arrastrando la operacin OR de las K variable
de entrada anteriores (Aq hasta Ak.j). Para ello hay que aadir al mdulo de 4 bits diseado en
el apartado a) una seal de entrada, K in , que permita introducir la operacin OR de las varia
bles de entrada de los mdulos que se coloquen antes, y una seal de salida, Kout, que trans
mita la operacin OR de las variables de entrada anteriores al siguiente mdulo. De esta ma
nera la primera variable de salida del modulo, C0, no se obtiene directamente de la entrada Aq
sino como la operacin EXOR de Aq y K in (en Kin se conectar la seal Kout del mdulo an
terior o bien un 0 si es el primer mdulo de la cadena).

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

83

a3

Kout
c3

o>

___ >

Mdulo de 4 entradas y 4 salidas

a2

a9

A8

A, Ao
Kin

c2

c0
I

o
u

C9 C8

Conexin entre mdulos


A3 a 2
A7 A6 As a 4
|
I
I
I I
a 3 a 2 A, A0
a3 a2
Kout
Kout
Kin
Cs C2
Cg C2 c, Co
I
I
I
I I
C7 C6 c 5 c 4
c 3 C2

AI Ao
I I
A, Ao
Kin
C, c 0
I I
C, C0

PROBLEMAS CON SOLUCION RESUMIDA


Problema 2 4 .- D ada la funcin de la figura, obtenga la mnima expresin en forma de suma
de productos.

\e d c
b a \ 000
00 0
01 0
11 1
10 0

001
0
0
1
0

011 010 110 111 101 100


0 0 0 1 0 0
0 0 1 1 0 0
1 1 1 0 0 0
0 0 0 1 0 0

Solucin P24.-f = a b e + a b c d + a c d e + a b d e
Problema 2 5 .- 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 = 1 . ( 0 , 1, 5, 6 , 9 ) + d (10, 11, 12, 13, 14, 15).
b) f = 2, ( 0, 2, 5, 7, 13, 15, 18, 26, 29, 31) + d(20, 24, 28).

www.FreeLibros.me

84

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P25.

aa))fsp = a b c + b c d + c d
fps = (a + d) (b + c) (c + d) (b + c + d)
b )fsp = a c e + b c e + a b c e + a c d e
fps = (c + e) (c + e) (a + b + c) (a + d + e) (a+ b + e)

P ro b lem a 2 6 .- Sea F una funcin de un dgito B C D y de una entrada de control X. F vale 1"
en los siguientes casos:
1) Si X=1 y el n9 B C D es mltiplo de 3.
2 ) Si X = 0 y e l n3 B C D tiene un n Qimpar de unos.
Implemente F como un circuito en dos niveles utilizando puertas NAND.

Solucin P26.- El mapa de Kamaugh y una expresin en forma sp (para implementar la fun
cin en dos niveles NAND-NAND) son los siguientes:
Xab

cd
00
01
11

10

/ =

000

001

cr
0

0
0

< 0
0

011

010

P
0

110

111

101

d
<3K d

100

y
c

0
<

0
0

Xabcd + Xbcd + Xbcd + Xbcd + Xad + Xad + Xbcd + Xbcd + Xabcd

P ro b le m a 2 7 .- Redisee e l circuito de la figura con puertas N A N D solamente.

Solucin P27.- Primero hay que analizarlo, para posteriormente buscar una expresin en suma
de productos:
f = x y + (y + z) = x + y + yz = x + y { \ + z ) = x + y = xy

www.FreeLibros.me

DISEO DE CIRCUITOS COM BINACION ALES

85

Problema 2 8 .- Disee un circuito cuya salida sea el resto de la divisin de un nmero A de


tres bits entre un nmero B de dos. E l nmero B nunca puede ser cero.

Solucin P28.-E1 mapa de Kamaugh y las expresiones en forma sp para las dos salidas que
forman el resto de la divisin son los siguientes:
a2 ala 0
1^0 \

000

001

011

010

110

111

101

100

00

dd dd dd dd dd dd dd dd

01

00

00

00

00

00

00

00

00

11

00

01

00

10

00

01

10

01

10

00

01

01

00

00

01

01

00

r j ct2u i ci^b|

r0 = a0b0 + a 2a la0b + a 2a i a o^i + U a i a o^i^o


2

Problema 2 9 .- Un sistema sencillo para h acer votacin secreta es utilizar un circuito combinacional cuyas entradas estn controladas por interruptores que puedan accionar los miem
bros del jurado. Cada miembro votar con un S o un N O (no hay abstenciones).
El sistema que queremos realizar es el siguiente. H ay 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). E l veredicto deber ser:
El del tribunal A en el caso de que no se produzca empate.
Si se produce empate en el tribunal A, e l veredicto ser el del tribunal B.
Disee el circuito segn e l diagrama de bloques de la figura:

>
>

Solucin P29.-Codificacin de las variables:


Entradas:
a, b, c, d, e, f, g = 0 si el voto es NO.
a, b, c, d, e, f, g = 1 si el voto es S.
Salidas:
Del circuito A:
FiF 2 = 0 0 cuando gana NO en la votacin del tribunal A.
FjF 2 = 0 1 cuando gana S en la votacin del tribunal A.
F,F2 = 1- cuando se empata en la votacin del tribunal A.

www.FreeLibros.me

86

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 Kamaugh para cada una de las funciones y sus expresiones en forma sp
son los siguientes:
ab
00
01
11
10

01
0
1
0
1

00
0
0
1
0

11
1
0
0
0

ab
cd^\
00
01
11
10

10
0
1
0
1

FiFo

ef

00

01

11

10

F3

10
0
d
1
d

11
d
1
1
1

F2= a b + c d

F]=abcd+abcd+abcd+abcd+abcd+abcd

01
0
d
1
d

00
0
0
d
0

00

01

11

10

00

01

=e f
+- e g + f g

s=

F ,F 2 + F,

F3

P ro b le m a 3 0 .- Se desean visualizar las siguientes representaciones utilizando un visualizador de 7 segmentos. Disee un circuito de tres entradas que encienda correctamente el seg
mento g.

REPRESENTACIONES

VISUALIZADOR

7 SEGMENTOS

Aq>I*
.-Q-

ULU

Solucin P30.- La funcin de salida toma los siguientes valores:


g = 0 si no se enciende el LED.
g = 1 si se enciende el LED.

www.FreeLibros.me

DISEO DE CIRCUITOS COMBINACIONALES

87

Son 6 casos los que hay que representar por lo que se necesitan tres entradas: x, y, z:
xyz
000

g
1

00 1

0 10

J
U

0 11

100

10 1

II
L

xy

z\
0
1

00
1
1

01
0
1

11
d
d

10
1
1

:= y + z

Problem a 3 1.- 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, Z.
a) Determine todas las combinaciones mnimas de ejecutivos requeridos para abrir la
caja.
b) Determine e l 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
C
D
E

V
x

X
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.
Problem a 3 2 .- Dada una palabra A de n bits y una seal de control C , disear un circuito
combinacional cuya salida sea el complemento a 1 ( C a l ) e l complemento a 2 (Ca2), segn
el valor de C. Utilice exclusivamente puertas E X O R y OR.

Solucin P32.-Sea A=An_]An _ 2 AjAq el nmero de entrada y B = Bn.]B n _ 2 B]B 0 el


nmero de salida. El circuito que obtiene el complemento a 1 a 2 en funcin del valor de C
es el siguiente:

www.FreeLibros.me

88

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Si C = 0, B = Ca2(A)
Si C = 1, B = Cal(A)

P ro b le m a 3 3 .- 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 a calle: 1 si es de d a ,0 si es de noche. La luz se debe
iluminar cuando haya orden de encenderla, e l estado de la luz exterior sea e l apropiado y no
haya inhibicin, excepto si hay emergencia, en cuyo caso la luz se enciende independiente
m ente de las otras seales.
D e una tabla de verdad del circuito que controla la luz disendolo con los elementos
que estim e oportunos.

Solucin P33.- Funcin de salida:


L = 0 luz encendida.
L = 1 luz apagada.
Variables de entrada:
xj = 0 encender luz.
xj = 1 no encender luz.
x 2 = 0 inhibir luz.
x 2 = 1 no inhibir luz.
x 2 = 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: (xi+x 4 +x2).
L = 0 si hay emergencia: X3
L = (x 1 +x4 +x 2 )x3.

www.FreeLibros.me

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 (E nable ). 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 de
terminadas 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 determina
do que, segn su diseo, puede ser 0, 1 o un tercer estado de alta impedancia (HI).
1Recordemos que usamos lgica positiva (L 0, H > 1).
89
www.FreeLibros.me

90

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

SUBSISTEMAS DE PROPSITO ESPECFICO


Decodificador:
Se trata de un dispositivo con n entradas y 2n salidas donde en funcin de la combinacin bi
naria de sus entradas, una y slo una de las salidas se activa. Es decir, convierte un cdigo bi
nario de entrada en cdigo 1-entre-n. Su smbolo para el caso DEC 2:4 con habilitacin y
salidas activa en alta, su tabla de verdad y sus ecuaciones de cada salida se muestran a conti
nuacin:
EN
3
X,---- 1
2
1
x0------ 0
0
DEC 2:4

d3 = xj -Xq-EN
d2 = x 1 x0-EN
dj = X[X()-EN
d0 = Xj -Xq-EN

DEC 2:4 con salidas activas en alto


pleto.

EN

X1

x0

d0

di

d2

d3

Si el decodificador posee m salidas, donde m < 2n, se denomina decodificador no com

Codificador:
Realiza la operacin contraria al decodificador. Es decir, convierte el cdigo 1-entre-n en
cdigo binario. Un codificador completo posee 2n 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 3
1
c 2 --- 2
C 1 --- 1
0
c0 0
COD 4:2

yi- c3 +c2
y0 = c 3 +c,

c3
1
0
0
0

C2
0
1
0
0

Cl
0
0
1
0

co
0
0
0
1

y\
1
1
0
0

yo
1

0
1
0

Si el codificador posee m entradas y n salidas, con m < 2n, se denomina codificador no


completo.
Por otro lado, existe el llamado codificador de prioridad. Se trata de un dispositivo equi
valente al anterior. La diferencia es que sus entradas no necesitan estar en cdigo 1-entre-n
ya que cada una de ellas tiene una prioridad sobre las otras, de forma que la salida es la codi
ficacin binaria asociada a la entrada de mayor prioridad que tenga el valor activo. Su tabla de
verdad es:

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

c3
1

c2
-

C1
-

c0
-

y\

yo
i

91

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:
G

Datos

G E L

A=B

A<B

A > B
A = B
A < B

1
0
0

A>B

0
1
0

0
0
1

SUBSISTEMAS DE PROPSITO GENERAL


Multiplexor:
Un MUX-n o MUX 2n: 1 es un dispositivo de 2n canales de entrada (datos), n entradas de se
leccin de canal y 1 salida. Su funcionalidad es dejar pasar hacia la salida la informacin que
entra por uno de sus canales de entrada, aquel que est seleccionado en funcin de la codifica
cin binaria de las seales de seleccin. Un MUX-n es un mdulo lgico universal de
n variables o de n+1 variables si algunas de ellas est en doble ral. El smbolo que se utilizar
en este Captulo y su tabla de verdad son:
Si
F - C q-S ,-S o+C |-S j -Sq+C2'S | Sq+C^-S j -Sq

s0

0
1

C0
C,
C2
C3

Demultiplexor:
Realiza la funcin inversa al multiplexor. Un DEMUX-n o DEMUX 1:2n, 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

www.FreeLibros.me

92

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

binaria de las seales de seleccin. El smbolo que se utilizar en el Captulo y su tabla se


muestran a continuacin:
Din

u
1
2
1 O3
i

CqDin-S|S0
C]= Din-Sj-S0
C-2 D in S jS 0
C3= D inS ]S 0

Si
0
0
1
1

5 iS 0

So C0 c , c 2 c 3
0 Din 0 0 0
1 0 Din 0 0
0 0 0 Din 0
1 0 0 0 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
r*

lineas AND

plano OR
r---

-- - -
-entradas

salidas

_*

Atendiendo a la posible programacin de cada plano podemos hacer la clasificacin si


guiente:
plano AND
No programable
Programable
Programable

plano OR
Programable
Programable
No programable

ROM
PLA
PAL

ROM:
Una ROM(2nxm) posee n entradas de direccin y m salidas, que puede verse como un dispo
sitivo que almacena 2 n 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 al
macenada. 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 rea
lizar la funcin lgica que se desee. Por tanto, una ROM es un dispositivo lgico universal de
n variables para m funciones.

www.FreeLibros.me

SUBSISTEMAS COM BINACIONALES

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 varia
bles expresadas en sumas de productos si para ello no se superan los p trminos ANDs dispo
nibles.
PAL:
En este dispositivo cada salida es la OR de un conjunto determinado de lneas AND, no estan
do 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 in
dependientemente 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:

Solucin P l.- Si las entradas XjX0 son mayores o igual a yjy0, se activarn las salidas G o E,
respectivamente, del comparador de magnitudes. Estas salidas, gracias a la puerta OR, provo
can que la entrada del demultiplexor sea un 1 lgico. Elabr, ahora, que determinar cul es el
canal de salida, en funcin de las seales de seleccin. Puesto que x>y, la salida L del compa
rador es 0, por tanto los canales seleccionados dependen slo de yj (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=l y si x<y, f=0.

www.FreeLibros.me

94

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 2.-fedise e en dos niveles el circuito de la figura:


A 2 A 1 A o d 4 D 3 D 2 D i Do
ROM
0
0
0
0
1
1
1
1

4
Dv

A2
A1

Dt

A0

D,
D0

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0 0 0
1 1 0 1 1 1 1
0 0 0
1 1 0 1 0
1 0 -

0
1
0
1
0
1
0
0

0
0
0
1
0
0
0
1

Solucin P2.- Los canales de entrada del multiplexor responden a la siguiente tabla:
X y z
do d i d 2 d 3
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
0
1
0
1
0
1

0 0
1 0
0
1 1
0 0
1 0
0 0
1
-

0
1
1
1
0
1
1
0

que, junto con las seales de seleccin de canal, podemos construir el K-mapa siguiente:
xyz
u V 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 111 101 1 0 0
0

00

01

11

10

de donde obtenemos la expresin mnima:


/ = v - z + - y - z + u - y - z + P ro b le m a 3 .-

v-

y - z + - x - z

Interprete la utilidad del sistema mostrado en la figura.

c
A3

a2

A 1

Ao

c'

www.FreeLibros.me

SUBSISTEMAS COM BINACION ALES

95

Solucin P3.- Dada una entrada (A 3 .A 2 .A 1 .Aq), se selecciona una posicin de la ROM cuyo
contenido se vuelca en el bus de datos (D^q)- El convertidor binario a BCD, transforma el n
mero binario en su correspondiente BCD de 2 dgitos. Estos dgitos BCD, se muestran en sen
dos 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 e l nivel bajo. Aada
una salida que indique cundo no hay ninguna entrada activa.

Solucin P4.
Ai

Ao

E0

E,

E2

E3

Las entradas al codificador son activas en baja, siendo E0 la de mayor prioridad y E 3 la


de menor.
La salida Y seala cuando no hay ninguna entrada activa en el codificador de prioridad.
Y = E 0 -Er E 2 -E3
las restantes ecuaciones algebraicas para las dems salidas:
Aj = Eq-Ej
A0 = Eq-(Ei + E2)
E0
El

Aq

e2

Problema 5.- Se tienen dos codificadores de prioridad 4 a 2 como el de la figura. Este dispos
itivo dispone de una entrada de habilitacin E l y dos salidas E O y GS. E O 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 codifi
cador de prioridad de 8 a 3 de las mismas caractersticas de los anteriores. Adems de los
dos codificadores, se pueden em plear hasta un mximo de ocho puertas de dos entradas.

www.FreeLibros.me

96

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P5.- De acuerdo con la descripcin del enunciado y suponiendo que la entrada del
dispositivo con mayor prioridad es I 3 , la tabla de verdad es:
El
1
0
0
0
0
0

13

ll

lo

0
1
1
1
1

0
1
1
1

0
1
1

EO
1
1
1
1
1
0

0
1

GS
1
0
0
0
0
1

Qi

Qo

1
1
0
0
-

-(*)
1
0
1
0
-(*)

No habilitado
Habilitado con alguna
entrada activa
Habilitado, pero no activo

El dispositivo a realizar es una extensin de ste. Llamando con minsculas a sus varia
bles, nuestro objetivo es realizar el siguiente circuito:

e <
ir *
?6 *
>5 *
14----C
)3----'
?2----
|i '
o COD 8:3

e 7
5 eo 1
3---- gS 0 0
0 1
92 0 1
9i 0 1
90 0 1
0
0
0
0

1
1
1
1

5 14

'3

'2

0
1
1
1
1
1
1
1

0
1
1
1
1
1
1

0
1
1
1
1
1

0
1
1
1
1

0
1
1
1

www.FreeLibros.me

1 >0 e0
1
1
1
- - 1
- - 1
- - 1
- - 1
0 - 1
1
1

0
1

1
0

gS 92 9i 9o
1 . _ _
0 1 1 1
0 1 1 0
0
0
0
0
0
0
1

1
1
0
0
0
0

0
0
1
1
0
0

1
0
1
0
1
0

SUBSISTEMAS COM BINACION ALES

97

Para realizar el codificador de ocho entradas necesitamos dos codificadores de cuatro


entradas, uno recibir las entradas ms significativas (i7 - i4) y el otro las menos significativas
( 3 - o). Las variables de entrada y salida correspondientes al primer codificador las notaremos
con el superndice "H" y a las correspondientes al segundo codificador con el superndice "L".
Para dar la solucin adoptamos una de las posibles alternativas de conexionado mostra
da en la siguiente figura:

li

El

EO

I3

GS

6
5

eo

gs
Ql

COD

Qo

Circuito
combinacional

El

EO

*3

I3

GS

*2

I2

II

>0

lo

92
9i

9o

L
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 i7, i6, 5 o i4, se habilitar el codificador L (menos priorita
rio). Para ello, conectamos EOH 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:
EP 1 = e
EIl = EO h
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 esta
mos utilizando.

www.FreeLibros.me

1
0
0
0
0
0
0
0
0
0

>7

0
1
1
1
I

1
1
1
1

'6

i5

i4

>3

*2

i]

>0

0
1
1
1
1
1
1
1

1
1
1
1
1
1

0
1
1
1
1
1

0
1
1
1
1

0 - 1 0 1 1 0
1 1 1

e o h gsh q .h

e o l g sl

o
o

ei

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

98

1
1
1
1
1
0
0
0
0
0

1
0
0
0
0
1
1
1
1
1

1
1
0
0

1
0
1
0

1
1
1
1
I

1
1
1
1
0

QlL QoL
-

1
1
0
0

1
0
1
0

0
0
0

A partir de la tabla anterior se pueden obtener las relaciones algebraicas para las cinco
funciones de salidas. Se han especificado a 0 las inespecificaciones en las salidas de los codi
ficadores.
e 0 = EOl
gs = GSH GSL q 2 = EOH qj = Q iH + Q iL q 0 = Q 0 H + Q 0L
Si pasamos a la implementacin de estas ecuaciones mediante puertas, el circuito global
sera el que se muestra a continuacin:
>7

6
5

gs

92
9l

90

P ro b le m a 6 .- Utilizando decodificadores 74138 (mostrados en la figura) y e l menor nmero


de puertas posible, cmo disearas...
a ) un decodificador 4 a 16.
b) un decodificador 5 a 327.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

99

Solucin P 6 .- El decodificador del que disponemos, el CI 74138, es el que se muestra a con


tinuacin:
Ei E, E,

o
i

ni
2

4
5
6
7

OOj0
o
o]

%
$

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 deco
dificadores, 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.

Como comentario del decodificador obtenido se puede decir que no posee seales de ha
bilitacin como tena el inicial. Si se hubiera querido conservar stas, se tenan que haber uti
lizado 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:

www.FreeLibros.me

100 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 7.-La figura muestra un com parador de dos nmeros de 1 bit y su tabla de verdad.
S e desea obtener un comparador de nmeros de 6 bits, utilizando exclusivamente com para
dores de 1 bit. E l diseo debe contem plar que el tiempo de retraso no supere 4T, donde T es
e l retraso asociado a l com parador de 1 bit.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

C A j B

0
1
1
1
1

0
1
0
0
1

0
0
1
1

0
1
0
1

A,

101

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:
Aq

B0

A]

Bi

e4

A2

B2

Supongamos que los bits Aq y Bq son distintos. La salida Eq, 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.

Para las estructuras anteriores, E 2 y E 3 sern distintos de 0, cuando los bits de los nme
ros A y B sean iguales. Si alguno de ellos vara, E 2 o/y E3, pero al menos uno de los dos, ser
0. En efecto, supongamos que A es distinto de Bj, y todos los bits restantes son iguales. La
salida del primer comparador, Eq, 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 difie
ren, generar un 0 en su salida E j. Esta salida inhibe al siguiente comparador, cuya salida tam
bin ser 0 , independientemente de A 2 y B2.

www.FreeLibros.me

102

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Es importante destacar el hecho de que las respuestas de E 2 y E3, se obtienen con un


tiempo de retraso de 3T.
Vamos a aadir, ahora, la seal de habilitacin del comparador de 6 bits. Por la estruc
tura y funcionamiento mostrados anteriormente, podemos pensar que la mejor forma de intro
ducir esta seal, es utilizando las entradas de habilitacin de los comparadores 0 y 5. De esta
forma se inhibe la operacin de los 6 comparadores, generando, las dos ramas de comparado
res, un 0 lgico, en sus salidas respectivas (E 2 y E3).
A0

B0

e5

Bj

A2

e4

B2

e3

Nos falta, por ltimo, generar una nica salida E del comparador partir de E 2 y E 3 y uti
lizando, como mucho, un comparador ms, para no superar el tiempo de respuesta (4T). Se han
tabulado las posibles respuestas de E2, E 3 y de la salida a generar, E, en funcin de los bits de
datos y habilitacin
c
0
1
1
1
1

A ,B
xxxxxxxxxxxx

A0 -2 =B0 - 2 y A3-5B3-5
a O_2=b O-2 y A3-5B3-5
a O_2*B0-2 y A3-5=B3-5
A0-2, B0-2 y A3-5^B3-5

2 E3

Podemos pensar que la forma de obtener la salida E, a partir de E 2 y E3, es introduciendo


stas en la entrada de un nuevo comparador, sin ms. Esto no sera del todo correcto, porque
como vemos en la tabla, cuando E 2 y E 3 valen 0, la salida debe ser 0. Esto se puede resolver,
simplemente, utilizando como seal de habilitacin cualquiera de las seales de entrada del
comparador, (E 2 y E3), como muestra la figura:

www.FreeLibros.me

SUBSISTEMAS COM BINACIONALES

103

Cuando E2=0 (ver tabla), la salida E vale 0, por estar este comparador inhabilitado.
Cuando E 2 = l, el comparador est habilitado y slo tenemos dos posibilidades, E 3 =l y E 3 =0 .
En la primera, el comparador activa su salida (E=l) y en la segunda no.
Problem a 8.-fealice las siguientes funciones haciendo uso de los dispositivos que se dan en
cada uno de los apartados:
a) Utilizando un decodificador con salidas activas
b) Utilizando un decodificador con salidas activas
c) Utilizando un decodificador con salidas activas
d) Utilizando un decodificador con salidas activas
F= 1 ,(0 ,9 ,11 ,1 5) + d(1,2,3)
(0,3,5) d(1,2)

en nivel alto y puertas OR.


en nivel bajo y puertas AND.
en alto y puertas OR.
en bajo y puertas NAND.

F=n

Solucin P 8 .- 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) = (0,9,11,15) + d( 1,2,3)
a) utilizando decodificador salidas activas nivel alto y puertas OR:

www.FreeLibros.me

104

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) utilizando decodificador salidas activas nivel bajo y puertas AND.


01
2

3
4
5
6
7
8
9

&

10

11

DEC
4:16

12

13
14
15

c) utilizando decodificador salidas activas nivel alto y puertas OR.


Para este caso, dado que disponemos de una puerta OR, 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.
0
2

a
c
d
b

3
4
5
6
7
8
9

3
2
1
0

DEC
4:16

>1

10
II
12

13
14
15

d) utilizando decodificador salidas activas nivel bajo y puertas NAND.


Aplicando un razonamiento anlogo al anterior dado que disponemos de una puerta
NAND, damos la siguiente solucin al problema:
0
2

a
c
b

3
4
5
6
7
8
9

3
2
1
0

DEC
4:16

&

10
11
12

13
14
15

Para todos los apartados hemos despreciado la existencia de inespecificaciones.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

105

Repetimos el mismo razonamiento para cada una de las funciones siguientes:


F = I I (0,3,5)-d( 1,2)
a) utilizando decodifcador salidas activas nivel alto y puertas OR:
>1
DEC
3:8
b) utilizando decodifcador salidas activas nivel bajo y puertas AND:
a
b
c

1
0

4
5

0
2 ---

&

_T
DEC 6
3:8 7
c) utilizando decodifcador salidas activas nivel alto y puertas OR:

>1

5
DEC
3:8 76
d) utilizando decodifcador salidas activas nivel bajo y puertas NAND:

Problema 9.-Encuentre un diseo mnimo para cada una de las siguientes funciones si slo
disponemos de un decodifcador 3:8 y de puertas de dos entradas.
a) F = 1 ,(0 ,9 ,1 1 ,1 5 ) + d(1,2,3)
b) F = W (0,3,5) d(1,2)
C ) F = Il (1 ,3 ,4 ,6 ,9 ,11) d (7 ,12,14)
d ) F = U (1,2,3,7,8,9)

Solucin P9.- Para dar solucin a este problema, en el apartado b) se sigue el mismo proce
dimiento que en el Problema 8 , pero para los otros tres apartados, las funciones son de cuatro
variables y el decodifcador 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 decodifcador), y aadiendo la cuarta variable (bien mediante operador AND u OR)
se consiguen los mintrminos o maxtrminos de la funcin que se necesiten.

www.FreeLibros.me

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a) F(a,b,c,d) = X(0,9,11,15) + d(l,2,3):

b) F(a,b,c,d) = n (0,3,5) d(l,2) = a(b + c):

c) F(a,b,c,d) = 11 (1,3,4,6 ,9,11) d(7,12,14):

d) F (a,b,c,d) = 11(1,2,3,7,8 ,9):

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

107

Problema 10.- Un circuito tiene como entradas dos nmeros binarios de dos bits cada uno:
Y= y,y0:
x,x0. S e 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 N A N D de dos entradas y dos puertas N A N D de un nmero de entradas no limitado.
Aada una seal de habilitacin (enable). Las entradas estn en nico ral. Utilice obligatoria
mente el decodificador.

x=

Solucin PIO.-Las funciones del circuito, considerando E como seal de habilitacin, estn
representadas en la siguiente tabla:
X

Zi

Z0

0
1

X
n

X > Y

X < Y

Hemos elegido la salida Z]Z q = 0 O 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 va
lores para las seales de salida. Mostramos este resultado en el siguiente mapa de Kamaugh:
.

X
00

0 1

11

10

11

0 1

0 1

0 1

0 1

10

11

0 1

0 1

11

10

10

11

10

10

10

10

0 1

11

Y
00

>

Zj Z0

salida.

A partir del mapa anterior podemos dar las expresiones de cada una de las funciones de

Zi (xj.xo.yj.yo) = I (0,1,2,3,5,6,7,10,11,15) = U (4,8,9,12,13,14).


Z o ( * i.x0 ,yi ,y0 ) = I

(0,4,5,8,9,10,12,13,14,15) = I ! (1,2 ,3,6,7, 11).

Ambas funciones dependen de cuatro variables. Como el decodificador es de tres entra


das 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 com
plementar, segn corresponda. As tendremos:

www.FreeLibros.me

108

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

0
1
X1

x0

yi

DEC3:8

6
7

Xi x0 y,
x, x0 y,
x, x0 yi

Xj -xo-y,
xi - xo-y!
xi - xo-y.

yo
yo

&

xi -x o -y p y ^ m o

&

xi x 0 -yi-y 0 = m 1

&

x i x0 y i yo- m 1 4

x, x0 - yi

xi xo-y.

yo
yo

&

yo
yo

&

xi x0 -y r y0 =m 1 5

Al disponer de puertas NAND de dos entradas, si las puertas AND anteriores son susti
tuidas 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.
M
Mj

MMj Mk

Mt
Como se puede ver en el grfico anterior, a la salida de la primera puerta NAND pode
mos obtener la funcin como suma (operacin OR) de sus mintrminos, y a la salida de la se
gunda puerta NAND se expresara la funcin como producto (operacin AND) de los maxtr
minos.
Si pasamos a dar la solucin para cada una de las funciones obtenindolas como salidas
de las puertas NAND de nmero variable de entradas, tendramos que elegir como entradas de
dicha puerta los maxtrminos de cuatro variables, cuyo subndice sean las combinaciones bi
narias que hacen 1 a la funcin, as quedara expresada sta como suma de sus mintrminos.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

109

-Zo

Si elegimos expresar la funcin como producto (operacin AND) de sus maxtrminos


y utilizamos una puerta NAND actuando como inversor a la salida, el circuito final sera el
mostrado a continuacin:
y
o M, Mr M, &
&
Zo
X
*i
*0
M,
yi
y
o

DEC

3:8

y
o
yo

Mg-M9

&

M.2-M13I

y
o
y
o

M14

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:

www.FreeLibros.me

110

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

0
1

O0
O,
02
03
0 4
05

O, (cada salida del decodificador)


todas las salidas a 0
slo una de las salidas activa

0 6
07

Problema 11.- Disee un circuito de 4 entradas y 3 salidas, z0, z z2 que realice las siguientes
funciones:
z 0 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.
P ara ello se dispone de:
a) Un decodificador con salidas activas en nivel alto y puertas O R .
b) Un decodificador con salidas activas en bajo y puertas NAND.

Solucin P H .- El mapa de Kamaugh para las tres funciones de salidas y el circuito final se
muestra a continuacin:
ab
0 0

0 1

1 1

1 0

0 0

0 0

0 0

0 1 0

0 0

0 1

0 0

0 1 0

1 0 0

0 1 0

1 1

0 1 0

1 0 0

1 0 0

1 0 0

1 0

0 0

0 1 0

1 0 0

0 1 0

z0 = 2: (7,11,13,14,15)
z, =1(3,5,6,9,10,12)
Z2 = 1(0,1,2,4,8 )

z0 Z1 z2

a) Se dispone de decodificador con salidas activas nivel alto y puertas OR.


z0 = n (0,1,2,3,4,5,6,8,9,10,12).
zj = n (0,1,2,4,7,8,11,13,14,15).
z 2 = n (3,5,6,7,9,10,11,12,13,14,15).

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

z0

a) Se dispone de decodificador con salidas activas nivel bajo y puertas NAND.


z0 =11(7,11,13,14,15).
Z] = n (3,5,6,9,10,12).
2 = 11(0,1,2,4,8).
0
1

3
4
5
6
7
8
9

d
DEC
4:16

z0

Mi
m 2
m 3
m 4
m 5

m5
m9

Mj

M, 2

10

^ 1 0

13
14
15

M 12
M,3
M 14
m ]5

11
12

Z1

Problem a 12.- Disee los siguientes convertidores de cdigo:


a) B C D - E X C E S O S .
b) BCD - 2 de 5.

www.FreeLibros.me

z2

112

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P12.
a) Estructura general:
di

DECOD
ABCD-

CODIF
3
2

Decimal/ 1
Exceso3 0

Zi

Zo

BCD/Decimal
Convertidor BCD/ Exceso-3
BCD
ABCD
0
1
2
3
4
5
6
7
8
9

z3
0
0
0
0
0
1
1
1
1
1

Exceso -3
Zi
Z2
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1

Zo

1
0
1
0
1
0
1
0
1
0

Z 3 = E (5,6 ,7,8 ,9) = dj+dg+d^+dg+dQ


Z 2 = E (1,2,3,4,9) = di+d 2 +d 3 +d 4 +d9
Z] = E (0,3,4,7,8 ) = do+d3 +d4 +d 7 +dg
Zq = E (0,2,4,6 ,8 ) = d 0 +d 2 +d 4 +d6+dg

b) Estructura general:
CODIF

DECOD
AB-

CD-

4
3
Decimal/ 2
2 de 5 1

2
1

BCD/Decimal!
Convertidor BCD/ 2 de 5

www.FreeLibros.me

Z4
Z3
Z2
Z,
Z0

SUBSISTEMAS COM BINACIONALES

BCD
ABCD

Z4

Z3

Z2

Z,

Z0

4
6

2 de 5

113

z 4 = X (6 ,7,8 ,9 ) dg+dy+dg+dg
Z 3 = X ( 3 ,4 ,5 ,9 )= d3+d4+d5+d9
Z 2 = X ( l, 2 ,5 ,8 ) = d 1+d2+d5+d8
Zi = X (0,2,4 ,7 )= do+d2+d4+d2
Zo = X ( 0 , 1 ,3 ,6)= do+dj+d3+d6

Cada una de las funciones de salida se realizaran con puertas OR cuyas entradas seran
las salidas correspondientes del decodifcador BCD/Decimal.
Problem a 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 AjA0, BjB 0 y
C,C0, 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=0 en otros casos.
Para conocer si dos sistemas estn en fase o no, utilizamos un comparador de
magnitudes de 2 bits:
- B. _________
~
Ub
Bo -------------<
Si la salida
=1 , los subsitemas A y B estn en fase.
Necesitaremos un total de 3 comparadores, a cuyas salidas las llamaremos
ab . Iac e Ib o Con estas salidas, diseamos un circuito con puertas lgicas que genere las

www.FreeLibros.me

114 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

salidas F y G. En el siguiente K-mapa vienen representadas las salidas F y G en funcin de las


salidas de los comparadores:
U

m e'
0

*a c

00

01

11

10

00

11

11

11

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 (IAC = 1), y el subsistema C est, a su vez, en fase con el subsitema B
(Ibc = 1) es imposible que el subsistema A est en desfase con B.
Las ecuaciones para las funciones F y G son:
F = 1ab + I ac + ^bc
G = I ab ' I ac

+ I ac ' I ab + I bc ' I ab

P ro b le m a 14.- Disee un circuito que a la salida de un multiplexor 8:1 realice la funcin:


F=
(3 ,4 ,5 ,11 ,1 2,13 ,14 ,1 5,16 ,17 ,2 4,26 ,28 ,2 9,3 1 ).
Para e l diseo se pueden usar, adem s de dicho multiplexor, un mximo de 8 puertas
de 2 entradas.

Solucin P14.-Dada la funcin a implementar, el proceso es el siguiente. Basta con elegir tres
variables de la funcin para las seales de seleccin del multiplexor. De esta forma, los resi
duos que deben entrar por cada uno de los canales de ste son funciones de las otras dos varia
bles, y estos se implementarn con las puertas que disponemos. Una de las posibles soluciones
es la que se muestra:

www.FreeLibros.me

SUBSISTEMAS COM BINACIONALES

115

F= I (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31)
abe
d e " \
00

000
0

001
1

010
0

011
1

100

101

110

111

01

10

11

Problema 15.- Un desplazador a la derecha de n bits, es un circuito combinacional que tiene


como entrada un nmero A, de n bits, m seales de control sm_1,...s0 que indican el nmero
de posiciones que se desplazar a la derecha el nmero de entrada A, y genera la salida Z
de n bits, correspondiente a l nmero A desplazado. A s por ejemplo, para un desplazador de
8 bits, cuya entrada sea 10010101 y las seales de control s2 Si s0 = 0 1 0, se genera un
desplazamiento de dos posiciones a la derecha dando, como resultado, la salida XX 100101.
Si s2 s 1 s0 = 0 0 0, no hay desplazamiento.
a) Disee un desplazador a Ia derecha de n=4 bits y m = 2 bits, utilizando 4 M U X s de 4
canales. Suponga que los bits ms significativos del resultado, X.., se llenan con 0 s.
b) Dibuje las formas de onda de las salidas, cuando A 3 A2 A 1 A 0 = 1011 y las seales
s-i s0 cambian segn la secuencia 0 0,0 1,00 ,1 1,0 0,10 con una frecuencia de 1kHz.
c) Indique una aplicacin aritmtica para e l desplazador.

Solucin P15.
a)
Dibujamos el diagrama de bloque del desplazador combinacional y su tabla de
verdad:
A3 A 2 Aj A0
si
Z2 Zi Z,
so Z 3
vt' xl' \l/ 'l'
0
a
3
0
a 2 Al A
Si ----So ----1 0 a3 a2 A
0
^ ^
^
1 0
0
0 -A-3 A
z 3 Z2 Zj z 0
1 0
0
1
0 A

www.FreeLibros.me

116

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Cada Z se obtiene de un MUX-2, donde cada fila sj s0 es un canal de entrada. Realizan


do el diseo quedara:
A3 A2 A 1 A0
0 A3 A2 A 1
0 0 A 3 A2
0 0 0 A3
m

4 4 4 .

b)
Para el caso A 3 A 2 A] A 0 = 1 0 1 1 y las lneas s sq cambiando a una frecuencia d
lKHz segn la secuencia:
sj s0: 0 0 0 1 0 0 1 1 0 0 1 0
Se obtienen las siguientes formas de ondas:
lms = 1/lKHz
<i
so
00

01

00

11

00

10

1011

0101

1011

0001

1011

0010

c)
La operacin aritmtica que realiza el desplazador es la divisin por potencias de 2
En este caso concreto se pierden los bits menos significativos, resultando:
A

=Z

2S

donde s es el nmero s sq y LxJ es el entero por defecto de x.


P ro b le m a 16.- Redisee e l circuito de la figura, utilizando slo M U X 's 2:1. Deber reducirse
en los posible el nmero de multiplexores. La nica entrada disponible en doble ral es e.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

117

Solucin P16.- Para resolver este problema determinaremos, en primer lugar, el K-mapa de
la funcin F.
ab
j e \ . 0 0 01
11
10
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:

P ro b lem a 17.- Empleando un multiplexor de tres entradas de seleccin y todos los


multiplexores que hagan falta de dos entradas de seleccin, realice la funcin lgica
f(x1,x2,...x6) que se caracteriza por tomar el valor 1 si y slo si se cumple:
x 1+ x 2+ x 3+ 2 x 4+ 2 x 5+ 3 x 6 > 4
donde x = {0,1} para i = {1,2,..,6} y las operaciones de adicin y multiplicacin indicadas son
aritmticas.

Solucin P17.- La desigualdad del enunciado describe una funcin booleana de 6 variables
f(x],X2 ,X3 ,x4 ,X5 ,X5 ), que toma el valor 1 cuando las asignaciones binarias de las variables
(xj,..xg) , satisfacen la expresin anterior, y 0, cuando no. Esta funcin booleana puede
desarrollarse segn el teorema de expansin de Shannon:
f(x 1 ,x 2 ,x 3 ,x4 ,x 5 ,x6) =x 4 x 5 x6 f(x,,X 2 ,x3,0,0,0) + x4 x 5 x 6 f(x,,X 2 ,x3,0,0,1) +
+ x4 x 5 x 6 f(X],x2 ,x 3 ,0 , 1 ,0 ) + x4 x 5 x 6 f(xj,x 2 ,x3 ,0 , 1 , 1 ) +
+ x4 x 5 x 6 f(x 1 ;x2 ,x3 , 1 ,0 ,0 ) + x4 x 5 x 6 f(x,,x 2 ,x3 , 1 ,0 , 1 ) +
+ x4 x 5 x6 f(x J,x 2 ,x3,1,1,0) + x4 x 5 x 6 f(x, ,x 2 ,x3,1,1,1)
Hemos expandido las variables x4, x 5 y x6, por ser las ms relevantes de la desigualdad.
Esta expansin se puede implementar con un multiplexor, cuyas seales de control son x4,
y Xg, y los canales, las funciones residuo. A partir de ahora, tenemos que determinar la
expresin de las funciones residuo.

www.FreeLibros.me

118

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Si en la desigualdad, sustituimos x4, X5 y x6 por 0, 0, 0, podemos comprobar que,


independientemente de los valores binarios que tomen las variables x, x 2 y x3, la desigualdad
no se cumple. Por tanto, la funcin booleana vale 0.
f ( x u x2,x 3, , , ) =
Las siguientes funciones residuo, evalan siempre 1, ya que la desigualdad se cumple
siempre, independientemente de los valores de X], X2 y x3.
f ( x u x2,x 3, , , ) =
0

f( x ,x 2,x , ,

) =

f ( x v x2,x 3,

) =

f( x ,x 2,x 3,

, 1,

) =

De las restantes 3 funciones residuo, podemos deducir que:


f ( x u x2, x3, , , ) = f ( x u x2,x 3, , , )
por lo que slo tenemos que obtener las funciones residuo f(xj, x2, x3, 0 , 0 , 1 )
f(xj, X2 , x3, 0, 1, 0). Los mapas correspondientes son:
0

0
0

rvi

X3

01

11

10

^ 1^2
"3

00

01

11

f(xj, x2, X3 , 0, 0, 1)

10

f(xj, x2, X3, 0, 1,0)

Para implementar estas funciones residuo, podemos utilizar multiplexores de 4 canales


escogiendo, como seales de control, las variables (x, x2) . A continuacin se muestra el
circuito resultante:

f(X], X2, x3, x4, x5, x6)

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

119

Problema 18.- Realice la funcin F = L (1,2,3,4,6,7,8,9,14), mediante la PAL de la figura:.

Eh

&.
:>l.

- O o

:>i.

-{ >

yg>&.
&.
&.
-j U F~

-ffl-

Solucin P18.- Sea F(a,b,c,d) la funcin a implementar cuyo mapa se muestra a continuacin:
. ab
0 0

0 1

11

1 0

0 0

0 1

1 1

1 0

La expresin algebraica de F y de la funcin complementaria F ser:


F = a-c + a-b-d + a-b-d + b-c-d + a-b-c
F = a-b-cd + bc-d + a-b-c+ a-c-d + a-b-c
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:

www.FreeLibros.me

120

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

XX = 0

i_

> l_ r
L_r V/-

---------------

2)
El PAL del que se dispone realiza la operacin AND-OR-INV. Para resolver el pro
blema 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:
1 [&
&
&
&

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-b-c-d + b c d + a-b-c) + a-c-d + a-b-c = G + a-c-d + a-b-c.
donde G = a b-c d + b c d + a-b-c.
De esta forma, G se obtiene por una de las salidas de la PAL y es reintroducida para for
mar F.

PAL:

Finalmente, tras las consideraciones anteriores se muestra la configuracin final del

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

121

ccbbaaddG G

Problema 19.- Se desea disear un circuito que tenga como entradas dos nmeros de dos
bits a=(a1 a0) b=(b1 b0) y un bit de paridad p a r 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 selec
cin y una R O M de 8 posiciones de memoria.

Solucin P19.- El circuito a disear posee cinco entradas, P, aj, ag, bj, bg y dos salidas. Lla
maremos G a la salida que indica cundo el nmero a = ajag es mayor o igual que el b = bjbo,
y salida I cuando se produce una entrada con el bit de paridad P errneo.

www.FreeLibros.me

122

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

G= 1
O
II
o

a> b
a< b
error en P
P correcto

1= 1
1= 0

Para resolver el problema disponemos de dos multiplexores de dos entradas de seleccin


y una ROM de 8 posiciones de memoria. El proceso ser el siguiente: de la salida de cada uno
de los multiplexores se obtendr cada una de las dos funciones. Dado que las funciones depen
den de cinco variables, al ser multiplexores de dos entradas de seleccin, sus residuos son fun
ciones de tres variables. Estas ocho funciones que componen los residuos sern implementadas
con la memoria, que al ser un mdulo lgico universal, en este caso de tres entradas, podemos
implementar cualquier funcin de tres variables nada ms que rellenando su contenido de for
ma adecuada.
Por tanto, se comenzar haciendo el mapa de Kamaugh de las cinco variables para las
dos funciones, G e I, y sobre l se marcarn los residuos correspondientes a cada multiplexor.
\P a ,a 0
) [ b ^ \ 000
00
1
01
0

001
1

010

011

101
1

111

100
1

110

1
1

1
1

Go
G,
g2

111

10

1
1

11

G
\P a ,a 0

b ,b ^ v

000

001

010

011

100

101

110

00

01

lo
II

10

11

I
Eligiendo b y bg como entradas de seleccin de los multiplexores, y por tanto, P a ag
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 aho
rrar en el tamao de la memoria ya que no se necesita implementar esas funciones como salidas
de la ROM. Estas son:
Gg =1

G 2 = aj

I3 = I0

www.FreeLibros.me

I] = I2

SUBSISTEMAS COMBINACIONALES

123

A continuacin se muestra el contenido de la memoria y el esquema final del circuito:


$
0
1
2
3
4
5
6
7

2
0 ROM
23x4
3 2 10

G 1G3 I0 h

[$]
1
A
A
D
2
9
9
E

bib0

Problema 2 0 .- Se desea realizar un convertidor de cdigo, de entrada 2-out-of-5 y de salida


BCD. Adems, este circuito deber poseer otra salida que detecte un error en la entrada. En
el caso de que ocurra tal error, las salidas B C D se pondrn en alta impedancia.
a) Realice el detector de error usando un M U X 8:1 y puertas.
b) Realice el convertidor 2-out-of-5 a B C D usando un PLA de no ms de 10 trminos
producto (AND).
c) Dibuje el circuito completo.

Solucin P20.- Se organizar el circuito en bloques, y se resolver cada uno por independien
te. El circuito global dispone de cinco variables de entrada X 4 - X0, por donde se expresa el
cdigo 2 de 5, y cinco salidas, cuatro de las cuales Z 3 - Z 0 expresan el cdigo de salida, cdigo
BCD, y la quinta seal, E, detecta cuando hay un error en la combinacin de entrada.
X4 -X 0

z 3 - Zq

a) Definimos la seal de error E de la siguiente forma:


E = 0 si X 4 - Xq es cdigo correcto.
E = 1 si X 4 - X q es cdigo incorrecto.
De esta forma se puede presentar el mapa de Kamaugh para la funcin E:
^ 4 X3 X2
x iX o \ 0 0 0
001
010
011
100
101
110
00

01

10

11

111

www.FreeLibros.me

124

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Una vez conocido el mapa de la funcin E, dado que se dispone de un multiplexor de


3 canales de seleccin, los residuos de la funcin sern dependientes de 2 variables de entrada.
Por tanto, a partir del mapa anterior se deducen cada una de las funciones residuo y se muestra
el circuito resultante.
X j-

x0X|

x0-

X |X 0 - | ____
X 4 X 3X 2

b)
Para realizar el convertidor de cdigo 2 de 5 a cdigo BCD natural, se muestra la tabla
de conversin para cada una de las diez combinaciones:
X4

X3

X2

Xi

X0

o3

o2

Oo

0
0

0
0

0
1

0
0

0
1

0
1

0
0

0
1

1
1

0
0

0
0

0
1

0
0

1
1

0
0

0
1

1
1

1
1

1
0

1
1

0
1

Una vez conocidas las cuatro funciones de salida basta implementar el circuito utilizan
do 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 hai; la operacin OR de aquellos trminos pro
ducto de los que participa. Siendo Pq, Pj, P2, P9 cada uno de estos trminos, las funciones
sern:
O 3 = P 8 + P9
2
P4 P 5

0 =
O =

P2

+ P6 + P7
P6 + P7

+ P3 +

= P j + P 3 + Pg + P 7 + P 9

El esquema del PLA ser el que se muestra:

www.FreeLibros.me

SUBSISTEMAS COM BINACIONALES

125

Pl
p?

Pa

Pa

P5
P*
P7
Pa
P9

X 4 X 3 X 2 X ,X

O3

0 2 Oj o 0

c)
El circuito completo ser el siguiente, donde el resultado de los apartados anteriores
quedan representados simplemente por un diagrama de bloque:
X4

%
Xi
X0

PLA
Convertidor cdigo
2 de 5 / BC D

- 9
-c = -c = -

->

->
->

z3
z2
Z1
z0

Detector de error

Problema 2 1 .- Analice e l circuito de la figura describiendo con palabras la funcin que reali
za. Puede disearse con una R O M un circuito que realice la misma tarea? En caso afirma
tivo, indique cmo se hara, a s i como el contenido de la R O M para los siguientes valores en
hexadecimal de X e Y:
X Y : 10, 11, 12, 67, 84, AA ,D F

www.FreeLibros.me

126

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 Z3 _0 contienen el
nmero X.
De igual modo razonamos cuando el nmero X<Y. La salida A<B del comparador se
encuentra a 0 lgico, lo que provoca que en la batera de multiplexores se escoja el canal 0 .
Las salidas Z^.q, 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 0 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:
Y3
yi
y\

yo
x3
x2

X1
x0

A7
a6
A t
a4

d3
d2
o,
Do

A?
a7

A1
Ao

ROM

POS
$10
$11
$12
$67
$84
$AA
$CB
$DF
$FF

CONT
1
0
2
7
8
0
B
F
0

De los 2 dgitos que forma la direccin, el primero hace referencia al nmero A, y el


segundo, al B. En el caso de que los dgitos sean iguales, la salida es 0, si son distintos, la salida
es el mayor de los dos.
P ro b le m a 2 2 .- 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) Am bas entradas, a y b, son activas.
2 ) o bien c o d o am bas son activas.
Disee este circuito en cada uno de los casos siguientes:
a ) Con M U X '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 D E C 3:8 con salidas activas en alto, una puerta N A N D de 6 entradas y un
nmero no m ayor de 8 puertas N A N D de dos entradas, suponiendo que todas las entradas y
salidas son activas en alto.

Solucin P22.- Definamos las variables booleanas C (i = 1, 2), de forma que tomen el valor
lgico 1 cuando la condicin i se cumple y 0, en caso contrario. La salida z se puede expresar
en funcin de estas variables booleanas, como:
z = Cj C 2

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

127

en el caso de que la salida sea activa en alto, o como:


z C, C 2
en el caso de que sea activa en bajo.
a) Debemos obtener, ahora, la relacin entre las variables C y las entradas a, b, c, d.
Condicin 1: Cj tomar el valor lgico 1 cuando a y b estn activas ( en alto ):
C, = a b
Condicin 2: C 2 tomar el valor lgico 1 , cuando c o d estn activas ( c = 0 o d = 0):
C2 = c + d
La salida z vendr dada por la expresin z
.a b

00

01

11

10

(a - b) (c + d ) ,

..
1

y su K-mapa es:

Si implementamos la funcin Z con multiplexores de 4 canales, nos queda:

b)
Ahora, todas las variables de entrada y la salida, son activas en alto. Procediendo de
forma similar al apartado anterior, obtendremos:
z = (a b) (c + d ) cuyo K-mapa es:
,H<

b 00

01
0

11
1

10
0

11

10

00

01

Esta funcin la implementaremos como producto de maxtrminos. Si escogemos a, b, c,


como entradas del decodificador y las salidas de este se llaman 0 , tenemos que:
M 0 = a + b + c + d = a b c d -

O0 - d

M4 =

0 2-d

a+ b+ c+ d

a b c d

www.FreeLibros.me

128

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a b c d =
M

|4

a+b+c+d

o4 d

a b c d -

o6 d

a b c d

0 7 d

a b c d

0 7 d

El producto de los maxtrminos M 4 y M ) 5 puede simplificarse


M h -M ]5 = a + b + c = 0 1
El circuito queda como:
&
d ---------- &
1
)
&
3 u
4 A
5
&
6
7
&
n

2
1
0

DEC3:8

Mn

Ma

&

Mo
M 13

&

M,4 -M1 5

PROBLEM AS CON SOLUCION RESUMIDA


P ro b le m a 2 3 .- Represente las salidas del siguiente circuito como suma de productos.

fi
h

POS CONT
0
A
1
2

3
4
5
6
7

0
2

B
C
7
3
7

Solucin P23.- Las salidas f] y f2, tienen las siguientes expresiones, donde se han sustituido
las seales de seleccin del demultiplexor, S] y sq, por las salidas de la ROM Dj, y D q, respec
tivamente.
/] = Z> 3 s | s0 + D , jj 5 0 + D 7 S| 5 0 = D 3 + D, D 0 y
f i = ^ 3 ' 5i ' 5o = ^3 '
Nos falta, por tanto, determinar las relaciones entre las salidas de la ROM (D3, Di y D0),
y las variables de entrada a, b y c. De la tabla de programacin de la ROM, deducimos los
siguientes K-mapas para D3, D, y D0:

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

ba
V 00 01 11 10
0 1 0 0 1
1 0 1 0 0
D3

vb a
V 00 01 11 10
0 1 1 1 0
1 0 1 1 1
D,

vb a
V 00 01 11 10
0 0 0 1 0
1 0 1 1 1
D0

A partir de estos K-mapas , podemos obtener los K-mapas de las funciones f] y f2:
,b a

vb a

01 11 10
0
1 1 0
0
1 1 1 1 1
fi

De donde deducimos que:


/, =

a+ c

OI

OO

01 11 10
0 0 0 0 0
1 0 1 0 0
f2

y f2 =

b a c

P rob lem a 2 4 .- Analice el circuito de la figura.

Solucin P24.- Las ecuaciones de salida del multiplexor son:


d0 = y + x + E
d = y + x + E
d2 = y + x + E
d2= y + x + E
donde el enable E, se expresa como:
E = u y + u x
Sustituyendo en las expresiones anteriores y simplificando, queda:
d0 =
d ] = y + x + d2 = y + x + u
d2 = y + x
Por otro lado, las funciones fj y f0 se expresan como:
/o = d0 - d2 = y + x + u
= d r x d3 = x - y
Por ltimo, la funcin de salida f que se obtiene, una vez reducida, es:
/ = y - + x -y
1

www.FreeLibros.me

129

130 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES


P ro b le m a 2 5 .- Disee un convertidor de cdigo Gray a binario natural de 4 bits utilizando
slo tres puertas E X O R de tres entradas.

Solucin P25.- Llamaremos g 3 g 2 gj go a las variables de entrada (cdigo Gray) y b 3 b 2 b] b 0


a las de salida (binario natural). La tabla de verdad que muestra el comportamiento del conver
tidor es la siguiente:
g3
0
0
0
0
0
0
0
0

82

0
0
0
0
1
1
1
1

gl
0
0
1
1
1
1
0
0

go b3 b2 bi
0 0 0 0
1 0 0 0
1 0 0 1
0 0 0 1
0 0 1 0
1 0 1 0
1 0 1 1
0 0 1 1

b0 g3 g2 gl
0 1 1 0
1 1 1 0
0 1 1 1
1 1 1 1
0 1 0 1
1 1 0 1
0 1 0 0
1 1 0 0

go
0
1
1
0
0
1
1
0

b3 b2 bi
1 0 0
1 0 0
1 0 1
1 0 1
1 1 0
1 1 0
1 1 1
1 1 1

bo
0
1
0
1
0
1
0
1

A partir de esta tabla pueden deducirse las relaciones:


b3 = 3
Por simple inspeccin observamos que b 2 vale 0 si g 3 = g 2 y vale 1 en caso contrario,
de donde:
b 2 = ?3 2
Por otra parte, recordemos que z = x y v s e hace 1 si y slo si el nmero total de
unos en x, y, v es impar. Observamos que b vale 1 cuando g 3 g 2 g tiene un nmero impar de
unos, de donde:
bl = g3 2 gl
O bien, b se hace 1 cuando gj ^ b 2 y se hace 0 cuando g = b 2 de donde:
bj = gi b 2 = g 3 g 2 gj
Anlogamente, bg es 1 cuando es impar el nmero de unos en g 3 g2gigo o, alternativa
mente, cuando gg ^ bj, de donde:
b 0 = gO b l = g3 g 2 gl gO
Para hacer el diseo con puertas EXOR de tres entradas, basta tener en cuenta que
x y = x y 0 , con lo que se muestra un posible diseo:

www.FreeLibros.me

SUBSISTEMAS COM BINACION ALES

131

Problema 2 6.- Se dispone de decodificadores 2 a 4 con seal de habilitacin activa en nivel


alto. Disee, con las mismas caractersticas:
a) Un decodificador 1:2.
b) Un decodificador 3:8.
c) Un decodificador de 4:16.

Solucin P26.
a)
Se quiere disear un decodificador 1:2 con seal de habilitacin activa en alta. Para
ello se dispone de uno de esas caractersticas pero con dos entradas y cuatro salidas. Una de
las posibles soluciones sera elegir una de las dos variables de entradas que tiene el decodifi
cador dado y fijarla a un valor constante. De esta forma slo dos de las salidas podrn activarse,
y sern stas las salidas del decodificador que buscamos.
Disponemos del siguiente decodificador:
E

Si fijamos una de las entradas (por ejemplo la de mayor peso asociado) a "0" quedara:
E

www.FreeLibros.me

132

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b)
Se quiere conseguir ahora un decodifcador 3:8 a partir de decodifcadores 2:
Tendremos que introducir una nueva variable de entrada, y en funcin de la combinacin
binaria de las tres entradas se activar una y slo una de las ocho salidas de las que dispone el
decodifcador (si ste est habilitado, E = 1).
Para ello, asociamos tres decodifcadores de forma que las salidas de uno de ellos sean
cuatro de las del nuevo decodifcador, por ejemplo, las cuatro menos significativas, las cuatro
salidas del segundo formarn las otras cuatro salidas, y el tercer decodifcador servir para se
leccionar a uno u otro de los anteriores segn el valor lgico de la tercera variable de entrada
que hemos incorporado. A continuacin se muestra el esquema:
E

c)
Con un razonamiento anlogo al del apartado anterior, se quiere un
decodifcador 4:16. Para ello asociaremos cinco decodifcadores 2:4, uno de ellos ir seleccio
nando uno a uno los cuatro decodifcadores restantes, proporcionando cada uno cuatro de las
diecisis salidas que tiene el decodifcador que se busca. En la siguiente figura se muestra el
esquema:

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

133

P roblem a 2 7 .- Utilizando multiplexores de menos entradas de seleccin que e l dado, se pide:


a ) Cm o implementara un M U X de 3 entradas de seleccin?
b) Cm o implementara un M U X de 2 entradas de seleccin?
c) Cm o implementara un M U X de 4 entradas de seleccin?

www.FreeLibros.me

134

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P27.- Multiplexor de 3 entradas de seleccin a partir de MUX-2 y MUX-1:

Multiplexor de 2 entradas de seleccin a partir de MUX-1:

Multiplexor de 4 entradas de seleccin a partir de MUX-2:

P ro b le m a 2 8 .- Se dispone de R O M s de n lneas de direccin y m bits por palabra, todas ellas


con CS. Disee una R O M con CS, n lneas de direccin y 2m bits por palabra.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

135

Solucin P28.- Disponemos de dispositivos como los que se muestran a continuacin:


es
Vn-O-O

ROM
2 n*m
m

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:
es
'(n-D-

P ro b lem a 2 9 .- Se dispone de circuitos comparadores de magnitud de 4 bits


lgicas. Disese un com parador de nmeros de 16 bits.

y puertas

Solucin P29.- Este problema puede tener diferentes soluciones. Presentamos, aqu, la
solucin ms simple. Para consturir un comparador de 16 bits haremos comparaciones a
grupos de 4 bits. Comenzaremos por los 4 bits de mayor peso de los nmeros A y B:
M5-12

B 15-12

www.FreeLibros.me

136

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

M 1-8

-f-

B 11-

A
G'
E'
L'

B 2

G
E
L

*15-12

B 15-12

-4

A
G'
E'
E'

> B

G
E
L

A>B
A=B
A<B

Si los bits A j 5 _i2, son iguales a los bits B j 5 _i2 >y los bits Aj _g son mayores que Bjj.g,
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 A j 5 _i2 son iguales a los bits B i 5 . 1 2 y los bits
Aj i _8 son menores a los bits B j j.g , 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 A j 5 _8 y B |5_g 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.

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 tema (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.
P ro b le m a 3 0 .- Sea

F=Z

(1,3 ,1 1,1 3 ,21 ,2 3,2 5 ,31 ) + d (5 ,19,27). Im plem ente esta funcin con

un nico demultiplexor 1:8, una puerta N A N D de ocho entradas y puertas N A ND de dos en


tradas.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

137

Solucin P30.- F(a,b,c,d,e) = E (1,3,11,13,21,23,25,31) + d(5,19,27)

P ro b le m a 3 1 .- Una llamada de telfono puede dirigirse a cuatro secretarias. (Nunca hay ms


de una llam ada 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.
S i se trata de una llamada procedente de una empresa de viajes o del aeropuerto, de
ber 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 O R de 2 entradas y una O R de 6 entradas.

Solucin P31.- Interpretamos cules sern las variables de entrada y de salida del problema.
Variables de salida:
Z jZ q: indican la secretaria a la que va dirigida la llamada:
Zi Zo
0

secretaria n2 1
secretaria n2 2
secretaria n2 3
secretaria n2 4

Variables de entradas: Se nombrarn con Xq, X j ,... 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 depen
diendo 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:

www.FreeLibros.me

138

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Llamada
Alimentacin
Ropa
Ordenadores
Banco
Viajes
Aeropuerto
Otras
-

x0
1
0
0
0
0
0
0
0

x2

Xi

0
1
0
0
0
0
0
0

0
0
1
0
0
0
0
0

X3

0
0
0
1
0
0
0
0

x4

0
0
0
0
1
0
0
0

X5

0
0
0
0
0
1
0
0

X6

0
0
0
0
0
0
1
0

x7
0
0
0
0
0
0
0

C2

C,

0
0
0
0
1
1
1

C0

0
0

0
1
0
1
0
1
0
1

1
1

0
0
1
1

Z,

Zo

1
1
1
1
0
0
0

1
1
0
0
1
1
0

Por ltimo basta obtener las expresiones de Zj y Z q en funcin de las salidas del codi
ficador.

0
1

00

01

11

10

< 2C

1
1

1
1

0
-

0
0

0
1

o
o

^ C .C 1

01

11

10

1
1

0
0

0
-

1
1

C \

Z,

Z ,= C 2

z 0- c .

La realizacin del circuito utilizando los dispositivos de los que disponemos quedara
como se muestra a continuacin:
X0
X,
X2
X3
x4

X5

Z0

X6

NC

NC: no conectada

P ro b le m a 3 2 .- Un sistema que mide peridicamente la temperatura de un experimento de


laboratorio, da la informacin utilizando nmeros de 4 bits en notacin complemento a dos.
D isee un circuito que detecte el intervalo cerrado de cdigos [-5,4], utilizando,
exclusivamente, comparadores de magnitud de cualquier nmero de bits y puertas de dos
entradas que no sean operadores lgicos universales.

www.FreeLibros.me

SUBSISTEMAS COMBINACIONALES

139

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.
I3 1 2 1 ] I0
T I3 h I. lo z
1
+0
0 0 0 0
1 0 0 0
+1 0 0 0 1 1
1 0 0 1
-7
+2
1
0 0 1 0
-6
1 0 1 0
+3 0 0 1 1 1
-5
1 0 1 1
+4 0 1 0 0 1
-4
1 1 0 0
+5 0 1 0 1 0
1 1 0
1
-3
0
+6
0 1 1 0
1 1 1 0
-2
+7 0 1 1 1 0
1 1 1 1
-1
Para el diseo con comparadores, procedemos de la siguiente manera:
a) Todas las magnitudes menores de 0101, activarn la salida.
b) Las magnitudes mayores de 1010 activarn, tambin, la salida.
c) La unin de los casos a) y b), genera la salida Z.
El circuito resultante es:

Como puede observarse, el operador utilizado, el OR, no es universal, puesto que no se


puede generar cualquier funcin utilizando, exclusivamente, este tipo de puerta.
Problem a 3 3 .- E l bloque A de la figura pone su salida yk=1 si y slo si h ay k entradas a 1.
Disee la unidad B de forma que el bloque completo C ponga z=1 si y slo si hay j entradas
a 1. Utilice slo M U X 2:1.

X0
Xi
X2

yo
JLl

_Ll

__

x3

-> z0
-> Z,
-> z2
-> z3
-> Z 4

www.FreeLibros.me

140 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P33.- Construyamos la tabla de verdad para este problema:


X0 *1
0 0
0
0
1
0
1
0
1 0
1 0
1
1
1
1
0
0
0
0
1
0
1
0
1 0
1 0
1
1
1
1

x2

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

yo
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0

yi
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0

y2

0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0

y3

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

x3

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Zo
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0

De aqu se deduce que:


X 3 = 0 = > Z = y
(i = 0,1,2,3 y Z 4 = 0)
X 3 = l = > Z i = yi _ 1
(i = 1,2,3,4 y Z 0 = 0)
con lo que se obtiene el circuito que se muestra a continuacin:

www.FreeLibros.me

Z2
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
0

Z3
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
0

z4

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

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 y B) y el acarreo generado previamente
o carry, (C); del resultado de la suma (A+Bj+C = 0,1,2 3) se genera el bit del resultado de
esa columna (F) y el acarreo a la siguiente columna (C+i): C+iFj = 00, 01, 10 o 11,
respectivamente. En el siguiente ejemplo se representa la suma de dos nmeros y los acarreos
que se generan1:
+

11
111
Acarreos
0 110 1110
A = 1 1 0 (i 0
00 1 0 0 0 11
b = 35(10
100 1000 1

F = A + B = 1 4 5 ( io

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) generado en la etapa previa y cuyo
significado para Bwj = 1 es el cotidiano me llevo uno. En cada columna se hace la operacin
Aj - (Bj + Bw) generndose Bw+] = 0, o (2 + A) - (B + Bw) generndose Bwi+i=l.
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
\
Borrows
110 10 A=26
000100 A = 4
110 1 R = n
- 1 1 0 0 0 0 B = 48
0 110 1 F =13
110 100 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
www.FreeLibros.me

142

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Suma de nmeros en notacincomplemento a 1 (Cal) y a 2 (Ca2)


Se puede demostrar que con el empleo de la notacin Cal o Ca2 para la representacin de
nmeros con signo, la suma y resta binarias puede obtenerse usando, exclusivamente, circuitos
sumadores de magnitud. A continuacin se presenta esta operacin.
La suma de dos nmeros binarios con signo en notacin Cal y en notacin Ca2 se basa
en la suma de magnitudes binarias. En el caso de que A y B estn en C al, a la suma de A y B,
como si fueran magnitudes, se le suma el bit de acarreo de salida que haya sido generado. El
resultado ltimo es el valor de la suma F=A+B escrito en notacin C al. Anlogamente se
realiza la suma en el caso del Ca2, salvo que aqu el resultado final se obtiene directamente
tras la primera suma.
Cal

Ca2

c ut A

'

> Cout
F

A
_B

_+

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

10001-15

0 1 0 0 0 + 8

11000

10101-10

-8

>401001+9

DISEO DE CIRCUITOS ARITMTICOS


Las celdas bsicas de los circuitos sumadores habituales realizan la suma de dos bits. Existen
dos tipos: los semisumadores ( H a lf Adder, HA) y los sumadores completos (F u ll Adder, FA).
Semisumadores
Tienen dos entradas A y B, y dos salidas S y C+i que se corresponden con el bit de suma y
de acarreo, respectivamente. El esquema de un semisumador- HA-, su tabla de verdad y su
estructura interna son:

www.FreeLibros.me

CIRCUITOS ARITMTICOS

\b
HA
c i+l S
v
i

Ai Bj
00
01
10
11

'i'

s c i+,
00
10
10
01

B,

143

Si

Ci+1

Sumadores completos
Tienen tres entradas Aj , B y C 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 y Ci+], con idntico
significado que en los semisumadores. El esquema, tabla de verdad y estructura interna de un
sumador completo son:.
A BjCj

000
0001 01
011
1 00
10 1
1 10
111

s c+]
00
10
01 01
10
01
01

"+ 1

11

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.
B 3-0

out

3-0

Sumador

de 4>. 1bits

!3-0
-

At Bi

1a

4
cv-in
V
Cout

a2

A 1

Ao B0

21

a b
b Jal. b Jal . b
FA_
^
FA_
r
J ^ C , q+i q <-1+1FAr i
Ci+1 C, C"i+1
S;
Si
s
si _

Tz, TZi

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, Kin y
genera un acarreo de salida, Kout, 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:

www.FreeLibros.me

144 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

>1

K0 ut<-

Sumador
Kut BCD Kin

Ip

;U
l
Sumador p

' out je 4 bits m


-------------------
0
Detector error
BCD

J li

Sumador c
out de 4 bits ir

?
Encadenando en serie K de estos sumadores, se construyen sumadores BCD paralelos
* Z

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 (s/r=l), Y = B y F = A + B + l = 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(Cn,Cn_1):

-out

Transfiere/
Complementa

J l.y

Sumador
binario Cin

s/r

UNIDAD ARITMTICO-LGICA (ALU)


Una ALU de n bits es un circuito combinacional que realiza operaciones lgicas y aritmticas
sobre 2 datos de entrada de n bits cada uno. En la siguiente figura se presenta el esquema y
tabla funcional de una ALU de 4 bits, donde existen 3 seales de seleccin que permiten
escoger entre 4 operaciones lgicas y 4 operaciones aritmticas, adems de acarreo de entrada
y salida para las operaciones aritmticas:
S2 S j s0
Operacin
000

0 0 1
0 1 0
01 1
1 0 0
1 0 1
1 1
1 1 1

F = AND(A,B)
F = OR(A,B)
F = EXOR(A,B)
F = NOT(A)
F = A+B+C;n
F = A- B+Cin

www.FreeLibros.me

CIRCUITOS ARITMTICOS

145

ndice del Captulo

Este Captulo desarrolla problemas de las siguientes materias:

- Aritmtica binaria.
- Diseo de subsistemas aritmticos.
- Manejo de circuitos y subsistemas aritmticos.

PROBLEM AS RESUELTOS
P ro b le m a 1.-Sean A y B dos nmeros binarios, a) Determ inar en funcin del nmero de bits
de A y B e l m ayor nmeros de bits de A + B y A*B. b) Realice en binario las sumas 110 + 35
y 110 + 7 3 suponiendo que se dispone de un solo byte.

Solucin P l.
a)
Supongamos que los nmeros A y B tienen el mismo nmero de bits na=%=n.
Pongmonos, a su vez, en el peor de los casos a la hora de realizar la suma, esto es, los nmeros
A y B son todo 1s. El resultado de la suma provocar un acarreo en los bits ms significativos,
por lo que necesitaremos 1 bit ms para almacenar el resultado, n+ 1 .
1...1 .... 111 A
1...1 .... 111 B
111

1 1 0

Si el nmero de bits de A es mayor que el de B, en el peor de los casos, se puede generar


un acarreo en el ltimo bit del nmero A que provoque un resultado de na+l bits.
1 ...1 .... 1 1 1
A
___________ 111 B
1

00

1 1

En general, podemos concluir que el nmero de bits del resultado vendr dado por la
siguiente expresin:
na + b = m a x ( n a, nb) + 1
n

Esta misma expresin se obtiene razonando sobre los valores mximos: A < 2 - 1 y
n,
n
n,
maxin +r + I)
# < 2 -1 - + A + B < 2 + 2 - 2 < 2
a h
-1
Para la multiplicacin tambin debemos ponemos en el peor de los casos: todos los bits
de A y B son l s.
1 1 ... 1 1 A
1 ...1 1 B
1 1
1 1
1 1

... 1

1 0

... 1

... 1

1 0

0 0 0

s0

s,

s"b-l
.,

... o i
Supongamos que el nmero A tiene ms bits que el B (na > n,). Llamemos S, a los

www.FreeLibros.me

146 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 Sq es de na; el de S],na+1; en general, el del S,
es na + i. El resultado parcial con mayor nmero de bits es Snb_i, con na + nb - 1 bits.
Por el apartado a) sabemos que la suma de los resultados parciales Sq y S j, necesitarn
un resultado de na +2 bits. Este resultado, sumado con S 2 ( que tiene na +2 bits), producir un
nuevo resultado que necesitar na+3 bits. De forma sucesiva, llegamos sumando las resultados
parciales, hasta el ltimo, Snb_i. El tamao del resultado de esta ltima suma, se necesitar
almacenar con un bit ms de los que posee Snb_j, es decir, na + nb -1 +1.
En resumen, el resultado de la multiplicacin de dos nmeros A y B de na y nb bits,
respectivamentes es:
axb

= n + n h

b) Convertimos los nmeros 110^ 10, 35(jo y 73 ( 1 0 en binario


0 12_
55 I2
1, 27 2
1,13
6 I 2
0 ' 3 l2
1 ,
1 L2 _
1, 0
1 1 0 (io = 1 1 0 1 1 1 0 ( 2 > 0 bien , si utilizamos un byte para almacenar el nmero
1 1 0 ( 1 0 = 0 1 1 0 1 1 1 0 (2 73 L2_
<*_L> 3 6
, 0 , 18 2
0, 9~1 2
4 |_2_
0,

73(10

= 0 1 0 0 1 0 0 1 (2 - Pr ltimo:
35 I 2
17
. 1,

2 I 2

"TET
1, 0

_2___

tu l
,

1 2

o, i T T
L o

35(io = 0 0 1 0 0 0 1 1 ( 2
Las sumas son:

www.FreeLibros.me

CIRCUITOS ARITMTICOS

0 1 1 0

1 1 1 0

+ 00 1 0 0 0 11
1 0 0 1 0 0 0 1

0 1 1 0 1 1 1 0
0 1 0 0 1 0 0 1
1 0 1 1 0 1 1 1

+
P roblem a 2 .-

110

35
145
110

73
183

Realice la substraccin de los siguientes nmeros binarios usando

(i) el complemento a dos


(ii) el complemento a 1
Com prubese la respuesta por substraccin directa.
a)
b)
c)
d)

1 1 0 1 0 - 1101
1 1 0 1 0 -1 0 0 0 0
1 0 0 1 0 - 10011
100 - 110000

Solucin P2.
a) Por substraccin directa
1 0
26
110 1 13
0 110 1 13
1 1 0

Por el complemento a 1

0 1 1 0 1 0
+26
+ 1 1 0 0 1 0 -13
1 0 0 1 1 0 0

0 0 1 1 0 1 +13

Por el complemento a 2
,
b) Por substraccin directa

1 0
+26
1 1 0 0 1 1 -13

0 1 1 0

.* 0 0

1 1 0

1 1 0 1 0
- 1 0 0 0 0
0 1 0 1 0

Por el complemento a 1
+

0 1 1 0
1 0 1 1
1 0 0 1 0
1
0 0 1 0

1 0
1 1
0 1
1
1 0

>+

+TT

+26
-16

+10

+26
-16
+10

www.FreeLibros.me

147

148

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Por el complemento a 2

+26
-16
+1 0
c) Por substraccin directa. En este caso se genera un acarreo de salida ya que el
substraendo es mayor que el minuendo. Sabemos que el resultado debe ser un nmero negativo
cuya magnitud se puede obtener restando al nmero mayor, el menor.
Existe Borrow final 1
18
1 0 0 1 1 19
1 0 0 1 0
~ 1 0 0 1 0 18
- 1 0 0 1 1 19
00 00 1 1 Resultado-1
=?
1 1 1 1 1
Por el complemento a 1
+ 18
0 1 0 0 1 0
+ 1 0 1 1 0 0 -19
-1
1 1 1 1 1 0
Por el complemento a 2
0 1 0 0 1 0
+ 18
+ 1 0 1 1 0 1 -19
l i l i l -1
d) Por substraccin directa
Existe Borrow 1
final.
_ 0 0 0 10 0 4
110 0 0 0 48
48
1 1 0 0 0 0
0
00100 4
=7
1 1 0 1 0 0
1 0 110 0 44 Resultado -44
Por el complemento a 1
0 0 0 0 1 0 0
+4
+ 1 0 0 1 1 1 1 -48
1 0 1 0 0 1 1
-44
Por el complemento a 2
0 0 0 0 1 0 0
+4
+ 1 0 1 0 0 0 0 -48
1 0 1 0 1 0 0
-44
0 1 1 0 1 0
1 1 0 0 0 0
> 1 0 0 1 0 1 0

P ro b le m a 3 .- Sea una A L U de 8 bits que entre otras operaciones realiza la suma sin signo
(S S S ) 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) E n qu consisten y cmo se reconocen los errores de desbordamiento (overflow)?
En su caso, cmo puede obtenerse e l resultado correcto?.
c) Realice, si es posible, las siguientes operaciones indicando si es con S S S o SC2.
1. (-75) + 125
2. (-75) +(-125)
3. 7 5 + (-125)
4. 75+125

www.FreeLibros.me

CIRCUITOS ARITMTICOS

149

Oo

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
a l+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 Cg y de overflow V, que ofrecen la mayora
de las ALUs. 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 C8: V=Exor(C 7 ,Cg). Aclaremos este aspecto.
Supongamos que tenemos dos nmeros positivos de 8 bits expresados en Ca2. Si la suma de
los bits Ag_o y B6_0, es menor de 128, no se produce ningn acarreo C7 =Cg=0, y el resultado
es correcto, tal como muestra la figura:

A 6 a 5 ...
b 6 b 5 ...
f 6 f 5 ...

Si la suma de los bits A 6 . 0 y B 6 . 0 es mayor de 127, se produce un acarreo C7=l 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 Cg=0.
Cx=0 C7=l
OO
i_____
0

A 6

b6 b5
f 6 f 5 ...

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 =0, se obtiene
un resultado positivo:

www.FreeLibros.me

150 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

C8=l C7=0
0
0
0

A 6 : a 5 ...
b 6 :b 5 ...
f 6 ;F 5 ...

La situacin siguiente es correcta y en ella no se produce overflow.


C 8= l

C 7= l

i 0 A6 ; a 5 ...
: 0 b 6 :b 5 o F6 i f 5 ...

;
i
;

Si damos un rpido repaso a las condiciones que producen desbordamiento V=1 en


funcin de C 7 y Cg, 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 Cg 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 C8:
C8F7F6F5F4F3F2PlPo
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 = B 7 = 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
Ag = Bg = 0 en el primer caso y Ag = Bg = 1 en el segundo. Entonces, al sumar la columna 8
se tendr 0 + 0 + Cg o 1 + 1+ Cg, por lo que en ambos casos el hipottico bit de signo del
resultado correcto es Fg = Cg.
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(10110101 + 01111101). Las salidas de la ALU son 00110010, que representan
el nmero +50. Se produce acarreo, Cg = 1 que se desprecia en la aritmtica en Ca2, y el bit de
overflow, V, se encuentra a 0 porque los acarreos Cg 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, Cg = 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 Cg como bit de signo, y los 8 bits del resultado,
A+B = 100111000. Esto representa el nmero -200, lo cual es correcto.

www.FreeLibros.me

CIRCUITOS ARITMTICOS

151

3) SC2(01001011 + 10000011). Las salidas de la ALU son 1100 1110, que representan
el nmero -50. No se produce acarreo Cg y V=0.
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.
Problem a 4 .-Muestre la palabra de 8 bits que representan los nmeros + 3 6 y -36 en las tres
notaciones (S-M, C a l, Ca2). Represente tambin el resultado de multiplicar por dos y de
dividir p or dos, esos nmeros. Qu relacin hay entre la palabra inicial y la final?

Solucin P4.
a) Para nmeros positivos:
En las tres notaciones se representan de igual forma los nmeros positivos. Por tanto:
+36 -> 00100100
(+36) x 2 = + 7 2 - > 01001000
(+36) + 2 = +18 -> 00010010.
En general, la multiplicacin por 2 equivale a desplazar el nmero hacia la izquierda
introduciendo un 0 como bit menos significativo y conservando el bit de signo; esto puede
comprobarse comparando las representaciones de +36 y +72. Anlogamente, la divisin por 2
equivale a desplazar hacia la derecha introduciendo un 0 como bit ms significativo de la
magnitud y conservando el bit de signo; se puede comprobar con +36 y +18. Grficamente
estas operaciones admiten la siguiente ilustracin:
0
0
x 2 i 1-------------------------f7*n
2 S
+

b) Para nmeros negativos:


La representacin de los nmeros negativos vara de una notacin a otra. En este
problema tenemos:
b l) Signo-magnitud: -36 10100100
(-36) x 2 = -72 11001000; en general, x 2
(-36) + 2 = -18 - 10010010; en general, + 2
b2) Complemento a : -36 > 11011011
(-36) x 2 = -72 -> 10110111; en general, x 2
(-36) + 2 = -18 11101101; en general, + 2

www.FreeLibros.me

152

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b3) Complento a 2: -36 > 11011100


x2

(-36) x 2 = -72 > 10111000; en general, x 2


(-36) + 2 = -18 -> 11101110; en general, + 2

sr i V -

xj

P ro b le m a 5 .- Realice las siguientes operaciones en binario, comprobando e l resultado:


a ) 2 2 x 18
b) 7 5 x 8
c) 1 8 x 4 0
d) 61 + 16
e ) 168 + 14
f) 1 6 8 + 2 0

Solucin P5.
a) 22 x 18 = 396
1 0 1 1 0

x100

1 0

22

18

1 0 1 1 0 0
1 0 1 1 0 0 0 0 0

______

1 1 0 0 0 1 1 0 0 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; 7 5 x 8 = 1001011000
c) 1 8 x 4 0 = 720
1 0 1 0 0 0 40
x 1 0 0 1 0 18
1 0 1 0 0 0 0
1 0 1 0 0 0 0 0 0 0

1 0 1 1 0 10 0 0 0 720
d) Dividir un nmero A entre una potencia de dos equivale a desplazar hacia la derecha
los bits del nmero A. As 61-5-16= 111101 -5- 10000 = 11.1101. Este resultado representa el
nmero 3.8125.
e) 1 6 8 - 14= 1 2
-

1 0 1 0 1 0 0 0
1 1 1 0

1 1 1 0

1100

0 1 1 1 0

1 1 1 0
0

www.FreeLibros.me

CIRCUITOS ARITMTICOS

153

f) 168-+20 = 8.4
1 0 1 0 1 0 0 0 11 0 1 0 0
- 1 0

1 0 0

1 0 0 0 . 0 1

1 0

...

1 0 0 0 0 0
1 0 1 0 0

1 1 0 0 0
1 0 1 0 0
0 1 0 0 0

El resultado exacto es 8.4; el obtenido hasta el cuarto dgito decimal es 8.375.


P rob lem a 6.-Las sumas y restas en complemento a 10 tienen las mismas reglas que las
sumas y restas en complemento a 2.
a) Represente + 1 49 y -178 en complemento a 10 con 4 dgitos, el m s significativo de
los cuales acta como " dgito de signo".
b) Sum e (+149) +(-178) en complemento a 10.
c) R epresente+149 y -179 en B C D bajo complemento a 10, usando un bit como signo.
d) Sum e en B C D y complemento a 10 (+149) + (-178), interpretando la respuesta.

Solucin P 6 .
a) El complemento a 10 de un nmero A, para n dgitos, viene determinado por la
expresin Cal0(A) = 10n - A. Por ejemplo, para n = 4 el Cal0(9876) = 104 - 9876 = 0124; y
el C al0(4342) = 5658. Para representar nmeros decimales con signo en el convenio basado
en el Ca 10 se procede como en el caso del Ca2; esto es, +N se representa como N( q y -N, como
Cal0(N). En consecuencia:
+ 149 0 1 4 9: el dgito 0 se corresponde con el signo +
178 > Cal 0(0178) = 9 8 2 2: el dgito 9 corresponde con el signo b) Realizamos, ahora, la suma. Con idntico criterio que en Ca2, si se produce un
acarreo, se desprecia.
0 14 9
+9822
997 1

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:
Cal0(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)bcd = 0000101001001
- 178 -> !Cal0(178)BCD = 1(822) = 1100000100010

www.FreeLibros.me

154

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

d) La suma de los valores anteriores ser:


1*
0

0001

0100

1001

1000

0010

0010

1001

0111

1011
0110
0001

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 1100101110001, 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
-Cal 0(971) = -29.
P ro b le m a 7.-La substraccin binaria directa F=A-B produce una diferencia correcta si A es
m ayor o igual que B. Cul podra s er e l resultado si A es m enor 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( iq yB = 15( iq):
Borrow final=l
1010 A
-1111 B
1011 F

Como se observa, se produce un acarreo final o borrow y el resultado F de la operacin


(F = 11(10) no se corresponde con el valor correcto de la diferencia (-5). Supongamos que

realizamos la operacin 2n + A - B, donde n representa el nmero de bits de los nmeros A y


B. La nueva operacin sera:
Borrow final=0
11010 A
-01111 B
QlOl): 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 2n es suficiente para cubir el arrastre final. Entonces, F = 2n - (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= 1), por lo que tenemos un
nmero negativo expresado en notacin de complemento a 2 .

www.FreeLibros.me

CIRCUITOS ARITMTICOS

155

Problem a 8.-Disee a nivel de puertas un sum ador completo de tres bits (adem s de posibles
acarreos). Utilizando el diseo anterior, realice un sum ador paralelo de 3 nmeros de n bits.

Solucin P 8 .- 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 l s:
_ 2 2 2 _1 __
Acarreo
1 1
1 1 1 1 1
1 1 1 1 1
... 1 1 1 0 1

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:
yj
zi

Sumador
completo

Q>
Ci

c0

Cl
La salida Fj, responde al siguiente K-mapa:
^ zi

0 0 0 001 011 010 110

111

101 100

00

01

11
10

En este caso, en lugar de minimizar la salida, vamos a acomodarla a las expresiones de


salida que conocemos para los sumadores convencionales. Como puede observarse en el
K-mapa, las ecuacin de salida es la funcin Exor de las variables de entrada, salvo c que, si
escogemos adecuadamente las inespecificaciones, no afecta:
Fj = Xj yj Zj c0

www.FreeLibros.me

156

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Para el acarreo de salida, tenemos el siguiente K-mapa:


*i yi zt
000
c,c 0

001 011 0 10 110

111 101

100

00

00

00

01

00

01

01

01

00

01

00

01

01

01

01

10

01

01

01

01

10

01

10

10

10

01

11
10

C,G
1 M)

de donde se obtienen las siguientes ecuaciones:


c \ = y_jb.c\+xjyjc\+ h h c\+ x jyZjC0 _

___

___

___

c o = xjyjcl + XjZjCj + yjzjc l + XjyjCo + XjZjC0 + yjZjC0 + x^-c, c0 + xjzjc ]c0 + yjzjc l c0
b)
Para el sumador paralelo de n bits, utilizaremos n unidades sumadoras, realizando un
conexin de acarreo en serie entre ellas.
z n-l ^n-l Xn_j
zi yi xi
zo yo x o
o
o

P ro b le m a 9.-La A L U de 4 bits de la figura se incluye dentro de un Cl. Muestre las conexiones


entre 3 C l pra formar una A L U de 12 bits. Asigne los arrastres de entrada y salida en la ALU
de 12 bits.

s2

S1
s0

Solucin P9.- Para formar una ALU de 12 bits nos basta con 3 ALUs 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:

www.FreeLibros.me

CIRCUITOS ARITMTICOS

157

s 2
Si
S0
c in

7-4

11-8

3-0

P rob lem a 10.- Disee un circuito aritmtico con dos variables de seleccin

s 7 y s 0 que realice

S1 s0
0 0
0 1
1 0
1 1

5nI
o

las siguientes operaciones aritmticas. Indique una solucin para una etapa tpica.

F=A+B
F=A
F=B
F=A+B

Cin=l
F=A+B+1
F=A+1
F=B+1
F=A+B+1

Solucin PIO.-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 S] y s0. En
concreto, si Sj Sq = 00, las entradas a y b tendrn los nmeros A y B respectivamente; si
sj Sq = 01, a = A y b = 0; si sj Sq = 10, a = 0 y b = B; y si sj Sq = l l , a = A y b = 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:
AA0A

B0BB

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

www.FreeLibros.me

158

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

completo (FA) . La estructura de la etapa viene representada en la siguiente figura:


si
o

Hay que disear el circuito combinacional (C.C.) de modo que, en funcin de los valores
de control S) sq, y los bits i de los nmeros A y B, permita suministrar las entradas adecuadas
a y bj del sumador completo, para que su salida se corresponda con la operacin especificada.
Podemos obtener, sin mayor dificultad, el K-mapa del C.C.:
11

10

01

11

10

b = B

01

00

00

10

10

ai - A

11

01

00

10

11

ai = A j

b, = B

10

01

00

00

01

a = 0

_cr
II
031

_6J
II
>

01

O
1!
JO

A B
, s \
00
u
00
00

ai b i
de donde obtenemos las siguientes ecuaciones:
a.

A,i,
=

+As 0

Bis xs 0 + Bsl

P ro b le m a 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 P ll.
a) Realizaremos, en primer lugar, la multiplicacin entre los dos nmeros:
A7 A6 A5 A4 A3 A2 A! A0
1 0

A 7 A A5 A4 A3 A2 A, A0
A? A6 A5 A4 A3 A2 Aj A0
Z i5Zi4Z1 1Z11Z ,0Z9Z8 z 7 z 6 z 5 Z4 Z3 Z2 Z \ z 0

www.FreeLibros.me

CIRCUITOS ARITMTICOS

159

Comprobamos que los 7 bits menos significativos del resultado se obtienen


directamente de los 7 bits menos significativos del nmero A. A partir de aqu, el siguiente bit
del resultado, Zg, debe calcularse sumando A 7 con A0. Si esta suma genera un acarreo, se
deber aadir al siguiente bit (At) para obtener Zg. As se procede sucesivamente. Para ello,
como estas sumas son slo entre dos bits, bastar usar semisumadores (HA). El acarreo de la
ltima unidad, es el bit de mayor peso del resultado, Z15. El circuito resultante es:

Zl 5

Z14

13

6 Z 5 Z 4 Z 3 Z 2 Z, z 0

b)
Operamos de forma similar al apartado anterior. Realicemos en primer lugar la
multiplicacin para conocer qu elementos debemos utilizar en el circuito.
A7 A6A 5A4A 3 A2 A] A0
1 0

A -j A A 5 A 4 A 3 A 2 A ]
A7 A5A5A4A 3A2A]

Aq

Aq

Z 13 Z 12Z n Z ) 0Z 9 Zg z 7 z 6 Z 5 Z 4 z 3 o o o

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 A2, lo cual puede obtenerse con semisumador; el bit Zg, sumando A 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 Z 10. Los bits Z j y Z 1 2 pueden obtenerse
con semisumadores y el bit Z 1 3 corresponder con el acarreo del ltimo semisumador. El
circuito resultante es:
A7

Z ,13

A7

z 12

A 5 Ag

Z 10

A4

z9

A5 A3 A4

Zg

A2

z7

www.FreeLibros.me

A3

Aj

z6

A2

A 0 A iA q

z5

z 4 z 3 z 2z ,z 0

160

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 12.- Se dispone de una A L U de 8 bits m uy simple, ya que slo hace las


operaciones de "suma"y transfiere e l complemento", como se indica en la figura adjunta:

"

B
X Cin F
0 0 A+B
0 1 A+B+l
1
A

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=LHLJ.
a) Utilizando una sola ALU, indique justificadamente, qu hay que realizar para obtener
M =K +L (M = M h M l ) 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 e l apartado anterior para obtener M=K-L.
c) Disee la A L U 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 y Ll , respectivamente. Las seales


de control de la ALU deben ser XCn = 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 = C8.
2) Introducimos por las entradas A y B los bytes KH y Lpj, respectivamente. Las seales
de control de la ALU son XCn = OCg, de forma que si en la etapa anterior se gener acarreo,
Cg = 1, se calcula la operacin A+B+l y en caso contrario, A+B. La salida F corresponder
con el byte significativo del resultado MH. Llamemos C 16, al acarreo que se haya generado en
C

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
b) Para realizar la diferencia KL, 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

www.FreeLibros.me

CIRCUITOS ARITMTICOS

161

dispone de la operacin A, que se corresponde con el complemento a 1 del nmero A. Sabemos


que el complemento a dos puede ser obtenido fcilmente a partir del complemento a 1 , sin ms
que aadirle la unidad. Por tanto, primero procederemos a calcular el complemento a 1 del
nmero L y posteriormente, realizaremos la operacin K+L+l. Esto determina la diferencia
K-L.
1) Introducimos el byte menos significativo de L (Ll ), por la entrada A. Las seales de
control de ALU deben ser XCin=l-, Por la salida F, obtenemos L l y se almacena.
2) Introducimos ahora el byte significativo, LH, por la entrada A. Las seales de control
de la ALU deben ser XCin=l-. A la salida obtenemos F=LH y se almacena.
3) Introducimos KL y L l por las entradas A y B de la ALU. Las seales de control deben
estar a XCn=01. Por la salida F, obtenemos M l y se almacena.
4) Repetimos, por ltimo, los pasos 2 y 3 del apartado anterior.
c)
Los sumadores permiten realizar las operaciones F=A+B cuando el acarreo de
entrada est a 0 lgico, y F=A+B+1, cuando est a 1 lgico. Construimos, por tanto', un
sumador de 8 bits utilizando sumadores completos de 1 bit. Por otro lado utilizaremos
inversores para implementar la nica funcin lgica de esta ALU, F=A. La unin entre la parte
lgica y la aritmtica se puede realizar mediante multiplexores controlados por la variable X.
La seal de overflow, puede ser obtenida mediante la Exor del acarreo de salida (Cg) y el
acarreo de la etapa anterior (C7).
A7 B7
A6 B 6
A! B]
A0 B0

P ro b le m a 13.- Sean X e Y dos nmeros binarios positivos expresados en notacin


complemento a 2. Utilizando la A L U de la siguiente figura, indique las operaciones a realizar
en la A L U para que sus salidas representen el mdulo del resultado de la diferencia entre los
nmeros X e Y.

A 3-0

B 3-0
S1 s0
0
0
1
1

0
1
0
1

www.FreeLibros.me

Operacin
F = AND(A,B)
F = A+Cin
F ~ A+B+Cin
F = A+B+Cin

162

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P13.-E1 valor pedido, IX - Yl, se obtiene conX - Y si X > Y y con Y - X = -(X -Y )
si X < Y. Para obtenerlo hacemos A = X, B = Y, Cn = 1 y Si Sq = 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-Yl, y
CQut = 1; y X < Y, en cuyo caso F = X - Y es un nmero negativo y Cout = 0. Por tanto, si
Cout = 1, la salida F proporciona directamente el mdulo de la diferencia y si Cout = 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,
Cn 1 y SjS0 - 11.
b) Reintroducir el resultado anterior F = X - Y por A y aplicar las entradas Cin = 1 y
sj Sq = 01, en cuyo caso obtendremos a la salida F = A+l = Ca2(A) = Y - X.
PROBLEM AS CON SOLUCIN RESUMIDA
P ro b le m a 14.- Realice las siguientes sum as sin pasar a la base decimal:
a ) 1110 (2 + 1001 (2
b) 100.1(2 + 111 (2
c) F 0 2 B (i6 + 1 0 2 1 (i6
d) 1230(4 + 23(4

Solucin P14.
a)
1
1 1 1 0

1 0 0

1 0 1 1 1
1
1 0 0 . 1

1 1 1
1 0 1 1 .1
1

F 0 2 B( 16
1 0 2

1 l6

1 0 0 4 C( 1 6
1

12 3 0 (4
+
2 3 (4
1 3 1 3 (4

www.FreeLibros.me

CIRCUITOS ARITMTICOS

163

Problem a 15.- Multiplique los nmeros del problema anterior sin p asar a la base decimal.

Solucin P15.
a)
1 1 1 0
1 0 0 1

1 1 1 0
1 1 1 0
1 1 1 1 1 1 0

b)
x

1 0 0 .1
1 1 1
1 0 0 1
1 0 0 1
1 0 0 1
1 1 1 1 1. 1

c)
Debe utilizarse la tabla de multiplicar en base 16, de la que se ilustran
algunos casos:
F 0 2 B (16
x 1 0 2 1(16
F02B
1E056
F02B
F 2 1 A 5 8 B(16

2 x B = 16(16
2 x F = 1E( 16

d) Debe utilizarse la tabla de multiplicar en base 4, de la que se ilustran algunos casos


1 2 3 0 (4
+

23J 4 _

1 1 0 10
3 12 0

1 0 2 2 1 0

(4

3 x 3 = 21(4
3 x 2 = 12(4

2 x 2 = 10(4
1

P ro b le m a 16.- Realice las operaciones aritmticas siguientes en binario utilizando:


a ) la notacin en complemento a 1
b) la notacin en complemento a 2
y compruebe el resultado usando la aritmtica decimal:
1) (+42) + (-1 3 )
2 ) ( + 4 2 ) - (-1 3 )
3) (-4 2 ) + (-1 3 )
4) ( - 4 2 ) - ( - 1 3 )

www.FreeLibros.me

164

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P16.
1)
a)

1
0 1 0 1 0 1 0
1 1 1 0 0 1 0

42
-13

b>

0 0 1 1 1 0 0

> 1
0011101

0 10 10 10
1 1 1 0 0 1 1
0 0 1 1 1 0 1

42
-13
29

29

2)
En este caso y en el siguiente la magnitud del resultado es mayor que la magnitud de
cada operando. Aunque en este problema no ocurre, en situaciones similares puede haber
desbordamiento por lo que hay que verificar si V = 0 antes de validar el resultado:
a)

0 1 0 1 0 1 0

+ 0 0 0 1 1 01
0 1 1 0 1 1 1

b>

42
13
55

0 10 10 10
+ 0 0 0 1 1 01
0 110 111

42
13
55

3)
a)

-42
-13

1 0 1 0 1 0 1
1 1 1 0 0 1 0

b)

1 0 0 0 1 1 1

>

1 1 1 0 0 1 1
1 0 0 1 0 0 1

1 0 0 1 0 0 0

1 0 1 0 1 1 0

-42
-13
-55

_55

4)
a)

1 0 1 0 1 0 1
0 0 0 1 1 0 1

1 1 0 0 0 10

-42
13
29

b)

1 0 1 0 1 1 0
0 0 0 1 1 0 1
1 1 0 0 0 1 1

-42
13
29

Problema 17.- Realice las siguientes operaciones utilizando 10 bits, 3 de ellos para la parte
fraccionaria, usando la notacin en complemento a 2. Com pruebe e l resultado verificando los
posibles errores.
a ) (+22.25) + (+13.13)
b) (+22.25) - (+13.13)
c) (-2 2 .2 5 ) + (+13.13)
d) (-2 2 .2 5 ) - (+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.

www.FreeLibros.me

CIRCUITOS ARITMTICOS

165

a)
0 0 1 0 1 1 0.0 1 0
+

22.25

0 0 0 1 1 0 1 .0 0 1
0 1 0 0 0 1 1.0 1 1

13.13
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(000l01.001) = 1110010.111
X

0 0 1 0 1 1 0.0 1 0

22.25

+ 1 1 1 0 0 1 0.1 1 1

-13.13

0 0 0 1 0 0 1 .0 0 1

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
1 1 0 1 0 0 1.1 1 0
+ 0 0 0 1 1 0 1 .0 0

-2 2 .2 5

1 1 1 0 1 1 0.1 1 1

13.13
-9 .1 2 5

El resultado se obtiene con un error de 0.005.


d)
/

1 1 0 1 0 0 1.1 1 0

+ 1 1 1 0 0 1 0.1 1 1
1 0 1 1 1 00.1 0 1

Se produce un error de 0.005.

-2 2 .2 5
-1 3 .1 3

-35.375

P ro b le m a 18.- Se dispone de circuitos lgicos ITE. Estos circuitos poseen tres entradas y
una salida, y realizan la siguiente funcin de conmutacin IT E (f,g ,h )= fg + fh . Realice la etapa
tpica de una unidad lgica que responde a la siguiente tabla, segn la organizacin indicada
en la figura y utilizando, exclusivamente, M U X 4:1 en e l C.C. . Las entradas se disponen en
ral doble.

S2 8 ] S0

F;

0
0

h -

0 00

0 1
1
1 1

1
1
1
1

o
oo
0 1
1 o
1

Ai

AB
A+B
A .B ,
A+B
E xo r(A ,B i)
N exor(A ,B )

www.FreeLibros.me

166

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 Fj = 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 S| s 0
\ ^ 0 0 0 001 0 1 0 011 100 101 110 111

1 1 00

01

10

11

f - Fj
Como se observa, cada columna de la funcin f corresponde a la operacin lgica
especificada en el enunciado. El circuito resultante, utilizando multiplexores de cuatro canales,
es:
s0

--

So---- 1
So 2
3 10
s0
II
o 0
s 0 ---- 1
So---- 2
s0 3 1 0
1 1
1 0
so 1
s 0 ---- 2
3 10
s0
ir
So---- 0
1
s0
So 2
3 10,
s0
s2 S1

P ro b le m a 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.
C uando s = 1, e l 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 Cn para generar F = A+l cuando s = 1. El circuito de la figura siguiente
deja pasar a B si s = 0 y da un 0 si s = 1:

www.FreeLibros.me

CIRCUITOS ARITMTICOS

B,

167

Bn

El circuito final ser:


>3-0

Problem a 2 0 .- Para la A L U de 8 bits de la figura, determine la salida F para todas las com
binaciones posibles de s2 s 1 s0 si las entradas A y B contienen los nmeros binarios $23 y
$F0, respectivamente, y el acarreo de entrada es 0.

W-o

s2 Sj s0

B 7-0

> Cout

000
00 1
0 10
0 11
100
10 1
1 10
111

Operacin

F = AND(A,B)
F = OR(A,B)
F = EXOR(A,B)
F = NOT(A)
F A+B+Cin
F = A+ B+Cin
F = A+ $FF +C;n
F = A + Cln

Solucin P20.
a) s2 s, s0 = 000. F = AND($23,$F0) = $20.
b) s2 S! s0 = 001. F = OR($23,$F0) = $F3.
c) s2 Sj s0 = 010. F = EXOR($23,$F0) = $D3
d) s2 sj s0 = 011. F = NOT(A)=$DC.
e) s2 s j Sq = 100. F = A + B + Cjn = $23 + $F0 = $ 13 y CoUt= ^
f)s 2 Sj Sq = 101. F = A + B + Cjn = $23 + $0F = $32 y COU[=0.
g) s2 s j Sq = 110. F = A + $FF+ Cjn - $23 + $FF = $22 y C 0 U[=1.
h) s2 sj sq = 111. F = A + Cjn - $23 y Cout=0.

www.FreeLibros.me

Captulo 7
ANLISIS DE CIRCUITOS SECUENCIALES

Los circuitos combinacionales no tienen capacidad de almacenamiento de informacin por lo


que su salida est perfectamente determinada a partir de los valores presentes en las entradas.
En mltiples e interesantes casos, por el contrario, la salida Z del sistema en un instante tg de
pende no slo del valor de las entradas X en tg sino de la evolucin del sistema hasta tg; esto es:
Z(tg) = Z((X (tg), X (t < tg))

Este tipo de funcin corresponde a las denominadas funciones secuenciales, autmatas


o mquinas de estados finitos. Su estudio para el caso de realizaciones con circuitos digitales
es el propsito de este Captulo.
MODELOS SECUENCIALES Y REPRESENTACIONES
Las situaciones en las que puede estar un circuito secuencial no son ilimitadas. Entonces,
para caracterizar al circuito es posible establecer un conjunto finito de estados internos (o sim
plemente estados), S , S 2 , S ^, cada uno de los cuales representa una de las situaciones del
circuito. La salida y la evolucin del sistema quedan bien establecidas si se conoce el valor de
las entradas (estado de entradas I j) y el estado presente (S j). El valor de la salida O admite dos
modelos:
- De Mealy, en el que la salida depende tanto de la entrada como del estado presente,
cumplindose que O = 0(lj, S).
- De Moore, en el que la salida depende slo del estado presente, O = O(Sj).
La evolucin del sistema viene marcada por el cambio desde el estado presente Sj al
prximo estado NS que en ambos modelos depende de la entrada y del estado presente:
N S = N S ( Ij, S).

La representacin de una mquina secuencial suele hacerse mediante grafos o tablas de


estados/salida, de la forma siguiente:

169
www.FreeLibros.me

170

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

"A

Ij/Oj, Si) ( NS
Mealy

NS, 0

NS

Mealy

0(S.)

Moore

CIRCUITOS SECUENCIALES
La realizacin de mquinas secuenciales con circuitos digitales es lo que se conoce como cir
cuitos secuenciales. En ellos, los estados de entrada I corresponden a valores de las seales de
entrada X, los de salida O a las seales de salida Z y, tambin, los estados internos correspon
den 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 > q,
donde q = q ... 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 alma
cenado 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 ha
cerse de forma asincrona 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 deno
minada 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 excita
cin tiene la forma:
X

Ql Qn

T, ...Tn

T junto con el estado presente q


producen el adecuado Q

Las funciones de excitacin (por ej. T) y de salida (Z) son funciones combinacionales
de las entradas (X) y de las variables de estado presente (q). As, el esquema general de un cir
cuito secuencial sncrono es:

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

171

-> Z

Circuito
combinacional

Banco
de
biestables

Excitaciones de los biestables


(porej. Tj)

clk

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:
.JK
.S R
X 0 0 0 1 11 1 0
X 0 0 0 1 11 1 0
S J
q
1
1
0
1
0
0
0
0
0
0
0
1
0
1
1
1
1
1
RKq
c)
c
-

Tabla de transicin biestable S R


_D

qN

0
0 0
i 0

i
i
i

Tabla de transicin biestable J K

XH N 0
0

Tabla de transicin biestable D

0
1

1
1
0

Tabla de transicin biestable T

Smbolo lgico

DT

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 estruc
turas:
- Master-Slave en la que el biestable puede captar valores de entrada durante el ni
vel previo al flanco activo.
- Edge-triggered, en el que las entradas slo afectan en el entorno del flanco
activo.

clk

(Latch, nivel H)

Master-Slave , flanco bajada) (Edge-triggered , flanco subida)

www.FreeLibros.me

172

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

La mayora de los biestables sncronos incorporan una o dos seales de excitacin asin
cronas para la puesta a 1 (preset) o a 0 (clear ) del biestable. Operan de forma similar a las se
ales S y R. El biestable debe tener las entradas asincronas desactivadas para poder operar sn
cronamente.
ANLISIS DE CIRCUITOS SECUENCIALES
El problema del anlisis de un circuito secuencial tiene como dato el circuito y, a veces, la
secuencia de valores de entrada. Como objetivo, hay que determinar la tabla o grafo de
estados/salida; a veces, tambin una descripcin verbal de la operacin que realiza y, en otros
casos, un diagrama temporal de la evolucin entrada-salida.
Si el circuito secuencial obedece al esquema general presentado previamente, (sncrono
con una sola seal de reloj), el proceso de anlisis es: 1 -) se determinan las ecuaciones de ex
citacin y de salida por anlisis de la parte combinacional del circuito global; 2 2) se represen
tan esas funciones en forma de tabla (de excitacin y de salida); 32) a partir de sta, se obtiene
la tabla de transicin sin ms que tener en cuenta la tabla de estados de los biestables involu
crados; 42) se obtiene la tabla de estados/salida, sin ms que asociar un smbolo de estado a
cada cdigo de las variables de estado; en su caso; 52) se dibuja el grafo y se interpreta, y 2)
se determina la secuencia entrada-salida.
Si el circuito secuencial no obedece al esquema general, el anlisis se debe llevar a cabo
mediante la obtencin de cronogramas de las seales de estado y de salida.
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias:
- Diseo de un biestable a partir de otro.
- Anlisis temporal de un biestable.
- Anlisis de circuitos secuenciales.
- Anlisis de circuitos secuenciales sin el esquema general.
PROBLEM AS RESUELTOS
P ro b le m a 1.-Obtenga los biestables J K y T a partir de un biestable D.

Solucin P l.- 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.

Para construir la solucin, comenzaremos por presentar la tabla de transicin del

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

173

biestable JK y la tabla de excitacin del biestable D.

K
00 01 11 10
0 0 1 1
1 0 0 1

q ->Q D
0 - 1 1
1 -* o 0
i -> i 1
0 -> 0 0

Para cada transicin del biestable JK se puede encontrar la excitacin en el biestable D


que la lleve a efecto. Expresndolo en el siguiente mapa de Kamaugh se tiene:
J

De aqu obtenemos la expresin para D :D =


se muestra en la figura:

J q + K q.

El circuito correspondiente

Para el biestable T procedemos de idntica manera.

A partir de la tabla de transicin del biestable T y de la de excitacin para el biestable


D, se llega al mapa que se muestra a continuacin de donde se obtiene la ecuacin lgica para
la lnea D y asimismo se muestra el circuito resultante:
0
1

1
0

q -> Q D
0 -> 1 1
1 -> o 0
i -> i 1
0 -> 0 0

La ecuacin de entrada al biestable D es: Z) =

\T

1
0

D
T q + T q

www.FreeLibros.me

174

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 2 .-S e pretende construir un circuito como el de la figura, el cual podr actuar como
RS, D, T o JK dependiendo del valor de
C0 (ver tabla). Diselo utilizando como nico

C? y

elemento de memoria un biestable tipo T.


c, c 0

Iii I,

0
1
1

1
0
1

II lo
R s
D
T
J K
-

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 problema 1, obtenemos las siguientes
ecuaciones de entrada:
7 = S q + R q
7 = Jq +Kq
T = D q

Asociando cada ecuacin con el caso correspondiente C j C q e identificando las entradas


Ij e Iq con las del biestable en cada caso, se tiene:
7 = In q + I r q
CjCq = 0 0
C 1 C 0 = 01
7 = q
C j C q = 10
7= T
C ,C 0 =11
7 = <7+ 4 9
Combinando estas expresiones en una sola:
7 = (Ir q + I , - q) C, -C0 + (/, q ) C, C0 + T C, C 0 +(/, q + / q ) C, C0
Esta expresin, nos permite realizar el circuito utilizando un multiplexor, cuyas entradas
de seleccin son C] y C q.
P ro b le m a 3.-a) Encuentre la forma de onda de salida de un biestable R S Master-Slave para
la siguiente secuencia de entrada:

b) Cm o sera la onda de salida si se tratara de un R S disparado por flanco


descendente (negativo)?
c) Idem para flanco positivo.

Solucin P3.
a)
El biestable M aster-Slave est formado internamente por dos latches SR, tal como s
muestra en la siguiente figura:

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

Master
s R -

clk

Rm 4m

175

Slave
Ss

qs

Rs

qs

L h

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

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
(Sm = 1) fuerza a que qm = 1. En el intervalo [tj^ ], clk = 0, con ello el biestable M aster
mantiene su estado inalterable, y el Slave lee en sus excitaciones los valores 10
(SsRs = qmqm = 10) por lo que qs toma el valor lgico 1. En el intervalo [t2 ,t3 ], clk = 1.
A principio del intervalo, SR = 00 por lo que el M aster mantiene el valor del estado en el que
estaba, pero el cambio que ocurre en Rm provoca un cambio en qm que toma el valor 0. Durante
[1 3 ,1 4 ] clk = 0, el amo mantiene su estado y el esclavo cambia a 0 ya que sus entradas SsRs = 01.
Con este razonamiento se contina deduciendo la evolucin temporal del biestable
M aster-Slave la cual se muestra en la figura.
b)
En los biestables disparados por flanco el proceso es diferente. Slo se tiene en cuenta
las entradas existentes en el momento que se genera un flanco activo en la seal de reloj. Estas
entradas, y el estado presente del biestable, determinan el prximo estado. En el caso de que
exista una transicin de entradas en el flanco activo, se tomarn como valores vlidos, los
inmediatamente anteriores al flanco. En la siguiente figura se representan las formas de onda
del biestable RS disparado por flanco negativo.

www.FreeLibros.me

176

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk

l0

S
R

l-

"7^-

Hasta el instante q, 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 tj, las entradas son SR = 01, esto implica que, durante el siguiente ciclo
de reloj, la salida es 0 .
En el instante t2, las entradas son SR = 00 por lo que se mantiene el estado.
Para el instante t3, las entradas son nuevamente SR = 00, por lo que se mantiene el
estado.
c) Para flanco positivo se opera de igual forma.
clk
3
3
S
__ n
R
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 tQ y tj,
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 t3, no altera el contenido del biestable ya que SR = 00.
P ro b le m a 4.-P ara cada uno de los circuitos de la figura, justifique razonadam ente si es vlido
como biestable para realizar cualquier circuito secuencial.

(a)

(c)

Solucin P4.- 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 > 0 , 1 > 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 > 1 .

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

ab

00

Q1

11

10

177

SI obtenemos el K-mapa para el circuito de la figura (b), podemos observar que no


existe transicin de 1 > 0 :
q\ b 0 0 0 1 1 1 1 0
0

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:
^

b 00

01

11

10

P ro b le m a 5.-AnaUce el circuito de la figura:

Solucin P5.- Cuando se analiza un circuito secuencial se tiene como objetivo determinar su
operacin.
Los pasos del mtodo de anlisis son:
a)
Obtener las ecuaciones de excitacin y de salida. Cada una de las entradas (excitaci
nes) 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:

www.FreeLibros.me

178

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

J = Y q}
[2

K, = X

(.X ' C2 t-X

T2 = Y-

(X < ?3) =

X ' (^2 '

* ^ i)

^2

Z = X+^j+J'^2 + X ' ^ 1 = X+

X Y q, + X Y q3

X Q\

tf}

b)
Escribir la tabla de excitacin/salida. Las ecuaciones antes obtenidas se expresan me
diante un mapa de Kamaugh. En nuestro caso:
\ XY
.q X
00
01
11
10
000
0 0 ,0 , 1 , 1
0 0 ,0 , 1 , 1
0 1 ,1 , 1 , 1
0 1 ,0 , 1 , 1
001
1 0 ,1 ,1 , 1
1 1 ,0 , 1 , 1
0 1 ,0 , 1 , 1
0 0 ,0 , 1 , 1
011
0 0 ,0 , 1 , 0
1 0 ,1 ,1 , 0
1 1 ,0 ,0 , 1
0 1 ,0 ,0 , 1
010
0 0 ,0 , 1 , 1
0 0 ,0 , 1 , 1
0 1 , 1 ,0 , 1
0 1 ,0 ,0 , 1
110
0 0 ,0 , 1 , 1
0 0 ,0 , 1 , 1
0 1 ,1 , 1 , 1
0 1 ,0 , 1 , 1
111
0 0 ,0 , 1 , 0
1 0 ,1 ,1 , 0
1 1 ,0 , 1 , 1
0 1 ,0 , 1 , 1
101
0 0 ,0 , 1 , 1
1 0 ,1 , 1 , 1
1 1 ,0 , 1 , 1
0 1 ,0 , 1 , 1
100
0 0 ,0 , 1 , 1
0 0 ,0 , 1 , 1
0 1 , 1 ,1 , 1
0 1 ,0 , 1 , 1
JiK 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, qjq 2 q 3 = 000, se tiene Jj Kj =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 = 0, en la misma celda de la tabla de transi
cin pondremos Qj = 0. Anlogamente, en esa celda Q 2 = 0 (ya que T 2 = 0) y Q 3 = 1 (ya que
D 3 = 1 y, por tanto, Q 3 = D 3 = 1). La tabla resultante es:
XY
q 1q2q3 x

00

000

001,1

001
011

01________________

10

001,1

011,1

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

111,0

101,0

011,1

011,1

001,1

101

101,1

111,1

001,1

001,1

100

101,1

101,1

011,1

001,1

Q
1Q
2Q
3,
z

d) Obtener la tabla de estados/salida. Cada estado de la tabla de transicin est dado por

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

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, llaman
do 0, 1, 2, ..., 7 a los estados segn la codificacin qq 2 Q3 = 000, 001, 010, , 111, se obtiene
la tabla de estados/salida que se muestra a continuacin:
\X Y
Q X

oo

ii

io

, 1 3, 1 1 , 1
1
7, 1 5, 1 1 , 1
2
3, 1 0 , 1 2 , 1
5,0 6 , 1 2 , 1
3
4
5, 1 3, 1 1 , 1
5
7, 1 1 , 1 1 , 1
6
7, 1 1 , 1 3, 1
7
5,0 3, 1 3, 1
NS,Z
e)
Presentar el diagrama de estados/salida. Ofrece la misma informacin que la tabla an
terior, tan slo que expresada en forma de grafo. En nuestro caso:
0

,1
1, 1
3, 1
3,0
5, 1
5, 1
7, 1
7,0

www.FreeLibros.me

180

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

f)
Expresar verbalmente el funcionamiento. Esto slo tiene sentido en casos muy espe
ciales. En nuestro problema no es aplicable.
P ro b le m a 6 .-Un circuito secuencial sncrono se ha obtenido de acuerdo con el esquema de
la figura. Correspondera este circuito a la estructura general de los circuitos secuenciales
sncronos?. Analcelo hasta obtener su tabla de estados. (La R O M ha sido programada de
acuerdo con la tabla adjunta, donde $ representa posicin y [$] su contenido).

>Z

$
0
1
2
3
4
5
6
7

[$]
A
B
6
8
6
C
7
6

$
8
9
A
B
C
D
E
F

[$]
4
7
D
1
8
4
A
9

Solucin P 6 .- S, corresponde a una estructura de circuito secuencial sncrono (con 8 o me


nos 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 Dj 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:
A 3A 2A 1 = 939291 A0 =

D 3D 2D 1 = d 3d 2d l ) / Z = D0

y podemos reescribir la tabla de contenido de la ROM:


93929 iX
A 3A 2A 1A0
0000
000 1
0 0 10
0 0 11
0 100
0 10 1
0 110
0 111

D3D2DID0
d ^ d id g
1 0 10
1 0 11
0 110
1000
0 110
1100
0 111
0 110

93929 iX
A 3A 2A l A0
1000
100 1
1 0 10
1 0 11
1 100
110 1
1110
1111

D3D2D1D0
d3d2did0
0 100
0 111
110 1
000 1
10 0 0
0 100
10 10
100 1

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 Q = Dj:

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

181

X
000

1 0 1 ,0

101 , 1

001

0 1 1 ,0

1 0 0 ,0

010

0 1 1 ,0

110,0

011

011 , 1

0 1 1 ,0

100

0 1 0 ,0

011 , 1

101

110, 1

000 , 1

110

1 0 0 ,0

0 1 0 ,0

111

1 0 1 ,0

100 , 1

d 3 d 2 d 1,z = q 3 q 2 q 1>z
Pasamos a la tabla de estados y salida llamando 0, 1, 2, 3, 4, 5, 6 y 7 a los estados cuya
codificacin es cj3 q 2 cll = 000,001,010,011,...,111. El resultado es el siguiente:
0
1

3
4
5

5,0
3,0
3,0
3, 1

5, 1
4,0
6 ,0

3,0
3, 1
0, 1

2 ,0

,1
4,0
5,0
6

2,0

NS, Z

4, 1

P ro b le m a 7.-Analice el circuito de la figura. Encuentre la forma de onda de la salida para la


secuencia de entradas dada.

cik _ j L _ r T _ r - L _ r - L J
Y _ |

i_ n

|______________ TI

www.FreeLibros.me

ri-

182

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P7.- Anlisis del circuito:


a) Ecuaciones de excitacin y salida:
D, = X + Y
J2 = X
K2 = Y
b) Tabla de excitacin y salida:
\
XY
QiQ?
00
01
11
10

00

0, 0 0, 0
0, 0 0, 1
0, 0 0, 1
0, 0 0, 0

Z = q 2 + Y.q 1

01
1,0 1, 1
1,0 1, 1
1, 0 1 , 1
1,0 1,0

11
1, 1 1, 1
1,11,1
1, 1 1, 1
1, 1 1 , 0

d 1 ; j 2 k 2,z

10

1,1 0 , 0

1, 1 0, 1
1, 1 0 , 1

1,1 0 , 0

c) Tabla de transicin y salida:


vJK
0
1

00 01
0 0
1 0

11
1
0

10
1
1

\D
q \ 0
0 0
1 0

1
1
1

\ XY
Qi Ce X
00
01
11
10

00

0 0,0
0 1, 1
0 1, 1
0 0,0

01
1 0, 1
1 0, 1
1 0, 1
1 0,0
Q

11
11,1
1 0, 1
1 0, 1
1 1,0

10

1 1,0

11,1
1 1,1

11,0

1Q 2. 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:
X
a
b
c
d

XY

01
11
a, 0 d, 1 c, 1
b, 1 d, 1 d, 1
b, 1 d, 1 d, 1
a, 0 d, 0 c, 0
NS, Z
00

10
c, 0
c, 1
c, 1
c, 0

X XY
s \
a
c
d

00 01
11 10
a, 0 d, 1 c, 1 c, 0
c, 1 d, 1 d, 1 c, 1
a, 0 d, 0 c, 0 c, 0
NS, Z

Obtencin de la forma de onda para la seal de salida:


Utilizando la tabla de estados anterior, encontremos la secuencia de estados. Para ello,
en cada flanco de reloj activo (en nuestro caso, el negativo) se considera cul es el estado pre
sente y las entradas existentes justo antes del flanco; para ese par de valore^, se observa en la
tabla cul es el prximo estado. Este es el estado del circuito durante el prximo ciclo de reloj.
La solucin, en nuestro caso, la mostramos en la siguiente figura.' Como inicialmente no
conocemos el estado presente, hemos dejado como interrogante cul es ese estado (otra solu
cin podra ser suponer un estado inicial cualquiera).

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

183

Una vez conocida la secuencia de estados por los que pasa la mquina dibujemos la for
ma 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 pue
de cambiar, tanto cuando cambie el estado (flanco negativo de clk), como cuando cambien
cualquiera de las entradas X e Y.

clk

X
Y
S

_n

P ro b le m a 8.-P ara el circuito de la figura, dibuje la forma de onda de la salida para las secuen
cias que se muestran. Supongamos que el sistema parte del estado (q 1,q2,q 3 ) = (0,0,0).

Solucin P 8 .- Para conocer la forma de onda de la seal de salida Z obtenemos previamente


la forma de las seales q, q 2 y q3.
Cada una de las transiciones de las seales tiene asociada un nmero en la figura y a con
tinuacin se expone la explicacin relativa a cada nmero.

www.FreeLibros.me

184

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clkl
clk2
Y
X

-C

9i
92
93
Z

CO
CO
-' Y- 4C <-
^ - Y - A -

<E
<-
< -

<-(D
Y-

Y- Y-

Dado que JjK] = 11 e Y = 1, se cumple Qj = q en el flanco negativo de clkl.


(2 ^ )

Como Y = 0, tenemos que Qj = 0 y Qj = 1 (independientemente del reloj clkl).


Como Y = 0, tenemos que Q 2 = Q 3 = 1 (independientemente del reloj clk2).

(^4 ) Dado que Y = 1 y D 2 = X y D 3 = X, segn sea el valor de X se cumplir que Q 2


Q 3 = 1 en el flanco negativo de clk 2 .
( 5 ) Dado que Y = 1 y D 2 = X y D 3 = X, segn sea el valor de X se cumplir que Q 2 Q 3 = 0
en el flanco negativo de clk 2 .
Z se obtiene como resultado de evaluar en el tiempo la ecuacin: Z = Y q q 2 q 3 P ro b le m a 9.-E n el circuito de la figura, las entradas A, B, 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 e l pulso de Start.

A
B

Ji
> c lk

Ki C L

J2

)>clk

k2

CL

www.FreeLibros.me

L T Start

ANLISIS DE CIRCUITOS SECUENCIALES

185

Solucin P9.- Como K 2 = 0, las entradas del biestable Y slo pueden ser J 2 K2 = 00, en cuyo
caso el biestable no cambia de estado, o J 2 K 2 = 10, en cuyo caso Y = 1.
Si inicialmente Y = 0 y se desea que pase a 1 necesitamos:
Ia) que J 2 = X sea 1
2a) 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 (re
loj del biestable X) tambin debe subir a 1.
Por tanto, la secuencia de cambios a seguir por las seales A, B y C es:
B

Cuando Y = 1, como J 2 K 2 = 00 10, no puede cambiarse el estado del biestable Y


mediante las entradas sncronas. De aqu que sea necesario ponerlo a 0 asincronamente (Start)
cada vez que se desee que la entrada Y tenga un flanco de subida.
Problema 10.- Analice e l circuito de la figura donde los biestables son disparados por flanco
y obtenga la secuencia que genera partiendo del estado inicial q iq 2 Q3 Q4 = 1000.

Este circuito posee bloqueo. Usando puertas lgicas, modifique el circuito (aadiendo
lo necesario) de forma que se evite el bloqueo:
1. Utilizando las seales asincronas de los biestables (no mostradas en la figura).
2. Sin utilizar las seales asincronas de los biestables.
Qu ocurrira en el caso de que los biestables fuesen disparados por nivel?

Solucin PIO.- Analizamos el circuito aplicando el mtodo habitual de anlisis de circuitos


secuenciales sncronos. Obtenemos en primer lugar las ecuaciones de excitacin:
D i = fll <U
D 2 = qi
D3 =cl2
D 4 = q3

www.FreeLibros.me

186

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Dado que en biestables tipo D se cumple D = Q, tenemos la siguiente tabla de estados


para el circuito:
91^2
00

01

00

0000

0010

1110

01

1000

1010

0110

0100

11

1001

1011

0111

0101

10

0001

0011

1111

1101

10

1100

Q 1Q 2Q 3Q 4

De la tabla anterior, llamando cada estado por la representacin decimal de la palabra


binaria q q 2 q 3 q4 se obtiene el grafo de estados que se muestra:

Existe bloqueo en el funcionamiento del circuito, ya que si el circuito entrase en el es


tado 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 asincrona:
Activar la seal de preset PR de cualquiera de los biestables. De esta forma obligamos
a que el sistema cambie de estado asincronamente.
2) Solucin sncrona:
Se tratara de introducir un 1 por la entrada de alguno de los biestables forzando igual
mente el cambio de estado.
Para detectar que nos encontramos en el estado (^definimos una seal Z como:
z = <?i q 2 q <i4
De esta forma las soluciones asincrona y sncrona aplicadas al biestable 1 son respecti
vamente:

Solucin sncrona

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

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:
c lk
S 13 6

________________________
4 4
4 2

____
12 12

Como el tiempo de propagacin es difcilmente controlable (cambia de un biestable a


otro, vara con la temperatura, etc ...), la secuencia de estados no podra ser determinada.
No obstante, s se puede controlar la anchura del pulso clk =1 y hacerla suficientemente
grande como para que haya un cambio de estado y suficientemente pequea como para que no
haya dos. As, el comportamiento del circuito con latches sera equivalente al del circuito con
flip-flops.

P ro b le m a 11.- Para el circuito de la figura se pide:


a) Analizarlo.
b) Indicarla 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 P M sin tener que
redisear el circuito.

p M
00
0 1
10
11

Q(t+l)
Q(t)

i
0

Q(t)

www.FreeLibros.me

188

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P ll.
a) Ecuaciones de excitacin:

Pl = q3

M] = q] + q3

D2 = q i q 3

z - q itb
De las ecuaciones de excitacin pasamos a la tabla de excitacin y salida:
^X

3q2

11

01

00

,, ,0
,, ,0

,, ,
,, ,

10

,, ,
,, ,

,, ,0
,, ,0

41 0

01 0 01

11 0 01

0 1 1 11

0 1 1 11

01 1 01

11 1 01

01 0 10

01 0 10

J3K 3,D 2, P iM , , Z

Pasamos a la tabla de excitacin, a partir de las tablas de transicin de cada uno de los
distintos biestables:
\J K
q \

\P M

00

01

11

10

00

01

11

10

q x

A continuacin la tabla de transicin y salida:


00

01

11

10

001 , 0

101, 1

010 , 0

010 , 0

011 , 0

111, 1

000 , 0

000 , 0

3Q

2 Q

1 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! = 000,001,010,011, ,111
s

NS

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

189

b) Inicialmente q 3 q 2 qi = 000 (S = 0)
S: 0 > 1 > 3 > 7 > 0 '

Z.O
1

secuencia que se repite

c) La sustitucin del biestable D y JK por uno PM es como sigue:


- Respecto al biestable D: A partir de la tabla de excitacin del biestable D y la del PM
se obtiene la tabla para PM en funcin de D y q. Las tres tablas se muestran en la figura:
0
1

q -> Q

i
i
i

0
0
0

0 1
0 - - 1

-0 6 110
PM

0
1
0
i

I
O

0
0
1
i

PM
~0 1 0 1
10

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
X ,

00
0

01
0
0

11
1
0

10
1
1

JK

00
0 *061-

q N

0 - - 1

01
-0 6
1

11
0 1
1 0

1-

10
0 1
O-- 1

PM

Una solucin es:

_q

P = T~q

M = K q

www.FreeLibros.me

190

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

PROBLEM AS CON SOLUCIN RESUMIDA


Problema 12.- Obtenga los biestables JK, T y D a partir del biestable RS.

Solucin P12.

Problema 13.- Obtenga los biestables JK y D a partir del biestable T.

Solucin P13.

Problema 14.- Obtenga los biestables D y T a partir del biestable JK.

Solucin P14.

Problema 15.- Para las secuencias de entrada de la figura, encuentre la forma de onda de
salida para el caso de un biestable J K disparado por flanco negativo. Reptalo para el caso de
s er disparado por flanco positivo.

www.FreeLibros.me

ANALISIS DE CIRCUITOS SECUENCIALES

191

Solucin P15.- Biestable disparado por el flanco positivo de clk.


clk

Biestable disparado por el flanco negativo de clk.


clk
J

JL

P ro b le m a 16.- Analice el circuito secuencial sncrono de la siguiente figura:

$ ( A j A q)

[$]

0
1
2

0
2

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 se
cuencial sncrono.

www.FreeLibros.me

192

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

qi q 2 q 3 = 0 0 0
qi q 2 q 3 = 0 0 1
q, q 2 q 3 = 0 1 0
qj q 2 q 3 = 0 1 1
q, q 2 q 3 = 1 0 0
q, q 2 q 3 = 1 0 1
41 4 2 4 3 = 1 1 0
q, q 2 q 3 = 1 1 1

S=0
S= 1

X
s

S- 2

S=3
S=4
S=5
S=6
S=7

7,0

7, 1

0 ,0

0 ,0

2 ,0

2,0

3
4
5

5,0
3,0
4,0

6 ,0

1,0

5, 1
6,0

7, 1
5, 1
4,0
NS, Z

P ro b le m a 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
Qi do = 00.

clk
X
Solucin P17.-Nombraremos a los estados del circuito de la forma mostrada a continuacin,
q, q 0 = 0

qi q 0 = 0 1

q, q 0 =
q, q 0 =

1 0
1 1

S=0
S= 1
S=2
S=3

\X
S

0
0

L1
3,0

0,0

L1
3, 1

1,0
2,0

0,0

NS, Z

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

193

El valor de X se toma en el flanco negativo de clk. El estado inicial consideramos que


es el 0 (qjqo = 00). La secuencia de salida es la mostrada a continuacin:
X
S

P ro b le m a 18.- Analice e l 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)

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:
qi q 2 q 3 = 0 0 0 S = A
qi q 2 q 3 = 0 0 1 S = B
Ql Q 2 = o 1 1 S = C
S= D
qiq2q3 = 1 o
S= E
qi q 2 q3 = 1 1 0
S
= F
qi q 2 q 3 = 1 1 1
S
qi q 2 q 3 = 1 0 1 = G
qi q 2 q 3 = 1 0 0 S = H
Para dar la secuencia de salida partiremos del estado inicial A (qiq 2 q 3 = 000) y aplica
remos la secuencia de entrada.

www.FreeLibros.me

194

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk
S

P ro b le m a 19.- Para el circuito y secuencia de entrada de la figura, determine la forma de


onda de salida. E l estado inicial es desconocido. Los biestables son disparados por flanco.
Justifique las transiciones producidas en la salida .

clk

ir u

Solucin P19.
clk
X

ru

i
r
mii

P ro b le m a 2 0 .- Analice e l circuito de la figura y muestre la secuencia de salida para la secuen


cia de entrada dada.Q u ocurrira si los biestables son disparados p o r e l nivel alto del reloj?

www.FreeLibros.me

ANLISIS DE CIRCUITOS SECUENCIALES

195

clk

x__n_r
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 secuencial es:
qi q 2 = 0
q, q 2 = 0
qi q 2 = 1
q, q 2 = 1

0
1
0
1

S =0
S= 1
S= 2
S=3

vX
0
1
2
3

0
0,0
0, 1
1,0
1,1

1
2, 1
2, 0
3, 1
3,0
NS, Z

Aplicando la secuencia de entrada que propone el problema se obtiene la siguiente sali


da. Suponemos que inicialmente la mquina se encuentra en el estado 0.
clk
i
X
s

00 0 2

1 2 3 1 0 0 2 3 3 1

2 3 1 0 0 0 0 0 0 0

J1
U
L T L J'
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 cam
bie ms de una vez.
z

www.FreeLibros.me

Captulo 8
DISEO DE CIRCUITOS SECUENCIALES

El anlisis de circuitos secuenciales bsicamente consiste en lo siguiente: dado un circuito hay


que describir su comportamiento verbalmente o, al menos, mediante la tabla o el diagrama de
estados. Este Captulo esta dedicado al proceso inverso, esto es, dada una funcin secuencial
hay que obtener un circuito que la implemente. A este proceso es lo que se le llama el diseo
de circuitos secuenciales. Ms concretamente, en este Captulo se va a tratar el proceso de
diseo de circuitos secuenciales sncronos.
PASOS DEL PROCESO DE DISEO
Existe un procedimiento formado por un conjunto de pasos que permite realizar este proceso
de una forma lo ms sistemtica posible. Este conjunto de pasos es el que se muestra en la
figura:
Descripcin
verbal
+

_____

Descripcin formal:
Tabla o Diagrama de estados/salida
, r Reduccin de estados
Tabla mnima de estados/salida
^
Asignacin de estados
Tabla de transicin/salida
,,
Eleccin de biestables
Tabla de excitacin/salida
_________________ ^
Sntesis de funciones combinacionales
Ecuaciones de excitacin y de salida
Circuito
197
www.FreeLibros.me

198

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

A continuacin se describe en qu consiste cada uno de estos de pasos.


1. El primer paso consiste en generar una descripcin formal del comportamiento a par
tir del enunciado de la funcin secuencial. La descripcin formal consiste en la tabla o el
diagrama de estados siguiendo alguno de los dos modelos de mquina secuencial, el de Mealy
o el de Moore. La forma de obtenerla depende en gran medida de la funcin secuencial, de for
ma que no existe un nico mtodo que sea vlido para cualquier enunciado de funcin secuen
cial. Es un paso no sistemtico. Por este motivo es el paso ms difcil de realizar y de lo bien
que se haga depende en gran medida el buen desarrollo del resto del proceso de diseo.
2. El segundo paso consiste en obtener la tabla de estados mnima. Esta es una nueva
tabla de estados equivalente con la obtenida en el paso anterior (i.e., dan lugar al mismo com
portamiento de entrada-salida) con el menor nmero de estados posible. Este paso se llama de
reduccin de estados y existe un mtodo sistemtico que permite realizar dicha reduccin en
tablas de estados completamente especificadas. Este mtodo se presenta en el problema 6 .
3. De la tabla mnima de estados hay que pasar a la tabla de transicin/salida. En esta
nueva tabla se representan los estados por un cdigo binario. Este cdigo binario debe ser al
macenado por el circuito y para ello se utilizan un conjunto de biestables, tantos como bits ten
ga el cdigo. Esta asociacin de un cdigo binario a cada estado es lo que se llama la asigna
cin de estados. La asignacin determina cmo va a ser la tabla de excitacin y de salida y, por
tanto, afecta al coste del circuito. Como criterio bsico, en este Captulo se va a utilizar el me
nor nmero posible de variables de estados, lo que significa disear circuitos con el menor n
mero de biestables posibles. Por otra parte, para hacer la asignacin concreta en los problemas
correspondientes se van a utilizar dos mtodos diferentes. En el caso de tablas de estado de 3
4 estados se aplicar el mtodo exhaustivo que consiste en obtener el circuito para las tres
nicas asignaciones que dan lugar a circuitos con coste distinto y elegir la de menor coste. Para
tablas con mayor nmero de estados se aplicar el mtodo basado en las reglas de adyacencia.
Este mtodo da lugar a asignaciones de buen coste pero no necesariamente el ptimo. Se de
sarrolla con detalle en el problema 1 1 .
4. De la tabla de transicin hay que pasar a la tabla de excitacin del circuito. En ella se
representa cul es el valor de cada una de las entradas de los diferentes biestables para conse
guir las transiciones de la tabla de transicin. Este paso exige que previamente se haga la elec
cin del tipo de biestables que se van a usar en el circuito.
5. A partir de la tabla de excitacin/salida se obtienen las ecuaciones de excitacin (i.e.,
ecuaciones de entrada de los biestables) y de salida mediante mtodos de sntesis de funciones
combinacionales, ya considerados en el Captulo 4.
6 . Por ltimo, a partir de las ecuaciones se obtiene el circuito.
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias:
- Construccin de diagramas/tablas de estados.
- Reduccin de tablas de estado.
- Asignacin de estados.
- Proceso de diseo completo.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

199

PROBLEM AS RESUELTOS
P ro b le m a 1.-Construya la tabla de estados para una mquina de M ealy 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 P l.- 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 l 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.
EnD :
- 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:

0/0

Diagrama de estados

,X
Estados\
A
B
C
D

1
0
A,1
B,0
D,0
C,0
B,0
A,0
D,1
C,0
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.
P ro b le m a 2 .-Obtenga el diagrama de estados de un circuito con dos entradas, X e Y, que d
salida Z = 1 cuando en los cuatro ltimos ciclos de reloj, las entradas hayan sido 1 1, 0 1, 0 1 , 11.

Solucin P2.- Siguiendo el modelo de Mealy:


Partimos del estado que corresponde a que no ha llegado ningn valor de la secuencia
de entrada que hay que detectar: estado A. En A:
- Cuando XY = 11, se pasa a un estado nuevo: B. Z = 0.
- Con cualquier otro valor en XY se permanece en el estado A. Z = 0.

www.FreeLibros.me

200

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

B es el estado que guarda la informacin de que ha sido detectado el primer valor de la


secuencia (XY = 11). En B:
- Cuando XY = 01, se pasa a un estado nuevo: C. Z = 0.
- Cuando XY = 11, se permanece en B. Z = 0.
- Con cualquier otro valor se pasa al estado A. Z = 0.
C es el estado que guarda la informacin de que ha sido detectado el segundo valor de
la secuencia (XY = 01) tras el 11. En C:
- Cuando XY = 01, se pasa a otro estado: D. Z = 0.
- Cuando XY = 11, se pasa al estado B. Z = 0.
- Con cualquier otro valor se pasa al estado A. Z = 0.
D es el estado que guarda la informacin de que se ha detectado el tercer valor de la se
cuencia (XY = 01) tras el 11 y 01. En D:
- Cuando XY = 11, se completa la secuencia. Z = 1. Se pasa a B.
- Con cualquier otro valor se pasa al estado A. Z = 0.
El diagrama de estados queda de la siguiente manera:

Siguiendo el modelo de Moore:


Partimos del estado que corresponde a que no ha llegado ningn valor de la secuencia a
detectar: estado
A. En A, la salida vale 0 (Z = 0):
- Cuando XY = 11, se pasa a un estado nuevo: B.
- Con cualquier otro valor en XY, se permanece en el estado A.
B es el estado que guarda la informacin de que ha sido detectado elvalor (XY =11).
En B, Z = 0:
- Cuando XY = 01, se pasa a un estado nuevo: C.
- Cuando XY = 11, se permanece en B.
- Con cualquier otro valor se pasa al estado A.
C es el estado que guarda la informacin de que ha sido detectado el 01 tras el 11. En C,
Z = 0:
- Cuando XY = 01, se pasa a otro estado: D.
- Cuando XY = 11, se pasa al estado B.
- Con cualquier otro valor se pasa al estado A.
D es el estado que guarda la informacin de que se ha detectado el 01 tras el 11 y 01. En
D, Z = 0:
- Cuando XY = 11, se pasa a un nuevo estado E.
- Con cualquier otro valor se pasa al estado A.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

201

E es el estado que guarda la informacin de que se ha detectado la secuencia completa.


Por tanto, Z = 1. Tras E:
- Cuando XY = 00 10, se pasa al estado A.
- Cuando XY = 11, se pasa al estado B.
- Cuando XY = 01, se pasa al estado C.
El diagrama de estados queda de la siguiente manera:
11

P ro b le m a 3 .-H a recibido de un viejo amigo la siguiente carta:


Querido amigo:
A l poco tiempo de com prar esta vieja mansin tuve la desagradable sorpresa de com
probar que est hechizada con dos sonidos de ultratumba que Ia hacen prcticamente inha
bitable: un canto picaresco y una risa sardnica.
An conservo sin embargo cierta esperanza, pues la experiencia m e ha demostrado
que su comportamiento obedece ciertas leyes, oscuras pero infalibles, y que puede modifi
carse tocando el rgano o quemando incienso.
En cada minuto, cada sonido est presente o ausente. Lo que cada uno de ellos har
en e l minuto siguiente depende de lo que pasa en e l minuto actual, de la siguiente manera:
E l canto conservar el mismo estado (presente o ausente) salvo si durante el minuto
actual no se oye risa y toco el rgano, en cuyo caso e l canto toma el estado opuesto.
En cuanto a la risa, si no quemo incienso se oir o no segn el canto est presente o
ausente (de modo que la risa imita el canto con un minuto de retardo). Ahora bien, si quemo
incienso la risa har justam ente lo contrario de lo que haca el canto.
E n e l m omento en que te escribo, estoy oyendo a la vez la risa y el canto. Te quedar
m uy agradecido si m e dices qu manipulaciones de rgano e incienso debo seguir para res
tablecer definitivamente la calma.
Conteste la carta.

Solucin P3.- Los sucesos de la vieja mansin obedecen a una mquina secuencial, de la si
guiente forma:
- Valores (o estados) de entrada
Son las acciones que realiza nuestro viejo amigo. Existen 4 posibles estados de
entrada:

www.FreeLibros.me

202

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

In: Ni toca el rgano ni quema incienso.


I: Quema incienso (pero sin tocar el rgano).
I0: Toca el rgano (pero sin quemar incienso).
Iio: Quema incienso y toca el rgano simultneamente.
- Valores (o estados) de salida
Son las posibles situaciones de sonido en la casa:
On: No se oye nada (situacin de tranquilidad!).
Oc: Se oye el canto picaresco (pero no la risa).
Or: Se oye la risa sardnica (pero no el canto).
Ocr: Se oye la risa y el canto.
- Estados de la Mquina
Como la salida cambia con "la seal de reloj" (esto es, cada minuto), cambia con el es
tado por lo que es una mquina de Moore. En principio, pues, asociamos 4 estados, uno por
cada una de las salidas (Sn -> On; Sc > Oc; Sr > Or; Scr > Ocr). Estos estados estn de
terminados por el valor (S, NO) de dos variables de estados que, por conveniencia, denomi
naremos "c" (canto) y "r" (risa)..
OPERACIN: Representaremos con minsculas (c, r) el valor presente y con mays
culas (C, R) el valor prximo.
i) Canto: Si no se oye la risa, r = NO, y se toca el rgano, ^ Ijt), cambia de
estado: C = c.
En cualquier otro caso, el canto no cambia de valor: C = c.
ii) Risa: Si no se quema incienso (valores de entrada In I0) sigue al canto, C, con un
minuto de retraso: R = c.
Si se quema incienso, (valores de entrada Ij I0), la risa hace lo opuesto al canto con
un minuto de retraso: R = c
De esta forma la tabla de estados queda como sigue:
c
Sn
Sc
sr

Ser

r\

NO NO
SI NO
NO SI
SI SI

In

lo

Ii

1.0

NO NO

SI NO

NO SI

SI SI

SI SI

NO SI

SI NO NO NO

NO NO NO NO NO SI
SI SI

SI SI

SI NO

NO SI
SI NO

CR

La respuesta a la carta debe decir lo siguiente: 1er minuto: Se oye risa y canto por lo que
debe quemar incienso; 2o minuto: Se oye canto pero no risa, por lo que debe quemar incienso
y tocar el rgano; 3er minuto: No se oye nada por lo que no debe hacer nada.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

203

P ro b le m a 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=l) mientras ste perma
nezca, 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 =l, hay error (dos l's consecutivos) por lo que Z=1 y el prximo estado es A yaque
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 =l, no hayerror (Z=0) y el prximo estado es A.
Si X=0, no hayerror (slo dos 0'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 hayerror y el prximo estado es A.
Si X=0, no hayerror (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=l) y el prximo estado es el
propio estado D.
El diagrama de estados completo es el siguiente:
1/0

P ro b le m a 5 .-Un circuito secuencial tiene dos entradas

(Xj, X 2) y dos salidas (Z), Z 2). Las en

tradas representan un nmero binario natural de dos bits, N. Si el valor presente de N es m a


y o r que el valor inmediatamente anterior, entonces, Z A = 1. Si dicho valor es menor, entonces
la salida Z 2 = 1. En cualquier otro caso,

Z1

= Z 2 = 0. Se pide:

1) Escribir la tabla de estados correspondiente del circuito, como autmata de Mealy.


2 ) Cuntos estados tendra e l circuito como autmata de Moore?

Solucin P5.- 1.- El funcionamiento del circuito es el siguiente: si y slo si


(XjX2)m > (X]X 2 )]sj-i entonces, Zj = 1 ; por otra parte, si y slo si (X]X2)n < (XjX 2 )isi-]
entonces, Z 2 = 1; si (XX2)N = (XiX 2 )N_i, entonces ZZ 2 = 00.

www.FreeLibros.me

204

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 XjX2:
A estado que almacena que el ltimo valor recibido de XX 2 = 00
B estado que almacena que el ltimo valor recibido de XjX 2 = 01
C estado que almacena que el ltimo valor recibido de XjX 2 = 10
D estado que almacena que el ltimo valor recibido de XX 2 =11
Con esto se puede construir directamente la tabla de estados, que queda de la siguiente
manera:
x ,x 2
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, Z2
2.- Como mquina de Moore, en principio se necesita un estado que almacene el ltimo
valor recibido y si era mayor (salidas ZjZ 2 = 10), igual (plidas ZiZ 2 = 00), o menor (salidas
ZjZ 2 = 01) que el anterior. En total, como pueden llegar 4 valores diferentes {00, 01, 10, 11},
son 4x3 = 12 estados distintos. La tabla de estados queda de la siguiente manera:

Ao

01

10

11

Ai

B0

c,

A2
A2

B0

Bi

C2

A3

B0

Bi

B2

C3

C0

A1

B0

Ci

A2
A2

B0

Bj

C2

A3
A3

B2

C3

A2
A2

A3
A3

a3
a3

a3

Co

A1

Ci

0
PQ

c,

C2

B0

Bi

C2

A3

C3

B0

Bi

B2

C3

b3

PQ

B,

0O

Ai
A2
a3
B0
Bi
B2

00
0n

Est.

X,X
1^2

SIGNIFICADO DE LOS ESTADOS


ltimo valor
1 0 ----------- 0 0
1 0 ----------- 0 1
1 0 ----------- 1 0
1 0 ----------- 1 1

z,z2

01
01
01
01
00
00
00
00

----------- 0 0
0 1
1 0
11
00
---------- 0 1
------------ ^ 1 0
-------- 1 1

--------
----------
--------
------------

NOTA: Se comprueba que la tabla es irreducible salvo por la posible eliminacin de los esta
dos Aq y B 3 que slo pueden alcanzarse si son estado inicial.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

205

P ro b le m a 6.-M uestre 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 de
tectar la secuencia 010, en cuyo caso Z pasa a tom ar valor 0 manteniendo este valor hasta
que llegue una nueva secuencia 110.

Solucin P 6 .- 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

AS\

Significado de cada estado


Recibido
Est.
A
....110
B
....00
(con Z = 1)
....01
(con Z = 1)
C
(con Z = 1)
E
....11
....010
D
F
....00
(con Z = 0)
G
....1
(con Z = 0)
H
....11
(con Z = 0)

B
C
D
E
F
G
H

0
B1
B1
DO
F0
A1
F0
DO
A1

1
C1
C1
E1
G0
E1
G0
H0
H0

NS, Z

Para obtener la tabla de estados mnima debemos comprobar si se pueden reducir o eli
minar estados. Para ello seguimos el proceso de reduccin de estados, que consta de los si
guientes 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; B,D; 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):

www.FreeLibros.me

206

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

B
X

X
X

F
X

Tabla de reduccin
Fase inicial

G
X

4.
Observando la tabla de estados, escribir dentro de cada casilla de la tabla de reduccin
los estados que deben ser compatibles para que el par que corresponde a dicha casilla lo sea
tambin:
A

Tabla de reduccin
H

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:
A

XXc D
X -i'-tfS' X 1E
n u a t )a X X
XXX X F
X X Xm Xm G
XXX XX XX

Tabla de reduccin
Fase final
H

Al final de este punto, todas las celdas sin tachar corresponden a parejas de estados com
patibles (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 colum
nas: 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 fcil
mente, agrupando todos los estados que sean compatibles entre s.
www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

H
G
F
E
D
C
B
A

Equivalentes

Compatibles
{H}
{H,G}
{H,G,F}
{H,G,F,E}

{H,G,DF,E,C}

Nuevos estados:

A
C
D
E
G
H

A partir de los
compatibles se
construye la
nueva tabla
de estados:

{H,G,DF,E}

207

{H,G,DF,E,C,B}

{H, G, DF, E, C, AB}

LITlll

H, G, D, E, C, A

A
D
D
A
D
A

1
0
0
1
0
1

C
E
G
E
H
H

1
1
0
1
0
0 NS, Z

P ro b le m a 7.-Un circuito secuencia! tiene una entrada X y una salida Z. P o r 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 perma
necer en 1 durante 3 ciclos si el pulso de X dur un ciclo, durante 2 ciclos si X dur 2 y du
rante 1 ciclo si X dur 3. En otros casos Z es cero.
Obtenga la tabla de estados/salida mnima segn e l modelo de mquina de Mealy.

Solucin P7.- Del enunciado se deduce el comportamiento del circuito, que es el siguiente:

jiru u in n ji

x:j L
Z:

jijtjtjitijiji

Partamos de un estado conocido. Sea el estado A aquel en el que no se ha detectado nin


gn pulso. En A:
- Si X= 1 se detecta el primer ciclo del pulso en X. Se pasa al estado B. Z=0.
- Si X=0 se permanece en A. Z=0.
En B:
- Si X=1 se detecta el segundo ciclo del pulso en X. Se pasa a C. Z=0.
- Si X=0 fin del pulso de un ciclo de duracin. Se pasa a D. Z=1.
EnC:
- Si X=1 se detecta el tercer ciclo del pulso en X. Se pasa a E. Z=0.
- 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 1 0 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.

www.FreeLibros.me

208

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

En E, se pasa directamente a A y se da el nico pulso de salida. Z - \ .


En F: Z debe durar 1 durante un ciclo ms de reloj. Se pasa a A. y se da Z=1.
El diagrama de estados/salidas de Mealy y la correspondiente tabla de estados son los
siguientes:
X
Estados'
A
A,0
B
D,1
C
F,1
D
G,1
E
A,1
F
A,1
G
A,1

B,0
C,0
E,0

NS, Z

Siguiendo el proceso de reduccin de estados obtenemos la tabla mnima:

X PBD C
X c FG D
X 1 +U A G E
X AD a If g IA
X A 9 AF GA
X
B

COMPATIBLES

{A, B, CD.EFG}

rx1a
DTn

4 X ^

{A ,B ,C, D}

*A
B
C
D

0
A,0
C,1
D,1
A,1

1
B,0
C,0
D,0

NS, Z
Tabla de estados mnima

Tabla de reduccin

P ro b le m a 8.-P o r una lnea X se recibe, bit a bit, un nmero binario N, em pezando por el m e
nos significativo.
a ) Obtenga la tabla de estados m nim a correspondiente a l circuito que perm ite generar
una nica salida Z c o n e l valor Z - 2 x N.
b) Repita e l apartado a) para obtener Z - 3 x N.
Com ience p or un estado de reset. N o tenga en cuenta cundo acaba N.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

209

Solucin P8.
a)
Sea el nmero binario N = ... N 3 N 2 Nj N0. Entonces, el nmero binario
Z = 2 x N = ... N 3 N 2 Nj No 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 Xq, por Z sale Z0 = 0
Ciclo 2: En X est X, por Z sale Z] = Xq
Ciclo 3: En X est X2, por Z sale Z 2 = X
Ciclo 4: En X est X3, por Z sale Z 3 = X 2
Ciclo j+1: En X est Xj, por Z sale Zj = Xj.j
Para obtener Zj, basta conocer el valor de Xj.! que slo puede ser 0 (estado A) 1
(estado B). Con ello, el diagrama y la tabla de estados son:
Estadosy
RE
A,0 B,0
A
A,0 B,0
A,1 B,1
B
NS, Z
Tabla de estados

Diagrama de estados

EstadosX 0
1
A
A,0 B,0
B
A,1 B,1
NS, Z
Tabla de estados mnima

En la tabla de estados se observa que: A y RE son el mismo estado; A y B son incom


patibles. 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 reset RE) hay que sumar Nq + Nq + N0;
el resultado ser Z q = 0 (y acarreo 0) si Nq = 0 y Z 0 = 1 junto con un acarreo de 1 si Nq = 1.
En el segundo ciclo deberemos sumar N! + Nj + N con el acarreo (0 o 1) anterior; el resul
tado de esta suma puede ser Z = 0 o Z = 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 o 1) 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\ 0 1
RE A,0 B,1
A A,0 B,1
B A,1 C,0
C B,0 C,1
NS, Z

Tabla de estados mnima


0
K
A A,0
B
C

(Como antes, RE y A son el mismo estado).

www.FreeLibros.me

A,1
B,0
NS, Z

1
B,1
C,0
C,1

210

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Aj y X2 y dos salidas
Z-| y Z2. Por las entradas se reciben bit a bit dos nmeros de n bits, N | y N2, comenzando por
P ro b le m a 9 .-Disee un circuito secuencial sncrono con dos entradas

e l bit ms significativo. Las salidas deben representar lo siguiente:


2
m ayor(N2,N i)
1
m enor(N2,N : )
Obtenga la tabla de estados/salida mnima, suponiendo el siguiente comportamiento:
X 2: 0 0 1 0 0 1....
X
0 0 1 1 0 0....
Z 2: 0 0 1 1 0 0....
Z
0 0 1 0 0 1 ....

Z =
Z =
c

Nota. Obsrvese que en el ejemplo

A/-| > N2 por lo que X-,sale por Z 2 y X2 lo hace por Z^.

Solucin P9.- El nmero mayor entre Nj y N 2 es aqul por el que se recibe el primer 1 mien
tras que se recibe un 0 por el otro. As, en el ejemplo del enunciado, el 4o bit de X \ es 1 mientras
que el de X 2 es 0. A partir cte este momento y con independencia de los bits que se reciban, el
nmero mayor (N en el ejemplo) saldr por Z 2 y el menor por Z. Hasta que ocurra eso
(XjX2=10 01) por primera vez, los bits son iguales de forma que tanto por Z t como por Z 2
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 Zj 2 dependen de X) 2 y, por tanto, es una m
quina 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:
Xi = X2: Los nmeros continan siendo iguales. No hay cambio de estado. Las salidas
sern: Z = Z 2 = X] = X2.
X jX 2 = 10: El nmero Ni es mayor que el nmero N2, por lo que se pasar a un nuevo
estado B. Las salidas sern: Z 2 = Xi y Zj = X2.
X jX 2 = 01: El nmero N 2 es mayor que el nmero N, por lo que se pasar a un nuevo
estado C. Las salidas sern: Z 2 = X 2 y Z] = Xj.
El estado B representa el caso en que Nj>N2, y por tanto, Z 2 = Xi y Z] = X 2 hasta el
final. El prximo estado de B, es B. Lo mismo ocurre para C estado en el que N 2 > Nj. La tabla
de estado queda como sigue:

A
B
C

A,00
B,00
C,00

B,10
B,10
C,01

A ,11
B, 11
C ,ll

C,10
B,01
C,10

NS, Z2, Zi

www.FreeLibros.me

Los estados son


incompatibles: la tabla
es irreducible

DISEO DE CIRCUITOS SECUENCIALES

211

P ro b le m a 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

A
B
C
D

A,0
A,0
A,0
D,0

C,0
D,1
B,1
D,0
NS, Z

Solucin PIO.
a) Dada la asignacin y la tabla de estados, se obtiene la tabla 1 de transicin/salida sin
ms que sustituir los estados por los cdigos que se han asignado. De esta tabla ya se pueden
obtener las ecuaciones de salida. Adems, de la tabla de transicin junto a la de excitacin del
biestable JK, se pasa a la de excitacin del circuito. De esta tabla obtenemos la ecuaciones de
excitacin:
\*
q i q2\

A 00
B 01
C u
D 10

00

11

00

1 0, 1

00

0 1, 1

10

10

Qi Q2. z

Tabla de transicin/salida

q -Q JK

0 -> 0 0 0 -> 1 1 1 ->o - 1


i -> i -0

Tabla de excitacin
del biestable JK

\*
qi q \
00
01

11
10

0
0-, 00-.-1

- 1,-1

i
i-, ii-,-i
-1, -0

-0, 0- - 0, 0J, K,, h k 2


Tabla de excitacin

J, = X
K( = q2
J2 = X q,

K2 ="Xq1
Z = X q2
Ecuaciones de
excitacin y de
salida

El circuito queda como se muestra:

1 Por simplicidad, en las distintas tablas slo pondremos los mintrminos de las salidas (celdas con
Z = 1).

www.FreeLibros.me

212

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b)
Para la segunda asignacin, las tablas de transicin/salida y de excitacin y las ecua
ciones de excitacin y de salida son las siguientes:
\X
q i q2\

oo
0i

0 0

0 1

0 0

1 1,1

11

0 0

1 0

1o

1 0

,1

1 0

JK
-> Q
0 - > 0 00-4 1 11-40
-1
1 -> 1 -0

qi qX
00

0-, 0-

0-, 1-

0 1

0-,-1

1-,-0

11

-L -i

-0, -1

J ,= X q 2
K] = X q2
J2 = X q,
K2 = X + q,

10

-0, 0-

-0, 0-

Z = X q2

Jl

Q i Q 2, z

K J2 K2

P ro b le m a 11.- Obtenga una buena asignacin para las siguientes tablas de estado:

Tabla a:

Tabla b:

1
0
A 1 A, 1
D
B
A
D
c
B
D
D
C
D
NS, Z

s \

A
B
C
D

B
D, 1
D
B
C
A, 1
C
A
NS, Z

Solucin P H .- Para obtener una buena asignacin basta con aplicar las reglas de adyacen
cias. 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 di
ferentes 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),
(C, D)
2x(A,D), (B,D), (C,D)
(B,C) (B,D) (C,D)

Tabla b
(A,B)
(C,D) si (A,C)
"

2x(B,D), 2x(A,C)
(B,D)

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

213

Una vez aplicadas las reglas, se forma un mapa de Kamaugh 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 e y2. 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

0
1

A
B

D
C

Reglas que cumple:


1. 1 (Todas)
2. (Todas)
3. 3 (de 5)
4. 3 (de 4)
5. 3 (Todas)

Tabla b
y'x2' \
0
1

A
B

C
D

Reglas que cumple:


1. 1 (Todas)
2. 1 (Todas)
3. (Todas)
4. 4 (Todas)
5. 1 (Todas)

P ro b le m a 12.- Un sistema recibe secuencialm ente datos de 1 bit a travs de su entrada X.


Disee un circuito que d salida Z=1 cuando se haya recibido X=1 durante tres o ms inter
valos de reloj consecutivos. D dos diseos alternativos: a) como autmata de Moore;
b) como autm ata de Meaiy. Discuta ventajas e inconvenientes de ambos diseos.

Solucin P12.-Un ejemplo del comportamiento que describe el enunciado es el siguiente:


X :..... 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 .......
Z : .......0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 10.......

De este comportamiento se obtienen los diagramas de estado, siguiendo el modelo de


Moore o el modelo de Mealy:
0

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=l, es el tercer 1 y Z=l.
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.

www.FreeLibros.me

214

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Ck

i A

: a

A ! A

('

>

zJM
N ealy_

>

y
^Moore

>

Las caractersticas de cada tipo de mquina son la siguientes:


Moore: Z=1 durante perodos de reloj completos.
Z=1 despus de detectar la llegada de 3 unos.
Posee ms estados que la mquina de Mealy.
Mealy: Z=1 despus de detectar 2 unos y siempre que X siga siendo 1.
Posee menos estados que la mquina de Moore.
Se pueden presentar algunas diferencias temporales entre ambas salidas si las entradas
cambian en instantes arbitrarios, como los que se muestran a continuacin:

jijirL rL rm -ri
x

-'M oore

^Mealy

A B

D A iA
A IA

La mquina de Moore da salida 1 durante 1 ciclo tanto


si X permanece en 1 durante poco ms de 2 ciclos
(siempre que X = 1 en 3 flancos activos) como si X
prcticamente permanece en 1 durante 3 ciclos. La
mquina de Mealy puede dar Z = 1 durante intervalos
arbitrarios de tiempo, segn cundo cambia X en
relacin a Ck.

El resto del proceso de sntesis es el siguiente:


1) Reduccin de las tablas de estado: en este caso son irreducibles.
2) Asignacin de cdigos: como son mquinas de 3 4 estados se utiliza el mtodo
exhaustivo:
ESTADOS ASIGNACIONES DE COSTE DISTINTO
II
III
I
00
00
A
00
11
B
01
01
11
01
C
10
10
11
10
(D)
3)
Obtenencin de las ecuaciones mnimas de excitacin y de salida: se aplica el pro
dimiento de diseo mnimo para funciones combinacionales.
Aplicando este proceso a la solucin como mquina de Moore:

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

0
A
A
A
A

A
B
C
D

Z
Tabla de estados
0
0
0
1

1
B
C
D
D

215

c
*X e^>
XX

Tabla de reduccin

NS
ASIGNACION III

ASIGNACION II

0 0

0 1

0 0

1 0

0 0

11

0 0

11

\x
qi qo\
A=0 0
B=0 1
C=1 1
o
QTi"

\x
qi q \
A=0 0
B=0 1
D=1 1
n
o

ASIGNACION I

Q iQ o~D i D o

0 0

0 1

0 0

1 1

0 0

1 0

0 0

1 0

z
0
0
0
1

\x

qi q \
A=0 0
C=0 1
B=1 1
D=1 0

0
00
00
00
00

1
11
10
01
10

z
0
0
0
1

Q iQ o - D i D o

Q iQ o - D i D o

Las ecuaciones de excitacin y salida para cada asignacin se muestran a continuacin:


I:

D\ = X q , + Xq0
D 0 = Xqi + X q 0
Z io

II:

| X q ] + X q 0
D 0 = Xq

_
III:

X q x+ X q 0

D 0 = X ( ^ J 0)

<7i<7o
Z = q xq0
La solucin de menor coste es la segunda (II) y el circuito el siguiente:
Z

P ro b le m a 13.- Disee un chequeador de paridad para caracteres de 4 bits enviados en serie.


E l circuito recibir, partiendo de un estado inicial, 4 bits en serie p o r una lnea de entrada, X;
coincidiendo con e l cuarto bit, la salida del circuito ser 1, si y slo si e l nmero total de unos
recibidos ha sido par. Tras la recepcin del cuarto bit, e l circuito volver a ace p ta ren la entra
da un nuevo carcter de 4 bits. Utilice en e l diseo biestables D.

www.FreeLibros.me

216

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P13.- Del enunciado se puede concluir lo siguiente:


1 La secuencia viene en grupos de 4 bits, por lo que la mquina debe reconocer si un
valor de X corresponde al primer, segundo, tercer o cuarto bit. Esto es, no hay solapamiento.
2.- Se trata de una mquina de Mealy, ya que la salida se hace 1 coincidiendo con el
cuarto bit.
3.- Existe un estado inicial (R). El estado R es aqul en que se encuentra la mquina
cuando el valor presente en X es el del primer bit de la secuencia.
Puesto que debemos detectar la paridad par de la secuencia, los estados de la mquina
deben guardar informacin del nmero de 1 's que van, y del lugar que ocupa el bit en la se
cuencia. Por tanto, el diagrama de estado queda como se muestra:
NUMERO DE UNOS
PAR
IMPAR

Orden del bit que se espera

El/festo del proceso de sntesis es el siguiente:


1- Reduccin de la tabla de estados:

R
A
B
C
D
E
F

0
A
C
D
E
F
R,1
R

1
B
D
C
F
E
R
R,1

iESE

2$

-EF- D

X X
X X X XX X X
xX

Tabla de reduccin
Fase final: es irreducible.

NS, Z

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

2.- Asignacin. Construccin de la tabla de transicin/salida.


Tabla
(E,F)
(A,B) si (C,D), (C.D) si
(E,F)

REGLAS
1
2
3
4
5

(A,B), 2(C,D), 2(E,F)


(R,A,B,C,D)
Reglas de adyacencia

yiy\

o'
0
1

00

01

11

10

A C E
B D F

R
-

\X

y2-yi>yo\
A=000
B=001
D=011
C=010
E=110
F111
101
R=100

La asignacin cumple
todas las reglas menos
3 de la regla 5

0
010
011
111
110
100,1
100
-000

217

1
011
010
110
111
100
100,1
001

y 2y , y 0, z

Tabla de transicin

3.- Ecuaciones de excitacin/salida. Se utilizan biestables D que cumplen: D = Yj. De


esta forma la tabla de transicin/salida coincide con la tabla de excitacin. De esta:
= y,
D , = y2
D 0 = x y 2y0 + xy2y0 + xy,y0
Z = x y & i y o + t yi y o
j
El diagrama de circuito se obtiene directamente de las ecuaciones de excitacin y salida.
D2

P ro b le m a 14.- S e pretende disear un circuito secuencial sncrono con una entrada X y dos
salidas Y, Z que cumpla la siguiente tabla de estados/salida:

E0

E 0,00

Ej.OO

Ei

E 2,00

E j.01

2,10

E 3,10

E 0,10

3, h

NS, Y,Z
Utilizando e l diagrama de bloques de la figura:
a) Calcule e l nmero de biestables tipo D que se necesitan.
b) D el tamao y contenido de la RO M .

www.FreeLibros.me

218

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 enun
ciado se necesitan dos biestables D.
El tamao de la ROM depende del nmero de entradas y salidas. Como entradas de di
reccin se tienen: X, entrada de datos, y q y q0 variables de estado (salidas de los biestables
tipo D). Como salidas se tienen: Y y Z, salidas del circuito, y D y D q 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

0
1
00,00 01,00
E, =01 10,00 01,01
E2 = 10 10,10 11,10
E3 = 11 00,10 11,11
Q 1Q0=D1D0,Y Z
Tabla de transicin/salidas

otfl
II
OO

fii q o \

X qi qo
000
00i
0 10
01i
10 0
10 i
110
11i

Do D
0 0
0 1
0 1
0 0
10
10
1 1
1 1

Y z
0 0
0 0
10
10
0 0
0 1
10
1 1

A^AjAq H3 H2 HiH 0

Contenido de la ROM

a2
a

, ROM

A
A0

qo
4l
C k'

8x4

H0
U1
h7
h3

Z
Y

Dn
D,
Circuito final

P ro b le m a 15.- Se desean obtener 4 seales Z h Z 2, Z 3, Z 4 a partir de una seal de reloj Ck


disponible en un determinado sistema. Realice el circuito correspondiente utilizando exclusi
vamente: 2 biestables JK, un D E C 2:4 y 4 puertas AND.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

219

Solucin P15.-En el diagrama temporal observamos dos hechos:


1 Cada 4 ciclos de reloj se repiten las seales. De aqu que el sistema tenga 4 estados
(llammosles A, B, C y D), cuya secuencia es:

Se trata de un contador mdulo 4.


2.- Cada salida se hace 1 durante un semiperiodo de reloj, concretamente con Ck = 1.
As, si llamamos Za, Z^, Zc y Z a una seal que se hace 1 cuando estamos en el estado A, B,
C y D, respectivamente, se cumplir:
Z, = Z aC k
Z 2 Z hCk
Z 3 = Z cCk
Z 4 = Z dCk
En consecuencia, aplicando el proceso sistemtico de diseo de circuitos secuenciales:

\
A
B
C
D

B
C
D
A
NS

Tabla de estados
(es irreducible)

Za Zb Zc Zd
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Con Z \ , Z2, Z3 y Z4
tomando el valor
indicado en el punto 2.

Utilizando la asignacin habitual en los contadores (asignar cdigos consecutivos a es


tados consecutivos) obtenemos la siguiente tabla de transicin:
4l 9o\
A=0 0 0 1
B=0 1 1 0
C=1 0 11
D=1 1 0 0

Za Zt>Z< Zd
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

QiQo
Tabla de transicin/salida

4l 4o\
A=0 0
B=0 1
D=1 1
C=1 0

0-, 11-, -1
-1, -1
-o, 1-

= Kn=

A =- K t = <lo

Jl Kl. J0K0
Tabla de excitacin

Ecuaciones de excitacin

Las funciones Za, Zj,, Zc y se obtienen como las salidas de un decodificador 2:4 con
salidas activas en nivel alto, cuyas entradas son qj y qg. El circuito es el siguiente:

www.FreeLibros.me

220

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Zi
Z2

PROBLEM AS CON SOLUCION RESUMIDA


P ro b le m a 16.- Construya e l diagrama de transicin de estados simplificado de un autmata
de M ealy con dos entradas X, Y y una salida Z que cumpla las siguientes caractersticas:
a ) cuando X pasa de 1 a 0, Z = 1 .
b) cuando Y pasa de 1 a 0, Z=0.
c) en otro caso Z no cambia de valor.
X e Y no pueden valer simultneamente 1. D e un ciclo a l siguiente, slo puede cambiar
una variable de entrada, no las dos a la vez.

Solucin P16.- El diagrama de estados es el siguiente:


XY/Z:
SIGNIFICADO DE CADA ESTADO
A: El ltimo flanco negativo en llegar ha sido en X
(Z=l) y con las entradas actuales es imposible que
Y cambie de 1 a 0, porque Y=0
B: Recoge que Y ha subido: cuando vuelva a bajar,
habr cambio en Z.
C: El ltimo flanco negativo ha sido el de Y (Z=0).
Similar al estado A pero para Z=0.
D: Similar a B, pero para el caso de que X suba, siendo
Z=0.

P ro b le m a 17.- Desarrolle un diagrama de estados para un circuito de Moore que genere sa


lida Z = 1 , durante un ciclo de reloj, cuando a la lnea de entrada X se han suministrado exac
tamente tres 1 durante los tres intervalos precedentes del reloj. S i durante cuatro o ms ci
clos del reloj hubiese 1, la salida ser Z - 0 .

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

221

Solucin P17.- El diagrama de estados es el siguiente:


SIGNIFICADO DE CADA ESTADO
A: No se ha recibido ningn 1.
B: Recibido el primer 1.
C: Recibido el segundo 1.
D: Recibido el tercer 1.
E: Recibido el cuarto o ms 1.

P ro b le m a 18.- Disee un circuito secuencial sncrono con una entrada de datos X, que pro
duzca 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:
0

So

s0

Si

Si

s2

s3

S2

S4

S5

s \

s3

S6

S7

S4

! S0

Si

S5 /

S2

S3

S6

S4

S5

S7

S6

S7

SIGNIFICADO DE CADA ESTADO


Estado
ltimos 3 bits recibidos
S0
00 0
S,
00 1

52
53
54
55
56
57

0 1 0

0 11
100
10 1
lio
111

NS
A partir de la tabla de estados se contina el proceso de diseo normal: reduccin de
estados (son equivalentes S, y S5); asignacin; eleccin de biestable; ecuaciones de excitacin.
P ro b le m a 19.- Disee un autmata de M ealy que detecte la secuencia 1, 0, 0, 1, 0; esto es,
e l 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.

www.FreeLibros.me

222

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P19.- El diagrama de estados es el siguiente:


SIGNIFICADO DE CADA ESTADO
Estado
Recibido
A
1
B
10
C
100
D
1001
E
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.
Com ience el diseo p o r 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
Recibido
R
No se ha recibido nada
A
Primer 0 de la secuencia 0 0 1
B
Primer 1 de la secuencia 1 0 0
C
Segundo 0 de la secuencia 0 0 1
D
Recibido 0, 0, 1
E
Recibido 1, 0
F
Recibido 1, 0, 0

A partir del diagrama de estados se continua el proceso normal de diseo.


Problema 21.- Disee un autmata de M ealy con dos entradas X, Y y una salida Z cuyo fun
cionamiento sea e l siguiente:
a) si X Y = 00, entonces Z = 0 .
b) si X Y = 1 1 , despus de que las entradas hayan sido durante dos ciclos de reloj
X Y = 0 1 , entonces Z = 1.
En e l resto de los casos se m antiene la salida.
Nota: en cada ciclo slo puede cam biar una variable de entrada, no las dos a la vez.

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

223

Solucin P21.- El diagrama de estados reducido queda de la siguiente manera:


11/0
00/0

SIGNIFICADO DE CADA ESTADO


A:
B:
C:
D:

Estado en el que la salida es 0 y recoge se


cuencias de entrada distintas de 01 , 01 , 11.
Recoge el primer valor de la secuencia que
genera Z = 1.
Recoge el segundo valor.
Se alcanza tras recibirse la secuencia que
genera Z = 1.

Problema 22.- S e desea disear un autmata de M ealy con dos entradas (X- ,X2) y una sali
da Z, que obedezca al siguiente comportamiento:
1) En ningn caso am bas entradas pueden e s ta ra 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:
B:
C:

Estado que indica que el ltimo valor re


cibido es 00 .
Se recibe 1 en la variable Y.
Se recibe 1 en la variable X.

Problema 23.- Por una lnea se envan (bit a bit) grupos de cuatro bits. Obtenga el diagrama
de estados de un circuito secuencia! sncrono de M ealy 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:

www.FreeLibros.me

224

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Orden del bit que se espera

Io

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. S e trata de mqui
nas de M ealy o de Moore?

S\

A
B
C

D
E
F
G

st
D
D
G
A
E
A
C

51
52

F
E
E,1
F
E,1
B
G,1
NS, Z

S5
S5
S6
S6

s,

Si
S2
s2
s3

s 7,l

S3
S4
S4

S7,l
S8>1
Sg,l
NS, Z

Solucin P24.-Las dos son mquinas de Mealy. Tras el proceso de reduccin las tablas resul
tantes son:
AD A

B - B
CEG C
F > F

A
A

F
C

C,1
B

S\A

s S2, S3, S4 >


S 5, S, S7, Sg B

NS, Z

www.FreeLibros.me

A
A

B
B,1
NS, Z

DISEO DE CIRCUITOS SECUENCIALES 225


Problema 25.- Obtenga una buena asignacin para la siguiente tabla de estad o s..

*So

Si
S2
s3

S4
S5
S6

0
Si
S3
Si
S5
Si

s2
s2

S4
s2

S6

s 5,l

S,

s2

S6.l
NS, Z

Solucin P25.-La tabla no puede reducirse. Aplicando las reglas de adyacencia se obtiene:
Tabla
(S4,S6), (S,,Ss)

REGLAS
1
2
3

(S0,S1),(S0,S2), (S0,S3), (S0,S4), (S0,S5), (S0,S6), (SltS3),


(SSs), (S2,S4), (S2,S6)
(S,,S2), (S2,S3),(S,,S4), 2x(S2,S5), 2 x(S,,S6)
(S0,S i ,S2,S3,S4)

4
5

Dos asignaciones posibles para esta tabla son las siguientes:


Tabla 1
y o \

0
i

J 2 yi
yo
0
1

00 01 11 10
S4 So S3 S6 S2 S5 Si
NS, Z
Tabla 2
00

01

11

10

S4 - S3 s 2
S6 So S5 Si

Reglas que cumple:


1. 2 (Todas)
2. 3. 5 (de 10)
4. 4 (de 5)
5. 3
Reglas que cumple:
2 (Todas)
1.
2.

3. 4 (de 10)
4. 4 (de 5)
5. 3

NS, Z

www.FreeLibros.me

226

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 2 6 .- a) Para la tabla de estados siguiente, determine cul de las tres asignaciones


que se dan es la que cumple m ejor las reglas de adyacencias.
b) Para la asignacin nmero 1, realice el circuito utilizando biestables JK y puertas.

X,X,
00

c
c

01

11

10

ES T A D O

ASIGNACIONES (qj q2)

I
00

A
B

1
1

01
II
10

2
00

01
10
11

3
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

Adyacencias que cumple

A B , AD, BC , CD
A B , AC, BD, CD
AC, AD, BC, B D

1
2

REG LA S QUE C U M PLE


R3
4

R4
8

R5
2
2

La asignacin que ms reglas cumple es la nmero 1.


b)
Con la asignacin 1, siguiendo el proceso de diseo (tabla de transicin, tabla de
excitacin, ecuaciones de excitacin) las ecuaciones que se obtienen son:
J\

q2
= X2

= X 2+ X ]
J2

K\ = X2 + Xq2 X\Cfo
K = q2 + X^X2
Z=q
2

www.FreeLibros.me

DISEO DE CIRCUITOS SECUENCIALES

227

P ro b le m a 2 7 .- En un analizador lgico se observa el siguiente comportamiento:

Ck
X

qi
q2
Za
Zb

i_ r

Realice el circuito con biestables T y puertas NAND.

Solucin P27.- Vamos a obtener directamente la tabla de transicin/salida. Como las varia
bles de estado q 2 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
(fll y el valor actual de la entrada X: tambin el de las salidas Za Zb se ven en ese mismo
ciclo, mientras que el valor del prximo estado se determina viendo cunto valen qj y q 2 en el
ciclo siguiente. Las tablas de transicin y de salida quedan de la siguiente manera:
qi qA

0 0

1 0

11

0 1

11

1 0

11

0 1

0 1

1 0

0 0

0 1

q iq \

0 0

1 0

0 0

0 1

0 1

11

11

0 0

1 0

11

11

1 0

ZaZb

1Q 2

Tabla de transicin

Tabla de salida

Las ecuaciones de salida y excitacin son las siguientes:


7, =

Tq = X < l\+ z<l 2

z a = X q 0 + q ]q 2 + X q 2
Z h = q ]q 2 + q 2 q l

www.FreeLibros.me

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 -l (p.ej., si es ascendente, del 0
pasa al 1, del 1 al 2, y as hasta el K -l, 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 2n-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 2n. 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
www.FreeLibros.me

230

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Up C1 Ld Operacin
000
Inhibicin
1 00
Cuenta
x 10
Puesta a cero
Xx 1
Carga dato

TC=Terminal Count
TC=1 si q2 qi q0 =111
TC=0 en otros casos

En la siguiente figura aparece la secuencia de salidas de un contador mdulo 8 ascen


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

qi
<i2

[cont]

DISEO DE CONTADORES
Hay dos formas de realizar contadores: 1) los de rizado (ripple-counter) o contadores asin
cronos; 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.

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.

www.FreeLibros.me

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 asincrono, 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
asincrono 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.
X Operacin
Puesta a cero
Cuenta arriba
clk .
X
[cont].

li

li

~x

X"

r
:x

En la siguiente figura se muestra la estructura de un contador de similares caractersticas


que el anterior pero con un c lear 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.

REGISTROS
Los registros son circuitos capaces de almacenar palabras de n bits. Existen dos operaciones
bsicas:
- Escritura iyvrite) o carga {load) en paralelo, mediante la que los n bits del dato
son almacenados a la vez, introducindose por n entradas In_]To
- Desplazamiento {shift), mediante la que los n bits del dato son almacenados en

www.FreeLibros.me

232

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 Ln. 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.
I3 I2 Ij Iq
^2
0
0
0
0
1

C1 co
0 0
0 1
1 1
1 0
- -

Operacin
SHL
SHR
LOAD
INH
CLEAR

Rn
c2
Cl

R[4]

Co

SO 43 42 4i 4o SOr
Para el diseo de registros hay que tener en cuenta el modo de funcionamiento asincrono
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.
i = 0)
i = 3)

clk

4 -i
4i+i 0
1 \
\
4 2 )
Li 3
/
10 /
C| c0

Cl 4i

Di
4i
/ \ .. ..
clk
-

DISEO DE FUNCIONES CON SUBSISTEMAS SECUENCIALES


Los contadores y registros pueden usarse, adems de para sus propias tareas especficas, en la
realizacin de mquinas secuenciales cualesquiera. La forma ms inmediata es usar subsiste
mas con carga en paralelo para almacenar el estado presente mientras que el circuito combina
cional genera y sita el prximo estado en las entradas de carga en paralelo; as, el subsistema
sustituye a los biestables en el esquema general de circuito secuencial. Adems, podemos citar
otras dos aplicaciones:
- Los registros de desplazamiento se usan para generar secuencias cclicas. Para ello, el
registro es cargado a un valor inicial; con este valor se determina qu bit hay que introducir en
el siguiente desplazamiento para aportar otro bit de la secuencia, y as sucesivamente.
- Los contadores (p.ej. los ascendentes) implementan los cambios de estado con la fun
cin de cuenta siempre que esos estados tengan asignados cdigos de estado ascendente. Tam
bin incorporan la funcionalidad de pasar al estado de cdigo 0 (mediante la accin de
clear), de permanecer en el estado actual (accin de inhibicin), etc. Si se puede realizar un
circuito combinacional que genere las seales de entrada del contador (control y datos)
adecuadas, el contador podr ser el dispositivo de memoria de ese circuito secuencial.

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

233

ndice del Captulo


Este Captulo desarrolla problemas de las siguientes materias:
- Anlisis de circuitos con contadores y registros.
- Diseo de subsistemas secuenciales: contadores y registros.
- Diseo de funciones secuenciales con subsistemas.
PROBLEM AS RESUELTOS
P ro b le m a 1.- Determ ine la secuencia de salida del contador m dulo-5 de la figura en funcin
de la evolucin de las entradas x, y.

x Contador
y mdulo-5
_A_

clk I

JLX operacin
up
00

0 1
1 0
1 1

down
clear asincrono
inhibicin

clk

/n /n /F i /F i /n /n /H /n /n

J
Z
2
.

Solucin P l.- Sea Sq el intervalo de tiempo comprendido entre t = 0 y el primer flanco


ascendente de reloj (ver siguiente figura), Sj el intervalo comprendido entre el primer flanco
ascendente y el segundo, y as sucesivamente. En el intervalo Sq tenemos dos combinaciones
de entrada, (xy = 10 y 00). Para la primera, se produce un clear asincrono que provoca que las
salidas del contador se pongan a 0. De este modo, y durante el resto del intervalo, el contador
estar a 0 puesto que la siguiente combinacin, xy = 0 0 , es sncrona y depende del flanco de
reloj para su ejecucin.
Para el ciclo Sj se ha producido un incremento del estado de cuenta, causado por las
seales de control x e y en el instante en que se gener el primer flanco ascendente. Durante
este ciclo las entradas se mantienen a 0 lgico, por tanto la operacin seleccionada es la cuenta
ascendente.
El valor de cuenta en el ciclo S 2 es el 2. En l se producen transiciones en las entradas
x e y que se encuentran a 1 lgico al final del ciclo. Esto provoca una inhibicin para el
siguiente ciclo.
Para el ciclo S 3 el estado de cuenta es el 2, y se produce una transicin en la entrada x,
lo que provoca que se seleccione la operacin de cuenta descendente.
En el ciclo S4 se produce el decremento, por lo que el estado de cuenta actual es el 1.
Durante este ciclo y los dos siguientes, S5 y S6, las entradas se mantienen con el mismo valor,
lo que provoca el decremento del estado de cuenta en estos ciclos y, a su vez, en el S7 .
En el ciclo S7 se produce un clear asincrono que pone el contador a 0. Esta situacin se
prolonga hasta el final del ciclo Sg.
Por ltimo, en el ciclo S 9 , se produce una situacin de incremento del contador. Esto es
debido a que las entradas al final del ciclo anterior estaban a 0 lgico.

www.FreeLibros.me

234

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk
x

A So

s3

s4

s5

s7

H r~i n n n i~i n

S1

s2

s6

s9

s8

[CONT] o X T T

)r~ r^ r~ o ~ ^ rr~ y 3 x : o

P ro b le m a 2 .- Analice el circuito de la siguiente figura, considerando que la operacin de clear


es sncrona.

CONT[3]

u P/clear

clk

&

Solucin P2.-E1 contador slo tiene dos modos de operacin: cuenta ascendente, U p /C lear= 1,
y puesta a cero sncrona, U p /C le a r= 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.

P ro b le m a 3 .- Disee un contador mdulo 4 que tenga las siguientes caractersticas:


a) S e r sncrono y disparado p o r flanco de subida.
b) S e r puesto a 0 de m anera asincrona.
c) Inhibirse de la cuenta, manteniendo el estado almacenado.
d) C ontar hacia arriba.
e) C ontar hacia abajo.
f) C argar datos en paralelo.

Solucin P3.- Al ser un contador de mdulo 4, slo necesitaremos para su realizacin dos bi
estables. Estos debern ser disparados por flanco ascendente, tener entrada asincrona de clear

www.FreeLibros.me

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 asincrona). Una posible
codificacin es la mostrada en la siguiente tabla:
C2 C1 Co

0
0
0
0
1

0
0
1
1
-

0
1
1
0
-

Operacin
Up
Down
Load
Inh
Clear

Esta codificacin permite utilizar C2 , directamente, como lnea de activacin de las


entradas de clear de los biestables, reduciendo as el circuito de decodificacin. Para cada una
de las operaciones restantes habr que determinar las expresiones de entrada de cada uno de
los biestables, para que se genere el funcionamiento global especificado.
Si C[C0 = 00, tenemos cuenta ascendente y, si los biestables son de tipo T, las entradas
sern:
T0 = 1
T, = q 0
Si C]Cq = 01, tenemos cuenta descendente, por tanto las entradas sern:
T0 = 1
Ti = q 0

Si C]Cq=10, tenemos inhibicin. Los biestables no deben cambiar de estado, por lo que
sus entradas deben ser 0 :
T0 = 0
T, =0
Si C[C0= 1 1, tenemos la carga y para determinar las entradas de los biestables T (i =0,1)
nos basamos en la siguiente estructura, siendo D el dato a cargar en cada biestable.
D;
\

www.FreeLibros.me

0
1

236

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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.
T 0 = q 0 D 0
T, = q,D,
La solucin, para la parte sncrona, ser la unin de las entradas de los biestables para
cada seal de control:
T0 = l e, c0+ l e, Cq+0
Cj
Cq+ (qoDq1
Cj
Cq
Ti = Ao ci
El circuito resultante es:

c o+ lo c r c o+ 0

D0-

qo

C1
\ __ Ti qi
_
/
qi
3
/
10 /
/
11
C1 c0

C1

310 / /

Cj c 0

^o+

c2 .
i
i
o

ci

qo
T0 _
qo
A

qo 0
1
qo
2
o

Di _
qi

Cj c 0

c lk

P ro b le m a 4 .- Disee un contador m dulo-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 1 0 alcance su ltimo estado de cuenta.
Vamos a suponer que el contador de mdulo 10 dispone de seal de carry (Cy). Daremos dos
soluciones al problema. En la primera, el carry del contador de mdulo 10 se utiliza como
seal de up del segundo contador :
mod. 10

Cy
A

up

mod. 6

clk -------------------------------------- -------------------------------------------------------------

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 carry del primero se emplea como reloj del segundo.
Aqu, s es necesario, para asegurar que los contadores cambien al mismo tiempo que el flanco
de disparo sea de bajada.

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

mod. 10

Cy

237

up

mod. 6
-------------------------

En cualquier caso, nuestro problema ahora se reduce a obtener el contador de mdulo 6


con biestables JK. El diagrama de estados para el contador de la primera solucin es:

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

Obviaremos los pasos para la obtencin del circuito secuencial, puesto que ya existe un
Captulo entero dedicado a este propsito.
P ro b le m a 5 .- S e dispone de un contador m od-16 con las siguientes seales de control:
C U EN TA , CARGA y CLEAR.
a ) S i C U EN TA = 1 y CARGA = 0, el contador cuenta hacia arriba.
b) S i CARGA = 1, el contador se carga con datos en paralelo.
c) Tiene tambin salida de CARRY.
Construya, utilizando como dispositivo bsico dicho contador:
1.- 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:

www.FreeLibros.me

238

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Operacin
Carga
Cuenta

CARGA CUENTA CLEAR


1
0
1
1
0
0
0
0
0
-

Clear

Inhibicin

Suponemos que todas las operaciones son sncronas.


1.- Para realizar un contador de 0-5 utilizando este dispositivo debemos interrumpir la
secuencia normal de funcionamiento del mismo, forzndolo a que pasado el estado 5 vuelva
al estado inicial, el 0 .
Para ello tenemos dos posibilidades: la primera, generar un c le a r ; la segunda, una carga
en paralelo donde, previamente, las lneas de carga se hayan puesto a valor lgico 0. El modo
ms natural, en este caso, sera el utilizar la seal de clear.
Las operaciones a realizar con este contador son dos: cuenta y clear, para lo que las
seales de control debern ser (CARGA, CUENTA, C LEA R ) = (0, 1, -) y (0, 0, 1)
respectivamente. Esto hace que la seal de CARGA siempre est a 0 y, puesto que CUENTA
es prioritaria, la seal de CLEA R puede estar a 1. La solucin a este apartado se reduce a
obtener un circuito combinacional que en funcin del estado del contador genere la seal de
CUENTA.
C AR G A
CUENTA
1------- CLEAR 3 2 ] o

I N I
(

c"

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.
qi u 'n

00

01

00

01

11

10

K-

11

- )
-

CUENTA
CUENTA

= q 2 q0

www.FreeLibros.me

10

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.
1 0
J

1 0
I

CARGA
CUENTA
CLEAR 32 10

clk

C.C.

El K-mapa para la funcin carga es:


q2
Ql Q n'v',
00
01
11
10

00
-

01
!-

u
0
0
1)
0

10
0
0

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
c lea r cuando el valor del conjunto de las lneas que forman los dos contadores sea 34 o lo que
es equivalente, que las lneas qj de los dos contadores sean 1 y el resto 0. Podemos deducir
directamente la expresin de la seal de c lear como:
CLEAR = q?-qj
donde el superndice distingue el contador.
www.FreeLibros.me

240

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Las operaciones a realizar por el contador dos son: inhibicin, cuenta ascendente y
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 CONT1, 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:
clear,

P ro b le m a 6 .- Disee un registro universal de 4 bits. En particular, debe cum plirlas siguientes


especificaciones:
a) S e r sncrono y disparado p o r flanco positivo de reloj.
b) Tener entrada de puesta a cero asincrona.
c) Tener las cuatro formas de operacin siguientes:
Inhibicin
Desplazamiento a la izquierda.
Desplazamiento a la derecha.
Carga de datos en paralelo.

Solucin P 6 .- Utilizaremos 4 biestables tipo D, disparados por flanco de subida y con entrada
asincrona de C1 activa en alto. Todos los biestables van a utilizar la misma seal de reloj. La
codificacin que podemos realizar para las 5 operaciones de control es:
C2 Cl co
0 0 0
0 0 1
0 1 1
0 1 0
1 XX

Operacin
SHL
SHR
LOAD
INH
CLEAR

^in
c2 ~
C1
c0 ~
SO,

93 92 9i 9o

Supongamos que salvo el C LEA R , el resto de las operaciones son sncronas. Entonces,
para cada biestable D tenemos que:

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

241

Si c 2 C]Cq = 000 (desplazamiento a la izquierda), las entradas son:


D' = qi-i

i =1,2,3

Do = L,

Si c 2 C]Co = 001 (desplazamiento a la derecha), las entradas son:


D. = qui
i =0 ,1 ,2

Di = L:

La expresin para la entrada de cada biestable se obtiene uniendo las expresiones


anteriores para cada entrada de control.
D 0 - Lin c, c 0 +q, Cj c 0 +q 0 c, c 0 +L 0 c, c 0
D] = qo CrCo +ch ^ r co+cli c i Co +Lj c, c 0
D 2 = qi C] c 0 +q 3 c, c 0 +q 2 c,
c 0 +L 2 Cj c 0
D 3 = q 2 -C] c 0 +Rin c, c 0 +q 3 o, c 0 +L 3 c, c 0
En las expresiones anteriores se ha eliminado la variable c2. Esto se puede hacer si
utilizamos c 2 exclusivamente como seal que acta sobre las entradas clear de los biestables.
Cuando c 2 = 1, el biestable se pone a 0 independientemente del valor de su entrada sncrona.
Si c 2 = 0, el estado futuro del biestable depende del valor de su entrada y del estado presente.
En la siguiente figura aparece el circuito correspondiente a la celda i del registro.
(Linsi i = 0)
(Rinsi i = 3) '
cl c 0

clk

P ro b le m a 7.- La figura muestra un registro de cuatro bits y sus operaciones. Utilizando


conexiones y circuitera externa adicional a ese registro:

www.FreeLibros.me

242

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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: Desplazam iento a la derecha.
L: Carga en paralelo.
SO: Salida serie.

SH L
0 0
0 1
1
-

X3 X2 X] x 0

SI

REG <
REG
X3 -X q
SHR(REG.SI)

3 2 10
C'TTi
ol
L ......... ^ 3 2REG1 0
Ck
93 92 9i 9o

SO

b)
Construya un registro con desplazamiento circular a la derecha y complete el
diagrama temporal mostrado si cuando se activa la seal de carga (L) e l valor de las entradas
es X 3 X 2 X 1X 0 = 1 0 1 0 .

clk

_J

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 Ij e Iq. En la siguiente tabla, aparece una posible
codificacin de stas y su relacin con las seales a activar en el registro.
I.
0
0
1
1

lo
0
1
0
1

SH
0
0
1
0

L
0
1
1
-

Operacin
Inhibicin
Carga
SHR
SHL

Asimismo, necesitamos controlar los datos de carga en el registro.


Si I[I0 = 01, los datos de entrada al registro deben ser los propios de la carga, o sea,
X = D para i = 0, 1, 2, 3.
Si IjIq = 11, se debe realizar el desplazamiento a la izquierda, para lo cual tenemos que
X, = qj.j para (i = 1, 2, 3) y X 0 = SIL. ( Esta es una entrada adicional que aadiremos para la
realizacin del registro universal. La salida del desplazamiento a la izquierda ser SOl= q 3 ).

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

243

Uniendo las expresiones anteriores, nos quedan las ecuaciones siguientes:


X-, = D 2 I, +q2 Ij
X 2 = D 2 I, +q, I,
X, = D, I^ +q I,
X 0 = D 0 I, +SIL I,
Puede observarse que en las expresiones anteriores se ha eliminado la dependencia de
Iq- 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() no afecta a la operacin del
dispositivo.
Nos queda, por ltimo, disear el circuito que adapte las seales de control I I0 a las del
registro SH y L. De la tabla inicial, podemos sacar las expresiones algebraicas siguientes:
0
1
SH = I, I 0
0
L=Ir
1 :i
1 ';
L - I, +I0
El circuito resultante es:
-

d 3 q2 d 2 qi d, qo d 0 sil

I.
lo

oX

x2
SH
X3 REG
T
>1
q3 q2 qi qo
/\
Ck
_F
so.
SOL
b) El registro circular se construye realimentando la salida qg con la entrada SI.

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.

www.FreeLibros.me

244

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk
L
SH
[REG]
SO

rm j>cgTi><jimixrmn><dTnT^

0101

tam ___rzzzi__ izzzi m z

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 0 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.
P ro b le m a 8 .- La figura representa un registro de 8 bits cuyas funciones son las especificadas
en la tabla. Las salidas D Z deben ir conectadas a un B U S compartido. E l B U S EB es
bidireccional.
a) Disee e l registro utilizando puertas y biestables de tipo T con entradas de P R E S E T
y C LEA R activas en alto (H).
b) Aada a i 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

X, Xo

1 0

Operacin sobre REG[8]


Lectura desde DZ
Escritura en REG
Lectura desde EB
Puesta a cero sncrona
Puesta a cero asincrona

8,
X2
Xi

X,o

, DZ[7-0]

REG[8]
y
8/ ' EB[7-0]
>f

Solucin P 8 .- 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:

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

245

A y Bj son las entradas de control de los bujfers triestado y D la entrada de datos que
se obtiene del bus bidireccional. El circuito combinacional C.C. debe generar las seales T,
A, Bj, Clj y Pq, en funcin de las seales de control X, del estado actual y el dato de entrada
Dj. Para no extender demasiado el diseo, vamos a utilizar para el circuito C.C subsistemas
combinacionales. La tabla de funcionamiento para C.C. es:

Tj
q
0

Aj Bj
0 0
1 0

D q 0 0
O

X2X,X0
000
00 1
0 10
0 1 1
1- -

0 0

Clj Pq
0 0
0 0
0 0
0 0
1 0

Operacin
Cero sncrono
Lectura DZ
Escritura
Lectura EB
Cero asincrono

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 asincronas, 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 X 2 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 T de la variable X2. Por tanto, podemos deducir que:
T = q Xj Xo +Djeqj X, X 0
Esto se podr realizar con un multiplexor de 4 canales. Para las entradas de control de
los bujfers tenemos:
A = X2 X, X0
B = X 2

Xy X 0

En este caso hemos preferido no eliminar la dependencia de X 2 para asegurar que se


produce la lectura solamente en los casos que se especifican en el enunciado. El circuito
resultante queda como:

www.FreeLibros.me

246

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 9 .- a) Disee un contador sncrono con una entrada X, de forma que sea un


contador de m o d -16 para X = 0 y de m o d -12 para X = 1.
b)
Disee un circuito que genere Ia secuencia de palabras dadas en e l diagrama de
tiempo de la figura utilizando e l contador anterior y una ROM.

16

2 3

|<----------------^

6 7

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 1 1 en
decimal. Si suponemos que la seal de clear (Cl) es activa en alta, tenemos:
X=1
^3 ^2
a i ^

00

01

11

10

00

01

11

10

1 ;

Cl

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

247

La expresin algebraica para C1 es:


C1 = q 3 q i q 0
El circuito resultante es:
A

qo qi

q2

Cl
q.3

clk
X

&

b)
Para generar la secuencia deseada utilizaremos el circuito anterior y una ROM. Con
esta ltima ser posible generar, para los 16 posibles estados, las salidas za, zb, zc y zd
correspondientes. Por tanto, exigiremos que la ROM posea 16 posiciones de memoria (4 lneas
de direccin, que correspondern con las lneas de salida del contador) y cuatro bits en cada
posicin (valores de las salidas za, ... para cada ciclo de reloj o estado del contador).

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 za, ..., zd. Si para el ciclo 0 ( estado
de cuenta 0), las salidas (za, zb, zc, 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
$1
$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

www.FreeLibros.me

248

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 10.- El circuito integrado 74L S 193 es un contador sncrono de 4 bits con carga en
paralelo, seal de puesta a 0 (clear), tambin sncrona, e inhibicin. Utilice un 74LS193 y las
puertas necesarias para realizar el diagrama de estados de la figura.

Clear Load
_
0
1
0
1
1
1
1

PT
_
-

0
1

Operacin
CONT = 0
CONT= D
CONT = CONT
CONT = CONT + 1

P
T
Clear
Load

3 D2 D i D0
93 92 9i 9o

Solucin PIO.- Cualquier diagrama de estados puede realizarse fsicamente mediante el


empleo de contadores. Un valor de cuenta en el contador representa un estado del diagrama y
el cambio de cuenta una transicin entre estados. La particularidad de implementar diagramas
utilizando estos dispositivos est en la posibilidad de adaptar el diagrama" al funcionamiento
natural del contador. Esto conlleva un estudio preliminar del diagrama con el objeto de hacer
un asignamiento de estados apropiado y una simplificacin de las seales de control
necesarias.
Para implementar una transicin entre estados tenemos distintas opciones: a) generar
una carga con el cdigo del estado prximo; b) activar una cuenta ascendente descendente
si, previamente, hemos asignado cdigos consecutivos a los estados presente y prximo; y
c) una puesta a cero, cuando el cdigo del estado prximo sea el cero.
En general, podemos decir que, en la mayora de los casos, ser necesario que el
contador realice las transiciones utilizando tanto la operacin de carga como las de cuenta y
puesta a cero. Si utilizramos slo la operacin de cuenta (up/down ) y la de puesta a cero
(cle ar), no podramos implementar cualquier diagrama de estados, ya que pueden presentarse
casos de transiciones no realizables. Sin embargo, utilizando nicamente la operacin de carga
s sera posible realizar cualquier transicin entre estados aunque a costa de un circuito algo
ms complejo. Por esto ltimo, eliminaremos en lo posible la operacin de carga.
El primer paso consiste en asignar cdigos consecutivos a los estados, de forma que
las transiciones entre ellos puedan ser descritas mediante operaciones de cuenta. Para nuestro
problema, asignaremos cdigos consecutivos a la secuencia de estados A-B-C-D-E-F-G. De

www.FreeLibros.me

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
A
B
C
D
E
F
G

Asignacin
0
1
2
3
4
5
6

Una vez elegida la asignacin, recorremos nuevamente el diagrama de estados para


conocer las operaciones que se necesitan en el contador:
Estado A.- Slo tiene una transicin hacia el estado B. Esto se consigue con operacin
de cuenta ascendente (up).
Estado B.- Slo tiene una transicin hacia el estado C. Operacin de cuenta ascendente
{up).

Estado C.- Tiene una transicin hacia el estado A que realizaremos con clear y otra
hacia el estado D que haremos con up.
Estado D.- Tiene una transicin hacia el estado E que realizaremos con up y otra hacia
el G en la que tendremos que utilizar la seal de carga. El valor que pondremos en la entrada
paralelo es el 0 1 1 0 ( 6 en decim al).
Estado E.- Una transicin hacia el F mediante operacin de up y otra hacia s mismo que
realizaremos con operacin de inhibicin (o bien de carga).
Estado F.- Una transicin hacia el G mediante up y otra hacia el estado D mediante una
operacin de carga con el valor 0011 (3 en decimal).
Estado G.- Una nica transicin hacia el estado A que realizaremos con clear.
Podemos deducir que el contador debe disponer, para realizar el diagrama, de las seales
de control anteriores y de un mnimo de 7 estados de cuenta. Como podemos ver, el contador
de la figura cumple con todos estos requisitos. El siguiente paso consiste en obtener las
expresiones algebraicas que relacionen las seales de control a activar y datos de carga con el
estado presente del contador y la entrada X. Para simplificar esta tarea, vamos a hacer una
reduccin previa; el contador dispone de cuatro salidas, de las cuales slo nos son tiles tres,
ya que el diagrama tiene siete estados. Vamos a hacer la asignacin, por tanto, ignorando el
valor de q3.

www.FreeLibros.me

250

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Estado
A
B
C
D
E
F
G

93 92 9l Qo
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
-

Partiendo de esta asignacin y teniendo en cuenta la entrada X, queremos disear un


circuito combinacional que active las seales de control apropiadas para generar las
transiciones de estado representadas en el diagrama de estados.
0

P
T
Clear
Load

D3 d 2 d , d 0
93 92 9i 9o

En la figura, hemos fijado D 3 y Dj 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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

92 9i 9o
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Clear
1
1
0
1
1
1
0
1
1
1
1
1
1
0

Load
1
1
0
1
0
_

p T
11
1_ _1
__
0 __
_

1 1
1 1
1 1
1 1
1 1
1 1
- -

d 2 Do
-

1 0
0 1

1
1
1
1
1
1
-

www.FreeLibros.me

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 = cf2 +X

t =1

Do = q 2

D 2

CLEAR = q,+q 0 q 2 +X q 2

= qi
/

LOAD = q 0 +q, q 2 +X

P ro b le m a 11.- Se dispone de una seal binaria con periodo de 1 minuto, contadores de


mdulo 1 0 disparados p o r flanco negativo, con entrada de clear sncrona activa en alta y
salida de acarreo (carry), visualizadores de 7 segmentos con entradas B C D y puertas lgicas.
Disee un reloj digital que muestre las horas y minutos.

Solucin Pll.-Podem os 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:

El contador CONT1 debe ser capaz de cambiar desde el estado 0 al estado 9 en cada
minuto o ciclo de reloj.
CY l
93

CONT 1 CL j
92 9i 9o A
u

clk ("lmin")

El contador CONT2, debe cambiar de estado cada 10 minutos. Los estados que puede
recorrer van desde el 0 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 CONTE
Adems, cuando el estado de cuenta alcance el valor cinco, activaremos la seal de clear.
CL 2 - q 2 q 0

www.FreeLibros.me

252

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

El superndice de la expresin anterior hace referencia al contador del que extraemos las
salidas q. En este caso, el contador CONT2.

clk
La siguiente figura representa un anlisis temporal de las seales que intervienen en el
minutero.
clk
CY,
cl2 .

coNT] t x z X E X ^ ziz z x ix z x z :::: z x i x z x l


C O N T 2

~X ~T~

X " l~ I Z I

~>To~

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 (CL3) cuando [CONT4] = 2 y [CONT3] = 3. La
ecuacin para la seal CL 3 es:
CL3 = q qj 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 qj 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, de
cuatro).

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

253

La seal del clear la activaremos cuando [CONT4] = 2.


CLK 4 = q, q{ +CY 3
CL 4 = q
El circuito resultante se representa en la siguiente figura:

La siguiente figura ilustra el comportamiento temporal de esta parte del circuito.

dk3 _ J L _ T L _

_JL_JL_JL_JL_n__n

[cont3] ~ 8~ > T 9Z > < .....

CY,
1

[CONT4]

I___

x;

x:

P ro b le m a 12.- Disee un circuito que genere la secuencia: 1, 1, 0, 0, 1, 0.

Solucin P12.-Existen mltiples soluciones a este problema. Vamos a plantear algunas.


a) A partir del diagrama de estados. Obteniendo el circuito utilizando el mtodo
sistemtico de sntesis de circuitos secuenciales.
b) Basado en un registro de desplazamiento, donde la salida q5 se conecta a la entrada
Ln para la generacin peridica de la secuencia.
1 )0 13
v

shl/load

Lin
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

www.FreeLibros.me

254

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

carga el dato externo, y si X = 1, se realiza el desplazamiento a la izquierda en cada ciclo de


reloj. La secuencia normal de funcionamiento para este registro, se muestra en la siguiente
figura, donde se ha supuesto que la carga es asincrona.

cik n n n n n n n_rn

i-------------------------------------------

[R]

~ X iooio XiooioiXooTTl><oioiioXionoo/onoo!><iiooio>r~

c)
Usando un registro de desplazamiento, pero con un nmero de biestables inferiora
los bits de la secuencia a generar.
Como mnimo, el registro de desplazamiento debe tener 3 biestables ya que se necesita,
al menos, 6 estados.

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 Ln.
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, q 2 qiqo = (1,1,0). El prximo bit de la secuencia que debe ser introducido por Ljn 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 Lin pasa a ocupar la posicin menos significativa, q 2 qiQo = (1*0,0). El prximo
bit a introducir por Ln ser ahora 1. Por tanto, C.C. generar salida 1 para entrada (1,0,0). Si
repetimos este proceso, obtendremos la tabla siguiente:
r*

q2 qi

qo

Lin

i
0
0
i
0
i
i

0
0
i
0
i
i
0

0
1
0
1
1
0
0

1
1
0
0
1
0
1

www.FreeLibros.me

SUBSISTEMAS SECUENCI4LE5

255

Como puede observarse, para cada entrada obtenemos un nico valor de Ln, por tanto
podremos generar esta funcin mediante un circuito combinacional. Es probable que en
muchos diseos aparezcan entradas idnticas que generen salidas distintas para Ln. 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:
qo

00

(0

01

11

10

/"A
1

0
-

Lin

de donde obtenemos la siguiente expresin:


Au = 2 <io + Cl2
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 q 2 qiqo = 000 y la q 2 qiqo = 111- Si inicialmente se da el estado 000, el
prximo estado, el 0 0 1 , 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:

www.FreeLibros.me

256

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 13.- Utilizando como base un registro de desplazamiento, disee un autmata de


M ealy que funcione como detector de las secuencias: 1111, 011 0 0001.

Solucin P13.- Este problema utiliza el registro como elemento almacenador de los bits de la
secuencia a detectar. En un diseo de M e a ly podemos emplear la variable de entrada X en la
expresin de la salida, reduciendo el tamao del registro a tres bits.
\ ----------- ShR
REG
In
0 2 O Oo
X
..L..L..L........
/

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 q 3 por X.
Z = X q2 q, q0 +X q2 q, q0+X q2 qi q0
PROBLEM AS CON SOLUCIN RESUMIDA
Problema 14.- Represente la salida del circuito de la figura siguiente durante 5 ciclos de reloj
suponiendo que el registro tiene alm acenada la palabra 1 1 0 inicialmente y que la nica
operacin disponible para el registro es el desplazamiento a la derecha.

Solucin P14.- Con carcter general podemos decir que la salida se obtiene a partir de la fun
cin 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.

clk
[reg]
z

I V I ^ I 'I' I V I V >
no >k: ni ><i on >< ooi >j< ioo >k:: oio
.i
--------------->
.

Problema 15.- Disee un contador de 4 bits (mdulo16) que permita carga de datos en
paralelo. E l contador debe ser sncrono y podr ser puesto a 0 (clear). Diselo con biestables
J K y puertas lgicas.

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

257

Solucin P15.- En esta solucin se ha supuesto que el c lear y el load son asincronos y activos
en alta.

P ro b le m a 16.- Se desea disponer de un contador con dos entradas de control (I y D) que


realice las siguientes funciones:
a ) S i l=D=0, el contador est inactivo (no cuenta).
b) S i 1=1, el contador se incrementa (cuenta hacia arriba).
c) Si D=1, el contador se decrementa (cuenta hacia abajo).
S e prohbe que las entradas I 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 p o r error u otra causa hay entradas ID = 1 1.
3. Generalice el diseo para n bits.

Solucin P16.
1) Las ecuaciones para las entradas de los cuatro biestables son:
T = I + D
Ti

= I Qo + ^ 9o

T 2 = I-q i -qo + D -q o -q i

t 3 = i q2 qi -qo + D-qj-qi q0
2) Si en las expresiones anteriores sustituimos I y D por el valor 1, y obtenemos los
valores de entrada T para cada estado presente qj, el diagrama de estados, para este contador,
es el representado en la siguiente figura:

www.FreeLibros.me

258

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

3) Generalizando para n bits:


n-

n-

i =0

i =0
T0 = I + D

P ro b le m a 17.- Se dispone de contadores mdulo 16 con dos seales X 1 y X 2 que controlan


su funcionamiento:

X X q
0 0
0 1
1 -

Operacin
Puesta a cero
Carga en paralelo
Cuenta ascendente

Tomando como base este tipo de


a ) Un contador m od-7 que cuente
b) Un contador m od-7 que cuente
c) Un contador m od-7 que cuente
d) Un contador que cuente de 2 a

contadores, realice los diseos siguientes:


de 0 a 6 .
de 9 a 15.
de 4 a 10.
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 asincronas,
a) Contador mdulo 7 (de 0 a 6 ):
3 2 10

clk

CONT[4]
q3 q? Qi Jo

&

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

259

b) Contador mdulo 7 (de 9 a 15):


1 0

0 1

_L

3 2 10
CONT[4] xl
x0

/\ 93 92 9190

clk

>1

c) Contador mdulo 7 (de 4 a 10):


0 10

-A

clk

l i l i
3 2 10
CONT[4] xl
93 92

9 i 9o

x0

&

d) Contador de 2 a 34:

clk
P ro b le m a 18.- Se dispone de un circuito integrado 74198 cuya descripcin es la mostrada:

I7-0]

Dsr

MR

sSolE
clk

Dsl

O[7-0]^8

MR
0
1
1
1
1

S[ So
-

0
0
1
1

www.FreeLibros.me

0
1
0
1

Operacin
Puesta a 0 asincrona
Inhibicin
Desplazamiento a izquierda
Desplazamiento a derecha
Carga en paralelo

260

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES


H ay que disear un registro de

A| A,0
0
0
1
1

0
1

o
1

bits con las siguientes operaciones:

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

que posea una seal de lectura (R ) activa en alta, de forma que, cuando no est activa
ponga a l dispositivo en alta impedancia.
1) Disee el registro utilizando las puertas necesarias y e l 74198.
2 ) Suponiendo que inicialmente e l registro contiene el dato 10101010, indique qu
ocurre para la siguiente secuencia de entradas (cada valor corresponde a un ciclo de reloj).
R A -Aq : 0-0, 110, 011, 001, 100.

Solucin P18.

Z[7-0]
RA j A q

0-0

110

011

001

100

[CONT] 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 )( 10101010 )( io io io io )(~ 11010101 )( 01101010 X


Z[7-0]

01010101

)---------------------------------

P ro b le m a 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

www.FreeLibros.me

SUBSISTEMAS SECUENCIALES

261

(con solapamiento); el ltimo 1 de la secuencia de puesta en servicio no vale como primer 1


de la secuencia a detectar. Una salida debe indicar si el sistema est o no en servicio y la otra
indicar cundo se ha detectado la secuencia.
H ag a un circuito de M ealy utilizando un contador y una ROM .

Solucin P19.

Se ha escogido la siguiente asignacin:


Estado
92 9i 9o
0
0
0
a
b
0
0
1
c
0
1
0
d
0
1
1
e
1
0
0
f
1
1
1
g
1
0
1
n
1
1
0
Con la asignacin anterior, se requieren las seales de control que aparecen codificadas
en la siguiente tabla:
C] c0 Operacin
0 0
Up
0 1
Inh
Clear
1 0
Load
1 1
En la siguiente figura se ilustra el circuito resultante y la tabla de programacin de la
ROM:

www.FreeLibros.me

262

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

X 32 3i 3o
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, Cl
_
_
_
_
1

_
_
_
_
_
0

_
_

0
0

0
1
1
0
1
0
0
0
0
0
0
1
0
0
1
1

c0

Za Zb

1 1
1
0
1
0
0 0
1 0
0 0
0 0
1
0
1
0
1
0
0 0
1 0
0 0
1 0
1 0
1 0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0

P ro b le m a 2 0 .- S e desea detectar el envo del nmero diez que llega por una nica lnea
com enzando p o r e l bit LSB. Suponemos el caso de existencia de solapamiento en la cadena
de bits. D e un diseo con mdulos combinacionales, mdulos secuenciales y el m enor nm e
ro de puertas lgicas posibles.

Solucin P20.
Con un registro de desplazamiento a la derecha y una puerta AND de tres entradas:
Rin

SHR[3]

ShR

clk

&

www.FreeLibros.me

Captulo 10
MEMORIAS SEMICONDUCTORAS

En este Captulo se trata el uso de las memorias semiconductoras, fundamentalmente las de


acceso aleatorio, tanto de lectura y escritura (RAM) como las de slo lectura (ROM) para
formar unidades de memorias multichip. Los problemas se dedican a analizar o disear los
circuitos de decodificacin que permiten acceder a los distintos chips de memoria. En estas
aplicaciones no tienen importancia las cuestiones tecnolgicas (si se trata de RAM estticas,
SRAM, o dinmicas, DRAM; si son ROM o EPROM; etc). De forma ms marginal se tratan
tambin algunas memorias de acceso secuencial.

UNIDAD DE MEMORIA MULTICHIP


Una unidad de memoria multichip forma la memoria principal de un computador. Su organi
zacin se establece en tomo al procesador y, ms concretamente, al espacio de direcciones y a
la anchura del bus de datos. Con el trmino espacio de direcciones nos referimos a las pala
bras que el procesador distingue por las lneas de direccin; en este Captulo, salvo expresa
indicacin en contra, se asume que el procesador posee un registro de direcciones de 16 lneas
(Aj5 , ..., A0), lo que da un espacio de 64K palabras (desde la $0000 a la $FFFF, que en decimal
abarca desde la 0(iq a la 65535(]0). Por otra parte, la anchura del bus de datos da el nmero de
bits de las lneas de datos, que en este Captulo ser de 8 bits.
A nivel de bloques la conexin entre el procesador (CPU) y la unidad de memoria se
ilustra en la siguiente figura. Las seales de lectura-escritura R-W salen del procesador y se
conectan a las correspondientes entradas de los chips tipo RAM (no ha lugar con los tipo
ROM). El bus de datos se conecta con las salidas de todos los chips ROM y con las
entradas/salidas de todos los tipos RAM. Por ltimo, el bus de direcciones est conectado
doblemente con cada chip (RAM o ROM):
- Con sus lneas de direccin (A9 -A 0 para memorias de 1K; A j 2 -Aq para las de 8 K; etc)
- Con la entrada de seleccin de chip (CS), efectundose a travs de un circuito de de
codificacin mediante el que se garantiza que en ninguna direccin del espacio de direcciones
hay colisiones entre dos chips de memoria. En el siguiente caso supondremos que el espacio
263
www.FreeLibros.me

264 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

de 64K se cubre mediante una combinacin de 8 chips RAM y ROM.

Bus de datos

seleccin
de chip

fsica (en cada chip)

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 con
creta 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 sig
nificativos de las lneas de direcciones con las que se divide fcilmente el espacio global en
regiones de 2k 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
(CSj, CS2, ..., CSg). Como se observa, en cada regin slo hay un chip seleccionado evitndo
se as los problemas de colisin.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

0000

Chip 1
} RAM 16K

16383 3FFF
16384 4000 i
32767 7FFF
32768 8000
Registro de
direccin
A018

40959 9FFF
40960 AOOO
49151 BFFF
49152 COOO
53247 CFFF
53248 D000
57343 DFFF
57344 E000
61439 EFFF
61440 F000
65535 FFFF

265

Chip 2
RAM 16K
Chip 3
RAM 8K

Direccin ^hip 4 Direccin


del mapa ROM 8K interna
de memoria
del chip
AOOO

Chip 4
1 ROM 8K

A018

Chip 5
} ROM 4K

BFFF

0000

07

0018
1FFF

Chip 6
RAM 4K
Chip 7
RAM 4K
Chip 8
RAM 4K

A 15 A 14 A 13 A 12 CSj c s 2 c s 3 c s 4 c s 5 c s 6 c s 7 c s 8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0

www.FreeLibros.me

Chip
1 (16K)
2(16K)
3(8K)
4 (8K)
5(4K)
6(4K)
7(4K)
8(4K)

266

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

MEMORIAS TIPO LIFO Y FIFO


Hay, entre otros, dos tipos de memoria de acceso secuencial que son la memoria LIFO (Last
In First Out) y la memoria FIFO (First In First Out). Ambas poseen, adems de la no opera
cin (NOP), operaciones de escritura, por la que se almacena un nuevo dato en la memoria,
y de lectura, que es una operacin destructiva en el sentido de que desaparece el dato ledo. El
orden de lectura de datos coincide con el orden de escritura en la FIFO y es al revs en las
LIFO. Con las memorias LIFO se hacen memorias tipo pila y las operaciones se llaman
PUSH (escritura o apilamiento de un nuevo dato) y PULL o POP (lectura o extraccin de un
dato apilado).
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias:
- Anlisis de circuitos de decodificacin.
- Diseo de circuitos de decodificacin.
- Memorias de acceso secuencial.
PROBLEMAS RESUELTOS
P ro b le m a 1.- Dibuje el m apa de memoria para el circuito de la figura, indicando, razonada
mente, las posiciones ocupadas por las memorias R A M y ROM .

A 15

Solucin P l.
A h ---

A 13 -

M5

A12- A0

CS,
13 > a 1 2 " a 0
ROM

* D7 - D,

->

www.FreeLibros.me

D7 - Dn

MEMORIAS SEM ICONDUCTORAS

267

Respecto a la memoria ROM tenemos:


CS] = A 1 5 , por tanto, la memoria se selecciona cuando A j 5 = 0.
En cuanto a sus lneas de direccin, ai 2 _o = A] 2 .o> donde A] 5 _q son las 16 lneas que for
man el bus de direcciones extemo.
Respecto a la RAM:
CS 2 = dj'd 2 = (A j 5 + A j 4 + A ] 3 ) (A ] 5 + A ] 4 + A j 3 >, es decir, la memoria se selecciona
cuando A ] 5 = 0, A 4 = 0 y A 1 3 = 1 A 14= 1 y A ] 3 = 0.
El bus de direcciones interno a la RAM est compuesto por las lneas a12.o = A 1 2 .0 . es
decir, las palabras de la memoria RAM se direccionan de igual forma que las de la ROM.
As, el mapa de memoria al que llegamos es:
A 15 A1 4 A13
0

0
1

0
1

RAM (8 Kx 8 )
RAM (8 Kx 8 )
ROM (8 Kx 8 )

P ro b le m a 2 .- Determ ine el m apa de memoria correspondiente a l circuito de la figura.

D0- D7

www.FreeLibros.me

268

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P2.
Sean CS], CS 2 y CS 3 las seales de seleccin de chip correspondientes a ROM], ROM 2
y ROM 3 respectivamente. Sean a las lneas de direccin de las memorias Mj.
Directamente del diagrama del circuito:
M ] ( 2 n x 8 ) = M, ( 4 K x 8 )
La ecuacin para la seal de seleccin de la memoria es:
cs = A1 5 + A l + a ,3 + a
Las lneas que componen el bus de direcciones interno:
a \\ -o = ^ 1 1 - 0
4

M (2n x 8 ) = M ( 2 K x 8 )
Ecuacin para la seal de seleccin:
2

CS2

= ( A j 3 + A 12 + A 15 + A 14) ( A 13 + A n + [ A 15 + A 14]

[ A 15 +

A 14] ) =

= ( A |5 + A I4 + A ]3 + A 12) ( A 14+ 4 13 + A n )

Lneas de direccin:
a io-o = ^ 1 0 - 0

M 3 (2 11 x 8 ) = M 3 ( 2 K x 8 )
Seal de seleccin de chip:
CS3 =

( A 13 + A n + [ A 15 + A i 4] [ A 15 + A 14] )

Lneas de direccin:

_
=

( A l4 + A 13 + A n )

A partir de las ecuaciones obtenidas para CS, podemos evaluar cundo se selecciona
cada memoria. Para ello basta analizar para qu combinacin de las lneas de direccin se tiene
CS; = 0. As obtenemos el mapa de memoria que se muestra a continuacin. Como se observa,
(4Kx8) ocupa 4K posiciones en el espacio de memoria: $0000 - $0FFF
M 2 (2Kx8) ocupa 12K posiciones en el espacio de memoria:
$2000 - $2FFF
$4800 - $4FFF
$5800 - $5FFF
$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 M2, la $0000.
M 3 (2Kx8) ocupa 8 K posiciones en el espacio de memoria:
$6000 - $67FF
$7000 - $77FF
$E000 - $E7FF
$F000 - $F7FF
a

i o - o

1 0 - 0

______

www.FreeLibros.me

M EMORIAS SEMICONDUCTORAS

A 15

A 14

A 13

A 12

A 11

0
1

0
0
0
1
1
0
1
1

0
1
1

1
0
1
1

0
1
0
1
0
1
0

269

M 2 (4K)

M-, (2K)
M, (2K)
M, (2K)
M 3 (2K)

0
1
0
1
0
1
0

M2 (2 K)
M i (2Kj
M3 (2K)
M3 (2K)

P ro b le m a 3 .- En el m apa de memoria de un microcomputador de 16 lneas de direccin


(A 15/A o) se han ubicado una memoria R A M de 8 K en las primeras 8 K posiciones de memoria
y una memoria R O M de 8 K en las ltimas 8 K posiciones de memoria. Se desea incluir una
memoria R A M de 32K, para lo que se han propuesto los 3 diseos de la figura. Indique en qu
medida es correcto cada uno de los diseos y, si es posible, determine qu palabra de la RAM
se direcciona cuando A 15.q= $AB C D (hexadecimal) en cada uno de los tres casos. Qu di
reccin hay que poner en e l bus de direcciones para le e rla posicin $ 4 6 8 0 de la R A M en cada
caso?

www.FreeLibros.me

270

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Ai4Aj3

A0

A 15A 14A|3 + a 15a 14a I3

(a)

(b)

(c)

Solucin P3.
Caso a)
La RAM se selecciona cuando su seal de seleccin de chip CS = 0.
CS = A] 4 -Aj3 + A i 4 -Aj3 , por tanto se puede acceder a la memoria en las combinaciones
A j 4 A j 3 = 01 10, y est no seleccionada cuando A 1 4 A ] 3 = 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 si
multneamente.
Las lneas de direccin de la RAM (ai 4 _o) son: aj 4 = A 1 5 , ai 3 _o = A j 3 .q. Dado que la
lnea A j 3 forma parte simultneamente del conjunto de lneas de direccin de la memoria y del
circuito de seleccin de chip (CS = A i 4 A] 3 ) es necesario hacer ciertas consideraciones. Para
los 8 K que ocupan las primeras posiciones de la RAM se tiene que aj 4 = A ] 5 = 0 y
a 1 3 = A 1 3 = 0. Para que CS = 0 ser necesario A ] 4 = 1. Por tanto, los primeros 8 K de la RAM
ocupan las posiciones del mapa en que A] 5 A j 4 A j 3 = 010. Los siguientes 8 K son posiciones
en las que de nuevo aj 4 = A 5 = 0 pero a 3 = A j 3 = , con lo que para que se cumpla CS = 0 se
ha de fijar A 1 4 = 0. En este caso se estarn ocupando las posiciones del mapa en que
A 1 5 A 1 4 A 2 3 = 001. Razonando de igual modo se concluye que los 16K de la RAM con las po
siciones ms altas se direccionana para A j 5 A] 4 A j 3 = 1 0 1 y 1 1 0 .
El mapa, para el caso a) queda:
A j5

A 14
0

1
0

A 13
0
1
0
1
0
1
0
1

RAM inicial del problema


V Nueva RAM $RAM: $2000 - $3FFF
\ / Nueva RAM $RAM: $0000 - $1FFF
)

' Nueva RAM $RAM: $6000 - $7FFF


Nueva RAM $RAM: $4000 - $5FFF
\/
ROM inicial del problema

www.FreeLibros.me

$ABCD

MEMORIAS SEMICONDUCTORAS

271

Veamos qu palabra de la RAM se direcciona cuando A i 5 _q= $ABCD.


Para A] 5 _o= $ABCD se cumple que A] 5 _o= 1010 1011 1100 1101, entonces:
A 1 4 A ] 3 = 01 por tanto la memoria RAM est seleccionada. Por otra parte,
A 15 A 13 A 1 2 = a 14 a 13 a 1 2 = 1 1 0 = 6 y A ll-0 = a ll-0 = BCD.
Se direcciona, por tanto, la palabra a]4_o = $6 BCD de la RAM.
Para leer la direccin a14_o = $4680 de la RAM, se procede como sigue:
Para esta direccin se cumple aj4.Q = 100 0110 1000 0000. Entonces: a 4 = Aj 5 = 1;
al 3 = A 1 3 = O;af 2 = A 1 2 = O;a]]_o = A ji _ 0 = 680. Dado que la RAM debe estar seleccionada
para poder acceder a una de sus direcciones internas, se tiene que garantizar que CS = 0, por
lo que como A 1 3 = 0, estamos obligados a que Aj 4 = 1. Concluyendo, para acceder a la direc
cin interna deseada, en el bus externo hay que fijar la direccin A ^.q = $C680.
Caso b):
La seal de seleccin de la memoria es RAM: CS = A0, es decir, se selecciona para cual
quier direccin del bus externo que tenga Aq = 0. Esto implica que para todas las palabras de
los primeros 8 K y de los ltimos 8 K con Aq = 0, hay conflicto entre la nueva RAM y las me
morias (RAM y ROM) ya existentes. Por tanto, el diseo NO es correcto.
Caso c):
Seal de seleccin de chip:
CS = A | 5 A , 4
A 13 + A 15 - A 14 A 13
por tanto la memoria RAM se selecciona para A j 5 A 4 A 3 = 0 - 1, 0 1 -, 1- 0 y 1 0 -, y est
no seleccionada para A j 5 A ] 4 A 5 3 = 000 111.
A partir de esos valores puede decirse que no habr conflicto de seleccin con las me
morias ya colocadas (en los primeros 8 K, A j 5 A 1 4 A 1 3 = 000 y en los ltimos,

A 15 A 14 A 13 = 1H)-

Las lneas de direccin de la nueva RAM (aj 4 _o) son: aj4_o = A j 4_q
Por conveniencia, llamaremos Rq a los primeros 8 K de la RAM, que se direccionan con
a 1 4 aj 3 = 0 0 ; Ri a los siguientes a 4 a ] 3 = 0 1 ; R 2 a los siguientes aj 4 a ) 3 = 1 0 y R 3 a los ltimos
a 1 4 aj 3 = 1 1 de donde se tiene el siguiente mapa:
A 15

A 14

0
0

1
0
1

A 13

0
1
0
1
0
1
0
1

/v

RAM

N
U

inicial del problema


R,
r 2

Rj
R0

\/

R1

RAM
ROM

$ABCD

inicial del problema

Para A j 5 _o = $ABCD se selecciona la seccin R de la RAM (Aj 4 A j 3 = 01, y por tanto

a14 a l3 = 01)-

Asimismo se tiene A j 4_q = $2BCD, de donde se deduce que la direccin interna de la


memoria a la que podemos acceder es ai4_o = $2BCD.

www.FreeLibros.me

272

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Por ltimo, para acceder a la direccin interna de la memoria RAM aj4_o = $4680 que
pertenece al tramo de R 2 slo hace falta determinar A] 5 , que puede valer 0 1 , como se quiera.
Esto es, se accede a la direccin requerida tanto para A] 5 . 0 = $4680 como para A]5_o = $C680.
P ro b le m a 4 .- S e desea transferir e l contenido de las memorias M 2 y M 3 a la memoria M 1 (ver
figura). Se dispone de una instruccin:
T R A N S FIE R E ($ N Bde palabras, $Fuente, $Destino)
Dicha instruccin transfiere un bloque, cuyo nmero de palabras es e l indicado, desde
la direccin fuente hacia la direccin destino; por ejemplo, para transferir 4K-palabras ($1000)
que estn escritas a partir de la posicin $ 2 0 0 0 a posiciones de memoria que comiencen en
$ 7 0 0 0 se pondra: T R A N S F IE R E ($1000, $2000, $7000).
(El sistema interpreta y ejecuta esta instruccin).
Escriba el programa necesario para el circuito de la figura.

A 15
A 14
A 12

D0 ' D7
Solucin P4.- Primero obtenemos el mapa de memoria para conocer las direcciones fuente (de
M 2 y M 3 ) y destino (M).
Analizando el circuito combinacional de decodificacin:
A i5 A j4 A j2 = 0 0 0 0 0 1
selecciona Mj
A] 5 A j 4 A j 2 = 011
selecciona M 2
A j5 A j4 A j2 = 1 1 0
selecciona M 3
A continuacin formamos las instrucciones TRANSFIERE ( , ,) necesarias. Para ello
dibujamos el mapa de memoria.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

1 0
1 1

1
0
1

0
1

0
1
0
1
0
1
0
1

Memoria seleccionada

A
16K palabras

M,

Mj

4K palabras (A |3 = 0)
M2
4K palabras (AJ3 = 1)
M2

0
1
0
1

0 0

A\2

A )5 A]4 A i3

273

4K palabras (Ai3 = 0)
M3
4K palabras (A13 = 1)

Mi

Para transferir a Mj la totalidad de M 2 y M 3 hay que utilizar 4 veces la instruccin


TRANSFIERE:
1) La primera mitad de M 2 (A ] 3 = 0), que son 4K palabras y estn ubicadas entre $5000
y $5FFF, la llevaremos al primer cuarto de M ($0000 a $0FFF). Entonces:
TRANSFIERE ($1000, $5000, $0000).
2) La segunda mitad de M 2 al segundo cuarto de M i:
TRANSFIERE ($1000, $7000, $1000).
3) La primera mitad de M 3 al tercer cuarto de M j:
TRANSFIERE ($1000, $C000, $2000).
4) La segunda mitad de M 3 al ltimo cuarto de M]
TRANSFIERE ($1000, $E000, $3000).
P ro b le m a 5 .- Utilizando circuitos de memoria de
de la posicin $6000.

Kx 8 , realice una asociacin de 3 2K a partir

Solucin P5.- Para ocupar 32K bytes de memoria con chips de memoria de 8 Kx 8 necesitamos
4 de estos (Mt, M2, M3, M4). Sean CS, el terminal de seleccin de chip y ai 2 . 0 sus lneas de
direccin.
Conectaremos las lneas del bus de direcciones AB = A ^ q de forma que a2_Q= A 2 .oi
y la seleccin de memoria la realizaremos con A 1 5 , A 1 4 , A i3. Repartiremos las posiciones de
las distintas memorias como muestra la siguiente tabla:

www.FreeLibros.me

274

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

A 15

A ,4

A 13

$comienzo

$final

0
1

1FFF

0000
2000

3FFF

4000

5FFF

1
1
1

cs2

1
1

cs3

cs4

1
1

6000

7FFF

Mi

8000

9FFF

m2

AOOO

B FFF

m3

C 000

D FFF

m4

0
1

E000

FFFF

es,

Una solucin para el circuito de decodificacin es:

P ro b le m a 6 .- Se desea disear un sistema microcomputador que tenga 64Kbytes de m em o


ria, de los cuales, 4 0 K sean R A M y 16K ROM . S e dispone de chips de los siguientes tipos:
R O M : 16Kx4
R AM : 16Kx8
RAM: 4K x8
Disee el circuito de decodificacin necesario.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

275

Solucin P 6 .- Lo primero que resolvemos en el problema es la forma de conseguir palabras de


8 bits a partir de memorias de 4 bits por palabra.
La solucin es unir las lneas de datos de dos memorias ROM a las que se accede simul
tneamente ya que comparten las lneas de seleccin de chip y las de direccin.
El esquema es el siguiente:

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 me
moria 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:

A15 A,4 Aj3

CS, CS2 CS3 CS4 CS5

A2

M, RAM 16Kx8

M2 RAM 16Kx8

1 0

0
1

M3 RAM 4Kx8
M4 RAM 4Kx8

1
1
1

1
1
1

0
1
1

1
0
1

Libre

M5 ROM 16Kx8

Las seales de seleccin de chip para cada una de las memorias las obtenemos con el
siguiente circuito de decodificacin:

www.FreeLibros.me

276

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

> CS3
->

cs4

P ro b le m a 7.- Se dispone de 3 circuitos de memoria con entrada de seleccin activa en nivel


bajo, dos son de 8 K palabras y el tercero de 32K. Estos circuitos van a estar direccionados
p o r un procesador de 16 seales de direccin (A 15.0). Se requiere que los circuitos de 8 K ocu
pen tas direcciones menores y las mayores.
a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K pa
labras de direccin sobrantes. Disee e l 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.0, en hexadecimal): $0123, $2345, $4567, $6789,
$89AB , $ABCD, $ C D E F y $EF01.

Solucin P7.-Descomponemos las 64K direcciones del bus de direcciones externo AB, en
grupos de 8 K, cada uno de los cuales est definido por uno de los posibles valores de Aj 5 , Aj4,
y A 13. La tabla indica una de las posibles soluciones, donde la memoria de 32K ocupa las po
siciones intermedias. Para realizar el circuito, describamos cmo son las memorias:
Mj y M 2 son de 8 K, por tanto tienen 13 lneas en su bus de direccin (aj 2 _o).
M 3 es de 32K con 15 lneas de direccin (aj 4 _o).
Asumimos que todas tienen su seal de seleccin CS^j.
A 15 A 14 A 13

0 0 0

O
O
0
0
1
1
1
1

1
1
0
0
1
1

0
1
0
1
0
1

8K de Mj
Libre
32K de M3
Libre

Damos dos soluciones para la decodificacin. La primera utiliza un decodificador y la


segunda es un diseo a nivel de puertas.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

277

Las lneas de direccin de Mj y M 2 (a^.o) se conectan directamente a las lneas A^.q.


Para M 3 necesitamos 15 lneas Aj. En principio hay dos soluciones (en todo caso adems
de A j 3 _q hay que utilizar A 5 A 14):
a14-0= A 14-0
o
a 1 4 . 0 = A 1 5 A ,3.0.
Elegimos la primera pues es la que cubre el mapa de memoria:
CSM1

CSM2

CSM3

De acuerdo con lo anterior, pasamos a solucionar el apartado b). A partir de las direc
ciones A j 5 _o que se nos indicanm tendremos que deducir del valor de A 5 A ] 4 y A 3 si se se
lecciona alguna memoria y cul es. Posteriormente, analizamos el valor de la lneas de direc
cin de la memoria seleccionada (a] 2 _o para M y M 2 ; ai4_o para M 3 ) para averiguar qu di
reccin interna es activada. En la siguiente tabla se muestran los resultados de dicho anlisis.
$A
A l5Ai4Ai3A12
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
a h _8

1
3
5
7
9
B
D
F

Palabra de memoria

A7_4 A3_0
2
4
6
8

C
E
0

3
5
7
9
B
D
F
1

Mj
Libre
m3
m3
m3
m3
Libre
m2

a 12 a l 1-8 a7-4 a 3 -0~

0 1 2 3

a 14-12 a l 1-8 a7-4 a3-0 =


a 14-12 a l 1-8 a7-4 a 3-0 =
a 14-12 a l 1-8 a7-4 a3-0 =
a 14-12 a l 1-8 a7-4 a 3-0 =

4
6
0
2

a 12 a l 1-8 a7-4 a 3-0 =

0 F 0 1

hexadecimal

www.FreeLibros.me

5
7
9
B

6 7
8 9
A B
C D

hexadecimal

278

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b lem a 8 .- En una memoria U F O de fondo 6 se va a realizar la siguiente secuencia de op


eraciones:
3 PU SH, 1 N O P 1, 1 PULL, 2 PU SH, 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 A S C II con paridad par, concretamente, los valores du
rante las sucesivas operaciones de escritura son: N, E, G, I, C, B.
a) Muestre el contenido de la L IF O a l realizar la secuencia de operaciones.
b) Supuesta vaca la L IF O y siguiendo un proceso de 2 operaciones de escritura y 1 de
lectura (despus otras 2 de escritura y 1 de le ctu ra,...), indique la secuencia de entradas a la
LIF O para que en la pila est escrita la palabra FINAL en algn momento.

Solucin P 8 .- 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
E
G
N
E
N
PUSH
PUSH
PUSH
A
..... S
N
c
N
E
G
---- A ----G
E
N

NOP
X

NOP
X

C
:I.i
E
N

PULE
X

NOP
X

E
N

C
I
E
N

PUSHs
c

C
I
E
N

PUSH
B

B
I
E
N

PUSH
i

PULL
X

----- ^

. E ..
N

I
E
N

________ ^

b)
Resolvemos este apartado de forma equivalente al anterior aunque nos lo planteamos
al revs, es decir, conocemos la palabra que debe estar almacenada como ltimo paso de la
secuencia de operaciones y vamos hacia atrs evolucionando operacin a operacin. Sabemos
que la secuencia de operaciones es alternativamente dos operaciones de PUSH y una de PULL.
1 NOP: no operacin.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

rusn

279

_____

FINAL <---------- INAL <---------- NAL <


I
X
I
PUSH
PULL
PUSH
PUSH
PULL
AL <---------- NAL <
AL <---------- L <---------- AL <N
X
N
A
X
PUSH
PUSH
<---------- L
<---- Vaca
A
L
En definitiva, la secuencia de datos necesaria para utilizar en la secuencia de operacio
nes es: L, A, X, A, N, X, N, I, X, I, F. Y como resultado de la octava operacin de escritura
(PUSH), que es la 11a 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):
A: $41
B: $42
C: $C3
E: $C5
F: $C 6
G: $47
I: $C9
L: $CC N: $4E

PROBLEM AS CON SOLUCIN RESUMIDA


Problema 9.- Determine e l m apa de memoria del circuito de la figura. Indique, si es posible,
qu palabras de la R A M se direccionan cuando A 15/A 0

= $4A B C y A

A14 a h

www.FreeLibros.me

15. 0

= $8000.

280

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P9.- El mapa de memoria del circuito es:

A j5 Aj4 A13 A12 A] i


0

0
0
1
1
0
0
1
1
0
1
1

0
1
0
1

A | S_0=$5800-$5FFF a12.0= $0800-S()FFF

0
1

A , 5.0=$9000-$97FF a, $ i g0-S 1FFF


A , V()=$9800-$9FFF a,2.(y=$] XOO-S1FFF

A , 5_0=$COM-$C7EF a [

0
1
-

A , s-0=S48U-$4FFF a,2.0= $()()00-$07FF

0
1
0
1
0
1
0

1000-$ 17FF

donde las lneas de entrada de la RAM, a] 2 -o> son:


a 12=A 15> a l 1= A 12> a 10-0 = A 10-0-

Las palabras de la RAM que se direccionan cuando el bus extemo A ^.q contiene las
direcciones $4ABC y $8000 son:
Si Ajj_o = $4ABC
a.1 2 - 0 = $02BC
Si A j 5 _q = $8000
No se selecciona la memoria RAM, por lo que no se accede a
ninguna direccin de sta.
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 m apa de memoria
de 64K.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

[$]

0
1
2

0
2

F
B
F
D
E
B

9
A
B
C
D
E
F

3
A
B
F
C

3
4
5

L14

L13

L12

281

0
1
2

Solucin PIO.- Las secuencias que se obtienen a la salida de la ROM dependern de los valo
res de a3 _Q. Las lneas aj y ag estn fijas a Aj j y A ] 0 mientras que a3 y a2, al estar conectadas
a las salidas del contador, van cambiando ciclo a ciclo. Analizando los distintos casos se ob
tiene:
Secuencia de Salida
d3 d2 dj do

>

o
II
oo

>

o
II
o

<

>

o
II

>

<

o
II
o

>

>

a3 a2 a l
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

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

www.FreeLibros.me

0
1
0
1
0
1
0
1
1
1
0
1
1
1
0
1

0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1

0
1
0
1
1
0
0
1
1
1
1
1
1
1
1
0

0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0

282

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 11.- Utilizando memorias 4Kx4, disee un circuito de decodificacin que permita
situar 16 Kbytes a partir de la posicin $1000.

Solucin P H .- Solucionamos primero la obtencin de memoria de 8 bits por palabra a partir


de memorias de 4 bits por palabra.

-> D

7-0

D7-0
Las cuatro memorias se colocarn a partir de la direccin A]g _0 = $1000, es decir:
Ajg = 0, A ] 4 = 0, A j 3 = 0, A ] 2 = 1 y A jj.q = 000 (en hexadecimal). De esta forma, las seales
CS, de cada memoria debern activarse segn la siguiente tabla:
A 15

0
0
0
0
0

A 14

A 13

0
0
0
0
1
0
0
1
1
0
restantes combinaciones

A 12

0
1
0
1
0

M,
m2
m3
m4
-

CS!
1
0
1
1
1
1

cs2

1
1
0
1
1
1

cs3

1
1
1
0
1
1

cs4

1
1
1
1
0
1

El circuito de decodificacin es el siguiente:


A 15

M4
M3

M2

Problema 12.- Un sistema basado en e l microprocesador R 65C 02, dispondr de 3 R A M de


8

K x 8 y una E P R O M de

8 Kx8

. Disee e l circuito de decodificacin correspondiente.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

283

Solucin P12.- Tenemos que situar 3 memorias RAM de capacidad 8 Kx 8 y un EPROM de


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

Do - D7

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:
U_
Do - D7
Li2 -Ao
3

a i2-a<)

RAM1

A ,2-A 0

>

0
1

A 14

D E C 1:2 3

13

a^-o

Do - O-?

RA M 2

r2 -Ao .

Do - D7
a 1 2 'a O

RA M 3

i.
A 12

A 0

Do - D 7

13*

a 12_a0

RO M

www.FreeLibros.me

Do - D7

284

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 13.- El mapa de memoria de un microprocesador con bus de direcciones de 16 bits


est ocupado por 8 K R O M y 2 0 K RAM. Disee el circuito de decodificacin necesario si se
dispone de chips de 8Kx4 R O M , 16Kx4 R A M y 4Kx8 RAM.

Solucin P13.- En primer lugar, hay que obtener memorias de 8 bits/palabra a partir de las de
4 bits/palabra (vase problema 11).
Una de las posibles soluciones sera situar las 4 memorias de la siguiente forma:
A l5

0
0
0
1

A14
0
1
1
1

A.13
-

0
0
1

A2
-

restantes combinaciones

0
1
-

M,:RAM(16Kx8)
M2: RAM (4Kx8)
M3: RAM (4Kx8)
M4: ROM (8Kx8)
vaca

Circuito de decodificacin:
Ais

A14

P ro b le m a 14.- Utilizando circuitos de memoria 2Kx4, realice una configuracin


ocupe 8 K posiciones a partir de la 4 0 9 6 p 0 en un mapa de memoria de 64K.

8 Kx 8

que

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,
A 1 5 - 0 = $1000 con lo que: A 1 5 = 0, A 1 4 = 0, A 1 3 = 0, A 1 2 = 1 y Aj j _ 0 = 000 (en hexadecimal).
El mapa de memoria es:

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

$ A 15-0

A 15

A 14

A 13

A 12

A 11

0---

A 10-0
-

1000

a 10-0

a 10-0

a10-0
a10-0

a
2FFF
3000
a
FFFF

M,
m2
m3
m4

restantes combinaciones

El circuito de decodificacin:
Ai

es.

CS2

cs3

cs4

285

CS

]_

A 10 A o

RAMj
i r a10a0
2Kx8

Dn - D7

P ro b le m a 15.- Disee un circuito decodificador que permita situar 20Kbytes de R A M a partir


de la direccin $ 50 00 dentro de un m apa de memoria de 64K. Para ello se dispone de chips
de 8 K x 8 y 4Kx4.

Solucin P15.- En primer lugar se obtienen todas las memorias de 8 bits por palabra realizan
do una asociacin para los casos en los que sea necesario.
Damos a continuacin, el mapa de la distribucin de las memorias. Todas estn conse
cutivamente dispuestas a partir de la direccin $5000 (A 5 = 0, A j4 = 1, A j 3 = 0, A j 2 = 1
y Ai i-o = 0 0 0 (en hexadecimal)).
Mapa de memoria:
A 12
0
1
1
0
0
1
1
1
0
0
restantes combinaciones

A 15

A 14

A 13

Mj (4Kx8)
M2 (8K x 8)
M3 (8K x 8)
Libre

CS,
0
1
1
1

www.FreeLibros.me

CS2
1
0
1
1

CS3
1
1
0
1

a l 1-0 A ll-0
a 12-0 = A 12-0
a l 2-0 = A 12-0

286

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Circuito de decodificacin:
CS,

a 15

A 4
A ,3

P ro b le m a 16.- Se dispone de RAMs de 8 Kx 8 y de 4Kx4. En una C P U de 16 lneas de direc


cin y 8 de datos:
a) Disee con puertas lgicas un banco de memoria de 2 8 K palabras, a partir de la di
reccin $ 4 0 0 0 del espacio de direcciones.
b) Indique la posicin fsica correspondiente a las direcciones $ 4 5 6 7 y $ C A F E en e l bus
de direcciones.
c) Q u direccin hay que poner en el bus de direcciones para leer la posicin $ 0123
de una de las memorias R A M de 4K x4?
d) Indique los cambios que habra que h acer si el bus de datos fuera de 4 bits.

Solucin P16.
a)
Primero asociamos las memorias necesarias para tener todas las memorias de 8 bi
por palabra:
CS
-'7-0

M 1-0

D7-0
El mapa de memoria que proponemos es:

A10 5 A10 4 A13 A12


- 0
1
0
0
1
1
1
0
0
1
0
1
0
restantes combinaciones

Libre (16K)
M, (8Kx8)
M2 (8K x8)
M3 (8K x8)
M4 (4Kx8)
Libre (20K)

CS,
1
0
1
1
1
1

www.FreeLibros.me

CS2
1
1
0
1
1
1

CS3
1
1
1
0
1
1

cs4
1
1
1
1
0
1

MEMORIAS SEMICONDUCTORAS

287

El circuito de decodificacin realizado con puertas se muestra a continuacin:


A, 5
CS,

l14

CS,
CS,

A13

CS,

A 12

b) Las direcciones de memoria ledas para las direcciones propuestas en el bus exterior
de lneas A ^ q son:
A i 5 _q = $4567
M] ha sido seleccionada
ai 2 - 0 = $0567
A i 5 _o = $CAFE
Ninguna memoria seleccionada
c) Para leer la direccin $0123 de de las memoria de 4Kx4 tendramos que poner en el
bus de direcciones la palabra A j 5 _q = $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
M j, M 2 y M 3 anteriores que eran de 8 K, hacemos una asociacin de dos RAM de 4K para cada
una de ellas M (con i=l, 2, 3) como se indica a continuacin:

A15
A15
A15

A|4
Al4i
Al4i

A13
A 3j
A13i
1

A12
0
1

- - CS,

M2a
M2b

- - CS,ib

CSi,
Lll-0 - 12

Ml-0 -

12

A
CS
M
lvlia C 4 >
4Kx4
C5ib
4'
CS
M
AV1ibk 4
4KX4 ^ dV3

CS;
L1 2 - 0 -r

CS

Mj
13 4Kx4

www.FreeLibros.me

3-0

288

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 17.- Disee una memoria tipo U F O de


siguientes casos:
a) Con registros de carga en paralelo.
b) Con registros de desplazamiento.

bits de anchura y un fondo de

en los

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:

b)
Se usan 8 registros bidireccionales de 6 bits. Las operaciones de PUSH/PULL son
operaciones de desplazamiento a derecha/izquierda, respectivamente, y la salida de la LIFO es
la palabra formada por los bits situados en uno de los extremos de cada uno de los registros.

www.FreeLibros.me

MEMORIAS SEMICONDUCTORAS

289

----------Ds>
------^

OUT[8 ]

v Rnt '

Min

Rs

x rin = o

PUSH
0
0
1

PULL
0
1
0

LR
Rx
00
0 1 Rx <- SHR(Rx,0)
1 0 Rx <- SHL(RX,IX)

OUT
HI
[R Ro Rol (desplazamiento a derecha)
(desplazamiento a izquierda)
HI

www.FreeLibros.me

Captulo 11
INTRODUCCIN A LOS SISTEMAS DIGITALES

El incremento en la complejidad de los circuitos digitales, provoca que las tcnicas de descrip
cin 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 po
seera un circuito de estas caractersticas. Por tanto hay que introducir herramientas alternati
vas que permitan el manejo de estos circuitos complejos a los que nos referiremos en ade
lante 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 instmcciones que se deben acometer so
bre la unidad de proceso. En esta obra se tratarn sistemas digitales sncronos donde una sola
seal acta de reloj de ambas unidades.
x: cualificadores o
entradas de control
z: comandos
Didatos

En la siguiente tabla aparece un estudio comparativo entre sistemas digitales (SD) y cir
cuitos 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
www.FreeLibros.me

292

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Informacin
Nivel/Lenguaje
Funcionalidad
Componentes
Conexin
Organizacin

Circuitos
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 regis
tros. 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
secuencial y se realiza cuando el reloj est activo. Su formato es:
R < 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 operacio
nes de inters:
- Lectura del bus, en la que algn registro lee el dato que contiene el bus para al
macenarlo (corresponde a una operacin de escritura en el registro).
- Escritura en el bus, en la que algn registro vuelca su contenido al mismo (ope
racin 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.
DISEO DE SISTEMAS DIGITALES
El diseo de sistemas digitales es una tarea compleja para la que no existe ningn mtodo
sistemtico. Sin embargo, se pueden aplicar algunas guas de diseo que faciliten el trabajo,
como la de seguir una metodologa top-down. En primer lugar, se especifica el conjunto de
instrucciones que debe realizar el sistema. Se propone, seguidamente, una arquitectura para V

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

293

la unidad de datos que permita realizar el conjunto de instrucciones anteriormente


especificado. A partir de aqu, se obtienen los algoritmos que realicen cada una de las
instrucciones en la unidad de datos propuesta, expresados en primitivas RT. Se ensamblan
todos los algoritmos anteriores y se obtiene la secuencia de operacin y control del sistema
digital. Por ltimo se realiza la unidad de control que ejecute dicha secuencia.
En este tema de introduccin no se trata el diseo de unidades de control complejas que
es estudiado en el tema siguiente.
DESCRIPCIN FUNCIONAL DE SISTEM AS DIGITALES
La descripcin funcional de los SD requiere de herramientas que especifiquen la operacin de
los mismos. Una de estas herramientas es la carta ASM (Algorithmic State Machine). Una car
ta ASM se compone de cajas de estados, cajas de accin condicional y cajas de decisin, agru
padas en bloques ASM. Cada bloque consta, al menos, de una caja de estado y puede poseer
un nmero indeterminado de cajas de decisin y accin condicional. Tanto la caja de estado
como la de accin condicional representan en su interior las acciones o salidas activas del SD.
La caja de decisin, en cambio, incluye las variables de entrada al SD.
Acciones

Caja de estados

Bloque ASM
Caja de decisin
( Acciones )

Caja de accin
condicional

De forma alternativa, se puede utilizar un lenguaje de descripcin de hardware (HDL).


El HDL que utlizamos aqu es uno muy simple y tiene slo propsitos docentes. El formato
general de instruccin consta de: un identificador (N); un campo de condiciones, donde se re
flejan las decisiones sobre las entradas (cualificadores); un campo de acciones, bien de trans
ferencias entre registros, bien de comandos y un campo de identificadores de prxima instruc
cin (J, K, ...). A este formato general pueden hacrsele algunas simplificaciones.
N condicin 1 accin 1/... J
condicin2 accin 2/... K
ndice del Captulo
Este Captulo desarrolla problemas de las siguientes materias:
- El nivel RT.
- Interconexin mediante buses.
- Tcnicas formales de descripcin (cartas ASM y lenguaje HDL).
- Diseo de sistemas digitales (con unidades de datos simples o propuestas ).

www.FreeLibros.me

294

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

PROBLEM AS RESUELTOS
P ro b le m a 1.-Com pare las siguientes declaraciones RT:
a ) A + B:
d) A B:
b) A + B:
E
C VD
e) A B:
c)C+D:
E<
A + B
f) A B:

E < -C + D
E< C a D
<
E< C D

E < r-C x D
Solucin P l.- El convenio para declaraciones RT establece la forma general:
f (X 1 ;X2, ...): RD G(RFj, RF2, ...),
donde: X ](X2, ... son variables lgicas
f ( ) es una funcin combinacional,
RD, RF, RF2, ... son registros (destino, fuente 1, fuente 2 ...)
y G () es una operacin aritmtico-lgica entre los datos de los registros
fuentes.
Entonces:
- El smbolo + que aparece a la izquierda de significa una operacin OR entre las
variables correspondientes (A y B en los casos a y b, C y D en el caso c). Anlogamente,
representa la operacin AND entre A y B en los casos d, e y f .
- A y B son variables lgicas en los casos a, b, d, e y / y son registros en el caso c. Al
revs ocurre con C y D (variables en c y registros en los dems casos).
- Para distinguir entre suma aritmtica y suma lgica (OR), se reserva + para el primer
caso y V para el segundo (casos a y b respectivamente). Anlogamente, en caso necesario,
y/o x se reservan para la multiplicacin aritmtica y A para la operacin AND. El va
lor almacenado en E es, por tanto,
a) E < C + D con + como suma aritmtica.
b) E < - OR (C, D) Vi
c) E < A + B con + como suma aritmtica.
d) E < - AND (Cj, D) V i
e, f) Ej < C x D con x como producto aritmtico.
- Las dimensiones de los registros son:
E[n], C[n] y D[n] en los casos a , b y d .
E[n], A[n] y B[n] en el caso c.
E[2n], C[n] y D[n] en los casos f y e, ya que el producto aritmtico de dos
nmeros de n bits, da como resultado un nmero de 2 n bits.
P ro b le m a 2 .- En la unidad de datos de la figura se activan las seales de acuerdo con la
siguiente secuencia de control:

ciclo EN di do s ,. 5o
1
2

3
4
5
6

0
1
0
0
1
0

1
1
0
0
0
1

1
1
0
1
0
0

0
1
0
1
0
1

www.FreeLibros.me

0
1
1
0
0
1

INTRODUCCIN A LOS SISTEMAS DIGITALES

295

Describa qu operaciones se hacen (a nivel R T ) a s como la operacin global en los


seis ciclos de reloj.

Solucin P2.- Analicemos las operaciones realizadas en cada ciclo de reloj.


Ciclo 1. Como EN = 0 el decodificador est activo y por lo tanto se est seleccionando
uno de los registros para escritura. Como djdo = 11 el registro seleccionado es D. Por otra parte
SSo = 00 lo que implica que el dato que se encuentra en el bus de entrada es [A], As la ope
racin realizada en este ciclo de reloj es D < A.
Ciclo 2. En este ciclo EN = 1 lo que implica que nign registro tiene activa la seal de
escritura. No se realiza ninguna operacin entre registros.
Ciclo 3. En esta ocasin EN = 0 y d]dg = 00 luego el registro seleccionado como destino
es el registro A. Como S j S q = 01 el dato que se encuentra en el bus de entrada de los registros
es [B] y la microoperacin que se realiza es, por tanto, A < B.
Ciclo 4. Para este ciclo encontramos activas la seal EN y djdo = 01 (se selecciona como
destino el registro B), mientras que S j Sq = 10 y por tanto el dato en el bus ser [C], la microoperacin entonces es B < C.
Ciclo 5. Al igual que en el ciclo 2, no se realiza operacin alguna entre los registros.
Ciclo 6 . En el ltimo ciclo la seal EN est activa y con d ^ o = 10 se activa escritura
de C. Como SjSq = 11 el dato en el bus es [D] y la microoperacin realizada es C < D.
En resumen, la secuencia de microoperaciones es:
1. D < A
2. NOP

www.FreeLibros.me

296

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

3. A< B
4. B < C
5.NOP
6 . C < D
(
(J,
Globalmente, por tanto, la operacin realizada es: D < A y A < B < C
P ro b le m a 3.-Sobre un registro A deben realizarse las tres operaciones siguientes, siendo B
el contenido de n bits de un bus de datos:
TN O R :
A
A + B
TN AN D :
A
A B
TEQ:
A <rA B
Disee una etapa del registro A de n bits con biestables JK.

_____

<<-

Solucin P3.- Las operaciones pueden traducirse a las de una sola etapa A:
TNOR:
A j ^ i B j
TNAND: Aj< j-IJ L l
TEQ:
Aj< AJ B ]
Entonces en funcin de los valores de TNOR, TNAND, TEQ y Bj y del valor actual de
Aj, podemos escribir el mapa de Kamaugh para el valor prximo de Aj (tabla de estados de la
etapa j):

TNOR TNAND TEQ

-Aj 8!

(Aj = qj>

000

001

01 1 0 1 0

00

01

11

10

110

1
1
0
1

111

101

100

Qj = Aj * Bj (* = OR, NAND, EQ)


A continuacin pasamos a la tabla de excitacin donde consideraremos que la transfe
rencia de estado es llevada a cabo por biestables JK.

\TN O RTNAND TEQ


A

A jBj \

000

001

011

010

0-

1-

1-

1-

0-

0-

1-

0-

-0

-0

-1

-1

-0

-1

-1

-0

110

111

www.FreeLibros.me

101

100

INTRODUCCIN A LOS SISTEMAS DIGITALES

297

de donde deducimos las ecuaciones de excitacin:


Jj = TNAND + TEQ Bj + TNOR
Kj = TNOR + TNAND Bj + TEQ Bj
Por tanto, el circuito correspondiente a la etapa j es:
TNAND

>

TEQ

r-

)
) ------- --

TNOR

>

P ro b le m a 4 .-S e definen las siguientes operaciones de desplazamiento a la derecha:


- L S R (Logic Shift Right): Se trata del llamado desplazamiento lgico, en el que el bit
de entrada serie es 0 .
- A S R (Arithmetic Shift Right): S e trata del llamado desplazamiento aritmtico, en el que
e l bit de entrada serle es el bit de signo.
- R O R (Rotation Right): Se trata de la llamada rotacin, en la que el bit de entrada serie
coincide con el bit de salida serie.
a) Describa las tres operaciones a nivel R T para un registro de n bits, representando el
circuito correspondiente.
b) R ealice los tres circuitos anteriores para el caso n = 8 utilizando el registro 74198.
c) Realice un circuito basado en 7 4198 que permita realizarlas siguientes funciones :

X 7-0

I8 Ds,I

^sr

MR
Si
V

Ck

74198
[8]
>8

A]Ao Operacin
0 0 LSR
0 1 ASR
1
ROR
-

MR S, S0

Operacin

0
100
10 1
1 10
111

Puesta a 0 asincrona
Inhibicin
Desplazamiento izqda.
Desplazamiento dcha.
Carga en paralelo

7-0

Solucin P4.
a)
A nivel RT las operaciones son las siguientes (donde B es un registro de desplaza
miento a la derecha):
LSR: SHR(B, 0)
ASR: SHR(B, B ^j)
ROR: SHR(B, B0)
www.FreeLibros.me

298

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Los circuitos que corresponden a cada una de ellas son:


0

LSR

ASR
ROR
b)
En los tres casos ser necesario utilizar el circuito 74198 en modo de desplazamien
a la derecha, para ello se fijarn las entradas MR, Sj y Sq a 1, 1 y 0 respectivamente. La entrada
Dsr deber ser conectada a 0, Bn_j B0 segn la operacin que se desee realizar. En los circui
tos que se muestran a continuacin, las siglas NC indican "no conectado".
LSR: SHR(B, 0)
ASR: SHR(B, B ^ )
0

Dsr
1 __ C MR
1
Si
0
S<k
Ck-

NC

NC

** I

X7 . 0
Dsj
B 74198
T

7-0

NC

ROR: SHR(B, B0)

DSr
J __ c MR
] ____ S)
0 -----

NC

X7_o_ LD

S1

B 74198

0>

>

Oo (= B0)
Ckc)
Ya que la nica diferencia para los tres casos (apartado b) radica en la entrada D
bastar multiplexar a dicha entrada la seal correspondiente:

00
0 1
1-

Dsr
0
0?
Oo

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

299

Alternativamente, podemos obtener Dsr como funcin de Aj, A0, 0 7 y Oq :


O? O0
A, ^

00

01

11 10

00

01

11

10

Dsr~ AlOo+ A11 aA0quO'7

P ro b le m a 5 .-S e dispone de cuatro registros con datos (R 0, R 1t R2 y R 3) y una ALU, todos de


n bits. S e 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 0; e l de B, p o r B 1 y B0; y e l de destino, por D 1 y D 0. Muestre la estructura del sistema e
indique cmo se realiza una operacin en los siguientes casos:
1) Un esquem a de conexin basado en multiplexado, usando registros con terminales
de entrada y salida separados.
2 ) Un esquem a de conexin basado en buses triestado, usando registros con termina
les 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 : REG IN
w = 0 : REG < REG
OUT = [REG]

w ---OUT

Los datos A y B se obtienen multiplexando los datos de los cuatro registros Rq, Rj, R 2
y R 3 . El destino se obtiene decodificando D]D0, lo que permite activar la escritura w de slo
uno de los registros.

www.FreeLibros.me

300

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Entonces, la unidad de datos es:

A j j 0 1 2 3
A0- 0 n x MUX 4:1

B ,_ , 0 1 2 3
Bej 0 n x M UX 4:1

Cada operacin aritmtico-lgica se selecciona con SEL_OP y se ejecuta en un ciclo de


reloj (una microoperacin):
1. RD < RA * RB
Las seales a activar son SEL_OP (que selecciona la operacin *), y la combinacin
adecuada en las seales Aj, A0, B |; Bq, D j y D0 para seleccionar los registros fuente y destino
deseados. Es conveniente (aunque no obligatorio) introducir una seal de habilitacin de es
critura (EW) para que slo se escriba en un registro R, cuando se desee.
2) Solucin basada en buses triestado.
Los registros que utilizamos en este caso son:
IN

wr -

REG[n]
'n

w = 0 : REG < REG


w = 1 : REG <- IN
r = 0 : OUT = HI
r = 1 : OUT = [REG]
Se permite r = w = 1

OUT

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

301

Entonces la unidad de procesado:

EW

El registro RT es necesario para almacenar el dato B temporalmente. Puede obtenerse a


partir de los registros que estamos utilizando sin ms que fijar a 1 la entrada de control de
lectura.
IN.
w T__
1

REG[n]

OUT
Cada operacin requiere dos ciclos (dos microoperaciones):
1. RT R a
2. RD < RB * RT
Es obligatorio usar EW, debe ser 0 en la primera microoperacin y 1 en la segunda.
Se necesitan tres buses de datos:
- Uno triestado, con n lneas, desde R a RT y dato A.
- Dos estndares, con n lneas, desde RT al dato B y desde la ALU a R.
En cuanto a la generacin de las seales de lectura, el controlador debe poner:
A j/Bj = B en el ciclo 1
A/Bj = A en el ciclo 2.
3) Solucin basada en registros con I/O.
Utilizamos registros con terminales bidireccionales (I/O), por lo que la conexin es a
travs de un bus triestado.

www.FreeLibros.me

302

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

wr -

REG[n]

DAT T

rw
00
01
10
11

REG * REG
DAT
REG
prohibida

DAT
HI
entradas
[REG]
prohibida

Como por un bus slo puede haber un dato y necesitamos tres (A, B y A * B), se nece
sitan 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 almace
narse en el registro de destino RD
2) almacenar el resultado A*B, en cuyo caso el dato-operando A es suministrado
por Ra .
Solucin 1):
- w3
w 2
W 1 D
r2
r i Ki
*2
r3 r 3
S>K o
ii
1
ii
i
n/
n ,f
n, f
n .t

SEL OP

La salida de la ALU debe poseer buffer triestado con el fin de que no haya problemas
de cableado con el bus triestado cuando RA o Rg viertan datos. El control de los buffers (CB)
debe activarlo la unidad de control cuando realice la escritura en RD.

Una operacin requiere tres microoperaciones:


1 . Ta ^ Ra
2. T b < - R b
3. RD < TA * T b
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.

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

303

La generacin de las seales de lectura rj es como la discutida en la solucin basada en


buses triestado.
Solucin 2)
---

w0 R
ro

Ro

w
Ri
ql K

W2 R
k2

r2

w3 R

r3 k 3

SEL OP

El registro TD debe tener salidas triestado para su conexin al bus.


Una operacin requiere tres microoperaciones:
1. T b < R b
2. T d < R a * T b
3. R d < T d
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).
P ro b le m a

6 .-Obtenga

la carta A S M para un biestable JK.

Solucin P 6 .- 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
0
0
1
1

0
1
0
1

Q
q
0
i
q

Ck

www.FreeLibros.me

304

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Como puede observarse en la figura anterior cuando el biestable almacena un 0, la


salida q se encuentra activa permaneciendo en esta situacin mientras que J = 0. Si J = 1 se
produce un cambio. Las entradas del biestable pueden ser ahora JK = 10 JK = 11, por lo que,
en el ciclo siguiente, se activar la salida q (2o bloque ASM). Esta nueva situacin se manten
dr hasta que la entrada K se active.
P ro b le m a 7.-Construya la carta A S M del circuito secuencia! dado en las siguientes tablas.
Asimismo describa ambas mquinas usando el lenguaje HDL.

a)

Qi

\ x

00

00,0 01,1

01

11,0 01,1

11

10,0

10

11,0

10,0 00,0

b)

J ,X o

q,qK

00

01

11

10

Zj z 2z 3

00

00

10

10

00

1 0 1

01

00

01

01

00

1 1 0

11

01

01

01

01

0 0 0

10

10

11

01

10

Q iQ o -z

1 1

QiQ o

Solucin P7.
a)
Cada estado de la tabla dar lugar a una caja de estado en la carta ASM; las seale
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.
3
Descripcin HDL:
0
1

3
\'
0

10
1

www.FreeLibros.me

X
X
X
X
X
X
X
X

z
z
-

-/
-

3
1

2
0
2

INTRODUCCIN A LOS SISTEMAS DIGITALES 305

b) Es una mquina de Moore, por tanto todas las salidas se activarn en cajas de estado.
Descripcin HDL:
0
1
2

ZlZ 3
Z ,Z 3
x0
Z]Z 2
x0
Z]Z 2
x0
Z
xo_ 2 Z 3
X0 X 1 Z 2 Z 3
X0 X 1 Z 2 Z 3
t
x0

0
2
0
1
2
1
1

P ro b le m a 8 .-La figura muestra una carta A S M de un sistema a s como la unidad de datos cor
respondiente. En dicha carta, x e y son entradas que pueden tener cualquier valor binario, per
m aneciendo constantes desde que X s se hace 1.
Especifique todos los errores de esta carta comentndolos brevemente.

www.FreeLibros.me

306

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P 8 .- 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, correc
ta 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 Xs 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.

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

307

P ro b le m a 9.-S e 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 alm acene 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.- Supongamos que el sistema inicia su operacin cuando se activa la entrada X,
y, para avisar de la finalizacin, activa la salida FIN.
Se puede entonces hacer una distincin clara entre la unidad de control y la unidad de
procesado del sistema digital. La primera recibe la seal de inicio, X, y el cdigo de la ope
racin a realizar (a travs de IR) y activa la seal de FIN y las seales de control necesarias
para que la unidad de procesado ejecute la operacin (Z). La segunda procesa los datos A y B
y almacena el resultado.

www.FreeLibros.me

308

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

sistema

usuario

Como componentes claros de la unidad de proceso estn los registros A y B, que con
tienen inicialmente los datos, y la ALU, que permite operar con estos. El conjunto de opera
ciones que debe realizar este sistema son:
A 4 A+B
B 4 A+B
A 4 A-B
B 4- A-B
A 4 A+B B < A+B
A 4 A-B
B 4----- A-B
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 unidi
reccionales y dedicados, mientras que los que se han dibujado en negro son bidireccionales,
compartidos y triestado.

RA

f f

WA RB

f f fs fr r afc WAC
f ZACf

WB WT

www.FreeLibros.me

(del controlador)

INTRODUCCIN A LOS SISTEMAS DIGITALES

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 X (X es A o B)

Rx Wx
0 0
0 1
1 0
1 1

Registro T

OUT

DD=
X
HI
DD Entrada
X
[X]
Prohibida
x< -

WT T<- OUT
[T]
0 T
1 IN [T]

Registro AC (ACumulador)
AC <
AC

Z AC R AC

R AC
w AC
-A C

IN,

W AC

Otras Prohibidas

AC
IN

OUT, =
LACj
[AC]
[AC]
[AC]

out2=

HI

HI
[AC]
HI

IN,
s
0
0
1
1

r
0
1
0
1

OUT =
-

IN, - IN2
IN, + IN2
Prohibida

(No importa)

Para la unidad de procesado propuesta y para cada una de las macrooperaciones defini
das, 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

www.FreeLibros.me

310 PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES

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 <- 0
En el segundo ciclo de reloj, podemos transferir al acumulador el contenido de T
([T] = A), e incluso traemos el segundo operando al registro T.
2. T<B, A C +- 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:
pOP
1
2
3
4
pOP
1
2
3
4

B<AB
A<AB
B<A+B
AC<0, T<A
T<B , AC<AC+T
AC+-AC-T
AC<AC+T
B+-AC
A<AC
B<AC
A+-AC

A<A+B

A<-(-A)+B

Bf-(-A)+B

A<(-A )-B

B+-(-A)-B

AC<0, T<-A
T<B , AC+-AC-T
AC<AC+T
A+-AC

B+-AC

AC<AC-T
B<-AC
A<AC

De forma equivalente obtenemos la tabla que representa las seales de control a activar
por la unidad de control:
pOP
1
2
3
4

A+-A+B

A<A-B
B+-A+B
ZAC,WT,RA
WT, RB,WAC,s

WAC, s
WA,RAC

WB,RAC

WAC, r
WA,RAC

www.FreeLibros.me

B<AB

WB,RAC

INTRODUCCIN A LOS SISTEMAS DIGITALES

pOP
1
2
3
4

A<(-A)+B

A<-(-A)-B

B<(A)+B

311

B<(A)B

ZAC,WT,RA
WT, RB.WAC, r
WAC, s
WA,RAC

WAC, r
WA,RAC

WB,RAC

WB.RAC

Para disear el sistema digital completo necesitaramos describir el comportamiento de


la unidad de control y disearla. Esto lo dejaremos para el siguiente Captulo, por lo que la so
lucin mostrada hasta aqu es suficiente para este tema de introduccin.
P ro b le m a 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 (Xg) 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 O R y el resultado se alm acena en C. Final
mente, 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) H aga la carta A S M 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 PIO.
a) La secuencia de operaciones descritas a nivel RT es la siguiente:
0 .
0
Xs
Xs
(1 )
A < D in (2 )
1
2 .
C A
(3)
3.
B < C
(4)
4.
C< 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 DIN, el registro B debe recibir el contenido de C, el registro C debe recibir A 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:

www.FreeLibros.me

312

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

WK

K<

z=

0
1

K
X

[K]
[K]

c)
La carta ASM del controlador es inmediata. Basndonos en las soluciones obtenidas
para los apartados a) y b) obtenemos:

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

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

313

PROBLEM AS CON SOLUCIN RESUMIDA


P ro b le m a 11.- Describa a nivel R T un contador ascendente mdulo 64 con puesta a cero,
carga en paralelo e inhibicin.

Solucin PH.* El contador ha de ser de 6 bits, una posible descripcin a nivel RT sera la si
guiente:
DIN5.0

SiS0
00
01
10
11

z 5 -o -

C i

[C]
[C]
[C]
[C]

C+ I
DIN
0

Cy

cl 5cl 4 cl 3cl 2cI 1Qo

P ro b le m a 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 e l diagrama lgico de un
circuito asociado a una etapa del registro que nos permita ordenar la transferencia A
AB.

<

Reptalo para A

Solucin P12.
Suponiendo

< A + B , A <

T = 0: A < A
T = 1: A < A * B

B , A < A, B

(* = AND, OR, XOR, XNOR), se obtiene:

XNOR

XOR

www.FreeLibros.me

314

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 13.- Un registro universal de 8 bits (RU 8 ) tiene la siguiente descripcin:


Entradas de datos: 8 en paralelo (X 7.0) y dos en serie (XR y XJ, una para desplaza
miento a derecha (XR) y otra a izquierda (X).
- Salidas de datos: 8 en paralelo (Z 7_0).
- Entradas de control: la del reloj (Ck) y dos para las distintas operaciones
con
0 0 para inhibicin, 0 1 para desplazamiento a la derecha, 1 0 para desplazamiento a izquierda
y 1 1 para carga en paralelo).
Descrbalo a nivel RT. Especifique un registro equivalente cuyo control se efecte con
slo una entrada activa p o r cada operacin de cambio de datos. Diselo utilizando un R U 8 .
E l registro R U 8 tiene la siguiente descripcin RT:

(S?S0,

XR

| 0

XL

Si.
S-

RU8[8]

Ck-

SiS0

IIo
N

< t i

00
0l
10
11

[RU8]
[RU8]
[RU8]
[RU8]

RU8 <RU8
SHR (RU8,Xr )
SHL (RU8,Xl )
X7-0

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 des
cripcin y su diseo a partir del RU[ 8 ] se muestran a continuacin:
R
W SR SL
000
00 1
0 10
100
Otras

ZRE [RE]
[RE]
[RE]
[RE]

RE <
RE
SHL (RE,L)
SHR (RE,R)
d in 7_0
Prohibidas

DIN7_0 L

W_

SLSRCk-

RU8[8]

-=T>

RE = Registro Equivalente

RE[8]

* z .RE

P ro b le m a 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.

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

315

a incluir

Sol. A

W_
R

a incluir

Sol. B

P ro b le m a 15.- En un sistema digital se desean implementar las siguientes microoperaciones


condicionales:
W: M
M B R (El dato de M B R se escribe en memoria).
R: M B R
M (S e lee de memoria un dato y se escribe en MBR).
E:
MBR
E X R (Se carga en M B R e l dato de un registro externo EXR).
La memoria M es R A M de 2 * x n, con bus de datos de entrada y de salida separados,
con una seal de habilitacin activa en alta (EN ) y seal de control de lectura-escritura (RAV);
cuando no se lee de la memoria, sus salidas muestran un 0 lgico. E l registro M B R es de n
bits, con entradas y salidas separadas, seal de carga en paralelo (L) y salidas incondiciona
les. E l registro EXR, de n bits, tiene salidas incondicionales.
Describa a nivel R T los dispositivos con memoria y construya la unidad de datos del sis
tema. Las seales W, R y E son generadas por el controlador. No importa cmo se generen
las seales de direccin de la memoria.

<

<
<

Solucin P15.- En la figura se muestra cmo interconectar M, EXR y MBR para poder realizar
las microoperaciones que se piden. A la derecha del circuito se describen los tres dispositivos
a nivel RT.

www.FreeLibros.me

316

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 16.- Determine la carta A S M 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 condicio
nal. Son necesarias ocho cajas de estados que representan todos los estados posibles del con
tador 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 corres
ponde a la de un contador binario para G=0, y a la de un contador Gray para G=1.

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

317

Para obtener la carta como mquina de Mealy procedemos de la siguiente manera. En


primer lugar obtenemos las secuencias de los dos tipos de contador. Para cada estado o paso
de la secuencia, comparamos las salidas activas de ambos. Las comunes se colocan en la caja
de estados y las propias de cada uno en una caja de accin condicional situada tras la caja de
decisin que identifica el tipo de contador. As obtenemos la siguiente carta:

www.FreeLibros.me

318

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P ro b le m a 17.- Construya la carta A S M correspondiente a l circuito de la figura. Describa su


funcin en lenguaje HDL.

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

319

Solucin P17.- Los estados son: Sq (qiq 2 = 00) ^ 1 (qi^O =


^ 2 (qiq 2 = 10)>
S 3 (qjq 2 =11)- Tras analizar el circuito y obtener su tabla de estados se obtiene la siguiente
carta ASM:

Descripcin HDL:
X
0
0 .
X
z
2
X
z
0
1.
z
X
1
2.
X
X
z
3
3. X z

P ro b le m a 18.- Desarrolle una carta A S M y una tabla de transicin para un generador de


formas de onda controlable que dependiendo de dos entradas X 1 y X 2 generar las cuatro
formas de onda que se muestran en la figura. E l 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.

X]X 2
oo
0

www.FreeLibros.me

320

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P18.

XiX 2
qiqoN" \
s,

00

01

11

10

00 01,1 01,1 01,1 01,1


10,1

10,1 00,0 10,1

s3 10 11,0

11,1 11,1 00,0

s2 01

s4 11

00,0 00,0 00,0 00,0

Q 1Q0 z

P ro b le m a 19.- Se desea realizar la siguiente microoperacin:


K
T0
A < B0
T1
A
Bi
Tg
A
B
A
Bg
T3
or

<
^
^
(,r 0 + r ?+ r 3 + r4;

nop

donde K identifica esta microoperacin, T0 -T 3 son las variables de entrada, los registros son
de ocho bits y, en cada instante, hay como mucho una seal de entrada a 1 (esto es,
T r t = o
).
a) Represente e l bloque A S M correspondiente.
b) Muestre una implementacin del circuito que realiza esta instruccin en los dos casos
siguientes:
1. Los registros B tienen salida estndar
en paralelo.
2. Los registros B tienen salida triestado
(alta impedancia) en paralelo.

V /,

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

321

Solucin P19.
a)
En el bloque k se evalan los valores de T0, Tj, T2, T 3 y se realizan las transferencias
necesarias. Posteriormente se pasa al bloque k+1.

b. 1) Las salidas de cada uno de los registros se conectan a las entradas de A mediante
multiplexores. Un codificador se encarga de seleccionar el registro B correspondiente al Tj ac
tivo.

b.2) En este caso la conexin se puede realizar mediante un nico bus.


t 0-TR

B0 [8 ]

T l - R B, [8 ]

/ .8

Io_
-

T 'z
12

>

t2- R

'8

WA

B2 [8 ]
/ '8

t3-

B3 [8 ]
'8

A[8 ]

P ro b le m a 2 0 .- Disee e l sistema digital que permita realizar de la operacin A


(No disee la unidad de control).

www.FreeLibros.me

< 4*(A+B).

322

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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:

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

0
0
0
0
1

WAC s h l z ac AC<
0
0
0
AC
0
0
1
0
0
1
0
SHL
1
0
0
IN
0
0
0
AC

OUT,
[AC]
[AC]
[AC]
[AC]
[AC]

out2

HI
HI
HI
HI
[AC]

La secuencia de microoperaciones, se muestra a continuacin:


1. T < A, AC < 0;
2. AC <r- AC + T, T < B;
3. AC < AC + T;
4. SHL;
5. SHL;
6 . A < - AC.

www.FreeLibros.me

INTRODUCCIN A LOS SISTEMAS DIGITALES

323

P ro b le m a 2 1 .- Un procesador posee los siguientes registros: un contador de programa (PC),


un registro de direcciones de memoria (M AR) de 16 bits, un registro de datos de memoria
(M D R ) de 2 4 bits y un registro de instrucciones (IR) de 8 bits. M A R podr ser cargado con el
contenido de P C (cuando se activa una seal LPC) o con los 16 bits menos significativos de
M D R (cuando se activa una seal LM D R ). Los 8 bits ms significativos de M DR se almace
narn en IR (cuando se active una seal TMDR).
a) Indique a nivel R T las transferencias hacia M A R y hacia IR, y dibuje un diagrama de
bloques del procesador.
b) Se dispone de circuitos integrados, cada uno de los cuales incluye un registro o un
contador de 8 bits. Indique cuntos circuitos integrados se necesitan para construir el sistema
indicado, mostrando su ubicacin en e l diagrama de bloques anterior.
c) Disee M A R utilizando el Circuito Integrado 74198.
d) Disee M A R utilizando el C.l. 74298.

CIR

0
1

CIR < IA
CIR < IB

Nota: C.l. 74198 ver problema 4 de la seccin de problemas resueltos.

Solucin P21.
a) Las transferencias hacia MAR y hacia IR a nivel RT:
LPC: MAR < - PC
LMDR: MAR < - MDR 1 5 . 0
TMDR: IR ^ MDR 2 3 .J 6
El diagrama de bloques del procesador:

www.FreeLibros.me

324

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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
MDR1 5 . 0 p c 1 5 . 0

d) Diseo de MAR con el C.I. 74298. Como el 74298 es de 4 bits, se necesitan 4 C.I.
para hacer MAR.

www.FreeLibros.me

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) aa
dindose 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 COM O 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 formasde descripcin es la si
guiente: por cada caja de estados de la carta ASM setiene un estado en lamquina; 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
www.FreeLibros.me

326

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

lador que utiliza el nmero mnimo de biestables. Esta alternativa de diseo proporciona rea
lizaciones 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 l-o u t-o f-n (excepto
para el estado de espera al que se asigna el cdigo 0). As, la codificacin de estados es:
estado
cdigo
90919293 9n
0 0 0 0 .. 0
So
1 0 0 0 .. 0
s,
0 1 0 0 .. 0
S2
0 0 1 0 .. 0
s3
s4
0 0 0 1 .. 0
0 0 0 0 .. 1
Sn
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 qj. Esto se ha hecho por simplicidad y
se mantiene en el resto del Captulo.

En el estado de espera todos los biestables almacenan el valor 0. Cuando se produce un


pulso de un ciclo de duracin en X, el primer biestable pasa a almacenar el estado q = 1 con
lo que el estado del controlador ser S. Realizar una transicin entre dos estados S y Sj con
sistir en hacer pasar el 1 almacenado en el biestable i al biestable j . De ah las modifi
caciones a realizar sobre el registro de desplazamiento: hay que establecer caminos entre los
distintos biestables de manera que se puedan realizar todas las transiciones contenidas en la
carta ASM. A continuacin se muestran algunos ejemplos de transiciones en la carta ASM y
la correspondiente modificacin en el circuito bsico:

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

327

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 A ( 3 que se activase en los estados
S 2 y S5 ), bien cuando ocurre cierta condicin de entrada en un estado (salida tipo Mealy; por
ejemplo, que WAC se activase para X 3 = 0 en S3). Como estas seales suelen estar accesibles
en el registro de desplazamiento modificado (en el ejemplo seran q 2 , q 3 y la salida del canal 0
del demultiplexor de q3: q30), para obtener la salida deseada WAC bastara sumar (OR) esas
seales: W AC = q2 + qs + feoAunque esta tcnica de diseo no optimiza el coste en puertas y proporciona controla
dores 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.
PROBLEM AS RESUELTOS
P ro b le m a 1.- Para a unidad de datos de la figura, disee un controlador que permita escribir
en B el nmero de 1" que hay en A. E l contador C 1 es de tres bits (mod. 8 ) y el C2 de 8 bits
(mod. 256 ). Qu cambio hay que introducir para escribir en B el nmero de 0 de A?
Nota:
Z Puesta a 0 sncrona,
l = Incrementar,
CY = CARRY.

www.FreeLibros.me

328

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

WA
R

A[8]

Rd
WD-

1 *

c,

REG. DESP.
Or

CY,

_C Y ,
-- N

-- O

SHR'

WB
Rr

B[8]

C2

r 2 w 2 i2 z 2

Solucin P l.- La macrooperacin a realizar es: B < ne de 1 en A.


En primer lugar describiremos a nivel RT los registros de la unidad de datos
- Registros A y B:
Wx _
b u s 7.0 =
X < rW XR X
X[8 ]
R __
00
HI
X
01
X
[X]
10
entrada
BUS7_0
11
prohibida
prohibida
t b u s 7.0
F

- Registros

y C2 :

W, R, I, Z
CY

BUS n-1,0

W, R I Z

CY,=

BUSn., =
0

c <

1000
0 100
0 0 10
000 1
0000

1 si [Cj] =

entrada

BUSn_j

= 1...11

[C]
HI
HI
HI

Ci

c + 1

Ci

- Registro de desplazamiento D:
W

C
SHR

D[8]

oR

w dr ds h r

b u s 7_0 -

D <

100
0 10
00 1

entrada
[D]
HI

b u s 7_0

b u s 7.0

www.FreeLibros.me

D
SHR(D, r )

DISEO DE UNIDADES DE CONTROL

329

El nmero de 1 en A puede variar entre 0 y 8 . Para contarlos necesitamos 4 o ms bits.


C 2 [8 ] (mdulo 256) realizar esta cuenta. La idea que sustenta la solucin es:
a) Transferimos A a D, preguntando por 0 R sabremos si el bit ms a la derecha es 1 o no.
b) Si O r es 1 incrementamos C 2 .
c) Desplazamos el registro D para acceder al siguiente bit del dato A original. Esto hay
que hacerlo 8 veces.
d) Para conocer el nmero de desplazamientos, utilizamos el contador Cj que es
mdulo 8 .
La carta ASM (incluyendo simultneamente RT y control) es:

Sj: Inicializacin. Tras el primer ci


clo, C] y C 2 estn a 0 y D tiene escrito
el dato A.
S 2 : Es el ncleo de la solucin.
- Siempre se ordena el desplazamien
to de D y el incremento de Cj, ya que
siempre vamos a evaluar un nuevo bit.
- La primera vez que se alcanza S 2 ,
se cumple: O r = Aq, [C] = 0
Segn el resultado de la evaluacin de
O r , se incrementa o no C 2
- La segunda vez que se alcanza S2 ,
se cumple: O r = Aj, [Cj] = 1.
As sucesivamente; la octava vez:
0 R = A7, [ C j ] = 7 por lo que CYj=l
saliendo hacia S 3 .
S 3 : Se escribe el nmero de l's en B.
(Al alcanzar S3, [D]=0 y [Cj]=0 pues
el contador Cj ha pasado de 7 a 0).

www.FreeLibros.me

330 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

El controlador se obtiene directamente de la carta ASM:

El nico cambio que es necesario realizar si se quiere escribir en B el nmero de 0


de A es modificar la caja de decisin de O r y el demultiplexor correspondientes a S 2 .

P ro b le m a 2 .- La figura muestra la memoria (M E M ) de un sistema: e l registro de direcciones


(M A R ) puede ser cargado con el contador del programa (PC ) o con el puntero de pila (SP), el
registro de datos (M D R ) est conectado a un bus de datos internos (IDB), a l que tambin se
conecta e l registro A, y otro externo (ED B ) conectado con la memoria.
Se quiere incorporar las dos operaciones de pila: EM PU JA R (P U S H ) y EX TR A E R
(PU LL) que consisten respectivamente, en llevar A a la pila y en llevar de la pila a A (recuerde
que P U S H A implica M E M
A y S P < S P + 1 , mientras que PULL A implica S P < r - S P - 1
y A < M E M (S P ) ). Cuando no hay operacin de la pila, el puntero S P apunta a la primera
direccin libre.
Disee e l controlador que perm ita ejecutar las operaciones de P U S H ( ' / J / 0
00) y PULL
0 il o = O1).
Nota: los cdigos I ^ q = 1X estn reservados para otras operaciones no definidas en el
enunciado.

<

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

IPC

PC[16]

SP[ 16]

, 16

, 16

ISP
DSP
IDB[8]

uMAR[16]

A[8]

WPC
WSP

16

331

Ra
WA

1 Rl
W,
MDR[8]

R
e
J WF

CS R W

AB[16]
J

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 pa
sar por MDR.
Operacin PUSH (Ijl 0 = 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

1. MAR 4 - SP / MDR 4 - A
2. MEM 4 - MDR / SP 4 - SP + 1

CS / W / Re / ISP

W SP/Ra /W!

Operacin PULL (II 0 = 01): Hay que decrementar SP para que apunte a la ltima di
reccin llena. Slo entonces se lleva SP a MAR para, despus, leer de MEM hacia MDR y, de
microoperacin

seales a activar

1. SP 4 SP - 1
2. MAR 4 - SP
3. MDR 4 - MEM
4. A MDR

DSP
WSP
C S / R / WE
R i /W a

www.FreeLibros.me

332

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Representemos ahora una posible carta ASM para reunir ambas operaciones teniendo
en cuenta que los cdigos Ijl 0 = lx estn reservados para otras operaciones:
1<----------------------------------NOP

0 A\

\/

Otras

operaciones

In
SP < SP - r
DSP

MAR < SP / MDR < A


WSP / RA / W,

MEM < r - MDR / SP < SP + 1


C S /W /R e /ISP

MAR

< SP
WSP

\/
MDR < MEM
C S / R / WE
A

< r-

\/
MDR

Rl/W A

FIN

El controlador correspondiente segn la aproximacin de un biestable por estado se


muestra en la siguiente figura:

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

333

P ro b le m a 3 .- Un nmero decimal de dos dgitos se almacena en dos registros de cuatro bits


en forma BCD. E l registro M contiene los dgitos ms significativos; e l 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 e l 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 (ZM = [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.
M[4]
L [4]
4 y' z M
zL
- ' 4
S: BUS = [L]
S: BUS = [M]
BUS[4]

www.FreeLibros.me

334

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

2.
Conexin de bus nico (BUSU): Las salidas de M y L tienen HI por lo que se nece
sitan seales de lectura. Slo una de ellas puede activarse en cada ciclo.
R,M
Rl 1
Rx
M[4]
L[4]
X[4]
-M
RX: Zx = HI
RX:
Zx = [X]
T
BUSU[4]

El registro R[8 ], adems de la carga en paralelo de los 4 ltimos bits, necesita estar do
tado de desplazamiento a la izquierda para transferir datos a sus 4 bits ms significativos:
X 3-0

R[8 ]
W

SL.

WrSL
0 0
1 0
0 1

Operacin
R < R
R3 - 0 < X3.0, R7_4 < R7_4
R < SHL(R,0)

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 he
mos optado por introducir un 0 .
Con todo ello la arquitectura del sistema es:

donde suponemos que Xs, salida del conmutador, es un pulso de duracin 1 ciclo de reloj.

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

335

b) La carta ASM para la unidad de datos y la unidad de control es la siguiente:


Con la seal del conmutador Xs se pasa
a almacenar en R el dgito BCD ms signifi
cativo, que es el almacenado en M. Despus,
mediante 4 desplazamientos a la izquierda
se coloca ese dgito en la mitad ms signifi
cativa del registro R.
Por ltimo se escribe el dgito BCD me
nos significativo (el almacenado en L) en R.
Con esto el registro R[8 ] contiene el dgi
to BCD ms significativo en sus 4 bits de la
izquierda y el menos significativo en los 4
bits de la derecha.

c)
Para utilizar el menor nmero de biestables en el diseo de un controlador, el primer
paso es obtener la tabla de estados a partir de la carta ASM. Despus se realiza el proceso ya
conocido para el diseo de un circuito secuencial sncrono genrico. No haremos el desarrollo
detallado pues dicho proceso ya se cubri suficientemente en el Captulo 8 . En la siguiente fi
gura se muestran la tabla de estados/salida obtenida a partir de la carta ASM, la codificacin
elegida para los estados y las ecuaciones resultantes. Se han utilizado biestables T para la rea
lizacin de la mquina de estados.

www.FreeLibros.me

336

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Xs

So
S,

0
s0
s2

1 Rlr mW r SL
S, 0 0 0 0
0110
-

00 0 1

S3 s3 S4
s4 S5
S5 S6
S6 s0
s2

00 0 1

00 0 1
00 0 1

10 1 0

Ecuaciones de excitacin:
T 2 = 9l9o + 9 2 9l

T l = 90 + 9291

Codificacin

Tq - 9o + 9 2 9i +

q29i9o

+ q29i

So- 0 0 0

Si:
S2:
S3:
S4;
S5:
S6:

Ecuaciones de salida:

00 1
0 1 0

r L = 9291

1 1

r m = 929 19o__

1 0 0
1 0 1

W R -_929l+ 929 19o

1 1 0

S L = q 2qi + q 2 9i

Problema 4.- Un sistema digital tiene como unidad de datos la representada en la figura. Ini
cialmente, a l menos uno de los bits de A es un cero. E l sistema debe dar como salida el nme
ro binario de la posicin del "0" m enos significativo de la palabra alm acenada en el registro A.
a) Describa, a nivel RT, los componentes de esta unidad de datos.
b) D e la carta A S M y disee e l controlador (basado en la tcnica de un biestable por
estado).
c) S i el valor inicial de A es: 10101011, represente en el tiempo (hasta que se ha gene
rado la salida deseada) los siguientes parmetros: BUS, seales de control (RA,
S0, CLC,
U P) y las salidas del sistema digital. Cul es el contenido de R U 8 y de C O N T tras regresar
a l estado de espera?

S ?,

s ,s 0
0 0

1 0

*0

1 1

operacin
inhibicin
carga paralelo
despl. izquierda
despl. derecha

-n-o

Solucin P4.
a) Descripcin de componentes:
A[8]
j

BUS7_o

www.FreeLibros.me

ra

b u s 7.0 =

A <

0
1

HI
[A]

A
A

DISEO DE UNIDADES DE CONTROL

337

BUS 7-0

1
0

1 1

UP

CY

O2-0
b) Carta ASM.

00
0 1
1 0

1 si
[CO N T] =
= 111

[CONT]
[CONT]
[CONT]
Prohibida

CONT
CONT
CO NT + 1

0
Prohibida

Sa: Estado de espera.


S),: Puesta a cero del contador y transferencia
del dato A al registro universal RU 8 . El con
trol activar RA, pondr SjSq = 01 y activar
CLC.

<r-

RU8
A
C O N T <- 0

Sc: Al entrar en Sc, CONT = 0 y Z 0 = Aq- Si


Zo = 0 , la posicin del 0 menos significativo
de A est dada en CONT (O 2 -0 ); si Z 0 = 1,
debemos pasar a evaluar A] (lo cual hacemos
desplazando a la derecha RU 8 ) al mismo
tiempo que hacemos que se incremente el
contador para que seale la posicin de Aj.
Esto lo repetimos hasta que por Zq aparezca el
primer cero que necesariamente hay.

R a S 0, C LC

"SH R (R U 8 , B U S 7,
CONT
CONT + 1
S ,, S0, UP^

CY =

1 1

NO P

C LC U P

II
O

CO N T mod.

C LC

RU8
b u s 7 .0
S H L (R U 8 , B U S 0)
S H R (R U 8 , B U S 7)

[R U 8 ]
[R U 8 ]
[R U 8 ]
[R U 8 ]

0 0
0

RU8

II

S [S 0

SF: Seala el final. La posicin deseada est


escrita en binario en las salidas del CONT
(O 2 , O], O0).

<r-

FIN

www.FreeLibros.me

338 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

El controlador pedido es:

Ra

Si
UP

CLC

FIN

c)
B U S est en HI salvo en el ciclo del estado Sb. Las seales de control RA, Sg y CL
se activan en Sb y S j, Sg y U P en los ciclos de reloj en que se permanece en Sc. [A] = 10101011
siempre.

Ra
St

estado
presente

So
CLC
UP
b u s 7.0

[RU8]
[CONT]

HI

7
9

10101011

HI

?
9

10101011

hi

hi

?101010li??101010
000
001 ' 010
1

HI

HI

HI

HI

Ya no varan

1 . En el bit ms significativo de R U 8 (esto es, en R U 8 7 ) se almacena un valor descono


cido, 0 1, debido a que B U S 7 est en HI. (Otra solucin posible es leer A, R A = 1, en la caja
de accin condicional del estado S2, en cuyo caso "?" se sustituye por "1" que es el valor de
B U S 7 = A7).
2. Como Zg = 0, no se activa ninguna seal y se pasa a Sp.
3. Al volver a Sg (estado de espera), [R U 8 ] = ??101010 con ? = 0 1.
[CONT] = 010, que es la posicin del cero menos significativo de A (A2).

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

339

5.-

P ro b le m a
Dado el controlador de la figura basado en un biestable p o r estado:
a) Realice la carta A S M correspondiente a dicho controlador.
b) Obtenga e l controlador equivalente basado en lgica discreta utilizando biestables
tipo D y optimizando el coste.

Nota: Este controlador no tiene seal de comienzo ni estado de espera inicial. Resuelva el
apartado (b) sin preocuparse de este hecho.

Solucin P5.
a) La carta se obtiene directamente del controlador:

www.FreeLibros.me

340

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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 sn
cronos. En la siguiente figura se muestran la tabla de estados junto con la codificacin de es
tados y la tabla de transicin obtenida.
x ,1x^ -. 2

X ,X
1^2

00

01

11

10

Si s 2,l s 2,l S2,l S2,l

Si 00 01,1 01,1 01,1 01,1

S2 s 3,l S3,l S 3,0 S3,l

S2 01 11,1 11,1 11,0 11,1

S3 s 4,o s 4,l s 4,l S j .0

S3 11 10,0 10,1 10,1 00,0

s 4 S j ,0 s b o S ,,0 S j ,0

s 4 10 00,0 00,0 00,0 00,0

NS, z

Q iQ o -z

Utilizando biestables D, las ecuaciones de excitacin y salida que resultan son:


D l = Q i = i<5o + x 2qo + X lQ o
Do ^.Q o = q j
____

z = X jqj + qiq 0 + X2qj + X 2 q]q 0


P ro b le m a 6 .- Un sistema digital debe analizar su lnea de entrada X con objeto de contabilizar
e l nmero de pulsos de esa seal que tiene de anchura 1, 2 3 ciclos de reloj. El sistema
dispone de tres salidas (z-, z2, z 3) con las que se indica cul de los tres tipos de pulsos es
m s numeroso. (Por ejemplo, si se han recibido siete pulsos de un ciclo de reloj, cuatro pulsos
de dos ciclos y nueve pulsos de tres ciclos, e l sistema generara como salida z 1z 2 z 3 = 0 0 1 ).
Desde que se le da la orden de comienzo, se debern a n alizar2 5 6 ciclos de reloj, volvindose
despus al estado inicial. Disee dicho sistema, utilizando los subsistemas habituales.
Nota 1: Nunca se recibirn pulsos de m s de tres ciclos de reloj.
Nota 2: En caso de igualdad se activan las salidas correspondientes.

Solucin P6.- La organizacin del sistema es la mostrada, con una unidad de control y una
unidad de datos o de procesado:
X
Ck-

unidad
de
control

zi

unidad
de
datos
->

www.FreeLibros.me

z3

DISEO DE UNIDADES DE CONTROL

341

La unidad de procesado deber contener los siguientes dispositivos:


- Un contador (C 2 5 6) de mdulo 256 para contar los 256 ciclos.
- Tres contadores (Cj, C 2 y C 3 ) para contar los pulsos de duracin de 1, 2 y 3 ciclos
respectivamente. El tamao de estos contadores debe ser suficiente para contar el nmero
mximo de pulsos posibles en cada caso; esto es, en 256 ciclos de reloj puede haber hasta:
-1 2 8 pulsos de 1 ciclo de duracin (para X: 01010101...).
- 85 pulsos de 2 ciclos de duracin (para X: 011011011...).
- 64 pulsos de 3 ciclos de duracin (para X: 01110111...).
As, estrictamente, el dimensionamiento mnimo es C de mdulo 256, C 2 de mdulo
128 y C 3 de mdulo 128. Sin embargo, podemos utilizar nicamente contadores de mdulo
128, ya que en el caso de pulsos de 1 ciclo de duracin basta contabilizar el pulso nmero 8 6
para saber que forzosamente los pulsos ms numerosos son los de 1 ciclo y no necesitamos
seguir contndolos. Entonces C, C 2 y C 3 sern de mdulo 128. El estado 8 6 enCj es el estado
1 0 1 0 1 1 0 , para detectarlo basta ver que para el contador Cj se cumple q 6 q 4 q 2 0 i = 1
Todos los contadores tendrn una seal de puesta a 0 asincrona (CL256, CL], CL 2 y
CL 3 ). Adems C 2 5 g ha de tener una salida de acarreo (CY) que se activa (CY = 1) si
[C 2 5 6 J = 255. Los contadores C, C 2 y C 3 tienen entrada para contar hacia arriba (UPj, UP 2 y
UP 3 ) mientras que C 2 5 g se incrementa con todos los pulsos del reloj Ck.
Se necesitan, adems, tres comparadores de magnitud de 7 bits, con salidas G (mayor),
E (igual), L (menor), para comparar las salidas de Q y C2, Cj y C 3 , y C 2 y C 3 . (Podra resol
verse el problema con un solo comparador, pero aumentado el nmero de estados y la comple
jidad de la interconexin).
Con ello, la unidad de procesado es:

G 12 E 12 L 12

G 23 E 23 L 23

G 13 E 13 L 13

Una carta ASM para el sistema se muestra en la siguiente figura.


El estado Si es el estado de inicializacin de los contadores, a continuacin los estados
S2, S 3 y S 4 , nos permiten determinar si hay o no pulso y, en su caso, si la duracin es de 1, 2
3 ciclos, incrementando el correspondiente contador.

www.FreeLibros.me

342

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Las salidas zj, z 2 y Z3 son funciones combinacionales de Gj, Ej y L^:


Z1 = G 12_(_G 13 + Ei3>_+ G 1 3 (G ] 2 + E 12) + E 1 2 E 1 3 = G 1 2 L 1 3 + G 1 3 L 1 2 + E 1 2 E ] 3
z 2 = L 1 2 i 2 3 + G 23 G 12 + E 12 E 13
z 3 = E 13 G 23 + E 23 G 13 + E 12 E 13

La unidad de datos deber incluir, por tanto, un circuito combinacional que realice estas
ecuaciones:

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

343

P ro b le m a 7.- Un sistema digital (ver figura) consiste en una cerradura electrnica que se
abre mediante una combinacin adecuada de 8 bits. La combinacin est almacenada en el
sistema. El modo de operacin es como sigue. La seal R E S E T lleva al sistema al estado ini
cial (no hay que incluirla dentro de la carta A S M ya que se considera asincrona). La seal BIT
indica el bit correspondiente de la combinacin (comenzando por el m s significativo). La
seal L E E (al activarse) indica que se puede leer la entrada BIT. La seal INTENTA (al acti
varse) indica que ya se ha introducido la combinacin y si es correcta se abrir la caja (ponin
dose la salida A B R E a 1).
R ES E T

IN T E N T A
B IT

> ABRE

a) Disee la unidad de datos del sistema.


b) Exprese el algoritmo de control mediante una carta A S M (no es necesario disear la
unidad de control).

Solucin P7.-Existen muchas posibles soluciones. De ellas, vamos a presentar una, en la que
almacenaremos los 8 bits en un registro de desplazamiento (A) y, tras activar la seal INTEN
TA, compararemos la palabra almacenada en A con la combinacin correcta mediante un com
parador (COMP) de 8 bits. Un contador (CONT) mdulo 8 con salida de carry (CY) contar
los 8 bits. En caso de que se introduzcan 9 bits o ms se regresar al estado inicial sin activar
la seal ABRE.
a) La arquitectura del sistema (unidades de control y de procesado) ser:

donde RESET se conecta a la puesta a 0 asincrona de A, de CONT y de la unidad de control.


Cuando esta puesta a 0 no est activa:
, B IT
SHL

OA =

0
1

[A ]
[A ]

<

SHL-

OA7-0

www.FreeLibros.me

A
S H L (A , B IT )

344

UP

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

CONT
\t

CY

UP

CY =

CONT <

0
1

1 si
[CONT] =111

CONT
CONT + 1

b) La carta ASM ser:

Suponemos que al conectar el sistema por primera vez se activa RESET. Esto hace que
se comience en Sg y que CONT = 0 (y A = 0). Realizamos la carta para que, al volver, siempre
CONT = 0 en Sg.
Al activarse LEE procedemos a almacenar BIT y a incrementar CONT. Esto puede
hacerse en el mismo estado Sg (por lo que es caja de accin condicional).

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

345

Al mismo tiempo se pregunta por CY. Si CY no es 1, hay que seguir esperando un nuevo
bit. Si CY = 1, ste es el ltimo bit almacenado y se va a S j. Como se activ SHL y UP, en S
ya [A] = 8 bits y CONT = 0 de nuevo.
En S i, si LEE no es 1 se espera a que INTENTA = 1, en cuyo caso se mira en la salida E
del comparador (COMP) si la combinacin es correcta (y se activa ABRE) o si es incorrecta
(no se activa ABRE) regresando a S0.
En Sj, se espera a que INTENTA = 1, en cuyo caso se mira en la salida E del compara
dor (COMP) si la combinacin es correcta (y se activa ABRE) o si es incorrecta (no se activa
ABRE) regresando a S0.
Si en Sj se activa nuevamente LEE (92 bit) se pasa a un estado S2 de espera, sin abrir la
cerradura en ningn caso, ya que la combinacin ha de ser forzosamente de 8 bits, y cualquier
combinacin con ms bits es incorrecta.
Como en Sj y S2 CONT = 0, no hay que hacer un clear del contador al regresar a SqP ro b le m a 8 .- Un sistema digital controla e l proceso de llamadas telefnicas a travs de la red
telefnica. Las llamadas pueden ser provinciales (7 dgitos) o nacionales (9 dgitos). Tras ac
tivarse la seal de comienzo X s, 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 indi
car 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 realizarla llamada has
ta tres veces sin necesidad de volver a marcar. Disee el sistema.
Nota: N o se preocupe de cmo se alm acena el nmero.

Solucin P 8 .-Vamos a necesitar tres contadores, uno de mdulo 7 (C j) y otro de mdulo 9


(C2) para contar el nmero de dgitos marcado y otro de mdulo 3 (C3) para contar las llamadas
en caso de que comunique. La descripcin de estos contadores es la siguiente:
CL
UP
CY

CL UP

CY =

00
01
1

1 si [C]= 11...11

c, < c

C+ 1
0

La carta ASM correspondiente a las unidades de datos y de control se muestra a conti


nuacin.

www.FreeLibros.me

346

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

aS 0

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

347

El controlador es:

PROBLEM AS CON SOLUCIN RESUMIDA


P ro b le m a 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 > C
t
I

www.FreeLibros.me

348

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P9.- La carta ASM correspondiente a la operacin solicitada se muestra a continua


cin junto con el controlador pedido.

P ro b le m a 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 " p o r la derecha .

Solucin PIO.- Carta ASM:

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

349

Controlador:

R.

Wt

SHL

Rh

R.
A
W

Wc
Rnr

FIN

P ro b le m a 11.- Para a 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 i-e l0, pueda
elegirse entre una de las cuatro macrooperaciones siguientes:

< A + 2 B
2 ) A 4 - A - 2B
1) A

< A - 2B
C < 2A + 2B

3) C
4)

www.FreeLibros.me

350

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P ll.
Si escogemos la siguiente codificacin para cada una de las macrooperaciones:
macrooperacin
I.Io
0 0
A <A + 2B
0 1
A <- A - 2B
1 1
C <- A - 2B
1 0
C <- 2A + 2B
Esta solucin corresponde a una unidad de control tipo Moore.

www.FreeLibros.me

y
y

ACUM S6

DISEO DE UNIDADES DE CONTROL

El controlador:

Xs

qi

q?

R A = W T = Z AC = q i

=Q4b
Rx = + q5a

RB = W SH = q 2

w a

RSH = SEL = ^4a + 4b

r ac

= qsb

A = Rt + q4a

(\2

SHL = q3
Wc = q 6
W AC = A + q4b

= qsb + q 6

P ro b le m a 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:
C
A + B
C < A
C
B
a) Especifique las seales de control y operaciones de los registros y el biestable.
b) Disee el controlador.

<

<

www.FreeLibros.me

352

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P12.
a) Descripcin de componentes:

SRX ~ 1: SHR(X >d)

CLEAR = 1: Biestable

d= 0 1 X7 X0

Wbiest = 1: Biestab,e

siempre C,= [Biestable]

Ci+l

b) Para la siguiente codificacin de las operaciones, obtenemos la carta ASM y el con


trolador.

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

353

P ro b le m a 13.- Para a unidad de datos que se presenta, se quiere realizar un sistema digital
cap az de com parar dos nmeros de 8 bits (A y B), y alm acenar en A el mayor de ellos y e n B
el menor. Tras finalizar la operacin, e l sistema generar una seal de FIN.
a) Defina correctamente las operaciones de los registros.
b) Obtenga la carta A S M y el controlador.
c) Sin aadir elementos nuevos, se puede simplificar la arquitectura de
esta unidad de proceso? R azone la respuesta.

A[8]

C[8]

B[8]

D[8]
CONT. mod-8

Solucin P13.
CONT. mod-64

00
0 l
l0
l l

II
o .
N !
I

WXRX

HI
[X]

entradas
prohibida

X<X
X

UP CL

entradas
prohibida

www.FreeLibros.me

00
0 l
l0
l l

Cy =
l sii

[CONT]
= 1...H

CY

CONT <
CONT
0
CONT + l
prohibida

354

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

00
00
0 1
10

0
1
0
0

b)

www.FreeLibros.me

oIr-

w xr ys l y

HI
HI
[Y]
entradas

Y <rY
SHL (RU8,Yl )
Y
entradas

DISEO DE UNIDADES DE CONTROL

Wc

355

Wb

sl d

UP

c) S. Se resuelve en el siguiente problema.


P ro b le m a 14.- La figura muestra la solucin a l ltimo apartado del problema anterior. Recor
demos que se trata de alm acenar en A el m ayor y en B el m enor de los datos previamente
alm acenados en A y B. Determine la carta A S M para esta unidad.

Ra = q
Wa
SHLa---Rb _
Wb _
SHLh----

A[8 ]

C [ 8]

lL

Re
W

- A,
B [ 8]

>L

v-

B-j

www.FreeLibros.me

UP _
C L ---- CONT. mod- 8

CY

356 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin P14.

P ro b le m a 15.- Disee un sistema digital (ver figura), que opere como sigue. Sincronizado
con C kp recibe por X s un pulso de un ciclo de duracin y, a continuacin, 8 bits de datos en
serie p o r una linea Dn.

www.FreeLibros.me

DISEO DE UNIDADES DE CONTROL

357

El sistema, de forma sincronizada con Ck2, en prim er lugar debe generar por X Q un pul
so de un ciclo de duracin y, seguidamente, retransmitir por Dout los 8 bits de datos recibidos.

Xo
Dout

Solucin P15.- Componentes de la unidad de datos:


D in

R
SR

SR R
00
0 1
10
11

REG[8]

Ck

d o u t

REG

HI
REG0
HI
REG0
t

REG
REG
SHR (REG, Din)
SHR (REG, Din)

Dout

INC
CLEAR

CONT mod. 8

CY

INC CLEAR

CY =

CONT <r-

x 1
10
00

1 sii
[CONT]
= 11..1

0
CONT + 1
CONT

Ck

Componentes comunes a la unidad de datos y a la unidad de control:


Un biestable SR asincrono 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

www.FreeLibros.me

358

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Las seales S y R sern activadas por el controlador.


La carta ASM:

El controlador:

www.FreeLibros.me

Captulo 13
MISCELNEA

P ro b le m a 1 .- Para e l dispositivo de memoria que se muestra a continuacin:


a) Obtenga su tabla de excitacin.
b) R azone si es posible impiem entar cualquier mquina de estados utilizando este tipo
de dispositivo como elemento de memoria.
c) Con dos de estos elementos de memoria y las puertas necesarias, realice un circuito
que implemente la tabla de estados. Elija una asignacin de estados adecuada, sin conside
raciones de costes.

X
y
0
i

Q
0
q

Elemento de memoria y su
tabla de comportamiento

A
B
C
D

1
0
B
B
C A, 1
D
B
C B,1
NS, Z

Tabla de estados

P ro b le m a 2 .- En una prctica de laboratorio se pretende montar el circuito siguiente:

Sin embargo el laboratorio es un desastre.


a) E l da que va el grupo M resulta que no hay multiplexores, con lo nico que podemos

359
www.FreeLibros.me

360

PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES

contar es con una puerta N A N D de ocho entradas adem s del decodificador previsto. Obten
ga e l circuito equivalente a l dado con el m aterial disponible.
b)
E l da que va el grupo P ya disponemos de los multiplexores necesarios, pero ahora
han desaparecido los decodificadores. Obtenga un circuito equivalente a l 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 = M U X si E -1

P ro b le m a 3 .- Se pretende realizar un dispositivo como el mostrado en la figura: :

La entrada OLA pone a cero el dispositivo de forma asincrona. 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 1 a partir del final del
segundo pulso recibido p o r X y activar Z 2 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 (C C en la figura) utilizando exclusivamente puertas
N A N D y suponiendo variables en doble ral.

P ro b le m a 4 .- Considere la palabra 10100110. Interprete, si es posible, la informacin de esta


palabra segn sea: nmero binario, representacin signo-magnitud, representacin comple
mento a 1, representacin complemento a 2, cdigo ASC II, cdigo A S C II con paridad par, c
digo A S C II con paridad im par o cdigo BCD.

P ro b le m a 5 .- Se desea disear una calculadora que realice las siguientes operaciones:

<

1. A
2A + B
2. A < A - B

<

3. B
2 A 2B
4. B < r - A - 2B.

www.FreeLibros.me

MISCELNEA

361

Para ello se dispone de la unidad de datos de la figura en la que todas las salidas de
los registros son condicionales. S e pide:
a) Especificar com pletamente la unidad de datos.
b) Disear la unidad de control correspondiente.

"n"

Problema 6.- En el circuito de la figura hay, entre otros, un sum ador paralelo de
bits y un
bloque T R A N S FIE R E /C O M P L E M E N T A B (representado p o r n XO R ). Describa funcional
m ente el circuito. (Esto es, represente formalmente su operacin y explquela verbalmente).

Problema 7.- Un sistema digital de 4 entradas recibe sincronizado con una seal de reloj,
caracteres de 4 bits. E l sistema genera z = 1, durante un ciclo de reloj, tras recibir cuatro
caracteres seguidos idnticos.
Cuntos elementos (bits) de memoria deber tener, el sistem a? 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 denonvna autocomplementable si
el complemento a 9 de cada dgito D = d ^ ^ i ^ o es C a9(D ) = d3 d2 d id 0. E l cdigo B C D natural
es un ejemplo de cdigo decim al pesado pero no autocomplementable. E l cdigo exceso-3
es un ejemplo de cdigo decimal no pesado pero es autocomplementable. Muestre que el
siguiente cdigo es am bas 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) E l circuito de la figura contiene una puerta de 5 entradas que puede ser una NAND5,
una N O R 5 o una X N O R 5. C ul es el test ms simple que se podra aplicar para averiguara
qu puerta corresponde?

c) Sea la funcin z (x 1t x2, ..., x j que se define como:


z (x h x2, ..., x j = 1 si y slo si x x para algn valor de (i, j).

www.FreeLibros.me

362

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

S i consideramos esta funcin como un operador de n variables, podramos decir que


es funcionalmente completo?
- D una expresin algebraica para z.

P ro b le m a 9 .- Sean A = A 4 A 3 A 2 A 1A 0 y B=B 4 B 3 B2 B 1B 0 dos nmeros binarios que nunca pue


den representar el valor -0". H ay dos seales S i y S0, que indican el tipo de representacin
numrica, de acuerdo con el siguiente cdigo.
S-iS0= 0 0 A y B nmeros sin signo
A y B nmeros en signo-magnitud
S iS q = 1 0 A y B nmeros en C a2
5 ^ 0 = 1 1 A y B nmeros en C a l
Disee un com parador (A>B, A=B, A<B) utilizando un com parador de magnitudes de
4 bits y los M U X 4:1 que se necesiten.

SfSo=07

P ro b le m a 10.- La siguiente figura muestra la unidad de procesado de datos de un micropro


cesador con bus de datos de 8 bits (D 7 - D 0) y bus de direcciones de 16 bits (A 15 - A 0).

AB[16] (a Memoria)

Como puede observarse, el bus interno de comunicacin es de 8 bits y dispone de los


siguientes registros:
- M A R (Mem ory Address Register): de 16 bits, est formado p o r la concatenacin de
dos registros de 8 bits: M A R H y MARL.

www.FreeLibros.me

MISCELNEA

363

M D R (M em ory Data Register): de 8 bits, su finalidad es servir como registro interme


dio entre e l procesador y la memoria externa. Todo dato que entre o salga del procesador de
ber s er alm acenado previamente en M DR .
- IR (Instruction Register): es de 8 bits.
- P C (Program Counter): es de 16 bits y est formado por la concatenacin de dos
registros de 8 bits: P C H y PCL.
- A C (Acumulador): es de 8 bits.
- R T (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 a l ciclo de F E T C H y cules a l de EX EC U TE:
LDA $B 043
Nota: C ada instruccin ocupa 3 palabras de 8 bits consecutivas de la memoria. En la primera
aparece e l 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).

P ro b le m a 11.- Una puerta umbral (ver figura 1) activa su salida, Z = 1, si el valor de sus
entradas tomadas como nmero binario A ( 10 = (n. 1t
a 0) (2 es m ayor o igual a l umbral

...,a7,

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, M U X de 4 canales.

P ro b le m a 12.- En e l diseo de la funcin: f =

f l (4, 5, 6 , 7, 8 , 9) d ( O, 2, 13, 15)

se ha

dado como solucin el circuito de la figura. Las variables estn en nico ral.
a) Determine, si los hay, todos los errores de la solucin y corrjalos.
b) Para el circuito de la figura, dibuje la forma de onda de salida si b es una seal
peridica de frecuencia 2 0 M hz y a c d = 0 1 1 se mantienen constantes, suponiendo que todas
las puertas poseen un tiempo de retraso de 5ns.

www.FreeLibros.me

364

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 13.- Obtenga la carta A S M de un circuito secuencial sncrono con una entrada x.
La nica salida, z, es 0 a menos que la entrada x haya perm anecido 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 e l 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.

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

A=b d
B= ?
C=bcd
D=?
E=?
F=?

0
X
X

8
X

10
X

X
X

15
X
X

Cl

c2

X
X
X

Problema 15.- Un perro puede estar tranquilo, irritado, asustado o Irritado y asustado
simultneamente, con lo cual muerde. S i le damos un hueso se queda tranquilo. Si le

www.FreeLibros.me

MISCELNEA

365

quitamos uno de sus huesos se pone irritado, y si ya estaba asustado, nos morder. Si le
am enazam os 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
m s prximo a i nmero A. H aga un diseo con subsistemas combinacionales. Suponga que
A*B,A *C yC *B .

Problema 17.- Considere e l circuito de la figura. Inicialmente los biestables estn en el esta
do O. La operacin del circuito em pieza con un pulso de "Start" aplicado a las entradas de
P R E S E T de los biestables X e Y. Determ ine las secuencias o las formas de onda en A, B, C,
X, Y, A, Z y W p a r a 2 0 ciclos de reloj despus del comienzo de la operacin.

Problema 18.- Para un sistema con 16 lneas de direccin se necesitan 4 0 K de memoria de


jando libre e l resto. Se dispone de una_RAM de 3 2K y otra de 8 K, am bas con seal de selec
cin de chip CS, de lectura/escritura R A N 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) Determ ine qu palabras de memoria se corresponden con las direcciones lgicas si
guientes: $FO CA , $4342, $9CAD.
c) Cul es la direccin lgica que hay que poner para acceder a la palabra $7531 de
la R A M de 32K?. C ul sera para la $ 0 2 4 6 de la R A M de 8 K?.

www.FreeLibros.me

366

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

SOLUCIONES A LOS PROBLEMAS PROPUESTOS


Solucin P l.
a) Directamente de la tabla de estados del biestable se obtiene su tabla de excitacin:
q->Q
o-o

0
1

0-+1

La transicin 1 > 0 se puede conseguir


con cualquier valor de y, 0 1.

d
imposible

1-40
i- i

b) Para una mquina de estados genrica, siempre habr transiciones de alguna


variable de estado desde 1 hacia 1. Esta transicin no puede ser llevada a cabo por el
biestable y, al menos directamente. En consecuencia, en general no hay garantas de poder
implementar cualquier mquina con este tipo de biestable.
c) De acuerdo con el apartado b), para realizar la mquina del enunciado debemos
encontrar una asignacin para la que no ocurran transiciones de 1 a 1 .
Una asignacin vlida se puede encontrar bien razonando adecuadamente, bien por el
mtodo de prueba y error. La opcin razonada es como sigue:
El grafo de transicin de estados, sin tener en cuenta ni el valor de X ni el de Z, es:

El estado B es el que ms transiciones recibe (tres). Teniendo en cuenta que en el ele


mento de memoria el problema es la transicin q: 1 1 , le asignaremos el cdigo qjq 2 = 0 0
(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: q ^ 2 =11. Por ltimo, como C y D son prximos estados uno del otro, le
asignamos cdigos complementados, por ejemplo C: q ^ 2 = 01 y D: q ^ = 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.
qi q 2 \
B=0 0
C=0 1
A=1 1
D=1 0

0
0 1,0
0 0,0
0 0,0
0 1,0

1
1 1,1
1 0,0
0 0,0
0 0,1

Q
1Q
2

Tabla de transicin/salida

\x

qi q 2 \
00
01
11
10

0
01

0d
dd
d1

1
11
1d
dd
dO

yiY2

Tabla de excitacin

www.FreeLibros.me

y \=x
y 2 = x<}\

Z = Xq~2
Ecuaciones de excitacin
y salida

MISCELNEA

367

El circuito final queda:

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

3
2 l

2
1
0

4
5

d2
a,d4
ds

0
1
2
3

LL1 ~

DEC3:8 7
Segn la ecuacin de salida del multiplexor tenemos:
F = d 0 ( d 2 -sj-s0 + d 3 -sr s0 + d4 -S]-s0 + d 5 S]-s0 ).
Cada una de esas seales son salidas del decodificador, por tanto:
d0 = x + y + z d 2 = x + y + z
d3 = x + y + z
d4 = x + y + z
d5 = x + y + z S ] = x + y + z
s0 = x + y + z
Sustituyendo en la expresin anterior para F:
F = n ( 0 , 5 ) = 1 ( 1 ,2 , 3 , 4 , 6 ).
a)
Implementaremos esa misma funcin haciendo uso del decodificador anterior y una
puerta NAND de ocho entradas. Dado que por las salidas del decodificador tenemos las expre
siones de los maxtrminos de tres variables (las que actan de entrada al decodificador), basta
elegir aquellas salidas del decodificador correspondientes a los mintrminos de F. As, al usar
las como entradas de la puerta NAND, a la salida de sta obtenemos la funcin deseada.

z ----

0 *
1

X ---y

S|

1
1
0

3
4

/ir
3----------

r* ~

f=

DEC3:8 7
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.
3----

1
1

www.FreeLibros.me

368

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

xy
\
z \
0

00

0 1

10

11

Residuos
deF:

Xz
00

\
V \
0

1
y

Residuos
de F:

10

1 1

01

00

x
0

0 1

10

11

s
y

de F:

De las tres disposiciones de variables anteriores, slo la segunda permite resolver


nuestro problema. Con ello, el diseo final del circuito sera:
1

0
!
I
=23 1 0 /

Solucin P3.- Para contar los pulsos recibidos, como la duracin de estos es variable, dos flan
cos consecutivos en la entrada (subida y bajada) representan un pulso. Cada pulso, pues, nece
sita dos estados: uno que reconoce el flanco de subida en X y otro, el de bajada. El diagrama
de estados para la mquina ser:

donde el estado 0 es el de ausencia de pulso; el estado 1 se alcanza cuando X = 1 (comien


zo 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
0 0 0 0 , 0 0 0 1 , 0 0 1 0 , ... 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:

Entonces, las ecuaciones de excitacin del contador (UP) y de salida (Z, Z 2 ) se obtie
nen mediante el siguiente mapa de Kamaugh que representa la tabla de excitacin-salida:

www.FreeLibros.me

M ISCELNEA

q 3 q2
9 i qo \ ooo

001

00

000

010

01

100

110

11

110

110

10

000

010

011

010

110

010

111

011

011

111

101

369

100

110

100

010

000

010

000

110

100

UP Z j Z 2

Las expresiones de las que se obtiene el circuito son:


UP

X q Q + X

Qq

Zj =

X q^ q Q + q 2 + q ^

Z2 =

q ^ q ^ + X q ^

Solucin P4.
Como nmero binario: 10100110 = 166(jo
Como signo-magnitud: 10100110 = - (0100110) = - 38(]q
Como complemento a 1: 10100110 = - (01011001) = - 89( jq
Como complemento a 2: 10100110 = - (01011010) = - 90(jg
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 im
plicando 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, RB) o en BD (seales RAD, RBD).
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:

www.FreeLibros.me

370

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

(RT)

(BD)

Para obtener los valores 2A y 2B podran utilizarse desplazamientos a la izquierda.


Aqu, sin embargo, se realizarn mediante sumas sucesivas:
2A + B: se almacena A en RT y se suma RT dos veces.
A - 2B: se almacena B en RT y se resta RT dos veces.
2A + 2B: adems de hacer lo mismo que 2A + B, se almacena
oportunamente B en RT y se vuelve a sumar.
Con ello, basta que los registros posean seales de lectura y escritura, permitiendo que
ambas se activen simultneamente (excepto en A y B para lectura sobre BD). A y B son iguales
entre s y RT y AC, tambin.
RA, .
RA-

Wa -

BI
RA, RA d W a
000
00 1
0 10
100
10 1
1 10
- 11

A<
A
BD
A
A
BD
A
proh.

BI =
HI
HI
HI
[A]
[A]
[A]
proh.

BD
BD =
HI
entrada
[A]
HI
entrada
[A]
prohibida

www.FreeLibros.me

r ac

00
01
10
11

ac

AC<
AC
in
AC
in

out HI
HI
[AC]
[AC]

MISCELNEA

371

El desarrollo de cada macrooperacin y su codificacin es:


cdigo
OP.

x,x0= oo

X]X0 = 01

X,X0= 10

A < 2A + B

A< A -B

B < 2A + 2B

X 1X0=11
B < A - 2B

pop 1

RT < A

RT < B

RT < A

RT < B

pop 2

AC < B + RT

AC < B + RT

pop 3 AC i AC + RT AC < A - RT AC <AC + RT, RT< B AC < A - RT


AC < AC - RT
pop 4
A< AC
AC < AC + RT
pop 5
B < AC
b)
La carta ASM, sealando en ella tanto las microoperaciones como las seales a acti
var por el controlador, queda como sigue:

www.FreeLibros.me

372

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

www.FreeLibros.me

MISCELNEA

373

Obteniendo el controlador directamente de la carta ASM:

Solucin P 6 .- Si X2 = 0, tenemos que, independientemente de Xj, se realizar la operacin


F = A+B si X3 = 0, o F = A+B+l si X3 = 1, ya que el canal seleccionado del multiplexor es el
0 , y ste controla la entrada de acarreo del sumador.
Si X2 = 1 y xj = 1, independientemente de X3 , por la entrada b del sumador tenemos el
complemento de B y la entrada de acarreo es 1. Por tanto, la salida F = A+B+l, esto es F = A-B
en Ca2.
Si X = 1 y xj = 0, independientemente de X , la entrada de acarreo se encuentra a 0, y
el circuito complementador deja pasar, tal cual, el dato B. Por tanto la operacin de salida es
F = A+B.
En resumen, si X2 = 1 se trata de un sumador/restador segn el valor de x (0/1,
respectivamente) y, si X2 = 0 , hace la suma con X3 como acarreo de entrada.
2

x, x2 x3
0 0
0 1
0 1
1 1

F
A+B
A+B+l
A+B
A+B+l

www.FreeLibros.me

374

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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.

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.

Ej

E2

E3

Cuando el contenido de los 3 registros y la entrada coinciden, las salidas Ej, E 2 y E 3


toman simultneamente el valor 1. La salida z la podemos construir mediante la operacin
AND de las tres salidas anteriores:
z = E 1 E2 ' E3
Solucin P 8 .
a)
Los pesos son: d 3 4, d 2 3, d 1, dg > 1. (Se obtiene de forma inmediata: do
de cdigo del 1; d 2 del 3; d 3 del 4; y dj de, por ejemplo, el 2).

www.FreeLibros.me

MISCELNEA

CDIGO
0000
0001
0011
0100
1000
0111
1011
1100
1110
1111

375

VALOR DECIMAL
0 = 0x4 + 0x3 + 0x1 + 0x1
1 = 0x4 + 0x3 + 0x1 + lxl
2 = 0x4 + 0x3 + lxl + lxl
3 = 0x4 + 1x3 + 0x1 + 0x1
4 = 1x4 + 0x3 + 0x1 + 0x1
5 = 0x4 + 1 x 3 + 1 x 1 + 1x1
6 = 1x4 + 0x3 + lxl + lxl
7 = 1x4 + 1x3 + 0x1 + 0x1
8= 1x4+ 1x3+ lx l +0x1
9 = 1x4 + 1x3 + lxl + lxl

Adems, el cdigo es autocomplementable.:


dgito
0
1
2
3
4
5
6
7
8
9

d3d2d 1d0
0000
0001
0011
0100
1000
0111
1011
1100
1110
1111

Ca9
9
8
7
6
5
4
3
2
1
0

d3d2d[d0
1111
1110
1100
1011
0111
1000
0100
0011
0001
0000

b) La funcin XNOR(a, b, c, d, e) toma los siguientes valores:


- 0 si el nmero de entradas a 1 es impar.
- 1 si el nmero de entradas a 1 es par.
Es suficiente con dos combinaciones de entrada para deducir qu tipo de puerta es:
SOLUCIN 1:
abcde
11000
11100

NAND
1
1

SOLUCIN 2 :
OR
0
0

XNOR
1
0

abcde
11111
0 1111

www.FreeLibros.me

NAND
0
1

OR
0
0

XNOR
1
0

376

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

c)
S, es funcionalmente completo porque se puede implementar la funcin OR
(NOT-OR) que lo es.
NOT (a) = a = z(a, 1, 1, ...,1);
OR(a, b) = a + b = z(a, b, 0, 0,
Expresiones algebraicas de la funcin z pueden ser las siguientes:
z = (X]\2 ) + (xjx3) + (xjX4 ) +...........+ (xXj) + ...
z = (x,+x2+.......+xn)(x 1 +x2+
+xn)
Solucin P9.- En todas las representaciones numricas que se nombran en el enunciado, salvo
la de nmeros sin signo, el bit de mayor peso representa el signo del nmero. Este bit de signo
permite hacer una comparacin rpida entre dos nmeros, ya que los positivos son mayores
que los negativos. Esto, en principio, es vlido si restringimos el uso del nmero - 0, que, exis
te en notaciones como Cal o S-M. Si comparamos el + 0 con el - 0, el resultado no debe dar
como mayor al primero, puesto que los dos nmeros representan la misma cantidad.
Si comparamos dos nmeros positivos o dos nmeros negativos, tenemos que comparar
las magnitudes de ambos, dando como mayor, en el primer caso, al de mayor magnitud y en el
segundo caso, al de menor magnitud.
En resumen, utilizaremos el comparador de magnitudes para los 4 bits menos
significativos de los nmeros A y B, y nos serviremos de los bits ms significativos para
activar las salidas en caso de nmeros de distinto signo.
Llamemos g, e y / a las salidas del comparador de las magnitudes A 3 . 0 y B3_0:
g

v3-0

e
/

B3-0

Sean G, E y L las seales que comparan los nmeros con signo A4 . 0 y B^q. Podemos
obtener, en funcin de Sj, Sq, A 4 y B 4 la siguiente tabla:

AB
4

s .s iX
00
01
10
11

00

ge /
ge/
gel
g e/

01

10

001

100

100

001

100

001

100

001

11

ge/
le g
ge /
gel

GEL

Para nmeros sin signo, S j S q = 00, tenemos las siguientes posibilidades:


a) A 4 B 4 = 00 y A 4 B 4 = 1 1 el resultado de la comparacin depende de los 4 bits menos
significativos, esto es, GEL = g el.
b) A 4 B 4 = 0 1 , el nmero B es mayor que el A, por tanto L = 1 .
c) A 4 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 4 B 4 = 00, los dos nmeros tienen el mismo signo y, por tanto, el resultado de la

www.FreeLibros.me

MISCELNEA

377

comparacin depende de la magnitud, de forma que el que tenga mayor magnitud, ser el ms
grande (GEL = ge/).
b) A 4 B 4 = 01, el nmero A es positivo y el B, negativo, el mayor es el primero, G = 1.
c) A 4 B 4 = 10, el mayor es el nmero B, por ser positivo, L = 1.
d) A 4 B 4 = 11, los dos nmeros son negativos y, por tanto, el mayor ser el que tenga
menor magnitud, GEL = leg.
Para nmeros en notacin C al, tenemos las siguientes posibilidades.
a) A 4 B 4 = 00, los dos nmeros son positivos: por tanto, el mayor de los dos ser el que
tenga mayor magnitud, GEL = ge/.
b) A 4 B 4 = 01, el nmero A es mayor por ser positivo, G = 1.
c) A4 B4 = 10, el nmero B es el mayor por ser positivo, L = 1.
d) A 4 B 4 = 11, los dos nmeros son negativos. Elay 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.
-

6 : 1001

5 : 1010

1 : 1110

4 : 1011

0 : 1111

7 : 1000

3 : 1100
2 : 1101

Apartando el bit de signo, las magnitudes de los bits restantes son tanto mayores cuando
el nmero es mayor. Por tanto, las salidas GEL = ge/.
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:
0
1

0
1
2

3 10
0
1
2
3 10
0
1
2
3 1 0.

'3-0

B3-0

www.FreeLibros.me

378

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solucin PIO.- 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 i PCH
Almacena parte H de $K.
2. MARL < - PCL

Almacena parte L de $K.

3. MDR

Carga LDA en MDR y pone PC a


K+l.
Carga LDA en el registro IR.

4. IR

MEMORIA, PC < - PC + 1
MDR

< -

5. MARH < - PCH


6

Similar a 1, 2 y 3, ahora para traer


B0 a MDR y poner PC a K+2.

. MARL 4 - PCL

7. MDR < - MEMORIA, PC < PC + 1


8

. RT

MDR

9. MARH

PCH

10. MARL

PCL

11. MDR

MEMORIA, PC

Almacena B0 en el registro RT.

< r-

PC + 1

Similar a 1, 2 y 3, ahora para traer


43 a MDR y dejar a PC apuntando
a la siguiente instruccin K+3.

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 < - MEMORIA($B043)
Para ello:
12. MARH <r- RT '
13. MARL <E- MDR
14. MDR

<r-

MEMORIA

15. AC < - MDR

Pone la direccin de la palabra en el registro MAR.


El contenido de esa palabra se carga en MDR.
Desde MDR se transfiere al acumulador.

Con ello se termina la ejecucin. Ahora volvera a iniciarse el siguiente ciclo de fetch.

www.FreeLibros.me

MISCELNEA

379

Solucin P ll.
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:
>
- U

Comparador
de "n" bits
<

-------

b)
Para analizar el circuito de la figura 2, construimos la tabla de verdad para cada una
de las salidas de las puertas umbrales: Zq es la de la puerta con umbral en 2 , Z] la del umbral
en 1, Z 3 en 3 y F es la de la puerta con umbral en 5 y cuyas entradas son Z2 , Zj y Z 3 . Partiendo
de estos datos se obtienen los siguientes resultados:
a

0
0
1
1

0
1
0
1

Z2

0
0
1
1

0
0
1
1

0
1
0
1

Z,

0
0
1
1

0
1
1
1

0
1
0
1

z3

Z2

0
0
0
1

0
0
0
0
1
1
1

Z,

Z3

0
0
1
1
0
0
1

0
1
0
1
0
1
0
1

0
0
0
0
0
1
1
1

De estas tablas se puede obtener la funcin F(a, b, c, d, e). Para ello, dada una combina
cin de las cinco variables, se evala cada una de las funciones Z 2 , Zj y Z 3 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:
00
01
10
11

000
0
0
0
0

001
0
0
0
0

010
0
0
1
1

011
0
0
1
1

100
0
0
1
1

101
0
0
1
1

110
0
0
1
1

111
0
0
1
1

050
II
0

cde

Ro=0
r 2= r 3
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:

www.FreeLibros.me

380

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Residu os
de R 2:

00

01

10

11

0
0

1
1

1
1

1
1

Otra solucin de menor coste es:


0 ------- 0
0 ------- i
d ----- 2
1

3 10

ac
Solucin P12.
a) En los mapas de K am augh se ven las diferencias entre la solucin y la funcin:
FUNCION
ESPECIFICADA

CIRCUITO

ab
00

01

11

10

00

01

11

10

ab
cd\

00

01

11

10

00

01

11

10

d
d

0
1
1

z
f
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 + a b. Por tanto, para corregir los errores, en la puer
ta 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.

www.FreeLibros.me

MISCELNEA

381

b) Llamando a las seales internas del circuito como se muestra en la figura:


a

El diagrama de ondas queda de la siguiente manera:


50 ns

<-

M=L
5
N

5 s

5 ns
5ns

5 ns

5 ns

5 ns

Esto es, z presenta un azar (esttico) de 5ns de duracin, que aparece lOns 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 enel que seha detectado el primer 1.
Estado C: estado enel que seha detectado 11.
Estado D: estado en el que se ha detectado tres o ms 1. Si x = 1 se activa z y se per
manece en D; si x = 0 se pasa a B.
Estado E: estado en el que seha detectado el primer 0.
Estado F: estado en el que seha detectado 00.

www.FreeLibros.me

382 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Con lo que la carta ASM queda:

La forma de onda y la secuencia de estados son:


Ck
X

z
S

F; A

Solucin P14.- La resolucin del problema puede efectuarse utilizando una representacin de
la informacin que aporta la tabla del enunciado sobre un mapa de Kam augh. 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 (cj y c2). Con los
mintrminos conocidos el mapa queda como sigue:

www.FreeLibros.me

MISCELNEA

383

ab
00

00

01

11

10

01
11

10

Implicante A = b d: Vale 1 cuando b = 0 y d = 0. Son las posiciones 0, 2, 8 y 10 sobre


un mapa de Kamaugh. Como 0, 8 y 10 son mintrminos de f y esta implicante no cubre ni
cj ni a c2, en la posicin 2 del mapa hay una inespecificacin, d.
La implicante prima B cubre al mintrmino 0 y a cj. Adems, B es la nica implicante
que cubre al mintrmino c, de forma que no puede agruparse con ningn otro mintrmino dis
tinto del 0. Por tanto, el mintrmino Cj 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 c2. 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 c2, no pueden ser ni el 11 ni el 14 (ambos adyacentes del 10). Por
tanto, c 2 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:
ab
c d \^

00

00

01

Cl?

11
10

01

11

Cl? d?

10
1

d?

Resta por determinar si el mintrmino c es el 1 el 4 y si hay inespecificacin en el 9


el 12. Existen dos soluciones posibles.
La primera es considerando que Cj = 1. En este caso, la inespecificacin est situada en
la celda 12. El mapa quedara de la siguiente manera:

www.FreeLibros.me

384

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

ab

cX

00
01

00

-r
1

11
10

11

01

B = (0,1) = a b c
D = (13,15) = a b d
E = (8,12) = a c d
F = (12,13) = a b c

10

HX )

VVJ

f= 1(0,1,7,8,10,13,15)+ d(2,12)
r ~

La segunda es considerando que cj = 4. En este caso, la inespecificacin est situada en


la celda 9. El mapa quedara de la siguiente manera:
c d \.

00

01

00

(U

01

11

10

2)

(1
0

1)
lo
0

B = (0,4) = a c d
D = (13,15) = ab d

10

11

E=(8,9) = a b c
F = (9,13) = a c d

M v d'J
0

H'

f = 1(0,4,7,8,10,13,15)+ d(2,9)

b) Para la primera solucin, las expresiones ptimas en forma sp y ps son:


/
= b d + abe + bcd + abd
f ps = (b + d ) (a + b + c) (a + b + c ) (a + b + d)
Como las expresiones mnimas sp y ps tienen el mismo coste, ambas son ptimas.
Solucin P15.- El comportamiento del perro puede emularse mediante una mquina secuencial, de la siguiente forma:
- Estados de entrada.
Son las acciones que se pueden hacer al perro. Existen 4 posibles estados de entrada:
Iq: Darle un hueso.
I]-. Quitarle un hueso.
I2: Amenazarle.
I3 : Nada.
- Estados de salida.
Son las posibles acciones del perro:
O0: No muerde.
Ot: Muerde.

www.FreeLibros.me

MISCELNEA

385

- Estados de la mquina.
Son los estados del perro:
T: Tranquilo.
I: Irritado.
A: Asustado.
IA: Irritado y asustado.
Como el perro muerde (Oj) 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:
Entradas
lo
T
T
T
T

T
I
A
IA

I
I
IA
IA

T
I
A
IA

A
IA
A
IA

O0
O0
o0
0,

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

Asignaciones de coste distinto

T
I
A
IA

II

III

0 0

00

00

01

01

11

11

10

10

10

11

01

Los cuatro estados de entrada se codifican mediante dos entradas de forma que se tiene
XjXq: 00 (Iq), 01 (I]), 1 0 (I2), 11 (I3 ). Entonces, las tablas de transicin/salida:
ASIGNACIN I

ASIGNACIN II

ASIGNACIN III

x^X o

\X ,X 0

qiV v
T=00

00

01

11

10

00

01

11

10

00

01

00

11

OiOcN
T=00

00

01

00

10

1=01

00

01

01

10

1=01

00

01

01

11

ch (lo \
T=00
IA=01

00

10

11

11

00

11

11

11

1=11

00

10

10

10

00

11

10

10

Q lQ o=D i D o

www.FreeLibros.me

Q 1Qo= D 1D 0

>I

IA=11
>11^

A=ll
IA=10

\X iX o
00

01

11

10

00

11

00

10

00

01

01

01

00

11

11

01

00

01

10

10

Q jQ q ^D jD q

386

PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES

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 I:
Dl V l i + X lX

Dq = XjX0qj + X ]X0q0 + X 1q1q0 + X1X0<2'1q0


z = 91%
Para la asignacin II:
D 1 = X0<ll + X 1X0
D 0 = X jX q + X jq 0
z = 91%
Para la asignacin III
D\

= Xj X Q ^ 0 + Xj X Q q l + X Q q x q Q +

X x X Q - q x q Q

D q = X jX q + X jq 0

z =

'%

La solucin de menor coste es la segunda (II).

Solucin P16.-Supongamos que Z = 1 indica que el nmero B es ms cercano que C, al


nmero A; y Z = 0, indica que C est ms cerca.
La salida Z la podemos obtener a partir de un comparador de magnitudes, cuyas entradas
sean las distancias de los nmeros B y C, al A.
IA-BI -/
IA-CI

www.FreeLibros.me

MISCELNEA

387

Ahora debemos obtener el circuito que realice las operaciones IA-BI y IA-C1. La
definicin del valor absoluto de A-B es la siguiente:
IA-BI =

A - B si A>B
B - A si B>A

De interpretar la expresin anterior podemos deducir los elementos que necesitaremos


para el diseo del circuito. Por un lado un restador que, en funcin de la comparacin de los
nmeros A y B, realice A-B o B-A; comparadores de n bits y multiplexores de buses para la
seleccin del substraendo y el minuendo.
IA-BI

Si el nmero A es mayor que el B, entonces IA-BI = A-B. En el circuito anterior, si se


cumple esta condicin, se escoge el canal 1 de los multiplexores, por lo que el restador de n bits
realiza la operacin A-B.
Si el nmero A es menor que el B, IA-BI= B-A. En el circuito anterior se escogen los
canales 0 de los multiplexores y el restador calcula B-A.
Repitiendo esta estructura para IA-CI, nos queda el circuito siguiente:
B
A
A
B
X

x>y
x -y
x<y
c

A
A
C
X
y

" n " 0

1s

;n

M inuendo

RESTADOR

Sustraendo

1s

0~\
1s / n
\
*s /

RESTADOR
Sustraendo

IA-BI

//
IA-CI

x>y
x -y
x<y

Solucin P17.- Cuando Start = 0, los biestables D se ponen a 1 de forma asincrona. Los biesta
bles D, tras un pulso Start, operarn con cada flanco negativo de W segn la secuencia:

www.FreeLibros.me

388

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

puesto que Dx = Y y Dy = X.
Si X + Y = 1, los tres biestables JK tienen como entradas JK = 11 y operancomo un
contador de rizado (A es el menos significativo).
Si X + Y = 0, el biestable A tiene Ja K a = 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 de0 - - 0 a 11.
De todo lo anterior se obtiene la siguiente secuencia de seales:
Start u

CLK
A
B
C
X J
Y J
Z J
w

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:
RW
0 0
0 1
10
1 1

Inhibicin
Escritura
Lectura
Prohibido

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:

www.FreeLibros.me

MISCELNEA

RW
0

1 0
1

C Si
1

*
*
-

cs2
1

*
*
-

R/W,
-

r/w 2
-

389

*: segn el mapa de diseo que haremos


a continuacin.

De dicha tabla puede deducirse la siguiente relacin:


R/W, = R/W 2 = 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 8 K a continuacin de sta. As
ocupamos los 40K que nos pide el problema.
a 15

a 14

o i 1 0 0
1 0 1
1
1 0
1
1 1

a I3

M,
m2
Vaco

Una posible solucin para el circuito de decodificacin es el que se muestra a


continuacin:

La puerta OR (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, Aj4, A 13) donde m es la
salida 1 del decodificador 1 :2 .

www.FreeLibros.me

390

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

m.

14a 13-

>1
es,

b)
Analizamos las palabras que se leeran de las memorias si en el bus extemo de datos
colocamos las siguientes direcciones:
A] 5 - A q $F0CA
No hay palabra fsica seleccionada.
A 15 A 14 A 13 111
a 15 = 0
Acceso a M |
l15 A 0 = $4342
Se accede a la palabra $4342 de M[.
A 1 4 - A 0 = $4342
A , 5 - A 0 = $9CAD
Acceso a M2_
A 15 A 14 A 13 =
A 2 A n - A0 = $1CAD Se accede a la palabra $1CAD de
M 2.
c)
Para poder acceder a la direccin $7531de tenemos que poner A j 5 = 0 y as se
leccionar dicha memoria. Para el resto de las lneas de entradas A i 4 - Aq = $7531. Por tanto,
la direccin que se necesita fijar en el bus externo es A j 5 - Aq = $7531.
De forma anloga, para acceder a la palabra $0246 de M 2 tenemos que fijar
A 1 5 A 1 4 A j 3 = 100 y el resto de las lneas tomaran los valores siguientes:
A 1 2 = y A 1 1 - A 0 ~ $246.
Por tanto, uniendo todos los valores de las 16 lneas que componen el bus extemo, la
direccin que necesitamos colocar en dicho bus para acceder a la que nos planteamos es
Ajg - A q $8246.

www.FreeLibros.me

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 suficiente
mente adecuada.
La materia correspondiente al nivel de conmutacin (Captulos 1-10) est suficiente
mente 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 me
jores. 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 adecuadamen
te delimitado el cuerpo de doctrina. De aqu que esta materia se encuentre mucho menos es
tructurada en los libros existentes.
Los fundamentos matemticos (Captulos 1, 2 y, en parte, el 6 ) suelen estar bien presen
tados tanto en los textos ms recientes [Garc92, Haye96, Llor96, Mano91, Nels95, Sand90,
Wake94], como en otros ms clsicos [Cava 8 6 , Givo70, Haye 8 6 ], En cualquiera de ellos pue
den 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, sim
ple 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 [Cava 8 6 ]; y un
buen equilibrio se encuentra en [Haye86/96, Nels95, Wake94]. Adems, para ampliar conoci
mientos 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 (OR)) 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 Kamaugh en todos los textos
mencionados; en [Givo70, Mano91, 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
www.FreeLibros.me

392

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Nels95] y sobre todo [HU193], Los distintos subsistemas combinacionales (Captulo 5) se


desarrollan en [Garc92, Nels95, Sand90, Wake94], En el Captulo 6 se abordan los circuitos
aritmticos, materia que est bien desarrollada en [Garc92, Katz94] y sobre todo en [Nels95,
Wake94].
Los circuitos y subsistemas secuenciales constituyen el siguiente bloque. En relacin al
Captulo 7, los elementos ms bsicos (biestables) estn muy bien tratados en [Haye96,
Katz94, Nels95, Unge89, Wake94]; la descripcin mediante mquinas de estados finitos y el
anlisis de circuitos tanto a nivel de estados como a nivel temporal se desarrollan en [Garc92,
Haye96, Mano91, Nels95, Wake94]. El diseo de circuitos secuenciales sncronos
(Captulo 8 ) est bien presentado en [Katz94, Nels95], los cuales incorporan tcnicas de CAD,
encontrndose los aspectos ligados a la optimizacin del circuito (reduccin de estados,
asignacin, eleccin del biestable) en [Haye96, Llor96, Mano91, Sand90], En cuanto al
Captulo 9, dedicado a los subsistemas secuenciales, estos se explican adecuadamente en
[Katz94, Mano91, Nels95, Wake94], destacando su uso en el diseo en [Almo94], Por ltimo,
el tema de nuestro Captulo 10, memorias semiconductoras, est muy bien presentado en
[Haye 8 6 ], teniendo tambin un adecuado desarrollo en [Garc92, Haye96, Mano91].
Los Captulos 11 y 12 tratan los sistemas digitales a nivel RT. Las principales
cuestiones, abordadas con un enfoque ms o menos genrico, pueden estudiarse en [Gree 8 6 ,
H1193, Katz94, Llor96, Lync93, Mand91, Mano91/91b, Pros87, Taub83, Unge89],
Concretando ms, la descripcin a nivel RT se presenta bien en [Mano91b]; la interconexin
entre registros, en [Katz94]; las cartas ASM, en [Gree 8 6 , Mano91]; un lenguaje de
descripcin, en [H1193]; estrategias de diseo de unidades de control, en [Gree 8 6 , Katz94,
Mand91, Mano91, Taub83]; y un enfoque general especialmente bueno en [Katz94, Lync93],
Adems, se pueden encontrar ejemplos de sistemas digitales especficos en [Pros87, Unge89].
Asimismo, con un enfoque dirigido a los computadores, bien sencillos bien comerciales,
estn [Haye86/96, Llor96, Taub83].
[Almo94] G. Almonacid et al.: Circuitos digitalesprogramablespor el usuario. Univer
sidad de Granada, 1994.
[Cava8 6 ] J.J.F. Cavanagh: Digital Computer arithmetic: Design and implementation.
McGraw-Hill, 1986.
[Garc92] J.E. Garca et al.: Circuitos y sistemas Digitales. Tebar Flores, 1992.
[Givo70] D.B. Givone: Introduction to switching circuit theory. McGraw-Hill, 1970.
[Gree 8 6 ] D. Green: Modem logic design" . Addi son-Wesley, 1986.
[Haye 8 6 ] J.P. Hayes: Diseo de sistemas digitales y microprocesadores. McGraw-Hill,
1986.
[Haye96] J.P. Hayes: Introduccin al Diseo Lgico Digital. Addison-Wesley, 1996.

www.FreeLibros.me

BIBLIOGRAFA

393

[H1193]

F.J. Hill and G.R. Peterson: Computer aided logical design with emphasis on
VLSI. Wiley, 1993.

[Katz94]

R.H. Katz: Contemporary Logic D esign. The Benjamin/Cummings Publishing


Company, 1994.

[Llor96]

A. Lloris y A. Prieto: Diseo Lgico. McGraw-Hill Interamericana, 1996.

[Lync93] M. A. Lynch: Microprogrammed State Machine Design . CRC Press, Inc., 1993.
[Mand91] E. Mandado et. al.: Sistemas electrnicos digitales". Marcombo, 1991.
[Mano91] M.M. Mano: D igital design. Prentice-Hall, 1991.
[Mano91b] M.M. Mano: Ingeniera computacional. Diseo del harware. Prentice-Hall,
1991.
[Nels95]

V.P. Nelson et al.: Digital Logic Circuit Analysis and Design". Prentice Hall,
1995.

[Pros87]

F.P. Prosser and D.E. Winkel: The art of digital design: An introduction to
top - down design. Prentice-Hall, 1987.

[Sand90] R.S. Sandige: Modern digital design". McGraw-Hill, 1990.


[Taub83] H. Taub: Circuitos digitales y microprocesadores. McGraw-Hill, 1983.
[Unge89] S.H. Unger: The essence oflogic circuits. Prentice-Hall, 1989.
[Wake94] J.F. Wakerly: D igital Design: Principies and Practices. Prentice-Hall, 1994.

www.FreeLibros.me

Se trata de un libro de problemas resueltos en el campo


del Diseo Lgico. Ha sido diseado para ensear cmo
se aplican los conceptos y herramientas a casos concre
tos, empleando los conocimientos previos adquiridos por
otras vas y resolver as problemas aplicados al respecto,
potenciando las capacidades de aplicacin de la teora.
El trmino Diseo Lgico alude a materias como los Cir
cuitos y Sistemas Digitales o Teora de la Conmutacin,
donde se incluyen:
Fundamentos matemticos usuales: lgebra de Boole,
representaciones binarias de nmeros y su aritmtica,
codificacin binaria...
Presentacin, anlisis y diseo de circuitos combinacionales y secuenciales, a nivel de conmutacin.
Descripcin y realizacin de sistemas digitales a nivel
de transferencias entre registros (RT), organizando el
sistema de una unidad de procesado de datos y otra
de control.
La metodologa aplicada en el diseo del libro pasa por
la inclusin de dos tipos de ejercicios: aproximadamente,
la mitad de ellos estn resueltos con detalle, sobre los
cuales el lector aprender la metodologa de su resolu
cin, y los restantes son ejercicios propuestos con la solu
cin indicada. Adems se sigue una metodologa bottom-up,
es decir, los problemas se organizan en orden creciente de
dificultad.

9788448109660

www.FreeLibros.me

You might also like