Sei sulla pagina 1di 306

ffd8ffe000104a46494600010201009600960000ffe20c584943435f50524f46494c45 00010100000c484c696e6f021000006d6e74725247422058595a2007ce0002000900 0600310000616373704d53465400000000494543207352474200000000000000000 00000000000f6d6000100000000d32d4850202000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000011 63707274000001500000003364657363000001840000006c77747074000001f00000 0014626b707400000204000000147258595a00000218000000146758595a0000022 c000000146258595a0000024000000014646d6e640000025400000070646d646400 0002c400000088767565640000034c0000008676696577000003d4000000246c756d 69000003f8000000146d6561730000040c0000002474656368000004300000000c72 5452430000043c0000080c675452430000043c0000080c625452430000043c000008 0c7465787400000000436f70797269676874202863292031393938204865776c6574 742d5061636b61726420436f6d70616e790000646573630000000000000012735247 422049454336313936362d322e31000000000000000000000012735247422049454 336313936362d322e31000000000000000000000000000000000000000000000000

000000C-

q7

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Carmen Baena Oliva Manuel Jess Bellido Daz Alberto Jess Molina Cantero Mara del Pilar Parra Fernndez Manuel Valencia Barrero

Departamento de Tecnologa Electrnica Universidad de Sevilla

McGraw-Hill
MADRD BUENOS ARES CARACAS GUATEMALA LSBOA MXCO NUEVA YORK PANAM SAN JUAN SANTAF DE BOGOT SANTAGO SO PAULO AUCKLAND HAMBURGO LONDRES MLN MONTREAL NUEVA DELH PARS SAN FRANCSCOSDNEYSNGAPURST. LOUSTOKOTORONTO

TABLA DE CONTENDOS

PRLOGO 1. REPRESENTACN Y CODFCACN BNARA 19 35 51 1

vi

1LGEBRA Y FUNCONES DE CONMUTACN 2ANLSS DE CRCUTOS COMBNACONALES 3DSEO DE CRCUTOS COMBNACONALES 4SUBSSTEMAS COMBNACONALES 89 141 5CRCUTOS ARTMTCOS 6ANLSS DE CRCUTOS SECUENCALES 7DSEO DE CRCUTOS SECUENCALES197 8SUBSSTEMAS SECUENCALES 229 10 . 11 . 12 .

169

MEMORAS SEMCONDUCTORAS 263 NTRODUCCN A LOS SSTEMAS DGTALES DSEO DE UNDADES DE CONTROL 325

291

13 MSCELNEA 359 BBLOGRAFA 391

PRLOGO

Este ejemplar es un libro de problemas resueltos en el campo del Diseo Lgico . Como tal libro de problemas ha sido concebido con la finalidad de ensear cmo se aplican los conceptos y herramientas a casos concretos . Esto significa que nuestra atencin no se centra en el desarrollo de la doctrina terica, sino en tratar de explicar cmo interpretar enunciados de problemas ms o menos bien especificados y, empleando los conocimientos tericos adquiridos por otras vas, resolver ese problema en particular y no otro . Como se ve, nuestros objetivos primarios son potenciar las capacidades de aplicacin de la teora y la de resolucin prctica de problemas. En cuanto a la disciplina, el trmino Diseo Lgico alude a materias tan bien conocidas como son los Circuitos y Sistemas Digitales o la Teora de Conmutacin . En ella se incluyen: 1) los fundamentos matemticos usuales (lgebra de Boole, representaciones binarias de nmeros y su aritmtica, codificacin binaria) ; 2) la presentacin, anlisis y diseo de circuitos a nivel de conmutacin, tanto combinacionales como secuenciales ; y 3) la descripcin y reali-

zacin de sistemas digitales a nivel de transferencias entre registros (RT), organizando el sistema como una unidad de procesado de datos y otra de control . Aunque claramente fuera del contexto de este libro, las materias fronteras son, en el nivel inferior, el tratamiento elctrico de las puertas lgicas y, en el nivel superior, la arquitectura de computadores, as como los sistemas multiprocesadores . La proliferacin de aplicaciones y el considerable aumento de la complejidad experimentada por los circuitos digitales en los ltimos aos hacen inviable el cubrimiento completo de esta materia . Nuestro propsito ha sido desarrollar un conjunto de problemas que den soporte y fundamenten adecuadamente a todos los circuitos y tcnicas de Diseo Lgico. Nuestro libro est pensado para un primer curso de Diseo Lgico, con aplicacin en diversos estudios universitarios tales como nformtica (fundamentos del hardware) e ngenie-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 problemas, este texto tambin puede servir a profesionales que deseen realizar una puesta al da

vi viii PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 sitea priorien 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.

PRLOGO

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 Karnaugh) 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 NOR. 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 aritmticolgicas). Captulo 7.- Presentacin del biestable tanto a nivel lgico (RS, JK, D y T) como a nivel temporal (sin reloj, disparados por nivel, tipo Master-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 asncronos, incluyendo en stos los que operan mediante entradas asncronas y los circuitos que poseen ms de una seal de reloj .
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 .- ntroduccin 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 .

Captulo 1 REPRESENTACN Y CODFCACN BNARA

Los circuitos digitales operan con dos niveles de seal, la mayora de las veces una tensin baja y otra alta. Desde el punto de vista matemtico decimos que operan con seales binarias y los dos niveles se representan mediante 0 y 1 . Toda la informacin que ha de procesar un sistema digital ha de expresarse mediante combinaciones de esos dos valores . En consecuencia, hay que describir cmo se representan los entes mediante 0 y 1 (codificacin binaria) y, ms especficamente, por ser esencial en el clculo, cmo se representan los nmeros . REPRESENTACN POSCONAL DE MAGNTUDES Un sistema numrico se caracteriza por sus smbolos bsicos; estos son llamados dgitos, cada uno de los cuales representa una determinada cantidad de unidades. A su vez, cada cantidad puede expresarse mediante una secuencia de tales dgitos . En algunos sistemas la posicin ocupada por cada uno de los dgitos dentro de la secuencia est asociada a un valor determinado (peso). Decimos entonces que se trata de un sistema de representacin posicional . Un sistema numrico de base r es un sistema posicional de representacin donde los pesos de los dgitos son potencias de r. As, una magnitud M puede representarse en la base r de la siguiente forma: M = dn-1 dn_2 . . . d1do .d_1 d-2 .. . d_m(r n-1 siendo d; un dgito de dicha base y cumplindose que di e {0, 1, . . ., r1} y M = d . r1 . j -m Para realizar cambios entre distintas bases existen diversos mtodos . En este Captulo se usan fundamentalment e los siguientes : n -1 -Para cambiar de base r a base

10, se aplica la frmula : M = Y,

d.
j= -m

r .

-Para cambiar de base 10 a base r, se utiliza el mtodo de las divisiones sucesivas para obtener la parte entera y el mtodo de las multiplicaciones sucesivas para obtener la parte fraccionaria.

1
2 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

-Para cambiar de una base arbitraria rl a otra r2,se pasa en primer lugar de rl a 10 y despus de 10 a r2 . -Para cambiar entre las bases 2, 8 y 16 (potencias de 2) se utiliza un mtodo de agrupa-cin de bits. REPRESENTACN DE NMEROS CON SGNO 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: A = n-1 an_2 ... al a0. a_ 1a_2 . . . a-m/ lT 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: -A = 1 a 1 an_2 .. . al a0 .a-1 a-2 ... a_T 1

5T

bit de signo magnitud -En la notacin complemento a 1, el nmero negativo es el complemento a 1 del co-rrespondiente nmero positivo : -A= Cal (A) = 1 an_lan_2 . . . al ao.a-1 a-2 .. . a_m -En la notacin complemento a 2, el nmero negativo es el complemento a 2 del co-rrespondiente nmero positivo: -m -A = Ca2(A) = Cal (A) +2 REPRESENTACN 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 1030Kg o la carga del electrn: -1.602 x 10-19C. 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 10 8m/s 0.003 x 1011m/s 3000,n 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 formam xbees la que se escoge. En este Captulo trabajaremos con mantisas

cuyo dgito ms significativo es "no nulo" (notacin normalizada) . Por ejemplo,

REPRESENTACN Y CODFCACN BNARA 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 1011 0.00003 x 1013. 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. CODFCACN BNARA 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 extensin cualquier cdigo binario puede representarse mediante los dgitos de dichas bases . As podemos hablar de cdigo octal y cdigo hexadecimal . cdigocdigo cdigo octal hexadecimalhexadecimal 0 000 0 0000 8 0000 1 001 1 0001 9 0001 2 010 2 0010 A 0010 3 011 3 0011 B 0011 4 100 4 0100 C 0100 5 101 5 0101 D 0101 6 110 6 0110 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 10, aunque el nmero de bits precisado para expresar una cantidad es, en general, mayor. En la siguiente tabla se muestran algunos ejemplos : dgito decimal BCD natural BCD exceso 3 2 de 5 7 segmentos 0 0000 0011 00011 1111110 00110 1101101 3 0011 0110 0101 1000 01100 1011011 6 1110000 8 1000 1011 10100
4 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

1 0001 0100 00101 0110000 01001 1111001 4 0100 0111 0110 1001 10001 0011111 7 1111111 9 1001 1100 11000

2 0010 0101 01010 0110011 5 0111 1010 10010 1110011

Otro cdigo de gran inters es el cdigo Gray (o cdigo reflejado) de n bits. En las siguientes tablas se muestran los casos n = 3 y n= 4. Puede observarse en ellas la particularidad de que las palabras asignadas a dos nmeros consecutivos se diferencian nicamente en 1 bit . Se trata por tanto de un cdigo con distancia unidad . cdigo

Gray( n=3) cdigo cdigo Gray(n


=4)

Gray(n

0 =4) 000

0 0000 8 11001 001 1 0001 9 11012 011 2 0011 10 11113 010 3


0010 11 4 1110 110 4 0110

12

10105
111 5 0111 13 6 1011 101 6 0101 14 7 1001 100 7 0100 15 1000

Como ejemplo de cdigo alfanumrico, en este texto se usa el cdigo ASC . Mediante este cdigo de 7 bits es posible codificar las 26 letras del alfabeto, tanto maysculas como minsculas, los 10 dgitos decimales, caracteres como <, @ , secuencias de control como ESC, NULL, etc. A continuacin se muestran algunos ejemplos : smbolo cdigo ASC smbolo cdigo ASC A 1000001 1 0110001 B 1000010 0111100 a 1100001 1000000 b 1100010 ESC 0011011 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 .

PROBLEMAS RESUELTOS

REPRESENTACN Y CODFCACN BNARA

Problema 1.-Recientemente se ha rescatado una extrasima nave espacial que provena de los confines de la constelacin Ophiocus . Tras mltiples esfuerzos, nuestros cientficos han logrado deducir algunos datos sobre la civilizacin que la construy . En vez de dos brazos, sus criaturas posean uno slo que terminaba en una "mano" con un nmero 8 de

dedos. En un cuaderno que encontraron en la nave haba escrito: "5X2-50X+ 125= 0-4 X t = 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?
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 baseBuna

secuencia de dgitos, dn_1dn_2 ... dldo,repre-

senta a una magnitudMsi se cumple queM

n-1

d.B~. _ -M
Aplicando dicha frmula a los coeficientes de la ecuacin: 5, 50 y 125, obtenemos la siguiente:

5X2-(5 B+0)X+(1 B2+2 B+5)=0


Sustituyendo los valores X 1 = 8 y X2 = 5 en la variable X:

5.82-(5B+0)8+(1B2+2 B+5)=0 5 .52-(5 .8+0)5+(1B2+2B+5)=0


Basta resolver el sistema formado por estas dos ecuaciones para encontrar que el nico valor deBque satisface ambas esB = 13.Por tanto, los extraterrestres de Ophiocus posean 13 dedos en su nico brazo.

Problema 2.-Represente posicionalmente 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 notacin decimal en las operaciones) : 16= . . .+d3 .33+d2.32+d1 .31+1 .30+d_13-1+ . . . con di=0,12. Para obtener los valores de los dgitos d i hay dos mtodos : 1) Comprobar valores de dihasta que la suma sea igual a la magnitud. En nuestro caso: 16=1 .32 +2 .31+1 .30=121(3 2) Mediante divisiones sucesivas para la parte entera y multiplicaciones sucesivas para la parte fraccionaria. En nuestro caso sera:

dodi d2 d3 Con lo que 16 = . . .0121(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. PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Operando de la misma forma para los dems casos obtenemos : 16=2 .71+2 .70=22(7 16 = 2. 8 1+ 0 . 80= 20(8 16 = 116' +0 160= 10(16 En general,

"r

unidades" en base

se representa 10(r

Problema 3.-Represente el 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 ffd8ffe000104a4649460001020101 2c012c0000ffe20c584943435f50524 f46494c4500010100000c484c696e6 f021000006d6e74725247422058595 a2007ce0002000900060031000061 6373704d534654000000004945432 07352474200000000000000000000 00000000f6d6000100000000d32d48 50202000000000000000000000000 00000000000000000000000000000 00000000000000000000000000000 00000000000001163707274000001 50000000336465736300000184000 0006c77747074000001f0000000146 26b70740000020400000014725859 5a00000218000000146758595a000 0022c000000146258595a00000240 00000014646d6e640000025400000 070646d6464000002c40000008876 7565640000034c000000867669657 7000003d4000000246c756d690000 03f8000000146d6561730000040c00 00002474656368000004300000000 c725452430000043c0000080c6754 52430000043c0000080c625452430 000043c0000080c74657874000000 00436f707972696768742028632920 31393938204865776c6574742d506 1636b61726420436f6d70616e79000 06465736300000000000000127352 47422049454336313936362d322e3 10000000000000000000000127352 47422049454336313936362d322e3 10000000000000000000000000000 00000000000000000000000000

11

v
Por tanto: 23(10 = 1011 l(2

5` '

C_2 1 01 v v dodi d2 d3 d4

gualmente 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_ 1 ; la parte fraccionaria es la que se multiplica por la base en el paso siguiente : 0.52 = 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(10 =0.11(2 y 23.75(10 = 10111.1 l(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.756 = 4.5-d_ 1= 4 0.5 .6=3.0-4d_3=3,d_4=0=d_5= ... por tanto, 23.75(10 = 35.436 Para base 8 : 0.758 = 6.0-d_, = 6, d_2 = 0 = d_3= . . . por tanto, 23.75(10= 27.6(8

REPRESENTACN Y CODFCACN BNARA

Para base 16: 0.7516 = 12.0 -+ d_, = 12, d_2= 0 = d_3= .. . por tanto, 23.75(10 = 17.C(16

Problema 4.-Convierta los siguientes nmeros a base 10: a) 100.111010(2;b) 50(8, c) 101.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

n-1 expresin M = E d. r1 y
realizar las operaciones . j= -m a) 100.111010(2= 122+ 1 2-1+ 12-2+ 12-3+ 1 b)50(8=58+0=40(10 c)101 .1(2=1 22+1 20+1 2-1=5.5(10 d) 198F(16= 1 163+ 9162+ 8161+ 15160= 6543(, 0

2-5

= 4.90625(10

Problema 5.-Se cuenta que un rey, encantado con el juego, ofreci al inventor del ajedrez el premio que desease. El inventor slo pidi 1 grano de arroz por la primera casilla del tablero, 2 granos por la segunda, 4 por la tercera y as, el doble cada vez, hasta llegar a la ltima ca-silla (la nmero 64). Los matemticos del reino concluyeron que no haba arroz suficiente para pagar al inventor. Sabra decir cuntos granos de arroz se necesitaban?
Solucin P5.-La cantidad pedida M es, en base 2, el nmero compuesto por 64 unos : M=1 1 . ..11 1 1 ya que en ese caso M=120+121+122+ . ..+12

63

Esta cantidad es una unidad menos que la representada por un 1 seguido de 64 ceros . Entonces : M = 19 264-1 = 1.844674407 x 10

Problema 6.-Cuntos bits son necesarios como mnimo para representar cada uno de los siguientes nmeros decimales? 50, 1000, 5000, 100000 y 1000000.
Solucin P6.-Para calcular el nmero mnimonde bits que representa la magnitudM,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= r (M +1)1 donde [xl es el entero por exceso

192

de x. 2) Por bsqueda en la tabla de potencias de 2.


PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Para los nmeros decimales propuestos tendremos : Mn 50 6 1000 10 5000 13 100000 17 1000000 20

Problema7.-Convierta el nmero binario 10110110011.10110 a las bases 4, 8 y 16; el nmero 372.105 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 00 11.10 11 0 10 110 110 011.101 10 101 1011 0011.1011 0 1 1 2 3 0 3. 2 3 0(4 2 6 6 3 . 5 4 5 B 3. B 0 (8 (16 Para pasar de bases 4, 8 16 a base 2, se hace la descomposicin inversa . Por otra parte, la conversin entre las bases 4 y 16 tambin se realiza de la misma forma. Sin embargo, para pasar de base 8 a base 4 16, o viceversa, conviene pasar antes a base 2. Por tanto : 372.105 (8 = 011 111010. 001000 101(2= 3322.020224= FA.228(16 F0.A(16=11110000-1010(2=3300.22(4= 360.50(8

Problema 8.-En la colonia humana de Ganimedes la energa se obtiene con pilas atmicas de exactamente 1 Kg de peso. Las pilas son enviadas desde Tritn en 6 cajas de 50 pilas cada una. a) Tras un envo se avisa a Ganimedes que, por error, una de las cajas contiene pilas malas con 1 g de menos. Deben detectarla y reenviarla a Tritn. Los operadores de Ganime-des deciden detectarla mediante una sola pesada. Cmo? b) Tiempo despus y tras otro envo, el aviso es que una o ms cajas contienen pilas malas con 1 g de menos. Cmo podrn ahora detectar las cajas errneas con slo una pesada?
Solucin P8. a) dentifiquemos 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

REPRESENTACN Y CODFCACN BNARA

en base 2 indica las cajas errneas . Por ejemplo, supongamos que las cajas errneas son A, B, D y F: entonces, faltarn 1 + 2 + 8 + 32 = 43 g. El nmero 43 expresado en binario es: 101011 lo que sealara a las cajas F- D - B A.

Problema 9.-La figura representa 6 cartas con las que se pretende hacer un juego de magia. Alguien debe pensar un nmero y, sin decir cul es, debe indicar las cartas donde el numero est presente. Conociendo slo esto, se podr adivinar el nmero pensado. Por ejemplo, si est en las tarjetas A, D, F y G, se trata del nmero 75 . Sabiendo que el juego se basa en la representacin binaria de magnitudes: a) Explquelo. b) Cmo lo cambiara si quiere incluir hasta el nmero 123? Ysi incluye hasta el200? 6 17 18 19 20 21 1,11 8 9 10 11 12 13 ' 64 65 66 67 68 69~ "'32 33 34 35 36 37~ 22 23 24 25 26 27 14 15 24 25 26 27 70 71 72 73 74 75 38 39 40 41 42 43 28 29 30 3148 49 28 29 30 31 40 41 76 77 78 79 80 81 44 45 46 47 48 49 50 51 52 53 54 55 42 43 44 45 46 47 82 83 84 85 86 87 50 51 52 53 54 55 565758596061 56 57 58 59 60 61 88 89 90 91 92 93 565758596061 62 63 80 81 82 83 62 63 72 73 74 75 94 95 96 97 98 99 62 63 96 97 98 99 84 85 86 87 88 89 76 77 78 79 88 89 90 91 92 93 94 95 90 91 92 93 94 95~ B A

~45671213 "\~ %23671011 1357911 14 15 20 21 22 23 14 15 18 19 22 23 1315 17 19 21 23 28 29 30 31 36 37 26 27 30 31 34 35 2527 29 31 33 35 38 39 44 45 46 47 38 39 42 43 46 47 3739 41 43 45 47 52 53 54 55 60 61 50 51 54 55 58 59 4951 53 55 57 59 626368697071 626366677071 61 63 65 67 69 71 76 77 78 79 84 85 74 75 78 79 82 83 7375 77 79 81 83 86 87 92 93 94 95 86 87 90 91 94 95 8587 89 91 93 95 98 99 97 99

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 (26 = 64 para A, 25= 32 para B, 24= 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 111(10= 1101111(2se incorporara a A, B, D, E, F y G.
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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: Cdigo Gray asumiendo que se representan del 0 al 7. Cdigo Gray asumiendo que se representan del 0 al 9. c) Cdigo Gray asumiendo que se representan del 0 al 15 .

En cdigo ASC. En cdigo ASC con paridad par. f) En cdigo ASC con paridad impar. En cdigo "2-out-of-5".
Solucin P10.-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 110 111 101 100 0 123 4 5 67 (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 necesitan4bits, con lo que el cdigo Gray a utilizar es el de4 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 16nmeros (0-15) ocupamos los 16 cdigos existentes.

0000 0001 0011 0010 0110 011110101 0100 b) c) 0 1 2 0 3 1 4 2 5 3 4 7

1100 1101 5 8 6 9

1111 1110 1010 1011 1001 1000 7 10 8 11 9 12 13 14 15

(eje de simetra) d) El cdigo ASC 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 0110110 que, expresado en cdigo hexade-cimal, 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 REPRESENTACN Y CODFCACN BNARA

(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 ASC 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 ASC de paridad impar para el 6 ser 10110110 (aadimos un 1 para tener un total de cinco unos). En hexadecimal, $B6. g) El cdigo 2-out-of-5 representa los 10 dgitos decimales mediante 5 bits de los que tres son 0 y dos son 1 . La codificacin es la mostrada a continuacin: nmero cdigo 0 00011 1 00101 2 00110 3 01001 4 01010 5 01100 6 10001 7 10010 8 10100 9 11000

Problema 11.-Determine el bit de paridad impar para cada uno de los 10 dgitos decimales en el cdigo 8, 4, -2, -1 .
Solucin P11.-En la siguiente tabla, se muestra la codificacin para cada dgito decimal en el cdigo pesado 8, 4, -2, -1, junto con el bit de paridad que hay que generar para que en cada dgito haya un nmero impar de 1 .

dgito

84-2-1

0 1 2 3 4 5 6 7 8 9

0000 0111 0110 0101 0100 1011 1010 1001 1000 1111

1 0 1 1 0 0 1 1 0 1

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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-1bn_2. ..b 1b0se obtienen su complementos a 1 y a 2 . El complemento a 1 se obtiene como Cal(B) = bn-1bn-2. . . blbo 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 : palabra 1010101 0111000 0000001 10000 00000 compl. a 1 0101010 1000111 1111110 01111 11111 compl. a 2 0101011 1001000 1111111 10000 00000

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) =(on-1)-N. De esta definicin podemos inferir que si N = Nn_1Nn_2...N1N0, entonces Ca9(N) =(9- Nn_1)(9-Nn_2). . .(9 - N 1)(9- N0) . Por otra parte CalO(N) = 10n-1 = Ca9(N) + 1 Para las cantidades propuestas en el enunciado : nmero compl. a 9 compl. a 10 13579 86420 86421 09900 90099 90100 90090 09909 09910 10000 89999 90000 00000 99999 00000 Problema 14.-Represente con el 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) 122 = 1111010(2 b) 64 = 1000000(2 c) 15 = 1111(2 d) 37 = 100101(2

REPRESENTACN Y CODFCACN BNARA

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 -(2 n-1 -1) y + (2n-1-1).En particular, a)+122=01111010 -122=11111010 b) + 64 = 01000000 -64 = 11000000 c) +15=01111 -15=11111 d)+37=0100101 -37=1100101 La representacin complemento a 1 sigue el siguiente convenio: -Un nmero positivo se representa igual que en signo-magnitud . -Un nmero negativo se representa complementando a 1 el correspondiente nmero

positivo. Con n bits pueden representarse todos los nmeros enteros comprendidos entre -(2n-1 -1) y + (2n-1-1). En particular, a) + 122 = 01111010 -122 = 10000101 b) + 64 = 01000000 -64 = 10111111 c)+15=01111 -15=10000 d)+37=0100101 -37=1011010 La representacin en complemento a 2 sigue el siguiente convenio: -Un nmero positivo se representa como en los casos anteriores. -Un nmero negativo se representa mediante el complemento a 2 del correspondiente nmero positivo. n-1 Connbits pueden representarse los 2nnmeros comprendidos entre-2 y + (2n--1). En nuestro caso, a) + 122 = 01111010 -122 = 10000110 b) + 64 = 01000000 -64 = 1000000 c)+15=01111 -15=10001 d)+37=0100101 -37=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 el valor. Nota: Para los nmeros negativos, obtenga primero el valor de la magnitud y, despus, apli-que la notacin. 1)+27.625 3)+33.3 5)+45.67 7)+45.7 2)-27.625 4)-33.3 6)-45.67 8)-45.7 Solucin P15.

1) + 27.625 = 0011011 . 101(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 : 010111110 1
14 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

2) -27.625 = 1011011.101S-m= 1100100.,1 =1100100-011,.,2-

.010c 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) -33.3 =1100001.01Os-n]= 1011110.101 101,. a1 =1011110:110,. a25) + 45.67 = 0101101 .10101 . . . truncando en 3 bits para la parte fraccionaria : 0101101.101, redondeando:

0101101.110.
6) -45.67 = 1101101.101S_m= 1010010.010c. a1 =1010010.011c. a 2(truncando). -45.67 = 1101101.110s_m= 1010010.001,.a1 =1010010-010,.a2(redondeando). 7) + 45.7 = 0101101.1011 truncando en 3 bits para la parte fraccionaria: 0101101.101 y redondeando: 0101101.110. 8) -45.7 = 1101101.1 lOS-n1= 1010010.001,. a1 =1010010.010,.a 2(truncando) . -45.7 = 1101101.1 lOS-n1= 1010010.001c. a1 =1010010.01Oc. a 2(redondeando).

Problema 16.-Se dispone de 30 bits para escribir nmeros en notacin exponencial . De ellos se destinan 21 a la mantisa y 9 al exponente. Mantisa y exponente se escriben en notacin signo-magnitud. a) Determine los rangos de valores decimales que se pueden escribir . b) Represente en BCD los siguientes nmeros:

1 Velocidad de la luz en mis (3x108). 2 Carga del electrn en culombios(-1,602x10-19). 3 Masa del electrn en kilogramos (9,109x10 -31). 4 Aceleracin de la gravedad en mis 2 (9,807). 5 Cero. 6 nfinito.
Solucin P16.-En notacin exponencial los nmeros se expresan en la forma: M = m x be(m mantisa, b base, e exponente) . En nuestro caso, hay que representar las cantidades pedidas en BCD. Por tanto la base es decimal. Cada dgito BCD es codificado por4bits. Disponemos de 21 bits para la mantisa de los cuales uno es para el signo, los otros 20 bits nos permiten alma-cenar5dgitos 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 izquierda 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 99 mayor representable: mantisa + 99999 y exponente + 99 que corresponde al 0.99999 x 10Por tanto el rango cubierto es [0.1 x 10-99,0.99999 x 1099]. -99] En cuanto al rango de valores negativos, ser [-0.99999 x 1099, -0.1 X 10 16 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

b) 31.5(10= 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 octales, 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 octales (+ el bit de signo hacen un total de 7 bits). Entonces : 8-2(8, 31.5(10= 3740 x 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(10= 1F.8(16,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 (12 bits). 31.5(10 = 1F8 x 16-1 , por tanto, la mantisa ser: 0 0001 1111 1000, y el exponente quedar: 1 00 0001 .

PROBLEMAS CON SOLUCN RESUMDA

Problema 18.-Represente los siguientes nmeros decimales en base 2 y compruebe el re-sultado: a) 17,, b) 94.
Solucin P18. a) 17(10 = 10001(2 b) 94(10= 1011110(2 .

Problema 19.-Pase los siguientes cdigos hexadecimales a cdigo binario, octal y BCD: a) $F2.85; b) $B02.A; c) $25.FA; d) $71.02.
Solucin P19.-El cdigo BCD corresponde a la representacin binaria de un nmero decimal. Esta se obtiene asociando a cada dgito decimal su representacin binaria de 4 bits . Para pasar un nmero desde una determinada base a BCD,

deber obtenerse en primer lugar el nmero en base 10, y despus hacer la conversin antes indicada . a) $F2.B5 = 1111 0010.1011 0101(2 = 011 110 010.101 101 010(2 = 362.552(8 . Para representarlo en BCD pasamos a base 10: $F2.B5 = F x 16 + 2 x 160+ 11 x 16-1+ 5 x 16-2= 242.70(10_30010 0100 0010.0111 (BCD) Procedemos de igual forma con el resto de los casos : b) $B02.A = 1011 0000 0010.1010(2= 5402.5(8 = 2818.625(10 = 0010 1000 0001 1000.0110 0010 0101 (BCD). c) $25.FA = 0010 0101.11111010(2= 45.764(8 = 37.977(10 = 0011 0111 .1001 0111 0111 (BCD)

d) $71.02 = 0111000 1.0000 0010(2= 161.004(8= 113.007(10 = = 000 1000 100 11 .0000 0000 0111 (BCD)

REPRESENTACN Y CODFCACN BNARA

Problema 20.-Represente el nmero decimal 8620 (a) en BCD, (b) en cdigo exceso 3, (c) en cdigo 2, 4, 2, 1 y (d) como nmero binario .
Solucin P20. a) 8620(10 3 1000 0110 0010 0000(BCp). b) 8620(10 -3 1011 1001 0101 001 1(exceso-3) c) El cdigo 2,4,2,1 es un cdigo pesado de 4 bits cuyos pesos son precisamente 2,4,2,1 . dgito Pesos: decimal 2421 0 0000 1 0001 2 0010 3 0011 4 0100 5 1011 6 1100 7 1101 8 1110 9 1111 Entonces, 8620(10 -3 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 -3 21AC(16 -* 0010 0001 1010 1100(2 -* 10000 110 10 1100(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. Determine el 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

bgb8b7b6b5b4b3b2blbo 0 0000000001 1 0000000010 2 0000000100 3


0000001000 4 0000010000 5 0000100000 6 0001000000 7 0010000000 8 0100000000 9 1000000000 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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

dgito 0 1 2 3

5421 0000 0001 0010 0011

dgito 6 7 8 9

5421 1001 1010 1011 1100

4 5

0100 1000

A B

1101 1110

Problema 23.-Determine el rango de valores numricos que pueden escribirse en palabras de 8, 16 y 32 bits, en las diferentes notaciones de nmeros enteros con signo.
SolucinP23.- Connbits se representan los siguientes rangos: n-1 -Signo-magnitud: [-(2n-1-1), + (2 -1)] -Complemento a 1: [-(2n-1-1), + (2n-1-1)] -Complemento a 2: [- 2n-1 ,+ (2n-1-1)] Entonces para los valores de n propuestos: n2 de bits 8 [-127,+ 127] 16 [-32767, + 32767] [-32768, + 32767] 32 signo-magnitud y complemento a 2 complemento a 1 [-128,+ 127] [- (231- 1) + (2 231,+ (231-1)] 31- 1)] 1-

Problema 24.-Un registro de 30 bits almacena 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 asumen representados en forma de signo-magnitud. Cules 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: 99999 x 10 99 10-95 -Cantidad menor positiva: 10000 x 10-99 = Base 2 fraccin normalizada, 11111111= -21) 255. -Cantidad mayor positiva: 0.111 ...111 x 2 (1 -2 x2 2-1 -255 -256 -Cantidad menor positiva: 0.100. . .000x2-11111111 = x2 =2

Captulo 2

LGEBRA Y FUNCONES DE CONMUTACN

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 CONMUTACN El lgebra de conmutacin es un sistema matemtico compuesto por un conjunto de dos ele-mentos: B = {0, 11, y dos operaciones OR (+) y AND () definidas en B de la siguiente

forma:

01011
1 01 01

010001

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 deBoole son los siguientes: P1. Ley de identidad: Existen elementos identidad (0 para la operacin "+" y 1 para laoperacin " ") de forma que para cualquier elemento x, se cumple : x+0=x x 1=* P2. Ley
conmutativa: Para cualesquiera dos elementos x e y, se cumple : x+y=y+x x .y=y .x P3. Ley distributiva: Dados tres elementos x, y, z se cumple : x+(y .z)=(x+y) .(x+z) x . (y+z)=x .y+x .z

20 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

P4. Ley del complemento: Para todo elemento x existe un elementoxtal 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. 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 T6. Ley del consenso: x+ xy = x + y x (x +y) = x y T7. Ley asociativa: x (y z) _ (x y) z x+(y+ z) = (x + y) + z T8. Ley de DeMorgan : xy=x+y x +y=x y T9. Ley de De Morgan generalizada: x y z ... = x + y + z + .. . x + y + z ...=xyz . .. T10. Ley del consenso generalizado : x y + x z + y z = x y +x z (x+y) (x+z) (y+z)=(x+ y) (x+z) FUNCONES DE CONMUTACN Son funciones que se definen sobre el conjunto B = (0, 1 } del lgebra de conmutacin . Estric-tamente se definen como: f: Bx . . . xBxB = Bn -4 B. As una funcin de n variables asigna un valor o imagen de B (0 1) a cada punto del espacioB' : (x1,x2, ...,x,). Por ejemplo, una funcin de tres variables: f(x, y, z) se puede definir de la siguiente forma: f(0,0,0) = 0, f(0,0,1) = 1, f(0,1,0) = 0, f(0,1,1) = 1, f(1,0,0) = 0, f(1,0,1) = 0, f(1,1,0) = 1, f (1,1,1) = 1 . A veces no todas las combinaciones de las variables tie-nen imagen, decimos entonces que la funcin es incompleta o que est incompletamente espe-cificada. Cuando esto sucede, por ejemplo, en la combinacin (x0,Y0,z0) lo simbolizamos de la siguiente forma: f(x0,yo,z0) = d f(x0,Y0,z0) = -, donde los smbolos "-" y "d" (don't care) son llamadas inespecificaciones o indeterminaciones . REPRESENTACN DE FUNCONES 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 .

LGEBRA Y FUNCONES DE CONMUTACN

xyz f 000 001 010 011 100 101 110 111


-Mapa

de Karnaugh. Es tambin una forma grfica. Las variables de la funcin se dividen en dos grupos . Uno de ellos se sita en el eje horizontal de una tabla y el otro en el eje vertical. Las combinaciones de cada grupo de variables se escriben en el orden del cdigo Gray. As, disponemos de una cuadrcula en cuyas celdas se anota el valor de la funcin para la combinacin de las variables asignada. La propiedad principal es que dos celdas geomtricamente adyacentes tambin corresponden a cdigos lgicos adyacentes . En el ejemplo se muestra un mapa para una funcin de 4 variables. En los problemas aparecen ejemplos para 5 variables. Al igual que en el caso de las tablas de verdad, este tipo de representacin aumenta su tamao de forma potencial con el nmero de variables. Si el orden en que se escriben los valores de las variables es el binario natural, el mapa es denominado binario . ab 11 10 c 0000 00
011 100 1 1 1 0 0 0 0 1 f 1 1 1 1

-Expresiones o frmulas.

En este caso se utiliza una expresin algebraica para representar las funciones . Se combinan las variables con los operadores NOT ,AND2y 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 su1
NOT(x) = x. 2 El smbolo del operador AND () puede omitirse: a b = a b.

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES 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)=abcd+abcd+abcd+abcd+abcd+abcd+abcd= =m1+m5+m6+m10+m11+m14+m15=E(1,5,6, 10, 11, 14, 15). -Producto de maxtrminos : f(a,b,c,d)=(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d) (a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)= = M0 M2 M3 M4 M7 M8 M9 M12 M13 = T (0, 2, 3, 4, 7, 8, 9, 12, 13) . -Suma de productos: f(a,b,c,d)=acd+ac+bcd. -Producto de sumas: f(a, b, c, d) = (c + d) ( + c) (a +c + d) (a + b +c). Mientras que las dos primeras formas son nicas para cada funcin (cannicas), las dos siguientes (es- tndares) no lo son, pero presentan una mayor simplicidad . ndice del Captulo Este Captulo desarrolla problemas de las siguientes materias : -Demostracin de teoremas e identidades . -Manejo de expresiones lgicas . -Representacin mediante tablas, mapas y formas cannicas y estndares . PROBLEMAS RESUELTOS Problema 1.- Demuestre los teoremas booleanos en base a la definicin del lgebra. Solucin P1.-Nosbasaremos en los postulados del lgebra de Boole : P1. dentidad: 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+ 1x 0 Los teoremas y sus demostraciones se relacionan a continuacin. T1. dempotencia: x+ x= x x x= x x+x=(x+x) 1 =(x+x) (x+x)=x+xx=x+0=x x-x=x-x+0=x-x+x-x=x-(x+x)=x- 1 =x Hemos aplicado los postulados P, P4, P3, P4 y P1, en ese orden . T2. Unicidad del complemento : da e B, 3' a' EBa'=
1

x=

x=

Si existieran dos complementos, al y a2 se cumpliran las siguientes igualdades (por P4) : a+a1=1 a+a2=1 a.a1=0 a.a2=0 Entonces: al =al 1=a1 (a+a2),=a1 -a+ al a2=0+a1 a2=a a2+a1 a2= =(a+al)-a2=1 a2=a2

Se han aplicado los postulados P1, P4, P3, P2, P4, P3 y P1, en ese orden . T3. Elementos dominantes: x + 1= 1 x 0= 0 x+1=(x+1) 1 =(x +1) (x+x)= x +1 x_= x+x=1 x0=x 0+0=x 0+x x=x(O+x)=x x=0 Los postulados utilizados son P1, P4, P3, P2, Pl y P4. T4. Lev involutiva: (x) = x

(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, P4, P3, P4, P2, P4, P2, P3, P4 y P1 . T5. Ley de absorcin: x + x y = x x (x + y) = x x+xy=x1+xy=x (1+y)=x1=x x (x+y)=(x +0) (x+y)=x +0 y =x+0=x En esta demostracin hemos usado P, P3, T3 y Pl en ese orden. T6. Ley del consenso: x+ x y = x + y x (x +y) = x y x+xy=(x+x)(x+y)=1 (x+y)=x+y x (x+y)=xx+x y=0+xy=xy Los postulados en que nos hemos apoyado son P3, P4, P2 y P1 . T7. Lev asociativa: x (y z) = (x y) z x + (y + z) =(x + y) + z Para demostrarla es necesario demostrar previamente tres lemas : L1. a = a + a (b c) a = a [a + (b + c)] (ambos por 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)]=ab+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)]) _ (por L2, L3 y L1) =[x+z.(x.y)]. (yz+z.(xy))= (porP3) = 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)] = (porP3) = z (x y) = (x y) z (por 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, L3 y 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)
y OR (+) en el lgebra de 24 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES = z [x + (y + z)] + (x + y) [x + (y + z)] = (donde hemos aplicado P3) =z+(x+y) [x+(y+z)]= (porL3) = z + x [x + (y + z)] + y [x + (y + z)] = (por P3) = z + (x + y) = (x + y) + z (por L, L2 y finalmente P2). Con lo que queda probado que x + (y + z) _ (x + y) + z . T8. Ley de DeMorgan: x y = x + y x+y=x.y La base de la demostracin es que como el complemento es nico y cumple el postulado P4, entonces, si A + B = 1 y A B = 0 es porque A = B, esto es : A=BOA+B=1 y A B=0. Sean A = x + y, B = x y; demostremos que A = B.

A+B=x+y+xy=x+y+x=x+x+y=1+y=1 (T6, P2, P4 y T). AB=(x+y) xy=xxy+yxy=0y+0 x=0+0=0(P3,P2,P4,T3,T1).


Sean A = x y, B = x + y; demostremos que A = B. A+B= xy+x+y=y+x+y=x+y+y=x+1=1 (T5, P2, P4 y T3). AB=xy(x+y)=xyx+xyy=0y+x0=0+0=0(P3, P2, P4, T3, T). T9. Ley de De Morgan generalizada: xyz ...=x+y+z+ . .x x + y + z . . .=x .. . xyz . . . =x(yz ...)=x+yz . . .=x+y(z . . .)=x+y+z ...= =x+y+z(. . .)= . . .=x+y+z+ . . . x+y+z . . .=x+ (y+z+ . . .)=x y + z ...=x .=x .. En las dos demostraciones se utilizan los teoremas T7 y T8 alternativamente . T10. Lev del consenso generalizado : x

yz

yz .

y+(z.. .)=x y z+ . . .= =xyz+(. . .)= . .

y+xz+yz=x.y+xz
x

(x+y)

(x+z)(y+z)=(x+y)(x+z)
+y

y+xz+yz=xy+xz+yz1= (P1) =x y +x z z(x+x)= (P4) =x.y+xz+yzx+yzx= (P3)


=x.y+xyz+xz+x.zy= (P2) =x .y+x z (T5)

(x+y) (x+z) (y+z)=(x+y) (x+z) (y+z+0)= (P1)=(x+y) (x+z) (y+z+x x) = (P4)

=(x+y) (x+z) (y+z+x) (y+z+ x)= (P3)=(x+y)

(x+z+y)= (P2)= (x + y) (x + z) (T5)

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

Problema 2.- Demuestre los teoremas 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 ( ) conmutacin, comprobaremos: -dempotencia: x = x + x, x = x x; -Elementos dominantes: x + 1 = 1, x 0 = 0; -nvolutiva: x = x ; -Absorcin : x + x y = x, x (x + y) = x ; -Consenso: x + x y = x + y, x (x + y) = x y; -Asociativa: (x + y) + z = x + (y + z), (x y) z = x (y z); -LeyDeDeMorgan: xy=x+y, x+y=xy. En las dos tablas siguientes podemos ver la comprobacin de todos los teoremas excepto el de la ley asociativa que se prueba a continuacin . x y x x+x xx x+1 x0 x p(donde p=x) x + x y x(x+y) 0 0000 10 1 000 01000 10 1 000 10111100 1 11 11111100 1 11 x y x + x y x+y x(x+y) xy xy x + y x+y xy 0 00000 1 1 11 01 1100 1 100 10 1100 1 100 11 1 1 110000 La comprobacin de la ley asociativa : x y z x+y (x+y)+z y+z x+(y+z) xy (xy)z yz x(yz) 00000 0 00000 0010 1 1 10000 0101 1 1 10000 01111 1100 10 100 1 10 10000 1011 1 1 10000 1101 1 1 11000 1111 1 11 1111

Problema 3.-Para elementos del lgebra de conmutacin, pruebe la validez de: a) a b=a c- b=c; b)a+b=a+c-+b=c; c) a b=a cya+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 = 1, b = 1, c = 0 . c) S se cumple. Se puede comprobar que para cualquier combinacin de valores se cumple. Tambin se puede demostrar algebraicamente: PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES b=b+ab=b+ac=(b+a) (b+c)=(a+b) (b+c)=(a+c) (b+c)= =ab+c=ac+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.
Problema 4.-Compruebe las siguientes igualdades: a) x y+xz + y z = x y+x b)x(x+y)+z+zy=y+z c)xy+xyz=xy+z

(ley del consenso generalizado)

d)w+wx+yz=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)xy+xz+yz=xy+xz+(x+x)yz=xy+xz+xyz+xyz=

=xy+xyz+xz+xzy=xy(1+z)+xz(1+y)=xy+xz
donde hemos aplicado P4, P3, P2, P3, T3 y P1 b)x(x+y) +z+zy=xy+z+y=y+yx+z=y+zporT6,P2yT5 c) x y +xyz =x y + z (por la ley del consenso: u +u z =u + z donde u = x y) d)w+wx+yz=w+yz=wyz=w(y+z) porT5yT8 e)w[x+y(z+w)]=w+x+y(z+w)=w+xy(z+w)=w+x(y+z+w)= =w+xy+xzw=w+xy+xz por T8yT6 fl(w+x+y)(w+x+y)(y+ z) (w+z)= [(w+y)+xx] (y+z)(w+z)= =(w+y)(y+z)(w+z)=(w+y) (y+z) por P2,P3,P4,PlyT10.
Problema 5.-Reduzca las siguientes expresiones del lgebra de Boole al nmero de literales solicitado al lado de cada una de ellas. a)abc+abc+abc+abc+abc (a cinco literales) b) b c + a c + a b+ b c d (a cuatro literales) c)[cd+a]+a+cd+ab (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+bc= (ya que x + x = x) =abc+abc+abc+abc+abc+bc= (por la propiedad conmutativa) =ab(c+c)+ab(c+c)+(a+a)b c= =ab 1 +b 1+ 1 bc= (ya que x+x= 1) = a b + a b + b c = b (a + c) + a b (ya quex1=1x=x). b) b c + a c + a b + b c d = b c + b c d+a c + a b =(por la propiedad conmutativa) =bc+ac+ab=bc+ac+ab(c+c)= (ya que x + x y = x) = b c+ ac+a b c+ a bc= (por la propiedad distributiva) =bc(1+a)+ac(l+b)= =bc+ac (ya que 1 +x= 1). c) aplicando la ley de De Morgan a la expresin, obtenemos : cd + a + c d + a b =cd + a + a b + c d = (por la propiedad conmutativa) = c d + a + c d = (ya que x + x y = x) . =a+cd (yaquex+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)= (yaquex=xx) = (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 y,z) es la funcin mayora dex y, z:M (x, y, z) = x y + x z + y z. Solucin P6.

a) No se cumple pues para a = 0, b = 0, c = 1, d = 0, e = 1 y f = 0 se 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(1, 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 + d e] _ =ab+a(cd+ce+de) +b(cd+ce+de)=ab+acd+ace+ade+bcd+bce+bde y, por la otra parte : M[M(a, b, c), d, M(a, b, e)] = M[a b + a c + b c, d, a b + a e + b e]= =(ab+ac+bc)d+(ab+ac+bc) (ab+ae+b e)+d (ab+ae+b e)= =abd+acd+bcd+ab+abe+abc+ace+ a b c e+abce+bce+abd+ade+bde= = a b+ a c d+ b c d+ a c e+ b c e + a d e+ b d e, luegoambas expresiones son iguales.
Problema 7.-Obtenga la tabla de verdad de las siguientes expresiones: a)f=wyz+xy+wy) b) f= (w+x+y) (x+z) (w+x) .

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Solucin P7. a) Si f = w y z + x y + w y, entonces es fcil deducir cundo f = 1 : /wyz=1 ==> w=1,y=1,z=1 f=1 f=> xy=1 ~x=1,y=1 \wy=1~w=1,y=1 con ello, la tabla de verdad es : wxyz f wxyz f 0000 0 1000 0001 1001 0010 1010 0011 1011 0100 1100 0101 1101 110 1 1110 111 1 1111

b) Si f = (w + x + y) (x + z) (w + x), es fcil encontrar los ceros de f: /w+x+y=O==> w=0,x=0,y=0 f=0e-> x+z=0~ x=0,z=0 \w+x=0~ w=0,x=0 con ello, la tabla de verdad es : wxyz f wxyz f 0000 1000 0001 0 1001 0010 0 1010 001 1 1011 0100 1 1100 0101 1 1101 110 1 1110 0111 1 1111

Problema 8.-Obtenga los mapas de las siguientes funciones: a) f = E (5, 6, 7, 12) + d(1, 3, 8, 10) . b) f =11 (10, 13, 14, 15) d(0, 1, 2, 8, 9). c) f = E (1, 2, 3, 8, 12, 23) + d(17). Solucin P8. a) f (a, b, c, d) = E (5, 6, 7, 12) + d(1, 3, 8, 10)

c 0 0 0 1 1 1 0 0

11

10 d

4 d
d 1

0 0

o
0

1 0

0 f

b) f (a, b, c, d) = f (10, 13, 14, 15) + d(0, 1, 2, 8, 9) ab c 01 11 10 00d 11d 01d 10d 111 101 10d 100 f c) f (a, b, c, d, e) = E (1, 2, 3, 8, 12, 23) + d(17)
00 cd 01 11 10 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 f
Problema 9.-Obtenga las formas normales en suma de productos y producto de sumas de las siguientes expresiones: a)f=(ab+ac)(ab)) b)f=xy(v+w)[(x+y) vi. c)f=x+yz) d)f=(a+b+c)(d+a)+bc+ a c.

0 0 0 0

0 0 0 0

0 0 1 0

0 d 0 0

30 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 : s1 = a y s = b. b) x y (v + w) [(x + y) v] = x y (v + w) (x + y) v = v x y (x + y) = v x y (ley de absorcin) . Con esto tenemos una forma en suma de productos, donde el producto p = v x y es nico . Tambin tenemos un producto de sumas, donde los trminos suma son tres: s

S= v, s2= x,

y.

c) x + yz, es suma de dos productos,pl=X,P = y z. Por otra parte, aplicando la propiedad distributiva: x + yz = (x + y) (x + z). Con ello tenemos una expresin en producto de sumas : s1 =x+y, s =x+z. d)f=(a+b+ c) (d + a) + b c + a c Para reducirlo a una forma en producto de sumas operaremos sobre la expresin de f aplicando repetidas veces la propiedad distributiva : (a + b + c) (a + d) + b c + a c = (a + b + c) (a+d)+(a+b)c= =[(a+b+c)(a+d)+(a+b)] [(a+b+c)(a+d)+c]= =[(ab+c+a+b)+ (a+d+a+b)] [(a+b+c+c)(a+d+c)]= =(a+b+ c) (a+b+ d) (a+c+ d) . Obtenemos por

tanto un producto de tres trminos suma: s1 = a + b + c, s =a+b+d y s3=a+c+d. De forma similar se puede obtener una expresin en suma de productos : (a + b + c) (a + d) + b c + a c = [a + (b + c) d)] + a c + b c = a + a c + b c + (b + c) d= =a+bc+bd+c d. Son, por tanto, cuatro trminos producto:pl= a, P

P2= b c, p3= b d,

4= c d .

Problema 10.-Determine y exprese en forma de mintrminos y maxtrminos las funciones f, + f2y f, - f2,siendo: f, = (1, 2, 3, 5, 6, 7, 13, 14, 15); f2= E (0, 4, 8, 9, 10, 14, 15) Repetir para f, O f2yla equivalencia: f, O f2.

2 como suma de mintrminos hay que tener en consideracin que todos los mintrminos de f1 y todos los mintrminos de f2 son mintrminos de f1+ f2ya que 1 + x = 1. Entonces : fl+ f2= E (0, 4, 8, 9, 10, 11, 12, 14, 15), y por exclusin : f1+f2= U (1, 2, 3, 5, 6, 7,
Solucin P10.-Para expresar la funcin f +f 13) . Para expresar la funcin f . f , 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 f f

1 2 2

y todos los de f

son maxtrminos de f

1 f2. Entonces:

l f2=11(1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15) =E (0, 4, 8, 9, 10) . En cuanto a la funcin f1O f2,para que sea 1 es preciso que f1 y f2sean distintas. Por tanto, los mintrminos de f1 O f2son los mintrminos de f1que no lo son de f2y los de f2que no lo son de f1 : f1f2= E (11, 12, 14, 15) = f (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13) .
LGEBRA Y FUNCONES DE CONMUTACN

Finalmente, como f1 0 f2 es la funcin negada de f1 O+ f2, tendremos: f1O+ f2= f (11, 12, 14, 15) = E (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 R y dos salidas T1 y T2, como se muestra en la figura. Slo Q y R pueden tener inespecificaciones.

T1=E (0, 1, 3, 4, 5, 7, 11,15) T 2=E (2, 3, 6, 7, 11,15)


a) Suponiendo que tanto G 1como G2son puertas AND, obtenga el mapa de la funcin Pmin (es decir, la funcin P que tiene el menor nmero de mintrminos) que permite obtener T1y T2. Obtener los mapas para Q y R correspondientes al Pmin anterior. ndique, explcita-mente, las posiciones

de las inespecificaciones . Suponiendo que G1y G2son puertas OR obtenga el mayorPmax(la funcin P con mayor nmero de mintrminos) y sus mapas correspondientes paraay R. Pueden obtenerse Q, P y R si G1es una puerta AND y G2una puerta OR?Y si G1 es una puerta OR y G2 una puerta AND? Solucin Pll. a) G1y G2son puertas AND . En este caso T 1= Q .P y T2=R P, por tanto,Qy P tienen que tener todos los mintrminos de T 1 (o sea: 0, 1, 3, 4, 5, 7, 11, 15), y R y P tienen que tener todos los mintrminos de T2 ( o sea: 2, 3, 6, 7, 11, 15). Entonces P como mnimo tiene que contener todos esos mintr-minos, luego : Pmin = E (0, 1, 2, 3, 4, 5, 6, 7, 11, 15) . b) La funcin Qtiene al menos los mintrminos de T1 ; R tiene los de T2. Ahora bien, Q tiene ceros en las celdas en que Pmin vale 1 pero T 1 no es 1 ; por ejemplo, 2 es mintrmino de

Pminpero no lo es de T1 ,por lo que 2 es un 0 de Q.Lo mismo ocurre para R con respecto a T 2 Y Pmin Por ltimo, en las celdas donde T1 vale 0 y Pmin tambin es 0, Q est inespecificada; algo similar ocurre para R respecto a T2y Pmin.Por tanto: Q =E (0, 1, 3, 4, 5, 7, 11, 15) + d (8, 9, 10, 12, 13, 14). R = E (2, 3, 6, 7, 11, 15) + d (8, 9, 10, 12, 13, 14) . c) G1y G2son puertas OR. En este caso T1 = Q + P y T2=R + P, por tanto donde T 1 sea cero tambin deben de serlo forzosamente Q y P (o sea en 2, 6, 8, 9, 10, 12, 13, 14) y donde T2 lo sea debern serlo PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES
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 T y T2: Pmax = Y-(3, 7, 11, 15). Q y R contendrn los mintrminos que le faltan a P para completar los de T y T2: Q = E (0, 1, 4, 5) + d (3, 7, 11, 15) . R = E (2, 6) + d(3, 7, 11, 15) . Las celdas en que Q est inespecificada son aquellas en las que T vale 1 y Pmax tambin

es 1. Algo similar ocurre para R respecto a T2 y Pmax

d) No es posible, ya que si G1es una AND y G2una OR: T= Q P, T2= R + P. En-tonces, en aquellos valores en los que T es 1 yT2es 0 (como por ejemplo en 4) sera imposible encontrar un valor adecuado para la funcin P. Si P valiese 1 forzaraT2 = 1 y si valiese 0 for-zara T= 0) . Si G1es una OR y G2es una AND, tampoco es posible ya que T = R + P y T2= QP. As, en aquellos puntos en que T = 0 y T2 = 1 (como por ejemplo en 6) no se puede encontrar un valor adecuado para P.

PROBLEMAS CON SOLUCN RESUMDA


Problema 12.-Encuentre los complementos de las siguientes funciones : a)f=(bc+adL(ab+cd)_ b)f=bd_+abc+acd+abc) c) f = [(a b) a]((ab) b]. d)f=ab+cd.

Solucin P12. a)f=(E+c)(a+d)+(+b) (c+d). b)f=bd+bc+acd+bc=ab+acd+bd,entonces: f = (a +b) ( +c +d) (b + d). c) Operando obtenemos f = 0 luego f = 1 . d)f=(+b) (c+d).

Problema 13.-Demuestre que x, O+x2+p ... Oex = (x, O . . . O+x;) 0 (x;+, .. .O+x);

donde a 0 b= a O b .

SolucinP13.-La operacin XOR cumple la propiedad asociativa. Entonces: (x 1O+ . . .$ xi) 0 (xi+1O+ . ..(9xn)= (x1 0 . . .O+ xi) O(xi+1 . . .O+ xn) =
LGEBRA Y FUNCONES DE CONMUTACN

=xlm . . .mxiE)xi+l O+ . . .0xn

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)=(ab+bcd)+acd.

Solucin P14. a) f (a, b, c) = E (0, 1,3, 4,5,6, 7). b) f (a, b, c) = E (0, 2,3,4,5,6, 7) . c) f (a, b, c, d) = E (0, 1,2,3, 4,5, 6,7,8, 910,11) .
Problema 15.-Exprese las siguientes funciones como producto de maxtrminos : a) f (a, b, c, d) = (a + c)d +bd. b) f (x, y, z) _ (x y + z) (y + x z). c)f(a,b,c)=(abc+abc)) d) f (a, b, c) _ (a b + c (a + b)) (b + c).

Solucin P15. a) f(a, b, c, d) =11(0, 2, 4, 6, 8, 10, 12, 13, 14) . b) f(x, y, z) =1-1(0, 1, 3, 4, 5, 6, 7) . c) f(a, b, c, d) =11(5, 6). d) f(a, b, c) =11(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

f, 1 0 1 0

xy 00 01 10 11

f2 0 1 1 0

xy

f3 1 1 1 0

00 01 10 11

SolucinP16.-Directamente de las tablas: f1=xy+xy=y. f2=xy+xy=xODy. f3=xy+xy+xy=x+y=xy.


34 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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


X y z f,f2 f3f4 f5f6

0000 10111 001 100 100 0100001 1 1 0110 10000 10001 11 1 1 101 111110 1100001 1 1 11 1000 1 10 Solucin P17. f =xyz+xyz=yz. f2 =xyz+xyz+xyz+xyz=xy+yz+xyz. f3 =xyz+xyz=xy. f4 =x+y+z. f =x+z f6=xyz+xyz+xyz+xyz=z.

Problema 18.-nterprete las siguientes expresiones lgicas considerando que el dato tiene n bits. (Para ayudarse puede considerar un caso particular de n, por ejemplo: n = 4). a)z=xox1(D . .

.x,,1) b)z=xn-1=x0 x1(D . . .(D Xn_2. c)zk=xk+ 1 Xk, k = n-2, ..., 1, 0, con zn_ 1= xn-1 d)zk = zk+ 1(DXk, k = n-2, ..., 1, 0, conzn_ 1=xn_ 1. q) k = n- 1, n-2, . . . .1,0 e)zk=xk yk, dondeyk= yk 1+ xk 1,con k > 1, 2, . . ., n -1 e yo = 0.
Solucin P18. a) La operacin XOR de n variables se hace 1 si y slo si hay un nmero impar de unos en las n variables . Por tanto, en este caso z es un detector de paridad . b) La funcin z forma parte de la palabra den bitsdada por: x0x1x2 . . . xn-2xi-1. Entonces, z es el bit de paridad par para x0x1x2 . . . xn_2. c) Si se particulariza paran = 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-version de cdigo Gray a binario. e) Si se considera el caso particular de n = 4 y se obtiene la tabla puede observarse que z3-0 = Ca2(x3-0)

Captulo 3 ANLSS DE CRCUTOS COMBNACONALES

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 circuito 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 operacin que realiza, se trata del anlisis, que es el aspecto que se trata en este Captulo ; si se plantea 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))

ANLSS DE CRCUTOS El objetivo principal del anlisis de un circuito combinacional es, por tanto, obtener una representacin de la funcin de conmutacin que implementa . A este objetivo se le llama anlisis lgico del circuito. En algunos casos es posible, adems, obtener una descripcin verbal de la operacin del circuito (del tipo "hace la suma", "compara nmeros", etc) . Adems, incluso cuando es posible esta operacin a partir de las tablas o expresiones lgicas es difcil salvo que se est sobre aviso. En este texto no se har el paso a la descripcin verbal salvo que se indique explcitamente en el enunciado (vase, p . ej ., el problema 4). Aunque el anlisis lgico es el objetivo principal no es el nico aspecto que debe contemplar un buen anlisis de un circuito. Otros aspectos que se deben considerar son : -El coste del circuito. Una manera de medir el coste es a travs del nmero de puertas lgicas y conexiones entre puertas del circuito . -Un anlisis de parmetros elctricos . Se debe establecer la tecnologa en la que se im
36 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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, fan-in y fan-out, 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 NOR. 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 NOR) . -Anlisis temporal. PROBLEMAS RESUELTOS Problema 1.- Analice a nivel lgico el siguiente circuito combinacional. Ponga tambin la fun-cin en forma de suma de productos o producto de sumas y realice el nuevo circuito a partir de estas expresiones. 1 z

Solucin Pl.-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 Karnaugh . 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 :

ANLSS DE CRCUTOS COMBNACONALES

x+y+z)(z+y)i z z+

A partir de esta expresin puede obtenerse otra simplificada o la tabla de verdad o el mapa de Karnaugh, y un nuevo circuito : _ f=(x+y+ z) ( z + y ) z = z (y + z) = y z

00 0 0

01 1 0

11 1 0

10 0 0

z 3-

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.
xl

>_1 -f
xl X2-x3

x3 X2 D--X1
x2

Solucin P2.-Comencemos determinando el coste del circuito. Este se calcula: 1.- dando el nmero de puertas del circuito; 2.- dando el nmero de entradas a puertas (conexiones) del circuito y el nmero de salidas. Adems, a veces se evala el "coste" temporal estableciendo los retrasos mximos y mnimos que experimentan las seales de entrada al propagarse hasta las salidas. Para ello, lo ms habitual es considerar una unidad de retraso por puerta. En este circuito el coste es el siguiente:
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

coste n puertas 7 n conexiones 16 entradas + 1 salida retraso mximo 3 niveles de puertas retraso mnimo 2 niveles de puertas Anlisis lgico. Teniendo en cuenta la funcin lgica que realiza cada puerta, se obtiene la siguiente expresin para f:

f = x3(x,x2)+x3(x,x2) (x3x2)

+x1x2=x3(x2+x,)+x3(x2+x,) (X2

+X3)

+x,x2

f=x1x3+x3x2+x1x2x3+x1x2=x1x3+x3x2+xx2=x3(x2+x1) +x1x2
A partir de esta expresin se obtienen otras en forma sp y ps, el mapa de Karnaugh y un nuevo circuito que implementa la funcin:

fsp= X3(x ]x2)+x1x2=x3+x1x2 fps= (x3+x1) (x3+x2)

x3

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

-fi e

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

ANLSS DE CRCUTOS COMBNACONALES 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: a b 3 3
d

- f1

f Se construye el rbol para cada salida: M 1

M=d+c(+ b) f2=c(+b) +fg

OR De aqu se tiene: OR

AND f, = de + ice + bce f2 =c+bc+fg

40 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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


_1 b2 a2 >_1 3--. al ?1 b - y

Solucin P4.-Anlisis de coste :

coste n puertas 7 n conexiones 16 entradas + 2 salidas retraso mximo 4 niveles de puertas retraso mnimo 2 niveles de puertas Anlisis lgico:

zsp= a2b2+a,b,a2b2+a,b,a2b2
y

Zps =

(a,+a2) (b, + b2) (a2+ b2)(a2+ b,) (a, + b2)

Sp=a2b2+a,b,a2b2+a,b,a2b2

yps= (b, +b2) (a, +a2) (b2+a2) (b2+a,) (b, +a2) z (a2a,b2b,) =E(4,8,9,12,13,14) = fl (0,1,2,3,5,6,7,10,11,15 ) y (a2a,b2b,) =Y-(1,2,3,6,7,11) = f
(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 a2 al y b2bl, se obtiene:

b2bl 00 01 10 11

00 00 01 01 01

01 10 00 01 01

10 10 10 00 01

11 10 10 zy 10 00

ANLSS DE CRCUTOS COMBNACONALES nterpretando a2 a l como un nmero binario A y b 2 bl como B, las funciones pueden representarse por la tabla : zy 10 0 0 01 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.

e 3e D--f d

Solucin P5.-El circuito est compuesto exclusivamente por puertas NOR, por lo que vamos a aplicar el mtodo especfico de anlisis de slo puertas NOR . Este mtodo es el mismo que el utilizado en el problema anterior, slo cambian dos aspectos : 1 .- El primer nivel de puertas es de tipo AND, por lo que la expresin que se obtendr para

f es del tipo producto de sumas de producto de sumas . 2.- Ahora son las variables de entrada que estn conectadas a los niveles AND las que deben complementarse. Numerando a las puertas de la forma que se ve en la figura : e 3 >1 e D-f

aO 6 O 3 7
42 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Se construye el rbol para la salida :

f OR AND OR AND OR AND De aqu se tiene :

f=

{c++a(d+) f=ac+bcd+a+abd+b

(b+d(e+e))}

{a+b(d+)}

Problema 6.-En el circuito de la figura todas las puertas poseen el mismo retraso, 0 . A

C D -F

a) Obtenga el mapa 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) gual que b, si A=C=D= 1 y B cambia peridicamente . d) gual que b, si B=D= 1 y A y C son como las representadas :
A C

4D

e) Discuta los resultados obtenidos en los apartados anteriores .

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

ANLSS DE CRCUTOS COMBNACONALES

D- F y

Analizando la funcin realizada por cada puerta, se tiene lo siguiente : u=BC x=ABu

F = xy = ABC+DCB

v=u

y=Dv Con lo que el mapa de F queda:

CD 00 01 11 10

00
0 0 0 0

01 0 0 1 0

11 1 1 1 0

10 0 0 0 0 F

b) Con A = B = D = 1, y C cambiando peridicamente, el diagrama temporal queda como se observa en la figura : C u=C A x=v=u f-1-y=v
4
A F=xy

-t

A
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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

u=B

v=u y=v

x=Bu F=xy d) Con B=D=1, y A y C cambiando peridicamente, el diagrama temporal queda como se observa en la figura :

C u=C

v=u
4 x=Au y=v

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

dinmico).
ANLSS DE CRCUTOS COMBNACONALES

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 0101, pero esto no es azar: la funcin debe pasar por el valor 0, explicndose el cambio de duracin por el distinto tiempo de retraso cuando cambia A (2 puertas) a cuando despus cam-bia C (4 puertas) . PROBLEMAS CON SOLUCN RESUMDA

Problema 7.- Analice a nivel lgico los siguientes circuitos combinacionales . Ponga

la fun-cin en suma de productos o producto de sumas. a) >_1 -f >_1 b) =1 -f c) y =1 D- f Solucin P7.-a) f = (xy + xy) (z + xy) = x (z + xy) = xz + xy x` Z\ 0 1 00 0 0 01 0 0 11 0 1 f 1 10

46 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES b) f = xy +O (z+x) =xz+xy


000 1of 1 110 c) f = y O+ (y + x) = xy 0001 11 10

0001 11 10 000 1 000 1

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

>1 f3 b)
xl

1
3

x2-f

ANLSS DE CRCUTOS COMBNACONALES

c) >_l

x3
X4

Solucin P8. a) Anlisis de coste : coste n puertas 6 n conexiones 10 entradas + 1 salida retraso mximo 4 niveles de puertas retraso mnimo 2 niveles de puertas Anlisis lgico: fsp= x2 + x 1 x3 fps = (x2 + (x3 + x2) . X) f(x1, x2, x3)= E (2, 3, 4, 6, 7)=11(0, 1, 5). b) Anlisis de coste:

coste n puertas 7 n conexiones 12 entradas + 2 salidas retraso mximo 5 niveles de puertas retraso mnimo 2 niveles de puertas Anlisis lgico: flsp=X3X4 + x1 x2 x4 + x1 x2 X4 + x1 x2 x3 x4 + x1 X2X3x4. fips= (x3 + x4) (xl + x2 + x4) (x1 + x2 + x3 + x4) (x1 + x2 + x4) (x1 + x2 + x3 + x4). f2sp = x3+Xx2 + x1 x2 f2ps = (x1 + x2 + x3) (x1 + x2 + x3), fl(x l, x2, x3, x4)= E (1, 3, 4, 7,8, 11, 13, 15) = (0, 2, 5, 6, 9, 10 12,14) . f2(xl, x2, x3, x4)= E (0, 1, 2, 3, 6, 7, 10,11, 12, 13, 14, 15) = f (4, 5, 8, 9) . c) Anlisis de coste:

coste n puertas 3 n conexiones 6 entradas + 1 salida retraso mximo 2 niveles de puertas retraso mnimo 2 niveles de puertas

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Anlisis lgico: fsp-X + X2 + x3 x4 fps =(x2 + X + x3) (x2 + x1 + x4) . f2(xl, x2,x3,x4)=E (3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) =11(0, 1, 2) .

Problema 9.-Analice la funcin que realiza cada circuito encontrando una expresin sp o ps. a) X -VL Y

b)

b d g

C ) X2xl -x2 -x3 -

3 3

xl -X2 3 X x3

x 3

Solucin P9.-a)f = wxz+xyz+xyw+xyz. b)z = ce+cicf+bce+bcf+de+df+bde+bdf+gh . c)f = xx2+x1x3+x]x2x4+x3x4x2+x1x;x2+ 3xx4 .

Captulo 4 DSEO DE CRCUTOS COMBNACONALES

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 . OBJETVO DE DSEO 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 NOR) confan-inyfan-outilimitados 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 productos 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)oproducto 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 formada por el conjunto mnimo de implicantes primas (implicadas primas) con el menor nmero 52 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 DSEO El proceso de diseo se desarrolla realizando el conjunto de pasos que se muestran en el si guiente diagrama: Descripcinverbal

Descripcin formal: Tabla de verdad, mapa de Karnaugh, expresin de la funcin

1 i

Minimizacin: forma sp o ps mnima

Circuito En cada uno de estos pasos hay que realizar las siguientes acciones : 1 .- Dado un enunciado con palabras (descripcin verbal) de la funcin hay que obtener una primera representacin de dicha funcin mediante una tabla de verdad, un mapa de Kar-naugh 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 Karnaugh y el otro, tabular, que denominaremos de Quine-McCluskey. 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-OR.y NAND-NAND; si se obtienen las expresiones sp de las fun-ciones complementadas, el circuito puede implementarse con las estructuras AND-OR-NV, AND-NOR NAND-AND. Las estructuras duales (ORAND o NOR-NOR; y OR-AND-NV, OR-NAND NOR-OR) proporcionan los circuitos cuando se obtienen expresiones ps (de f y de f, respectivamente).
DSEO DE CRCUTOS COMBNACONALES

Estos pasos del proceso se realizan antes de tener en cuenta otros aspectos como son si la disponibilidad de las entradas es en nico rail, si el fan-out es limitado, si se dispone de cir-cuitos integrados en vez de puertas individuales, etc. Solamente no se siguen estos pasos cuando el circuito final no se obtiene a partir de expresiones sp (ps) . En estos casos (p.ej. en 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 Karnaugh . -Proceso de minimizacin por Quine-McCluskey . -Otros tipos de realizaciones. PROBLEMAS RESUELTOS

Problema 1.-Se tiene una palabra de 5 bits: los cuatro ltimos bits representan un dgito BCD; el primero es un bit de paridad impar. Obtenga la tabla de verdad (o el K-mapa) de las funciones siguientes: 1) f, se har "1 "para valores de entrada que no correspondan con dgitos BCD . 2) f2 se har "1 para palabras con paridad incorrecta .
Solucin Pl.-El circuito que se pretende disear tiene 5 seales de entrada . Sean a, b, c, d, e, siendo a el bit de paridad impar y b, c, d, e un nmero BCD. Por otra parte tiene dos salidas fl y f2 que toman los siguientes valores :

f1= 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 Karnaugh de las funciones son los siguientes :

abc abc 000 001 011 010 110 111 101 100 d 000 001 011 010 110 111 101 100 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 00 01 11 10 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1

f, f2
54 Problema 2.- Las normas de seguridad de los modernos aviones exigen que, para seales de vital importancia para la seguridad del aparato, los circuitos deben estar triplicados para que el fallo de uno de ellos no produzca una catstrofe . En caso de que los tres circuitos no produzcan la misma salida, sta se escoger mediante votacin . Disee el circuito "votador" que ha de utilizarse para obtener como resultado el valor mayoritario de las tres entradas .

Solucin P2.- El proceso de votacin consiste en tomar el valor mayoritario de las entradas . De esta forma, la salida, f, del circuito tendr la siguiente codificacin : f = 0 si hay ms ceros que unos en las entradas f = 1 si hay ms unos que ceros en las entradas El circuito votador tiene tres seales de entrada : a, b y c, que son las salidas de los cir-cuitos triplicados. Podemos construir el mapa de Karnaugh o bien la tabla de verdad:

abc f 000 0 001 0 010 0 0001 11 10 c 011 1 1000 0rol 101 1 1 raEC'i~ 110 1 1111 BC En el mapa de Karnaugh seleccionamos las implicantes de la funcin, A, B y C y realizamos un cubrimiento ptimo: f = A+B+C = ab+bc+ac Un circuito hecho slo con puertas NAND es el siguiente :

Problema 3.- Se pretende disear un circuito combinacional que tenga como entrada un dgi-to BCD natural y como salida la parte entera del cociente de su divisin por tres . Se pide: a) expresar las funciones mnimas de salida como suma de productos y como productos de sumas; b) obtener el circuito correspondiente a la mnima de estas expresiones, realizado con un solo tipo de puertas. Solucin P3.- La salida es un nmero, N, igual a la parte entera de dividir un dgito BCD por 3: N=Ent. [N2 BCD/3]. El mayor dgito BCD es 9, por tanto el mayor valor de N ser 3, mientras que el menor valor ser 0. Representaremos a N por dos bits: z1z0 = N(2.
DSEO DE CRCUTOS COMBNACONALES

La entrada es el dgito BCD que est formado por 4 dgitos binarios: x3x2x1xo. Teniendo en cuenta esto, podemos formar la tabla de verdad y, a partir de ella, el mapa de Karnaugh de cada una de las funciones de salida sabiendo que las celdas que no correspon-den a dgitos BCD (celdas 101- y 11--) son inespecificaciones (d) para las funciones :
x3x2x 1 x0

0000 0001 0010 0011 0100 0101 0110 0111

N 00 01 11 22

z1 zp

A
3 2 x l xo 3x2

H x1 x0 00 01 11 10 00 01 11 10

0000 00010 10110 10

00 01' 11 10 1 1

00 01 11 10

a_~
d ~l

riii d
2 3 10 11 B4
z1

NL1 ~G

1000 1001

ZO

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

ZS,=D+C = x3+x1x2 z11, = AB = (x3+x1) (X+x2)


zosP = + H + J=x3xo+x2x1+x2xlxo

zoPs=GFE=

(x2+xo) (x 1+x2 ) (x3+x2+x1)

El coste sp y ps de zo es el mismo, por lo que da igual realizarla slo con NAND o slo con NOR. (En la realizacin mnima de zola celda 15 es tomada como 1 parazospy como 0 para zops ; no se trata de un error sino del uso ms conveniente para esa inespecificacin) . Por otra parte, el coste de z1 en sp es menor que en ps por lo que la realizaremos con NAND :
x3 xo 2 X2 1 X1 x x2
X1 Xo

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 potencia de dos.
56 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 2 llegada de un nmero potencia de 2 . Las potencias de dos son: 20=1, 2'=2, 2 =4, 23=8. Cuando en la entrada se detecte alguno de estos nmeros, la salida tomar el valor 1 . El mapa de Karnaugh de esta funcin es el siguiente : ab c\ 00 01 11 10 0 0 0 1 0 1 01 1 0 0 0 f 11 0 0 0 0 10 1 0 0 0

La expresin mnima en forma sp es la siguiente : f= bcd + bcd+a_bcd + abcd


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

b _1 abdb

Problema 5.-Disee un circuito combinacional que acepte un nmero de tres bits y genere un nmero binario de salida igual al cuadrado del nmero de entrada .
Solucin P5.-Con tres bits, a b y c, se representan desde el 000-0 hasta el 111-7 . En la salida debe aparecer el cuadrado de la entrada:

abc- N. Dec . 000-0 001-1 010-2 011-3 100-4 101-5 110-6 111-7 (abc)2 0 1 4 9 162536 49

DSEO DE CRCUTOS COMBNACONALES

El mayor valor que debe aparecer en la salida es el 49. Para representar el 49 se necesitan 6 bits. Por tanto, el circuito posee 6 seales de salida, z 5z4z3z2zlzo, que toman los siguientes valores: abc- N. Dec. 000-0 001-1 010-2 011-3 100-4 101-5 110-6 111-7 000000 000001 000100 001001

Z5Z4Z3z2z

010000 011001 100100 110001

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

00 01 11 10 1\ 0 0 0 0 00 10 U z5= ab z4= ac+ ab z3= bc+ abc 0

00 01 11 10 z2= bc C 00 00 z1= 0 N1 o 000 11,1Oa> 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.-El 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 mnimas de salida como suma de productos y como producto de sumas. b) Obtener las expresiones correspondientes a cada una de las anteriores funciones realizadas con un solo tipo de puertas. Solucin P6.-De acuerdo con el enunciado, si H es el nmero decimal de la hora, (H-8)(2es el valor en binario asociado que acta como entrada del circuito. La ltima hora a sealar va desde las 18h a las 19h, por lo que en binario corresponde a (18-8)=10 . Se necesitan 4 bits para PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES poder representar los nmeros 0-10: a, b, c y d. Las salidas deben representar cuatro casos: descanso, ]irturno, 22turno y 3e' turno. Se necesitan, por tanto, dos seales de salida: z1zo, cuyo valor en binario representar los 4 casos con la siguiente codificacin : TURNO HORAS HORAS-8 z 1 zO 1 8-9-10 0-1-2 0 1 2 11-12 3-4 1 0 descanso 13-14-15 5-6-7 0 0 3 16-17-18 8-9-10 1 1

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

~Lr~1

~ V1 -J
z1=a+bcd+bcd z 1=(a + b + c)(a +c+d)(d+ b) z0=bc+bd zp=b(c+d)

b) Las expresiones sp son trasladables directamente a expresiones NAND-NAND y las ps a expresiones NOR-NOR. As: Expresiones: NAND-NAND z1= a(bcd)(bcd) zp=(bc)(bd) NOR-NOR z1=(a+b+c)+(a+c+d)+(d+ b) z0= b+(c +d) Las mnimas son: NAND-NAND para z1 y NOR-NOR para z0.

Problema 7.-Se pretende disear un circuito comparador de 2 nmeros de 2 bits, A=(a sao) y B=(b1,bo). Dicho circuito deber tener tres salidas M, 1, m, de tal forma que : M = 1 s A>8 1= 1 sii A=B m = 1 s A<8 Disese exclusivamente con puertas NOR .
Solucin P7.-Para hacerlo exclusivamente con puertas NOR obtendremos las expresiones ps de las tres salidas, M, 1 y m. Del enunciado se obtienen directamente los mapas de Karnaugh de cada una de las fun-ciones: DSEO DE CRCUTOS COMBNACONALES

0001 11 10 0001 11 10
1

Crac=~ !~1
/V00 VOL:J

or!

~~~J morra Dula=


LES

a
Mm

EN Za-

r-a ar`v~i
90 0
m = (bi+bo)(bi+ao)(b 1+a 1) (a l+bo) (a+ao) i =(al+i) (1+b1) (ao+b0) (o+bo)

M = (ai+ao)(a 1+bo)(a 1+E1) (b 1+ao)(bi+bo)

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 010 hacen explotar la puerta . Determine si hay que inutilizar las puertas o, por el contrario, pueden ser modificadas externamente (aadiendo un circuito) de forma que sea funcionalmente completa y que sin embargo no explote . ABC

1 11
BOMBA BOMBA(A,B,C) BOMBA(A,B,C) Solucin P8.-Debemos conseguir que el circuito no explote en ninguna combinacin de 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 : CRCUTO m BOMBA(a,b,c) = BOMBA(A,B,C) b A DSEAR B O m

Las salidas ABC=101 y 010 deben ser evitadas para que no explote el circuito . Como BOMBA(0,1,0) = 1, podemos hacer que para abc=010 las salidas ABC sean cualquiera de las que dan 1 en la salida del circuito BOMBA. Esto es, ABC= 000, 011, 100. Como BOMBA(1,0,1)= 0, podemos hacer que para abc=101 las salidas del circuito sean cualquiera

de las que dan 0 en la salida del circuito BOMBA. Esto es, ABC= 001, 110, 111 .

60 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Con el fin de no producir ms cambios, para cualquier otra combinacin de abc, 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 : abc = 0l0 -* ABC = 000 abc = 101 -ABC = 111 Con estas elecciones la nica seal que cambia es B mientras que A y C cumplen A=a y C=c. Del mapa de Karnaugh se obtiene una expresin de B en funcin de a, b y c :

B=ab+ac+bc

sal
al'l~~LJ1
Problema 9.-Utilizando el mapa de Karnaugh, determine las expresiones mnimas en suma de productos y producto de sumas de las siguientes funciones : a) f(x, y, z, u) = E(3, 4, 7, 8, 10, 11, 12, 13, 14) b) f(x, y, z, u) = E(0, 4, 6, 7, 10, 12, 13, 14) Solucin P9. a)
zxy00 01 11

C4:110.

a nono
00

01 ORO 1

jlezOC

11

non

e rol
z) (x+z+ u) (x+z+u) f=yzu+xyz+xzu+xyz+xu (y+ f=(x+y+

10
b)
zxy00 01 11 zxy00 11

1
ro

Enn

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

01

dan
o
uo 01 Lle

01

01a
nl
11 0n0 11 10

111
10

n01

f=xzu+xyz+xyz+xz f=(y+u)(x+y+z)(x+z+u)

(x+z+

(x+y+z)

DSEO DE CRCUTOS COMBNACONALES

Problema 10.-Simplifique f = E(1, 2, 7, 8, 19, 20, 25) + d(10, 11, 12, 13, 14, 15, 26, 27, 28)
Solucin P10. abc d 110 111 101 100 00

0 C 17 0

f=abe+abcde+cde+

+acde+acde+abce+acde 01 1 -0 0 0 0

110 00

G
10 CE -

Problema 11.-Razone si una OR de dos entradas con inhibicin puede ser funcionalmente completa si disponemos del "0" y del "1".Las variables se encuentran en nico ral. mplemen-te f=m 1+m3+m4+m6usando este tipo de puertas.
SolucinP11.-La puerta OR opera de acuerdo con la siguiente tabla:

z 1 0 x+y z 1 0: nhibicn 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:

.A

-1 A+B ?1 AB

Por tanto, la puerta es funcionalmente completa . Para implementar f=m1+m3+m4+m6 obtenemos una expresin mnima en forma sp a partir del mapa de Karnaugh y la implementamos directamente : la >_1 ac 0 1 >_1

`M ffiffila
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

>_1 ac f = c+ ac

Problema 12.-Un circuito que realiza la funcin z(a, b, c) est compuesto de dos subcircuitos (ver figura). La combinacin de entradas abc=001 nunca ocurre. La tabla de verdad del sub-circuito N, es la mostrada. Es posible cambiar algunos valores de u, v, x a inespecificacio nes sin modificar z(a, b, c)?. Si es as, indique todos ellos y realice un buen diseo de N 1 con puertas NOR tras obtener todos los valores inespecificados.
abc 0 0 0 001 010 01 1 1 1 uvx 0 0 1 1 1 1 1 0 1
1

N2

100 10 1 110 11 1

000 1 0 1 1

a b c

010 1 01

Solucin P12.-Llamemos P ala salida de la puerta EXOR: P = v O+ 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=1 . Por otra parte, P = v O+ x ,de forma que: P=0 si v=x;P=1siv=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 abc = 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 abc = 0 0 0, 0 1 1, 1 1 0, u = 0 y v,x=d,d. c) Valores de entrada que hacen P=O. Esto es, valores para los que v=x. En este caso u es inespecificacin . As, para abc = 010, 101, v=x y por tanto, u= d . La tabla de verdad considerando las inespecificaciones sera la siguiente : abc uvx 0000d 001dd 010d1 011 Odd 10011 10 1 d l l 110 Odd

d d 1 0

111101

DSEO DE CRCUTOS COMBNACONALES

Para disear el circuito N 1 con puertas NOR vamos a construir los mapas de Karnaugh y obtener las expresiones mnimas ps :

arv~o

Mal-0111

uo ma
u= a(b + c) v= a+b x=+c
>1 >1 >1>1

>1

>_1

Problema 13.-En la tabla representada aparecen todas las implicantes primas y todos los mintrminos de una funcin f(a,b,c,d) que tambin tiene inespecificaciones. Determine cules son los mintrminos (m, m) e implicantes (A, B) desconocidos, as como todas las inespecifi-caciones de la funcin. 3 5 7 812mm' ad XXX ac X bcX X cdX X A XX BX

Solucin P13.-La resolucin del problema puede efectuarse utilizando una representacin de la informacin que aporta la tabla del enunciado sobre un mapa de Karnaugh. En esta tabla aparecen expresiones de todas las implicantes primas menos dos (A y B) de la funcin y todos los mintrminos menos dos (m y m') . En el siguiente mapa se muestra la informacin de par-tida acerca de la funcin:
64 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

u= -u

=amo Ramo
f mplicante ad: Vale 1 cuando a = 1 y d = 0. Son las posiciones 8, 10, 12 y 14 sobre un mapa de Karnaugh. 8 y 12 son mintrminos de f. Como esta implicante cubre a m' este min-trmino solo puede ser el 10 el 14 . El que no sea m' ser una inespecificacin, d . mplicante ac : Vale 1 cuando a = 1 y c = 1 . Son las posiciones 10, 11, 14 y 15 sobre un mapa de Karnaugh. Esta implicante slo cubre a un mintrmino de f, m', por lo que posee tres inespecificaciones. De la implicante anterior se sabe que m' o es el mintrmino 10 el 14. De esta forma las posiciones 11 y 15 del mapa son inespecificaciones, d . mplicante Ec: Vale 1 cuando b = 0 y c = 1 . Son las posiciones 2, 3, 10 y 11 sobre un mapa de Karnaugh. Esta implicante solo cubre al mintrmino 3 y al m. La posicin 11 ya 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 10 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 . mplicante c d : Vale 1 cuando c = 1 y d = 1 . Son las posiciones 3, 7, 11 y 15 sobre el mapa de Karnaugh. 3 y 7 son mintrminos de f y 11 y 15 ya sabemos que son inespecificacio-nes por lo que esta implicante no aporta ms informacin. Con lo que hemos obtenido hasta ahora, el mapa de karnaugh de la funcin f queda de la siguiente manera: b d 0001 11 10

00

..01a
vpvR

01.a-.
11

10=a.1
f Falta por averiguar cules son la implicantes primas A y B. mplicante A: cubre a losmintrminos 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 esb DSEO DE CRCUTOS COMBNACONALES

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 Karnaugh, 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 . mplicante 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 bd. Resumiendo, el mapa de Karnaugh de f queda de la siguiente manera : ab

c\ 00 01 11 10

0 0 d 0 1 1

01 11 0 1 1 0 f 0 d 1 0

10 1

m=2 m` = 14 A=bd

d d B=bd

Problema 14.-El circuito de la figura ha sido diseado para comparar las magnitudes de dos nmeros binarios de dos bits a2aly b2b1 .Si z=1 e y=0, a2ales el mayor. Si z=0 e y=1, b2 b1 es el mayor. Si z=y=0, los dos nmeros son iguales. Sin embargo el circuito propuesto no cumple las especificaciones solicitadas. Compruebe este hecho y modifique el diseo para que sea correcto.

-z
a2

b a, Solucin P14.-Analicemos el circuito:

z=a,b1 (a2b2+a2b2)

a1 b 1a2b2+a1b1a2b2 y = a 1b1(a2b2+a2b2) =a,b,a2b2+a,b1a2b2


66 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Ahora vamos a construir los mapas de Karnaugh correspondientes a las funciones de z e y que suministra el circuito y el mapa de Karnaugh correspondiente a la funcin especificada en el enunciado : CRCUTO FUNCN ESPECFCADA

a2al
b2\ 00 01 11 10 0 0 0 0 0 1 0 0 01 1 1 0 0 0 0 1 0 10 00 00 01 zy 00 10 b2\ 00 01 11 0 0 0 0 0 1 0 1 0 1

a2al
01 10 00 01 01 1 1 1 0 1 0 0 0 1 0 10 10 10 01 00 zy

10 00 00

00 00 00

Se observa que (zy)cir # (zy)func . En particular las diferencias estn en que tanto z como y tienen 4 mintrminos ms en la funcin especificada que en el circuito suministrado en las siguientes posiciones:

---DJ ----r ---- a-.


EN
z a2b2 y
As, las funciones correctas sern : Z zc+a2b2

al

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

L
C

>1

Zfunc

>_1 a2-a C Ycir >1 -Yfunc bl al DSEO DE CRCUTOS COMBNACONALES

Problema 15.-Las funciones del circuito de la figura dependen, en general, de las variables (w,x,y,z). Sabiendo que f= E (0, 4, 9, 10, 11, 12): a)Determine

completamente las funciones f2:# 0 y f3 :#0 (incluyendo inespecificaciones). b)Realice los circuitos que proporcionan f2 y f3.
w xf z f -s f f

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

wx 0 0 1 Y\ 00 01 11 10 0 0 0 0 0 0 f 0 0 0 1 1 1 01 1 1 1 1 10 0

wx 0 0 Y\ 00 01 11 10 0 0 0 0 0 0 H 0 0 0 01 11 10 01 1 1 10 0 \ y 00

wx 0 0 01 1 1 10 0

0 0 0

0 0 0 f3

0 0 0

Por otra parte, H = f1 f2 = (x0 z)f2. De aqu que los mintrminos de H son mintrminos de f1 y de f2, mientras que los maxtrminos de H son maxtrminos de f1 de f2. Como f1 es conocida, a partir de ella y de H se obtiene parte del mapa de f2 : wx f2 est inespecificada en aquellas celdas en las queH=Oyf1 = 0. Por otra parte, f2 = 0 en celdas en las que H = 0 yfi=1 . -Revisando los mapas de H, f2 , f3 y f podemos concluir lo siguiente : -H vale 0 en las celdas 0 y 10 porque f 1 vale 0 en esas celdas. Como f = 1 en las celdas 0 y 10, f3 tiene que valer 1 en esas mismas celdas . -Como f2 tiene que ser distinta de 0, tendr algn mintrmino en alguna de las celdas
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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, f3 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 0001 11 10 Y\ ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c69 6e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049 454320735247420000000000000000000000000000f6d6000100000000d32d48502020000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000116370 7274000001500000003364657363000001840000006c77747074000001f000000014626b7074000002040 00000147258595a00000218000000146758595a0000022c000000146258595a0000024000000014646d6e 640000025400000070646d6464000002c400000088767565640000034c0000008676696577000003d4000

000246c756d69000003f8000000146d6561730000040c0000002474656368000004300000000c725452430 000043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436f707 97269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e79000064657 3630000000000000012735247422049454336313936362d322e3100000000000000000000001273524742 2049454336313936362d322e31000000000000000000000000000000000000000000000000000000 001

=amo ffd8ffe000104a4649460001 0201012d012c0000ffe20c58 4943435f50524f46494c4500 010100000c484c696e6f0210 00006d6e747252474220585 95a2007ce00020009000600 310000616373704d5346540 00000004945432073524742 00000000000000000000000 00000f6d6000100000000d32 d4850202000000000000000 00000000000000000000000 00000000000000000000000 00000000000000000000000 00000000000116370727400 00015000000033646573630 00001840000006c77747074 000001f000000014626b7074 00000204000000147258595

a0000021800000014675859 5a0000022c0000001462585 95a0000024000000014646d 6e640000025400000070646 d6464000002c40000008876 7565640000034c000000867 6696577000003d400000024 6c756d69000003f800000014 6d6561730000040c0000002 47465636800000430000000 0c725452430000043c00000 80c675452430000043c0000 080c625452430000043c000 0080c746578740000000043 6f7079726967687420286329 2031393938204865776c657 4742d5061636b6172642043 6f6d70616e79000064657363 00000000000000127352474 22049454336313936362d32 2e310000000000000000000 00012735247422049454336

313936362d322e310000000 00000000000000000000000 00000000000000000000000 0


ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50 524f46494c4500010100000c484c696e6f021000006d6e7472524742 2058595a2007ce00020009000600310000616373704d53465400000 00049454320735247420000000000000000000000000000f6d60001 00000000d32d4850202000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000 00001163707274000001500000003364657363000001840000006c7 7747074000001f000000014626b707400000204000000147258595a 00000218000000146758595a0000022c000000146258595a0000024 000000014646d6e640000025400000070646d6464000002c4000000 88767565640000034c0000008676696577000003d4000000246c756 d69000003f8000000146d6561730000040c00000024746563680000 04300000000c725452430000043c0000080c675452430000043c000 0080c625452430000043c0000080c7465787400000000436f7079726 9676874202863292031393938204865776c6574742d5061636b6172 6420436f6d70616e790000646573630000000000000012735247422 049454336313936362d322e31000000000000000000000012735247 422049454336313936362d322e31000000000000000000000000000 00000000000000000000000000001 000 11000 1 f3
10000 1 b) De los mapas de f2 y f3 obtenemos expresiones para f2 y f3: wx wx 0001 11 10 00 0

00_1

Yz

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010 100000c484c696e6f021000006d6e74725247422058595a2007ce00020009000600310000 616373704d5346540000000049454320735247420000000000000000000000000000f6d60 00100000000d32d485020200000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000116370727400000150000000336 4657363000001840000006c77747074000001f000000014626b7074000002040000001472 58595a00000218000000146758595a0000022c000000146258595a0000024000000014646 d6e640000025400000070646d6464000002c400000088767565640000034c000000867669 6577000003d4000000246c756d69000003f8000000146d6561730000040c0000002474656 368000004300000000c725452430000043c0000080c675452430000043c0000080c625452 430000043c0000080c7465787400000000436f70797269676874202863292031393938204

865776c6574742d5061636b61726420436f6d70616e790000646573630000000000000012 735247422049454336313936362d322e3100000000000000000000001273524742204945 4336313936362d322e310000000000000000000000000000000000000000000000000000 00 01 0

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f5 0524f46494c4500010100000c484c696e6f021000006d6e747252474 22058595a2007ce00020009000600310000616373704d5346540000 000049454320735247420000000000000000000000000000f6d6000 100000000d32d485020200000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000 000001163707274000001500000003364657363000001840000006c 77747074000001f000000014626b707400000204000000147258595 a00000218000000146758595a0000022c000000146258595a000002 4000000014646d6e640000025400000070646d6464000002c400000 088767565640000034c0000008676696577000003d4000000246c75 6d69000003f8000000146d6561730000040c0000002474656368000 004300000000c725452430000043c0000080c675452430000043c00 00080c625452430000043c0000080c7465787400000000436f707972 69676874202863292031393938204865776c6574742d5061636b617 26420436f6d70616e79000064657363000000000000001273524742 2049454336313936362d322e3100000000000000000000001273524 7422049454336313936362d322e3100000000000000000000000000 0000000000000000000000000000 f3=wyz+wxy 10000 = wY 11 0 0 0 n

00

11

Problema 16.-En la 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 : 0 0 1 d 0 d 0 1 d d d d 1 1 d 0 0 0 10 d 0 0 1 z ab

cd 00 01 11 10

a) z pasa a depender de slo dos variables . b) z tiene nicamente cinco mintrminos sin implicantes superiores . c) z tiene exactamente cuatro implicantes primas. d) z tiene una implicante prima no esencial . e) z tiene 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
DSEO DE CRCUTOS COMBNACONALES mintrminos. El resto de inespecificaciones se sustituirn por maxtrminos .El mapa de Karnaugh y la expresin final de z quedan como sigue : ab cd 00 01 11 10 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 10 1 0 0 1

z=bd

b) Para que no haya implicantes superiores, no puede haber dos mintrminos adyacentes. El mapa quedara de la siguiente manera: ab cd 0001 1110 00 1010 010 100 11000 0 1000 1 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 :

d) Una implicante prima no esencial no posee ningn mintrmino distinguido: . prima ab mplicante 00 01 11 10 cd no esencial 00 1) 10 H
01 1100 11 0000

10 000

70 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

e) En el siguiente mapa existen dos implicantes primas y dos implicadas primas (implicada como agrupacin de maxtrminos) :

Jv~a-

u w~w
Problema 17.-Realice la funcin f con puertas: a) NAND, b) NOR.
f = abcd + atice + acde + atice + bce + atic
Solucin P17.

abcd + abec

a) Para realizar la funcin con puertas NAND vamos a obtener la expresin mnima en forma de suma de productos (sp) que nos da una forma directa de implementarla en dos niveles de puertas NAND. Para obtener la expresin mnima vamos a aplicar el mtodo de Quine-McCluskey . Este mtodo parte de la expresin suma de mintrminos de la funcin . En primer lugar, obtenemos esa expresin a partir de la que nos dan. Para ello construimos el mapa de Karnaugh :

000 001 011 010 110 111


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

10 1
0 1 1 1 0 1 1 0

100

f= 1 (4,6,9,11,12,13,17,19,21,22,23,25,27,29)
Una vez con la expresin suma de mintrminos, el mtodo consta de dos partes : 1) Obtencin de las implicantes primas . El procedimiento de obtencin de las implicantes primas consta de los siguientes pasos : 1) Listar todos los mintrminos por su ndice (nmero de unos del cdigo asociado a cada mintrmino) . 2) Comparar cada mintrmino de ndice j (empezando por j=0) con cada mintrmino de ndice j+l . En el caso de ser adyacentes: a) Formar una nueva pareja con ambos mintrminos e incluirla en una nueva lista, dentro del grupo de ndice j. (Cada pareja es una impli-cante) . b) Marcar ambos mintrminos . DSEO DE CRCUTOS COMBNACONALES

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+l . 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 proceso. El desarrollo de estos pasos, en este caso, es el siguiente : Mintrminos listados mplicantes de mplicantes de por su ndice dos mintrminos cuatro mintrminos (4,6)-2 J (4,12)-8 1 (9,11,25,27)-2,16 E ndice 1 4< (9,13,25,29)-4,16 D (6,22)-16 H 6< 9< (17,19,21,23)-2,4 C (9,1l)-2< (17,19,25,27)-2,8 B ndice 2 (9,13)-4< (17,21,25,29)-4,8 A12< (9,25)-16< 17< (12,13)-1 G Expresin de cada implicante(17,19)-2< 13< de ndice 3 (1 7,25)-8< A 1--01 ad B 1-0-1 a e e 22< (13,29)-16< C 11< (17,21)-4< abc

19< 21< (11,27)-l6<

lo

1 abe 25< (1 9,23)-4< D -1-01 bde (19,27)-8< E -10-1 b e e

23< ndice 4 27< 29<

(21,23)-2<

F 1011-abcd

(21,29)-8<

(22,23)-1 F G 0110-abcd (25,27)-2< H -0110 bcd-e

(25,29)-4<

1 0- 100 acde J 001-0 asee

) 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 cabezas 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 .

72 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES 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 :

6 9 11121317:19212223252729 A ~{ t{X

x.....
. ... ..... . ...... ...... ............. ......... .... ... .........
.... X... .

....

xX

..
.

C.... ...... ...... ............. ............. ... .. .. .... .................. .... ... .l.x.... .. . .... ............. ..... . ,. A
. D X t{X EXX X F XX G XX HX X X X ' JX 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 mplicante 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 6 12 1322 29 A ; ;~. . ......... ....... . ..... ............ ....... . . ...
S

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c48 4c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d53465400 00000049454320735247420000000000000000000000000000f6d6000100000000d32d48502020000 000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000001163707274000001500000003364657363000001840000006c77747074000001f000000 014626b707400000204000000147258595a00000218000000146758595a0000022c00000014625859 5a0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034 c0000008676696577000003d4000000246c756d69000003f8000000146d6561730000040c000000247 4656368000004300000000c725452430000043c0000080c675452430000043c0000080c6254524300 00043c0000080c7465787400000000436f70797269676874202863292031393938204865776c657474 2d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313 936362d322e31000000000000000000000012735247422049454336313936362d322e310000000000 00000000000000000000000000000000000000000000
-0. ....

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

V.....

c.......... ........ .......... .

1 X
DSEO DE CRCUTOS COMBNACONALES

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 1 y J es dominada por 1. Eliminamos G y J. Columnas distinguidas secundarias: 4 -* 1 es esencial y con ella la funcin queda com-pletamente cubierta. Por tanto :

f = E+C+H+D+ = bce+abe+bcd+bde+cd
b) Con puertas NOR, el procedimiento es similar con las diferencias de que hay que obtener una expresin mnima en forma producto de sumas (ps) y, por tanto, hay que partir de la expresin producto de maxtrminos de f. A partir de esta expresin, el mtodo de Quine-Mc-Cluskey se aplica exactamente igual que en el caso anterior. La solucin que se obtiene es la siguiente:

f = (c+e) (a+b+) (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, Carmen y Diana. Puede invitar a ms de una chica pero no a las cuatro. Para no romper corazones, ha establecido las siguientes normas: -Si invita a Bea, debe invitar tambin a Carmen . -Si invita a Ana y a Carmen, deber tambin invitar a Bea o a Diana. -Si invita a Carmen 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-McCluskey) . 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 . OBTENCN DE LA FUNCN: En el enunciado se indican 5 condiciones a cumplir : -C 1: Que no va solo. - C2: Que no van las 4 chicas juntas . -C3 :Si va B (Bea), debe ir C (Carmen). - C4:Si van A y C, 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 = C1+ C2+ C3+ C4+ C5 Debemos encontrar los trminos productos asociados a cada condicin, teniendo en cuenta lo siguiente:

74 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

CX = 1 si no se cumple la condicin. CX = 0 si se cumple la condicin. La condicin C 1 se incumple en el caso de que no vaya ninguna chica, esto es, en el caso de que A=0 B=0 C=0 y D=0. En este caso C1=1. El trmino producto asociado a esta condicin es el mintrmino 0: C 1=A BCD. La condicin C2 se incumple en el caso de que vayan todas las chicas, esto es, en el caso de que A=1 B=1 C=1 y D=1. En este caso C2=1. El trmino producto asociado a esta condicin es el mintrmino 15: C2=A B C D. La condicin C3 se incumple en el caso de que vaya B y no vaya C . Esto es, si B=1 y C=0. En este caso C3=1. El trmino producto asociado a esta condicin es: C3=B C. La condicin C4 se incumple en el caso de que vayan A y C y no vayan ni B ni D . Esto es, si A=1 C=1 B=0 y D=0. En este caso C4=1. El trmino producto asociado a esta condicin es: C4=A C B D. La condicin C5 se incumple en el caso de que vayan C o D o no vaya A y no vaya B . Esto es, si (C=1 D=1 A=0) y B=O. En este caso C5=1. El trmino asociado a esta condicin es: C5=(C+D+A)B= A B+ B C+ B D. De esta forma se obtiene que F=ABCD+ABCD+BC+ACBD+AB+BC+BD En forma de suma de mintrminos queda : F = E (0,1,2,3,4,5,9,10,11,12,13,15) A continuacin, vamos a obtener una expresin ptima de F mediante el mtodo de Quine-McCluskey que consta de dos partes . 1) Obtencin de las implicantes primas. En nuestro caso, se obtiene :

Mintrminos listados mplicantes de mplicantes de por su ndice dos mntrminos cuatro mntrminos (0,1,2,3)-2,1 11 ndice 0 0< (0,1)-1< (0,1,4,5)-4,1 12
(0,2)-2< 1< (0,4)-2< (1,3,9,11)-8,2 13 2< (1,5,9,13)-8,4 14 ndice 1 4< (1,3)-2< (2,3,10,11)-8,1 15 (1,5)-4< (4,5,12,13)-8,1 16 3< (1,9)-8< 5< (2,3)-1< (9,11,13,15)-4,2 17

ndice 2 9< (2,10)-8<


10< (4,5)-1 <

12< (4,12)-8< ndice 3

Expresin de cada implicante


ABCD

11 00--B 13< (5,13)-8< (9,11)-2< 12 0-0-AC ndice 4 15< (9,13)-4< 13 -0-1 BD (10,11)-1< 14 --01 CD (12,13)-1< 15 -01-BC (11,15)-4< 16 -10-BC (13,15)-2<
DSEO DE CRCUTOS COMBNACONALES

11 < (3,11)-8<

17 1--1 AD

) Cubrimiento mnimo Construimos la tabla de implicantes:

0 AX BX C D

1 X X X X

2 X

3 X

4 X

5
X

10

11

12

13

15

X X .
.....

X X

E
- ----o

. . ...

k. . .

....

F
..... .......

....... .... . K

.... ..x ....... ...... . .. .. ..... .. .

.......;

...... .....

..... .

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

..... .. . .... ..... .... ..... ....... -. . ..i .. .....

10 es una columna distinguida, entonces, E es una implicante prima esencial. Se elimi-nan los mintrminos de E: 2, 3, 10, 1 . Lo mismo ocurre con la columna 12 y la implicante F, y se eliminarn los mintrminos de F : 4, 5, 12, 13. 15 tambin es una columna distinguida e G es una implicante prima esencial . En este

caso se eliminan los mintrminos de G: 9, 11, 11, 15. En este punto reescribimos la tabla eliminando las columnas y filas ya tachadas .
10

1 X BXX ..... ....

. . . .e .

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 A como B cubren todos los mintrmi-nos que faltan y adems tienen el mismo coste, por lo que se puede elegir cualquiera de ellas. AB Por tanto : F = E+F+G+ A = BC+BC+AD+ B 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 xxx
C

xE F

xx x
H
X

xx
La empresa quiere construir almacenes de forma que cada pueblo, o bien tenga un almacn o bien un pueblo vecino lo tenga. 76 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

a) Determine todas las formas de hacerlo construyendo el menor nmero de almacenes posibles. b) Si en los pueblos A y G se ponen almacenes por tener mayor 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: ABCDE FGH aXX XX bX XX X c XXX XX dXXXX X e XXX fX XXX gX XX h XX 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 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 : AB E FG aXX X bXX cX X dXXX e XX fX XX gX XX

todos los cubrimientos mnimos, no se debe aplicar el criterio de eliminar filas

dominadas, ya que este criterio elimina algunas soluciones mnimas.

DSEO DE CRCUTOS COMBNACONALES

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 : nstalar almacn en d en e en f . Analicemos cada una de ellas: 1.- Eligiendo d: Eliminamos las filas que cubre d: A, B, y E quedando la siguiente tabla :
FG aX b cX eX fX gX XX 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 XX bXX

c XX dXX fX gX hX

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:
BG aX bX cXX dX gX h 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) :

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 dX eX
1

Hay, pues, tres soluciones mnimas en esta caso son : {A,G,E}, {A,G,D} y {A,G,F} .

Problema 20.-Disee, con el menor nmero posible de puertas, un divisor por 2 de un dgito BCD. D el resultado con una cifra decimal (tambin en BCD) .
SolucinP20.-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: z3z2z1_ z0.u3u2u1u0, donde z3z2z1z0 representa el dgito BCD de la parte entera de la divisin y u3u2u1u0 el dgito BCD de la parte fraccionaria. La tabla de verdad del circuito es la siguiente: ENTRADAS SALDAS N a b c d N/2 z3z2z1z0.u3u2u1u0 0 0 0 0 0 0.0 0 0 0 0.0 0 0 0 1 0 0 0 1 0.5 0 0 0 0.0 1 0 1 2 0 0 1 0 1.0 0 0 0 1. 0 0 0 0 3 0 0 1 1 1.5 0 0 0 1.0 1 0 1 4 0 1 0 0 2.0 0 0 1 0.0 0 0 0 5 0101 2.5 0010.0101 6 0 1 1 0 3.0 0 0 1 1.0 0 0 0 7 01 1 1 3.5 001 1.0101 8 1 0 0 0 4.0 0 1 0 0.0 0 0 0 9 1001 4.5 0100.0101

DSEO DE CRCUTOS COMBNACONALES

De la tabla de verdad se obtiene una expresin para cada salida sin ms que comparar las columnas de cada salida con las columnas de las entradas . As se tiene: z3=0,z2=a,z1=b, z0=c,u3=0,u2=d,u1=0,up=d.

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

Solucin P21.-La puerta LMON realiza la siguiente funcin : LMON(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(1,x,1,1)=x), de dos variables (por ejemplo L(l,x,y,1) = xy), de 3 variables (por ejemplo L(O,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 LMON. Del mapa de Kamaugh se obtiene la siguiente expresin para f :

n
090
f = vy + v x y + v x z + xyz (1) x y z (2) f

Tenemos dos opciones para f, (1) y (2). Como slo disponemos de tres puertas LMON y la funcin f tiene 4 trminos productos, debemos usar una puerta LMON 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 productosv x y y x yz. La suma de estos trminos productos la podemos implementar con la siguiente puerta LMON : LMON(v,x,y,z) = v x y + x y z = L 1 Los otros dos trminos productos los implementamos cada uno de ellos con una puerta LMON de la siguiente manera: LMON (l,v,y,1)= v y = L2. LMON(v,x,z,0)=vxz = L3. Por tanto: f= L, +L2+L3 b) Con la puerta LMON podemos implementar trminos productos de hasta tres variables. Para implementar un trmino producto de ms de tres variables necesitamos ms de una puerta LMON pero es posible implementarlo. Por tanto s es posible implementar cualquier funcin utilizando exclusivamente puertas 'LMON (con tantos niveles como se necesiten) y puertas OR.
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 22.-Se desea enviar mensajes de tres bits de una estacin a otra y, para evitar en lo posible los errores, se ha decidido aadirle al mensaje un bit de paridad impar . Disponiendo nicamente de puertas EXOR y NO-EXOR de dos entradas: a) Disee el circuito que genere ese bit de paridad impar en la estacin emisora. b) Disee tambin el circuito que compruebe en la estacin receptora que el mensaje recibido es correcto. c) Generalice ambos apartados para n bits. Solucin P22. a) El enunciado nos pide disear un circuito que genere un bit de paridad impar a un c-digo de 3bits:

b P = 0 si el n-de "1" en abc es impar CRCUTO P = 1 si el n2 de "" COMBNACONAL p en abc es par Hay que disear el circuito usando exclusivamente puertas EXOR y NO-EXOR. La funcin EXOR se hace 1 cuando el nmero de 1 `s en sus variables es impar . Enton ces, teniendoen cuentaladefinicindeP, P es el complemento de la funcin EXOR de a, b y c : P = a$b(Dc = (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 :

b E = 0 si el n4de "1" en abcP es impar

CRCUTO E = 1 si el n-de "1" E en abcP es parCOMBNACONAL 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 = aObOcOP = (aOb) O (cOP)

DSEO DE CRCUTOS COMBNACONALES As, el circuito combinacional que genera P es el siguiente : a b _ =1

o- E c) Generalizacin al caso de n bits : xn-1,xn-2 x1 ,x0. En el caso del generador de bit de paridad impar, la funcin del bit de paridad P es : P = 1 si el nmero de 1 `s en los n bits es impar P = 0 si el nmero de 1 `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 = x-1O+xi20+ O+ x1Oxo 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+l bits es impar E = 0 si el nmero de l's en los n+l 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 = POxi_1O+x,i-20+
Problema 23.-La expresin algebraica Co=Ao Ck=(Ao+ A1+ . . . + Ak_1) O+Ak k = 1, 2, ... proporciona el valor de la salida Ckde un circuito en funcin de las entradas A0, ., Ak-1, Ak. (a) Disee el 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 al mdulo dise-ado en (a), para que el nuevo circuito de 12 bits pueda operar correctamente .

(DX +OX0

Solucin P23.- Para 4 bits de entrada existen 4 bits de salida cuyas expresiones y el circuito final son las siguientes :
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

A2 Ao Co=Ao ?1 >1

C1=Ao +OA 1 C2 = (Ao+A1) OA2 C3 =( Ao+A1+A2) +OA3 C3

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

A3 A2 Al Ao 0 0 0 0 1 1 1 00 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0

C3 C2 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0

C 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

Co

0 0 0 0 0 0

0 1 0 1 0 1

0 1 0 1 0 1 01 0 1 0 1 0 1 0 1 C3-o= Ca 2 (A3-o)

c) Para obtener la variable Ckhay que ir arrastrando la operacin OR de las K variables de entrada anteriores (A0 hasta Ak 1 ). Para ello hay que aadir al mdulo de 4 bits
_

diseado en el apartado a) una seal de entrada, Kin, 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 Ao sino como la operacin EXOR de Aoy Kin(enKinse conectar la sealKoutdel mdulo an-terior o bien un 0 si es el primer mdulo de la cadena) .

DSEO DE CRCUTOS COMBNACONALES

A3 Kout _1

Mdulo de 4 entradas y 4 salidas A2 A1 >_1 >_1 >_1

Ao

Kin

1
=1 =1 =1 =1

A11

Aj o

C3 A9 A8 A3 A 2
C 2

c, Conexin A7 entre
A6 A5 mdulos A4 A l C l Ao Kin
CO

A 3 A l
Cl

Bo A2 Al A3 Kout C3

Ao A 2
C

A3 Kout C3

A 2
C

Ao Kin

A 1
C

Ao Kin 0

Kout
C3

Co

Co

C11C10C9C8 C7C6C5C4 C3C2C1Co

PROBLEMAS CON SOLUCN RESUMDA

Problema 24.-Dada la funcin de la figura, obtenga la mnima expresin en forma de suma de productos. c b a oo0 001 011 ojo 110 111 101
100 000 0000 1 00 010000 1 100 111 11 1 1000 lo00 00 0 SolucinP24.-f=abe+abcd+acde+abde

Problema 25.-Disee de forma ptima, un circuito que genere la funcin f(a,b,c,d,e) y cuya realizacin sea en dos niveles : a) f = E(0, 1, 5, 6, 9) + d (10, 11, 12, 13, 14, 15) . b) f = 1( 0, 2, 5, 7, 13, 15, 18, 26, 29, 31) + d(20, 24, 28) .

84 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P25. a)fsp=b c+bcd+c d fps =(+d) (b+c) (c+d) (b+c+d) b)fsp=ac e+bce+a tice+acd e fps=(c+ e) (c + e) (a + b + c) (a + d + e) (a+ b + e)

Problema 26.-Sea F una funcin de un dgito BCD y de una entrada de control X. F vale "1 " en los siguientes casos:

1) Si X= 1 y el n BCD es mltiplo de 3. 2) Si X=0 y el n BCD tiene un n2impar de unos. mplemente F como un circuito en dos niveles utilizando puertas NAND.

Solucin P26.-El mapa de Karnaugh y una expresin en forma sp (para implementar la funcin en dos niveles NAND-NAND) son los siguientes : Xab d 000 001 011 010 110 111 101 100

00

Lp
R d

Ei

01 0

11

C~

,v f

10 o~4\ d

1
f = Xbcd+Xbcd+Xbcd+Xbcd+Xad+Xad+Xbcd+Xbcd+Xbcd
Problema 27.-Redisee el circuito de la figura con puertas NAND solamente.

x y z Solucin P27.-Primero hay que analizarlo, para posteriormentebuscar una expresin en suma de productos:

f = xy+ (y+z) = x+y+yz = x+y(1 +z) = x+y = xy


DSEO DE CRCUTOS COMBNACONALES

Problema 28.- Disee un circuito cuya salida sea el resto de la divisin de un nmero A de tres bits entre un nmero B de dos . El nmero B nunca puede ser cero.
Solucin P28.-El mapa de Karnaugh y las expresiones en forma sp para las dos salidas que forman el "resto" de la divisin son los siguientes :

011

010 110

11 1

10 1

100

dd 00 00 00

dd 00 01 01

dd 00 00 01

dd 00 10 00

dd 00 00 00

dd 00 01 01

dd 00 10 01

dd 00 01 00

ra ro

r, =a2a,aoblbo+a2a,aob,bo ro= aobo+a2a,aob1+a2a1aob1+a2a,aoblbo

Problema 29.- Un sistema sencillo para hacer votacin secreta es utilizar un circuito combi-nacional cuyas entradas estn controladas por interruptores que puedan accionar los miem-bros del jurado. Cada miembro votar con un S o un NO (no hay abstenciones) . Elsistema que queremos realizar es el siguiente . Hay dos tribunales: A y B. El tribunal A tiene 4 miembros (a,b,c, y d) y el tribunal B tres (e,f, y g). El veredicto deber ser ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696 e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d53465400000000494 54320735247420000000000000000000000000000f6d6000100000000d32d485020200000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000001163707 274000001500000003364657363000001840000006c77747074000001f000000014626b70740000020400 0000147258595a00000218000000146758595a0000022c000000146258595a0000024000000014646d6e6 40000025400000070646d6464000002c400000088767565640000034c0000008676696577000003d40000 00246c756d69000003f8000000146d6561730000040c0000002474656368000004300000000c7254524300 00043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436f7079 7269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e790000646573 630000000000000012735247422049454336313936362d322e31000000000000000000000012735247422 049454336313936362d322e31000000000000000000000000000000000000000000000000000000

-El del tribunal A en el caso de que no se produzca empate. -4 Si se produce empate en el tribunal A, el veredicto ser el del tribunal B . Disee el circuito segn el diagrama de bloques de la figura:
CRCUTO A CRCUTO C f CRCUTO B

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: F1F2 = 0 0 cuando gana NO en la votacin del tribunal A. F1F2 = 0 1 cuando gana S en la votacin del tribunal A . F1F2 = 1- cuando se empata en la votacin del tribunal A.

86 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Del circuito B: F3 = 0 cuando gana NO en la votacin del tribunal B . F3 = 1 cuando gana S en la votacin del tribunal B . Del circuito C: S = 0 cuando gana NO en la votacin global . S = 1 cuando gana S en la votacin global . Los mapas de Karnaugh para cada una de las funciones y sus expresiones en forma sp son los siguientes: ab ab cd\ 00 01 11 10 cd\ 00 01 11 10 00 01 11 0 0 1 0 1 0 1 0 0 0 1 0 00 01 11 0 0 d 0 d 1 d 1 1 0 d 1

10

10

F=bcd+bcd+bcd+ a b e d + a b c d + a b c d F2=a b + c d

u aoo
F3=ef+eg+fg S= F1F2+ F1F3

Problema 30.-Se desean visualizar las siguientes representaciones utilizando un visualiza-dor de 7 segmentos. Disee un circuito de tres entradas que encienda correctamente el seg-mento g. REPRESENTACONES VSUALZADOR 7 SEGMENTOS
El _ P CC 1 1 uLUL 1

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.
DSEO DE CRCUTOS COMBNACONALES

Son 6 casos los que hay que representar por lo que se necesitan tres entradas : x, y, z: REPRESENTACONES x y z g > 000 1

001 1

ur L
010 0

U> 011 1 C
L 100 1

g=y+z

> 101 1

Problema 31.-Una caja de seguridad dispone de 5 cerrojos (V,W,X,Y,Z) los cuales deben ser desbloqueados para abrirla caja. Las llaves de la caja estn distribuidas entre 5 ejecutivos de la siguiente manera: A tiene llaves para los cerrojos V, X; B para V, Y; C para W, Y; D para X, Z; E para V, ZZ a) Determine todas las combinaciones mnimas de ejecutivos requeridos para abrir la caja. b) Determine el ejecutivo "esencial".
Solucin P31.-Es un problema de cubrimiento mnimo y para resolverlo se debe aplicar el mtodo ya conocido (vanse los Problemas 17 y 19) . La tabla de cubrimiento es : V A B C D E x x x x x X x x x x x y z

Las combinaciones de ejecutivos mnimas que se obtienen con esta tabla de cubrimiento son: (A, C, E} (A, C, D) {B, C, D}{C, D, E} .El ejecutivo "esencial" es el C .
Problema 32.- Dada una palabra "A" de n bits y una seal de control "C", disear un circuito combinacional cuya salida sea el complemento a 1 (Ca 1) el complemento a 2 (Ca2), segn el valor de C. Utilice exclusivamente puertas EXOR y OR.
Solucin P32.-Sea A=An_1An_2 A1Ap el nmero de entrada y B = Bn_1Bn_2 B1Bp el nmero de salida. El

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

PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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


n

_ 1An-?l >1

=1 Bn-1

Problema 33.-Una luz se enciende cuando su seal de excitacin est en nivel bajo . Esta seal est controlada por un circuito de cuatro entradas: x, ->orden de encender la luz, activa en bajo; x2->orden de inhibir la luz, activa en bajo; x3->orden de emergencia, activa en bajo; x4->aviso del estado de la luz en la calle : "1" si es de da, "0" si es de noche . La luz se debe iluminar

cuando haya orden de encenderla, el estado de la luz exterior sea el apropiado y no haya inhibicin, excepto si hay emergencia, en cuyo caso la luz se enciende independiente-mente de las otras seales. De una tabla de verdad del circuito que controla la luz disendolo con los elementos que estime oportunos. Solucin P33.-Funcin de salida: L=0 luz encendida. L = 1 luz apagada. Variables de entrada: x1 = 0 encender luz. x 1 = 1 no encender luz. x2 = 0 inhibir luz. x2 = 1 no inhibir luz. x3 = 0 emergencia. x3 = 1 no emergencia. x4 = 0 es de noche. X4= 1 es de da. Funcin L: L = 0 si se enciende y es de noche y no hay inhibicin: (xt+x4+x2). L = 0 si hay emergencia: x3 L = (x 1+x4+x2)x3 .

Captulo 5 SUBSSTEMAS COMBNACONALES

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 MS y cuya funcionalidad va mucho ms all de las meras operaciones algebraicas. Una clasificacin atendiendo a dicha funcionalidad los divide en subsistemas de propsito especfico y subsistemas de propsito general. Los primeros realizan funciones fijas, mientras que los segundos realizan cualquier funcin lgica mediante una "programacin" interna o de sus entradas y salidas . Antes de conocer uno a uno los dispositivos que componen ambos grupos, destacamos algunas caractersticas comunes . En cuanto a los tipos de entradas se pueden distinguir dos : las de control y las de datos . Las primeras controlan la operacin del dispositivo y suelen recibir nombres como el de seal de habilitacin (Enable). Y las segundas corresponden a las variables independientes de las funciones que desarrollan. Es importante destacar que en estos dispositivos, cada entrada de dato suele poseer un peso asociado, de modo que las entradas no son intercambiables como ocurra en las puertas. Respecto a las salidas, tambin existen las de control, que avisan de determinadas situaciones o estados en el que se encuentra el dispositivo, y las de datos, que son realmente las que dan respuesta al conjunto de entradas en cada instante . Respecto a la actividad de las seales, estas pueden ser activas en bajo o en alto . Si por ejemplo, nos referimos a la entrada de habilitacin (EN), que sea activa en alta significa que cuando sta tenga el valor lgico 1 1 , el dispositivo realiza la funcin para la cual est diseado, y si est a 0, el dispositivo no est habilitado para desarrollar su funcin . En los circuitos de esta obra, las seales activas en bajo se representan con un "crculo" (por ej ., las seales de habilitacin 1 y 2 del problema 6) y las que son en alto, sin l (por ej., E3 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 (H).

Recordemos que usamos lgica positiva (L * 0, H -* 1).

89
90 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

SUBSSTEMAS DE PROPSTO ESPECFCO 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
1

3 - d3
1

= x 1 .x

oEN

EN 0 1 1 1 1

do 0

dl 0 0 1 0 0

d2 00 00 00 1 0

d3

2-d2 = x1 .xoEN 1 - d1 = x 1 .xoEN 0- do = x1 .xoEN


DEC 2:4

0 0 1 1

0 1 0 1

1 0 0 0

0 1

DEC 2:4 con salidas activas en alto Si el decodificador posee m salidas, donde m < 2n, se denomina decodificador no completo. Codificador: Realiza la operacin contraria al decodificador. Es decir, convierte el cdigo "l-entre-n" en cdigo binario. Un codificador completo posee 2" entradas, de las que slo una puede estar activa, y n salidas que ofrecen la combinacin binaria asociada a dicha entrada. Su smbolo, tabla y ecuaciones de salida son las siguientes :

C3 C2 C1Co Y1= c3+c2 2

Yl Yo

1 000

1
Co

Y0= C3+c 1

100
COD 4:2

010 001

Si el codificador posee m entradas y n salidas, con m < 2", 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 :

SUBSSTEMAS COMBNACONALES

c3c2C1 c0YiYo

1 01 001

Convertidor de cdigos : Consiste en un subsistema combinacional que convierte un cdigo de entrada en otro de salida . El nmero de lneas de entrada y de salida depende de los cdigos que se convierten . Los casos particulares en los que uno de los cdigos sea "1-entre-n" son los dispositivos antes vistos . Comparador de magnitudes: Es un dispositivo que compara las magnitudes de dos datos A y B de n bits, para dar como resultado si A<B, A=B o A<B . El smbolo y la tabla son : A-,> A>B Datos G E L n
n

A=B E

A>B 10 0 A=B 01 0 B

-2o(-A

A<B- L A<B 0 0 1

SUBSSTEMAS DE PROPSTO GENERAL Multiplexor: Un MUX-n o MUX 2":1 es un dispositivo de 2" 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+l variables si algunas de ellas est en doble ral . El smbolo que se utilizar en este Captulo y su tabla de verdad son : SiSo F Co C1 00Co C2 C3 F=C0S1So+C1S1So+C2S 1So+C3S 1SO 01C1 10 C2 SSO 1 1C3

Demultiplexor: Realiza la funcin inversa al multiplexor. Un DEMUX-n o DEMUX 1 :2", posee una entrada de dato, n entradas de seleccin y 2n lneas o canales de salida. Su funcin consiste en pasar la informacin de entrada de dato a una de las lneas de salida, la determinada por la combinacin
92 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

binaria de las seales de seleccin. El smbolo que se utilizar en el Captulo y su tabla se muestran a continuacin: C0= DinS1Sp S 1 So Co C1 C2 C3 C1= DinS1So Din 0 0 Din 0 0 0 C2= Din S,-90 0 1 0 Din 0 0 C3= DinS1-So 10 00Din0

siso

1 1 000Din

Analizando la tabla se puede comprobar que el dispositivo es equivalente a un decodificador con seal de habilitacin EN= Din . Dispositivos Lgicos Programables (PLD's): Su estructura general es la siguiente:

plano AND plano OR ----lneas AND .

entradas salidas

Atendiendo a la posible programacin de cada plano podemos hacer la clasificacin siguiente: plano AND plano OR No programable Programable ROM Programable Programable PLA Programable No programable PAL

ROM: Una ROM(2nxm) posee n entradas de direccin y m salidas, que puede verse como un dispo-sitivo que almacena 2n palabras de m bits, de forma que para cada combinacin binaria de sus n entradas se selecciona una de sus 2npalabras. 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 realizar la funcin lgica que se desee. Por tanto, una ROM es un dispositivo lgico universal de n variables para m funciones.

SUBSSTEMAS COMBNACONALES

PLA: Un PLA(n,p,m) es un subsistema con n entradas, m salidas y p trminos productos (salidas del plano AND) . Mediante este dispositivo pueden implementarse m funciones lgicas de n variables expresadas en sumas de productos si para ello no se superan los p trminos ANDs 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 independientemente de las otras . ndice del Captulo Este Captulo desarrolla problemas de las siguientes materias : -Anlisis de circuitos con subsistemas. -Diseo de subsistemas . -Diseo de funciones lgicas con subsistemas . PROBLEMAS RESUELTOS Problema 1.-Describa con palabras el funcionamiento del circuito: x>y xo x=y x<y E yl

2 3 4 5 6

Solucin Pl.-Si las entradas xtxoson mayores o igual ay yo,se activarn las salidas G o E, respectivamente, del comparador de magnitudes . Estas salidas, gracias a la puerta OR, provocan que la entrada del demultiplexor sea un 1 lgico . Habr, ahora, que determinar cul es el canal de salida, en funcin de las seales de seleccin . Puesto que x>y, la salida L del comparador es 0, por tanto los canales seleccionados dependen slo de y t (canal 1 o canal 5) . Como puede verse, estos canales estn unidos mediante una OR, por lo que la salida ser 1 . Cuando x<y, la salida L del comparador est activa. La entrada del DMUX se encuentra a 0 e, independientemente de las entradas de seleccin, los canales valdrn todos 0, y la salida tambin. En resumen, si x>y, f=1 y si x<y, f=0.
94 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema2.-Redisee en dos niveles el circuito de la figura : A2 A1Ao D4 D3 D2 DDo ROM D4 0 000 00 0 00 uv di1 001 11-10 Yx-A2D d2 F 0 10 0 1- 0 0 z-d 011111 1AoD 0 100 000 00 D 101 11-10 1 10 0 10 00 AlD 2 1
1

do

11 1 10- 01

Solucin P2.-Los canales de entrada del multiplexor responden a la siguiente tabla :

x y z dod d2d3
0 00 0 00 0 00 1 1 11 0 0 10 0 1- 0 011 11 11 1 00 0 00 0 101 111 0 1 10 0 10 0 11 1 10-1 que, junto con las seales de seleccin de canal, podemos construir el K-mapa siguiente : xyz 000 001 011 010 110 111 101 100 uv 0001 100 1 10 01 1110 10 01 11 00 100 100 1001 -0-10 f de donde obtenemos la expresin mnima:

f = vz+y .z+uy-z+vyz+xz Problema 3.-nterprete la utilidad del sistema mostrado en la figura. b conv c D BCD convertidor 7 seg f binario/BCD g d
A2D2 ROM AlD b' Ao conv fl , 9l b D
1

e el

D3 l c A3

a'

BCD
7 seg e'

f d' el lc'

SUBSSTEMAS COMBNACONALES Solucin P3.-Dada una entrada (A3,A2,A1,A0),se selecciona una posicin de la ROM cuyo contenido se vuelca en el bus de datos (D4-0). El convertidor binario a BCD, transforma el nmero 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 el nivel bajo. Aada una salida que indique cundo no hay ninguna entrada activa .

Solucin P4. EO 0111 EO El . E2 E


c 1

El

E2

E3

A1 00 11

Ao 01 01

Y 0000

2 C

A1 AO Y COD 1

0 1 1 1

01 1

0 1

Las entradas al codificador son activas en baja, siendo EOla de mayor prioridad y E3 la de menor. La salida Y seala cuando no hay ninguna entrada activa en el codificador de prioridad . Y = E0-E1E2-E3 las restantes ecuaciones algebraicas para las dems salidas : A1= EOE 1 A0= EO.(1+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 El y dos salidas EO y GS. EO se activa cuando el codificador est habilitado pero no hay ninguna entrada de datos activa, mientras que GS se activa cuando el codificador est habilitado y hay alguna entrada activa. Disee un codifi-cador de prioridad de 8 a 3 de las mismas caractersticas de los anteriores . Adems de los dos codificadores, se pueden emplear hasta un mximo de ocho puertas de Jos entradas. 96 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

El EO

13 GS 12 1 COD Qllo Qo

Solucin P5.-De acuerdo con la descripcin del enunciado y suponiendo que la entrada del dispositivo con mayor prioridad es 1 3 , la tabla de verdad es: El EOGSQ Qo 1 1 1 No habilitado 0 101 1 0 10 10 10 Habilitado con alguna0 1 1 0 1 0 0 1 entrada activa 011 10 1000 0 1 1 1 1 0 1 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 eo gs 1 0 0
q2 q1 q0 0

i7

i6

i5

i4

i3

i2

il

eo 1

g s 1 0 0 0 0 0 0 0 0 1

q2

q1

q0

0 1 1 1 1 1 1 1 1 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 0 1 1 0 1

1 1 1 1 1 1 1 1 0

1 1 1 1 0 0 0 0

1 1 0 0 1 1 0 0

1 0 1 0 1 0 1 0

0 0 0 0

COD 8:3

o
0

SUBSSTEMAS COMBNACONALES 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 (i3 -io).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 mostrada en la siguiente figura:

e
i7 i6

El
C 13

EO > GS H
g 3T

ea

c 12

Ql

lo

QoCOD

Circuito

q2combinacional qi q0 -C J '3 2 i t--~1 Ql

io QoCOD COD 8:3 En esta solucin, la habilitacin externa acta sobre el codificador H (ms prioritario) y, slo cuando no hay peticin en i7 , o i4, se habilitar el codificador L (menos priorita-rio). Para ello, conectamos EOH con EL. Adems existe un circuito combinacional que, recibiendo como entradas las salidas de los codificadores, genera las salidas deseadas . Para nuestra solucin se cumplen las siguientes relaciones : El = e; EL = EOH La tabla siguiente muestra los valores de entradas del codificador completo y el valor de las seales intermedias que sern las salidas de cada uno de los dos codificadores que esta-mos utilizando.
PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

e; 1 0 0 0 0 0 0 0 0 0

1 7 0 1 1 1 1 1 1 1 1

16

15

14

13

11

10

EOH GSH QH QOH

EOL GSL Q L. Q0 1-

1 1 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 0 1 1 0 1 1 1 1 0 0 0 0 0

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

1 1 1 1 1 1 1 1

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

000 1

A partir de la tabla anterior se pueden obtener las relaciones algebraicas para las cinco funciones de salidas. Se han especificado a O las inespecificaciones en las salidas de los codi-ficadores. eo = EOL gs = GSHGSL q2 = EOH q1 =Q1H+ QL q0 =QOH+Q0L Si pasamos a la implementacin de estas ecuaciones mediante puertas, el circuito global sera el que se muestra a continuacion : El EO)---co 13 GS 12 H ,Q l
o

gs

CODQ0

El EO
i3 c GS
q1

i2 1 L 1 Ql io

q0

COD

Problema 6.-Utilizando decodificadores 74138 (mostrados en la figura) y el menor nmero de puertas posible, cmo disearas... a) un decodificador 4 a 16. b) un decodificador 5 a 32?.
SUBSSTEMAS COMBNACONALES

Solucin P6.-El decodificador del que disponemos, el Cl 74138, es el que se muestra a con-tinuacin :

Oo 2 0 3 O1 A2 02 Al 1 0 4 A00
05 0607

A partir de l, se quiere conseguir un decodificador 4:16. Para ello se requiere dos de-codificadores 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 .

Oo O1 2 04 05 06 O6

08

29
010

Oll

0,2 0,3 014 X15

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 de-codificadores y un inversor. Se muestra en la siguiente figura :

EA 1 r-~-1 2 31 404
05 5 a4 a3 707

11

, E2E,J_

19

8 2T-~ 10

a2-` 2 11 al-1 a0

Ser 13 6 !-014 7--015

~r12

E, E2E3 01`-161 ~-~-17 2 2>-r 18 3~-~-19 4 200 5r-` 021 822 T 23 1

E30--24 1>~ 25 2 2>-!-26 3) .271 4' 128 5 >-:-029 030

7Yr
1

031

DEC 5:3L

Problema 7.-La figura muestra un comparador de dos nmeros de 1 bit y su tabla de verdad. Se desea obtener un comparador de nmeros de 6 bits, utilizando exclusivamente compara-dores de 1 bit. El diseo debe contemplar que el tiempo de retraso no supere 4T, donde T es el retraso asociado al comparador de 1 bit . A; Bi Ci Ai Bi Ei 0- -0 10 0 1 10 1 0 11 00 1 1111 Ei Solucin P7.-Para comparar dos nmeros de 6 bits, con estos dispositivos, necesitaremos comparar, bit a bit, los dos nmeros. Utilizaremos, por ello, 6 comparadores : A2 B2 CC C2
1 11

EO
1

ElE2 A5B5 A4B4 A3B3

CC
11 1

E5E4 E3 Supongamos que los bits A0y B0son distintos. La salida E0,evaluar 0. Esto implica que, independientemente de que los restantes bits sean iguales, la salida global debe evaluar 0 . Nos podemos valer de las entradas de habilitacin de los restantes comparadores para que sus salidas tambin sean 0. Extendemos este concepto a slo 3 comparadores, para no superar las restricciones temporales . AoBO AlB1 A2B2
1

CC C2 EE A4 B4 A3B

C5C4 C3
1

E51 E41 E3 Para las estructuras anteriores, E 2 y E3 sern distintos de 0, cuando los bits de los nme-ros A y B sean iguales. Si alguno de ellos vara, E2o/y E3,pero al menos uno de los dos, ser 0. En efecto, supongamos que A1 es distinto de B 1 , y todos los bits restantes son iguales. La salida del primer comparador, E0, 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 E1 . Esta salida inhibe al siguiente comparador, cuya salida tambin ser 0, independientemente de A2y B2.
102 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 comparadores, un 0 lgico, en sus salidas respectivas (E2 y E3) A0Bo A1 B1 A2B2

CoC1 C2 Eo A5B A4 B4 A3B3 C5C4 C3 El E2

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

xxxxxxxxxxxx 0 0 0

A0-2=B0-2 yA3-5=B3-5 1 1 1

1 A0-2=B0-2 y A3-5#B3-5 1 0 0 1 A0-2#B0-2 y A3-5=B3-5 0 1 0 1 A0-2#B0-2 y A3-5#B3-5 0 0 0 Podemos pensar que la forma de obtener la salida E, a partir de E2y 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 E2y E3valen 0, la salida debe ser 0. Esto se puede resolver, simplemente, utilizando como seal de habilitacin cualquiera de las seales de entrada del comparador, (E2y E3), como muestra la figura: E2 E3 C 1E Cuando E2=0 (ver tabla), la salida E vale 0, por estar

este comparador inhabilitado. Cuando E2=1, el comparador est habilitado y slo tenemos dos posibilidades, E 3=1 y E3=0. En la primera, el comparador activa su salida (E= 1) y en la segunda no.

Problema 8.-Realice las siguientes funciones haciendo uso de los dispositivos que se dan en cada uno de los apartados: a) Utilizando un decodificador con salidas Utilizando un decodificador con salidas activas Utilizando un decodificador con salidas activas Utilizando un decodificador con salidas activas E(0,9,11,15) + d(1,2,3) F= JJ (0, 3,5) d(1,2) activas en nivel alto y puertas OR . en nivel bajo y puertas AND . en alto y puertas NOR. en bajo y puertas NAND.

Solucin P8.-Si se dispone de un decodificador con salidas activas en alta, la expresin algebraica que define cada una de stas ser el mintrmino correspondiente al nmero de entradas que tenga dicho decodificador. Por tanto, si usamos en cada apartado un decodificador con tantas entradas como variables tiene la funcin a disear, se dispondr de todos los mintrminos de ese nmero de variables, en cuyo caso slo nos queda elegir entre todas las salidas cules son los mintrminos de la funcin y realizar la operacin OR de todos . De forma anloga, si el decodificador tiene las salidas activas en baja, la expresin para cada un de ellas sern los maxtrminos del nmero de variables que posea el decodificador en su entrada. Siguiendo el mismo procedimiento, podemos conseguir todos los maxtrminos distintos del nmero de variables que posea la funcin y elegir los que sean maxtrminos de sta. Bastara despus realizar la operacin AND de stos . Pasamos a resolver el problema para cada una de las funciones del enunciado F (a,b,c,d) = E(0,9,11,15) + d(1,2,3) a) utilizando decodificador salidas activas nivel alto y puertas OR :

012

3
4 5 b2 6 c 18 d9 7

10 11 1 DEC 13
14

4:16 15

104 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES b) utilizando decodificador salidas activas nivel bajo y

puertas AND.

20 1a

DEC 4:16 c) utilizando decodificador salidas activas nivel alto y puertas NOR . Para este caso, dado que disponemos de una puerta NOR, tomaremos los maxtrminos de la funcin complementaria a la que queremos disear. De esta forma, a la salida de la puerta se obtiene la funcin del enunciado .
012345

2 7

d9

18

10 11 12

DEC 13 4:16 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:
012345

26 7

F
c

d9
10 11 12

18

DEC

13

4:16
15

Para todos los apartados hemos despreciado la existencia de inespecificaciones . SUBSSTEMAS COMBNACONALES 105

Repetimos el mismo razonamiento para cada una de las funciones siguientes : F= n (0,3,5) d(1,2) a) utilizando decodificador salidas activas nivel alto y puertas OR :

b
0 F

1 2 13

DEC 6 3:8
7

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


0 1 22 13 04

DEC 6 3:8
7

c) utilizando decodificador salidas activas nivel alto y puertas NOR :


0 1 2

b3 0 DEC 6 3:8 7 d) utilizando decodificador salidas activas nivel bajo y puertas NAND:

Problema9.-Encuentre un diseo mnimo para cada una de las siguientes funciones si slo disponemos de un decodificador 3:8 y de puertas de dos entradas. a) F= E(0,9,11,15) + d(1,2,3) b) F= fi (0, 3,5) -d(1,2) c) F= n (1, 3,4, 6, 9,11) d(7,12,14) d) F= n (1,2,3,7,8,9) Solucin P9.-Para dar solucin a este problema, en el apartado b) se sigue el mismo proce-dimiento que en el Problema 8, pero para los otros tres apartados, las funciones son de cuatro variables y el decodificador del que se dispone slo posee tres entradas . Con ello, de las salidas de ste, se obtienen los mintrminos o maxtrminos de tres variables (dependiendo del tipo de salida del decodificador), y aadiendo la cuarta variable (bien mediante operador AND u OR) se consiguen los mintrminos o maxtrminos de la funcin que se necesiten . 106 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

a) F(a,b,c,d) = E(0,9,11,15) + d(1,2,3) : abcd


1

a b
c

b) F(a,b,c,d) = 11(0,3,5) d(1,2) = a.(b+ c) :

abcd

d
m6 + m7

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

2
1 0 DEC 3:8

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

a2 b13 / 0 45 DEC 6
3:8 7

SUBSSTEMAS COMBNACONALES 107


Problema 10.-Un circuito tiene como entradas dos nmeros binarios de dos bits cada uno : Y= y,yo;X=x,xo. Se desea que tenga salidas 11 si Y=X, 10 si Y>X y 01 si Y<X. Disee un circuito con un

decodificador de 3 a 8 con salidas activas en alto, un nmero no determinado de puertas NAND de dos entradas y dos puertas NAND de un nmero de entradas no limitado . Aada una seal de habilitacin (enable). Las entradas estn en nico ral. Utilice obligatoria-mente el decodificador.

SolucinP10.-Las funciones del circuito, considerando E como seal de habilitacin, estn representadas en la siguiente tabla : EX Y Zi Zo 0 00 1X=Y 11 1X>Y 10 1X<Y0 1 Hemos elegido la salida Z 1Z0= 0 0 para indicar que el circuito est no activo puesto que era la combinacin de salida no utilizada en el enunciado . Para disear el circuito, primero consideraremos que no tenemos seal de habilitacin, y como segundo paso aadiremos sta al circuito ya diseado previamente. Para cada uno de los casos posibles de valores en las entradas X e Y conocemos los valores para las seales de salida. Mostramos este resultado en el siguiente mapa de Karnaugh : 00 Y 00 01 11 10 Z1Zo A partir del mapa anterior podemos dar las expresiones de cada una de las funciones de salida. Z1 (x1 ,x0,y1 ,yo) = (0,1,2,3,5,6,7,10,11,15)=fl (4,8,9,12,13,14) . Zo (x1 ,x0,y1 ,yo) = (0,4,5,8,9,10,12,13,14,15) =11(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 complementar, segn corresponda. As tendremos:
108 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES 11 10 10 10

01
01 11 10 10

11
01 01 11 01 01 01 10 11

10

xl'xo'Y , Yo = mo Yo xl'x0 Yl xl'x0'Y] 1'x0'Y1'Yo -Mi

1 2

x1

Xo 'Yl

x1'xo'Y]

xo 13 x1 4 Yl xl'x0'Yi
Xo'

Yi

5 DEC3:8 o-Y1

xl'xo . Y1

xl . x0' Y1'

Yo-m14

Yo Yo

1 xo

"YFYo=m15 Yo

Al disponer de puertas NAND de dos entradas, si las puertas AND anteriores son sustituidas por puertas NAND, a la salida de stas dispondremos del complemento del mintrmino, es decir, maxtrmino correspondiente de cuatro variables . Adems, en el problema disponemos de dos puertas NAND de un nmero no limitado de entradas . Podemos realizar las dos funciones descritas por producto de sus maxtrminos . Como para ello tenemos dichas puertas NAND, este producto es negado a la salida, por lo que podemos usar una puerta NAND de dos entradas actuando como inversor para conseguir la funcin final . .. . M ...M k miMi k

miMi

Mi +mj + .. .mk

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

Mo
Yo- & Yo-

Yo M Yo

l X 2 o

M1
13 4 Y10 5 Yo M1

DEC 6 3:8 M1 M1 M1 Yo[& Yo


Yo

MoiM1

M2M3 M5 M M7
M10M11 M15

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 :
Yo xl

M .M M

xo
Y10

c
DEC 3:8

M1

M M8M9 Yo
_J Yo

M12M13

Yo

M1

Si incluimos la seal de habilitacin E que se defini en una tabla anterior, una de las opciones para resolverlo sera aadirle al decodificador una entrada de habilitacin definida de la siguiente forma:
110 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

00 1 01 E O; (cada salida del decodificador) X1 0 3 :8 7

3 0 3 20 X 1 2 0 todas las salidas a 0 o 4 0 4 1 slo una de las 050 salidas activa y 1 5 DEC6 06

Problema 11.-Disee un circuito de 4 entradas y 3 salidas, z0, z,,z2que realice las siguientes funciones: zo vale 1 cuando tres o ms entradas sean 1. z, vale 1 cuando haya el mismo nmero de unos que de ceros . z2 vale 0 cuando dos o ms entradas sean 1 . Para ello se dispone de: a) Un decodificador con salidas activas en nivel alto y puertas NOR. b) Un decodificador con salidas activas en bajo y puertas NAND.
Solucin P11.-El mapa de Karnaugh para las tres funciones de salidas y el circuito final se muestra a continuacin:

0001 11 10

zO=E (7,11,13,14,15)
00 001 001 010 001 01 001 010 100 010 z2= E(0,1,2,4,8) 11 010 100 100 100 10 001 010 100 010
z1

= E (3,5,6,9,10,12)

zo z t z2

a) Se dispone de decodificador con salidas activas nivel alto y puertas NOR . z0 = (0,1,2,3,4,5,6,8,9,10,12) . z1 = 11 (0,1,2,4,7,8,11,13,14,15) . Z2 = f (3,5,6,7,9,10,11,12,13,14,15) .
m m m

1 m2

m3 mp m4 zp 1 ml m5 6 2 m2 8 m9 3 m3 m10 12 4 m4 5 m5 6 m2 b 2 7 m6m 4l 7 1 7 zl 8--m8 11 9m9 8


m14

10 mip 11 mil 12 m12 DEC 4:16 13 M13


m6 m9 z215

14 m14

m10

m15 11
m12Ml

m14 15 . a) Se dispone de decodificador con salidas activas nivel bajo y puertas NAND z0 =1(7,11,13,14,15).

zl = 11 (3,5,6,9,10,12) . z2 = (0,1,2,4,8).
M7 0

Mo Mil
zp

1 M1 M13
b c1 6 M6 M5 2 ,

2 r---M2 M14 3 ) M3 M15 4 M4 5) 5

7 M7 8M8 M9 9 M9 10 Mi0 M12 11 M11

z1

' 12' M12 M DEC 13~--M13 M1


4:16 15, M4 M15
M8

z2

14' --M14 M2

Problema 12.-

Disee los siguientes convertidores de cdigo :

112 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

a) BCD -EXCESO-3. b) BCD -2de5.

Solucin P12. a) Estructura general : 0


do d1 DECOD 1 d2 1 CODF 22 d3 A 3

d4

3 Z B2

4d54 2Z2 C 1 5 5 Decimal/ 1 zi d6

d, 6 Exceso3 0

Zo 77
dR

8
BCD/Decimal8 d9

9
Convertidor BCD/ Exceso-3 BCD Exceso -3 ABCD Z3 Z2 z1 Zo 0 0 0 1 1 Z3= E(5,6,7,8,9)= d5+d6+d7+d8+d9 1 o 100 2 0 1 0 1 Z2= E(1,2,3,4,9)= dl+d2+d3+d4+d9 3o1 10 4 0 1 1 1 Z1=E (0,3,4,7,8)= d0+d3+d4+d7+d8 5 1000 6 1 0 0 1 Zo= E(0,2,4,6,8)= d0+d2+d4+d6+d8

7 10 10 8 101 1
9 1 100

b) Estructura general :
do ,

o
d, DECOD 1 d2 1 CODF 22 d3

AB2

d4

3Z

C
D

4d54 3Z3
5 d6 5 Decimal/ 2 Z2

6 d 62de5 1 Z 7 70Z
7
dR

8
BCD/Decimal 9 d

BCD 2 de 5 ABCD Z4 Z3 Z2 Z1 ZO Z4= E(6,7,8,9) = d6+d7+d8+d9 00001 1 1 0 0 1 0 1 Z3 = E (3,4,5,9)= d3+d4+d5+d9 2001 10 3 0 1 0 0 1 Z2= E (1,2,5,8)= d 1+d2+d5+d8

Convertidor BCD/ 2 de 5

40 1010 5 0 1 1 0 0 Z1 = E (0,2,4,7)= d0+d2+d4+d7


6 1000 1 710010 8 10 100 9 1 1000 ZO= E (0,1,3,6)= d0+d1+d3+d6

Cada una de las funciones de salida se realizaran con puertas OR cuyas entradas seran las salidas correspondientes del decodificador BCD/Decimal .
Problema 13.-En un determinado sistema microcomputador, existen 3 subsistemas que procesan la informacin de forma independiente a travs de cuatro fases de operacin . Por propsitos de control, es necesario conocer: a) Cundo dos o ms subsistemas estn en la misma fase . b) Cundo exactamente dos subsistemas estn en la misma fase . Cada subsistema genera una seal de dos bits para indicar en qu fase se encuentra (00, 01,10,11). Disee un circuito que permita conocer cundo el conjunto de subsistemas se encuentra en alguna de las situaciones a) y b) .

Solucin P13.-Sean A, B y C los tres subsistemas que generan las seales A 1A0, B1B0 yC1CO, que indican la fase de operacin de los tres subsistemas respectivamente . El circuito a realizar debe tener dos salidas F y G que tomarn los siguientes valores : F=1 si hay 2 o 3 subsistemas en la misma fase. G=1 si hay exactamente dos subsistemas en la misma fase . G=F=O en otros casos . Para conocer si dos sistemas estn en fase o no, utilizamos un comparador de magnitudes de 2 bits :
Al AO B,AB BO

Si la salida 'AB =1 , los subsitemas A y B estn en fase. Necesitaremos un total de 3 comparadores, a cuyas salidas las llamaremos AB, AC e BC. Con estas salidas, diseamos un circuito con puertas lgicas que genere las
114 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

salidas F y G. En el siguiente K-mapa vienen representadas las salidas F y G en funcin de las salidas de los comparadores : AB 'AC

ama
10

EN

a
FG Tan slo comentar que existen casos que no pueden
F = AB +AC + BC

darse como entrada del circuito a disear con puertas. Uno de estos casos esAB AC e BC= 011 .En efecto, si el subsistema A est en fase con el C (AC = 1), y el subsistema C est, a su vez, en fase con el subsitema B (BC = 1) es imposible que el subsistema A est en desfase con B . Las ecuaciones para las funciones F y G son :
G = AB -AC + AC

AB+BC AB

Ao B B0 AAo C CO C, Co B, B0

G B

Problema 14.- Disee un circuito que a la salida de un multiplexor 8:1 realice la funcin: F=1 (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31) . Para el diseo se pueden usar, adems 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:

F=E (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31)

000 00 01 10 11 0 0 0 1

001 1 1 0 0

010 0 0 0 1

011 1 1 1 1 F

100 1 1 0 0

101 0 0 0 0

110 1 0 1 0

11 1 1 1 0 1

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,.. .soque 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 al nmero A desplazado . As por ejemplo, para un desplazador de 8 bits, cuya entrada sea 10010101 y las seales de control s2s1so= 0 1 0, se genera un desplazamiento de dos posiciones a la derecha dando, como resultado, la salida XX100101 . Si s2 s, so = 0 0 0, no hay desplazamiento. a) Disee un desplazador a la derecha de n=4 bits y m=2 bits, utilizando 4 MUX'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 A3A2A, Ao= 1011 y las seales s, socambian segn la secuencia 00,01,00,11,00,10 con una frecuencia de 1kHz . c) ndique una aplicacin aritmtica para el desplazador. Solucin P15. a) Dibujamos el diagrama de bloque del desplazador combinacional y su tabla de

verdad: A3 A2 A1 Ao
S SO

1
Si SO

Z3 A3 0 00

Z2 A2 A3 00

Z1 A1 A2 A3 0

Zp Ao Al A2 A3

0 0 yZ3 Z2 Z1 Zp 11

0 1 01

116 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Cada Zise obtiene de un MUX-2, donde cada fila s1 s0es un canal de entrada. Realizan do el diseo quedara: A3A2AA0 0 A3A2A1 0 0 A3A2 0 0 0 A3
1

4
S 1

l J

So

Z3Z Zo b) Para el caso A3 A2A1A0= 1 0 1 1 y las lneas s1 s0cambiando a una frecuencia de 1 KHz segn la secuencia: s1 so:00 01 00 11 00 10 Se obtienen las siguientes formas de ondas : lms= 1/1KHz
S so

00 0100 1100 10

Z3 z2 Z zo 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 :

donde s es el nmero s1 s0y

Lx]

es el entero por defecto de x .

Problema 16.-Redisee el circuito de la figura, utilizando slo MUX s 2:1. Deber reducirse en los posible el nmero de multiplexores . La nica entrada disponible en doble ral es e.
F 10 01 e2 o 03 1s e4 15 c e6 1 7 21 0 1 a b d

Solucin P16.-Para resolver este problema determinaremos, en primer lugar, el K-mapa de la funcin F.

00 01 11 10 F Para obtener el circuito de menor coste que implemente la funcin F, utilizando multiplexores de 2 canales, slo podemos ir probando las diferentes realizaciones que surgan de suponer a, b, d e, como variables de seleccin del primer multiplexor ( el que genera F en su salida). De todas ellas, la mejor es :

1s

Z ie

ls 1

-ls
1

d
Problema 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: x1+x2+x3+2x4+2x5+3x6_> 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(x1,x2,x3,x4,x5,x6), que toma el valor 1 cuando las asignaciones binarias de las variables (x1 , . .x6) ,satisfacen la expresin anterior, y 0, cuando no. Esta funcin booleana puede desarrollarse segn el teorema de expansin de Shannon :
f(x1,x2,x3,x4,x5,x6) =x4 x5 x6 f(x1 ,x2,x3,0,0,0)+x4 x5 x6 f(x1 ,x2,x3,0,0,1)+ + x4 x5 x6 f(x1,x2,x3,0,1,0) + x4 x5 x6 f(x1,x2,x3,0,1,1) + + x4 x5 x6 f(x1,x2,x3,1,0,0) + x4 x5 x6 f(x 1,x2,x3,1,0,1)+ + x4 x5 x6 f(x1,x2,x3,1,1,0) + x4 x5 x6 f(x1,x2,x3,1,1,1)

Hemos expandido las variablesx4, x5y x6,por ser las ms relevantes de la desigualdad . Esta expansin se puede implementar con un multiplexor, cuyas seales de control son x4, x5 y x6, y los canales, las funciones residuo . A partir de ahora, tenemos que determinar la expresin de las funciones residuo .
118 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 x1, x 2y x3,la desigualdad no se cumple. Por tanto, la funcin booleana vale 0 . f(X,x2, x3 ,0, 0, 0) = 0 Las siguientes funciones residuo, evalan siempre 1, ya que la desigualdad se cumple siempre, independientemente de los valores de x1, x2y x3 . f (x1 ,x2, x3, 1, 1, 1) =1

f (x1 ,x2,x3, 0, 1, 1) = 1 f(X,x2,x3,1, 0, 1) = 1 f (x1,x2,x3, 1, 1, 0) = 1


De las restantes 3 funciones residuo, podemos deducir que : f(X1,X2, X3,0, 1,0) f(x1, x2, x3,0, 0, 1) y f(x1, x2, x3,0, 1, 0). Los mapas correspondientes son :

= f(x1,X2,X3,

1 ,0,0) por lo que slo tenemos que obtener las funciones residuo

--x _1x2 X3

00 01 11 10 0111 111 f(x l , x2,


x 3 ,

0 1

00 01 11 10x 2 30 0010 1 0, 0, 1) 111 f(x 1 , x2, x3, 0, 1, 0)

Para implementar estas funciones residuo, podemos utilizar multiplexores de 4 canales escogiendo, como seales de control, las variables (x1, x 2) . A continuacin se
muestra el circuito resultante:
x3

1 1

f(x1, x2, x3, x4, x5, x6) 0 x3 x3

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

~>-1D G

-< >

F-

>1

L F

1
Solucin P18.-Sea F(a,b,c,d) la funcin a implementar cuyo mapa se muestra a continuacin : ab cd0001 1110 00 ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4 500010100000c484c696e6f021000006d6e74725247422058595a2007ce00020009 000600310000616373704d53465400000000494543207352474200000000000000 00000000000000f6d6000100000000d32d485020200000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000 0001163707274000001500000003364657363000001840000006c7774707400000 1f000000014626b707400000204000000147258595a00000218000000146758595a 0000022c000000146258595a0000024000000014646d6e64000002540000007064 6d6464000002c400000088767565640000034c0000008676696577000003d40000 00246c756d69000003f8000000146d6561730000040c00000024746563680000043 00000000c725452430000043c0000080c675452430000043c0000080c6254524300 00043c0000080c7465787400000000436f707972696768742028632920313939382 04865776c6574742d5061636b61726420436f6d70616e7900006465736300000000 00000012735247422049454336313936362d322e31000000000000000000000012 735247422049454336313936362d322e3100000000000000000000000000000000 0000000000000000000000

01 11 10

F La expresin algebraica de F y de la funcin complementariaF ser: F = ac+ a bd+ bd+ bcd+ abc F=a.bc.d + b .-.d

+ abc+acd + 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:

120 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

&

XX

=0
E}<> d

& L>1

XX

2) El PAL del que se dispone realiza la operacin AND-OR-NV . Para resolver el pro-blema se escoger a la funcinFcomo suma de productos y, al invertirse a la salida, se obtiene la funcin F. Para que en la salida se obtenga F, el control del inversor 3-estados debe estar a " 1 " (para ello basta con no programar ningn fusible de la AND que proporciona dicho control :

o F

3) EL PAL slo puede sumar (operacin OR) tres trminos productos y F tiene cinco. Para resolver el problema se descompone F en dos subfunciones de forma que, en cada una de ellas, slo se sumen tres trminos : F = (a.bcd+ b.c.d + a.b.c) + acd + abc= G + acd+ abc . donde G = bcd + bcd + abc. De esta forma, G se obtiene por una de las salidas de la PAL y es reintroducida para formarF.

G
.9

G Finalmente, tras las consideraciones anteriores se muestra la configuracin final del PAL:
ccbbaaddGG
C.C=

d bcd bcd ac

G acd

>F

abc

Problema 19.-Se desea disear un circuito que tenga como entradas dos nmeros de dos bits a=(a, a0) b=(b, b0) y un bit de paridad par correspondiente a los cuatro bits anteriores . El circuito indicar en una salida si a>b, y en otra si se ha producido una entrada ilegal (con el bit de paridad mal). El circuito deber realizarse con multiplexores de dos entradas de selec-cin y una ROM de 8 posiciones de memoria.
Solucin P19.-El circuito a disear posee cinco entradas, P, a1, a0, b 1, b0 y dos salidas. Lla-maremos G a la salida que indica cundo el nmero a = al a0 es mayor o igual que el b = b 1bo, y salida 1 cuando se produce una entrada con el bit de paridad P errneo. 122 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

a > b G=1 a<b G=0 error en P = 1 P correcto 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 Karnaugh de las cinco variables para las dos funciones, G e 1, y sobre l se marcarn los residuos correspondientes a cada multiplexor.

001 010 011 100 101 110 111 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 G 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 Go G1 G2 G3

o be bo 001 010 011 100 101 110 111 000 1 10 100 1lo 01 100 10 1 10 10 100 10 1 1012 110 1 10 100 113 Eligiendo b1 y b0 como entradas de seleccin de los multiplexores, y por tanto, P a l a0 como entrada de la memoria, se observa que algunos de los residuos de las funciones de salida tienen una expresin muy simplificada, bien una constante o una variable de entrada . En esos casos, pueden ser conectadas directamente a las entradas de los multiplexores pudindose aho-rrar en el tamao de la memoria ya que no se necesita implementar esas funciones como salidas de la ROM. Estas son : G0=1 'G2=a1 13 =10 11= 12

A continuacin se muestra el contenido de la memoria y el esquema final del circuito : [$1 101P al-2
al

G lo
a0

01 a0

oROM1A P

23x4 2A 12 1 0 b b0 32 10 3D G3 al

0ROM 012 o

42 23x4 1-2

1111
59 69 b b07E 3 GG31012 1

Problema 20.-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 BCD se pondrn en alta impedancia . a) Realice el detector de error usando un MUX 8 :1 y puertas. b) Realice el convertidor 2-out-of-5 a BCD 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 X4 -X, , por donde se expresa el cdigo 2 de 5, y cinco salidas, cuatro de las cuales Z3- Z0expresan el cdigo de salida, cdigo BCD, y la quinta seal, E, detecta cuando hay un error en la combinacin de entrada . Convertidor de cdigo Buffers X4 -X0 7 0 2de5/BCD 3-estados ~-4-r Z3 -Z0 Detector de error E a) Definimos la seal de error E de la siguiente forma : E = 0 si X4- X0es cdigo correcto. E = 1 si X4 - X0 es cdigo incorrecto. De esta forma se puede presentar el mapa de Karnaugh para la funcin E : X4X3X2 XXO 00 01 10 11 1 1 0 0 1 000 001 1 010 1 0 0 011 0 1 1 1 E 100 1 0 0 1 1 1 1 101 110 0 1 1 1 111 1 1 1 1

124 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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

xo

o X2

Xo-3
4 5

X6
7210

X4X3X2

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 : X4X3
X2x1Xo0302 0100 000 1 10000 00 101000 1 001 100010 01001001 1 0 10 100 100 0 1

1000 101 1000 101 10 1001001 1 1 10 100 1000 1 1000 100 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 har la operacin OR de aquellos trminos producto de los que participa. Siendo P0, P1, P2, . . .P9 cada uno de estos trminos, las funciones sern : 03 = P8 + P9 02 = P4 + P5 + P6 + P7 01 =P2 +P3 +P6 + P7 00=P1+P3+P5+P7 +P9 El esquema del PLA ser el que se muestra :

. P,)

P3

P4 P5 P6

P7 PA Pq
X4 X3 X2 X 1 XO 03020100

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

X4 PLA X2

z3

X3 MERMO Convertidor cdigo


z2

xl ~ 2de5/BCD ~EN zl

xoE zo

LL

Detector de error

Problema 21.-Analice el circuito de la figura describiendo con palabras la funcin que reali-za. Puede disearse con una ROM un circuito que realice la misma tarea? En caso afirma-tivo, indique cmo se hara, as como el contenido de la ROM para los siguientes valores en

hexadecimal de X e Y: XY: 10, 11, 12, 67, 84, AA,DF


A2

z3 Y3

A3

Y2

A>B

A1

Yo Ao
X3 x2 xl

A=B B3 B2 B1

xO BO

A<B
zO

126 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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_0contienen el nmero X. De igual modo razonamos cuando el nmero X<Y. La salida A<B del comparador se encuentra a O lgico, lo que provoca que en la batera de multiplexores se escoja el canal 0 . Las salidas Z3_0,contienen, en este caso, el nmero Y . Por ltimo, cuando X=Y, la salida A=B del comparador se encuentra a 1 lgico, por lo que el inversor provocar que las salidas Z3_0se encuentren a O lgico. La funcin de salida de este circuito puede representarse mediante una ROM, que se dimensiona con 8 lneas en su bus de direcciones (correspondientes a los 4 bits de los 2 nmeros), y 4 bits por palabra. En la tabla siguiente, se han representado los contenidos de la ROM para las direcciones indicadas en el enunciado: POS CONT Y3 A7 Y2A6 Yo A4D2 D1 $67 7 X3 A3 $848 $AA0 X Al $CBB xo Ao ROM $DF F $FF 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.
x2

$10 1

Yl A5 D3 $110 $12 2 A2 Do

Problema 22.-Necesitamos un circuito lgico con cuatro entradas que genere una salida z que se activa cuando se satisface una de las dos condiciones siguientes, pero no las dos : 1) Ambas entradas, a y b, son activas. 2) o bien c o d o ambas son activas . Disee este circuito en cada uno de los casos siguientes: a) Con MUX s de 4 canales, suponiendo que a y b son activas en nivel alto, c y d activas en bajo y z activa en bajo . b) Con un DEC 3:8 con salidas activas en alto, una puerta NAND de 6 entradas y un nmero no mayor de 8 puertas NAND de dos entradas, suponiendo que todas las entradas y salidas son activas en alto .
Solucin P22.-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 = C1O C2

en el caso de que la salida sea activa en alto, o como: z = C100C2 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 : C, tomar el valor lgico 1 cuando a y b estn activas ( en alto ) : C1 = ab Condicin 2: C2 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) (c + d), y su K-mapa es: cdab00 01 11 10 00 01 11 10 0 0 1 0 0 1 0 1 0 1 0 0 1 0

Z Si implementamos la funcin Z con multiplexores de 4 canales, nos queda : 0001 1 1 1 0 d 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: cdab00 01 11 10

0000 00 00 0
Z Esta funcin la implementaremos como producto de maxtrminos . Si escogemos a, b, c, como entradas del decodificador y las salidas de este se llaman O ;, tenemos que: Mo= a+b+c+d = b . d = 00 .d M4= a+b+c+d = b.J.d = 02d

128 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

M8=

+b+c+d= a.b.c.d = 04d M13= +b+c+d = abc d= 06d M14= +b+c+d = abc

d=07.d M15 = +b+c+d = abcd=

07d

El producto de los maxtrminos M14 Y M15 puede simplificarse = +b+c=


M14M15

57

El circuito queda como : M 1 M b13 a 4 1 c 5 M1


3--Z

6 DEC3:8 1 ~M M15 1 PROBLEMAS CON SOLUCN RESUMDA


Problema 23.-Represente las salidas del siguiente circuito como suma de productos . POS CONT

ROM b-A a -Al c-A D3D2 D1 1 2 sis

_ ~ fi f2

0 234 5 6 7

02 B C 7 3 7

Solucin P23.- Las salidas f1 y f2, tienen las siguientes expresiones, donde se han
sustituido las seales de seleccin del demultiplexor, sl y so,por las salidas de la ROM D 1,y Do, respec-tivamente. f1 = D3 s 1 so+D3 s 1 so +D3 s1 so= D3+D1 Do y f3 =D3 'S 'SO = D3 'D1 .Do Nos falta, por tanto, determinar las relaciones entre las salidas de la ROM (D3, D1y Do), y las variables de entrada a, b y c. De la tabla de programacin de la ROM, deducimos los siguientes K-mapas para D3, D1 y Do:
SUBSSTEMAS COMBNACONALES 129

11

amaa ama una


D Do A partir de estos K-mapas , podemos obtener los K-mapas de las funciones f l y f2: 11 10 0001

0oo o o 1o 1oo f, f2

De donde deducimos que: f, = a+cyf2 = ba c

Problema 24.-Analice el circuito de la figura.


s1
fo ud
1s D

is 1 d2

20 1 3d fiu

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

do = y+x+E d, =

y+x+E d2 = y+x+E d3 =

y+x+E
donde el enable E, se expresa como:

E = y+ux Sustituyendo en las expresiones anteriores y simplificando, queda: do= 1 d, = y+x+ d2=y+x+u d3=y+x Por otro lado, las funciones f1 y fo se expresan como : fo= do-d2=y+x+u f, =di x d3= xy Por ltimo, la funcin de salida f que se obtiene, una vez reducida, es:

f = y+xY
130 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 25.-Disee un convertidor de cdigo Gray a binario natural de 4 bits utilizando slo tres puertas EXOR de tres entradas.
SolucinP25.- Llamaremos g3 g2 g1 go a las variables de entrada (cdigo Gray) y b 3b2b1bo a las de salida (binario natural). La tabla de verdad que muestra el comportamiento del conver-tidor es la siguiente:

g3

g2

g1

g0

b3

b2

b1

bo

g3

g2

g1

g0

b3

b2

b 1

bo

0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1

0 0 1 1 1 1 0 0

0 1 1 0 0 1 1 0

0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

1 1 1 1 1 1 1 1

1 1 1 1 0 0 0 0

0 0 1 1 1 1 0 0

0 1 1 0 0 1 1 0

1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

A partir de esta tabla pueden deducirse las relaciones : b3 = 93 Por simple inspeccin observamos que b2 vale 0 si g3= g2y vale 1 en caso contrario, de donde:
b2 = g3 E+ 92 Por otra parte, recordemos que z = x E+ y p v se hace 1 si y slo si el nmero total de unos en x, y, v es impar. Observamos que b 1 vale 1 cuando g3 g2 g1 tiene un nmero impar de unos, de donde: b1 =g3EOg2Og1 O bien, b1se hace 1 cuando g1 :# b2y se hace 0 cuando g1= b2de donde:

b1 =g1 E+ b2=g30g20g1

Anlogamente, bo es 1 cuando es impar el nmero de unos en 93929190 o, alternativa-mente, cuando go :# b 1, de donde: bo=goOb1 =g3 +Eg20g10g0 Para hacer el diseo con puertas EXOR de tres entradas, basta tener en cuenta que x O+ y = x p y Ep 0, con lo que se muestra un posible diseo :

b 92-b bo 0 g3

o -91-o-al-a0-0 go--

Problema 26.-Se dispone de decodificadores 2 a 4 con seal de habilitacin activa en nivel alto. Disee, con las mismas caractersticas: a) b) c) Un Un Un decodificador decodificador decodificador de 1:2. 3:8. :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

m0 1 m1 0 2m2 DEC2:4 3 m3

Si fijamos una de las entradas (por ejemplo la de mayor peso asociado) a "0" quedara : E } ; m0 1 m1 ao 02 DEC2:4 3 DEC :2
132 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

1--

b) Se quiere conseguir ahora un decodificador 3:8 a partir de decodificadores 2:4. 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 decodificador (si ste est habilitado, E = 1) . Para ello, asociamos tres decodificadores de forma que las salidas de uno de ellos sean cuatro de las del nuevo decodificador, por ejemplo, las cuatro menos significativas, las cuatro salidas del segundo formarn las otras cuatro salidas, y el tercer decodificador 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

m0 1 1M 0 2m2 3 m3 DEC 2:4

a2

1 2 3 DEC 2:4 E 0

al ao 3

m4 m5 m6 m7

DEC 2:4 DEC 3:8

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

1 1 0 2 -'r--DEC2:4 3 a 0 2 DEC 2:43


3 a 2 a l a o

m o M m 2 m 3

m4 m5 m6 m7

DEC 2:4

0 DEC2:4

12Y

M8 m9 m1 0 Mil

1 1 0 2 DEC 2:4 ' DEC 4:16

m1 2 m1 3 m1 4 m1 5

Problema 27.-Utilizando multiplexores de menos entradas de seleccin que el dado, se pide : a) b) c) Cmo Cmo Cmo implementara implementara implementara un un un MUX MUX MUX de de de 3 2 4 entradas entradas entradas de de de seleccin? seleccin? seleccin?

134 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P27.-Multiplexor de 3 entradas de seleccin a partir de MUX-2 y MUX- 1 : Co C1 C2 C3 C4 C5
C6

C7

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

Multiplexor de 4 entradas de seleccin a partir de MUX-2 : Co C1 C2 C3 C4 C5 C6 C7 Cg C9 C10


C11 C12 C13 C14 C15

S SO

Problema 28.-Se dispone de ROMs den lneas de direccin y m bits por palabra, todas ellascon CS. Disee una ROM con CS, n lneas de direccin y 2m bits por palabra.
SUBSSTEMAS COMBNACONALES 135

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

A(n-1) -0

y se desea obtener una memoria del mismo nmero de lneas en el bus de direccin pero con el doble nmero de lneas en el bus de datos, es decir, que cada palabra contenga 2m bits . Para ello asociamos en paralelo dos memorias de las iniciales . De esta forma, cuando ambas sean seleccionadas simultneamente, para una misma direccin de palabra, (el bus de direcciones es comn para ambas), se accede a una palabra de cada memoria leyendo su contenido . Basta slo reunir los m bits de cada uno de los contenidos en un bus comn que ser el de datos de la memoria final que se busca. A continuacin se muestra el esquema de conexionado : cs cs cs A(n-1)-0-,:\', n n 2"* m n 2n*m mm 1
1 4

ROM ROM

. $2m

Problema 29.-Se dispone de circuitos comparadores de magnitud de 4 bits y puertas lgicas. Disese un comparador de nmeros de 16 bits . 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 : A15-12 A>B A=B B15-12 A<B 136 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES 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 nmeroAes mayor que el B. De igual modo razonamos cuando los 4 bits del nmero B son mayores que los respectivos delA.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. 44 A11-8 -x-30 A A15-12 -/_A G' G'G A>B E E A=B A<B B11-8-1 ->B 2 B15-12 4

f~B 1

Si los bitsA15-12, son iguales a los bitsB15-12,Y los bitsA11-8son mayores queB11-8, la salida G del segundo comparador, est activa, y provocar que se active la salida G del comparador primero. De igual modo, si los bitsA15-12 son iguales a los bitsB15-12Y los bits A11-8son menores a los bitsB11-8 ,la salida L del comprador nmero 2, se encontrar activa, y provocara la activacin de la salida L del comparador 1 . Slo en el caso de que el conjunto de los 8 bits A15-8 y B 15-8 sean iguales, habr que comparar el siguiente grupo de 4bits de los 2 nmeros. La estructura del comparador de 16 bits se obtendra extendiendo el esquema anterior para el grupo de 8 bits restante . A11-s A A15-12 >A

G' G' A>B E'E E'E A=B L'L L'L A<B B 2 B 15-12 B 1

A A7-4 D A G' G' E'E E'E L'L L'L B 4 B7-4-~B 3 Se resalta el hecho de que el comparador 4 ( el que acta sobre los bits de menor peso), tiene en sus entradas G',E', L', la terna (0,1,0). Esto es necesario para el caso en que los dos nmeros, A y B, sean iguales, para activar la salida A=B.

Problema 30.-Sea F=

E(1,3,11,13,21,23,25,31) + d(5,19,27). mplemente esta funcin con un nico demultiplexor 1:8, una puerta NAND de ocho entradas y puertas NAND de dos en-tradas.
Solucin P30.-F(a,b,c,d,e) = E (1,3,11,13,21,23,25,3 1) + d(5,19,27) o e abc L&
12

34 F
56 2107

Problema 31.-Una llamada de telfono puede dirigirse a cuatro secretarias. (Nunca hay ms de una llamada simultneamente). La recepcionista distribuir las llamadas segn el siguiente criterio: Si la llamada procede de empresas de alimentacin o de ropa, se pasa a la secretaria nmero 4. Si procede de una empresa de venta de ordenadores, o de un banco, se pasar a la secretaria nmero 3. Si se trata de una llamada procedente de una empresa de viajes o del aeropuerto, 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 NOR de 2 entradas y una NOR de 6 entradas.

Solucin P31.-nterpretamos cules sern las variables de entrada y de salida del problema . Variables de salida: Z1Zp: indican la secretaria a la que va dirigida la llamada : Z1Zo 0 0 secretaria n4 1 0 1 secretaria n- 2

1 0 secretaria n-3 11 secretaria n- 4 Variables de entradas: Se nombrarn con X0, X 1 ,.. .a las distintas llamadas de empresas . Xk = 1 indicar que hay llamada de la empresa "k" (ver tabla) . Hay siete procedencias distintas de las llamadas, organizadas en cuatro grupos dependiendo de la secretaria que la reciba . Utilizando un codificador 8 :3 se transforman estos 8 casos en cdigo de tres variables de las que dependern las variables de salida . A continuacin se muestra la tabla:
138 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Llamada Alimentacin Ropa Ordenadores Banco Viajes Aeropuerto Otras

Xo 1 0 0 0 0 0 0 0

X2

X3

X4

X5

X6

X7

C2

C1

C0

Z1

Z0

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

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

1 1 1 1 0 0 0

1 1 0 0 1 1 0

Por ltimo basta obtener las expresiones de Z


C2C1 C C C 00O1
11

1 y Z0 en funcin de las salidas del codi-ficador.

10 C 00 01 11 10

0 0 0 1001 1 110 1 Z Zo Z1= U2 Zo=C1 La realizacin del circuito utilizando los dispositivos de los que disponemos quedara como se muestra a continuacin: C

X0 X1 >1 X2 X3 C X4 X5 0 X6 6 NC 7 COD 8:3

NC: no conectada

Problema 32.-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. Disee un circuito que detecte el intervalo cerrado de cdigos [-5,41, utilizando, exclusivamente, comparadores de magnitud de cualquier nmero de bits y puertas de dos entradas que no sean operadores lgicos universales .
SUBSSTEMAS COMBNACONALES 139

SolucinP32.
Sistema de 13-0

C.C.

medida 4

Todas las salidas que genera el sistema de medida, se representan en la siguiente tabla . Asimismo, se ha representado el equivalente en notacin Ca2, y la salida Z .
T 13121110Z T 13 1211 10Z

+0 0000 1 -8 1 0 0 00 +1 000 1 1 -7 1 0 0 10 +2 00 10 1 -610100 +300 1 1 1 -51 0 1 1 1 +40100 1 -4 1 1 0 0 1 +501010 -31 1 0 1 1 +601100 -2 1 1 1 0 1 +70111 0 -1 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: 4
0101 -' 1A A>BA=B13-0 '90 B A<B Z4 A A>B
1010 f)

A=B-

13-0 4 B A<B-

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 .
Problema 33.-El bloque A de la figura pone su salida yk=1 s y slo si hay 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 MUX 2:1 . C
XO > .J->ZO X1 Z1 Z2 X -1 -2B > Z3 X3_
140 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

YO

> Z4

Solucin P33.-Construyamos la tabla de verdad para este problema : Xo XX2 Yo Yi


Y2 Y3X3

zo z Z2Z3Z4

000 1 0000 1000 0 00 10 10000 1000 0 100 10000 1000 0 1 1 00 10000 100 1 0 00 10000 1 000 1 0 100 1 0000 100 1 1000 1 0000 100 1 1 100 1000 00 10 000 1 000 10 1000

00 10 100 100 100 0 100 100 100 100 0 1 100 10 1000 10 1000 1 00 100 100 10 100 10 1000 10 1 1000 1 0 1000 10 1 1 1000 1 10000 1

De aqu se deduce que: X3=0=Zi= (i = 0, 1,2,3 y Z4=0) X3-1 = Zi =Y-1 (i = 1, 2,3,4y Z0 =0) con lo que se obtiene el circuito que se muestra a continuacin :

X3

Captulo 6 CRCUTOS ARTMTCOS

ARTMTCA BNARA La suma de dos magnitudes A y B en base 2 se realiza de forma similar a la suma en base 10 . En cada columna se suman los bits de esa columna (A i y Bi ) y el acarreo generado previamente o carry,(Ci);del resultado de la suma (Ai+Bi+Ci= 0,1,2 3) se genera el bit del resultado de esa columna (Fi) y el acarreo a la siguiente columna (Ci+1) : Ci+1Fi = 00, 01, 10 o 11, respectivamente. En el siguiente ejemplo se representa la suma de dos nmeros y los acarreos que se generan 1 : 11 111 Acarreos 01101110 A=1100000100011 B=35(10 10010001 F=A+13=145(10 La resta de dos magnitudes binarias, A-B, tambin es similar al caso decimal . En cada columna existe un bit de pedir prestado (borrow, Bwi ) generado en la etapa previa y cuyo significado para Bwi= 1 es el cotidiano "me llevo uno". En cada columna se hace la operacin Ai (B1 + Bwi)generndoseBwi+1= 0, o (2 + Ai) - (Bi+ Bwi) generndose Bw1+,=1 . A continuacin se presentan dos ejemplos. En el primero se cumple queA>By 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: 1 1 1 Borrows 1 Borrows 11010 A=26 000100 A=4

1101 B=13 - 110000 B=48 01101 F=13 110100 F=52 No presentaremos, en esta introduccin, otras operaciones aritmticas como la multiplicacin y divisin entre nmeros binarios . Remitimos al lector a los problemas 1, 4, 5 y 15 de este Captulo. 1 . En adelante se sobreentender que los nmeros como A, B o F estn en base 10 sin necesidad de explicarlo, tal como aparecen en las operaciones de ms abajo .

141
142 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 Cal, 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 Cal . 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

5t A
BF

F Desbordamiento (overflow ) La suma de dos nmeros binarios con signo de n bits, expresados en cualquier notacin, puede tener un resultado errneo en el caso de que ambos tengan el mismo signo y el valor de la suma no pueda ser expresado en n bits. En estos casos diremos que se ha generado un desbordamiento (overflow) . En el siguiente ejemplo se muestran dos casos de overflow. En el primero, tenemos dos nmeros en Cal positivos de magnitudes 13 y 8 . El resultado de la suma es un nmero negativo lo cual es incorrecto. El segundo ejemplo representa la suma de dos nmeros negativos expresados en Ca2 . De idntica forma, el resultado obtenido es positivo, lo cual no representa el valor correcto : Cal Ca2 01101+13 10001 -15 01000+8 11000 - 8 10101 -10 01001 +9

DSEO DE CRCUTOS ARTMTCOS Las celdas bsicas de los circuitos sumadores habituales realizan la suma de dos bits . Existen dos tipos: los semisumadores(Half Adder,HA) y los sumadores completos (FullAdder,FA). Semisumadores Tienen dos entradas A; y B;, y dos salidas S; y C;+1que 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:
Ai Bi SiCi+l i AiBi 0000 1 HA 0110 Ci+ Si 10 10 11 01

y Sumadores completos Tienen tres entradas A; , Bi y Ci que se corresponden, las dos primeras, con los bits de los nmeros A y B y, la ltima, a la entrada de acarreo, y dos salidas, S i y Ci+l , con idntico significado que en los semisumadores . El esquema, tabla de verdad y estructura interna de un sumador completo son: . AiBiCi Si Ci+l Ci Bi 000 00 001 10 010 10 011 01 Ci+ 100 10 101 01 110 01 111 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. B3-0 A3-0 A3B3 A2B2 AlB1 A0 B0 14 14 Ai

11 11 11 11
a ba ba b a b Cout Sumador Cin Ci+l FA FA FA FA Ci Ci+l Ci Ci+l Ci Ci+l Ci Cinde4bits S. S S. S-

Z
4 Cout Z3-0 32 10 Sumador BCD Un tipo particular de sumadores binarios lo constituyen aquellos que aceptan nmeros BCD en sus entradas y generan el resultado tambin en BCD. El sumador BCD ms bsico es el que realiza la suma de dos dgitos BCD, A y B, junto con un posible acarreo de entrada, K;,, y genera un acarreo de salida, Kot,t, y el resultado BCD de la suma, Z. Su estructura interna est basada en sumadores binarios de 4 bits . Existe un circuito combinacional que detecta si el resultado del primer sumador es un nmero BCD y un segundo sumador, que aade la magnitud 6 0, segn corresponda, para convertir la suma binaria al valor BCD de la salida:

Kont <

0 0 Sumador

Sumador -

Cout

de 4 bits-inn:E-, Sumadorc,,,,-0 f de 4 bits CinE0 Detector error BCD


E1 r1

in

Kout

BCD K'n

iz Encadenando en serie "K" de estos sumadores, se construyen sumadores BCD paralelos de K dgitos decimales. Sumador-restador de nmeros con signo en Ca2 Un circuito sumador-restador de nmeros con signo en Ca2 consta, bsicamente, de un sumador binario de magnitud y un circuito que deja pasar, o complementa, el dato que acta de sustraendo, segn se muestra en la figura. Si se ordena la suma (s/r=0), Y=B y F=A+B ; si se ordena la resta Y= By F = A+ B+ 1 = A + Ca2(B) = A-B. El desbordamiento se representa mediante el bit V y se puede implementar de varias formas como, por ejemplo, V = Exor(Cn,Cn-1) : Transfiere/ FComplementa
B

4Y

co t Sumador s/r V binario in

UNDAD ARTMTCO-LGCA (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: A3-B3-0
s2 s1 SO

Operacin
000 F = AND(A,B)001 F = OR(A,B)s2 010 F = EXOR(A,B)011 F = NOT(A)

t 100 F = A+B+Cn
SO

101 F = A- B+Cn 110 F=A-1+ C;n 111

F=A+C;n

CRCUTOS ARTMTCOS 145

ndice del Captulo Este Captulo desarrolla problemas de las siguientes materias : -Aritmtica binaria. -Diseo de subsistemas aritmticos . -Manejo de circuitos y subsistemas aritmticos.

PROBLEMAS RESUELTOS
Problema 1.-Sean A y B dos nmeros binarios . a) Determinar en funcin del nmero de bits de A y B el mayor nmeros de bits de A + B y A*B . b) Realice en binario las sumas 110 + 35 y 110 +73 suponiendo que se dispone de un solo byte. Solucin Pl.

a) Supongamos que los nmeros A y B tienen el mismo nmero de bits na n b=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 1's. 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 . 11 111A 11 111B 111 110 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+1 bits. 1 1 1 1 1 A 111 B 100 110 En general, podemos concluir que el nmero de bits del resultado vendr dado por la siguiente expresin: na+b= max(na, nb) + 1
n

Esta misma expresin se obtiene razonando sobre los valores mximos: A<-2 a -1 y
nb B<-2 -1 ->A+B<-2na+2nh-2<2

-1 Para la multiplicacin tambin debemos ponernos en el peor de los casos : todos los bits de A y B son 1's.

max(na+nb+l)

11 ...11 A 1 . ..11 B 11 ...11 SO 11 . . .110 si 1 1 .. . 1 1 0 0 0 0 s


nb. .. 0 1

146 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Supongamos que el nmero A tiene ms bits que el B (na > nb). Llamemos Si , a los

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

b) Convertimos los nmeros 110(10, 35(10y73(10en binario


110 12 v,312 Jb 5 5 12 1 6 (2 j

2712 131 2

112.

v0
110(10 = 1101110(2 , o bien , si utilizamos un byte para almacenar el nmero

110(10=01101110(2
73 12 `D 3 612 2 `0 912 j 412 `0 112 j 0 `0 181 `0 2 2

73(10= 01001001(2.Por ltimo:


35 12. ,U 17 12

v v 2 12
`0 112

81 2

v v0

412

35 10 = 00100011(2 Las sumas son: 01101110 110 1. + 00100011 35 10010001 145 2. 01101110 110 01001001 73 10110111 183

Problema 2.-Realice la substraccin de los siguientes nmeros binarios usando (i) el complemento a dos (fi) el complemento a 1 Comprubese la respuesta por substraccin directa. a) 11010- 1101 b)11010-10000 c) 10010 - 10011 d) 100 - 110000 Solucin P2. a) Por substraccin directa

1 1010 26 1101 13 01101 13 Por el complemento a 1 01 1010 +26 + 110010 -13 1001100 L-->+ 1 001101 +13 Por el complemento a 2 + 011010 +26 110011 -13 +13 .00 1 1 0 1 b) Por substraccin directa 11010 +26 -1 0000 -16 01010 +10 011010 +26 + 101111 -16 1001001 L--> + 1 001010 +10

Por el complemento a 1

148 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Por el complemento a 2 01 1010 +26 _ + 110000 -16 >40010l0 +10 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 10010 18 10011 19 10011 19 -10010 18 1 1 1 1 1 =9 0 0 0 0 1 1 Resultado -1 Por el complemento a 1 010010 +18 + 101100 -19 111110 -1 Por el complemento a 2 010010 +18 + 101101 -19 111111 d) Por substraccin -1 directa

Existe Borrow 1 final. _ 000100 4 110000 481 10000 48 000100 4 1 1 0 1 0 0 =? Por el complemento a 1 0000100 +4 + 1001111 -44 Por el complemento a 2 0000100 +4 + 1010000 -44 -48 1010100 -48 1010011 1 0 1 1 0 0 44 Resultado -44

Problema 3.-Sea una ALU de 8 bits que entre otras operaciones realiza la suma sin signo (SSS) y la suma en complemento a dos (SC2). ndique justificadamente : a) Dados dos nmeros positivos A y B, da igual sumarlos mediante SSS que medianteSC2?. b) En qu consisten y cmo se reconocen los errores de desbordamiento (oven7ow)? En su caso, cmo puede obtenerse el resultado correcto?. c) Realice, si es posible, las siguientes operaciones indicando si es con SSS o SC2. 1(-75) + 125 2(-75) +(-125) 3 75 + (-125) 4.75+125

Solucin P3. a) Disponemos de dos nmeros positivos A y B. En primer lugar determinaremos la estructura de estos nmeros en ambas notaciones . En SSS, los nmeros son la representacin binaria de una magnitud. El rango oscila entre 0 y 255 para los 8 bits de la ALU. En SC2, los datos estn representados segn el convenio basado en el complemento a 2 . Esto es, A y B representan valores positivos y negativos, existe un bit de signo y sus valores van del -128 al +127. Para la comparacin de las operaciones SSS y SC2 cabe distinguir varios rangos : 1) A+B < 127, esto es, la magnitud que representa la suma de los dos nmeros es menor que 128. En este caso, tanto SSS como SC2 dan el mismo resultado . 2) 127 < A+B < 255 . En este caso el resultado que da SSS es correcto, pero no as SC2, ya que la representacin en esta notacin necesitara un bit ms . El resultado sera interpretado como un nmero negativo. 3) A+B > 255. Este caso es absurdo para SC2, ya que, como mximo, la suma de dos nmeros positivos en Ca2 es de 254 . Para SSS existe un error en el resultado, porque las 8 salidas de la ALU son insuficientes para representar la magnitud de la suma . b) Los errores de desbordamiento ocurren cuando se sobrepasa la capacidad de representacin de los sistemas, produciendo estos, resultados incorrectos . Para reconocer el desbordamiento, disponemos de la seal de acarreo C8y deoverflowV,que ofrecen la mayora de las ALU's . El bit de overflow es til para operaciones en las que intervengan nmeros expresados en notacin Ca2. Se obtiene realizando la operacin Exor entre el acarreo de la columna de signo C7yel acarreo de salida C8:V=Exor(C7,C8) .Aclaremos este aspecto. Supongamos que tenemos dos nmeros positivos de 8 bits expresados en Ca2 . Si la suma de los bits A6-0 y B60, es menor de 128, no se produce ningn acarreo C7=C8=O, y el resultado es correcto, tal como muestra la figura : C8=O C7=O 0 A6A5 .. . 0: B6 B5 . 0:F6 F5 ... Si la suma de los bits A6-0 y B6-0 es mayor de 127, se produce un acarreo C7=1 que provocar que el resultado se interprete como un nmero negativo . Existe overflow o desbordamiento. En este caso, como se

puede observar, no existe acarreo de salida C 8=O. C8=0 C7=1 0 A6A5 . .. 0 B6B5 ... 0
F6 F5 ...

150 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Cuando los dos nmeros son negativos, se produce siempre un acarreo de salida que se desprecia. En tal situacin se producir unoverflowcuando, al producirse un C7=O, se obtiene un resultado positivo:

C8=1 C7=0 : 111-,1 A6A5 ... 0 B6 B5 ... 0 F6F5 .. .

0'

La situacin siguiente es correcta y en ella no se produce overflow: C7=1 C8=1`~` r--1~ A6A5 ... 0 B6B5 ... 0 F6 F5 .. . Si damos un rpido repaso a las condiciones que producen desbordamiento V=1 en funcin de C7 y C8, comprobaremos que se cumple la expresin dada para V . Dicho todo esto tenemos que : 1 ) En SSS sabemos que existe un desbordamiento cuando el bit de acarreo C 8 se encuentre a 1 lgico, independientemente del bit V . 2) En SC2 sabemos que existe overflow cuando el bit V se encuentre a 1 lgico. No obstante, en ambas notaciones es posible recuperar la suma correcta, utilizando como noveno bit el de acarrero C8 : C8F7F6F5F4F3FZF1Fo 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 (A7= B7= 0) o si ambos son negativos (A7= B7= 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 A8= B8= 0 en el primer caso y A8= B8= 1 en el segundo. Entonces, al sumar la columna 8 se tendr 0 + 0 + C8 o 1 + 1 + C 8, por lo que en ambos casos el hipottico bit de signo del resultado correcto es F8 = C8. c) Los tres primeros casos slo pueden realizarse con SC2 ya que se trata de nmeros con signo, mientras que el ltimo se realizar con SSS . 1) SC2(101 10101 + 01111101). Las salidas de la ALU son 00110010, que representan el nmero +50. Se produce acarreo, C8 = 1 que se desprecia en la aritmtica en Ca2, y el bit de overflow, V, se encuentra a 0 porque los acarreos C8y C7estn 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 (C7 = 0, C8 = 1) indicando que existe un error de desbordamiento. El resultado correcto se puede obtener formando un nmero de 9 bits, constituido por el bit de acarreo C8 como bit de signo, y los 8 bits del resultado, A+B = 100111000. Esto representa el nmero -200, lo cual es correcto. 0

3) SC2(01001011 + 10000011). Las salidas de la ALU son 1100 1110, que representan el nmero -50. No se produce acarreoC8yV=O. 4) SSS(01001011 + 01111101). Las salidas de la ALU son 11001000, que representan la

magnitud correcta, 200. No se produce acarreo de salida C8=0. Si se hubiese realizado SC2(01001011 + 01111101) las salidas de la ALU tambin son 11001000, pero V = 1 indicando desbordamiento.
Problema 4.-Muestre la palabra de 8 bits que representan los nmeros +36 y -36 en las tres notaciones (SM, Cal, Ca2). Represente tambin el resultado de multiplicar por dos y de dividir por dos, esos nmeros. Qu relacin hay entre la palabra inicial y la final? Solucin P4.

a) Para nmeros positivos: En las tres notaciones se representan de igual forma los nmeros positivos . Por tanto: +36-00100100 (+36) x 2 = +72-01001000 (+36) _ 2 = +18 -3 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:
00

c x2 S =2S?

b) Para nmeros negativos : La representacin de los nmeros negativos vara de una notacin a otra . En este problema tenemos : bl) Signomagnitud: -36-10100100 0 (-36) x 2 = -72-11001000; en general, x 2 x 2 U o (36) -2 =-18-10010010; en general,- 2 = 2 UN b2) Complemento a : -36 -> 11011011 c (-36) x 2 = -72 --> 10110111 ; en general, x 2 2 S Ur 1 (-36) -2 = -18-11101101 ; en general, - 2 = 2 S~ U,,
152 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

6 -* 11011100 0 (-36) x 2 = -72 -> 10111000 ; en general, x 2 x 2 S 1 (-36) ---11101110; en general,- 2 -

.2=-18 .2

Ur

Problema 5.-Realice las siguientes operaciones en binario, comprobando el resultado: 22 x 18 b) 75 x 8 18x40 d)61=16 168 x-14 0168--. 20 Solucin P5.
a) 22 x 18 = 396 10110 22 x10010 18 101100 101100000 110001100 396 b) Desplazamos a la izquierda tres veces los bits del nmero 75 e introducimos un 0 por la derecha cada vez que realicemos un desplazamiento. 75 = 1001011 ; 75 x 8 = 1001011000 c) 18 x 40 = 720 101000 40 x10010 18 1010000 1010000000 1011010000 720 d) Dividir un nmero A entre una potencia de dos equivale a desplazar hacia la derecha los bits del nmero A. As 61 _ 16 = 111101 -10000 = 11.1101. Este resultado representa el nmero 3.8125 . e) 168 _ 14 = 12 1010100011110 -1110 1100 01110 -1110 0

f) 168=20=8.4
10101000 110100 -10100 1000.0110 . . . 100000 -10100 11000 -10100 01000

El resultado exacto es 8.4; el obtenido hasta el cuarto dgito decimal es 8.375. Problema 6.-Las sumas y restas en complemento a 10 tienen las mismas reglas que las sumas y restas en complemento a 2. a) Represente +149 y -178 en complemento a 10 con 4 dgitos, el ms significativo de los cuales acta como "dgito de signo". b) Sume (+ 149) +(-178) en complemento a 10. c) Represente+ 149 y -179 en BCD bajo complemento a 10, usando un bit como signo . d) Sume en BCD y complemento a 10 (+ 149) + (-178), interpretando la respuesta . Solucin P6. a) El complemento a 10 de un nmero A, para n dgitos, viene determinado por la expresin CalO(A) = 10-A. Por ejemplo, para n = 4 el Cal0(9876) = 104 -9876 = 0124; y el Cal0(4342) = 5658 . Para representar nmeros decimales con signo en el convenio basado en el Cal 0 se procede como en el caso del Ca2 ; esto es, +N se representa como N(10 y -N, como CalO(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.
0149 +9822 9971

En nuestro caso el primer dgito es 9 lo que significa que el resultado es negativo. Para conocer la magnitud del resultado aplicamos, nuevamente, la definicin del Calo : Cal 0(9971) = 0 0 2 9 . El resultado, por tanto, es el -29. c) Si representamos los valores anteriores codificados en BCD, utilizando un nico bit para el signo (0 para los positivos y 1 seguido del Calo para los negativos), nos queda: + 149-0(149)BCD= 0000101001001 -178 -* 1 Ca 10(178)BCD = 1(822) = 1100000100010
154 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

d) La suma de los valores anteriores ser: 1< 0 0001 0100 1001 + 1 1000 0010 0010 1 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 1100 10 111000 1, que corresponde a -029 (el primer bit 1 indica que es negativo y los otros 12 bits, en BCD, equivalen a 971 por lo que el resultado es -Ca 10(971) = -29.

Problema 7.-La substraccin binaria directa F=A-B produce una diferencia correcta si A es mayor o igual que B.Cul podra ser e/ resultado s A es menor que B ?.Determine la relacin entre el resultado obtenido en F y el bit de borrow en la posicin ms significativa.
Solucin P7.-Para determinar el resultado, investiguemos con un ejemplo sencillo qu nmero obtenemos al realizar la resta binaria F = A-B. Supongamos que realizamos la siguiente operacin (A =10(10y B = 15(10) :

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 2 + 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 01011: F En este caso no se genera borrow y el resultado es el correcto ( 26 -15 = 11). Como se puede observar, el resultado F de esta operacin es el mismo que el de la anterior, con la salvedad que la cantidad 2" es suficiente para cubir el arrastre final. Entonces, F = 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=l), por lo que tenemos un nmero negativo expresado en notacin de complemento a 2 .

Problema 8.-Disee a nivel de puertas un sumador completo de tres bits (adems de posibles acarreos). Utilizando el diseo anterior, realice un sumador paralelo de 3 nmeros de n bits.

Solucin P8.-El sumador completo a disear debe tener como entradas en cada etapa los bits de los tres nmeros y el acarreo generado en la etapa anterior . Debe generar la suma de las entradas anteriores y el acarreo de salida hacia la siguiente etapa . Para determinar el nmero de bits que ser necesario utilizar para el acarreo, vamos a realizar una suma de tres nmeros que son todos 1's : Acarreo 2 2 2 1

11111 11111 ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c450001010000 0c484c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d 5346540000000049454320735247420000000000000000000000000000f6d6000100000000d32 d4850202000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000001163707274000001500000003364657363000001840000006c7 7747074000001f000000014626b707400000204000000147258595a0000021800000014675859 5a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000 002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f80 00000146d6561730000040c0000002474656368000004300000000c725452430000043c000008 0c675452430000043c0000080c625452430000043c0000080c7465787400000000436f70797269 676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e7900006 46573630000000000000012735247422049454336313936362d322e3100000000000000000000 0012735247422049454336313936362d322e31000000000000000000000000000000000000000 000000000000000 ..11101

Como puede observarse, en el peor de los casos cada celda sumadora de 3 bits debe sumar los tres l's de los nmeros, y aadirles un acarreo de como mucho 2 . Para codificar los posibles acarreos, necesitaremos dos bits . Por tanto la celda a disear tiene 5 entradas y 3 salidas. Ntese que es imposible que se genere, en ningn momento, como acarreo, la magnitud 3 :
Xj

F;
yi Sumador

zl

completo

Co

co Cl cl La salida Fp responde al siguiente K-mapa : Yj Zi 000 001 011 010 110 111 101 100
Xi

c l co 0 0 0 1 1 1 1 0
0 1 1 0 0 1 1 0 1 0 1

Fj

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 Kmapa, las ecuacin de salida es la funcin Exor de las variables de entrada, salvo c l que, si escogemos adecuadamente las inespecificaciones, no afecta:
Fj= x, O+y,z,(D

co

156 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Para el acarreo de salida, tenemos el siguiente K-mapa : xi yi Zi 000 001
011 010 110 111 101 100
CCO

00

00 00

0 1

0 0

0 1

0 1

01 00

00 01 01 01 11 0 1 0 1 1 0

01 01 0 1 1 0

1 0 1 0

C' Co 01 01

10

10 01

de donde se obtienen las siguientes ecuaciones : C, = yZiC1 +-iy C~ +X-i ZfC~+x, y ziCo
Co=XA C 1+x1z1c 1+y~z1c 1+xAC0+xjz1c0+y~z1c0+Xc1c0+x1z1c 1C0+yjz1c1C0
A

b) Para el sumador paralelo de n bits, utilizaremos n unidades sumadoras, realizando una conexin de acarreo en serie entre ellas. Zn-1 yn-1 xn-1 Z1 Y1 X1 ZO Yo x0

Problema 9.-La ALU de 4 bits de la figura se incluye dentro de un Cl. Muestre las conexiones entre 3 Cl pra formar una ALU de 12 bits. Asigne los arrastres de entrada y salida en la ALUde 12 bits. A3 A2 A Ao 1111
CoE

B 1111 B B, Bo ALU F3 F2 F Fo WW W

s2 S SO Ci

Solucin P9.-Para formar una ALU de 12 bits nos basta con 3 ALU's de 4 bits. En ellas conectaremos los distintos grupos de 4 bits de las entradas A y B de 12 bits. Por otro lado, las seales de control de las tres deben ser idnticas, por lo que irn interconectadas . Por ltimo, cuando se realicen operaciones aritmticas, ser necesario que cada ALU conozca si la ALU anterior ha generado un acarreo o no para aadrselo a su suma parcial. Por tanto se sugiereuna estructura de acarreo en serie . El circuito resultante sera :
A11-8 B11-8 1 A7B A B

1111 1111
ALU
2S So

1111 1111
S2 S

1111 1111
S2 S SO

ALU

ALU

SO

S2 S1 So Cin

Ci

Ci

C,

1111
Cout

1111
F7-4 F3-o

1111

F11-8

Problema 10.-Disee un circuito aritmtico con dos variables de seleccin s, ysoque realice las siguientes operaciones aritmticas. ndique una solucin para una etapa tpica .
S 1 SO

Ci 0 C'=1

0 0 F=A+B F=A+B+1 0 1 F=A F=A+ 1

1 0 F=B F=B+1 1 1 F=A+B F=A+B+1 Solucin P10.-Daremos una solucin basada en un sumador de n bits con entrada de acarreo, a cuyas entradas a y b habr que conectar los datos adecuados en funcin de s1 y so. En concreto, si sls0 = 00, las entradas a y b tendrn los nmeros A y B respectivamente ; si s1s0=01,a=Ayb=0; si s1s0=10,a=Oyb=B;ysislso=11,a=Ayb=B. Una solucin con subsistema consiste en utiliza dos grupos de multiplexores de 4 canales cuyas salidas se conectarn con la entrada a o b y, en funcin de sus seales de control, se escoger el canal que tenga el dato apropiado para la operacin: AAO A B OB B
S1 SO

F A continuacin haremos el diseo interno de la etapa tpica de un sumador que responda al conjunto de operaciones especificadas . Mediante la repeticin e interconexin de etapas tpicas se obtendr el sumador entero . Utilizaremos como base del diseo un sumador 158 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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

Hay que disear el circuito combinacional (C.C.)de modo que, en funcin de los valores de control s i s0, y los bits i de los nmeros A y B, permita suministrar las entradas adecuadas a; y bi del sumador completo, para que su salida se corresponda con la operacin especificada. Podemos obtener, sin mayor dificultad, el K-mapa del C .C . : Bi s 1 s0 00 01 11 10 00 00 00 01 01 01 01 00 00 00 al b i 11 11 10 10 00 10 10 11 01 a;=A; b;=B a;=A; b1 =0 a;=A; b;=B1 a;=0 b1 =Bi 10

de donde obtenemos las siguientes ecuaciones:


a = Ais,+Ais0

b. = Bisls + bis1
Problema 11.-Se desea obtener el valor de un nmero binario sin signo A, de 8 bits (A=A7_0), multiplicado por 129. a) Obtenga un circuito que lo realice. No pueden utilizarse circuitos aritmticos de n bits (n > 1), pero s semisumadores (HA), sumadores completos(FA) y puertas. b) Repita para Ax40. Solucin P11. a) Realizaremos, en primer lugar, la multiplicacin entre los dos nmeros :

A7A6A5A4A3A2AlA0 1000000 1 A7A6 A5A4A3A2AlA0 A7A6A5A4A3A2AlA0


Z15 Z14Z13Z12Z11 Z10Z9 z8 Z7 Z6 Z5 Z4 Z3 Z2 Z1 ZO

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, Z8 , debe calcularse sumando A7 con A0. Si esta suma genera un acarreo, se deber aadir al siguiente bit (A 1)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:

Z15 Z14 Z13 b) Operamos de forma similar al apartado anterior. Realicemos en primer lugar la multiplicacin para conocer qu elementos debemos utilizar en el circuito . A7A6A5 A4A3 A2AlAo 1 0 1 000 A7A6 A5A4A3A2AlA00 0 0 A7A6A5A4A3A2A1A0 Z13 Z12ZZOZ9 Z8 Z7 Z6 Z5Z4 Z3 0 0 0 Los tres bits menos significativos del resultado son 0 . Los dos bits siguientes, coinciden con los bits menos significativos del nmero A . A partir de aqu, el bit Z5 debe obtenerse sumando A0con A2,lo cual puede obtenerse con semisumador; el bit Z6,sumando A1con A3 ms el posible acarreo anterior, lo cual debe hacerse con un sumador completo . Utilizaremos sumadores completos para obtener los bits Z5hasta Z10. Los bits Z11 y Z12 pueden obtenerse con semisumadores y el bit Z13 corresponder con el acarreo del ltimo semisumador . El circuito resultante es : A7A A6 A4A5 A3 A4 A2A3A1 A2A0A1A0 bb bbbb bb HA HA FA FA_FA FA FA HA Co Co Co Ci Co Ci Co Ci _ Co CiCo Ci-Co 0 0 0 s s ss ssss

Z13 Z12 Z11 Z10 Z7 Z6 Z5 Z4Z3Z2ZZ0


160 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 12.-Se dispone de una ALU de 8 bits muy simple, ya que slo hace las operaciones de "suma " y " transfiere el complemento", como se indica en la figura adjunta : AB

F Cout A

+B V A+B+1 A

F Considere dos nmeros con signo de 16 bits (K y L), representados en complemento a dos. Cada uno est escrito en dos palabras de 8 bits, una con la parte ms significativa (H) y otra con la menos significativa (L), es decir, (K= KHKLy L=LHLD. a) Utilizando una sola AL U, indique justificadamente, qu hay que realizar para obtener M=K+L (M=MHM incluyendo la posibilidad de desbordamiento (overflow) . No hay que explicar cmo se almacenan los resultados intermedios, sino que, simplemente, hay que decir que se almacenan. b) Repita el apartado anterior para obtener M=K-L. c) Disee la ALU con puertas y sumadores completos (FA) de 1 bit. Solucin P12. a) Para realizar la suma de los dos nmeros de 16 bits, tendremos que hacerlo en dos etapas: primero la parte menos significativa y, segundo, la parte ms significativa. Los nmeros pueden ser positivos o negativos, puesto que estn representados en Ca2 . Por tanto es la salida V de la suma ms significativa la que nos determinar la existencia o no de un overflow . 1) ntroducimos por las entradas A y B los bytes KL y LL, respectivamente. Las seales de control de la ALU deben ser XC in = 00. Por la salida F, obtendremos el byte menos significativo del resultado, ML que se almacenar. Lo mismo se har con el acarreo de salida generado Cout = C8 2) ntroducimos por las entradas A y B los bytes KHy LH, respectivamente. Las seales de control de la ALU son XCin= OC8,de forma que si en la etapa anterior se gener acarreo, C8 = 1, se calcula la operacin A+B+1 y en caso contrario, A+B . La salida F corresponder con el byte significativo del resultado MH. Llamemos C16, al acarreo que se haya generado en Cout. 3) Es en este momento cuando debemos evaluar la salida V de la ALU para determinar la existencia de overflow: Si V=0, no existe overflow y el resultado correcto de la suma K+L est en M . Si V=1, existe overflow y el resultado correcto de la suma K+L est en el nmero de 17 bits formado por C 16M . b) Para realizar la diferencia K-L, calculamos previamente el complemento a 2 del nmero L, el cual se lo sumamos a K . La ALU no permite calcular el Ca2 de un nmero, slo

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+1 . Esto determina la diferencia K-L. 1) ntroducimos el byte menos significativo de L (LL),por la entrada A. Las seales de control de ALU deben ser XCi=1-.Por la salida F, obtenemosELyse almacena. 2) ntroducimos ahora el byte significativo, LH,por la entrada A. Las seales de control de la ALU deben ser XCi 1-. A la salida obtenemos F=LHy se almacena. 3) ntroducimos KLyLLpor las entradas A y B de la ALU. Las seales de control deben estar a XCin=01. Por la salida F, obtenemos MLy 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+l, 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 (C 8) y el acarreo de la etapa anterior (C7).

Cout

Problema 13.-Sean X e Y dos nmeros binarios positivos expresados en notacin complemento a 2. Utilizando la ALU de la siguiente figura, indique las operaciones a realizar en la ALU para que sus salidas representen el mdulo del resultado de la diferencia entre los nmeros X e Y.
3 S SO S SO t

Operacin

00 01 10 11

F = AND(A,B) F = A+Cin F = A+B+Cin F=


A+B+Cin

162 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P13.-El valor pedido, X-Y, se obtiene con X-Y si X > Y y con Y-X = -(X -Y)si X < Y. Para obtenerlo hacemos A = X, B = Y, Ci= 1 y siso= 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 X -Y, yC0,t = 1; y X < Y, en cuyo caso F = X-Y es un nmero negativo y Cot= 0. Por tanto, si C0,t = 1, la salida F proporciona directamente el mdulo de la diferencia y si C ot = 0 habr que realizar algunos pasos adicionales para obtener la salida deseada. Aqu presentamos dosopciones: a) Repetir el proceso anterior pero cambiando las entradas, esto es, A = Y, B = X, C1 . ;,,=1ysso=11 b) Reintroducir el resultado anterior F = X -Y por A y aplicar las entradas Ci = 1 y s1 so = 01, en cuyo caso obtendremos a la salida F = A+1 = Ca2(A) = Y -X. PROBLEMAS CON SOLUCN RESUMDA Problema 14.-Realice las siguientes sumas sin pasar a la base decimal: a)1110(2 +1001 (2 b) 100.1(2 + 111(2 c) F02B(16+1021(16 d) 1230(4 + 23(4 Solucin P14. a)

b)

c)

1011 .1

1 F02B(16 +1021 (16 10 0 4C06 d) 1

wn 1230 (4 + 23 (4 1313 (4
Problema 15.-Multiplique los nmeros del problema anterior sin pasar a la base decimal. Solucin P15. a)

b) 100 .1 x 1001 1001 11111 .1 c) Debe utilizarse la "tabla de multiplicar" en base 16, de la que se ilustran algunos casos : F02B(1 6 1021(16 F02B 111 1001

2 x B = 16(16 2 xF =1E(16

1E056 F02B F21 A 58 B(16 d) Debe utilizarse la "tabla de multiplicar" en base 4, de la que se ilustran algunos casos 1230 (4 3x3=21(4 + 23(4 3x2=12(4 11010 2x2=10(4 3120 102210 (4

Problema 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) + (-13) 2) (+42) - (-13) 3) (-42) + (-13) 4) (-42) - (-13)

164 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P16. 1) a) 1

0101010 42
1110010 -13

b) 0101010 42 + 1110011 -13


>1

0011100

0011101 29

0011101 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) 3) a) 1

0101010 42 b) 0101010 42 +0001101 13 + 0001 101 13 0110111 55 0110111 55

1010101 -42 b) X

1010110 -421110010 -13


+ 1110011 -13 1000111 1001001

-55 >1 1001000 -55 4) a) 1010101 -42 b) 1010110 -42 + 0001101 13 + 0001 101 13 1100010 29 1100011 29
Problema 17.-Realice las siguientes operaciones utilizando 10 bits, 3 de ellos para la parte fraccionaria, usando la notacin en complemento a 2 . Compruebe el resultado verificando los posibles errores. (+22.25) + (+13.13) (+22.25) -(+13.13) (-22.25) + (+13.13) (-22.25) -(+13.13)

Solucin P17.-La cantidad 22.25 se representa en binario como 10110.01. La cantidad 13.13 se representa como 1101 .00100010. . . Puesto que slo tenemos 7 bits para almacenar la parte entera y 3 para la parte fraccionaria de los nmeros, su representacin ser 22.25 = 0010110.010 y 13.13 = 0001101.001. a) 0010110.010 22.25 + 0 0 0 1 1 0 1.0 0 1 13.13 0100011.011 35.375 El resultado correcto sera 35,38. Se ha producido un error de 0,005 . b) Para realizar la resta sumaremos el Ca2 de 13 .13. Ca2(0001101.001) = 1110010.111 0010110.010 22.25 + 1 1 1 0 0 10.1 1 1 -13.13 0001001.001 9.125 El resultado que se lee tiene un error de 0,005 con respecto al resultado correcto, 9 . 12. c) Determinaremos, primero, el Ca2 de 22.25 Ca2(0010110.010) = 1101001 .110 1101001.110 -22.25 + 0 0 0 1 1 0 1 .0 0 1 13.13 1110110.111 -9.125 El resultado se obtiene con un error de 0 .005. d)
x1101001.110 -22.25

+ 1 1 1 0 0 10.1 1 1 -13.13 1011100.101

-35 .375 Se produce un error de 0.005.


Problema 18.-Se dispone de circuitos lgicos TE. Estos circuitos poseen tres entradas y una salida, y realizan la siguiente funcin de conmutacin TE(f,g, h)=f g + Th. Realice la etapa tpica de una unidad lgica que responde a la siguiente tabla, segn la organizacin indicada en la figura y utilizando, exclusivamente, MUX 4:1 en el C. C. . Las entradas se disponen en ral doble.

S2SiSo F 0 0 0 A A
001 0 1 0ABi B 0 1 1 Ai+B S2 C.C. 1 0 0ABi 1 0 1 A+Bi 1 1 0 Exor(A,B) S 1 1 1 Nexor(A,Bi) gT Si E Fi
166 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

B_

Solucin P18.-Se pueden dar mltiples soluciones a este problema. La que presentamos consiste en hacer g = 1 y h = 0 en el TE de salida, con lo que F i = f es la nica funcin que debe realizarse con el C.C. Para disear C.C. con multiplexores representamos F; en un mapa binario natural:
s2 S s0 000 001 010 011 100 101 110 111

ABi

0 0 0 1 1 0 1 1

0 0 1 1 0 1 0

1 0 0 0 1 1 1

0 0 1 0

1 1 0 1

0 1 1 0 0 0 1

f = F

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:

1 2 310

11 A B

10

11

s2 s1

Problema 19.-Disee un circuito aritmtico con una variable de seleccin s y dos entradas de datos A y B de 4 bits. Cuando s = 0 el circuito realiza la operacin de suma F= A+B. Cuando s = 1, el circuito realiza la operacin de incremento F=A +1 .
Solucin P19.-Utilizaremos un sumador de 4 bits, en el que una de las entradas ser el nmero A y en la otra el nmero B para s = 0 y el nmero 0 para s = 1 . Asimismo conectaremos S al acarreo de entrada C i para generar F = A+ 1 cuando s = 1 . El circuito de la figura siguiente

deja pasar aB si s=0y da un0si s= 1 :

& & && t


El circuito final ser :

3 SS

C 1. Sumador 4 bits ;n

Problema 20.-Para la ALU de 8 bits de la figura, determine la salida F para todas las com-binaciones posibles de s2s, sosi las entradas A y B contienen los nmeros binarios $23 y $FO, respectivamente, y el acarreo de entrada es 0 . A7-o B7-0
s2 s1 s0

Operacin
t

000 F = AND(A,B) 001 F = OR(A,B)s2 010 F = EXOR(A,B) S 100 F = A+B+C;,, 101 F = A+B+C;,,110 F = A+ $FF+C;,,111 F=A+Cin

011 F = NOT(A)
SO

Solucin P20. a) s2

so= 000. F = AND($23,$F0) = $20. b) s2 S1 so= 001. F = OR($23,$F0) = $F3 . c)

s2 s 1 so= 010. F = EXOR($23,$F0) = $D3 d) s2s1 so= 011. F = NOT(A)=$DC. e)s2s1so=100.F=A+B+C;,,=$23+$F0=$13yCot=1 . f)S2S 1 so= 101. F = A +B+ C;,,= $23 + $OF = $32 yCout=0. g) s2s1 so= 110. F = A + $FF+C;,,= $23 + $FF = $22 yCout=1 h) s2 s1 so= 111. F = A + Ci= $23 yCout=0.

Captulo 7

ANLSS DE CRCUTOS SECUENCALES

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 to depende no slo del valor de las entradas X en t0 sino de la evolucin del sistema hasta t0 ; esto es: Z(t0)= Z((X(t0),X(t < to)) 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 SECUENCALES Y REPRESENTACONES 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 simplemente estados), S1, S2, .. . Sk,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 j) y el estado presente (S i). 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 =O(h,Si). -De Moore, en el que la salida depende slo del estado presente, O = O(S i). La evolucin del sistema viene marcada por el cambio desde el estado presente Si al prximo estado NS que en ambos modelos depende de la entrada y del estado presente : NS = NS(p Si) . La representacin de una mquina secuencial suele hacerse mediante grafos o tablas de estados/salida, de la forma siguiente :
170 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

NS O(NS)

Si NS O(Si) Mealy Moore CRCUTOS SECUENCALES La realizacin de mquinas secuenciales con circuitos digitales es lo que se conoce como cir-cuitos secuenciales. En ellos, los estados de entrada 1 corresponden a valores de las seales de entrada X, los de salida O a las seales de salida Z y, tambin, los estados internos 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 i -~ q, donde q = ql . . . 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 asncrona o sncrona, en cuyo caso el cambio de estado es controlado por una seal de reloj (clk). Una vez elegido el tipo de biestable, la mquina se describe por la 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: Xi Ti junto con el estado presente qi producen el adecuado Qi

Las funciones de excitacin (por ej. Ti)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 secuencia) sncrono es :

Circuito combinacional

q Bancodebiestable s clk 11 BESTABLES

Excitacio (por ej T nes de los 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 :

9 aa
q

00 01 11 l0 SJ 0 11

a aa 1 1 0 1RK-q QTabla de transicin biestable SR Tabla de transicin biestable JK Smbolo lgico D 0 1 00 1

a
Q

DT-

aq

Tabla de transicin biestable D Tabla de transicin biestable T Smbolo lgico Desde el punto de vista temporal, las formas sncronas de los biestables son : -Disparados por nivel (a veces llamados latches sncronos): en estos biestables uno de los dos niveles de la seal de reloj habilita los cambios de estado (segn la tabla de estado del biestable), mientras que durante el otro nivel no hay cambio de estados (Q = q). -Disparados por flancos (a veces llamados flipflops) : 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. q q clk 1 clk clk (Latch, nivel H) (Master-Slave, flanco bajada) (Edge-triggered, flanco subida)
172 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

La mayora de los biestables sncronos incorporan una o dos seales de excitacin asn 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 asncronas desactivadas para poder operar sn-cronamente. ANLSS DE CRCUTOS SECUENCALES 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 ; 22) 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 6r) 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 . PROBLEMAS RESUELTOS Problema 1.-Obtenga los biestables JK y T a partir de un biestable D . Solucin Pl.-Este problema se reduce a obtener un circuito combinacional CC que, para cualquier combinacin de entradas JK y estado presente q, genere una entrada en el biestable D que provoque, en ste, la transicin de estado que correspondera al biestable JK para idnticas condiciones de entrada y estado .

Para construir la solucin, comenzaremos por presentar la tabla de transicin del

biestable JK y la tabla de excitacin del biestable D . JK 9-> Q D00 01 11 10 0-31 1 1-40 0 1-91 1 0-30 0 Q

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 Karnaugh se tiene: JK 00 01 1

D De aqu obtenemos la expresin para D:

D=J

+ K q. El circuito correspondiente se muestra en la figura:

L&
K

&
J

F
Para el biestable T procedemos de idntica manera.

elh D 9
q 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:

aE au
Q La ecuacin de entrada al biestable D es:D = T- q + T q
L

&

_1 q -1--q r

174 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 2.-Se pretende construir un circuito como el de la figura, el cual podr actuar como RS, D, T o JK dependiendo del valor de C, y Co (ver tabla). Diselo utilizando como nico elemento de memoria un biestable tipo T.

C, Co , lo C, --Q Co-0 0 R S 01D 1 1 1 0T 1lo 1 1 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 emblema 1, obtenemos las siguientes

ecuaciones de entrada :

T=Sq+Rq T = J q+K q T = DOq Asociando cada ecuacin con el caso correspondiente C 1Co e identificando las entradas 1 1 e lo con las del biestable
en cada caso, se tiene : C1Co=00 T = lo q+1, q C1Co=01 T = , O+ q CCO = 10 T = T C1Co=11 T=1,q+loq Combinando estas expresiones en una sola : T= (,q+,,q) C,C+(,O+q) C, C+TC, C+(1, q+l q) C,CO Esta expresin, nos permite realizar el circuito utilizando un multiplexor, cuyas entradas de seleccin son C 1 y Co. Problema3.-a)Encuentre la forma de onda de salida de un biestable RS Master-Slave para la siguiente secuencia de entrada:

clk S

n
R1
b) Cmo sera la onda de salida si se tratara de un RS disparado por flanco descendente (negativo)? c) dem para flanco positivo .

11

Solucin P3. a) El biestable Master-Slave est formado internamente por dos latches SR, tal como se muestra en la siguiente figura:
Master Slave S-Sq Ssqs
R-R sqs

clk

f
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 qsdel esclavo son las salidas del conjunto Master-Slave. Para resolver este problema, vamos a representar las formas de onda de salida del biestable amo y del esclavo . to t1t2t3 t4 t5 clk S R qm q = qs A 1 E-

Los dos biestables comienzan por un estado desconocido representado por la banda rayada en el grfico

anterior . Cuando clk = 1 el biestable amo puede cambiar de estado, y el cambio ocurre como consecuencia del cambio en la seal S, dado que este valor de entrada (Sm= 1) fuerza a que q,,,= 1. En el intervalo [t1,t2],clk = 0, con ello el biestableMaster mantiene su estado inalterable, y el Slave lee en sus excitaciones los valores 10 = 10) (SsRs = gmgm por lo que qstoma el valor lgico 1. En el intervalo [t2,t3], clk = 1 . A principio del intervalo, SR= 00 por lo que el Master mantiene el valor del estado en el que estaba, pero el cambio que ocurre enRmprovoca un cambio en q,,, que toma el valor 0. Durante [t3,t4]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 Master-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. 176 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

clk to t3 S
11

R1 q1 Hasta el instante to, 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 a1. En el instante t1 , 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 to
3

S R1 q Podemos observar en el cronograma que se mantiene el estado desconocido inicial durante muchos ciclos, porque en los flancos ascendentes, que ocurren en los instantes to y t l , las entradas son SR = 00 . En el instante t2 la entrada es SR = 01 por lo que se almacena un 0 en el biestable. La llegada del siguiente flanco, en t3 , no altera el contenido del biestable ya que SR = 00 .

Problema 4.-Para cada uno de los circuitos de la figura, justifique razonadamente si es vlido como biestable para realizar cualquier circuito secuencial .
a& L q a_1 a

1 r=&1
(a) (b) (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 ---3 0, 1 -3 1, 1 -> 0, 0 --> 1. El circuito de la figura (a) presenta el siguiente K-mapa, donde se puede observar que no existe la transicin 0 -3 1 . ANLSS DE CRCUTOS SECUENCALES 177

ab

00Ql 1110 000 00 100 10 Q S obtenemos el K-mapa para el circuito de la figura (b), podemos observar que no existe transicin de 1 - > 0:

Q El circuito de la figura (c), es el nico que permite las cuatro transiciones posibles, por lo que puede ser utilizado, como elemento de memoria . Su k-mapa se muestra a continuacin :

ME

ama
Problema5.-Analice el circuito de la figura:

1T
Y0

q22 q2n

_
1
1

D3ci q3

X Y Jq X- K q

clk 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

(excitacio-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: 178 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES
J, = Y q3

K,=X T2= Y.(X+Og3)=X.Y.g3+X.Y.g3

D3 = q2' Gy'g2 -~.X'g1 = X g2'g2+X'gi'g2 = X+q,+q2

Z=X+q3+Xq2+X.q, =X+q2(+q3 b) Escribir la tabla de

excitacin/salida. Las ecuaciones antes obtenidas se expresan mediante un mapa de Karnaugh . En nuestro caso: XY

q1 q2q3
000 001 011 010 110 111 101 100

00
00,0,1 , 00,0,1 , 00,0,1 , 00,0,1 , 00,0,1 , 00,0,1 , 00,0,1 , 00,0,1 , 1 1 0 1 1 0 1 1

01
00,0,1 , 10,1,1 , 10,1,1 , 00,0,1 , 00,0,1 , 10,1,1 , 10,1,1 , 00,0,1 , 1 1 0 1 1 0 1 1

11
01,1,1 , 11,0,1 , 11,0,0 , 01,1,0 , 01,1,1 , 11,0,1 , 11,0,1 , 01,1,1 , 1 1 1 1 1 1 1 1 01,0,1, 01,0,1, 01,0,0, 01,0,0, 01,0,1, 01,0,1, 01,0,1, 01,0,1, 1 1 1 1 1 1 1 1

10

JK1,T2,D3, Z
c) Determinar la tabla de transicin/salida . La tabla de excitacin se traduce a otra, la de transicin donde aparecen los prximos estados. Para ello se procede de la siguiente forma . En cada celda de la tabla de excitacin se observa el valor de las excitaciones del biestable considerado, por ejemplo, para el biestable 1, en la celda XY = 00, q1q2q3 = 000, se tiene J 1K1 = 00. Apoyndonos en la tabla de estados del biestable JK, esas excitaciones dan lugar a un cierto prximo estado ; as, para JK = 00 se da Q = q. Entonces, como en la celda considerada q 1 = 0, en la misma celda de la tabla de transicin pondremos Q 1= 0. Anlogamente, en esa celda Q2= 0 (ya que T2= 0) y Q3= 1 (ya que D3= 1 y, por tanto, Q3= D3= 1). La tabla resultante es: XY

g1g2q3 000 001 011 010 110 111 101 100 00


001, 1 001, 1 011, 0 011, 1 111, 1 111, 0 101, 1 101, 1

01
001,1 111, 1 101,0 011, 1 111,1 101,0 111, 1 101,1

11
011,1 101, 1 110,1 000, 1 001,1 011,1 001, 1 011,1

10
001, 1 001, 1 010, 1 010, 1 011, 1 011, 1 001, 1 001, 1

Q1Q2Q3,Z

d) Obtener la tabla de estados/salida. Cada estado de la tabla de transicin est dado por

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 g1g2q3 = 000, 001, 010, , 111, se obtiene la tabla de estados/salida que se muestra a continuacin :
0001 11 10 1, 1 1, 1 3, 1 1, 1 1,1 7,1 51

1,1 3,1 3,1 01 2,1 3,0 5,0 6, 1 2, 1 5, 1 5, 1 3, 1 1,1 5, 1 7, 1 1,1 1,1 7,1 7,1 1,1 31 7 7,0 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 :

10,1 01,0 01,1

nn J 1-,1 00,1

180 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

f) Expresar verbalmente el funcionamiento . Esto slo tiene sentido en casos muy espe-ciales. En nuestro problema no es aplicable .

Problema 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 ROM ha sido programada de acuerdo con la tabla adjunta, donde $ representa posicin y [$] su contenido) .
X > Ao Al > A2 do dl d2 Z $01 2 34 5 D D 6 7 C 7 6 D E F 4 A 9 D3 6 86 A BC D 18 [$] A B $89 [$] 4 7

A3ROMd3

Solucin P6.-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 D3, D2 y D1pueden ser

cualquier funcin de excitacin de las mismas variables. Analizamos el circuito identificando la variable asociada a cada lnea de entrada y salida de la ROM. As, tenemos: A3A2A1 = q3q2q1, Ao = X, D3D2D1 = d3d2d1 y Z = Do y podemos reescribir la tabla de contenido de la ROM : g3g2q1X D3D2D1Do d3d2d1do
0000 0001 0010 0011 0100 0101 0110 0111 1010 1011 0110 1000 0110 1100 0111 0110

g3g2q1X

D3D2D1Do
1000 1001 1010 1011 1100 1101 1110 1111 0100 0111 1101 0001 1000 0100 1010 1001

A3A2A1Ao

d3d2d1do

A3A2A1Ao

A continuacin escribimos la tabla de excitacin y salida del circuito que coincide con la de transicin, ya que estamos utilizando biestables tipo D para los cuales se cumple Qi = Di:
939291 0 1 000 101,0 101,1 001 011,0 100,0 010 011,0 110,0 011 011,1 011,0 100 010,0 011,1 101 110,1 000,1 110 100,0 010,0 111 101,0 100,1 D3D2D1,Z = Q3Q2Q1,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 g3g2q1 = 000,001,010,011,.. .,111. El resultado es el siguiente:
01 5,0 5, 1 3,0 4,0 3,0 6,0 3, 1 3,0 2,0 3, 1 6, 1 0,1 4,0 2,0 5,0 4,1 NS, Z .-Analice el circuito de la figura. Encuentre la forma de onda de la salida para la secuencia de entradas dada. Problema7 X >1 Y >1 z J2 q2 K~92

lk clk

x Y1

182 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Solucin P7.-Anlisis del circuito : a) Ecuaciones de excitacin y salida: D1=X+Y J2=X K2=Y Z=q2+Y.q1 b) Tabla de excitacin y salida:

q1 q2 00 01 11 10

00 0, 0 0, 0 0,00,1 0,00,1 0,00,0

01 1, 0 1, 1 1,01,1 1,01,1 1,01,0

11 1, 1 1,1 1,11,1 1,11,1 1, 1 1,0

10 1, 1 0, 0 1,10,1 1,10,1 1, 10,0

D1 , J2K2, Z c) Tabla de transicin y salida:

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c45 00010100000c484c696e6f021000006d6e74725247422058595a2007ce0002000900 0600310000616373704d53465400000000494543207352474200000000000000000 00000000000f6d6000100000000d32d4850202000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000011 63707274000001500000003364657363000001840000006c77747074000001f00000 0014626b707400000204000000147258595a00000218000000146758595a0000022 c000000146258595a0000024000000014646d6e640000025400000070646d646400 0002c400000088767565640000034c0000008676696577000003d4000000246c756d 69000003f8000000146d6561730000040c0000002474656368000004300000000c72 5452430000043c0000080c675452430000043c0000080c625452430000043c000008 0c7465787400000000436f70797269676874202863292031393938204865776c6574 742d5061636b61726420436f6d70616e790000646573630000000000000012735247 422049454336313936362d322e31000000000000000000000012735247422049454 336313936362d322e31000000000000000000000000000000000000000000000000 000000 q 00 01 1110 00,0 lo, 1 1 1, 1 1 1,0
01,1 10,1 10,1 11,1 01,1 10,1 10,1 11,1 00,0 10,0 11,0 11,0 QiQ2, Z d) Llamando a = 00, b = 01, c = 11 y d = 10 obtenemos la siguiente tabla de estados y salida. Esta tabla puede ser reducida en un estado, ya que b es equivalente a c :

\Y S 00 a, 0 b, 1 b, 1 a, 0 01 d, 1 d, 1 d, 1 d, 0 11 c, 1 d, 1 d, 1 c, 0 10 c, 0 c, 1 c, 1 c, 0 a c d 00 a, 0 c, 1 a, 0 01 d, 1 d, 1 d, 0 11 c, 1 d, 1 c, 0 10 c, 0 c, 1 c, 0

XY

NS, Z

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 valores, se observa en la tabla cul es el prximo estado . ste 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) .
ANLSS DE CRCUTOS SECUENCALES 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?dcc c ccd c Z1

Problema 8.-Para 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 (q1,g2,q3,) = (0,0,0).
yl clk 1 clk2 Y X Solucin P8.-Para conocer la forma de onda de la seal de salida Z obtenemos previamente la forma de las seales ql, q2 y q3. Cada una de las transiciones de las seales tiene asociada un nmero en la figura y a continuacin se expone la explicacin relativa a cada nmero.

184 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

clk 1 S clk2 Y X 1 1

4 e o
q1

Fo

q2 q3 z

o
F

o
0

F Fo Fo F

F
~ OO

Dado que JjK1= 11 e Y = 1, se cumple Q1= q1en el flanco negativo de clkl .

O O

2 Como Y = 0, tenemos que Q1 = 0 y Q1 = 1 (independientemente del reloj clkl ).

3 Como Y = 0, tenemos que Q2= Q3= 1 (independientemente del reloj clk2) .

Dado que Y = 1 y D2= Xy D3= X, segn sea el valor de X se cumplir que Q2 Q3 = 1 en el flanco negativo de clk2 . Dado que Y = 1 y D2= X y D3= X, segn sea el valor de X se cumplir que Q2 Q3= 0 en el flanco negativo de clk2 . Z se obtiene como resultado de evaluar en el tiempo la ecuacin : Z = Y ql q2 q3 .

Problema 9.-En el circuito de la figura, las entradas A, 8, y C estn todas inicialmente a cero . La salida Y tambin est inicialmente a cero (0) y pasa a uno (1) despus de una cierta secuencia en el cambio de A, B y C a uno (1). a) Determine la secuencia que har que Y pase a uno (1). b) Explique por qu se necesita el pulso de Start.
J1 J2 >clk clk

KK lCL
u

Start

Solucin P9.-Como K2= 0, las entradas del biestable Y slo pueden ser J 2K2 = 00, en cuyo caso el biestable no cambia de estado, o J2K2= 10, en cuyo caso Y = 1 . Si inicialmente Y = 0 y se desea que pase a 1 necesitamos : 1-O) que J2= X sea 1 22)que el reloj del biestable X: C, suba a 1 (tenga un flanco de subida) . Para cumplir la condicin primera, de forma anloga, A debe subir a 1 y, despus, B (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 :

Cuando Y = 1, como J2K2 = 00 10, no puede cambiarse el estado del biestable "Y" mediante las entradas sncronas . De aqu que sea necesario ponerlo a 0 asncronamente (Start) cada vez que se desee que la entrada "Y" tenga un flanco de subida.
Problema 10.-Analice el circuito de la figura donde los biestables son disparados por flanco y obtenga la secuencia que genera partiendo del estado inicial q1q2q3q4 = 1000 .
q1 q2 q3q4 A

Di Dq2D3 D

clk

Este circuito posee bloqueo. Usando puertas lgicas, modifique el circuito (aadiendo lo necesario) de forma que se evite el bloqueo : 1 Utilizando las seales asncronas de los biestables (no mostradas en la figura) .

2 Sin utilizar las seales asncronas de los biestables. Qu ocurrira en el caso de que los biestables fuesen disparados por nivel?

Solucin P10.-Analizamos el circuito aplicando el mtodo habitual de anlisis de circuitos secuenciales sncronos . Obtenemos en primer lugar las ecuaciones de excitacin : D1 = q10+ q4 D2 = q1 D3-q2 D4 = q3
186 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Dado que en biestables tipo D se cumple Di = Q, tenemos la siguiente tabla de estados para el circuito:
q3 q4

q 2

00 0000 1000 1001 0001

01 0010 1010 1011 0011

11 1110 0110 0111 1111

lo
1100 0100 0101 1101

00 01 11 10

Q1Q2Q3Q4 De la tabla anterior, llamando cada estado por

la representacin decimal de la palabra binaria ql q2 q3 q4 se obtiene el grafo de estados que se muestra :

C 09009000 Goce***
Existe bloqueo en el funcionamiento del circuito, ya que si el circuito entrase en el estado 0 nunca saldra de l . Para eliminar el bloqueo basta detectar cundo el sistema se encuentra en dicho estado, y realizar alguna accin que lo fuerce a salir de l . Planteamos dos soluciones distintas: 1) Solucin asncrona: Activar la seal de preset PR de cualquiera de los biestables . De esta forma obligamos a que el sistema cambie de estado asncronamente . 2) Solucin sncrona: Se tratara de introducir un 1 por la entrada de alguno de los biestables forzando igual mente el cambio de estado . Para detectar que nos encontramos en el estado 0 definimos una seal Z como : Z= ql q2. q3. q4 De esta forma las soluciones asncrona y sncrona aplicadas al biestable 1 son respectivamente:
q4 -q4Z -q3 -q3 -q2 -q2 PR

D1q1 D

Solucin asncrona Solucin sncrona

Analicemos qu sucede si los biestables son disparados por nivel (por ejemplo, por el nivel alto del reloj). Cuando clk = 0 se mantendra estable el ltimo estado almacenado y cuando clk = 1 ira modificndose el estado de acuerdo con el grafo de estados . Esto se hara al ritmo fijado por los tiempos de propagacin de los biestables y puertas . As, por ejemplo, si clk = 1 durante 4 veces el

tiempo de propagacin de los biestables tendramos que en cada pulso habra 4 cambios de estados: clk S136 944 42 181212 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 f lops.
Problema 11.-Para el circuito de la figura se pide : a) Analizarlo. b) ndicar la secuencia de salida que se obtiene si inicialmente los tres biestables tienen salida cero. c) ndicar cmo pueden sustituirse los biestables D y JK por biestables PM sin tener que redisear el circuito.

D2

q q2 q3

K clk
PM Q(t+1) 0 0 Q(t) 01 1 1 0 0 1 1 Q(t) 188 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

q3

Solucin P11 . a) Ecuaciones de excitacin: P1=q3 M1=q1 +q3 D2 = q1EDq3 J3-g2'g3 K3= 1

Z = g2-g3 De las ecuaciones de excitacin pasamos a la tabla de excitacin y salida :


9392 00 01 11 10

01,0,01, 0 11,0,01, 1 01,1,11, 0 01,1,11, 0

1 01,1,01, 0 11,1,01, 1 01,0,10, 0 01,0,10, 0


J3K3,D2,P1M, Z

Pasamos a la tabla de excitacin, a partir de las tablas de transicin de cada uno de los distintos biestables:

0
QQ

A continuacin la tabla de transicin y salida :


q3q2 q1 0

00 001, 0 011, 0

01 101, 1 111, 1

11 010, 0 000, 0

10 010, 0 000, 0

Q3Q2Q1, Z Y como ltimo paso del anlisis la tabla

de estados y salida, donde hemos llamado a los estados 0, 1, 2, 3, 4, 5, 6 y 7 segn la codificacin de las variables de estado que se muestra : q3q2q1 = 000, 001, 010, 011, 111
S NS Z 0 10 1 30 25 1 37 1 420 500 620 700
b) nicialmente g3g2q1 = 000 (S = 0) S: 0-> 1-~3 - 7 lo 0'- 1-o 3-> 7Z:0010 0 10

T
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 trestablas se muestran en la figura :

q -~> Q PM

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0 21000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049454320735 247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000001163707274000001500000003 364657363000001840000006c77747074000001f000000014626b707400000204000000147258595a000002180 00000146758595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000 002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f8000000146d656 1730000040c0000002474656368000004300000000c725452430000043c0000080c675452430000043c0000080 c625452430000043c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574 742d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313936362d 322e31000000000000000000000012735247422049454336313936362d322e3100000000000000000000000000 0000000000000000000000000000 q0 1 _ ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c48 4c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d53465400 00000049454320735247420000000000000000000000000000f6d6000100000000d32d485020200000 000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000001163707274000001500000003364657363000001840000006c77747074000001f00000001 4626b707400000204000000147258595a00000218000000146758595a0000022c000000146258595a 0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c0 000008676696577000003d4000000246c756d69000003f8000000146d6561730000040c00000024746 56368000004300000000c725452430000043c0000080c675452430000043c0000080c6254524300000 43c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574742d5 061636b61726420436f6d70616e7900006465736300000000000000127352474220494543363139363 62d322e31000000000000000000000012735247422049454336313936362d322e3100000000000000 0000000000000000000000000000000000000000 _0 .-1

01 o -0 1-0 1 1 0 1 10 0--1

0-6,-1
Una solucin es: P=D

PM

M=D

-Respecto al biestable JK: A partir de la tabla de excitacin del biestable JK (que se muestra en la siguiente figura) y de la del PM se obtiene la tabla para PM en funcin de JK y q (que tambin se muestra en la figura) : JK q 00 0 -0 1--0 1-01 01 1 0--1 1 0 1 0 0--1 Q
J

PM

Una solucin es: P=Jq M=K.q

190 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES PROBLEMAS CON SOLUCN RESUMDA 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.

J -D-

Problema 14.-Obtenga los biestables D y T a partir del biestable JK . Solucin P14.

T 9 9 99

Problema 15.-Para las secuencias de entrada de la figura, encuentre la forma de onda de salida para el caso de un biestable JK disparado por flanco negativo . Reptalo para el caso de ser disparado por flanco positivo.

clk J

Solucin P15.-Biestable disparado por el flanco positivo de clk. clk

00/1

Biestable disparado por el flanco negativo de clk . clk 1

Problema 16.-Analice el circuito secuencial sncrono de la siguiente figura :

qSA d
ROM

d3-K q A $ (AlA0) f$1 d2 d, 0F 0 10 D3 22 3B T2

clk

Solucin P16.-Si denominamos a los distintos estados por los que pasa la mquina como se muestra a continuacin, podemos dar la tabla de estados correspondiente a este circuito se-cuencial sncrono.

192 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

g1g2q3=000 S=0 0 1 g1g2q3=001 S=1 7,0 7, 1 q1 q2 q3=01 0 S=2 0,0 0,0 q1 q2 =100 S=4 q3=01 1 S=3 2,0 2,0 g1g2q3 5,0 5, 1 q1 q2 q3 = 1 0 1 S=5 3,0 6,0 q 1 q2 q3 = 1 1 0S=6 4,0 7,1 ql q2 q3 = 1 1 1 S=7 6,0 5, 1 1,0 4,0 NS, Z

Problema 17.- Para el circuito secuencial de la figura, obtenga la forma de onda de la salida Z correspondiente a la forma de onda X mostrada tambin en la figura . Parta del estado inicial q1 q0= 00. X q0 -L_

q q

Tp _
q0

X
q0 -

clk

q0-X -q0 q1 q0 q1

clk

x
Solucin P17.-Nombraremos a los estados del circuito de la forma mostrada a continuacin, y a partir de la tabla de estados obtenida deduciremos la secuencia de salida. X q1 q0=00 S=0 g1g0= 01 S=1 q1 q0= 10 S=2 g1g0=11 S=3 NS, Z

El valor de X se toma en el flanco negativo de clk . El estado inicial consideramos que es el 0 (q 1q0 = 00) . La secuencia de salida es la mostrada a continuacin : clk

1 130 13

Problema 18.- Analice el circuito de la figura . Si inicialmente los biestables estn a 0, indique la secuencia de salida para la siguiente secuencia de entrada: x: 1 1 1 0 0 0 (cada bit corresponde a un ciclo de reloj) X_
q1q2

X-

q1 -J3q q2-

X -K3q
q1 q2

1
q J2 q2

K K2 clk Solucin P18.-Tras el anlisis del circuito obtenemos el diagrama de estados al que responde la mquina secuencial. La codificacin que se ha usado para cada uno de los estados es:

g1g2q3=000 S=A 0;0

0;0 01,0

O O
1,1 g1g2q3=101 S=G 0,0 g1g2q3=100

1,0 O g1g2q3=001 S=B 919293=01 1 S=C 0,1g1g2q3=010 S=D , g1g2q3=110 S=E

0010
S=H 1,1

0,1 0,0 glg2g3=111 S=F

Para dar la secuencia de salida partiremos del estado inicial A (q1q2q3 = 000) y aplicaremos la secuencia de entrada.
194 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

clk

S ACH EADG Z
1

Problema 19.-Para el circuito y secuencia de entrada de la figura, determine la forma deonda de salida. El estado inicial es desconocido. Los biestables son disparados por flanco . Justifique las transiciones producidas en la salida . Y

clk

Solucin P19. clk __r

xL
Y Zi
ML

Z2

Problema 20.-Analice el circuito de la figura y muestre la secuencia de salida para la secuen-cia de entrada dada. Qu ocurrira si los biestables son disparados por el nivel alto del reloj?

q1 qi

q2 q2

clk

clk
1

Solucin P20.-Tras el anlisis del circuito secuencial sncrono se obtiene la siguiente tabla de estados como resultado. La codificacin de los estados de la mquina secuencia) es :

q1 q2=00 S=0 q1 q2=0 1 S=1 q1 q2= 10 S=2 q1 q2=11 S=3 NS, Z Aplicando la secuencia de entrada que propone el problema se obtiene la siguiente salida. Suponemos que inicialmente la mquina se encuentra en el estado 0 . clk

x
S000212310023312310000000 Z Si los biestables fuesen disparados por nivel se podran dar mltiples cambios de estado durante el nivel activo del reloj . El circuito funcionara respondiendo a la tabla de estados dada en la solucin si se disea el reloj clk con una anchura de pulso suficientemente grande para que el biestable cambie una vez por ciclo del reloj, y suficientemente estrecha para que no cam-bie ms de una vez.

Captulo 8 DSEO DE CRCUTOS SECUENCALES

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 DSEO 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: Descripcinverbal

l Descripcin formal: Tabla o Diagrama de estados/salida l Reduccin de estados Tabla mnima de estados/salida 1 Asignacin de estados Tabla de transicin/salida 1 Eleccin de biestables Tabla de excitacin/salida l Sntesis de funciones combinacionales Ecuaciones de excitacin y de salida i Circuito
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 secuencial. 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 11 . 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 elec2. cin del tipo de biestables que se van a usar en el circuito . 2 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. 3 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. PROBLEMAS RESUELTOS

Problema 1.-Construya la tabla de estados para una mquina de Mealy con una entrada X y una salida Z, que detecte la llegada de tres ceros o tres unos consecutivos, dando una salida Z = 1 coincidiendo con la aparicin del tercer bit.
Solucin Pl.-Para construir la tabla de estados vamos a partir de un estado conocido como, por ejemplo, aqul que

representa la llegada de 2 ceros consecutivos (llammosle estado A) . En A: -Si X = 0: el prximo estado es A y la salida vale 1 . -Si X = 1: se pasa a un nuevo estado, que llamamos B . La salida es 0. B es un estado que representa el comienzo de una secuencia de 1's. En B: Si X = 0: se pasa a un nuevo estado, C. La salida es 0. Si X = 1: se pasa a un nuevo estado, D. La salida es 0. C es el estado que representa el comienzo de una secuencia de 0's . Por otra parte, D es el estado que representa la llegada de 2 unos consecutivos . En C: -Si X = 0: se pasa al estado A. La salida es 0. -Si X = 1: se pasa al estado B. La salida es 0. En D: -Si X = 0: se pasa al estado C. La salida es 0. -Si X = 1: se pasa al estado D. La salida es 1 . De esta forma, el diagrama y la tabla de estados quedan como se observa :

499
X Estados 0 1 1 ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c45000101000 00c484c696e6f021000006d6e74725247422058595a2007ce0002000900060031000061637370 4d5346540000000049454320735247420000000000000000000000000000f6d6000100000000d 32d4850202000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000011637072740000015000000033646573630000018400000 06c77747074000001f000000014626b707400000204000000147258595a000002180000001467 58595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d64 64000002c400000088767565640000034c0000008676696577000003d4000000246c756d69000 003f8000000146d6561730000040c0000002474656368000004300000000c725452430000043c 0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436f7 0797269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e 790000646573630000000000000012735247422049454336313936362d322e31000000000000 000000000012735247422049454336313936362d322e31000000000000000000000000000000 000000000000000000000000

A A, 1 B,0 /0 B C,0D,0

C A,0 B,0

0/1 00/0
D C,0 D, 1 0/0 Diagrama de estados 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 .

Problema 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 11, 01, 01, 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.

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: 0-/0 11/0 11/1 10/0 /0

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 el valor (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.
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

Problema 3.-Ha recibido de un viejo amigo la siguiente carta : "Querido amigo: Al poco tiempo de comprar esta vieja mansin tuve la desagradable sorpresa de com-probar que est hechizada con dos sonidos de ultratumba que la hacen prcticamente inha-bitable: un canto picaresco y una risa sardnica . An conservo sin embargo cierta esperanza, pues la experiencia me ha demostrado que su comportamiento obedece ciertas leyes, oscuras pero infalibles, y que puede modifi-carse tocando el rgano o quemando incienso . 1. cada minuto, cada sonido est presente o ausente . Lo que cada uno de ellos har en el minuto siguiente depende de lo que pasa en el minuto actual, de la siguiente manera : 2. El 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 el canto toma el estado opuesto. 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 justamente lo contrario de lo que haca el canto . el momento en que te escribo, estoy oyendo a la vez la risa y el canto. Te quedar muy agradecido si me 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 secuencia], de la si-guiente forma: -Valores (o estados) de entrada Son las acciones que realiza "nuestro viejo amigo" . Existen 4 posibles estados de entrada: 202 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES n : Ni toca el rgano ni quema incienso. i : Quema incienso (pero sin tocar el rgano) . o : Toca el rgano (pero sin quemar incienso). io: 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 estado por lo que es una mquina de Moore. En principio, pues, asociamos 4 estados, uno por cada una de las salidas (Sn*On;Sc-4 Oc; Sr -Or; Scr- Ocr). Estos estados estn determinados por el valor (S, NO) de dos variables de estados que, por conveniencia, denominaremos "c" (canto) y "r" (risa) . . OPERACN: 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, lo io,cambia de estado: C= c. En cualquier otro caso, el canto no cambia de valor : C = c. ) Risa: Si no se quema incienso (valores de entrada n o) sigue al canto, C, con un minuto de retraso: R = c. Si se quema incienso, (valores de entrada i io), la risa hace lo opuesto al canto con un minuto de retraso: R = c De esta forma la tabla de estados queda como sigue:

Sn Sc Sr Scr

c r NO NO S NO NO S S S

n 10 i NONO S NO NO S

ha S S

On Oc Or Ocr

S S NO S S NO NONO NONO NONO NO S NO S S S CR S S S NO S NO

La respuesta a la carta debe decir lo siguiente: l,r minuto: Se oye risa y canto por lo que debe quemar incienso; 2 minuto: Se oye canto pero no risa, por lo que debe quemar incienso y tocar el rgano; 3` minuto: No se oye nada por lo que no debe hacer nada . Problema 4.-Sobre una nica lnea X se enva una informacin sincronizada con una seal de reloj Ck. Se ha convenido que la informacin sea correcta siempre que no haya dos o ms unos consecutivos o cuatro o ms ceros consecutivos. Obtenga el diagrama de estados de un circuito cuya salida sea uno si se detecta un error en la transmisin y que permanezca en ese valor en tanto dure el error.
Solucin P4.-Para que la salida (seal Z) slo indique error (con Z=1) mientras ste permanezca, haremos que Z dependa de X (mquina de Mealy) . Para construir el diagrama de estados se parte de un estado conocido, por ejemplo : sea A el estado que indica que el ltimo valor de X almacenado es 1 . Estando en A: Si X=1, hay error (dos 1's consecutivos) por lo que Z=1 y el prximo estado es A ya que el ltimo valor recibido es 1 . Si X=0, no hay error (Z=0) y el prximo estado ser B . El estado B indica que el ltimo valor recibido es 0 (mientras que el penltimo era 1) . Estando en B: Si X=1, no hay error (Z=0) y el prximo estado es A . Si X=O, no hay error (slo dos O's consecutivos) y el prximo estado es C . El estado C corresponde a haber recibido dos ceros consecutivos . Estando en C : Si X=1, no hay error y el prximo estado es A . Si X=O, no hay error (sera el 3 cero) y el prximo estado es D. El estado D refleja la existencia de tres ceros consecutivos . Estando en D: Si X=1, no hay error y el prximo estado es A . Si X=0 sera el cuarto 0 consecutivo con lo que hay error (Z=1) y el prximo estado es el propio estado D . El diagrama de estados completo es el siguiente: 1/0

s0 0/0

OVAM

Problema5.-Un circuito secuencial tiene dos entradas (X1 , X2) y dos salidas (Z1, Z2).Las entradas representan un nmero binario natural de dos bits, N. Si el valor presente de N es ma-yor que el valor inmediatamente anterior, entonces, Z1 = 1. Si dicho valor es menor, entonces la salida Z2 = 1. En cualquier otro caso, Z1 = Z2 = 0. Se pide: 1) Escribir la tabla de estados correspondiente del circuito, como autmata de Mealy. 2) Cuntos estados tendra el circuito como autmata de Moore?

Solucin P5.-1 .- El funcionamiento del circuito es el siguiente: si y slo si (XX2)N> (X1X2)N-1 entonces, Z1= 1; por otra parte, si y slo si (X1X2)N < (XX2)N-1 entonces, Z2= 1; si (X1X2)N = (X1X2)N_1, entonces Z1Z2= 00.
204 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Para comparar el valor actual con el anterior se necesita almacenar ese ltimo valor . Por tanto, la mquina debe tener un estado por cada posible valor de X 1X2: A estado que almacena que el ltimo valor recibido de X 1X2= 00 B estado que almacena que el ltimo valor recibido de X 1X2 = 01 C estado que almacena que el ltimo valor recibido de XX2 = 10 D estado que almacena que el ltimo valor recibido de X 1X2= 11 Con esto se puede construir directamente la tabla de estados, que queda de la siguiente manera:

0001 10 11 A,00 B, 10 C, 10 D, 10 B A,01 B, 00 C, 10 D, 10 C A,01 B, 01 C, 00 D, 10 D A,01 B, 01 C, 01 D, 00 NS, Z1Z2 2.- Como mquina de Moore, en principio se necesita un estado que almacene el ltimo valor recibido y si era mayor (salidas Z1Z2= 10),igual (salidas Z 1Z2= 00), o menor (salidas Z1Z2= 01) que el anterior. En total, como pueden lleg~wl4 valores diferentes 100, 01, 10, 111, son 4x3 = 12 estados distintos . La tabla de estados queda de la siguiente manera : SGNFCADO DE LOS ESTADOS Est. Ao A1 A2 A3 Bo B1 B2 B3 Co C1 C2 C3 00 Co Bo Bo Bo Co Bo Bo Bo Co Bo Bo Bo 01 A1 C1 B1 B1 A1 C1 B1 B1 A1 C1 B1 B1 10 A2 A2 C2 B2 A2 A2 C2 B2 A2 A2 C2 B2 11 A3 A3 A3 C3 A3 A3 A3 C3 A3 A3 A3 C3 Z1Z2 10 10 10 10 01 01 01 01 00 00 00 00 ltimo valor recibido 00 01 10 11 00 01 10 11 00 01 10 11

NOTA: Se comprueba que la tabla es irreducible salvo por la posible eliminacin de los esta-dos Aoy B3que slo pueden alcanzarse si son estado inicial .
Problema 6.-Muestre la tabla de estados mnima de una mquina secuencial sncrona con una entrada X y una salida Z que opera de la siguiente forma: cuando se detecta la llegada de 110 (primero 1,despus 1, despus 0), Z se pone a 1, manteniendo este valor hasta detectar la secuencia 010, en cuyo caso Z pasa a tomar valor 0 manteniendo este valor hasta . que llegue una nueva secuencia 110 Solucin P6.- Partimos de un estado conocido para construir el diagrama de estados . Por ej. sea A el estado que se alcanza al detectarse la secuencia 110, por lo que la salida ser 1 hasta que se detecte 010. Consideramos que la mquina es de Mealy . El diagrama de estados con el significado de cada estado y la tabla de estados son los siguientes : 0/1 %- 1/0 0/1 ' Q ~Q 1/1 w1/1` 1/1 1 / 1 1/0 O1/0 0/0 00/0 SAB C D Significado de cada estado Est. A Recibido . . . .110 E F 0 1 B1 C1 B1 C1 DO El FO GO A1 El FO GO

BCED

. . . .00 . . . .01 . . . .11 . . . .010 . . . .00 . . . .1 . . . .11

(con Z = 1) (con Z = 1) (con Z = 1) (con Z = 0) (con Z = 0) (con Z = 0)

DO HO A1 HO NS, Z

FGH

Para obtener la tabla de estados mnima debemos comprobar si se pueden reducir o eliminar estados. Para ello seguimos el proceso de reduccin de estados, que consta de los 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; 13,13; B,F; B,G; B,H; C,D; C,E; C,F; C,G; C, H; D,E; D,H; E,F; E,G; E,H; F,H; G,H} . 2. Construir la tabla de pares compatibles o de reduccin, que es una tabla en forma de escalera asignando un escaln a cada estado como se observa en la figura del paso siguiente . 3 . En esa tabla, marcar las casillas de los pares de la lista del paso 1 . (Es obvio que esta tabla se puede obtener sin necesidad de haber listado los estados incompatibles) :
206 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Tabla de reduccin

Fase inicial X.Z'~.1,-X091 EN 09X H 1 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: 2 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 :

X X
AB CE

X X X X
E

HA,X X 011X
C un -D

Tabla de reduccin H

FAP,al X

LW

Tabla de reduccin

w=, aun

Fase final

.~' G

.Z'--

Al final de este punto, todas las celdas sin tachar corresponden a parejas de estados compatibles (o equivalentes si, como en este caso, la tabla de estados/salida est completamente especificada) . 6. Construir la lista de compatibles . Para ello hay que formar una tabla con tres 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.
S {H,G} F {H,G,F} A partir de los {H,G,F,E} A1 C 1 Equivalentes Compatibles H {H} 01

compatibles se D 0 E 1 construye la D0G0 nueva tabla

F {H,G,DF,E}

C {H,G,DF,E,C} de estados : A 1 E 1 B {H,G,DF,E,C,B } A B (H, G, DF, E, C, AB)D 0 H 0 A 1 H 0 NS, Z

rrTrr~
Nuevos estados: H, G, D, E, C, A

Problema 7.-Un circuito secuencial tiene una entrada X y una salida Z Por X se transmiten pulsos positivos de 1, 2 3 ciclos de duracin . Desde un pulso al siguiente X permanece a 0 un mnimo de 10 ciclos. La salida Z se pondr a 1 tras terminar el pulso de entrada y 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 asos Z es cero. Obtenga la tabla de estado /salida mnima segn el modelo de mquina de Mealy .
Solucin P7.-Del enunciado se deduce el comportamiento del circuito, que es el siguiente :

32 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=O. -Si X=0 se permanece en A. Z=O. En B: -Si X=1 se detecta el segundo ciclo del pulso en X. Se pasa a C. Z=O. -Si X=0 fin del pulso de un ciclo de duracin. Se pasa a D. Z=1 . En C: -Si X=1 se detecta el tercer ciclo del pulso en X. Se pasa a E. Z=O. -Si X=0 fin del pulso de dos ciclos de duracin. Se pasa a F. Z=1 . En D, E y F, X no puede valer 1 porque, segn se dice en el enunciado, el pulso mayor es de tres ciclos y, tras finalizar un pulso, la entrada permanece a 0 un mnimo de 10 ciclos de reloj. En D, Z debe durar 1 durante dos ciclos ms de reloj. Se pasa a G. Por tanto, Z=1 en el estado D y en el estado G. En E, se pasa directamente a A y se da el nico pulso de salida . Z=1 .

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:

0/1 01 e 0/1 0/1

A,0 B,0 D,1 C,0 F,1 E,0

0
G,1 1/0 A,1 0/1 A,1 A,1 NS, Z Siguiendo el proceso de reduccin de estados obtenemos la tabla mnima :

S0 1 COMPATBLES A A,0 B,0

PRMOMM

{4 4 4, 1G}
C D,1 D,0 {A, B, C, D} D A,1

B C,1 C,0

wwdmw

NS, Z

Tabla de reduccin

Tabla de estados mnima

Problema 8.-Por una lnea X se recibe, bit a bit, un nmero binario N, empezando por el me-nos significativo. a) Obtenga la tabla de estados mnima correspondiente al circuito que permite generar una nica salida Z con el valor Z = 2 x N. b) Repita el apartado a) para obtener Z = 3 x N . Comience por un estado de reset. No tenga en cuenta cundo acaba N.
Solucin P8. a) Sea el nmero binario N = .. . N3N2 N1 No. Entonces, el nmero binario Z = 2 x N = . . . N3N2N1No0, pues multiplicar en binario por 2 equivale a "poner un 0 a la derecha". En nuestro caso, N

viene por la lnea X y 2 x N sale por Z. Esto es, se cumplir: Ciclo 1: En X est X0,por Z sale Z0= 0 Ciclo 2: En X est X1 , por Z sale Zl= XO Ciclo 3: En X est X2,por Z sale Z2= X1 Ciclo 4: En X est X3,por Z sale Z3= X2 Ciclo j+1: En X est Xj, por Z sale Zj= Xj_1 Para obtener Zj , basta conocer el valor de Xj_ 1 que slo puede ser 0 (estado A) 1 (estado B). Con ello, el diagrama y la tabla de estados son : X Estado` RE AB 0/1 Diagrama de estados 0 A,0 A,0 A,1 NS, Z 1 B,0 B,0 B,1 Estado\ A B

X 0 A,0 NS, Z A,1 1 B,0 13,1

Tabla de estados mnima Tabla de estados 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 reses RE) hay que sumar N 0 + N0 + N0 ; el resultado ser Z0= 0 (y acarreo 0) si N0= 0 y Z0= 1 junto con un acarreo de 1 si No = 1 . En el segundo ciclo deberemos sumar N1+ N1+ N1con el acarreo (0 o 1) anterior; el resul-tado de esta suma puede ser Z1= 0 o Z1= 1 con acarreos de 0, 1 o 2. En general, en el ciclo j-simo hay que sumar tres veces el bit presente en X (0 01) junto con el acarreo generado anteriormente, para lo cual dicho acarreo deber estar "almacenado" en un estado (A si el acarreo es 0, B si es 1 y C si es 2) . La salida Z mostrar el bit de la suma, mientras que el prximo estado informar de cul ha sido el acarreo generado . Con este razonamiento se obtiene la tabla de estado siguiente : Tabla de estados Tabla de estados mnima X S\ 0 1 01 RE A,0 B, 1 \S~ A A,0 B, 1A A,0 13,1 B A,1 C,0B A,1 C,0 C B,0 C, 1 C B,0 C, 1 NS, Z NS, Z (Como antes, RE y A son el mismo estado).
210 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 9.-Disee un circuito secuencia) sncrono con dos entradas X 1 y X2 y dos salidas Z1 yZ2 . Por las entradas se reciben bit a bit dos nmeros de n bits, N 1 y N2, comenzando por el bit ms significativo . Las salidas deben representar lo siguiente : Z2 = mayor(N2,N1) Z1 = menor(N2, N1) Obtenga la tabla de estados/salida mnima, suponiendo el siguiente comportamiento : X2:0 0 1 0 0 1 .. . . X1: 0 0 1 1 0 0 .. . . Z2:0 0 1 1 0 0 . . .. Z1: 001001 . . .. Nota. Obsrvese que en el ejemplo N1> N2por lo que X1sale por Z2yX2lo hace por Z1 .
Solucin P9.-El nmero mayor entre N1y N2es 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 4 bit de X1es 1 mientras que el de X2es 0. A partir t este momento y con independencia de los bits que se reciban, el nmero mayor (N en el ejemplo) saldr por Z2 y el menor por Z1 . Hasta que ocurra eso (X1X2=10 01) por primera vez, los bits son iguales de forma que tanto por Z 1 como por Z2 sale el bit de entrada recibido. En el comportamiento dado en el enunciado, las salidas cambian en el mismo ciclo que ocurre el cambio de entrada, lo que indica que Z1,2 dependen de X1,2 y, por tanto, es una mquina de Mealy. Sea A el estado inicial. Al no haberse recibido ningn bit los nmeros son "hasta ese momento" iguales. Las posibles entradas y la respuesta del circuito son : X1= X2: Los nmeros continan siendo iguales. No hay cambio de estado. Las salidas sern: Z1 = Z2 = X1 = X2 . X1X2= 10: El nmero N 1es mayor que el nmero N2 ,por lo que se pasar a un nuevo estado B. Las salidas sern: Z2= X1YZ1= X2. X1X2= 01: El nmero N2es mayor que el nmero N 1,por lo que se pasar a un nuevo estado C. Las salidas sern: Z2= X2YZ1= X1 . El estado B representa el caso en que N1>N2,y por tanto, Z2= X1YZ1= X2hasta el final . El prximo estado de B, es B . Lo mismo ocurre para C estado en el que N 2 > N1 . La tabla de estado queda como sigue :

0001 11

lo

13,11 B,01 C,00 C,01 C,11 C,10

B,00 13,10 incompatibles: la tabla NS, Z2 , Z i es irreducible

A,00 B,10 A,11 C,10 Los estados son

Problema 10.-Disee una mquina secuencial que responda a la tabla de estados siguiente. Disela con biestables JK atendiendo a las siguientes asignaciones : a) Asignacin 1: A = 00, B = 01, C = 11, D = 10 b) Asignacin 2: A = 00, B = 11, C = 01, D = 10

X S\0 1 A A,0 C,0 B A,0 D, 1 C A,0 B,1 D D,0 D,0 NS, Z


Solucin P10.

a) Dada la asignacin y la tabla de estados, se obtiene la tabla' 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: X q19\ 0 1
JK q 1q2 0 1 K1 =q2

J1=X

q-3Q

A 00 00 11 0-*0 0-00 0-,0_ 1-, 1-= Xq1

J2

B 01 00 10, 1 0-31 1-

01 0-,-1

1-, -1 K2=Xq1 C 11 00 01,1 1 ->0 -1 1 --3 1 -0 11 -1, -1 -,-0 D 10 10 10 10 -0,0_ Z = Xq2 -0,0_ Ecuaciones de

Q 1 Q2,Z Tabla de excitacin J 1K1, J2K2 excitacin y deTabla de transicin/salida del biestable JK Tabla de excitacin salida

El circuito queda como se muestra :

X1 2 Kq
D

Ck Por simplicidad, en las distintas tablas slo pondremos los mintrminos de las salidas (celdas conZ= 1).
212 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

b) Para la segunda asignacin, las tablas de transicin/salida y de excitacin y las ecuaciones de excitacin y de salida son las siguientes : X J1 =X92 K1= Xq2

91\q 0 1

q 1 92

0 1 00 00 01 q-*QJK 00 0-,0_ 0-,001 00 1 1, 1 0-41 1

0 -* 0 0-

01 0-, -1 J-1_,_0

J2=X91

11 00 10,1

1 -~ 0 -1

11 -1, -1 -0,_1 K2=X+q1 10 10 10 1 -* 1 -0 10 -0,0_ -0,0_ Z= X92

Q Q2,Z J1 K1 ,J2 K2

Problema 11.-Obtenga una buena asignacin para las siguientes tablas de estado : Tabla a: Tabla b : X S01 01 A A, 1D A D, 1 B BAD BDB CBD CC A, 1 DCD DAC NS, Z NS, Z Solucin Pll.-Para obtener "una buena" asignacin basta con aplicar las reglas de adyacencias. Estas reglas son las siguientes : 1.- Hacer adyacentes los estados cuyos prximos estados sean iguales para cada valor de entrada. 2.- Hacer adyacentes los estados cuyos prximos estados sean los mismos aunque en 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 Tabla a Tabla b 1 (A,B) (A,B) 2 --(C,D) si (A,C) 3 (A,C),(A,D), (B,C), (B,D), (C, D) 4 2x(A,D), (B,D), (C,D) 2x(B,D), 2x(A,C) 5 (B,C) (B,D) (C,D) (B,D) Una vez aplicadas las reglas, se forma un mapa de Karnaugh en el que las variables son las variables de estado necesarias para la asignacin . En este caso, en ambas tablas se necesitan dos variables de estado yle Y2.En este Kmapa, asignamos a cada estado un cdigo tratando, por prueba y error, de cumplir el mximo nmero posible de las reglas de adyacencia : Tabla a Reglas que cumple: Tabla b Reglas que cumple: 1 . 1 (Todas) 1 . 1 (Todas) 1--(Todas) 2. 1 (Todas) 23 (de 5) 3. --(Todas) 33 (de 4) 4. 4 (Todas) 43 (Todas) 5. 1 (Todas)

Problema 12.-Un sistema recibe secuencialmente 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 autmata de Mealy. Discuta ventajas e inconvenientes de ambos diseos .
Solucin P12.-Un ejemplo del comportamiento que describe el enunciado es el siguiente : X: Z: Mealy: 0 sCO B,0 00 011001011101111110 000000000100011110

De este comportamiento se obtienen los diagramas de estado, siguiendo el modelo de Moore o el modelo de

OLAM
SGNFCADO DE CADA ESTADO A: no se ha recibido ningn 1 . B: se ha recibido el primer 1 . C: se ha recibido el segundo 1 . (En Mquina de Mealy, si X=1, es el tercer 1 y Z=1 . En mquina de Moore, si X=1 se pasa a un nuevo estado D.) D (exclusivo de la mquina de Moore) : se ha recibido el tercer 1 ; Z=1 Para observar las diferencias entre las mquinas de Moore y de Mealy, en la figura siguiente se muestra un diagrama de tiempo donde se observa la secuencia de estados y de salida de cada tipo de mquina para una misma secuencia de entrada . Mealy

214 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Ck X ZMoore A A!B CA A':B :ABCDA 13 C D D D DA A A ZMeaJy AA B CA' A B AB CC A 113C C C CC A

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

Ck _

ZMoore A ZMealy A! A B B C C

AA A A

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 ASGNACONES DE COSTE DSTNTO 1 111 A 00 00 00 B 01 01 11 C 10 11 01 (D) 1110 10 3) Obtenencin de las ecuaciones mnimas de excitacin y de salida : se aplica el proce-dimiento de diseo mnimo para funciones combinacionales . Aplicando este proceso a la solucin como mquina de Moore :
S0 1Z
Tabla de estados filo

AA B0 ":3,D

BAC 0

una CAD 0 D A D 1 Tabla de reduccin

NS ASGNACN ASGNACN ASGNACN X XX 91 900 1Z 91 900 1Z q 190 0 1Z A=0 000 01 0 A=0 000 01 0 A=0 000 11 0 B=0 100 10 0 B=0100 11 0 C=0 1 00 10 0 D=1 100 11 1 C=1100 10 0 B=1 1 00 01 0 C=1 000 11 0 D=1 000 10 1 D=1 000 10 1

Q1Q0=D1D0 QQ0=D1D0 Q1Q0=D1D0

Las ecuaciones de excitacin y salida para cada asignacin se muestran a continuacin :

D= Xq1+Xq0 D= Xq1+Xq0 D= Xq1+Xqo L DO = Xq1+ Xqo : Do= Xq1 : Do = X (q1G)q0) Z =g1g0 Z =g1g0 Z =g1g0
La solucin de menor coste es la segunda () y el circuito el siguiente :

D 10

Problema 13.- Disee un chequeador de paridad para caracteres de 4 bits enviados en serie . El circuito recibir, partiendo de un estado inicial, 4 bits en serie por una lnea de entrada, X ; coincidiendo con el cuarto bit, la salida del circuito ser 1, si y slo si el nmero total de unos recibidos ha sido par. Tras la recepcin del cuarto bit, el circuito volver a aceptar en la entra-da un nuevo carcter de 4 bits. Utilice en el diseo biestables D.
216 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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: NMERO DE UNOS PAR MPAR Orden del bit que se espera 10

0/0 1/1 W-30

40 El 1 resto del proceso Reduccin de de sntesis la es tabla el de siguiente : estados:

01 A A B Ma B CD

1ai-i.o"C
DC

D EF

VER
FE

V
R,1 R Tabla de reduccin R R,1 Fase final: es irreducible. NS, Z 2.- Asignacin. Construccin de la tabla de transicin/salida . REGLAS Tabla 1 (E,F) Y2,Y,YO 0 1 2 (A,B) si (C,D), (C,D) si A=000 010 011 (E,F) B=001 011 010 3 4 (A,B), 2(C,D), 2(E,F) D=011 111

5 (R,A,B,C,D) C=010 110 111 Reglas de adyacencia E=110 100,1 100 F=111 100 100,1 101 ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696 e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d53465400000000494 54320735247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000011637072 74000001500000003364657363000001840000006c77747074000001f000000014626b7074000002040000 00147258595a00000218000000146758595a0000022c000000146258595a0000024000000014646d6e6400 00025400000070646d6464000002c400000088767565640000034c0000008676696577000003d400000024 6c756d69000003f8000000146d6561730000040c0000002474656368000004300000000c72545243000004 3c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436f707972696 76874202863292031393938204865776c6574742d5061636b61726420436f6d70616e79000064657363000 0000000000012735247422049454336313936362d322e3100000000000000000000001273524742204945 4336313936362d322e31000000000000000000000000000000000000000000000000000000

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46 494c4500010100000c484c696e6f021000006d6e74725247422058595a200 7ce00020009000600310000616373704d534654000000004945432073524 7420000000000000000000000000000f6d6000100000000d32d4850202000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000001163707274000001500000003364 657363000001840000006c77747074000001f000000014626b70740000020 4000000147258595a00000218000000146758595a0000022c00000014625 8595a0000024000000014646d6e640000025400000070646d6464000002c 400000088767565640000034c0000008676696577000003d4000000246c75 6d69000003f8000000146d6561730000040c0000002474656368000004300 000000c725452430000043c0000080c675452430000043c0000080c625452 430000043c0000080c7465787400000000436f70797269676874202863292 031393938204865776c6574742d5061636b61726420436f6d70616e790000 646573630000000000000012735247422049454336313936362d322e3100 0000000000000000000012735247422049454336313936362d322e310000 00000000000000000000000000000000000000000000000000 La asignacin cumple R=100 000 001 todas las reglas menos 3 de la regla 5 Y2YlYo, Z Tabla de transicin 3.- Ecuaciones de excitacin/salida. Se utilizan biestables D que cumplen: D; = Y1 .De esta forma la tabla de transicin/salida coincide con la tabla de excitacin . De esta:

D2= Yi Di = Y2 Do = x Y2Yo + xy2yo +xyi yo Z= X Y2Ytyo + Y2Yo


El diagrama de circuito se obtiene directamente de las ecuaciones de excitacin y salida.

Problema 14.-Se pretende disear un circuito secuencia) sncrono con una entrada X y dos salidas Y, Z que cumpla la siguiente tabla de estados/salida : X 01 Eo E0,00 131 ,00 El E2,00 E1,01 E2 E2,10 E3,10 E3 E0,10 E3 ,11 NS, Y,Z Utilizando el diagrama de bloques de la figura: a) Calcule el nmero de biestables tipo D que se necesitan. b) D el tamao y contenido de la ROM. 218 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

YZ

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 ql y q0 variables de estado (salidas de los biestables tipo D). Como salidas se tienen : Y y Z, salidas del circuito,y Dy D0entradas 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>A2 H > Z AROM 1 > Y 0 0 101 00 1H H Eo =00 00,00 01,00 011 0 0 1 0 q1 qo 0 1

Xql q0DoD1Y Z X 0 0 0 000 0

010 0 1 10 Ao

8x4 2

El=01 10,00 01,01 100 1 0 0 0 q0 1 0 1 100 1 D E2= 10 10,10 11,10 110 1 1 1 0 q1 E3= 11 00,10 11,11 111 1 1 1 1 A2A1Ao H3H2H1Ho Ck Q1Qo=D1Do,Y Z Tabla de transicin/salidas Contenido de laROM Circuito final

Problema 15.-Se desean obtener 4 seales Z1 , Z2, Z3, Z4 a partir de una seal de reloj Ck disponible en un determinado sistema. Realice el circuito correspondiente utilizando exclusi-vamente: 2 biestables JK, un DEC 2:4 y 4 puertas AND.
Ck Z1

Z2 Z3 Z4

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,Zb,Zcy Zda una seal que se hace 1 cuando estamos en el estado A, B, C y D, respectivamente, se cumplir : Z, = ZCk Z2 = Z,,Ck z3 = Z,.Ck Z4 -ZdCk En consecuencia, aplicando el proceso sistemtico de diseo de circuitos secuenciales : Za Zb Z, Zd Tabla de estados (es irreducible) 1 000 0 1 00 Con Z1 ,Z2,Z3 Y Z4 0 0 1 0 tomando el valor 0 0 0 1 indicado en el punto 2. NS Utilizando la asignacin habitual en los contadores (asignar cdigos consecutivos a estados consecutivos) obtenemos la siguiente tabla de transicin:

q q0\ ZaZbZcZd q1qo\ A=0 001 1000 A=0 00-, 1 B=0 1 10 0 1 00 B=0 1 1-, -1 JO=Ko= 1 C=1 011 00 1 0 D=1 1 -1, -1 J,=K,=q D=1 100 0 0 0 1 C=1 0 -0,1_ 0 QiQo J1K1, JOKO Tabla de transicin/salida Tabla de excitacin Ecuaciones de excitacin Las funciones Za, Zb,Zcy Zdse obtienen como las salidas de un decodificador 2:4 con salidas activas en nivel alto, cuyas entradas son q 1 y q0. El circuito es el siguiente:
220 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

DEC 1 0 K K Z4 Ck 1 1 2 :4 2

PROBLEMAS CON SOLUCN RESUMDA


Problema 16.-Construya el diagrama de transicin de estados simplificado de un autmata de Mealy con dos entradas X, Y y una salida Z que cumpla las siguientes caractersticas : a) cuando Xpasa de 1 a 0, Z=1. b) cuando Y pasa de 1 a 0, Z=O. c) en otro caso Z no cambia de valor. X e Y no pueden valer simultneamente 1 . De un ciclo al 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:


00/1 SGNFCADO DE CADA ESTADO

10/1 A: El ltimo flanco negativo en llegar ha sido en X (Z=1) y con las entradas actuales es imposible queY cambie de 1 a 0, porque 01/1 Y=0 B: Recoge que Y ha subido : cuando vuelva a bajar,habr cambio en Z. 0/0 C: El ltimo flanco negativo ha sido el de Y (Z=0) . Similar al estado A pero para Z -O. 01/1 D:

1~9

Similar a B, pero para el caso de que X suba, siendoZ=O.

Problema 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. Si durante cuatro o ms ci-clos del reloj hubiese "1", la salida ser Z = 0.
DSEO DE CRCUTOS SECUENCALES 221

Solucin P17.-El diagrama de estados es el siguiente : SGNFCADO DE CADA ESTADO A: No se ha recibido ningn 1 . A,0 B: Recibido el primer 1 . C: Recibido el segundo 1 . D: Recibido el tercer 1 . E: Recibido el cuarto o ms 1 .

Problema 18.- Disee un circuito secuencia) sncrono con una entrada de datos X, que 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: SGNFCADO DE CADA ESTADO Estado ltimos 3 bits recibidos 000 001 010 011 100 101 110 111

so
S S2 S3 S4
S5

S6 S7

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.
Problema 19.-Disee un autmata de Mealy que detecte la secuencia 1, 0, 0, 1, 0; esto es, el circuito debe tener una nica entrada X y una nica salida Z En los intervalos de reloj en los que X=0, la salida ser Z= 1 si en los cuatro intervalos de reloj precedentes la entrada ha sido 1, 0, 0, 1.
222 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Solucin P19.-El diagrama de estados es el siguiente: 1/0

SGNFCADO DE CADA ESTADO Estado Recibido A1 1/0 1/0 C 100 1001 Nada de la secuencia

10

Problema 20.-Disee un circuito secuencial sncrono que reciba una entrada X y produzca una salida Z=1 despus de que haya recibido las secuencias de entrada 0, 0, 1 1, 0, 0. Comience el diseo por un estado de reset.
Solucin P20.-Es una mquina de Moore y hay solapamiento en la secuencia. El diagrama de estados queda de la siguiente manera : SGNFCADO 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 01 Recibido 0, 0, 1 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 Mealy con dos entradas X, Y y una salida Z cuyo fun cionamiento sea el siguiente: a) si XY = 00, entonces Z = 0. b) si XY = 11, despus de que las entradas hayan sido durante dos ciclos de reloj XY= 01, entonces Z= 1. En el resto de los casos se mantiene la salida . Nota: en cada ciclo slo puede cambiar una variable de entrada, no las dos a la vez . Solucin P21.-El diagrama de estados reducido queda de la siguiente manera : 11/0 00/0 SGNFCADO DE CADA ESTADO A: Estado en el que la salida es 0 y recoge se-0/0 cuencias de entrada distintas de 01, 01, 11 . B: Recoge el primer valor de la secuencia quegenera Z = 1 . C: Recoge el segundo valor. D: Se alcanza tras recibirse la secuencia que genera Z = 1 .

Problema 22.-Se desea disear un autmata de Mealy con dos entradas (X1,X2)y una salida Z, que obedezca al siguiente comportamiento : 1) En ningn caso ambas entradas pueden estar a 1 simultneamente . 2) La salida Z alcanzar el valor 1 si y slo si aparecen dos unos consecutivos en la misma lnea de entrada, pasando a dicho valor cuando se detecte el segundo 1 . Solucin P22.-El diagrama de estados queda de la siguiente manera :

00/0 SGNFCADO DE CADA ESTADO A: Estado que indica que el ltimo valor reci bi d o e s 0 0. 1 0/ 1 B: S e re ci b e 1 e n la v ar ia bl e Y .

00/0

C: Se recibe 1 en la variable X . 01/1 10/0

Problema 23.-Por una lnea se envan (bit a bit) grupos de cuatro bits. Obtenga el diagrama de estados de un circuito secuencial sncrono de Mealy que produzca una salida Z = 1 cuando detecte las secuencias de entradas 1100 0011. Comience por un estado de reset. Solucin P23.-El enunciado dice que la mquina es de Mealy. El diagrama de estados queda de la siguiente manera:

224 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Orden del bit que se espera 1 1/0 0/0 /0


-/0

1/0 0/1 20 3

1/0

0/0

0/0

/0

-/0 y 4

A, C, D -Estados que detectan la secuencia 0 0 1 B, E, F -Estados que detectan la secuencia 1 1 0


Problema 24.- Reduzca las mquinas cuyas tablas son las de la figura . Se trata de mquinas de Mealy o de Moore?
01
S

si SS5 S2si S5 S3 S2S6 S4 S2S6 S5 S3 S7,1 S6 S3 S7,1 S7 S4 S8,1 S8 S4 S8,1


NS, Z NS, Z

Solucin P24.-Las dos son mquinas de Mealy . Tras el proceso de reduccin las tablas resul-tantes son:

Si S2,S3,S4-S5,S6,S7, Ss
NS, Z

NS, Z

Problema 25.-Obtenga una buena asignacin para la siguiente tabla de estados . .

NS, Z SolucinP25.-La tabla no puede reducirse. Aplicando las reglas de adyacencia se obtiene : REGLAS Tabla 1 (S4,S6), (S3,S5) 23 (S0,S1),(S0,S2),(S0,S3),(SO,S4), (S0,S5),(SO,S6), (S1 ,S3), (S1 ,S5),(S2,S4), (S2,S6) 4 (S1,S2), (S2,S3),(S1,S4),
2x(S2,S5),2x(S1,S6) 5 (SO,S 1,S2,S3,S4)

Dos asignaciones posibles para esta tabla son las siguientes : Tabla 1 Reglas que cumple : 1 . 2 (Todas) 2. a S6 so ma

3 . 5 (de 10) 4. 4 (de 5) 5.3 NS, Z Tabla 2 Reglas que cumple: Y2Y 1 1 . 2 (Todas) Yo 0001 1110 2. 3. 4 (de10) 0 S4 S2 4. 4 (de5) 1 S6So Si 5. 3 NS, Z

Problema 26.- a) Para la tabla de estados siguiente, determine cul de las tres asignaciones que se dan es la que cumple mejor las reglas de adyacencias. b) Para la asignacin nmero 1, realice el circuito utilizando biestables JK y puertas.

ESTADO A B C D NS

ASGNACONES (q1 q2) 1 00 01 11 10 2 00 01 10 3 00 11 01 10

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 REGLAS QUE CUMPLE R3 R4R5 1 AB, AD, BC, CD 4 8 2 2 AB, AC, BD, CD 1 6 -3 AC, AD, BC, BD 3 8 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 :
J1 = X2+X1g2 K = X +X1g2+X1g 1 2 2 J2-X2 K2-q2+X1X2
Z= q2

Problema 27.-En un analizador lgico se observa el siguiente comportamiento :

Ck _ X
9i q2 Za Zb

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 q1 q2 cambian con el flanco de bajada de Ck, los biestbles sern tipo flip flop disparados por el flanco de bajada . En cada ciclo de Ck, estamos viendo el estado presente (q1 q2) y el valor actual de la entrada X: tambin el de las salidas ZaZbse ven en ese mismo ciclo, mientras que el valor del prximo estado se determina viendo cunto valen q 1yq2en el ciclo siguiente. Las tablas de transicin y de salida quedan de la siguiente manera : X
9 i \q

00 01 11 10

0 10 11 01 00
Q1 Q2

1 11
91 92

00 01 11 10

0 10 01 00 11

1 00 11 10 11

10 01 01 Tabla de transicin

ZaZb Tabla de salida

Las ecuaciones de salida y excitacin son las siguientes: T, = 1 Za=Xq0+g1g2+Xq2 To=Xq1+Xq2 Zn =


g1g2 + g2g1

Captulo 9

SUBSSTEMAS SECUENCALES

Las operaciones secuenciales ms comunes estn en circuitos integrados con una complejidad superior a la del biestable. As podemos encontrar contadores de n bits que incrementan o decrementan su contenido, adems de otras operaciones; registros, como elementos almacenadores de palabras de n bits; PLD secuenciales que bsicamente son PAL y PLA que incluyen algunos biestables y que permiten programar funciones secuenciales ; etc. En este Captulo se estudiarn, fundamentalemente, los contadores y los registros, ya que la tcnica de anlisis y de diseo con PLD es la de circuitos secuenciales genricos . CONTADORES Los contadores son circuitos que tienen la propiedad de incrementar su contenido (ascendentes), decrementarlo (descendentes) o ambas (reversibles) . Un contador mdulo K cuenta K valores de forma cclica, normalmente entre 0 y el K-1 (p .ej., si es ascendente, del 0 pasa al 1, del 1 al 2, y as hasta el K-1, a partir del cual se pasa nuevamente al 0, etc) . Adems, estos dispositivos pueden tener operaciones que permitan cargar un estado inicial de cuenta ,(carga o load) y restablecer el estado inicial de cuenta, ya sea el cero para contadores ascendentes (clear) o todos los bits a 1 (estado 2"-1) para los descendentes (preset). En cuanto a las salidas, adems de las que indican el estado de cuenta, se incorporan las que avisan que se ha alcanzado el estado de cuenta final : todo 1 para los ascendentes y 0 para los descendentes. Existe gran diversidad de contadores dependiendo del tipo de operaciones que realizan y del tamao del contador. El tamao se especifica por el mdulo (p.ej . : mdulo 10) o por el nmero de bits en caso de mdulos 2" . Por ejemplo, en la siguiente figura se muestra el esquema de un contador sncrono ascendente de mdulo 8 (3 bits) con las operaciones de cuenta arriba, carga, puesta a 0 e inhibicin.
230 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

111
casos

Up Cl Ld Operacin Ld Load 100 Cuenta TC=O en otros

Up Up D D D TC=Terminal Count C Clear TC 000 nhibicin TC=1 siq2q 1qo=111

q2

q1

qo

x10 Carga

Puesta

cero dato

clk

xxl

En la siguiente figura aparece la secuencia de salidas de un contador mdulo 8 ascendente. Como se observa, el periodo de las seales de salida va duplicndose, lo que motiva que a los contadores se les denomine, tambin, divisores de frecuencia . clk
q0 q1 q2

[cont] 1 O~ ^.O

DSEO DE CONTADORES Hay dos formas de realizar contadores : 1) los de rizado

(ripple-counter)

o contadores asn-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.

clk En la siguiente figura se muestra una estructura alternativa, la del contador sncrono . En ella, todos los biestables tienen la misma seal de reloj por lo que no presentan estados incorrectos. L
1 Tq

clk

Las entradas de control de los biestables, descritas con anterioridad (clear, carga o inhibicin), pueden tener dos modos de operacin, sncrono o asncrono, en funcin de si para su ejecucin esperan o no la llegada de un flanco de reloj . En la siguiente figura se representa la estructura interna de un contador sncrono ascendente de mdulo 4, con operacin de clear asncrono y la respuesta temporal para una secuencia de entrada de control . En ella se observa que, inmediatamente despus de que se activa clear, el contador se pone en el estado de cuenta 0, sin esperar la llegada de un flanco activo de reloj .

X Up/Clear n Q
q 1 q0

Operacin 0 1 Puesta a cero Cuenta arriba clk

clk

clk X [cont] En la siguiente figura se muestra la estructura de un contador de similares caractersticas que el anterior pero con unclearen 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 .

Toq0 Tq1-.

clk clk X [cont] l2 1 2

REGSTROS Los registros son circuitos capaces de almacenar palabras de n bits . Existen dos operaciones bsicas:

-Escritura (write) o carga (load) en paralelo, mediante la que los n bits del dato son almacenados a la vez, introducindose porn entradas n-, -10 . -Desplazamiento (shift), mediante la que los n bits del dato son almacenados en 232 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES serie, uno a uno. Esta operacin puede ser a derecha (shift right) introducindose el dato por una entrada Rin, o a izquierda (shift left) entrando el dato por la entrada L i ,, . En la siguiente figura se muestra el esquema y estructra interna de un registro universal de 4 bits, llamado as porque incluye todos los modos de escritura posibles . 13
c2 c l
Co

Operacin SHL SHR LOAD Lin

000

0 0 1 0 1 1

Rin 0 NH CLEAR clk

c2 C1

co
q 2

0 1

1 -

SOlg3

q0

SOr

Para el diseo de registros hay que tener en cuenta el modo de funcionamiento asncrono o sncrono que pueden tener algunas entradas de control. En la siguiente figura se muestra la estructura de una celda genrica para el registro de la figura anterior, donde se ha supuesto que todas las operaciones, salvo la de borrar, clear, son sncronas.

(L;,,si i =o)

q;-1 -(Rinsi

i = 3)

q;+,

DSEO DE FUNCONES CON SUBSSTEMAS SECUENCALES 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 . 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 .

PROBLEMAS RESUELTOS

Problema 1.-Determine la secuencia de salida del contador mdulo-5 de la figura en funcin de la evolucin de las entradas x, y.
xy operacin clk Contador 00 up 11 +-] ~ ~l fi~l ~ln ~Fl Y mdulo-5 n 01 down inhibicin

sll-

10 clear asncrono

lxn

n n,

11

Solucin Pl.-Sea So el intervalo de tiempo comprendido entre t = 0 y el primer flanco ascendente de reloj (ver siguiente figura), S el intervalo comprendido entre el primer flanco ascendente y el segundo, y as sucesivamente . En el intervalo So tenemos dos combinaciones de entrada, (xy = 10 y 00). Para la primera, se produce un clearasncrono 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 = 00, es sncrona y depende del flanco de reloj para su ejecucin. Para el ciclo S 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 S2 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 S3el 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, S5y 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 S 7. En el ciclo S7se produce unclearasncrono que pone el contador a 0. Esta situacin se prolonga hasta el final del ciclo S8. Por ltimo, en el ciclo S9, se produce una situacin de incremento del contador . Esto es debido a que las entradas al final del ciclo anterior estaban a 0 lgico .
234 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

clk

y [CONT 0

Problema 2.-Analice el circuito de la siguiente figura, considerando que la operacin de clear es sncrona. CONT[3]
clk Up/Clear

q2 q1q0

SolucinP2.-El contadorslotienedos modos de operacin: cuenta ascendente,Up/Clear=l, y puesta a cero sncrona, Up/Clear=0. Como se observa en la siguiente figura, la operacin de puesta a cero se activa para los valores de cuenta 6 y 7. Para el resto de los estados tenemos la operacin de cuenta ascendente. Se trata de un contador mdulo 7 sin

bloqueo.

9111 1 1 1'

Problema 3.-Disee un contador mdulo 4 que tenga las siguientes caractersticas: Ser sncrono y disparado por flanco de subida . Ser puesto a 0 de manera asncrona. c) nhibirse de la cuenta, manteniendo el estado almacenado. Contar hacia arriba. Contar hacia abajo. f) Cargar datos en paralelo .

Solucin P3.-Al ser un contador de mdulo 4, slo necesitaremos para su realizacin dos bi-estables. Estos debern ser disparados por flanco ascendente, tener entrada asncrona de clear

y disponer de una seal de reloj comn. Vamos a plantear a continuacin una posible solucin . Supongamos que la carga en paralelo y la inhibicin son operaciones sncronas; esto hace un total de 4 operaciones sncronas (contando la cuenta ascendente y descendente) . Para no tener demasiadas lneas de control, es conveniente codificar las operaciones, por lo que tres lneas sern suficientes (2 para las operaciones sncronas y 1 para la asncrona) . Una posible codificacin es la mostrada en la siguiente tabla :
c2 cl co Operacin

00 0 Up 0 0 1 Down 0 1 1 Load 0 1 0 nh 1 - -Clear Esta codificacin permite utilizar c2, directamente, como lnea de activacin de las entradas declearde 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 clcp = 00, tenemos cuenta ascendente y, si los biestables son de tipo T, las entradas sern : To = 1
T = q0

Si

clcp

01,

tenemos

cuenta To

descendente,

por

tanto =

las

entradas

sern

: 1

Ti = qo Si c1cp=10, tenemos inhibicin. Los biestables no deben cambiar de estado, por lo que sus entradas deben ser 0 : To=O T, = 0 Si c 1cp=11, tenemos la carga y para determinar las entradas de los biestables Ti(i =0,1)

nos basamos en la siguiente estructura, siendo D i el dato a cargar en cada biestable . Di Di


236 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Si el dato a cargar coincide con el estado del biestable, ste no debe cambiar de valor, por lo que su entrada ser 0. En el caso en que difieran, la entrada ser 1 . To = q0e Do T1= q 1,9131 La solucin, para la parte sncrona, ser la unin de las entradas de los biestables para cada seal de control: To=

l.c1.co+1.c1.co+0.c 1.co+(g0eD0) c1 co

T1 = qo c1 co+go c1 - co+0 c1 co+ (q1eD1)c1 *co El circuito resultante es :

1-0 Do-q3q
qo-310 q1 10A

q 0 -2 C1 q0 0 Cl 1-1 q0-1 q
-

T D1-1

0 -2 T1

c1CO 1,1CO clk

Problema 4.-Disee un contador mdulo-60 (0-59) utilizando dos contadores, uno de los cuales es mdulo 10. Realice el segundo contador con biestables JK y puertas lgicas .
Solucin P4.-El contador que tenemos que disear con biestables JK debe ser de mdulo 6 e incrementarse cada vez que el contador de mdulo 10 alcance su ltimo estado de cuenta . 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 Cy up mod. 10 mod. 6

1
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.

SUBSSTEMAS SECUENCALES 237

Cy 1P mod. 10 mod. 6 clk

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 :

0 0000

1 Para la segunda solucin, el diagrama de estados es an ms simple, ya que desaparece la dependencia con la seal de entrada (siempre est cambiando de estado) .
e 11111 1 1 11 0

Obviaremos los pasos para la obtencin del circuito secuencia, puesto que ya existe un Captulo entero dedicado a este propsito .
Problema 5.-Se dispone de un contador mod-16 con las siguientes seales de control : CUENTA, CARGA y CLEAR. a) Si CUENTA = 1 y CARGA = 0, el contador cuenta hacia arriba . b) Si CARGA = 1, el contador se carga con datos en paralelo . c) Tiene tambin salida de CARRY. Construya, utilizando como dispositivo bsico dicho 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:
238 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

CARGA CUENTA CLEAR 1 0 0 0 1 0 0 1 0 Carga Cuenta Clear nhibicin

Operacin

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 clear; 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, CLEAR) = (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 CLEAR 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. CARGA CUENTA CLEAR 3210

clk

Dado que las operaciones son sncronas, deberemos generar la operacin de clear en el estado 5, para que, cuando se reciba el siguiente flanco de reloj, el prximo estado sea el 0 .

r--1
W LWEW
CUENTA

CUENTA = q2 q0

SUBSSTEMAS SECUENCALES 239 Como anexo al apartado, podemos decir que este circuito no sufre situacin de bloqueo, porque si inicialmente se da un estado fuera del rango, sus lneas de control provocarn una cuenta ascendente o un reset. Por tanto, siempre se llegar a la secuencia de estados prevista. 2.- Para disear un contador que cuente de 10 a 15, utilizaremos las operaciones de carga y cuenta. Las lneas de carga del contador debern tener el nmero 1010 correspondiente al estado inicial. Las seales de control deben ser: (CARGA, CUENTA, CLEAR) = (1,-,-)para carga y (0,1,-) para cuenta ascendente. Por tanto, la lnea de CUENTA la dejamos a 1, la de CLEAR puede tomar cualquier valor y la seal de CARGA la generamos en funcin del estado de cuenta del contador .

clk El K-mapa para la funcin carga es :


q3 q2

00 01 1110
q04
1

00 01 11 10 CARGA CARGA = q2 -q, - q0 1. 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 . 2. CARGA = q3 - q0 2 Para este apartado es necesario utilizar al menos dos contadores. La seal de carry del primer contador la utilizaremos para incrementar al segundo. Asimismo, generamos un clear cuando el valor del conjunto de las lneas que forman los dos contadores sea 34 o lo que es equivalente, que las lneas q 1 de los dos contadores sean 1 y el resto 0 . Podemos deducir directamente la expresin de la seal de clear como: CLEAR = q q donde el superndice distingue el contador .
240 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Las operaciones a realizar por el contador dos son : inhibicin, cuenta ascendente y clear, para lo que las entradas de control (CARGA,CUENTA,CLEAR) deben tomar los valores (0,0,0), (0,1,-) y (0,0,1). Para ello CARGA se puede poner a 0, CUENTA se conecta con la seal de carry del primer contador y clear se activa en el estado de cuenta 34. Para el contador CONT, las operaciones a realizar son: cuenta ascendenteyclear,para lo que las entradas de control deben ser (0,1,-) y (0,0,1). Para ello podemos dejar CARGA a 0, CLEAR a 1 y controlamos la entrada de CUENTA, de modo que cuando est a 1, se realizar cuenta ascendente y cuando est a 0 un clear. La seal de CUENTA la obtendremos invirtiendo la seal que se activa cuando se alcance el estado de cuenta 34. En la siguiente figura se muestra el resultado final: CARGA - 0 Cy CARGA 0 CONT 2 CUENTA CUENTA CLEAR CONT 1 CLEAR 1 clk 3210 3210 11

Problema 6.-Disee un registro universal de 4 bits . En particular, debe cumplirlas siguientes especificaciones: a) Ser sncrono y disparado por flanco positivo de reloj. b) Tener entrada de puesta a cero asncrona . c) Tenerlas cuatro formas de operacin siguientes : -nhibicin -Desplazamiento a la izquierda. -Desplazamiento a la derecha . -Carga de datos en paralelo.
Solucin P6.-Utilizaremos 4 biestables tipo D, disparados por flanco de subida y con entrada asncrona de Cl 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 : L3L2 L1.Lo
c2 cl co Operacin

0 0 0 SHL Rin 0 0 1 SHR C2 R[4] Lin

C1

0 1 1LOAD co 0 10 NH

xx CLEAR
= 000

SO

Sor

q3q2 ql q0 Supongamos que salvo elCLEAR,el resto de las

operaciones son sncronas. Entonces, para cada biestable D tenemos que :

Si

c2c1c0

(desplazamiento Di =

la qi-1

izquierda), i

las =

entradas 1,

son

: 2,3

Do = Lin Si c2c1c0 = 001 (desplazamiento a la derecha), las entradas son : Di = qi .1 i=0,1,2

D3= Rin Si c2c1c0 = 010 (inhibicin), se conectar la entrada a la salida q del biestable : Di =qi Si c2c1c0 = 011 (carga), las entradas correspondern con las lneas de carga : Di =Li La expresin para la entrada de cada biestable se obtiene uniendo las expresiones anteriores para cada entrada de control . .co 0 Do =Lin C 1 co+q1 c1.co+go.c1 +Lo.c 1 D1 = go .c1 .co+q2 co co D2-q1 -cl .co+q3 -1 .co+g2 .C1 .co+L2 c l D3 = q2 c, co+Rin C1Co+q3 c1co+L3c1co En las expresiones anteriores se ha eliminado la variable c 2. Esto se puede hacer si utilizamos c2 exclusivamente como seal que acta sobre las entradas clear de los biestables . Cuando c2= 1, el biestable se pone a 0 independientemente del valor de su entrada sncrona . Sic2= 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 .
c2 C1co+q1

.c1 c 1.co+L1

(Linsi i = 0) qi(Rinsi i = 3) qi+1


qi

Li

Problema 7.-La figura muestra un registro de cuatro bits y sus operaciones . Utilizando conexiones y circuitera externa adicional a ese registro :

242 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

a) Obtenga un registro universal de cuatro bits; esto es, tendr carga en paralelo, desplazamiento a derecha e izquierda, y "no-cambio" (inhibicin) . S: Entrada en serie.clk SH: Desplazamiento a la derecha. L: Carga en paralelo. SO: Salida serie.
SH L 00 1 0 1 REG 4 REG X3-Xo SHR(REG,S) S SH L Ck

3 2 1 0 REG 32 10 SO
q3 q2 q1 q0

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) el valor de las entradas es X3X2XjXo= 1010.
clk L 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 11 e lo. En la siguiente tabla, aparece una posible codificacin de stas y su relacin con las seales a activar en el registro . 11 o SH L Operacin 0 0 0 0 nhibicin 0 1 0 1 Carga 1 0 1 -SHR 1 1 0 1 SHL Asimismo, necesitamos controlar los datos de carga en el registro. Si 1o = 01, los datos de entrada al registro deben ser los propios de la carga, o sea, X; = Dipara i = 0, 1, 2, 3. Si 1,10 = 11, se debe realizar el desplazamiento a la izquierda, para lo cual tenemos que X; = q;_1 para (i = 1, 2, 3) y Xo= SL. (Esta es una entrada adicional que aadiremos para la realizacin del registro universal. La salida del desplazamiento a la izquierda ser SOL= q3) . SUBSSTEMAS SECUENCALES 243

Uniendo las expresiones anteriores, nos quedan las ecuaciones siguientes: X3- D3 .1+q21 X2 = D2 11+q,. 11
X1=

D1.11+q0. 1 1

Xo=DO* + S L .1 Puede observarse que en las expresiones anteriores se ha eliminado la dependencia de lo. Esta entrada slo sirve para distinguir entre la operacin interna de carga, y las restantes (desplazamiento a derecha e inhibicin) . Cuando estas ltimas estn activas, los valores de las entradas de carga son indiferentes, por lo que la ausencia de o no afecta a la operacin del

dispositivo. Nos queda, por ltimo, disear el circuito que adapte las seales de control 1 lo a las del registro SH y L. De la tabla inicial, podemos sacar las expresiones algebraicas siguientes : SH=11,10 1 L=1+0
L=10

El circuito resultante es :

b) El registro circular se construye realimentando la salida q -X2 X1Xo SH


Ck S 3 2 1 0 REG L 3210

con la entrada S.

SO
q3 q2 q1q0

Por ltimo, nos falta obtener la forma de onda de la salida cuando se somete al circuito a la secuencia de operacin mostradas en la figura del enunciado .
244 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

11 11<11 .4Qj>11

Para dibujar la forma de onda de la salida del registro debemos tener en cuenta que los cambios en la salida suceden en los flancos de bajada de la seal de reloj . Supongamos que inicialmente el contenido del registro es desconocido . Cuando se recibe el primer flanco activo, las seales de control L y SH estn respectivamente a 1 y O lgicos. Esto provoca una carga en paralelo. A partir de este ciclo ya es conocido el contenido del registro. En los cinco flancos siguientes las seales de control provocan el desplazamiento sucesivo del contenido del registro . La salida SO se corresponde, en cada momento con el bit menos significativo . Para los ltimos tres ciclos, el registro se inhibe por lo que no se altera el contenido .

Problema 8.-La figura representa un registro de 8 bits cuyas funciones son las especificadas en la tabla. Las salidas DZ deben ir conectadas a un BUS compartido . El BUS EB es bidireccional. a) Disee el registro utilizando puertas y biestables de tipo T con entradas de PRESET y CLEAR activas en alto (H). b) Aada al diseo realizado en el apartado anterior un circuito para que cada funcin del registro se ejecute activando una nica lnea. En esta parte pueden utilizarse subsistemas como elementos de diseo.

X2 X Xo 001010 011 000 1 - -

Operacin sobre REG[8] Lectura desde DZ Escritura en REG Lectura desde EB Puesta a cero sncrona Puesta a cero asncrona

X2 X1 xo

Solucin P8.-Diseamos una celda de este registro. Las salidas al bus DZ deben soportar alta impedancia por ser este un bus compartido . Para esta salida utilizamos buffers triestados . Estos buffers se usan tambin en la salida EB, para evitar las colisiones entre la salida del biestable y el dato de entrada. Partimos de la siguiente estructura:
SUBSSTEMAS SECUENCALES 245

X2_o q,

EBi A; y Bi son las entradas de control de los buffers triestado y Di la entrada de datos que se obtiene del bus bidireccional. El circuito combinacional C.C. debe generar las seales Ti, Ai, Bi, Cliy Pri, en funcin de las seales de control Xi, del estado actual y el dato de entrada Di . Para no extender demasiado el diseo, vamos a utilizar para el circuito C .C subsistemas combinacionales. La tabla de funcionamiento para C.C. es : XAX0 0 0 0 0 1 0 0 1 1 0 1 0 1 Ti Ai Bi 0 0 0 1 0 Cli 00 00 00 00 1 Pr i Operacin Cero sncrono Lectura DZ Escritura Lectura EB Cero asncrono

qi 0 0 1 Di @ qi 0 0 0 0 0

Hemos supuesto que los buses se encuentran en alta impedancia siempre que no se haga una operacin de lectura que los afecte. En cuanto a las seales asncronas, Pr, como se observa, no se utiliza por lo que podemos fijarlo a 0 . A la seal Cl podemos asignarle directamente la variable X2. Cuando X2 tome el valor 1, el registro se pone a 0 independientemente de las restantes seales de control . Esto nos sirve para independizar la expresin de Tide la variable X2. Por tanto, podemos deducir que: ;-X, Xo+Diog Ti =qi.X1.XO Esto se podr realizar con un multiplexor de 4 canales . Para las entradas de control de los buffers tenemos:
A;=X2 .X, .Xo

B; = X2 X, Xo En este caso hemos preferido no eliminar la dependencia de X2 para asegurar que se produce la lectura slamente en los casos que se especifican en el enunciado . El circuito resultante queda como:
246 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 9.-a) Disee un contador sncrono con una entrada X, de forma que sea un contador de mod-16 para X = 0 y de mod-12 para X = 1 . b) Disee un circuito que genere la secuencia de palabras dadas en el diagrama de tiempo de la figura utilizando el contador anterior y una ROM.
16 1 2 3 4 567 891011121314 1516 1

secuencia para X = 1 secuencia para X = 0 Solucin P9. a) Utilizaremos un contador mdulo 16 con puesta a cero sncrona . Si la entrada X est a 0, lo dejaremos recorrer los 16 estados ; si X est a 1, slo le dejaremos recorrer los 12 primeros estados, para lo cual generaremos un clear cuando el estado de cuenta sea el 11 en decimal. Si suponemos que la seal declear(Cl) es activa en alta, tenemos : X=1 8392 q\ 00 01 11 10 00

o 0
0 0

o
0

0 o o
C1

01
11 10

o o

SUBSSTEMAS SECUENCALES 247 La expresin algebraica para Cl es: El circuito resultante es : C1 = g3q1 qo.X

C q0 q q q3 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 z a, . . . para cada ciclo de reloj o estado del contador) .

md. 12/16 ROM A q q1 q q3 clk


Zd

Zc 11 Zb 22 Z 33 a 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 Contenido $0 A E $2 $5 $3 $1 $4 $4 $5 $6 $6 $6 $7 $F $8 $B $9 $9 $A $5 $B $3 $C $A $D $0 $E $C $F $3

248 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 10.-El circuito integrado 74LS 193 es un contador sncrono de 4 bits con carga en paralelo, seal de puesta a 0 (clear), tambin sncrona, e inhibicin . Utilice un 74LS 193 y las puertas necesarias para realizar el diagrama de estados de la figura .
Clear Load P. T Operacin 0 CONT = 0 P
qiq0
0

cLoad D D Do 1 0 CONT = D T 1 1 0 CONT = CONT o Clear 1 1 1 CONT = CONT + 1 q3q2

o~~o
00

Solucin P10.-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 (clear), 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

SUBSSTEMAS SECUENCALES 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

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 0110 (6 en decimal ). 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 medianteup yotra 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.
250 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Estado q3 q2 q1 q0 A000 B001 C010 D 0 11 E100 F101 G110

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 .

P D3D2D1D0 T Clear Load q q q q

C.C. X

En la figura, hemos fijado D3 y D1 a 0 y 1 lgicos respectivamente, puesto que los datos que cargamos son, o bien -011 (estado D), o bien -110 (estado G) . La tabla de verdad del circuito combinacional se muestra a continuacin X q2 q1 q0 0 0 00 00 0 0 0 0 11 000 00 1 1 0 0 1 1 1 1 00 1 1 0 1 1 1 1 0 0 1 1 1 00000 1 11 11 01 01 01 11 1 1 1 1 11 1 1 1 1 11 0 1 0 01 0 10 Clear Load 1 1 1 1 1 1 1 1 P T : D2 D0

1 1 1 1

1 00 1 1 0 1 1 1 1 0 0 1 1 1

1 1 1 1 1 1

En la tabla anterior, para la entrada 0100 del circuito combinacional, se han escogido para P y T los valores 0 y -respectivamente, de forma que P.T = 0. Las ecuaciones de salida para el circuito combinacional son : P=q2+X T= 1 Do =q2 D2=q1 CLEAR = q, +qo q2+X q2 LOAD = qo+q, q2+X

Problema 11.-Se dispone de una seal binaria con periodo de 1 minuto, contadores de mdulo 10 disparados por flanco negativo, con entrada de clear sncrona activa en alta y salida de acarreo (carry), visualizadores de 7 segmentos con entradas BCD y puertas lgicas. Disee un reloj digital que muestre las horas y minutos. Solucin P11.-Podemos deducir, a partir del funcionamiento del reloj, que necesitaremos dos contadores para los minutos y otros dos para las horas. La salida binaria de estos contadores puede actuar como entrada a los displays de 7 segmentos como recoge la siguiente figura:

CONT4 CONT3 CONT2 CONT1

clk El contador CONT1 debe ser capaz de cambiar desde el estado 0 al estado 9 en cada minuto o ciclo de reloj. Y CONT 1 CL 1 q3 q2 q1 q0 clk ('imin") El contador CONT2, debe cambiar de estado cada 10 minutos . Los estados que puede recorrer van desde e10 al 5. Como las nicas operaciones que pueden realizar estos contadores son la cuenta arriba y el clear, nos vemos obligados a dotar a este contador de una seal de reloj de 10 minutos. sta la podemos conseguir a partir del carry del contador CONT1 . Adems, cuando el estado de cuenta alcance el valor cinco, activaremos la seal de clear. CL2= qi q 252 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

El superndice de la expresin anterior hace referencia al contador del que extraemos las salidas q;. En este caso, el contadorCONT2.

CY2 CONT2 CL2 CY 1 CONT 1 q3q2q1 q0 q3q2q1 q0 clk

La siguiente figura representa un anlisis temporal de las seales que intervienen en el minutero. clk CY1 ........... .. . ...........

CL2 CONT1 ......... . Z EX C : CONT2 5 0 >C 4 iC

El diseo del contadorCONT3es 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 decleardel contadorCONT2. 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 = qi qi. q Por ltimo, el contadorCONT4 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 situacin23: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 q1 del contador CONT3 (ya que las salidas de un contador actun como divisores de frecuencia y, por tanto, como la entrada de reloj del contador CONT3 tiene un periodo de una hora, la seal q0 tendr un periodo de dos horas y la q l , de cuatro).

La seal del clear la activaremos cuando [CONT4] = 2 . CLK4= qi q1 +CY3 CL4=q El circuito resultante se representa en la siguiente figura : CY4 CONT 4
qq qi q

CL4

CY3

CONT 3
q3 q2 qi q

CL3 Clk T=1 hora

La siguiente figura ilustra el comportamiento temporal de esta parte del circuito . clk3 [CONT3]

.... . . . . . . . . . . CY3
q1

13
[CONT4]_ 0

>c

Problema 12.-Disee un circuito que genere la secuencia : 1, 1, 0, 0, 1, 0. . 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 Lir , para la generacin peridica de la secuencia . 110010 SolucinP12.-Existen mltiples soluciones a este problema. Vamos a plantear algunas

shllload

Lin g5g4q3q2qiq0 A

Z clk En este caso, el registro necesita ser cargado con la secuencia . Esto se consigue con la seal de control X, y colocando en las entradas de carga los bits de la secuencia . Si X = 0 se
254 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 asncrona .

q5

c) Usando un registro de desplazamiento, pero con un nmero de biestables infertora 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.

S.R[3] Lin
q2 q1 q0

C.C .

Puesto que este registro no puede almacenar la secuencia entera, tendremos que disear un circuito

combinacional que en funcin de los bits de la secuencia parcial que se encuentran en el registro, introduzca el prximo bit de la secuencia por Li n. Para determinar el circuito se procede de la siguiente manera . Supongamos que inicialmente se encuentran almacenados en el registro los tres primeros bits de la secuencia, o sea, g2g1q0= (1,1,0).El prximo bit de la secuencia que debe ser introducido por Li nes 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 Linpasa a ocupar la posicin menos significativa, g2glq0 = (1,0,0) .El prximo bit a introducir por Linser ahora 1. Por tanto, C.C. generar salida 1 para entrada (1,0,0). Si repetimos este proceso, obtendremos la tabla siguiente:
q2q1q0

Lin

10 00 ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0210000 06d6e74725247422058595a2007ce00020009000600310000616373704d534654000000004945432073524742000000 0000000000000000000000f6d6000100000000d32d48502020000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000001163707274000001500000003364657363000001840000 006c77747074000001f000000014626b707400000204000000147258595a00000218000000146758595a0000022c0000 00146258595a0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c000 0008676696577000003d4000000246c756d69000003f8000000146d6561730000040c000000247465636800000430000 0000c725452430000043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436 f70797269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e79000064657363000 0000000000012735247422049454336313936362d322e31000000000000000000000012735247422049454336313936 362d322e31000000000000000000000000000000000000000000000000000000

01

10 01 1 10
SUBSSTEMAS SECUENCALES 255

Como puede observarse, para cada entrada obtenemos un nico valor de Li,,, por tanto podremos generar esta funcin mediante un circuito combinacional . Es probable que en muchos diseos aparezcan entradas idnticas que generen salidas distintas para Li,, . En tal caso, deberemos aumentar progresivamente el tamao del registro de desplazamiento hasta que a cada entrada slo le corresponda una nica salida del circuito a disear . Es entonces, cuando obtendremos el circuito asociado. El K-mapa para nuestro problema es :

e Lin de donde obtenemos la siguiente expresin : L,~ = q2 q0+q2 q1 En este tipo de soluciones se pueden plantear problemas de bloqueo. nicialmente, el estado del registro es indeterminado . Esto puede originar situaciones de entrada para el C .C. que no estn contempladas. Estas entradas pueden llegar a provocar una secuencia de salida que no coincide con la prevista . Para solucionar este problema existen varios mtodos : uno de ellos es el de generar una carga inicial con parte de los bits de la secuencia ; otro mtodo sera asignar a aquellas entradas inespecificadas valores de salida que provoquen la incorporacin a la secuencia vlida. En nuestro ejemplo no existe bloqueo. Las nicas dos entradas que no estn contempladas son la g2g1q0 = 000 y la 42g1g0 = 111 . Si inicialmente se da el estado 000, el prximo estado, el 001, s pertenece a la secuencia y a partir de aqu, el funcionamiento es correcto. gualmente, 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: 10 11 02 03 14 05 6 mod-6 7 A qo qi q2 2 1 0 1 1 clk
256 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 13.-Utilizando como base un registro de desplazamiento, disee un autmata de Mealy que funcione como detector de las secuencias: 1111, 0110 0001. Solucin P13.-Este problema utiliza el registro como elemento almacenador de los bits de la secuencia a detectar. En un diseo de Mealy podemos emplear la variable de entrada X en la expresin de la salida, reduciendo el tamao del registro a tres bits . ShR REG X 1 q2qi q Z C.C. , De este modo, el registro almacena los valores de la entrada en los ltimos tres ciclos y, junto con el valor actual de X, el C.C. puede generar la salida Z. La expresin algebraica para Z es la misma que la del problema anterior pero cambiando q3 por X. Z=X.g2 .g1 .q0+X q2.g1- go+X g2 .g1q0

PROBLEMAS CON SOLUCN RESUMDA

Problema 14.-Represente la salida del circuito de la figura siguiente durante 5 ciclos de reloj suponiendo que el registro tiene almacenada la palabra 110 inicialmente y que la nica operacin disponible para el registro es el desplazamiento a la derecha.

q2 q t qoDOt clk

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 . A clk [reg] z

Problema 15.-Disee un contador de 4 bits (mdulo 16) que permita carga de datos en paralelo. El contador debe ser slncrono y podr ser puesto a 0 (clear) . Diselo con biestables

JK y puertas lgicas. Solucin P15.-En esta solucin se ha supuesto que elclearyelloadson asncronos y activos en alta. Load

Clear

CPr C1Pr C1Pr CPr Jq0 Jq, Jq2 Jq3 1

clk Vv q0 q, q2q3

Problema 16.-Se desea disponer de un contador con dos entradas de control (1 y D) que realice las siguientes funciones: a) Si =D=O, el contador est inactivo (no cuenta) . b) Si 1=1, el contador se incrementa (cuenta hacia arriba) . c) Si D=1, el contador se decrementa (cuenta hacia abajo). Se prohibe que las entradas l y D sean simultneamente 1 . 1 Disee uno de 4 bits, sncrono, con biestables tipo T (no utilice la tabla de estados global pues tiene 16 estados). 2 ndique qu ocurre si por error u otra causa hay entradas D= 11 . 3 Generalice el diseo para n bits. Solucin P16. 1) Las ecuaciones para las entradas de los cuatro biestables son : To=+D T, = ' qo+D' qo

T2= 1 .q,.go+D -go'q,

T3= .g2 .q,.go+D .g2 .q,.go 2) Si en las expresiones anteriores sustituimos 1 y D por el valor 1, y obtenemos los valores de entrada Ti para cada estado presente % el diagrama de estados, para este contador, es el representado en la siguiente figura:
258 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

affso
3) Generalizando para

bits : n-1 n-1 T; = .

flgi+D .[Jq; (i=1, ...,n)


i=0 i=0 To= +D

Problema 17.-Se dispone de contadores mdulo 16 con dos seales X, y X2que controlan su funcionamiento:

x,

Xp Operacin

0 0 Puesta a cero 0 1 Carga en paralelo 1 -Cuenta ascendente

Tomando como base este tipo de contadores, realice los diseos siguientes : a) Un contador mod-7 que cuente de 0 a 6. b) Un contador mod-7 que cuente de 9 a 15. c) Un contador mod-7 que cuente de 4 a 10. d) Un contador que cuente de 2 a 34.
Solucin P17.-En las siguientes soluciones no se han tenido en cuenta los problemas de bloqueo y adems, se ha supuesto que las operaciones de clear y carga son asncronas. a) Contador mdulo 7 (de 0 a 6): 1 1 1 13210 xo q3 q2 q1 q0

CONT[41

b) Contador mdulo 7 (de 9 a 15) : 1001 2 1 0 CONT[41 x 1 q3 q2 9 i q0 clk c) Contador mdulo 7 (de 4 a 10) : 0100 CONT[4] x q3 q2 q 190 clk 1 1 1 13210 3

clk

d) Contador de 2 a 34: 0010 1 1 1 13

1 1 1 2 1 0 3 2 1 0X CONT[4] CONT[4]
X X

93 q2 9 i qo q190

93 q2

clk Problema 18.-Se dispone de un circuito integrado 74198 cuya descripcin es la mostrada : Operacin Puesta a 0 asncrona
A

nhibicin Desplazamiento a izquierda Desplazamiento a derecha Carga en paralelo

260 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Hay que disear un registro de 8 bits con las siguientes operaciones : A1 Ao Operacin 0 0 Desplazar a derecha introduciendo un 00 1 Desplazar a derecha introduciendo el bit de signo1 0 Desplazar a derecha introduciendo el bit menos significativo1 1 No desplazar y que posea una seal de lectura (R) activa en alta, de forma que, cuando no est activa ponga al dispositivo en alta impedancia . 1) Disee el registro utilizando las puertas necesarias y el 74198 . 2) Suponiendo que inicialmente el registro contiene el dato 10101010, indique qu ocurre para la siguiente secuencia de entradas (cada valor corresponde a un ciclo de reloj) . R A,A0 : 0-0, 110, 011, 001, 100. Solucin P18. Ap 07 A1 -00 c MR A1 Ao clk R Y Z[7-0]
1

[7-0] D s r 74198 [8] O[7-0] Ds1

%~

V8

RA1Ao 0-0 110 011 001 [CONT 10101010 01010101)

Z[7-01(

11010101

Problema 19.-Un sistema tiene una nica entrada y dos salidas. El sistema puede estar fuera de servicio o en servicio . Entra en servicio tras recibir la secuencia 1, 1, 1 y se pone fuerade servicio tras 0, 0, 0. Una vez que est en servicio, el sistema detecta la secuencia 1, 0, 1 (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. Haga un circuito de Mealy utilizando un contador y una ROM. Solucin P19. 0/10 1/00

O
Za=l, Zb=1, fuera detecta de la servicio 0/00 secuencia

Se ha escogido la siguiente asignacin : Estado q2 qt q0 a 000 b 001 c 010 d 011 e 100 f 111 10 1 h1 110 Con la asignacin anterior, se requieren las seales de control que aparecen codificadas en la siguiente tabla:
c1 co Operacin 00 Up01 nh

10 Clear 11 Load

En la siguiente figura se ilustra el circuito resultante y la tabla de programacin de la ROM:


co 2 1 0 CONT[31 cl q2ql q0 ROM clk 00 Zb Za X

262 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

X q2 ql q0
00 0000 01 1 0 1 1 0 1 0 0 0 1 011 1110 0000 1

Di

ci c0 Za Zb
0 1 1 1 0 1 00 1000000000

0000010101

1 0 1 0 0

0 0 1 0 0

1 1 00 00 00 1 000

111

0 1 0 1 0 1 0 1 0

0 000011000000 0 1 1 1 0 0 1 1 000100

111

1 0 1 0 1 1 1 1 1

Problema 20.-Se desea detectar el envo del nmero diez que llega por una nica lnea comenzando por el bit LSB. Suponemos el caso de existencia de solapamiento en la cadenade bits. De un diseo con mdulos combinacionales, mdulos secuenciales y el menor nme-ro de puertas lgicas posibles. Solucin P20. Con un registro de desplazamiento a la derecha y una puerta AND de tres entradas : X Rin SHR[3] ShR clk

Captulo 10 MEMORAS SEMCONDUCTORAS

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 tambi1n algunas memorias de acceso secuencial . UNDAD DE MEMORA MULTCHP Una unidad de memoria multichip forma la memoria principal de un computador . Su organizacin 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 palabras 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 (A15 A0),lo que da un espacio de 64K palabras (desde la $0000 a la $FFFF, que en decimal abarca desde la 0(10a la 65535(10).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-A0para memorias de 1 K; A12-A0 para las de 8K; etc) -Con la entrada de seleccin de chip (CS), efectundose a travs de un circuito de decodificacin 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
264 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

de 64K se cubre mediante una combinacin de 8 chips RAM y ROM .

16 Bus de direcciones

11

cc 1 14 CC j.131c1 13 1cC1 12 cc 1211cc 12 CC -> y W Chip 2Chip 3Chip 4 Chip 5 Chip 6 Chip 7 Chip 8RAM RAM ROM ROM RAM RAM RAM 16K8K 8K 4K 4K4K 4K . . . . ....... . . ....... . . ...... . . ...... . . . ......... . . ....... . . ...... . . ...... . . ....... . . ...... lneas de direccin de palabra seleccin fsica (en cada chip) de chip EL MAPA DE MEMORA 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 2kpalabras. 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 (CS1 ,CS2, .. .,CS8) .Como se observa, en cada regin slo hay un chip seleccionado evitndose as los problemas de colisin .

MEMORAS SEMCONDUCTORAS

2 6 5

0 16383 1638 4 3276 7 3276 8 4095 Registro 9 dedirecci 4096 n A018 0 4915 1 49152

000 0 3FFF 400 0 7FFF 800 0 9FFF A00 0

Chip 1 RAM 16K

} } } Chip 2RAM 16K Chip 3RAM 8K Chip 4ROM 8K Direccin Chip 4 Direccin del mapa ROM8K interna. de memoria del chip A000 0000 A018 07 0018

BFFF 000 0 CFFF D00 0 DFF F E00 0 EFFF F00 0 } FFFF Chip 8 RAM 4K } } Chip 5 ROM 4K BFFF 1FFF

53247 53248 57343 57344 61439

Chip 6RAM 4K Chip 7 RAM 4K

61440

65535

A 1 5 0 0 1

A1 4 0 1 0

A1 3 0 1 0 0

A1 2 1 1 0 1

CS1 1 0 0 0 0 0 0 0

CS 2 0 1 0 0 0 0 0 0

CS 3 0 0 1 0 0 0 0 0

CS 4 0 0 0 1 0 0 0 0

CS 5 0 0 0 0 1 0 0 0

CS 6 0 0 0 0 0 1 0 0

CS 7 0 0 0 0 0 0 1 0

CS 8 0 0 0 0 0 0 0 1

Chip 1 (16K) 2(16K) 3(8K) 4 (8K) 5(4K) 6(4K) 7 (4K) 8(4K)

1 1

266 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES MEMORAS TPO LFO Y FFO Hay, entre otros, dos tipos de memoria de acceso secuencial que son la memoria LFO (Last n First Out) y la memoria FFO (First n 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 FFO y es al revs en las LFO. Con las memorias LFO 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 secuencia] . PROBLEMAS RESUELTOS Problema 1.-Dibuje el mapa de memoria para el circuito de la figura, indicando, razonada-mente, las posiciones ocupadas por las memorias RAM y ROM . A15 1
A15

A12-A ROM RAM -,--> D7 -Do3 8Kx8 8Kx8 8 Solucin Pl. A15 0 A14-1 o-A13-0 2A15 DEC 2:4 3

CS CS A12-A0 ~ A2-A0 -+~-~al 2-ao -,-> D7 - Do 13 9> a12-a0gloD7 -Do 1 13 ROM RAM MEMORAS SEMCONDUCTORAS 267

Respecto a la memoria ROM tenemos : CS1=A15 ,por tanto, la memoria se selecciona cuando A15= 0. En cuanto a sus lneas de direccin, a12-0 = A12-0, donde A 1 5-0 son las 16 lneas que for man el bus de direcciones externo . Respecto a la RAM: CS2 = d1 -d2 = (A15 + A14 + A13) (A15 + A14 + A13), es decir, la memoria se selecciona cuando A15=0,A14=0yA13=1A14=1yA13=0. El bus de direcciones interno a la RAM est compuesto por las lneas a12-0 = A12-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 : A15 A14 A13 0 1 RAM (8Kx 8) 0 1 0 RAM (8Kx 8)

1 --ROM (8Kx 8)

Problema 2.- Determine el mapa de memoria correspondiente al circuito de la figura. CS1 A11-A0 -2} 0 1 23 al,-a0 M

A13A12-0 A151 DEC 2:4

jo-A0 ato-a0 DEC 2:43D 8 0 1 2 3 DEC 2:4 z CS Ajo-A0 1 ajo-a0 M3 8

V DO- D7 268 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P2. Sean CS1, CS2y CS3las seales de seleccin de chip correspondientes a ROM 1,ROM2 y ROM3respectivamente. Sean a; las lneas de direccin de las memorias M i . Directamente del diagrama del circuito : M1(212x 8)=M(4K x 8) La ecuacin para la seal de seleccin de la memoria es : CS1 =A15+A14+A13+A12 Las lneas que componen el bus de direcciones interno : al,-, = A11-o

M2(2'1x 8) =M2(2K x 8)
Ecuacin para la seal de seleccin : CS2 = (A13+A12+A,5+A14) (A13+A + [A15+A,4] - [A15+A141) _
= (A15+A14+X13+A12) ' (X,4+A 13+X11)

Lneas de direccin:
ato-o = Ato-o

M3(2" x 8) =M3(2K x 8)
Seal de seleccin de chip : _ CS3 = (A13+A11+ [A15+A141 . [A ,5+A141) _ (A14+A13+A11) Lneas de direccin: a,o-o = Ato-o A partir de las ecuaciones obtenidas para CS i , podemos evaluar cundo se selecciona cada memoria. Para ello basta analizar para qu combinacin de las lneas de direccin se tiene CSi= 0. As obtenemos el mapa de memoria que se muestra a continuacin . Como se observa, M1 (4Kx8) ocupa 4K posiciones en el espacio de memoria : $0000 -$OFF-M2 (2Kx8) ocupa 12K posiciones en el espacio de memoria: $2000 -$2FFF $4800 -$4FFF $5800 - $5F1-} $C800 -$CFFF $D800 -$DFFF Esto quiere decir que aunque el chip fsicamente slo contiene 2K direcciones, existen 12K direcciones del espacio de memoria que hacen que se seleccione el chip M2. Por ejemplo, si en el bus de direcciones externo se fijan las direcciones $2000, $4800, $5800, $C800 $D800, estaremos leyendo una nica direccin fsica en M 2, la $0000. M3(2Kx8) ocupa 8K posiciones en el espacio de memoria : $6000 -$67FF $7000 -$77FF $E000 -$E7FF $F000 $F7FF
MEMORAS SEMCONDUCTORAS 269

A15 A14 A13 A12 A11 0 0 1 0 0 (4K) 1 1 0 0 1N 0 0 0 1 1 (2K)1 0 M3 (2K) 011 0 M3 (2K)1 1

0 0101 010

01

01 01 1

M, M, M3 M3

(2 K) (2 K) (2K) (2K)

Problema 3.-En el mapa de memoria de un microcomputador de 16 lneas de direccin (A15/A0) se han ubicado una memoria RAM de 8K en las primeras 8K posiciones de memoria y una memoria ROM de 8K en las ltimas 8K posiciones de memoria . Se desea incluir una memoria RAM de 32K, para lo que se han propuesto los 3 diseos de la figura. ndique en qu medida es correcto cada uno de los diseos y, si es posible, determine qu palabra de la RAM se direcciona cuando A15-0=$ABCD (hexadecimal) en cada uno de los tres casos. Qu di-reccin hay que poner en el bus de direcciones para leer la posicin $4680 de la RAM en cada caso? 270 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

A 14$A 13 A15A14A13 + A15A14A3

CS CSCSA15,A13-A D -D7 A15-A DO-D7 A14-A D -D7 a14-0 a14-0 a14-0 15 8 RAM RAM RAM (a) (b) (c)

Solucin P3. Caso a) La RAM se selecciona cuando su seal de seleccin de chip CS = 0. CS = A14.A13 + A14.A13, por tanto se puede acceder a la memoria en las combinaciones A14 A13 = 01 10, y est no seleccionada cuando A14 A13 = 00 11 . Se comprueba por tanto, que no hay conflicto de seleccin con las memorias RAM ni ROM previamente posicionadas . En ninguna ocasin se selecciona ms de una memoria si-multneamente. Las lneas de direccin de la RAM(a14-0)son :a14 = A15,a13-0 = A13-0. Dado que la lnea A13forma parte simultneamente del conjunto de lneas de direccin de la memoria ydel circuito de seleccin de chip (CS = A140+A13) es necesario hacer ciertas consideraciones . Para los 8K que ocupan las primeras posiciones de la RAM se tiene que a14 = A15 = 0 Y a13 = A13 = 0. Para que CS = 0 ser necesario A 14 = 1. Por tanto, los primeros 8K de la RAM ocupan las posiciones del mapa en que A15A14A13 = 010 . Los siguientes 8K son posiciones en las que de nuevo a14 = A15 = 0 pero a13 = A13 =, con lo que para que se cumpla CS = 0 se ha de fijar A14 = 0. En este caso se estarn ocupando las posiciones del mapa en que A15A14A13 = 001 . Razonando de igual modo se concluye que los 16K de la RAM con las po-siciones ms altas se direccionana para A15A14A13 = 101 y 110 . El mapa, para el caso a) queda: A15 A14 A13 0 RAM inicial del problema 0 1 Nueva RAM $RAM: $2000 -$3FFF 0 1v 0 Nueva RAM $RAM: $0000 -$1FFF

1 0 0 1 Nueva RAM $RAM: $6000 -$7171717 $ABCD 1 1V 1 ROM inicial del problema 0 Nueva RAM $RAM: $4000 -$51.1.1

MEMORAS SEMCONDUCTORAS 271

Veamos qu palabra de la RAM se direcciona cuando A15-0= $ABCD. Para A15-0= $ABCD se cumple que A15-0= 1010 1011 1100 1101, entonces: A14A13 = 01 por tanto la memoria RAM est seleccionada . Por otra parte, A15 A13 A12 = a14 a13 al2 = 110 = 6 y A11-0 = al 1-0 = BCD . Se direcciona, por tanto, la palabra a14-0 = $6BCD de la RAM . Para leer la direccin a14-0 = $4680 de la RAM, se procede como sigue : Para esta direccin se cumple a14-0 = 100 0110 1000 0000 . Entonces: a14 = A15 = 1 ; a13 = A13 = 0; a12 = A12 = 0; al 1-0 = A11-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, porlo que como A13 = 0, estamos obligados a que A14 = 1 . Concluyendo, para acceder a la direc-cin interna deseada, en el bus externo hay que fijar la direccin A15-0 = $C680 . Caso b) : La seal de seleccin de la memoria es RAM : CS = A0, es decir, se selecciona para cualquier direccin del bus externo que tenga A0 = 0 . Esto implica que para todas las palabras de los primeros 8K y de los ltimos 8K con A0 = 0, hay conflicto entre la nueva RAM y las me-morias (RAM y ROM) ya existentes. Por tanto, el diseo NO es conecto. Caso c) : Seal de seleccin de chip : _ CS = A15 .A14-A13+A15'A14 .A13 por tanto la memoria RAM se selecciona para A15 A14 A13 = 0 - 1, 0 1 -, 1- 0 y 1 0 -, y est no seleccionada para A15 A14 A13 = 000 111 . A partir de esos valores puede decirse que no habr conflicto de seleccin con las memorias ya colocadas (en los primeros 8K, A15 A14 A13 = 000 y en los ltimos, A15 A14 A13 = 111). Las lneas de direccin de la nueva RAM (a14-0) son: a14-0 = A14-0 Por conveniencia, llamaremos Ro a los primeros 8K de la RAM, que se direccionan con a14 a13 = 00; R1 a los siguientes a14 ala = 01 ; R2 a los siguientes a14 ala = 10 y R3 a los ltimos a14 a13 = 11 de donde se tiene el siguiente mapa: A15 A14 A13 RAM inicial del problema0 1 N U R2 0 1 0 1 1 1 01 0 V A RAM R Ro R1 - $ABCD R2 R1

ROM inicial del problema Para A15-0 = $ABCD se selecciona la seccin R1 de la RAM (A14 A13 = 01, y por tanto a14a13=01) . Asimismo se tiene A14-0 = $2BCD, de donde se deduce que la direccin interna

de la memoria a la que podemos acceder es a14-0 = $2BCD.


272 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Por ltimo, para acceder a la direccin interna de la memoria RAM a14-0 = $4680 que pertenece al tramo de R2slo hace falta determinar A15 ,que puede valer 0 1, como se quiera. Esto es, se accede a la direccin requerida tanto para A15-0= $4680 como para A15-0= $C680. Problema 4.-Se desea transferir el contenido de las memorias M2y M3a la memoria M, (ver figura). Se dispone de una instruccin : TRANSFERE ($N de palabras, $Fuente, $Destino) Dicha instruccin transfiere un bloque, cuyo nmero de palabras es el indicado, desde la direccin fuente hacia la direccin destino; por ejemplo, para transferir 4K-palabras ($1000) que estn escritas a partir de la posicin $2000 a posiciones de memoria que comiencen en $7000 se pondra: TRANSFERE ($1000, $2000, $7000) . (El sistema interpreta y ejecuta esta instruccin). Escriba el programa necesario para el circuito de la figura .

A13 -Ao o A15 A14 A12


1

Do D7 8 16 K

14

1lo

2 34 5
6

DEC3:8

A13,A11 -A0 -f--> 13 8K

D - D7 8

A13,A11 - A Do- D7
1 10

13 8 8Do - D7 8K

Solucin P4.-Primero obtenemos el mapa de memoria para conocer las direcciones fuente (de M2y M3) y destino (M 1 ) . Analizando el circuito combinacional de decodificacin : A15A14A12 = 000 001 selecciona M1 A15A14A12 = 011 selecciona M2 A15A14A12 = 110 selecciona M3 A continuacin formamos las instrucciones TRANSFERE (, , ) necesarias. Para ello dibujamos el mapa de memoria. MEMORAS SEMCONDUCTORAS 273

A15

A1 4

A1 3

A1 2 0 1 0

Memoria seleccionada

0 1

mi 16K palabras M

1 0 0 1 1 1 1 0 0 1 1 1 0 1 ~\\\\\\\~i~:\\\\"` 4K palabras (A13= 1) M3 0 1 4K palabras (A13 =0) M3 4K palabras (A13 = 1) M2 0 1

4K palabras (A13 = 0) M2

Para transferir a M1 la totalidad de M2 Y M3 hay que utilizar 4 veces la instruccin TRANSFERE: 1) La primera mitad de M2(A13= 0), que son 4K palabras y estn ubicadas entre $5000 y $5FFF, la llevaremos al primer cuarto de M 1 ($0000 a $OFFF). Entonces : TRANSFERE ($1000, $5000, $0000). 2) La segunda mitad de M 2 al segundo cuarto de M : TRANSFERE ($1000, $7000, $1000). 3) La primera mitad de M3 al tercer cuarto de M TRANSFERE ($1000, $0000, $2000) . 4) La segunda mitad de M3 al ltimo cuarto de M TRANSFERE ($1000, $E000, $3000) .
Problema 5.-Utilizando circuitos de memoria de 8Kx8, realice una asociacin de 32Ka partir de la posicin $6000.
Solucin P5.-Para ocupar 32K bytes de memoria con chips de memoria de 8Kx8 necesitamos 4 de estos (M , M2, M3, M4).Sean CSiel terminal de seleccin de chip y a12-0sus lneas de direccin . Conectaremos las lneas del bus de direcciones AB = A15-0de forma que a12-0 = A12-0,y la seleccin de memoria la realizaremos con A15 , A14, A13. Repartiremos las posiciones de las distintas memorias como muestra la siguiente tabla : 274 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

A15 A14 A13 $comienzo $final CS1 CS2 CS3 CS4 00 000001FFF 1 1 1 1 00 120003FFF 1 1 1 1 0 1 040005FFF 1 1 1 1 0 1 1 6000 7FFFM10 1 1 1 1 0 0 80009FFFM2 10 1 1 1 0 1 A000BFFFM3 1 10 1 1 1 0 C000DFFFM4 1 1 1 0 1 1 1E000FFFF 1 1 1 1 Una solucin para el circuito de decodificacin es : A1 1 2
D

A14 A1 5 0

3 4a

6 DEC 7
n n

CS CS2
0D 0D

CS4

a12-0 a12-0 a12-0 a12-0 13 1313 M1M2M3 M4

A15-A0

16 A12-Ao

Problema 6.- Se desea disear un sistema microcomputador que tenga 64Kbytes de memo ria, de los cuales, 40K sean RAM y 16K ROM. Se dispone de chips de los siguientes tipos: ROM: 16Kx4 RAM: 16Kx8 RAM: 4Kx8 Disee el circuito de decodificacin necesario.
MEMORAS SEMCONDUCTORAS 275

Solucin P6.-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:

cs cs
a13 0 a13-0 7-0 14 16Kx4 16Kx4 16Kx8
210 3210 L
514 3)2)J0)

7161

D7-0 Buscamos ahora la forma de situar 40K de memoria RAM y 16K de ROM en un mapa completo que ocupa 64K. De todas las posibles soluciones adoptamos aquella en la que se ocupa el espacio de memoria desde las posiciones ms bajas para la RAM y las ltimas posiciones de memoria para la ROM. El mapa de memoria queda con la siguiente distribucin : A15 A14 A13 A12 CS1 CS2 CS3 CS4 CS5 00 --M1RAM16Kx80 1 1 1 1

0 1 --M2RAM16Kx8 10 1 1 1

0M3RAM4Kx8 1 1 0 1 1

M4RAM4Kx8 1 1 1 0 1

10 1 Libre 1 11 11

1 --M5ROM16Kx8 1 1 1 1 0

Las seales de seleccin de chip para cada una de las memorias las obtenemos con el siguiente circuito de decodificacin: 276 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

0 A15 1 1
A14

02
DEC 2:4

3
EN

0 CS3 1 CS4
DEC 2:4

Problema 7.-Se dispone de 3 circuitos de memoria con entrada de seleccin activa en nivel bajo, dos son
de 8K palabras y el tercero de 32K. Estos circuitos van a estar direccionados por un procesador de 16 seales de direccin (A15-0). Se requiere que los circuitos de 8K ocu-pen las direcciones menores y las mayores. a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K palabras de direccin sobrantes . Disee el circuito que realiza ese mapa . b) ndique el circuito de memoria y la posicin en dicho circuito que se activa con cada una de las siguientes direcciones ($A15-o, en hexadecimal): $0123, $2345, $4567, $6789, $89AB, $ABCD, $CDEF y
$EF01. Solucin P7.-Descomponemos las 64K direcciones del bus de direcciones externo AB, en grupos de 8K, cada uno de los cuales est definido por uno de los posibles valores de A15 , A14, y A13.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 : M1 y M2 son de 8K, por tanto tienen 13 lneas en su bus de direccin (a12-0) . M3 es de 32K con 15 lneas de direccin (a14-0) . _ Asumimos que todas tienen su seal de seleccin CSM; . A15 0 0 8K de M1
A14 A13

1.
2.

0 1 Libre
010 32K de M 3 1 0 0 10 1 1 1 0 Libre 11 1

11

Damos dos soluciones para la decodificacin. La primera utiliza un decodificador y la segunda es un diseo a nivel de puertas .

A15 >1 A14 esM A13

A15 A14 CSM3 o-USM2 A13

=1 USM3 Las lneas de direccin de M1 Y M2 (a12-0) se conectan directamente a las lneas A120. Para M3 necesitamos 15 lneas A;. En principio hay dos soluciones (en todo caso adems de A13-0 hay que utilizar A15 A14): a14-0 = A14-0 o a14-0 = A15 A13-0 -Elegimos la primera pues es la que cubre el mapa de memoria:

CSM CSM2 CSM3


MlM2 M3 a12-0 a12-0 a12-0

8K 8K 32K De acuerdo con lo anterior, pasamos a solucionar el apartado b) . A partir de las direcciones A15-0 que se nos indicanm tendremos que deducir del valor de A15 A14 y A13 si se selecciona alguna memoria y cul es . Posteriormente, analizamos el valor de la lneas de direccin de la memoria seleccionada(ale0paraM1YM2;a14-0 paraM3)para averiguar qu di-reccin interna es activada. En la siguiente tabla se muestran los resultados de dicho anlisis .
$A Memoria Palabra de memoria A15A14A13A12 A11-8 A7-4 A3-0

0 0 0 0 1 2 3 M 1 a12al1-8 a7-4 a3-0= 0 12 3 0 0 1 0 3 4 5 Libre 0 1 0 0 5 6 7 M3 a14-12 al 1-8 a7-4 a3-0=4 56 7 0 1 1 0 7 8 9 M3 al 4-12 a11-8 a7-4a3-0=6 7 8 9 1 0 0 0 9 A B M3 a14-12 a l 1-8a7-4a3-0=0 9AB 1 0 1 0 B C D M3 a14-12 a11-8 a7-4 a3-0 =2BC D 1 1 0 0 D E F Libre 1 1 1 0 F 0 1 M2 a12 al 1-8 a7-4a3-0= 0 F 0 1

binario hexadecimal hexadecimal 278 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 8.-En una memoria LFO de fondo 6 se va a realizar la siguiente secuencia de op eraciones: 3 PUSH, 1 NOP', 1 PULL, 2 PUSH, 2 NOP, 1 PULL, 1 PUSH. La memoria est vaca en el instante inicial. La anchura de la memoria es de 8 bits. Por su bus de entrada vienen caracteres ASC con paridad par, concretamente, los valores du-rante las sucesivas operaciones de escritura son: N, E, G, 1, C, B. a) Muestre el contenido de la LFO al realizar la secuencia de operaciones. b) Supuesta vaca la LFO y siguiendo un proceso de 2 operaciones de escritura y 1 de lectura (despus otras 2 de escritura y 1 de lectura, .. .), indique la secuencia de entradas a la LFO para que en la pila est escrita la palabra FNAL en algn momento.
Solucin P8.-Para conocer el contenido final de la pila vamos a obtener los resultados parciales despus de cada operacin de escritura (PUSH) o lectura (PULL) sobre la pila. En la siguiente figura

aparecen los distintos pasos; encima de la flecha se escribe el tipo de operacin y debajo el dato de entrada (X significa que no importa el dato) . instante inicial V- PUSH PUSH PUSH A-C-N EG

NOP PULL PUSH PUSH XX C

NOP NOP PULL PUSH 3 XXX B

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.

NOP: no operacin.

PUSH PUSH PULL PUSH

FNAL

NAL~-NAL < NAL NAL X< F

PUSH PULL PUSH PUSH PULL <

AL NAL AL <

L<

AL E-NxN AX

PUSH PUSH L < Vaca AL En definitiva, la secuencia de datos necesaria para utilizar en la secuencia de operacio-nes es: L, A, X, A, N, X, N, 1, X, 1, F. Y como resultado de la octava operacin de escritura (PUSH), que es la 11 2 operacin, se consigue tener la palabra "FNAL" en el contenido de la LFO. Los caracteres ASC 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: $C6 G:$47 1: $C9 L: $CC N: $4E

PROBLEMAS CON SOLUCN RESUMDA

Problema 9.- Determine el mapa de memoria del circuito de la figura . ndique, si es posible,
15

qu palabras de la RAM se direccionan cuando A /A = $4ABC y A = $8000.


15 o _o

A13
0

cs 0 A ,A12,A1o-Ao A15 -1 2 fi RAM --90130-D7

A12-2 1

MUX4:1

13
o

:) DEC 2:43

8Kx8

A14 A11 280 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P9.-El mapa de memoria del circuito es : A15 A14 0 0 0 0 1 1 $5800-$5FFF 0= $0800401-1-1 1 0 1 1
A13 A12

A11

0 1 5 800-$4FFF a12-0= $0000'-$07FF

0 0 1 0 0 1 1 1 0 -$ 000-$C7FF a12-0=$1000-$17FF 0 1 0 1 1 1 0 -$ 000-$9'/H a12-0=$1800411`14; 1 115.)=$9800-

$9FFa'1~ a 0=$1800-$1FFF

donde las lneas de entrada de la RAM, ale-0, son: a12=A15,al 1=A12,ajo-0= Ato-0 . Las palabras de la

RAM que se direccionan cuando el bus externo A15-0 contiene las direcciones $4ABC y $8000 son: Si A15-0 = $4ABC a12-0 = $02BC Si A15-0 = $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 mapa de memoria de 64K.
[$1 A 1 5 0 0 1 2 3 A14 A13 A12 12 345 6 0 DEC3:8 7 CONTADOR MOD-4 q q1 CS d3 -> d2 > d1-> do > 45 67 89 2 F B F D E B 0 1 2 3 A B F C

a3 a2 A11 -al Ato -ao

ROM(24x4)

A B CD E

CLK

Solucin P10.-Las secuencias que se obtienen a la salida de la ROM dependern de los valo-res de a3_0. Las lneas aly aoestn fijas a A11 y Ajo mientras que a3y a2,al estar conectadas a las salidas del contador, van cambiando ciclo a ciclo . Analizando los distintos casos se ob-tiene : Direcciones internas de la memoria RAM Secuencia de Salida a3 a2 al ao d3 d2 dl do
A11 Ajo = 00 0 0 1 1 A11 Ajo = 01 0 0 1 1 Al , Ajo -10 0 0 1 1 A11 Ajo = 11 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 00 0 0 1 1 1 1 0 0 0 0 1 1 1 1 01 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 0011 00 10 10 01 01 1 1 10 10 1 1 1 1 00 1 1 1 1

1 1

282 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 11.-Utilizando memorias 4Kx4, disee un circuito de decodificacin que permita situar 16 Kbytes a partir de la posicin $1000.
Solucin P11.-Solucionamos primero la obtencin de memoria de 8 bits por palabra a partir de memorias de 4 bits por palabra . CS CS

3210 3210 l7~6l5l4 3)2)1)C)

a13-0 a13-0 a13-0 / 14 16Kx4 14 16Kx4

~g D7-0 Las cuatro memorias se colocarn a partir de la direccin A15-0 = $ 1000, es decir: A15= 0, A14= 0, A13 = 0,A12 = 1y A11-0 = 000 (en hexadecimal). De esta forma, las seales CSi de cada memoria debern activarse segn la siguiente tabla :

A15

A14

A13

A12

CS1 1 M M2 M3 M4 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

0 0 0 0 0

0 0 0 0 1

0 0 1 1 0

0 1 0 1 0

restantes combinaciones

El circuito de decodificacin es el siguiente :


CS1
A14 CS2 CS3 A13

A15

CS4 A12 DEC 3:8

Problema 12.-Un sistema basado en el microprocesador R65C02, dispondr de 3 RAM de 8Kx8 y una EPROM de 8Kx8. Disee el circuito de decodificacin correspondiente.
Solucin P12.-Tenemos que situar 3 memorias RAM de capacidad 8Kx8 y un EPROM de 8Kx8 en un mapa de 64K. Para ello damos uno de los posibles circuitos de decodificacin . Hemos colocado las cuatro memorias una a continuacin de otra empezando desde la primera direccin del mapa completo .

A1 -Ap D -D7 13 1a12-a0 8 RAM 8 A12- Da- D 13a,2-a0


7

1 13

A15

2 RAM2
3

A14 A13 -0

4A
5

A12-A0 . Do- D7
6 D a12-a, )

-r DEC 3:8 7 13 8 RAM3

a12-al)

A A12-A0 Do- D7

13

ROM

Para este circuito de decodificacin la mitad del mapa queda vaca. Slo se ocupan los primeros 32K del mapa. Otra opcin en donde se ocupara el mapa completo de los 64K, ya que cada una de las memorias cubre 16K, es la siguiente: A A12-A0 Do- D7
a12 1

-a,13 8 RAM

8 0 ---o, > a12-a0 13 8 A15 -1 RAM2 _ D -D A14 DEC 1.23 A12-A0 7 --.
a12-a0 13

A12-A0

Do - D7

-01

RAM3

A A12-/ Do- D7
a12-a

13 8 Do- D7ROM

Problema 13.-El mapa de memoria de un microprocesador con bus de direcciones de 16 bits est ocupado por 8K ROM y 20K RAM. Disee el circuito de decodificacin necesario si se dispone de chips de 8Kx4 ROM, 16Kx4 RAM 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 : A15 0 0 0 1 A14 0 1 1 1 0 0 1 0 1 M2: M3: M4: RAM (4Kx8) RAM (4Kx8) ROM (8Kx8) A13 A12 M1 : RAM (16Kx8)

restantes combinaciones Circuito de decodificacin : 0 A15 1 1 A140 2


DEC 2:4 3

vaca

EN0 CS2

1 1 CS3 02 DEC2:4 3

EN 0

1 DEC 1:2

CS4

Problema 14.-Utilizando circuitos de memoria 2Kx4, realice una configuracin 8Kx8 que ocupe 8K posiciones a partir de la 4096(10en un mapa de memoria de 64K.
Solucin P14.-Una vez que tengamos todas las memorias de 8 bits por palabra para lo que hemos tenido que hacer una

asociacin de memorias de la forma en la que se hizo en problemas anteriores, hacemos la distribucin de estas memorias a partir de la direccin 4096, es decir, A15-0 = $1000 con lo que:A15= 0, A14= 0, A13= 0, A12= 1 y A11-0= 000 (en hexadecimal). El mapa de memoria es:

$A15 -0 0--1000 a 2FFF 3000 a HF1F

A,5 00 00 0

A14 A13 A12 Al , 0 0 0 001000110100 0 1 0 1 restantes combinaciones

A100a jo-0 ato-0 a jo-0 ato-0

CS1 10 11 11 M1 M2 M3 M4

CS 21 10 11 1

CS 31 11 01 1

C S 4 1 1 1 1 0 1

El circuito de decodificacin:

CSi

1
RAM CS1 CS2 Ajo-A0 --T->a10-a0-yDo-D7 CS3 1 2Kx8 CS4

Problema 15.-Disee un circuito decodificador que permita situar 20Kbytes de RAM a partir de la direccin $5000 dentro de un mapa de memoria de 64K . Para ello se dispone de chips de 8Kx8 y 4Kx4. Solucin P15.-En primer lugar se obtienen todas las memorias de 8 bits por palabra 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 (A15= 0, A14= 1, A13= 0, A12= 1 y A11-0 = 000 (en hexadecimal)). Mapa de memoria: A15 A14 A13 A12 CSl CS2 CS3 0 1 0 1 M1(4Kx8) 0 1 1 al 1-0 =A11-0 0 1 1 M2(8Kx8) 1 0 1 a12-0 =A12-0 1 0 0 M3(8Kx8) 1 1 0 a12-0 =A12-0 restantes combinaciones Libre 1 1 1
286 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Circuito de decodificacin:

A15 CS1 A14

A13

Problema 16.- Se dispone de RAMs de8Kx8 yde 4Kx4. En una CPU de 16 lneas de direc-cin y8de datos: a) Disee con puertas lgicas un banco de memoria de28Kpalabras, a partir de la di-reccin $4000 del espacio de direcciones. b) ndique la posicin fsica correspondiente a las direcciones $4567 y $CAFE en el bus de direcciones. c)Qu direccin hay que poner en el bus de direcciones para leer la posicin$0123 de una de las memorias RAM de 4Kx4? d) ndique los cambios que habra que hacer si el bus de datos fuera de 4 bits . Solucin P16.
a) Primero asociamos las memorias necesarias para tener todas las memorias de 8 bits

por palabra: CS
C$a

all-0 a11-0 12 4Kx4


3210

1 7 t6

El mapa de memoria que proponemos es:

A1 5 0 0 0 1 1

A14 0 1 1 0 0

A13

A1 2

0 1 0 1 0

restantescombinaciones Libre (16K) M1(8Kx8) M2(8Kx8) M3 (8Kx8) M4(4Kx8) Libre (20K)

CS
Csn

4Kx 4
3210 3)2)1)

7-0

CS 1 01 11 1

CS2 11 01 11

CS3 11 10 11

CS4 1 1 1101

El circuito de decodificacin realizado con puertas se muestra a continuacin :


A15 CS1

A14 . CS2

A13

CS3 CS4 A12

b) Las direcciones de memoria ledas para las direcciones propuestas en el bus exterior de lneas A15-0 son: A15-0 = $4567 M1ha sido seleccionada a12-0= $0567 A15-0 = $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 A15-0 = $A123 . d) Para tener un bus de datos de 4 bits por palabra, una solucin es conectar al bus de datos slo 4 de los 8 bits que tenamos antes . El mapa anterior es vlido pero se desaprovecha la mitad de cada una de las memorias. Otra opcin es utilizar slo memorias RAM de 4Kx4 . As, para sustituir las memorias M1,M2YM3 anteriores que eran de 8K, hacemos una asociacin de dos RAM de 4K para cada una de ellas Mi (con i=1, 2, 3) como se indica a continuacin :
A12 A15 A14 A13 A12 A15i Al4i A131 0 M2a CSi Al5i A141 Alai 1 M2b CSib

7
CSia CS Mia

4Kx4
A12-0 3

CS
Mib

4Kx4
288 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 17.-Disee una memoria tipo LFO de 8 bits de anchura y un fondo de 6 en los siguientes casos: a) Con registros de carga en paralelo . b) Con registros de desplazamiento. Solucin P17.
a) Dado que la memoria LFO tiene 8 bits de anchura y un fondo de 6, el sistema debe disponer de 6 registros con carga en paralelo de 8 bits cada uno de ellos . La conexin que se lleva a cabo entre los distintos subsistemas es la siguiente : 8 PUSH 8 > OUT[81

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0210000 06d6e74725247422058595a2007ce00020009000600310000616373704d534654000000004945432073524742000000 0000000000000000000000f6d6000100000000d32d48502020000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000001163707274000001500000003364657363000001840000 006c77747074000001f000000014626b707400000204000000147258595a00000218000000146758595a0000022c0000 00146258595a0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c000 0008676696577000003d4000000246c756d69000003f8000000146d6561730000040c000000247465636800000430000 0000c725452430000043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436 f70797269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e79000064657363000 0000000000012735247422049454336313936362d322e31000000000000000000000012735247422049454336313936 362d322e31000000000000000000000000000000000000000000000000000000

PUSH PULLLOAD Rx OUT

0 0 0 Rx- Rx H 0 1 1 RxE-Rx+,R6- 0 [R1] 1 0 1 RxE-Rx-1,R6<--1 H

'
PUSH PULL 0 0 1

ppw
1

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 LFO es la palabra formada por los bits situados en uno de los extremos de cada uno de los registros . OUT[8]

PUSH PULL 0 1 0

LR 00 01 Rx

Rx

F--SHR(Rx,O)

OUT H [R0 Ro . . . Rp] H

10 Rx F-SHL(Rx>x)

(desplazamiento a derecha) (desplazamiento a izquierda)

Captulo 11 NTRODUCCN A LOS SSTEMAS DGTALES

El incremento en la complejidad de los circuitos digitales, provoca que las tcnicas de descripcin y diseo estudiadas hasta aqu (mquinas de estados finitos, K-mapa, . . .) sean poco tiles . Esto viene motivado, fundamentalmente, por el elevado nmero de estados y seales que poseera un circuito de estas caractersticas . Por tanto hay que introducir herramientas alternativas que permitan el manejo de estos "circuitos complejos" a los que nos referiremos en adelante como sistemas digitales . SSTEMAS DGTALES A NVEL RT

Un sistema digital se compone fundamentalmente de dos partes: unidad de proceso, donde se realizan operaciones sobre datos de entrada, y unidad de control, capaz de recibir informacin sobre la operacin a realizar y generar la secuencia de instrucciones que se deben acometer sobre la unidad de proceso. En esta obra se tratarn sistemas digitales sncronos donde una sola seal acta de reloj de ambas unidades . Unidad de control x Unidad de proceso Dout )1 Zout x : cualificadores o entradas de control z: comandos D:datos

En la siguiente tabla aparece un estudio comparativo entre sistemas digitales (SD) y circuitos digitales (CD). La diferencia esencial entre ellos es la unidad de informacin : la palabra (o conjunto de bits) para los SD, y el bit para los CD . De aqu que el funcionamiento de los SD sea descrito mediante la transferencia de las palabras o datos a travs de los elementos que los almacenan (registros) . Para ello se utiliza el nivel de descripcin llamado "nivel RT" (Register Transfer).
292 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Circuitos Sistemas nformacin 0,1 palabras Nivel/Lenguaje de conmutacin RT Funcionalidad FSM operaciones Componentes puertas y biest. MUX, registros, . . . Conexin lneas buses combinacional y procesado de datos Organizacin almacenamiento y control El nivel RT trata a todos los dispositivos capaces de almacenar informacin como regis tros. As, unbiestablese considera como un registro de un bit ; uncontadores un registro con capacidad de incrementar o decrementar su dato; unamemoriaes un banco de registros cada uno identificado por un nombre lgico (direccin); y, propiamente, los registros se incluyen dentro de este concepto. Con el lenguaje RT podemos describir el contenido de un registro o las operaciones que se realizan sobre l. Estas ltimas pueden ser de tres categoras : -Escritura: cambio de dato almacenado en el registro (R). Es una operacin secuencia) y se realiza cuando el reloj est activo . Su formato es: R F- nuevo dato -Lectura: salida del dato almacenado. Es una operacin combinacional. Su formato es: Dout = dato presente -Control: establece cmo opera el registro (esto es, bajo qu valores lgicos de las seales de operacin "s" se escribe y se lee) . Su formato es : f(s) : operacin (f es combinacional) Las transferencias de datos entre los registros se realizan mediante lneas que los inter-conectan. Este conjunto de lneas se denominabus.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. DSEO DE SSTEMAS DGTALES 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

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. DESCRPCN FUNCONAL DE SSTEMAS DGTALES La descripcin funcional de los S) 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 S) . La caja de decisin, en cambio, incluye las variables de entrada al S) .

Acciones Acciones Caja de estados Caja de decisin Acciones (Acciones Caja de accinclones 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 condicin1 accin 1/ . .. J condicin2 accin 2/ . .. K

ndice del Captulo Este Captulo desarrolla problemas de las siguientes materias : -El nivel RT. -nterconexin mediante buses . -Tcnicas formales de descripcin (cartas ASM y lenguaje HDL) . -Diseo de sistemas digitales (con unidades de datos simples o propuestas ).
294 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES PROBLEMAS RESUELTOS

Problema 1.-Compare las siguientes declaraciones RT .: a)A+B: ESC+D d)A8: E<-- CAD b) A+ B: E<-- CvD e) AB: E<-- CD c)C+D: E4-A+B f)A B: EF--CxD
Solucin Pl.-El convenio para declaraciones RT establece la forma general : f (X,X2, . . .):RD E- G(RF, 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 f 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 F- C + D con "+" como suma aritmtica. b) E;4-OR(C;, Di) Vi c) E 4-A + B con "+" como suma aritmtica. d) E;4-AND(C;, Di) Vi e, f) E; 4-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 casosf y e, ya que el producto aritmtico de dos nmeros de n bits, da como resultado un nmero de 2n bits .

Problema 2.- En la unidad de datos de la figura se activan las seales de acuerdo con lasiguiente secuencia de control:
ciclo EN dldo SSo 0 1 100 1 11 11 0 000 1 001 10 1 0 000 0101 1
NTRODUCCN A LOS SSTEMAS DGTALES 295

Describa qu operaciones se hacen (a nivel RT) as como la operacin global en los seis ciclos de reloj.

S i-1 0 1 2 3

So 0 nxMUX4:1

n f
n 1-n1n1 n1n1 A1 w Aw B w Cw D n/ n/ nn/

0 d1 1
DEC 1 .4 2 do-0 2 3 1 EN

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 d1d0 = 11 el registro seleccionado es D. Por otra parte SSO= 00 lo que implica que el dato que se encuentra en elbus de entrada es[A] .As la ope-racin realizada en este ciclo de reloj es D4-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 edo= 00 luego el registro seleccionado como destino es el registro A. Como SSO = 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 4-B. Ciclo 4. Para este ciclo encontramos activas la seal EN y dado = 01 (se selecciona como destino el registro B), mientras que SSO = 10 y por tanto el dato en el bus ser [C], la micro-operacin entonces es B 4-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 activay con d1do = 10 se activa escritura de C. Como SSO = 11 el dato en el bus es [D] y la microoperacin realizadaes C E- D. En resumen, la secuencia de microoperaciones es : 1.D4-A 2. NOP

296 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

3. A - B 4.B-C 5. NOP 6.C<--D Globalmente, por tanto, la operacin realizada es : D F- A y A B E- C Problema 3.-Sobre un registro A deben realizarse las tres operaciones siguientes, siendo B el

contenido de n bits de un bus de datos : TNOR: A -A + B TNAND: A F-AB TEQ: A<-A


O+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 j : TNOR: Aj
+ Bi A

TNAND: Aj<--ABi
i

TEQ: Aj-AJO+ Bj Entonces en funcin de los valores de TNOR, TNAND, TEQ y Bj y del valor actual de Aj,podemos escribir el mapa de Karnaugh para el valor prximo de Aj(tabla de estados de la etapa j) : TNOR TNAND TEQAj Bj 000 001 011 010 110 111 101 100 (Aj = qj) 0001-1-1 0100-1 ---0 111 1-0 ---0 1010-1 ---0 Qj= Aj* Bj (* = NOR, NAND, EQ) A continuacin pasamos a la tabla de excitacin donde consideraremos que la transferencia de estado es llevada a cabo por biestables JK . Aj i TNOR TNAND TEQ000 001 011 010 110 111 101 100 (Aj = %) 0001---1-----1 0-0---1--0-

-0-0 -1 -1 -0-1 -0 -1 JjKj

de donde deducimos las ecuaciones de excitacin : J - = TNAND + TEQ B .+ TNORB. j j Kj= TNOR + TNANDBj+ TEQ Bj Por tanto, el circuito correspondiente a la etapa j es : TNAND TEQ Bj q TNOR

Problema 4.-Sedefinen las siguientes operaciones de desplazamiento a la derecha: -LSR (Logic Shift Right): Se trata del llamado desplazamiento lgico, en el que el bit de entrada serie es 0. -ASR (Arithmetic Shift Right): Se trata del llamado desplazamiento aritmtico, en el que el bit de entrada serie es el bit de signo . -ROR (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 RT para un registro de n bits, representando el circuito correspondiente. b) Realice los tres circuitos anteriores para el caso n = 8 utilizando el registro 74198 . c) Realice un circuito basado en 74198 que permita realizar las siguientes funciones

AjA0 Operacin 00 LSR 01 ASR 1-ROR

18

X7-o

MR S So Operacin sr 0--Puesta a 0 asncrona 100 nhibicin


101

c MR 74198 S [81 S

Desplazamiento izqda. 110

Desplazamiento dcha. 111 Carga en paralelo Ck


07-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,-i)ROR: SHR(B, B0)


298 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Los circuitos que corresponden a cada una de ellas son : 0

n-1 B B
B

LSR

ASR ROR

b) En los tres casos ser necesario utilizar el circuito 74198 en modo de desplazamiento a la derecha, para ello se fijarn las entradas MR, S 1y Soa 1, 1 y 0 respectivamente. La entrada Dsrdeber ser conectada a 0, Bi-1 Bp 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, Bn-1)

NC NC

sr 7-0 C MR 1 S1 B 74198 S

Ck 07 (-B7) 07-0 NC NC ROR: SHR(B, B0) sr 7-0 MR

1 Ck

S1 B 74198 S 00(= B0)

c) Ya que la nica diferencia para los tres casos (apartado b) radica en la entrada Dsr, bastar multiplexar a dicha entrada la seal correspondiente : A1A0 Dsr 000 r 01 07 1-00

Alternativamente, podemos obtenerDSrcomo funcin de A1, A0, 07y 00 0700 A1 00 01 11 10 0 10 0

DSr = A100 +1 Ao 07

Problema 5.-Sedispone de cuatro registros con datos (Ro, R 1, R2y R3)yuna ALU, todos de n bits. Se desea disear un sistema que permita a cualquiera de los registros ser datos-ope-randos y/o destino del resultado. El registro fuente del dato A es seleccionado por dos bits, A1 y Ao;el de B, por 81y BO;y el de destino, por D1y Do.Muestre la estructura del sistema e indique cmo se realiza una operacin en los siguientes casos : 1) Un esquema de conexin basado en multiplexado, usando registros con terminales de entrada y salida separados. 2) Un esquema de conexin basado en buses triestado, usando registros con termina-les de entrada y salida separados. 3) Usando registros con terminales de datos bidireccionales . Aada en cada caso los dispositivos que se necesiten . ndique, 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 : N w=1 :REG4-N w = 0 :REG E- REG OUT = [REG] OUT Los datos A y B se obtienen multiplexando los datos de los cuatro registros RO, R1, k2 y R3 .El destino se obtiene decodificandoD1DO,lo que permite activar la escritura w de slo uno de los registros. 300 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Entonces, la unidad de datos es:

EW n/ 3 D-1 DEC2 Do-0 2:4 1 y 0R0 R2R


n/ n

Al-

0 1 2 3 B-10 1 2 3 A0-0

n xMUX

4:1 B0-0

n xMUX

4:1

ALU SEL OP

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 A1, A0, B1, B0, D 1 y D0para 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 Ri cuando se desee . 2) Solucin basada en buses triestado. Los registros que utilizamos en este caso son : N w= 0 :REG-REG w=1:REG-N

r = O :OUT=H r = 1 :OUT = [REG] Se permite r = w = 1


NTRODUCCN A LOS SSTEMAS DGTALES 301

Entonces la unidad de procesado : nn w rW )

wo ro EW

Ro

R1

w2 r2

w r33

R3

3 > w3 Di-DEC2 > w2 Do-0 2:4 1


RT 0 > wo r3 Al /13 12 r2 DEC A0/130-0 2:4 ALU SEL OP 0 ro 1 rl

>w1

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.

Cada operacin requiere dos ciclos (dos microoperaciones) : 1.RT4-RA 2.RD 4-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;/Bi= Bien el ciclo 1 A;/Bi= A; en el ciclo 2. 3) Solucin basada en registros con UO. Utilizamos registros con terminales bidireccionales (/O), por lo que la conexin es a travs de un bus triestado. 302 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

rw REG E-DAT 0 0 REG H 01 DAT entradas 10 REG [REG] 11 prohibida prohibida DAT 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) : wo ro Ro w r, R, w r22 R2 Wr33 R3

n TA TB

ALU SEL OP

CB La salida de la ALU debe poseer buffer triestado con el fin de que no haya problemas de cableado con el bus triestado cuando RA o RB 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.TB <--RB 3.RDE-TA*TB
Es obligatorio incluir EW, que slo se activara en la microoperacin 3 . En lo dems, la generacin de w es como en los casos anteriores .

buses triestado. Solucin 2)

r w p RO n
WB TB

w-wr~' R, n

Wr2 2

R2

-w -r33

R3

n B ALU SEL OP

El registro TD debe tener salidas triestado para su conexin al bus . Una operacin requiere tres microoperaciones : 1. TB F- RB 2.TD <--RA*TB
3. RD-TD

La generacin de las seales de lectura rj y de escritura wj son como en el caso anterior, siendo obligatorio incluir EW (a activar en microoperacin 3) . Problema 6.-Obtenga la carta ASM para un biestable JK. Solucin P6.-Este es el caso ms sencillo de realizacin de cartas ASM . Se trata de describir un biestable como un sistema con dos salidas (acciones en la carta) y dos entradas .

JK 00 01 10 11

Q q0 1 q Ck

304 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES 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 (2 bloque ASM) . Esta nueva situacin se manten-dr hasta que la entrada K se active . Problema 7.-Construya la carta ASM del circuito secuencial dado en las siguientes tablas . Asimismo describa ambas mquinas usando el lenguaje HDL .
a)
q1 q0,, 0

1 00

b)
q1

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


Q]Q0, z

X1 X0 00 00 0 1 1 1 1 0

z1 z2 z3

01 10 01

11 10 01

10 00 00

11,0 01,1

00

01 1 0

01 11

01 01

01 10 011

QlQo
Solucin P7. a) Cada estado de la tabla dar lugar a una caja de estado en la carta ASM ; las seales de entrada al circuito (en este caso slo hay una : X) darn lugar a posibles cajas condicionales; las salidas tipo Moore sern seales a activar en las cajas de estado, mientras que las salidas tipo Mealy se activarn en cajas de accin condicional .

Descripcin HDL: 0x 0 xz 1 x3 xz 1 2 x2 x0 3 x -j2 x3


b) Es una mquina de Moore, por tanto todas las salidas se activarn en cajas de estado .

00 Descripcin HDL: 1 0

x0

Z1 Z3

0 2

x0 1
XO

XO

Z1 Z3 Z Z2 Z1Z2

0 1

xO_ x0x1 xOx1


t

Z2Z3

Z2Z3 Z2Z3
-

1
1

Problema 8.-La figura muestra una carta ASM de un sistema as como la unidad de datos cor-respondiente. En dicha carta, x e y son entradas que pueden tener cualquier valor binario, per-maneciendo constantes desde que Xs se hace 1. Especifique todos los errores de esta carta comentndolos brevemente .
Ra Rb Rc

Wa~A B ~C Za Zb~ Z~

i t r 306 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

B 4- C 1

A 4- B C4-0 A4-C

Cf-A s no

v ( B-AD A~B

V Solucin P8.-Hay cuatro errores en la carta ASM. Estos se muestran en la siguiente figura en tramos ms gruesos. Error(1): El camino "0" nunca se toma, ya que si x y = 1,x + yno puede valer 0. Error(2) :Se trata de un bucle infinito. La estructura de estebucle es, en general, correcta aunque en este caso es errnea . Esto es debido a que segn el enunciado del problema, los valores de x e y permanecen consantes desde que Xsse 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 elmismo ciclo; esto es un error ya que A tiene /O bidireccional . error (2) 0 C - B error (3) 1 1 error (1) A-B C<-0 A C

C <- A si no

error (4)

B <-A A<-B

Problema 9.-Se desea construir un sistema digital que realice todas las operaciones posibles de suma y resta entre dos nmeros que se encuentran inicialmente en los registros A y B, y que almacene el resultado en cualquiera de ellos. (No hay que obtener la unidad de control, slo la unidad de proceso y el conjunto de microoperaciones que realiza) .
Solucin P9.-Supongamos que el sistema inicia su operacin cuando se activa la entrada X g, y, para avisar de la finalizacin, activa la salida FN . 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, XS,y el cdigo de la ope-racin a realizar (a travs de R) y activa la seal de FN 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 . 308 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

FN -> U. PROCESADO CONTROL Z A RB

usuario sistema 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 : AE-A+B BE-A+B AE-A-B BE-A-B AE--A+B BE--A+B AE--A-B BE--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.

DB: Bus de datos T RA A : WA

ab RB [AC] B : WB -0- RAC

AQ f-WAC

ZAC UNDAD DE PROCESADO t (delcontrolador) RA WA RB WBWT s r RAC WAC ZAC 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) N Registro T

DD ~j X

Rx

E- Wx T `_ WT

OUT RxWxX-DD= 00XH T<--OUT= 1 0X [X] 1 N [T] 1 1 Prohibida

WT 0 1 DD Entrada 0 T [T]

Registro AC (ACumulador) OUT1 N 10 0 0 [AC H


ZAC RAC WAC AC-OUT] = OUT2= 00 0AC [AC H 0 1 0 AC [AC] [AC WAC

RAC

00 1N [AC] H
ZAC

Otras Prohibidas N, N2 s r OUT = 0 0 (No importa) 0 1 N,-N2 1 0 N, + N2 1 1 Prohibida OUT

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

310 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES operando. Ntese, adems, que el dato que se transfiere al acumulador es la suma o resta del contenido del registro T con el contenido del propio acumulador . Por tanto, en primer lugar, se transfiere el contenido del registro A hacia el registro T y, simultneamente, ponemos a 0 el acumulador. 1.T-A,AC-O En el segundo ciclo de reloj, podemos transferir al acumulador el contenido de T ([T = A), e incluso traernos el segundo operando al registro T . 2. T<-B,ACE--AC+T Sumamos a continuacin los dos operandos : 3.AC-AC+T En el ciclo de reloj siguiente, podemos ordenar el almacenamiento del resultado en el registro A. 4.A<--AC Si este proceso se repite para las macrooperaciones restantes obtenemos la siguiente tabla: .tOP A<-A+B B-A+B A-A-B B<-A-B 1 AC<-0, T<--A 2 T<--B, AC-AC+T 3 AC-AC+T AC<-AC-T 4 A<--AC B<-AC A-AC B-AC tOP A-(-A)+B B<--(-A)+B A-(-A)-B B<-(-A)-B 1 AC-O, T<--A 2 TAB, AC-AC-T 3 AC-AC+T AC-AC-T 4 A<-AC B<-AC A-AC B-AC De forma equivalente obtenemos la tabla que representa las seales de control a activar por la unidad de control: OP A<-A+B B<--A+B A-A-B B-A-B 1 ZAC,WT,RA 2 WT, RB,WAC,s 3 WAC, s WAC, r
.tOP A-(-A)+B B4-(-A)+B A-(-A)-B BE-(-A)-B 1 ZAC,WT,RA 2 WT, RB,WAC, r

4 WA,RAC WB,RAC WA,RAC WB,RAC

3 WAC, s WAC, r WA,RAC WB,RAC WA,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.

Problema 10.-Considere un sistema con tres registros (A, B, C) de ocho bits . Ha de tener lugar la siguiente secuencia de operaciones en el orden que se describen : Cuando se activa una seal de comienzo (X5) los datos de entrada se cargan en A. El complemento de los datos de A se cargan en C. Finalmente, los datos de C se almacenan en B. Con los datos de A y B se hace la operacin OR y el resultado se almacena en C . 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) Haga la carta ASM de las seales a activar por el control. d) Habra que hacer algn cambio para imponer que las lneas de salida estuviesen en alta impedancia cuando no mostraran el dato? En su caso, cules son? Solucin P10. a) La secuencia de operaciones descritas a nivel RT es la siguiente:
0.Xs 0 Xs (1) 1 . A E-DN (2)

2. C E-tk (3) 3 . B E- C (4) 4. CE-A+B(5) 5 . OUT = [C] (0) Los estados que aparecen entre parntesis podran suprimirse en notacin RT. b) Para disear la unidad de datos debemos tener en cuenta que el registro A debe recibir su entrada de DN, el registro B debe recibir el contenido de C, el registro C debe recibir f1 y A+B. En la siguiente figura se muestra cmo hay que conectar los registros entre s. Tambin se describen los registros a nivel RT. Los registros A, B y C son como el descrito a continuacin :

312 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

DN WA W

AB 88 8 WK xORK 8x NV 8 z 01 SEL 8xMUX 2:1 WK K <--z=

0 K [K] 1x[K] C

RC 8 x BUF tri-estados OUT

e) La carta ASM del controlador es inmediata . Basndonos en las soluciones obtenidas para los apartados a) y b) obtenemos :
So 0

WA S
1

WC S2 WB
1

SEL, WC S4
1

RC S5
1

d) En nuestro caso ya hemos hecho que OUT = H cuando no estemos en la microope-racin 5 mediante los 8 buffers triestado que slo estn activados en S 5 .
PROBLEMAS CON SOLUCN RESUMDA

Problema 11.-Describa a nivel RT un contador ascendente mdulo 64 con puesta a cero, carga en paralelo e inhibicin.
Solucin P11.-El contador ha de ser de 6 bits, una posible descripcin a nivel RT sera la si guiente: DN5-0 S SO Cy S So 1 Ck 00 01 10 11 [C][C] [C] [C] Z5_0 = C EC C+1 DN 0 Cy 859493929190

Problema 12.- Un registro A con n etapas individuales se acopla a un bus cuyas lneas llevan los bits B. Los componentes del registro A son biestablesSR. Dibuje el diagrama lgico de un circuito asociado a una etapa del registro que nos permita ordenar la transferencia A ; E- A;B; . Reptalo paraA;<--A;+B ,A;F-ABBB, A;<--A;+OB, .
Solucin P12. Suponiendo T=0: A - A T = 1: A - A * B (* = AND, OR, XOR, XNOR), se obtiene: B;

0 AND

A; A; R Ck Ck XOR XNOR
314 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 13.-Un registro universal de 8 bits (RU8) tiene la siguiente descripcin: -Entradas de datos: 8 en paralelo (X7-o)y dos en serie (XRy XL), una para desplazamiento a derecha (XR)y otra a izquierda (XL). -Salidas de datos: 8 en paralelo (Z7-0). -Entradas de control: la del reloj (Ck) y dos para las distintas operaciones (S 1So, con 00 para inhibicin, 01 para desplazamiento a la derecha, 10 para desplazamiento a izquierda y 11 para carga en paralelo). Descrbalo a nivel RT. Especifique un registro equivalente cuyo control se efecte con slo una entrada activa por cada operacin de cambio de datos . Diselo utilizando un RU8. El registro RU8 tiene la siguiente descripcin RT ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c450001 0100000c484c696e6f021000006d6e74725247422058595a2007ce00020009000600310 000616373704d534654000000004945432073524742000000000000000000000000000 0f6d6000100000000d32d4850202000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000011637072740000015 00000003364657363000001840000006c77747074000001f000000014626b7074000002 04000000147258595a00000218000000146758595a0000022c000000146258595a0000 024000000014646d6e640000025400000070646d6464000002c4000000887675656400 00034c0000008676696577000003d4000000246c756d69000003f8000000146d6561730 000040c0000002474656368000004300000000c725452430000043c0000080c67545243 0000043c0000080c625452430000043c0000080c7465787400000000436f70797269676 874202863292031393938204865776c6574742d5061636b61726420436f6d70616e7900 00646573630000000000000012735247422049454336313936362d322e310000000000 00000000000012735247422049454336313936362d322e310000000000000000000000 00000000000000000000000000000000

s iso Z7-o= RU8So Ck


0 0 [RU8] RU8 0 1 [RU8] SHR (RU8,XR) 10 [RU8] SHL (RU8,XL) 11 [RU8]
X7-o

Solucin P13.-El registro equivalente, RE[8], tendr 3 seales de control, W para la carga en paralelo, SR para desplazamiento a la derecha y SL para desplazamiento a la izquierda. Su des-cripcin y su diseo a partir del RU[8] se muestran a continuacin: DN7_o L W SR SL ZRE _ RE<r 000 [RE] RE 001 [RE] SHL (RE,L)

010 [RE] SHR (RE,R) 100 [RE] DNA-o Otras Prohibidas

1-

RU8[8]

RE = Registro Equivalente

Problema 14.-Se dispone de un registro con terminales de entrada y salida separados que posee una nica seal de control para escritura, W. Se pretende incorporar este registro a un sistema ya dado a travs de un bus 3-estados bidireccional . Describa cmo se implementa la incorporacin.
Solucin P14.-Veamos dos posibles soluciones: -A: Solucin con desconexin mnima. -B: Solucin con desconexin total.

a incluir

Sol. A DB W

o-

H
SSTEMA F R a incluir SSTEMA Sol. B

Problema 15.- En un sistema digital se desean implementar las siguientes microoperaciones condicionales: W.M F- MBR (Eldato deMBRse escribe en memoria).

R: MBR- M (Se lee de memoria un dato y se escribe enMBR). E: MBR-EXR(Se carga enMBRel dato de un registro externoEXR).

La memoriaMesRAMde 2k 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 (R/W); cuando no se lee de la memoria, sus salidas muestran un 0 lgico. El registroMBRes de n bits, con entradas y salidas separadas, seal de carga en paralelo (L) y salidas incondiciona-les. El registro EXR, de n bits, tiene salidas incondicionales . Describa a nivel RTlos dispositivos con memoria y construya la unidad de datos del sis-tema. Las seales W,Ry 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.
316 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Memoria: E DN EN R/W DOUT = M-R R/W M k 2kxn EXR[n] 0 -0 M <- M 1 0 0 M($A) F- DN A DOUT 1 1 [M($A)] M E- M

MBR: SEL 1 n x MUX 2:1 L Salidas = MBRn 0 [MBR MBR 1 [MBR Entradas MBR[ ] EXR: Salidas = [EXR
1

Problema 16.-Determine la carta ASM para un contador ascendente que dispone de una entrada de control G que, cuando est activa, provoca que ste funcione como un contador Gray, y si est inactiva, como un contador binario . Describir como carta de Moore y como carta de Mealy.
Solucin P16.-En una realizacin como mquina de Moore, no hay cajas de accin 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 corresponde a la de un contador binario para G=O, y a la de un contador Gray para G=1 . zo

zl zo

z2

0
z2 zo

z2 zi

z2z 1zo

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 :

318 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 17.- Construya la carta ASM correspondiente al circuito de la figura. Describa su funcin en lenguaje HDL .

Ck

Solucin P17.- Los estados son: So (g1g2 = 00), S (g1g0 = 01), S2 (g1g2 = 10), S3 (glg2 = 11). Tras analizar el circuito y obtener su tabla de estados se obtiene la siguiente carta ASM:

Descripcin HDL: 0.x 1.x 2.x 3.x 0 xz2 Z0 xZ 1 xz z3 xz 1

Problema 18.- Desarrolle una carta ASM y una tabla de transicin para un generador de formas de onda controlable que dependiendo de dos entradas X, y X2 generar las cuatro formas de onda que se muestran en la figura . El periodo de las dos primeras formas de onda es cuatro ciclos de reloj, el de la tercera es de dos ciclos de reloj y el de la cuarta es de tres ciclos. XX2 0 0

01

10
320 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P18. z

X1X2 9190 00 01 11 10 S 1 00 01,1 01,1 01,1 01,1


S2 01 10,1 10,1 00,0 10,1

S3 10 11,0 11,1 11,1 00,0 S4 11 00,0 00,0 00,0 00,0


z

Q1Q0,

Problema 19.-Se desea realizar la siguiente microoperacin : K T0 A E- Bo T1 A E- 81 T2 A E-82 T3 A E-83

NOR (T0+T1+T3+T4) NOP donde K identifica esta microoperacin, To-T3son 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, Ti T a) Represente el bloque ASM correspondiente. b) Muestre una implementacin del circuito que realiza esta instruccin en los dos casos siguientes: 1 Los registros Bitienen salida estndar en paralelo. 2 Los registros Bitienen salida triestado (alta impedancia) en paralelo .
Solucin P19. a) En el bloque k se evalan los valores de T0, T1, T2, T3 y se realizan las transferencias necesarias. Posteriormente se pasa al bloque k+1 .

=0 V i, j).

b. 1) Las salidas de cada uno de los registros Bi se conectan a las entradas de A mediante multiplexores. Un codificador se encarga de seleccionar el registro B; correspondiente al Tiac tivo. Bo[8] B1[8]
8

B2[81
8

B3[8]

T T1 T2

0 1 COD 1 4:2 3

al

-~] f7,
23

1 8 x MUX 4:1

T3

A[8] b.2) En este caso la conexin se puede realizar mediante un nico bus . To-Bo[81 B1[81 T2-B2[81 B3[81

A[81

Problema 20.-Disee el sistema digital que permita realizar de la operacin A <-- 4*(A+B) . (No disee la unidad de control). 322 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P20.-En este caso, el sistema digital slo tiene una macrooperacin que realizar . Para ello se puede plantear una arquitectura similar a la del problema 9 :

DB: Bus de datos

T WT RA A WA b a RB f WB AC f WAC

[AC] B

SHL

ZAC

UNDAD DE PROCESADO

Slo se ha aadido una seal al registro AC (SHL) que simplifica el proceso del clculo de la multiplicacin por cuatro . Dos desplazamientos hacia la izquierda generan este producto de forma rpida. La descripcin de los registros de esta unidad de proceso es idntica a la realizada en el problema 9 salvo por el registro acumulador, que ahora tiene una nueva seal de control . Por tanto, obviamos la descripcin de los dems registros y slo presentamos la del acumulador .
RAC WAC SHL ZAC ACE-OUT, OUT2

0 0 AC [AC H 0 0 0 [AC H 0 0 1 SHL [AC H 1 0 N [AC H 1 0 0 AC [AC [AC]

La secuencia de microoperaciones, se muestra a continuacin : 1. TE-A,ACE-0; 2.ACE-AC+T,TE-B; 1 AC F- AC + T; 2 SHL ; 3 SHL ; 6.AE-AC. Problema 21.-Un procesador posee los siguientes registros: un contador de programa (PC), un registro de direcciones de memoria (MAR) de 16 bits, un registro de datos de memoria (MDR) de 24 bits y un registro de instrucciones (R) de 8 bits . MAR podr ser cargado con el contenido de PC (cuando se activa una seal LPC) o con los 16 bits menos significativos de MDR (cuando se activa una seal LMDR). Los 8 bits ms significativos de MDR se almace-narn en R (cuando se active una seal TMDR). a) ndique a nivel RT las transferencias hacia MAR y hacia R, 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. ndique cuntos circuitos integrados se necesitan para construir el sistema indicado, mostrando su ubicacin en el diagrama de bloques anterior. c) Disee MAR utilizando el Circuito ntegrado 74198. d) Disee MAR utilizando el C. l. 74298.

S CR 74298 CR[41 0 CR 4- A 1 CR 4- B
Q3-0

Nota: C. L 74198 ver problema 4 de la seccin de problemas resueltos .

Solucin P21. a) Las transferencias hacia MAR y hacia R a nivel RT: LPC: MAR 4- PC LMDR: MAR 4- MDR15-0 TMDR: R 4- MDR23-16 El diagrama de bloques del procesador:

MDR[24] 23-0 23-16 4 R[8] 24 15-0 LPC LMDR


324 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

PC[ 16] J16

1 8

. 15-0

TMDR

MAR[16]

b) 8 circuitos integrados (3 para MDR, 2 para PC, 2 para MAR y 1 para R). c) Diseo de MAR con el C .. 74198 MDR 15-0 PC 15-0

16 x MUX 2:1 8 MSB 16 /8LSB 1 -c MR --cMR ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0210000 06d6e74725247422058595a2007ce00020009000600310000616373704d534654000000004945432073524742000000 0000000000000000000000f6d6000100000000d32d48502020000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000001163707274000001500000003364657363000001840000 006c77747074000001f000000014626b707400000204000000147258595a00000218000000146758595a0000022c0000 00146258595a0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c000 0008676696577000003d4000000246c756d69000003f8000000146d6561730000040c000000247465636800000430000 0000c725452430000043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436 f70797269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e79000064657363000 0000000000012735247422049454336313936362d322e31000000000000000000000012735247422049454336313936 362d322e31000000000000000000000000000000000000000000000000000000

S1S1 74198

S, S LPC LMDR MAR15-8 MAR7-0 d) Diseo de MAR con el C .. 74298. Como el 74298 es de 4 bits, se necesitan 4 C .. para hacer MAR. MDR 15-0 PC 15-0

4 LP C 15-12 y '

/4 S A B74298

/ /4 7-4 SA B 74298

4 4 4

cA

74298 B

/4

Ckint MAR15-12 MAR11-8 MAR7-4 MAR3-0

CkMAR LPC

LMDR -adapta flanco activo

-realiza la NOP por parada del reloj interno Ckit

Captulo 12 DSEO DE UNDADES DE CONTROL

Como ya exponamos en el Captulo anterior, los sistemas digitales se componen de dos partes : unidad de procesado y unidad de control . En ste se aborda fundamentalmente el diseo de esta ltima. En el Captulo anterior se introdujeron las cartas ASM y los lenguajes de descripcin de hardware como herramientas para la descripcin de sistemas digitales y se usaron para la descripcin de unidades de procesado. Las unidades de control tambin son descritas mediante cartas ASM o lenguajes de descripcin de hardware de un modo anlogo . La nica diferencia es que las acciones a realizar consisten, en este caso, en seales a activar por el controlador . En los problemas de este Captulo, cuando se utilicen cartas ASM para describir controladores se mantendr la informacin relativa a la unidad de procesado (transferencias a nivel RT) aadindose la relativa a la unidad de control (seales a activar) . Existen diversas estrategias para la realizacin de unidades de control, desde el diseo como mquinas de estados finitos, hasta estructuras microprogramadas que usan PLA o ROM . En esta obra nos centraremos bsicamente en dos modalidades: -Diseo con mnimo nmero de biestables . -Diseo con un biestable por estado. DSEO DE CONTROLADORES COMO MQUNAS DE ESTADOS FNTOS Esta estrategia se basa en considerar al controlador como una mquina secuencial sncrona y disearla utilizando los mtodos del Captulo 8 . Para ello, es necesario obtener un diagrama de estados a partir de la carta ASM . La equivalencia entre ambas formas de descripcin es la siguiente: por cada caja de estados de la carta ASM se tiene un estado en la mquina ; por cada seal que aparezca en alguna caja de accin condicional se tiene una entrada de la mquina ; las salidas a activar por el controlador son las salidas de la mquina. Las salidas que aparecen en cajas de estado son salidas tipo Moore y las que aparecen en cajas de accin condicional son salidas tipo Mealy. En los problemas 4 y 5 se detalla este mtodo. Si el proceso de sntesis se realiza minimizando el nmero de estados y utilizando una codificacin con el mnimo nmero de variables posible, se obtiene un diseo para el contro
326 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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. DSEO BASADO EN UN BESTABLE POR ESTADO En esta estrategia de diseo se obtiene el circuito mediante una aproximacin formal a la carta ASM. Por cada elemento de la carta se obtiene un elemento de circuito. En concreto, por cada estado se incluye un biestable, de ah la denominacin "un biestable por estado" . Este mtodo se basa en una codificacin de los estados de la carta mediante el cdigo 1-out-of-n (excepto para el estado de espera al que se asigna el cdigo 0). As, la codificacin de estados es:

estado cdigo
gog1q2q3 . . qn

So 0000 . ..0 S 1000. ..0 S2 0100 . . .0 S3 0010 . . .0 S4 0001 . . .0 Sn 0000 . . . 1 Con una codificacin de este tipo la transicin entre estados puede realizarse fcilmente mediante un registro de desplazamiento en el cual se introducen ciertas modificaciones . En la siguiente figura se muestra el esquema bsico de dicho registro. Se ha omitido la seal de reloj que es comn a todos los biestables . Por otra parte, en cada biestable aparece un nmero 'J" indicando que la variable de estado correspondiente es % . Esto se ha hecho por simplicidad y se mantiene en el resto del Captulo .

Xs q --DDDD D 4

En el estado de espera todos los biestables almacenan el valor 0. Cuando se produce un pulso de un ciclo de duracin en Xs, 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 Si y S, con-sistir en hacer pasar el "1" almacenado en el biestable "i" al biestable f'. 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: qq

qD qD i qD k S q i q k

Por ltimo, las salidas de la unidad de control son seales que se activan bien en uno o ms estados (salidas tipo Moore; por ejemplo, una salida WACque se activase en los estados S2y S5),bien cuando ocurre cierta condicin de entrada en un estado (salida tipo Mealy ; por ejemplo, que WAC se activase para X3= 0 en S3). Como estas seales suelen estar accesibles en el registro de desplazamiento modificado (en el ejemplo seran q2, q5 y la salida del canal 0 del demultiplexor de q3: q30), para obtener la salida deseada WAC bastara sumar (OR) esas seales:WAC= q2 + q5 + q30. Aunque esta tcnica de diseo no optimiza el coste en puertas y proporciona 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. PROBLEMAS RESUELTOS Problema 1.-Para la unidad de datos de la figura, disee un controlador que permita escribir en B el nmero de "1 "que hay en A. El contador C, es de tres bits (mod. 8) y el C2 de 8 bits (mod. 256). Qu cambio hay que introducir para escribir en 8 el nmero de "0" de A? Nota: Z; = Puesta a 0 sncrona, 1= ncrementar, CY; = CARRY.
328 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

A[8]

-WA

B[81

-WB

-RA -RB A 8

3 RD CY1 CY2 WD REG. DESP. C1 C2 SHR OR R1 W1 11 Z1 R2 W2


12 Z2 1

Solucin Pl.-La macrooperacin a realizar es: B- n-de 1 en A. En primer lugar describiremos a nivel RT los registros de la unidad de datos. -Registros A y B : WxRx BUS7_0= xE00 Hx 01 BUS7-0 -Registros C 1 y C2: Wi Ri i Zi 1000 0100 0010 0001 0000 -Registro de desplazamiento D : 1 si [Ci ] _ = 1 . . .11 WiRi iZi CYi= BUSn-1,0 = Cientrada [Ci] H H H BUSn-1,0 Ci Ci + 1 0 Ci

[x]x

10 entrada BUS7-0 11 prohibida prohibida

Yi

W RD D[8] SHR WDRDSHR BUS7-0 = D <100 entrada BUS7-0 010 [D] D 001 H SHR(D,iR)

7_

. C2[81 (mdulo 256) realizar esta cuenta . La idea que sustenta la solucin es : a) Transferimos A a D, preguntando por OR sabremos si el bit ms a la derecha es 1 o no . b) Si OR es 1 incrementamos C2. 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 C1 que es mdulo 8. La carta ASM (incluyendo simultneamente RT y control) es : El nmero de "1" en A puede variar entre 0 y 8 . Para contarlos necesitamos 4 o ms bits

NOP

0
S1 : nicializacin. Tras el primer ci-Dclo, C1y C2estn a 0 y D tiene escrito WD, RA, Z1, Z2 el dato A

A,C1-O,C2<_0

. S2: Es el ncleo de la solucin. -Siempre se ordena el C+ desplazamien-D f-SHR(D,0), C1S2 to de D y el incremento de C1,ya que siempre vamos a evaluar un nuevo bit . -La primera vez que se alcanza S2, se cumple: OR= A0, [C1] =0 Segn el resultado de la evaluacin de OR, se incrementa o no C 2 -La segunda vez que se alcanza S2, se cumple: OR= A1, [C1] = 1 . As sucesivamente; la octava vez: OR= A7, [C 1 ] = 7 por lo que CY1=1

SHR, 1

0 1 saliendo hacia S3 . CY
B-C2 S3 : Se escribe el nmero de 1's en B. WB, R2 (Al

alcanzar S3, [D]=0 y [C1]=0 pues el contador C1 ha pasado de 7 a 0) .

NOP FN
330 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES El controlador se obtiene directamente de la carta ASM

1 CY1 0

yWD, RA, Z1 , Z2

FN SHR, 11 1 OR WB, R2

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 ORy el demultiplexor correspondientes a S2.

Problema 2.-La figura muestra la memoria (MEM) de un sistema: el registro de direcciones (MAR) puede ser cargado con el contador del programa (PC) o con el puntero de pila (SP), el registro de datos (MDR) est conectado a un bus de datos internos (DB), al que tambin se conecta el registro A, y otro externo (EDB) conectado con la memoria. Se quiere incorporar las dos operaciones de pila : EMPUJAR (PUSH) y EXTRAER (PULL) que consisten respectivamente, en llevar A a la pila y en llevar de la pila a A (recuerde que PUSH A implica MEM E-A y SP-SP + 1, mientras que PULL A implica SP f- SP- 1 y A F-MEM(SP) ). Cuando no hay operacin de la pila, el puntero SP apunta a la primera direccin libre. Disee el controlador que permita ejecutar las operaciones de PUSH (/,l o = 00) y PULL (tilo= 01). Nota: los cdigos 1,10 = lX estn reservados para otras operaciones no definidas en el enunciado.
PC PC[ 161 SP[ 16] -SP

DSP 1 1 DB [8]A 8 A[8]RA


WPC-

MAR[ 16] WSPR

1-WA W 1 CS R W MDR[81 R E 1 WE AB[16] MEM EDB[8]

Solucin P2.-Segn el enunciado, la pila se va llenando desde las direcciones ms bajas a las ms altas . Las dos operaciones de pila implican direccionar la memoria MEM con la direccin que indica el puntero de pila, SP. De aqu que, tras apuntar SP a la direccin adecuada, habr que transferir SP hacia MAR. En ambas operaciones la transferencia entre MEM y A debe pa-sar por MDR. Operacin PUSH (11lo= 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 F- SP / MDR <-- A WSP / RA/ W 2.MEME-MDR/SPESP+1 CS/W/RE/SP Operacin PULL (l o = 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 este registro, llevar el dato ledo hacia A . microoperacin seales a activar 1 MAR F- SP WSP 2 MDR E- MEM CS/R/WE 3 A F MDR R/WA 1.SPF-SP-1 DSP

332 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Representemos ahora una posible carta ASM para reunir ambas operaciones teniendo en cuenta que los cdigos 1 1 = 1 x estn reservados para otras operaciones :

MAR E- SP / MDR f- A WSP / RA/ Wl

MEM <- MDR / SP f- SP + CS/W/RE/SP Otras operaciones

SP-SPDSP

MDR-MEM CS/R/WE

A E- MDR R /W

El controlador correspondiente segn la aproximacin de "un biestable por estado" se muestra en la siguiente figura :

(para otras operaciones) qDDD D

X D 1 qD

UU
'y WSP WDSP WRE RA

WECS W FN
A SP

Problema 3.-Un nmero decimal de dos dgitos se almacena en dos registros de cuatro bits en forma BCD. El registro M contiene los dgitos ms significativos ; el L, los menos. Los nmeros se transfieren para que aparezcan en un registro R de ocho bits . Para efectuar la transferencia se dispone de un bus de cuatro bits accesible a M y L, pero slo a las cuatro posiciones de ms a la derecha del registro R. La operacin de transferencia se realiza respondiendo a un conmutador. a) Establezca una arquitectura para el sistema especificando los terminales de control de cada registro. b) Construya la carta ASM. c) Disee el controlador del sistema usando el mnimo de biestables y dibuje el circuito lgico.
Solucin P3.-a) Para que M[4] y L[4] puedan escribir sus datos en el nico bus de 4 bits (BUS) hay dos soluciones: 1. Conexin por multiplexado: Las salidas de M y L son estndares (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.

S: BUS = [L] S: BUS = [M]


334 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

2. Conexin de bus nico (BUSU): Las salidas de M y L tienen H por lo que se nece-sitan seales de lectura. Slo una de ellas puede activarse en cada ciclo.

RM RL R1

1
M[4] L[4]
ZL 1 ZM

.k

RX: Zx = H RX: Zx = [X]

BUSU[41 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 :
WRSL Operacin

R[8] 00 Rf-R WR 10 R3-0 - X3-0, R7-4 E- R7-4 SL 01 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 : RL RM M[4] L[4] Xs CONTROL
WR SL R[8]

Ck donde suponemos que Xs , salida del conmutador, es un pulso de duracin 1 ciclo de reloj. DSEO DE UNDADES 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 So a almacenar en R el dgito BCD ms signifi cativo, que es el almacenado en M. Despus,

NOP

mediante 4 desplazamientos a la izquierda se coloca ese dgito en la mitad ms signifi cativa del registro R.

R3_0 4- M S Por ltimo se escribe el dgito BCD me-RM,WR nos significativo (el almacenado en L) en R . Con esto el registro R[81 contiene el dgi-SL to BCD ms significativo R 4-SHL(R,0) S2 en sus 4 bits de la izquierda y el menos significativo en los 4 bits de la derecha. R 4-SHL(R,0) S3SL
1
R E- SHL(R,O) S4 SL

R F- SHL(R,0)

SL S5

R3_0 4- L S6 RL, WR
1

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.

336 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

RLRMWRSL Ecuaciones de excitacin:

So 0000 T2 = 9190 + q2q1 a


s

T 1 = g0 + 9291 _ 0 1 1 0 Codificacin

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c48 4c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d53465400 00000049454320735247420000000000000000000000000000f6d6000100000000d32d485020200000 000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000001163707274000001500000003364657363000001840000006c77747074000001f00000001 4626b707400000204000000147258595a00000218000000146758595a0000022c000000146258595a 0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c0 000008676696577000003d4000000246c756d69000003f8000000146d6561730000040c00000024746 56368000004300000000c725452430000043c0000080c675452430000043c0000080c6254524300000 43c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574742d5 061636b61726420436f6d70616e7900006465736300000000000000127352474220494543363139363 62d322e31000000000000000000000012735247422049454336313936362d322e3100000000000000 0000000000000000000000000000000000000000T0 = q0 +q2q1+ Xs +9281
g2g1q0 00 0 1 S0:000

S1: 0 0 1

00 0 1

010

Ecuaciones de salida:
S2:

mu
S6 000 1

RL =

9291

S3: 0 1 1N RM =

000 1

S4: 1 0 0

829190-_ S5 : 1 0 1 WR =_g2g1+ g2g190

S6: 1 1 0 SL=q2q1+ q2 q1 so

1010

Problema 4.-Un sistema digital tiene como unidad de datos la representada en la figura . ni-cialmente, al menos uno de los bits de A es un cero. El sistema debe dar como salida el nmero binario de la posicin del "0" menos significativo de la palabra almacenada en el registro A . a) Describa, a nivel RT, los componentes de esta unidad de datos . b) De la carta ASM y disee el controlador (basado en la tcnica de un biestable por estado). c) Si el valor inicial de A es: 10101011, represente en el tiempo (hasta que se ha gene-rado la salida deseada) los siguientes parmetros: BUS, seales de control (RA, S,, So, CLC, UP) y las salidas del sistema digital. Cul es el contenido de RU8 y de CONT tras regresar al estado de espera?
A[81 CONT mod-8 CY SSO operacinUP ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0 21000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049454320735 247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000001163707274000001500000003 364657363000001840000006c77747074000001f000000014626b707400000204000000147258595a000002180 00000146758595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000 002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f8000000146d656 1730000040c0000002474656368000004300000000c725452430000043c0000080c675452430000043c0000080 c625452430000043c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574 742d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313936362d 322e31000000000000000000000012735247422049454336313936362d322e3100000000000000000000000000 0000000000000000000000000000 00 inhibicin 01 carga paralelo R RU8 10 despl. izquierda CLC

02-0 11 despl. derecha

Solucin P4. a) Descripcin de componentes : RA BUS7 0


_ =

A <--

0 HA 1 [A1 A DSEO DE UNDADES DE CONTROL 337

u:
02-0
b) Carta ASM.

SSO

Z7-0 =

RU8 E-00 [RU8] RU8

RU[81

L 01 [RU8] BUS7-0 10 [RU8] SHL(RU8, BUSO) 11 [RU8] SHR(RU8, BUS7)

CLC UP CY = 02-0 = CONTCLC CY CONT mod. 8 UP 00 1 si [CONT CONT 01 [CONT _ [CONT CONT + 1 10 = 111 [CONT 0 11 Prohibida Prohibida

NOP Sa Sa : Estado de espera. 0

Sb: Puesta a cero del contador y transferencia del dato A


al registro universal RU8. El con-trol activar RA,pondr SSO= 01 y activar

CLC. RU8 E- A CONT- 0 SC:Al entrar en S., CONT = 0 y Z0= A0. Si RA, S0,CLC Z0= 0, la posicin del 0 menos significativo de A est dada en CONT (02-0); siZ0= 1, debemos pasar a evaluar A 1 (lo cual hacemos desplazando a la derecha RU8) al mismo tiempo que hacemos que se incremente el contador para que seale la posicin de Al . Esto lo repetimos hasta que por Z0 aparezca el 10 primer cero que necesariamente hay. SF: Seala el final. La posicin deseada est SHR (RU8, BUS escrita en binario en las salidas del CONT CONT-CONT + 1 (02,01,00) 7 S1, S0,UP

FN
1

338 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

El controlador pedido es:

xsL/ LD 0D D
b

zo V

RA SFN CLC UP

c) BUS est en H salvo en el ciclo del estado Sb.Las seales de control RA,Soy CLC se activan en Sby S
1,Soy UP en los ciclos de reloj en que se permanece en Sc.[A] =10101011 siempre.

Sa Sb Se Se SCSFSa Sa Sa

So
CLC

UP BUS7_0 H 10101011 H H ; H H ; H H
[RU8] ? ? 10101011 91010101:99101010:
Ya no varan

[CONT ? ? 000 001 010 12 3

1. En el bit ms significativo de RU8 (esto es, en RU87) se almacena un valor descono-cido, 0 1, debido a que BUS7est en H. (Otra solucin posible es leerA,RA= 1, en la caja de accin condicional del estado S 2, en cuyo caso '7" se sustituye por "1" que es el valor de BUS7 = A7)

1 Como Zo = 0, no se activa ninguna seal y se pasa a SF. 2 Alvolver a So(estado de espera), [RU8] = ??101010 con ? = 0 1 .

[CONT = 010, que es la posicin del cero menos significativo deA (A2).

Problema 5.-Dado el controlador de la figura basado en un biestable por estado : a) Realice la carta ASM correspondiente a dicho controlador. b) Obtenga el controlador equivalente basado en lgica discreta utilizando biestables tipo D y optimizando el coste.

9q

1
X .XZ Nota: Este controlador no tiene seal de comienzo ni estado de espera inicial. Resuelva el apartado (b) sin preocuparse de este hecho. Solucin P5. a) La carta se obtiene directamente del controlador :

340 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

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 S S 2, 1 1 X2 01 S2, 1 11 S2 ,1 10 q S1 X1 X2 q0 0 0 00 01 01, 1 01 ,1 11 01 ,1 10 01,1

S1

S2,1

S2 S3 1 S3,1 S3,0 S3,1 S2 01 11,1 11,1 11,0 11,1 S3 S4,0 S4,1 S4,1 S1,0 S3 11 10,0 10,1 10,1 00,0 S4 S1,0 S1,0 S 1,0 S1,0
NS, z
z Q1Q0, S4 10

00,0 00,0 00,0 00,0

Utilizando biestables D, las ecuaciones de excitacin y salida que resultan son : D1 = Q1 = glgo +Xeqo + X1g0 Do=Q0= q1 z=X1g1 +glg0+X281 +X2glg0
Problema 6.-Un sistema digital debe analizar su lnea de entrada X con objeto de contabilizar el nmero de pulsos de esa seal que tiene de anchura 1, 2 3 ciclos de reloj. El sistema dispone de tres salidas (z 1, z2, z3) con las que se indica cul de los tres tipos de pulsos es ms 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, el sistema generara como salidaz1z2z3= 001). Desde que se le da la orden de comienzo, se debern analizar 256 ciclos de reloj, volvindose despus al estado inicial. Disee dicho sistema, utilizando los subsistemas habituales . Nota 1: Nunca se recibirn pulsos de ms 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 -.Z unidad unidad dede z2 control datos Ck .-z3
La unidad de procesado deber contener los siguientes dispositivos: -Un contador (C256) de mdulo 256 para contar los 256 ciclos .

-Tres contadores (C 1, C2 y C3) 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 : -128 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, C2 de mdulo 128 y C3 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 86 para saber que forzosamente los pulsos ms numerosos son los de 1 ciclo y no necesitamos seguir contndolos . Entonces C1 , C2 y C3 sern de mdulo 128 . El estado 86 en C 1 es el estado 1010110, para detectarlo basta ver que para el contador C 1 se cumple g6g4q2q1 = 1 Todos los contadores tendrn una seal de puesta a 0 asncrona (CL256, CL1 , CL2 y CL3). Adems

C256 ha de tener una salida de acarreo (CY) que se activa (CY = 1) si [C256}= 255. Los contadores C1, C2y C3tienen entrada para contar hacia arriba (UP ,UP2y UP3)mientras queC256se 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 C1y C2, C 1y C3 ,y C2 y C3. (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:

CL CL2-CL3 UP-C1 UP2-C2 UP3-C3 Ck-Ck Ck CL256 7 7 Ck

CY
a a>b a=b a<b a>b a=b a<b a>b a=b a<b

G12 E12 L12 G23 E23 L23 G13 E13 L13 Una carta ASM para el sistema se muestra en la siguiente figura . El estado S 1 es el estado de inicializacin de los contadores, a continuacin los estados S2, S3y S4,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.
342 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

so
NOP 0 1 C256,C , C2, C - 0 CL256, CL, CL2, CL3

S3

C -C +1 S4 C <_-C +1 FN
1

Las salidas z1, z2y z3son funciones combinacionales de G;i,E;i y L1: zl =G12(G13+E13)+G13 (G12+E12)+E12E13=G12L13+G13L12+E12E13 z2 = L12L23+G23G12+E12E13 z3 = L13 G23 + L23 G13 + E12 E13 La unidad de datos deber incluir, por tanto, un circuito combinacional que realice estas ecuaciones:

COMP COMP COMP


> Z Circuito Combinacional > Z2 > z3

Problema 7.-Un sistema digital (ver figura) consiste en una cerradura electrnica que se abre mediante una combinacin adecuada de 8 bts . La combinacin est almacenada en el sistema. El modo de operacin es como sigue. La seal RESET lleva al sistema al estado ini-cial (no hay que incluirla dentro de la carta ASM ya que se considera asncrona). La seal BT indica el bit correspondiente de la combinacin (comenzando por el ms significativo) . La seal LEE (al activarse) indica que se puede leer la entrada BT. La seal NTENTA (al acti-varse) indica que ya se ha introducido la combinacin y si es correcta se abrir la caja (ponin-dose la salida ABRE a 1) . RESET LEE NTENTA

ABRE BT

a) Disee la unidad de datos del sistema . b) Exprese el algoritmo de control mediante una carta ASM (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 NTEN-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 : RESET
r

U. de procesado

BT LEE-SHL A[81

ABRE combinacin Unidad correcta de control NTENTA UP CONT COMP[81 CY E

donde RESET se conecta a la puesta a 0 asncrona de A, de CONT y de la unidad de control . Cuando esta puesta a 0 no est activa :

SHL SHL 0 1

OA = [Al [Al

AE A SHL(A, BT)

344 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

UP CY = CONT E-UP CONT 0 1 si CONT 1 [CONT = 111 CONT + 1

b) La carta ASM ser:

01

A -SHL(A, BT): SH C CONT<--CONT + 1 : UP 0

S1

S2 44*1y -04WV ABRE

Suponemos que al conectar el sistema por primera vez se activa RESET. Esto hace quese comience en So y que CONT = 0 (y A = 0) . Realizamos la carta para que, al volver, siempre CONT = 0 en S0. Al avivarse "LEE" procedemos a almacenar BT y a incrementar CONT . Esto puedehacerse en el mismo estado S O (por lo que es caja de accin condicional) .
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 1 . Como se activ SHL y UP, en S 1 ya [A] = 8 bits y CONT = 0 de nuevo. En S1 , si LEE no es 1 se espera a que NTENTA = 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 S1 , se espera a que NTENTA = 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 S 1 se activa nuevamente LEE (9-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 S1 y S2CONT = 0, no hay que hacer uncleardel contador al regresar a S0. Problema 8.-Un sistema digital controla el proceso de llamadas telefnicas a travs de la red telefnica. Las llamadas pueden ser provinciales (7 dgitos) o nacionales (9 dgitos) . Tras ac-tivarse la seal de comienzo Xg, en cada ciclo de reloj llega el dgito correspondiente del nmero marcado. El usuario activa una seal (YA) cuando termina de teclear. El sistema debe responder de la siguiente forma: si el nmero de dgitos recibidos es incorrecto, durante un ciclo de reloj debe activarse una seal de error (E); si el nmero de dgitos es correcto, durante un ciclo de reloj debe activarse la seal de llamada (LLAMA) y una seal adicional que 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 a realizar la llamada hasta tres veces sin necesidad de volver a marcar. Disee el sistema. Nota: No se preocupe de cmo se almacena el nmero . Solucin P8.-Vamos a necesitar tres contadores, uno de mdulo 7 (C 1)y otro de mdulo 9 (C2)para contar el nmero de dgitos marcado y otro de mdulo 3 (C3)para contar las llamadas

en caso de que comunique . La descripcin de estos contadores es la siguiente : CL UP CY = Ci d C; 1 si [Ci ] = 11 . . .l l C; + 1 0

Ci

CL UP 00

W CY 01 1

La carta ASM correspondiente a las unidades de datos y de control se muestra a continuacin.


346 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

So

C2,C3-0

C1L ,CL2,CL

Cl-Ci+l,C2 F- C2+1 S 1UP1 ,UP2

1 1

LLAMA, P LLAMA, N n (E)

S3 C3 E-C3+1 CLLAMA, UP

FN

> aSo
El controlador es: q D ACL,,CL2,CL3 1 i> 1 YA cY,
1

LLAMA P

2p D COM CY

CY q D 2n v LLAMA E

vLLAMA

UP, UP2

F N

PROBLEMAS CON SOLUCN RESUMDA Problema 9.-Para la unidad de datos de la figura, disee un controlador que permita realizar la operacin de intercambio de informacin entre los registros A, B y C de la siguiente forma : A-> B--3C

Rt-RTwt-Ra A a
Rb AB ALU Wb
c

RAC C WAC AC ZAC 8 8 SHL

348 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Solucin P9.-La carta ASM correspondiente a la operacin solicitada se muestra a continua-cin junto con el controlador pedido . Xs =

1
AC E- 0 / RTF-A S

AC E- AC + RT / A<-C S2

S C E- B
3

-.-

1
B EAC
S4

Ck

FN

a So

Zac Ra Wt

Rt A Wac Rc Wa

Rb Wc

Rac Wb

F N

Problema 10.-Para la unidad de datos del problema anterior, disee un controlador basado en registro de desplazamiento que permita realizar la operacin C = 4 -(A + B). Nota: La entrada SHL del acumulador produce un desplazamiento lgico hacia la izquierda, introduciendo un "0" por la derecha .

Solucin P10.-Carta ASM:

Xs 1

ACE-0/RTE-A
S5

Zac,Wt,Ra

S1

AC E- AC + RT S6 S2 Wac, A,Rt S7 Wt,Rb RTE-B AC E- AC + RT Wac, A, Rt a So Controlador:

xs
1 ---2 3
-1

4-r-5 6 7 F

Rt Rb Zac RaA Wac

SHL Wc FN

wt
Rac

Problema 11.-Para la unidad de datos de la figura, disee una unidad de control basada en registro de desplazamiento de forma que, en funcin de dos bits de entrada 1 1 e lo, pueda elegirse entre una de las cuatro macrooperaciones siguientes: 1)A-A+28 3)CF-A-2B 2) A*-A-2B 4)C<-- 2A+2B

Wt -RT SHFT REG. Wsh SHL a Ra

Rt Rsh

SEL MUX1 B ALUa CC c 8 Rac Wac Zac 350 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Rb

Wb

ACUM

Solucin Pll. Si escogemos la siguiente codificacin para cada una de las macrooperaciones : 1110 macrooperacin 00 A-A+2B 01 AE-A-2B 11 CE-A-2B 10 CE2A+2B Esta solucin corresponde a una unidad de control tipo Moore . Xs= 1

ACUM E- 0 / RTE-A S

ACUME-ACUM + RT / SR- B

SR <-- SHL(SR,O) 1

1
ACUM 4-ACUM + SR a ACUM F-ACUM -SR S4

ACUM 6-ACUM + RT S5a A E- ACUM

S5b

C -ACUM S6

FN SF
aSo

El controlador:

1
q3

q5a

1 5b

q5b

4b FN

q31

RA=WT=ZAC=g1 RB=WSH=q2 SHL=q3 S = q4b WA= q5b WC= q6 RT=q2+q5a A = RT+q4a WAC =

A+q4b RSH= SEL=q4a + q4b RAC=q5b + q6

Problema 12.-En la unidad de datos de la figura se han representado todos los componentes y los caminos de datos. Suponga que, adems, existe disponible una seal, FN, que se pone a 1 cuando se han sumado n bits. Se desea realizar las tres macrooperaciones siguientes : CE-A+B CE-A CE-B a) Especifique las seales de control y operaciones de los registros y el biestable. b) Disee el controlador.

A[n]
Ao

/1

B >

in

B[n]

Sumador completo b
Cout

C[n]

N Biestable OUT
Solucin P12. a) Descripcin de componentes : Rin X = A, B CLEAR N SRX CLX-

Biestable Wbiest OUT

SRc= 1: SHR(C, Rin) CLX = 1: X- 0

icj
CLEAR = 1 : Biestable E-- 0 Wbiest = 1 [Biestablel : Biestable-Ci+l siempre C;=

SRX = 1: SHR(X, d)
d=0 1 X7X0

b) Para la siguiente codificacin de las operaciones, obtenemos la carta ASM y el controlador.

R, R0 microoperacin 0 0 1 1 0 1 0 1 C-A+B C-A CE-B otras

xs 1

FN

R1Ro V V V

Wbiest

SRA CLEAR CLB CLA SRC SRB

Problema 13.-Para la unidad de datos que se presenta, se quiere realizar un sistema digital capaz de comparar dos nmeros de 8 bits (A y B), y almacenar en A el mayor de ellos y en B el menor. Tras finalizar la operacin, el sistema generar una seal de FN. a) Defina correctamente las operaciones de los registros. b) Obtenga la carta ASM y el controlador. c) Sin aadir elementos nuevos, se puede simplificar la arquitectura de esta unidad de proceso? Razone la respuesta.

A[81 C[8]

8 8

E E>F -8 8 E=F B[8] ]1

/ /

D[8] F E<F 81 CONT. mod-8

Solucin P13. a)Rx

X[81 UP HCY

w CL CONT. mod-64
X = A,B /O
jo

WxRx Z7_o= X -UP CL Cy = CONT F00 H X 00 1 sCONT 01 [X] X 01 [CONT 0 10 entradas entradas 10 = 1 . . .11 CONT + 1 11 prohibida prohibida 11 prohibida
WTRySLy Y7-0 Y 4 0 0 0H Y 001 H SHL (RU8,YL) 010 [Y] Y 1 0 0 entradas entradas

b)
NOP

so

CONT4- 0 / C E-A CL / Wc, RA S v D 4- B WD, RB S2

t
C 4- SHL(C, X) / D 4- SHL(D, X) / CONT4-CONT + Wc,SLc/ WD,SLD/ UP

C 4- A Wc,RA

1 A4-B
WA,RB

B 4- C WB,Rc

FN a So
1 C E>F E F

>,-

RD=O V CL RA WC WD V RB V SLC SLD UP WA RC WB FN

c) S. Se resuelve en el siguiente problema .


Problema 14.-La figura muestra la solucin al ltimo apartado del problema anterior. Recor-demos que se trata de almacenar en A el mayor y en B el menor de los datos previamente almacenados en A y B. Determine la carta ASM para esta unidad.

A
RaA[8] 88 C[8]

-__ Rc
11*

Wa-me A

> q4

11

> SHLa--Wc

Rb CL y

8 Wb-B[8] SHLb 8 UP CONT. mod-8 CY

356 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES Solucin P14.

NOP so

v CONT- 0 / C E-ACL, W,RA

S2 00,11 01,10

A E- SHL(A,A7) / SHL> B E- SHL(B,B7)/ SHLb B E- SHL(B,B7)/ Wb,SHLb\ONT E- CONT + 1 / Ulj CONT- CONT + 1 / UP 0 01 CY CY

B E- A Ra,Wh v B E- C Re, Wb S3

v AE-C Re'Wa

NOP SF
1

Problema 15.- Disee un sistema digital (ver figura), que opere como sigue . Sincronizado con Ck1, recibe por XSun pulso de un ciclo de duracin y, a continuacin, 8 bits de datos en serie por una lnea Din . El sistema, deforma sincronizada con Ck2, en primer lugar debe generar por Xo un pul-so de un ciclo de duracin y, seguidamente, retransmitir por Dout los 8 bits de datos recibidos . xs
Din SSTEMA Ck DGTAL out Ck CLK

Solucin P15.-Componentes de la unidad de datos :


DN

SR R DOUT = REG FR 0 0 H REG SR 0 1 REG0 REG 1 0 H SHR (REG, DN) 11 REG0 SHR (REG, DN)
DOUT

NC CY NC CLEAR CY = CONT F-

CLEAR

CONTmod.8 ffd8ffe000104a46494600010201012d012c0000ffe20c58 4943435f50524f46494c4500010100000c484c696e6f0210 00006d6e74725247422058595a2007ce00020009000600 310000616373704d534654000000004945432073524742 0000000000000000000000000000f6d6000100000000d32 d485020200000000000000000000000000000000000000 0000000000000000000000000000000000000000000000 0000000000011637072740000015000000033646573630 00001840000006c77747074000001f000000014626b7074 00000204000000147258595a0000021800000014675859 5a0000022c000000146258595a0000024000000014646d 6e640000025400000070646d6464000002c40000008876 7565640000034c0000008676696577000003d400000024 6c756d69000003f8000000146d6561730000040c0000002 474656368000004300000000c725452430000043c00000 80c675452430000043c0000080c625452430000043c0000 080c7465787400000000436f70797269676874202863292 031393938204865776c6574742d5061636b61726420436f 6d70616e79000064657363000000000000001273524742 2049454336313936362d322e3100000000000000000000 0012735247422049454336313936362d322e3100000000 0000000000000000000000000000000000000000000000

x 1 1 s0 1 0 [CONT] CONT + 1 0 0 = 11 ..1 CONT Ck Componentes comunes a la unidad de datos y a la unidad de control : -Un biestable SR asncrono y un multiplexor, se utilizan para obtener la seal de reloj que se conectar tanto a las seales de reloj del registro y el contador como al controlador. a los Ck
Las seales S y R sern activadas por el controlador . La carta ASM:

NOP

%Biest 4-0, CONT F- 0 btest,CLEAR

REG F- SHR(REG, DN),CONT4-CONT + SR, NC

Biest E- 1 XO, Sbiest v REG E- SHR(REG, DN), CONT F- CONT + 1, DOUT = REG SR,
Rbiest,

NC 0

NOP FN
1

El controlador:

13

\
4 CY Xs---J CY Vy V CLEAR NC
Captulo 13

xo

FN

SR Sbiest Rbiest

MSCELNEA

Problema 1.-Para el dispositivo de memoria que se muestra a continuacin: a) Obtenga su tabla de excitacin. b) Razone si es posible implementar 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.

qq

01

0q

S A B C D

B0 CB C

B1 A,1 D B, 1

Tabla de estados

1 C k Elemento de memoria y su tabla de comportamiento

NS, Z Problema 2.- En una prctica de


laboratorio se pretende montar el circuito siguiente:

Sin embargo el laboratorio es un desastre. a) El da que va el grupo M resulta que no hay mu/tip/exores, con lo nico que podemos 360 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

contar es con una puerta NAND de ocho entradas adems del decodificador previsto . Obten-ga el circuito equivalente al dado con el material disponible. b) El da que va el grupo P ya disponemos de los multiplexores necesarios, pero ahora han desaparecido los decodificadores . Obtenga un circuito equivalente al dado utilizando un slo multiplexor como el previsto en la prctica. Nota 1: Disponemos de las variables en nico ral. Nota 2: La entrada de habilitacin del multiplexor hace: F=0 si E=0 y F=MUX si E=1 Problema 3.-Se pretende realizar un dispositivo como el mostrado en la figura:
C.C. > Z2 CLA uP CK 4 > CONT mod-16

>Z

La entrada CLA pone a cero el dispositivo de forma asncrona . Por la lnea X se reciben pulsos positivos de uno o ms ciclos de reloj. Con independencia de la duracin de cada pulso y contando a partir de la ltima vez que se activ CLA, se desea activar Z, a partir del final del segundo pulso recibido por X y activar Z2 a partir del comienzo del quinto pulso . Una vez activada cada salida, se mantendr activa hasta que se active CLA otra vez . Disee el circuito combinacional (CC en la figura) utilizando exclusivamente puertas NAND y suponiendo variables en doble ral. Problema 4.-Considere la palabra 10100110. nterprete, 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, cdigo ASC con paridad par, c-digo ASC con paridad impar o cdigo BCD. Problema 5.-Se desea disear una calculadora que realice las siguientes operaciones: 1.A-2A+B 3.B-2A+28 2.A'-A-B 4. BOA-28.
MSCELNEA 361

Para ello se dispone de la unidad de datos de la figura en la que todas las salidas de los registros son condicionales. Se pide: a) Especificar completamente la unidad de datos . b) Disear la unidad de control correspondiente.

Problema 6.-En el circuito de la figura hay, entre otros, un sumador paralelo de "n" bits y un bloque TRANSFERE/COMPLEMENTA B (representado por n XOR) . Describa funcional-mente el circuito. (Esto es, represente formalmente su operacin y explquela verbalmente) . AB
xi

x3

x2

Problema 7.-Un sistema digital de 4 entradas recibe sincronizado con una seal de reloj,caracteres de 4 bits. El sistema genera z = 1, durante un ciclo de reloj, tras recibir cuatrocaracteres seguidos idnticos. Cuntos elementos (bits) de memoria deber tener, el sistema? Disee dicho sistema utilizando registros de 4 bits, comparadores de magnitud y puertas. Problema 8.-Responda a las siguientes cuestiones: a) Un cdigo binario de nmeros decimales se dice que es un cdigo pesado cuando la posicin de cada bit lleva asociada un peso numrico y se denomina autocomplementable si el complemento a 9 de cada dgito D = d3d2d1does Ca9(D)=9;d-2d-El cdigo 8CD natural es un ejemplo de cdigo decimal pesado pero no autocomplementable . El cdigo exceso-3 es un ejemplo de cdigo decimal no pesado pero es autocomplementable . Muestre que elsiguiente cdigo es ambas cosas: pesado y autocomplementable y determine el peso de cada bit. 0 = 0000 1 = 0001 2 = 0011 3 = 0100 4 = 1000 5=0111 6= 1011 7= 1100 8= 1110 9= 1111 b) El circuito de la figura contiene una puerta de 5 entradas que puede ser una NAND5, una NOR5 o una XNOR5. Cul es el test ms simple que se podra aplicar para averiguara qu puerta corresponde?
7

c) Sea la funcin z(x 1 , x2, . . ., x,.,) que se define como: z(x1,x2, ..., x) =1 si y slo si x; * x1para algn valor de (i, j). 362 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

-Si consideramos esta funcin como un operador de n variables, podramos decir que es funcionalmente completo? -D una expresin algebraica para z. Problema 9.- Sean A= A4A3A2A1Aoy 8=B4B3B281B0 dos nmeros binarios que nunca pueden representar el valor "-0". Hay dos seales S1 ySo, que indican el tipo de representacin numrica, de acuerdo con el siguiente cdigo . S1S0=00 A y B nmeros sin signo S1SO=01 A y B nmeros en signo-magnitud S1S0=10 A y 8 nmeros en Ca2 S1S0=11 A y B nmeros en Ca 1 Disee un comparador (A>B, A=B, A<B) utilizando un comparador de magnitudes de 4 bits y los MUX 4:1 que se necesiten. Problema 10.-La siguiente figura muestra la unidad de procesado de datos de un micropro-cesador con bus de datos de 8 bits (D 7 - Do) y bus de direcciones de 16 bits (A 15 -A0).

AB[16] (a Memoria) A15 -A0 MARH[8] MARL[8]

PCH[81 PCL[8] RT[8]

R[8] ALU

CONTROL MDR[81

AC[81

DB[81 (a/de Memoria)


1-11

> D - Do 7 Como puede observarse, el bus interno de comunicacin es de 8 bits y dispone de los siguientes registros: -MAR (Memory Address Register): de 16 bits, est formado por la concatenacin de dos registros de 8 bits: MARH y MARL.

MSCELNEA 363
-MDR (Memory Data Register): de 8 bits, su finalidad es servir como registro interme dio entre el procesador y la memoria externa . Todo dato que entre o salga del procesador de ber ser almacenado previamente en MDR. -R (nstruction Register): es de 8 bits. -PC (Program Counter): es de 16 bits y est formado por la concatenacin de dos registros de 8 bits: PCH y PCL. -AC (Acumulador): es de 8 bits. -RT (Registro Tampn): es de 8 bits y es utilizado para el clculo de operaciones intermedias. Obtenga la secuencia de microoperaciones necesarias para realizar la siguiente instruccin indicando cules corresponden al ciclo de FETCH y cules al de EXECUTE: LDA $B043 Nota: Cada instruccin ocupa 3 palabras de 8 bits consecutivas de la memoria . En la primera aparece el cdigo de operacin (LDA) ; en la segunda aparecen los 8 bits de direccin ms significativos del operando (A 15 -A8); y en la tercera aparecen los 8 bits de direccin menos significativos (A7-A0). Problema 11.-Una puerta umbral (ver figura 1) activa su salida, Z = 1, si el valor de sus entradas tomadas como nmero binarioA110= (a-1, ...,a1, a0)(2es mayor o igual al umbral interno "i". a) Disee una puerta umbral de n entradas, utilizando subsistemas combinacionales y puertas lgicas. En la figura 2, aparece un circuito formado, nicamente, por puertas umbrales . b)

Analice dicho circuito. c) Rediselo utilizando, exclusivamente, MUX de 4 canales .

c 1 si A>i OsiA<i Figura 1 Figura 2

Problema 12.-En el diseo de la funcin : f = fl ( 4, 5, 6, 7, 8, 9) -d (0, 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 20 Mhz y acd=011 se mantienen constantes, suponiendo que todas las puertas poseen un tiempo de retraso de 5ns. 364 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Problema 13.-Obtenga la carta ASM de un circuito secuencial sncrono con una entrada x . La nica salida, z, es 0 a menos que la entrada x haya permanecido constante (a 1 a 0) durante los ltimos cuatro ciclos de reloj. La salida se pondr a 1 coincidiendo con el cuarto 1 ( 0) de la entrada. Suponiendo que el circuito se dispara en el flanco de bajada, dibuje la forma de onda de salida para la secuencia de entrada de la figura, indicando las cajas de estado por las que pasa. Ck x

Problema 14.-En la figura se muestra una tabla de implicantes primas para f(a,b,c,d) en la que se desconocen algunos de los encabezamientos de las filas y columnas. Se sabe que todos los mintrminos y las implicantes primas de la funcin estn en la tabla . a) Determine los mintrminos e implicantes primas que corresponden a las filas y columnas desconocidas. Es nica la solucin? b) Escriba los maxtrminos de f y obtenga la expresin ptima para f. 0 7 81015clc2 A=bdX XX B=?X X C=bcd X X

D=? XX E=? X F=? X

Problema 15.-Un perro puede estar tranquilo, irritado, asustado o irritado y asustado simultneamente, con lo cual muerde . Si le damos un hueso se queda tranquilo. Si le
MSCELNEA 365

quitamos uno de sus huesos se pone irritado, y si ya estaba asustado, nos morder. Si le amenazamos se asusta, y si ya estaba irritado tambin nos morder . No es posible realizar dos acciones simultneamente sobre el perro . Obtenga el diagrama de Moore y realice un circuito que simule la conducta del perro . Problema 16.-Disee un circuito combinacional que tenga como entradas tres nmeros sin signo A, B y C de n bits cada uno, y una salida Z que indique cul de los nmeros B o C es ms prximo al nmero A. Haga un diseo con subsistemas combinacionales. Suponga que A# B, A#CyC;, ,--B. Problema 17.-Considere el circuito de la figura. nicialmente los biestables estn en el esta-do 0. La operacin del circuito empieza con un pulso de "Start" aplicado a las entradas de PRESET de los biestables X e Y. Determine las secuencias o las formas de onda en A, B, C, X, Y, A, Z y W para 20 ciclos de reloj despus del comienzo de la operacin .

B K C 1-K B

J KAX

CLK Y

Zr
W
XDY PR PR

S tart

Problema 18.-Para un sistema con 16 lneas de direccin se necesitan 40K de memoria de-jando libre el resto. Se dispone de una_RAM de 32K y otra de 8K, ambas con seal de selec-cin de chip CS, de lectura/escritura R/W y buses compartidos . La memoria resultante deber tener seales de lectura R y de escritura W separadas y activas en alta, sin seleccin de chip . a) Disee el circuito. b) Determine qu palabras de memoria se corresponden con las direcciones lgicas si-guientes: $FOCA, $4342, $9CAD. c)Cul es la direccin lgica que hay que poner para acceder a la palabra $7531 de la RAM de 32K?. Cul sera para la $0246 de la RAM de 8K?.

366 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES SOLUCONES A LOS PROBLEMAS PROPUESTOS

Solucin Pl. a) Directamente de la tabla de estados del biestable se obtiene su tabla de excitacin : q-Q 0->0 0-> 1 La transicin 1 ---> 0 se puede conseguir con cualquier valor de y, 0 1 .

1-40 1-> 1 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 :

oD00 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 glg2 = 00 (de esta forma evitamos la transicin problemtica hacia el estado B) . La nica transicin que parte del estado A va hacia el estado B . Por tanto, no se produce la transicin problemtica si le asignamos a A: q1q2 = 11. Por ltimo, como C y D son prximos estados uno del otro, le asignamos cdigos complementados, por ejemplo C : q1 q2 = 01 y D : q1 q2 = 10. Una vez realizada la asignacin, de forma que se ha evitado que existan transiciones que no pueden implementarse con el elemento de memoria, el proceso de diseo contina como siempre. XX q 1 q\ 0 1 q 1 q\ 0 1 B=0 0 01,0 1 1,1 00 01 11 y1 =X

C=O 1 00,0 10,0 01 Od ld y2 =X91 A=1 1 00,0 00,0 11 dd dd Z=Xq2 D=1 0 01,0 00,1 10 dl d0 Q1 Q2 YiY2 Ecuaciones de excitacin

Tabla de transicin/salida Tabla de excitacin y salida

El circuito final queda:

Z 12

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 .

Segn la ecuacin de salida del multiplexor tenemos : F = do( d2s1-so+ d3s1s0+ d4s 1-SO+ d5-s1 s0)Cada una de esas seales son salidas del decodificador, por tanto :

F = (0,5) = 1 (1,2,3,4,6). a) mplementaremos esa misma funcin haciendo uso del decodificador anterior y una puerta NAND de ocho entradas. Dado que por las salidas del decodificador tenemos las expresiones 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 .

do =x+y+z d2=x+y+z d3=x+y+z d4=x+y+z d5 =x+y+z s1 =x+y+z sp=x+y+z Sustituyendo en la expresin anterior para F :

x y z

b) Para este apartado tenemos que usar el multiplexor que aparece en el enunciado . Como estamos en nico ral, vamos a buscar qu disposicin de variables es vlida para que no encontremos residuos de la funcin que posean variables complementadas .
368 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Residuos Residuos de F:Z 1 z 1de F:y 1 1y

De las tres disposiciones de variables anteriores, slo la segunda permite resolver nuestro problema. Con ello, el diseo final del circuito sera : 1

xz 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: 0/00 1/00 0/00 1/00 0/ 0 1/00 0/00 1/00 0/10

lo
411 0 0 10 0/10 0/10 1/10 000 lo

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 0000, 0001, 0010, ... a los estados 0, 1, 2, . . .,respectivamente, el estado coincide con el valor del contador y los cambios de estado del grafo se llevan a cabo activando o no la entrada UP segn: UP=O UP =

Entonces, las ecuaciones de excitacin del contador (UP) y de salida (Z1, Z2) se obtie-nen mediante el siguiente mapa de Karnaugh que representa la "tabla" de excitacin-salida :
q2 q1 q0 000 001 011 010 110 111 101 100 00 000 010 ---010 111 ---110 100

01 100 110 ---011 011 ---010 000 11 110 110 ---------010 000 10 000 010 ------------110 100 UP Z1Z2 Las expresiones de las que se obtiene el circuito son:
UP=X-qO+X.g3 .g0 Z1=X'g1'g0+q2+q3 Z2= g0'g3+Xq3

Solucin P4. Como nmero binario: 10100110 = 166(10 Como signo-magnitud: 10100110 =- (0100110) =-38(10 Como complemento a l : 10100110 = -(01011001) = -89(10 Como complemento a 2: 10100110 = -(01011010) = -90(10 En cdigo ASC: problema mal formulado, pues el cdigo ASC es slo de 7 bits . En cdigo ASC con paridad par: 10100110-&. En cdigo ASC con paridad impar: 10100110 no puede estar escrito como cdigo de paridad impar pues tiene 4 unos . En cdigo BCD: un dgito sera 1010 y otro 0110, pero como 1010 no es un dgito BCD, el problema est mal formulado. Solucin P5. a) Desarrollaremos las instrucciones mediante microoperaciones y, de aqu, iremos implicando algunas necesidades de operaciones en los registros. Previamente, analizaremos la unidad de datos de la que disponemos : Hay dos buses compartidos (B y BD), por lo tanto, las salidas de los registros A, B y AC son salidas con bufferstriestado. 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 B (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 :
370 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

(RT)

(BD) s r 00 01 10 a-b a+b out

11

out (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, RADWA A<--B = BD = RAC WAC AC4-out =


000AH H 00 AC H 001 BD H entrada 01 in H 010 A H [A] 10 AC [AC 100 A [A] H 11 in [AC] 101 BD [A] entrada 110 A [Al [Al -11 proh. proh. prohibida

El desarrollo de cada macrooperacin y su codificacin es :

cdigo XXp=00 XXp=01 XX0= 10 XX0= 11 OP. AE-2A+B AE-A-B BE-2A+2B BF-A-2B op l RTE-A RTE-B RTE-A RTE-B op2 ACE-B+RT ACFB+RT op 3 AC E- AC + RT AC E- A -RT AC E-AC + RT, RTE- B AC E- A-RT op 4 A E- AC AC E- AC + RT AC E- AC -RT op 5 B E- AC

b) La carta ASM, sealando en ella tanto las microoperaciones como las seales a activar por el controlador, queda como sigue :
372 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Tambin podran haberse reunido los estados S3a Y S3b segn se muestra:

Obteniendo el controlador directamente de la carta ASM:


RBD A 93a0 qqq D2 q2D3a9a q 910 D FN 93a1

X DF
q D 911 93bC

qqq q 3b

DD

93b1 VX

WB

RA 0-q50

911 93a 93b

>RB

q2 1

-q51

q q

5 1
9 3 al W T W A C 9 3 a q2 93b 93b 951 q50-~ q6 >r D s

Solucin P6.-Si x2 = 0, tenemos que, independientemente de x 1 , se realizar la operacin F = A+B si x3= 0, o F = A+B+1 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 X

= 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+1, esto es F = A-B en Ca2. Si x2= 1 yx1= 0, independientemente de x3, 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 xl (0/1,

respectivamente) y, si x2= 0, hace la suma con x3como acarreo de entrada.


X x2x3 F

01

A+B+1

0 0 A+13 0 1-A+B 1 1 -A+B+ 1

374 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Solucin P7.-Este sistema digital debe tener, por un lado, capacidad de almacenamiento para un carcter de 4 bits, con el objeto de poder hacer comparaciones con los caracteres que incidan en posteriores ciclos de reloj. Adems, el sistema debe llevar la cuenta de las coincidencias existentes, por lo que necesitaramos un contador de cuatro estados o 2 bits . En total, y como mnimo, necesitaremos seis biestables. No obstante, a la hora de implementar el sistema, no disponemos de contadores, slo de registros. En este caso, utilizaremos los registros para almacenar los caracteres en distintos ciclos de reloj . Los registros estn conectados entre s de modo que en conjunto simulan un registro de desplazamiento de caracteres. Slo es necesario utilizar 3 registros; con ellos y la entrada actual se conocen los caracteres correspondientes a cuatro ciclos de reloj .

X3:0

R[4] R[4] R[4] -1

yy El sistema debe generar salida 1 durante un ciclo de reloj, cuando se detecte una secuencia consecutiva de cuatro caracteres idnticos . Cuando se recibe esta secuencia, tanto la entrada como los registros, contienen el mismo dato. Utilizando comparadores de magnitud se puede detectar cundo se ha recibido la secuencia correcta. Estos dispositivos tomarn la entrada y el contenido de los distintos registros y los compara por parejas, de forma que en total necesitaremos 3 comparadores.

X3:0 R[4] R[41 R[41

ab bab
a>b a=b a<b b =b a<b a>b a=b a<b

El Cuando el contenido de los 3 registros y la entrada coinciden, las salidas E l, E2y E3 toman simultneamente el valor 1 . La salida z la podemos construir mediante la operacin AND de las tres salidas anteriores : z = El Solucin P8. a) Los pesos son: d3 -* 4, d2-* 3, d, -* 1, do-* 1. (Se obtiene de forma inmediata: do de cdigo del 1 ; d2del 3; d3del 4; y dlde, por ejemplo, el 2). .E2

E3

CDGO VALOR DECMAL

0000 0 = 0x4 + 0x3 + Ox 1 + Ox 1 0001 1 =0x4+0x3 +Ox1 + 1x1 0011 2=Ox4+Ox3+ xl + 1x1 0100 3=0x4+1x3+Ox1+Ox1 1000 4 = 1x4+0x3+Ox1 +Ox1 0111 5=0x4+1x3+ 1x1 + 1x1 1011 6= 1x4+Ox3+ 1x1 + 1x1 1100 7=1x4+1x3+Ox1+Ox1 1110 8=1x4+1x3+1x1+Ox1 1111 9= 1x4+ 1x3+ 1x1 + 1x1 Adems, el cdigo es autocomplementable . : dgito d3d2d 1 dp Ca9 d3d2di do

0 1 2 3 4 5 6 7 8 9

0000 0001 0011 0100 1000 0111 1011 1100 1110 1111

9 8 7 6 5 4 3 2 1 0

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 : SOLUCN 1: SOLUCN 2
abcd e 11000 11100 NAND 1 1 NOR 0 0 1 0 XNOR abcde 11111 01111 NAND 0 1 NOR 0 0 XNO R 1 0

c) S, es funcionalmente completo porque se puede implementar la funcin NOR (NOT-OR) que lo es. NOT (a) = = z(a, 1, 1, . . .,1); OR(a, b) = a + b = z(a, b, 0, 0, . . .,0). Expresiones algebraicas de la funcin z pueden ser las siguientes : z =(x1(Dx2)+ (x1Ox3)+ (x1(Bx4) + + (x;Oxi) + . . . z = (x1+x2+ +xn)(x1+x2+ +xn)

Solucin P9.-En todas las representaciones nmericas 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 1 a las salidas del comparador de las magnitudes A3-0 y B3-0 : A3-0 B3-0 Sean G, E y L las seales que comparan los nmeros con signo A4-0 y B4-0 . Podemos obtener, en funcin de S 1 , S0, A4 y B4 la siguiente tabla: A4B4 S~ 00 01 10 11 00 gel 001 100 gel

01 gel 100 001 leg


10 gel 100 001 gel 11 gel 100 001 gel GEL Para nmeros sin signo, S SO= 00, tenemos las siguientes posibilidades : a) A4B4 = 00 y A4B4 = 11 el resultado de la comparacin depende de los 4 bits menos significativos, esto es, GEL = gel. b) A4B4= 01, el nmero B es mayor que el A, por tanto L = 1 . c) A4B4= 10, el nmero A es mayor que el B, G = 1 . Para nmeros en notacin S-M, tenemos las siguientes posibilidades : a) A4B4 = 00, los dos nmeros tienen el mismo signo y, por tanto, el resultado de la

comparacin depende de la magnitud, de forma que el que tenga mayor magnitud, ser el ms grande (GEL = gel). b) A4B4 = 01, el nmero A es positivo y el B, negativo, el mayor es el primero, G = 1 . c) A4B4 = 10, el mayor es el nmero B, por ser positivo, L = 1 . d) A4B4 = 11, los dos nmeros son negativos y, por tanto, el mayor ser el que tenga menor magnitud, GEL = leg. Para nmeros en notacin Cal, tenemos las siguientes posibilidades . a) A4B4= 00, los dos nmeros son positivos: por tanto, el mayor de los dos ser el que tenga mayor magnitud, GEL = gel . b) A4B4= 01, el nmero A es mayor por ser positivo, G = 1 . c) A4B4= 10, el nmero B es el mayor por ser positivo, L = 1 . d) A4B4= 11, los dos nmeros son negativos. Hay que determinar la magnitud de ambos para saber cul es el mayor. Para resolver este caso, observemos primeramente un ejemplo de nmeros negativos de 4 bits en esta notacin .
-7 :1000 -6:1001 -3:1100 -2:1101

-5 :1010 -4:1011 mayores cuando

-1 :1110 -0:1111 Apartando el bit de signo, las magnitudes de los bits restantes son tanto el nmero es mayor. Por tanto, las salidas GEL = gel. Por ltimo, se puede demostrar que, para nmeros en notacin Ca2,

obtenemos los mismos resultados que en Cal . Podemos ya determinar el circuito resultante, utilizando MUX de 4 canales : g o 01 1 g
0 1 2 310 0 1 2 3 10 0 1 2 310

2 3 10

1 A3-0 11 0 1 B3-0 3 10 0 2 l 2 3 10

1 g
0

1 2 2 3 10 310 1

SSO 2 3 10 A4 B4

Solucin P10.-En el ciclo defetch(bsqueda) se debe encontrar la posicin a la que apunta inicialmente el contador de programa (PC), (por ejemplo, la direccin $K). A continuacin buscar la siguiente ($K+1) y, por ltimo, la direccin $K+2. Ah terminara el ciclo de bsqueda y habr que dejar al contador de programa (PC) apuntando a la siguiente direccin de memoria $K+3 . De esta forma, la secuencia de microoperaciones a realizar es : 1 . MARH -PCH Almacena parte H de $K. 1MARL *-PCL Almacena parte L de $K. 2MDR E- MEMORA, PC -PC + 1 Carga "LDA" en MDR y pone PC a K+1. 3R E- MDR Carga "LDA" en el registro R. 5 . MARH 4-PCH Similar a 1, 2 y 3, ahora para traer 1MARL F- PCL "BO" a MDR y poner PC a K+2 . 2MDR E- MEMORA, PC 4-PC + 1 3RT 4-MDR Almacena "BO" en el registro RT . 4MARH 4-PCH Similar a 1, 2 y 3, ahora para traer 5 MARL F- PCL "43" a MDR y dejar a PC apuntando a la siguiente instruccin K+3 . 6 MDR 4-MEMORA, PC E- PC + 1 Aqu termina el ciclo de fetch. Comienza, por tanto, el ciclo execute de la instruccin LDA, que consiste en cargar el acumulador con la palabra de direccin $B043 : AC 4-MEMORA($B043) Para ello: 12. MARH E- RT Pone la direccin de la palabra en el registro MAR . 1 MARL 4- MDR 2 MDR 4- MEMORA El contenido de esa palabra se carga en MDR . 3 AC F- MDR Desde MDR se transfiere al acumulador. Con ello se termina la ejecucin . Ahora volvera a iniciarse el siguiente ciclo de fetch.
Solucin P11. a) Dada la expresin de la puerta umbral en la figura 1, para su realizacin basta con un comparador de magnitud de n bits que compare "A" e "i" y un inversor para obtener la salida Z . En la siguiente figura se muestra dicho esquema: n Comparados de "n" bits Z b) Para analizar el circuito de la figura 2, construimos la tabla de verdad para cada una de las salidas de las puertas umbrales : Z2 es la de la puerta con umbral en 2, Z 1 la del umbral en 1, Z3en 3 y F es la de la puerta con umbral en 5 y cuyas entradas son Z2, Z1y Z3.Partiendo de estos datos se obtienen los siguientes resultados :

a 0 0 1 1

b 0 1 0 1

Z2 0 0 1 1

c 0 0 1 1

d 0 1 0 1

Zi 0 1 1 1

e 0 0 1 1

d 0 1 0 1

Z3 0 0 0 1

Z2 0 0 0 0 1 1

Z1 0 0 1 1 0 0

Z3 0 1 0 1 0 1

F 0 0 0 0 0 1

1 1

1 1

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 Z2, Z1 y Z3 y posteriormente se obtiene el valor de la funcin de salida del circuito F . Realizando este clculo para todas las combinaciones de entrada se obtiene el siguiente mapa binario: 000 001 010 011 100 101 110 111
ab 00 01 10 11 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 RO= 0 Ro = 0 R2 = R3 R3

F c) Del mapa anterior, usando "a, b" como entradas de seleccin del MUX-2 cuya salida es la funcin F y diseando el residuo R2con un MUX-2 de entradas de seleccin "c, d", se llega al circuito final que se muestra a continuacin : 380 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

\d 00 01 10 11
e 110
2 T2

0 111 101 11 de R2:01 1 1 ab

310 310

Residuos

cd Otra solucin de menor coste es: 00 0 1 F d2 1

ac
Solucin P12. a) En los mapas de Karnaugh se ven las diferencias entre la solucin y la funcin :

CRCUTO FUNCN
ESPECFCADA ab ab cd 0001 11 10 01 11 10 cd\ 00 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 00 01 11 10 d 1 1 d 0 0 0 d d 1 0 0 1 1

00

01 11 10

zf
Los errores son que la solucin considera que las posiciones 6 y 7 son mintrminos y en realidad son maxtrminos. En cambio, en la solucin las posiciones 10 y 11 son maxtrminos cuando deben ser mintrminos.

La funcin correcta es : f = a b + a c + b. Por tanto, para corregir los errores, en la 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 ines-pecificadas.

b) Llamando a las seales internas del circuito como se muestra en la figura :

M=b z=MN c 1 L= b L-N=L d1

El diagrama de ondas queda de la siguiente manera : 50 ns b

M=L ~5 n$~ 5ns s i N -4 _4----4 '1---4 n 5ns 5 n 1 z

Esto es, z presenta un azar (esttico) de 5ns de duracin, que aparece l Ons despus del cambio de bajada en b. Solucin P13.-Los estados de la carta ASM seran los siguientes : Estado A: se han detectado tres o ms"0";si x = 0 se activa "z" y se permanece en A ; si x = 1 se pasa a B . Estado B: estado en el que se ha detectado el primer "1". Estado C: estado en el que se ha detectado "11". Estado D: estado en el que se ha detectado tres o ms "1". Si x = 1 se activa z y se per manece en D; si x = 0 se pasa a B . Estado E: estado en el que se ha detectado el primer "0". Estado F: estado en el que se ha detectado "00".
382 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Con lo que la carta ASM queda:

A (. . .000)

B (.. )

C (..11) E (. . .0)

D (. . .111) F (. . .00)

La forma de onda y la secuencia de estados son :

Ck X z S??BCDFABCDDDE

Solucin P14.-La resolucin del problema puede efectuarse utilizando una representacin de la informacin que aporta la tabla del enunciado sobre un mapa de Karnaugh. En esta tabla aparecen expresiones de dos implicantes primas y faltan por conocer expresiones de las otras cuatro (B, D, E y F). Adems, aparecen todos los mintrminos menos dos (c ly c2).Con los mintrminos conocidos el mapa queda como sigue :

=..o .... .am.

...=
mplicante A = b d: Vale 1 cuando b = 0 y d = 0. Son las posiciones 0, 2, 8 y 10 sobre un mapa de Karnaugh. Como 0, 8 y 10 son mintrminos de f y esta implicante no cubre ni c 1 ni a c2,en la posicin 2 del mapa hay una inespecificacin, d. La implicante prima B cubre al mintrmino 0 y a c l. Adems, B es la nica implicante que cubre al mintrmino c 1 , de forma que no puede agruparse con ningn otro mintrmino dis-tinto del 0. Por tanto, el mintrmino c1 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 c2tiene 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, c2 es el 13. La implicante E cubre al mintrmino 8 . Como es implicante prima debe cubrir, adems, alguna inespecificacin . Esta puede estar en celdas adyacentes al 8, esto es, en el 9 en el 12 . La implicante F cubre a c2 = 13. Adems, debe cubrir alguna inespecificacin que podr estar situada en las celdas 5 9 12 . Si la celda 5 fuese inespecificacin, la implicante C no sera prima. Por tanto, slo puede estar en la 9 12. Con lo que hemos deducido el mapa queda como sigue :

d?

U
Resta por determinar si el mintrmino c 1 es el 1 el 4 y si hay inespecificacin en el 9 el 12 . Existen dos soluciones posibles . La primera es considerando que c 1 = 1 . En este caso, la inespecificacin est situada en la celda 12 . El mapa quedara de la siguiente manera :
384 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

B=(0,1)

=aEc 00 01 11 10

D=(13,15)=abd E=(8,12) =acd

LU] F=(12,13) = a b c

ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0

21000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049454320735 247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000001163707274000001500000003 364657363000001840000006c77747074000001f000000014626b707400000204000000147258595a000002180 00000146758595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000 002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f8000000146d656 1730000040c0000002474656368000004300000000c725452430000043c0000080c675452430000043c0000080 c625452430000043c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574 742d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313936362d 322e31000000000000000000000012735247422049454336313936362d322e3100000000000000000000000000 0000000000000000000000000000 f =1(0,1,7,8,10,13,15)+ d(2,12)

La segunda es considerando que c 1 = 4 . En este caso, la inespecificacin est situada en la celda 9. El mapa quedara de la siguiente manera : ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f4 6494c4500010100000c484c696e6f021000006d6e74725247422058595a20 07ce00020009000600310000616373704d53465400000000494543207352 47420000000000000000000000000000f6d6000100000000d32d48502020 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000011637072740000015000000033 64657363000001840000006c77747074000001f000000014626b70740000 0204000000147258595a00000218000000146758595a0000022c00000014 6258595a0000024000000014646d6e640000025400000070646d64640000 02c400000088767565640000034c0000008676696577000003d400000024 6c756d69000003f8000000146d6561730000040c00000024746563680000 04300000000c725452430000043c0000080c675452430000043c0000080c 625452430000043c0000080c7465787400000000436f7079726967687420 2863292031393938204865776c6574742d5061636b61726420436f6d7061 6e790000646573630000000000000012735247422049454336313936362d 322e31000000000000000000000012735247422049454336313936362d32 2e31000000000000000000000000000000000000000000000000000000 B=(0,4) =cd D=(13,15)=abd E =(8,9) = a Ec F=(9,13) = a c d CJ -0
r ffd8ffe000104a46494600010201012d012c0000ffe20c584943435f50524f46494c4500010100000c484c696e6f0 21000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049454320735 247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000001163707274000001500000003 364657363000001840000006c77747074000001f000000014626b707400000204000000147258595a000002180 00000146758595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000 002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f8000000146d656 1730000040c0000002474656368000004300000000c725452430000043c0000080c675452430000043c0000080 c625452430000043c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574 742d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313936362d 322e31000000000000000000000012735247422049454336313936362d322e3100000000000000000000000000 0000000000000000000000000000 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 :


fsp= bd + a-bc+ bcd +abd

fps= (b+d) (a+b+c) (a+b+c) (+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 secuen cial, de la siguiente forma: -Estados de entrada. Son las acciones que se pueden hacer al perro . Existen 4 posibles estados de entrada : Jo : Darle un hueso. 11 : Quitarle un hueso . 12: Amenazarle. 13:Nada. -Estados de salida. Son las posibles acciones del perro : Op: No muerde. 01 : Muerde.

-Estados de la mquina. Son los estados del perro: T: Tranquilo. 1 : rritado. A: Asustado. A: rritado y asustado . Como el perro muerde (O 1) si y slo si est irritado y asustado (A), la tabla de estados sigue el modelo de Moore. La tabla se obtiene directamente del enunciado y se muestra en la figura:

lo
T

11 1 A A A A A A

12

13 T 1 A A
00

T T T T

00 00 01

A A

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 1 T 00 00 00 1 01 01 11 A 11 10 10 A 10 1101 Los cuatro estados de entrada se codifican mediante dos entradas de forma que se tiene X1X0: 00 (0),01 (1),10 (2),11 (13).Entonces, las tablas de transicin/salida:
ASGNACN 1 ASGNACN ASGNACN X1X0 XXo XXO
q1g 00 01 11 10 Z g1go 00 01 11 10

glgo 00 01 11 10 Z

T=00 01 110 T=00000100100 T=00001100100 =0100 01 01 10 0 =0100 01 01 11 0 A=01 00 01 01 01 1 A=11001011110 A=1100111111 1 =11001111010 A= 1000 10 10 10 1 A=1000 11 10 10 0 A=10 00 01 10 10 0
Q1Qo=D1D0 Q1Qo=D1Do Q1Qo=D1Do

386 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Utilizando biestables D las tablas de excitacin son las mismas que las de transicin . De ellas se obtienen las ecuaciones de excitacin/salida, para cada asignacin: Para la asignacin 1: D1= Xogl+X1X0 Do = X1X0g1+X1X0go+X1g1g0+X1XDg1g0

Z=g1go

Para la asignacin : D1 = X0g1+X1X0 D =X1X0+X o 180

Z= g1g0 Para la asignacin D1=X1 X0g0+X1.X0.g1+X0.g1q0+X1 X0q1q0


Do-X1X0+X180

Z=q1 q0

La solucin de menor coste es la segunda (). X X X

D 1

D 0

xl
X

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. A-B A-C MSCELNEA 387
Ahora debemos obtener el circuito que realice las operaciones A-B1 y A-C . La definicin del valor absoluto de A-B es la siguiente :
A -B si A>B A-B = B-AsiB>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 .
Bo A --, -x x>y
Minuendo

A RESTADOR A-B

Sustraen do

n x=y B y x<y

Si el nmero A es mayor que el B, entonces A-B1 = A-B . En el circuito anterior, si se cumple esta condicin, se escoge el canal 1 de los multiplexores, por lo que el restador den bits realiza la operacin A-B . Si el nmero A es menor que el B, A-B= B-A . En el circuito anterior se escogen los canales 0 de los multiplexores y el restador calcula B-A . Repitiendo esta estructura para A-C, nos queda el circuito siguiente: B
A A RESTADOR
Sustraendo A-B A -7n-x x>y

Minuendo

x x>y-

x=y B y x<y x=y nC A A RESTADOR C A~ n x>y C --/--x<y n x=y


Sustraendo A-Cl

Minuendo

y x<y

Solucin P17.-Cuando Start = O, los biestables D se ponen a 1 de forma asncrona . Los biestables D, tras un pulso Start, operarn con cada flanco negativo de W segn la secuencia:

w
Y
388 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

puesto que Dx= Y y Dy= X. Si X + Y = 1, los tres biestables JK tienen como entradas JK = 1 1 y operan como un contador de rizado (A es el menos significativo) . Si X + Y = 0, el biestable A tiene JAKA= 00 y no cambia de estado por lo que ningn otro biestable JK cambia de estado. W= B + Cproduce un flanco negativo (de 1 a 0) cuando BCpasa de 0 - -0 a 11 . De todo lo anterior se obtiene la siguiente secuencia de seales : Start L CLK A B C X YJ

ZJ 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 a14-0 CS R/W 32Kx8 a12-0 CS RW 00 8Kx8 01 10 1 1 nhibicin 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 :
MSCELNEA 389

R W CS CS2 R/W R/W2 0 0 1 1 * : segn el mapa de diseo que haremos 0 1 * * 0 0 a continuacin . 10* 11 11 De dicha tabla puede deducirse la siguiente relacin : R/W1= R/W2 = R . A continuacin se resuelve el mapa de memoria. Para ello colocamos la memoria de 32K en las primeras posiciones del mapa y la otra memoria de 8K a continuacin de sta . As ocupamos los 40K que nos pide el problema.
A15 A14 A13

0--Mi 1 00 M2 10 1 1 1 0 Vaco 11 1 Una posible solucin para el circuito de decodificacin es el que se muestra a continuacin :

La puertaNOR (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 CS2 se ha utilizado un decodificador 2:4 dejando as libres las lneas 1, 2 y 3 de salida para posibles

expansiones del circuito . Si se desea reducir el coste se puede eliminar dicho decodificador y poner en su lugar una puerta OR (m, A14, A13) donde m es la salida 1 del decodificador 1 :2.

390 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

A14--CS2 A13 b) Analizamos las palabras que se leeran de las memorias si en el bus externo de datos colocamos las siguientes direcciones : A15-A0= $FOCA A15 A14 A13 = 111 No hay palabra fsica seleccionada. A15 -A0= $4342 A15=0 Acceso a M1 A14 -A0= $4342 Se accede a la palabra$4342de M1 . A15 -A0= $9CAD A15 A14 A13 = 100 Acceso a M2 A12 Al 1 - A0 = $1 CAD Se accede a la palabra $1 CAD de M2 c) Para poder acceder a la direccin $7531de M1 tenemos que poner A15 = 0 y as se-leccionar dicha memoria. Para el resto de las lneas de entradas A14-A0= $7531 .Por tanto, la direccin que se necesita fijar en el bus externo es A15-A0= $7531. De forma anloga, para acceder a la palabra $0246 de M2 tenemos que fijar A15 A14 A13 = 100 y el resto de las lneas tomaran los valores siguientes : A12=0yA11-A0=$246. Por tanto, uniendo todos los valores de las 16 lneas que componen el bus externo, la direccin que necesitamos colocar en dicho bus para acceder a la que nos planteamos es A15 -A0= $8246.

BBLOGRAFA

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 estructurada en los libros existentes . Los fundamentos matemticos (Captulos 1, 2 y, en parte, el 6) suelen estar bien presentados tanto en los textos ms recientes [Garc92, Haye96, Llor96, Mano9l, Nels95, Sand90, Wake94], como en otros ms clsicos [Cava86, Givo70, Haye86] . En cualquiera de ellos 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 [Cava86] ; y un buen equilibrio se encuentra en [Haye86/96, Nels95, Wake94] . Adems, para ampliar conocimientos sobre funciones especiales puede estudiarse [Unge89] . En el bloque relativo a los circuitos combinacionales, nuestro Captulo 3 dedicado al anlisis lgico (incluyendo circuitos slo NAND (NOR)) y temporal (incluyendo azares) est bien tratado en [Garc92, Katz94, Mano91, Nels95, Wake94] . El diseo de circuitos a nivel de puertas

(Captulo 4) est tratado mediante mapas de Karnaugh en todos los textos mencionados; en [Givo70, Mano9l, Nels95, Wake94] se da una visin ms acorde con nuestros contenidos, incluyendo el mtodo de Quine-McCluskey, las diferentes formas de implementar expresiones sp o ps e incluso las realizaciones con puertas XOR . Para el lector interesado, el diseo ayudado por computador (CAD) puede encontrarse en [Haye96, Katz94,
392 PROBLEMAS DE CRCUTOS Y SSTEMAS DGTALES

Nels95] y sobre todo [Hi1193] . 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, Mano9l, 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, L1or96, 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 [A1mo94] . Por ltimo, el tema de nuestro Captulo 10, memorias semiconductoras, est muy bien presentado en [Haye86], teniendo tambin un adecuado desarrollo en [Garc92, Haye96, Mano9l l . 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 [Gree86, Hi1193, Katz94, L1or96, Lync93, Mand9], Mano9l/91b, Pros87, Taub83, Unge89] . Concretando ms, la descripcin a nivel RT se presenta bien en [Mano9lb] ; la interconexin entre registros, en [Katz94] ; las cartas ASM, en [Gree86, Mano9l] ; un lenguaje de descripcin, en [Hill93] ; estrategias de diseo de unidades de control, en [Gree86, 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]. [A1mo9 4] [Cava86 ] [Garc92 ] [Givo70 ] [Gree86 ] [Haye8 6] G. Almonacid et al. : "Circuitos digitales usuario ". sidad de Granada, 1994 . J.J.F. Cavanagh : "Digital computer implementMcGraw-Hill, 1986. J .E. Garca 1992.

programables por el

Univer

arithmetic: Design and

ation ".

et al. : "Circuitos y sistemas Digitales ". Tebar Flores, "ntroduction to switching circuit theory " . McGraw970.

D.B. Givone: Hill, 1 D. Green :

"Modem logic design". Addison-Wesley, 1986. de sistemas digitales y microprocesadores


-Hill,

J.P. Hayes: "Diseo ". McGraw1986.

[Haye96] J .P. Hayes: "ntroduccin al Diseo Lgico Digital ". Addison-Wesley, 1996.
BBLOGRAFA 393

[Hi1193] F.J. Hill and G.R. Peterson: "Computer aided logical design with emphasis on VLS". Wiley, 1993. [Katz94] R.H. Katz: "ContemporaryLogic Design".The Benjamin/Cummings Publishing Company, 1994. [Llor96] A. Lloris y A. Prieto : "Diseo Lgico". McGraw-Hill nteramericana, 1996. [Lync93] M. A. Lynch: "Microprogrammed State Machine Design ". CRC

Press, nc ., 1993 . [Mand91] E. Mandadoet. al.: "Sistemas electrnicos digitales".Marcombo, 1991. [Mano91] M.M. Mano:"Digital design".Prentice-Hall, 1991 . [Mano9l b] M.M. Mano: "ngeniera computacional. Diseo del harware".PrenticeHall, 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:"Modem digital design" .McGraw-Hill, 1990. [Taub83] H. Taub: "Circuitos digitales y microprocesadores " . McGrawHill, 1983. [Unge89] S.H. Unger: "The essence of logic circuits " . Prentice-Hall, 1989. [Wake94] J.F. Wakerly:"Digital Design: Principies and Practices".Prentice-Hall, 1994 . ffd8ffe000104a46494600010201009600960000ffe20c584943435f50524f46494c450001010000 0c484c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d 5346540000000049454320735247420000000000000000000000000000f6d6000100000000d32 d4850202000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000001163707274000001500000003364657363000001840000006c7 7747074000001f000000014626b707400000204000000147258595a0000021800000014675859 5a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000 002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f80 00000146d6561730000040c0000002474656368000004300000000c725452430000043c000008 0c675452430000043c0000080c625452430000043c0000080c7465787400000000436f70797269 676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e7900006 46573630000000000000012735247422049454336313936362d322e3100000000000000000000 0012735247422049454336313936362d322e31000000000000000000000000000000000000000 000000000000000

Potrebbero piacerti anche