Está en la página 1de 396
PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Carmen Baena ¢ Manuel Jests Bellido ° Alberto eee Molina Maria del Pilar Parra ¢ Manuel Valenc! wR. 6 AVY PROBLEMAS | DE CIRCUITOS Y SISTEMAS DIGITALES | Carmen Baena Oliva Manuel Jestis Bellido Diaz Alberto Jesus Molina Cantero Maria del Pilar Parra Fernandez Manuel Valencia Barrero Departamento de Tecnologia Electronica Universidad de Sevilla McGraw-Hill MADRID + BUENOS AIRES « CARACAS + GUATEMALA + LISBOA + MEXICO NUEVA YORK * PANAMA « SAN JUAN « SANTAFE DE BOGOTA « SANTIAGO + SAO PAULO ‘AUCKLAND « HAMBURGO * LONDRES « MILAN e MONTREAL « NUEVA DELHI « PARIS. SAN FRANCISCO « SIDNEY + SINGAPUR « ST. LOUIS + TOKIO + TORONTO TABLA DE CONTENIDOS PROLOGO ....... - Vii REPRESENTACION Y CODIFICACION BINARIA .......-.6.555005 1 ALGEBRA Y FUNCIONES DE CONMUTACION 19 ANALISIS DE CIRCUITOS COMBINACIONALES ........- oS DISENO DE CIRCUITOS COMBINACIONALES 2. .-2..0.050000065 51 SUBSISTEMAS COMBINACIONALES .........0-0-0000002 000000 89 CIRCUITOS ARITMETICOS 1.020.000.0000 000 e eee e eee 141 ANALISIS DE CIRCUITOS SECUENCIALES ........- 0.002 0200005 169 DISENO DE CIRCUITOS SECUENCIALES ........0-0 0000s eeu eee 197 SUBSISTEMAS SHCUENCIALES@ fe rere fetter seer ct on 229 MEMORIAS SEMICONDUCTORAS ......2.0. 0000000002 eee eees 263 INTRODUCCION A LOS SISTEMAS DIGITALES ........-.2-4+++ 291 DISENO DE UNIDADES DE CONTROL ..........0 020000000200 325 MISCELANEA viene ee 359 BIBLIOGRAFIA «2.2.0.0. 000020 ece cee ee ee eec sent ete ees . 391 PROLOGO Este ejemplar es un libro de problemas resueltos en el campo del Diseiio Légico. Como tal libro de problemas ha sido concebido con Ia finalidad de ensefiar cémo se aplican los conceptos y herramientas a casos concretos. Esto significa que nuestra atenci6n no se centra en el desarrollo de la doctrina tedrica, sino en tratar de explicar c6mo interpretar enunciados de problemas mis o menos bien especificados y, empleando los conocimientos te6ricos adquiridos por otras vias, resolver ese problema en particular y no otro. Como se ve, nuestros objetivos primarios son potenciar las capacidades de aplicacién de la teorfa y la de resolucién préctica de problemas En cuanto a la disciplina, el término Disefio Légico alude a materias tan bien conocidas como son los Circuitos y Sistemas Digitales 0 la Teorfa de Conmutacién. En ella se incluyen: 1) los fundamentos mateméticos usuales (Algebra de Boole, representaciones binarias de ni- meros y su aritmética, codificacién binaria); 2) la presentaci6n, andlisis y disefio de circuitos a nivel de conmutacién, tanto combinacionales como secuenciales; y 3) la descripcién y reali- zacién de sistemas digitales a nivel de transferencias entre registros (RT), organizando el sis- tema como una unidad de procesado de datos y otra de control. Aunque claramente fuera del contexto de este libro, las materias fronteras son, en el nivel inferior, el tratamiento eléctrico de las puertas l6gicas y, en el nivel superior, la arquitectura de computadores, asf como los sis- temas multiprocesadores. La proliferacién de aplicaciones y el considerable aumento de la complejidad experimentada por los circuitos digitales en los tiltimos afios hacen inviable el cu- brimiento completo de esta materia. Nuestro propésito ha sido desarrollar un conjunto de pro- blemas que den soporte y fundamenten adecuadamente a todos los circuitos y técnicas de Di- sefio Légico. Nuestro libro est pensado para un primer curso de Diseiio Légico, con aplicacién en diversos estudios universitarios tales como Informatica (fundamentos del hardware) e Ingenie- ria Electronica (realizacién de sistemas digitales). También es titil en algunos campos cienti- ficos, en concreto, los relacionados con la Teoria de Conmutacién, la Teorfa de Aut6matas y la Aritmética del Computador. Ademis, al estar fuertemente enfocado a la resoluci6n de pro- blemas, este texto también puede servir a profesionales que deseen realizar una puesta al dia vii viii PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES répida y eficiente en las realizaciones de circuitos y de sistemas digitales. El uso de este libro no requiere conocimientos especificos previos ni en Electrénica, ni en Computadores, ni en Matemiticas avanzadas. Sin embargo, al set un libro de problemas, el lector debe conocer a nivel te6rico los conceptos, principios y técnicas del disefio digital. En la actualidad hay dis- ponibles suficientes libros que cubren satisfactoriamente los aspectos te6ricos de esta materia (véanse las referencias que citamos). A ellos deberé acceder el lector para conocer los funda- mentos tedricos de este libro de problemas. No obstante, con el doble fin de resumir los con- ceptos mas importantes y de presentar la terminologia que utilizamos, en cada Capitulo hay una pequefia presentacién teérica. Ademis, en los problemas que introducen materias, durante su resolucién se detallan los nuevos aspectos te6ricos involucrados. En la realizacién 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 Estos. Por otra parte y desde un punto de vista mas prictico, 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 metodologia de resolucién. 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 sélo se ofrece la solucién final. Con ello se pretende que el lector se aventure en la resolucién de éstos y simplemente pueda comprobar la correccién de sus resultados. La organizacién elegida obedece a un cubrimiento de la materia que va de abajo a arriba (de forma similar a la metodologia “bottom-up”), avanzando desde lo més simple a lo mas complejo. En gran parte el material es autocontenido por lo que no se necesita ningin prerrequisito. Basicamente la materia contenida en este libro de problemas est dividida en tres gran- des bloques mas un Capitulo final. El primero de los bloques (Capitulos | al 6) corresponde a circuitos combinacionales, el segundo (Capitulos 7 al 10) a circuitos secuenciales y el tiltimo (Capitulos 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- cién, Asi, cada bloque consta de varios Capitulos, cada uno de los cuales contiene problemas de una materia concreta. Los problemas de estos Capitulos han sido desarrollados procurando que el lector vaya aprendiendo a resolverlos dentro de esa materia. Por el contrario, el tiltimo Capitulo esta ideado con la finalidad de que el lector evale su nivel de conocimientos. Para ello, por una parte, los problemas no se han ordenado segtin la materia, de forma que el lector no los sitée a priori en un contexto predeterminado; por otra, se incluyen algunos que afectan a més de una unidad tematica; y, por tiltimo, se presentan todos los enunciados juntos, cada problema separado de su solucién, con el fin de que el lector tenga que ir a buscar explicita- mente cada solucién. PROLOGO ix Coneretando, la organizacién de este libro de problemas es como sigue: Capitulo 1.- Aplicacién de los conceptos bisicos como son los sistemas de numeracién y lacodificacién binaria. Estos problemas estan orientados a practicar con las representaciones no decimales de magnitudes y las conversiones entre las distintas bases, asi como la de nime- ros con signo y fraccionarios incluyendo tanto el punto fijo como el punto flotante. También se tratan los principales cédigos binarios y decimales. Capitulo 2.- Desarrollo de los problemas relacionados con el algebra de Boole y con el manejo de las funciones booleanas incluyendo demostraciones de teoremas ¢ identidades, y las diversas representaciones de funciones de n variables (tablas de verdad, mapas binarios y de Kamaugh) y los teoremas para dichas funciones que dan lugar a las expresiones canénicas y estdndares. Capitulo 3.~ Andlisis de circuitos combinacionales, tanto a nivel puramente légico como temporal, incluyendo técnicas especfficas para el andlisis de circuitos con s6lo puertas NAND o NOR. Capitulo 4.- Disefio de funciones. En él se aplican técnicas de reduccién para obtener las expresiones minimas en suma de productos 0 producto de sumas (basadas en mapas de Kar- naugh y en los métodos de Quine-McCluskey y de Petrick). Ademis se presta una especial atenci6n a la obtencién de los 0's y los I's de una funci6n cuando ésta se da a través de una descripcién verbal de su comportamiento. Capitulo 5.- Presentacién de los subsistemas combinacionales de propésito especifico, en particular los que convierten cédigos binarios (decodificadores, codificadores y converti- dores de cédigos) y los comparadores. También se incluyen los subsistemas de propésito ge- neral como son los multiplexores y los subsistemas programables (las memorias de s6lo lectu- ra, los PLA's y los PAL's). Los subsistemas se estudian desde tres perspectivas: c6mo se cons- truyen a nivel de puertas, cémo se analizan circuitos que los contienen y cémo se disefian funciones utilizéndolos como componentes de la realizaci6n. Capitulo 6.- Desarrollo de los problemas relacionados con la aritmética binaria. En ellos se muestran tanto las operaciones aritméticas (suma, resta, multiplicacién...) como los circuitos combinacionales que las realizan (sumadores, sumadores-restadores y unidades aritmético-Idgicas). Capitulo 7.- Presentacién del biestable tanto a nivel I6gico (RS, JK, D y T) como a nivel temporal (sin reloj, disparados por nivel, tipo Master-Slave y disparados por flanco). También se aborda el andlisis de circuitos secuenciales. Se desarrollan tanto los circuitos sincronos o con una tinica sefial de reloj, como los asincronos, incluyendo en éstos los que operan mediante entradas asincronas y los circuitos que poseen més de una sefial de reloj.. x PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Capitulo 8. Disefio de circuitos secuenciales sincronos. Se muestran los distintos pasos del proceso habitual de disefio, sistematico en su mayor parte, y que consigue como resultado un circuito de coste reducido u 6ptimo. Algunos de los problemas van encaminados a practicar con determinados pasos del proceso mientras que otros muestran el proceso globalmente. Capitulo 9.- Desarrollo de los problemas de andlisis de circuitos secuenciales construi- dos con contadores y registros, el disefio interno de estos dispositivos para que posean opera- ciones especificas, su realizacién mediante la asociacién de subsistemas semejantes de menor tamaiio y el disefio en general de funciones secuenciales. Capitulo 10.- Problemas de memorias semiconductoras. Basicamente estan ditigidos al uso de estas memorias y a la formacién de memorias “principales” por la asociacién de varios de estos dispositivos (realizacién de mapas de memorias). Capitulo 11. Introduccién al nivel de transferencia entre registros (nivel RT) y al disefio de sistemas digitales. En particular, se tratan las formas de descripcién (notacién RT, cartas ASM y lenguaje HDL), conectndolas con los bloques de circuitos funcionales, basicamente registros. También se incluyen problemas sobre las técnicas de interconexién entre registros mediante buses y la realizacién de unidades de datos simples cuando se conoce su operacién anivel RT. Capitulo 12.- Disefio de sistemas digitales completos, esto es, la unidad de datos y Ia 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 disefio completo de sistemas digitales. Capitulo 13.- Presentacién de problemas de las materias ya tratadas. Capitulo 1 REPRESENTACION Y CODIFICACION BINARIA Los circuitos digitales operan con dos niveles de sefial, la mayorfa de las veces una tensién baja y otra alta. Desde el punto de vista matematico decimos que operan con sefiales binarias y los dos niveles se representan mediante 0 y 1. Toda la informacién que ha de procesar un sistema digital ha de expresarse mediante combinaciones de esos dos valores. En consecuencia, hay que describir cémo se representan los entes mediante 0 y | (codificacién binaria) y, mas espe- cfificamente, por ser esencial en el clculo, cémo se representan los ntimeros. REPRESENTACION POSICIONAL DE MAGNITUDES Un sistema numérico se caracteriza por sus sfmbolos basicos; estos son Ilamados digitos, cada uno de los cuales representa una determinada cantidad de unidades. A su vez, cada cantidad puede expresarse mediante una secuencia de tales digitos. En algunos sistemas la posicién ocu- pada por cada uno de los digitos dentro de la secuencia est4 asociada a un valor determinado (peso). Decimos entonces que se trata de un sistema de representacién posicional. Un sistema numérico de base r es un sistema posicional de representacién donde los pesos de los digitos son potencias de r. Asi, una magnitud M puede representarse en la base r de la siguiente forma: M= dy.p dpa dy dy. dy dg dign(e siendo d; un digito de dicha base y cumpliéndose que dj € {0,1,...r-I}y M = Para realizar cambios entre distintas bases existen diversos métodos. En este Capitulo se usan fundamentalmente los siguientes: fen — Para cambiar de base ra base 10, se aplica la formula; M= dj 7, ~ Para cambiar de base 10 a base r, se utiliza el método de las divisiones sucesivas para obtener la parte entera y e] método de las multiplicaciones sucesivas para obtener la parte frac- cionaria. ee 2. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES — Para cambiar de una base arbitraria r) a otra rp, se pasa en primer lugar de r) a 10 y después de 10 a rp. — Para cambiar entre las bases 2, 8 y 16 (potencias de 2) se utiliza un método de agrupa- cién de bits. REPRESENTACION DE NUMEROS CON SIGNO De entre las notaciones existentes para expresar ntimeros con signo nos hemos centrado en las notaciones signo-magnitud, complemento a 1 y complemento a 2. En algunos aspectos que de- tallaremos a continuaci6n las tres notaciones son similares. Se designa un bit especial denomi- nado bit de signo (b,) cuyo valor es 0 en ntimeros positivos y 1 en ntimeros negativos. En ni- meros positivos los demas bits representan la magnitud: A=0.aq.) Apr 8] Ag A AQ Am bit de signo magnitud La forma de representar los mimeros negativos es distinta para las tres notaciones: — En la notacién signo magnitud b, se hace igual a | y el resto de bits representan de nuevo la magnitud: -A : Se Ay-2 y 89 8.) 2 Bay bit de signo magnitud ~ En la notacién complemento a 1, el ntimero negativo es el complemento a 1 del co- rrespondiente nimero positivo: A= Cal(A)= 1 ay.) ap.2 8] AQ. 2p Ay Am ~ En la notacién complement a 2, el ntimero negativo es el complemento a 2 del co- rrespondiente nimero positivo: —A= Ca2(A)= Cal(A)+2™ REPRESENTACION DE NUMEROS EN PUNTO FLOTANTE, La representacién en punto (0 coma) flotante se basa en la notacién exponencial o cientffica. En dicha notacién los ntimeros se expresan en la forma M = m x b® (m mantisa, b base, e ex- Ponente). Esto permite expresar cantidades de muy distinto tamafio de forma compacta, por ejemplo, la masa del sol: 1.989 x 10° Kg 0 la carga del electrén: ~1.602 x 107!9 C. Si se su- pone conocida la base, basta representar los valores de mantisa y exponente. Esto es lo que se hace cuando se representan ntimeros en punto flotante. Una cantidad se puede expresar de muchas formas distintas en notacién exponencial, por ejemplo la velocidad de la luz, c, es 3 x 10° m/s 6 0.003 x 10!! m/s 6 3000 x 10° nvs, etc. Para trabajar con ntimeros en punto flotante se suele adoptar un convenio acerca de cual de las miiltiples expresiones de la forma m x bf es la que se escoge. En este Capitulo trabajaremos con mantisas cuyo digito mas significativo es “no nulo” (notacién normalizada), Por ejemplo, / REPRESENTACION Y CODIFICACION BINARIA supongamos que disponemos de 5 digitos para la mantisa, representaciones normalizadas de ¢ serian: 3.0000 x 10® 6 3000.0 x 10° 6 30000 x 10*, pero no Io serfa 0.0030 x 10'! 6 0.00003 x 10', Sin embargo, atin es necesario adoptar un segundo convenio para elegir una entre las diversas representaciones normalizadas. Ese convenio se refiere a concretar cual es la posicién del punto decimal de la mantisa, En este texto se trabaja con dos convenios = Notacién fraccionaria: el punto decimal esté a la izquierda del primer digito represen- tado de la mantisa, en nuestro ejemplo: 0.30000 x 10”, — Notacién entera: el punto decimal est a la derecha del iiltimo bit representado de la mantisa, en nuestro ejemplo: 30000 x 104. CODIFICACION BINARIA Por codificacién binaria se entiende la representacién de un conjunto de entes, numéricos 0 no numéricos, mediante palabras de n bits. Ahora presentaremos algunos cédigos binarios de cada tipo. La conversién entre la base 2 y la base 8 6 16 se realiza por agrupacién de bits. Por ex- tensiGn cualquier cédigo binario puede representarse mediante los digitos de dichas bases. Asi podemos hablar de cédigo octal y cédigo hexadecimal. cédigo cédigo cddigo octal hexadecimal lhexadecimal Entre los cédigos mas utilizados se encuentran los lamados cédigos decimales. Estos asignan a cada uno de los digitos de la base 10 una palabra binaria, Con su utilizacién se evita el proceso de conversi6n entre base 2 y base 10, aunque el nimero de bits precisado para ex- presar una cantidad es, en general, mayor. En la siguiente tabla se muestran algunos ejemplos: digito decimal | BCD natural | BCD exceso 3 2deS 7 segmentos 0 0000 oo1t 00011 1111110 1 0001 0100 00101 0110000 2 0010 0101 00110 01101 3 0011 0110 01001 1111001 4 0100 oun 01010 0110011 5 o101 1000 01100 1011011 6 on 1001 10001 oon 7 oll 1010 10010 1110000 8 1000 lout 10100 init 9 1001 1100 11000 1110011 \ 4 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Otro cédigo de gran interés es el cédigo Gray (0 cédigo 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 niimeros consecutivos se diferencian tinicamente en 1 bit. Se trata por tanto de un cédigo con distancia unidad. Como ejemplo de eédigo alfanumérico, en este texto se usa el cédigo ASCII. Mediante este c6digo de 7 bits es posible codificar las 26 letras del alfabeto, tanto maytisculas como mi- niisculas, los 10 digitos decimales, caracteres como <, @ , secuencias de control como ESC, NULL, etc. A continuacién se muestran algunos ejemplos: simbolo cédigo ASCII simbolo cédigo ASCII A 1000001 1 0110001 B 1000010 < 0111100 a 1100001 @ 1000000 b 1100010 ESC 0011011 0 0110000 NULL 0000000 A cualquiera de los cédigos anteriores se les puede afiadir un bit de paridad. El valor de dicho bit se asigna de forma que el mimero total de unos en la palabra sea par (hablamos entonces de bit de paridad par) o impar (hablamos entonces de bit de paridad impar). Indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: ~ Representacién posicional de magnitudes. - Conversién entre bases. - Codificacién binaria. - Niimeros con signo. - Niimeros fraccionarios en punto flotante. PROBLEMAS RESUELTOS Problema 1.- Recientemente se ha rescatado una extrafiisima nave espacial que provenia de los confines de la constelacién Ophiocus. Tras miitiples esfuerzos, nuestros cientificos han logrado deducir algunos datos sobre la civilizacién que la construyé. En vez de dos brazos, sus criaturas posefan uno sdlo que terminaba en una “mano” con un numero B de REPRESENTACION Y CODIFICACION BINARIA 5 dedos. En un cuadermo que encontraron en la nave habia escrito: “5X? — 50X + 125= 0 X, = 8, X2= 5" Suponiendo que tanto el sistema de numeracién como las mateméticas extraterrestres tengan una historia similar a los desarrollados en la Tierra, gcudntos dedos (B) poseian? Solucién P1.-Debemos encontrar un sistema de numeraci6n B en el cual se verifique que 8 y 5 son soluciones a la ecuacién encontrada. En un sistema posicional de base B una secuencia de digitos, dy. dp. n-t senta a una magnitud M sise cumple que M = 5 dj- Bi. j=o 4; do, repre- Aplicando dicha férmula a los coeficientes de la ecuacién: 5, 50 y 125, obtenemos la siguiente: 5: X2- (5 »B+0)-X+(1- B?+2-B+5)=0 Sustituyendo los valores X; = 8 y Xp = Sen la variable X: 5-82-(5-B+0)-8+ (1: B2+2 -B+5)=0 5: 5?—(5-B+0) -5+(1-B?+2-B+5)=0 Basta resolver el sistema formado por estas dos ecuaciones para encontrar que el tinico valor de B que satisface ambas es B = 13. Por tanto, los extraterrestres de Ophiocus posefan 13 dedos en su nico brazo. Problema 2.- Represente posicionalmente la cantidad "dieciséis unidades" en las bases 3, 7, By 16. Solucién P2.-La cantidad “dieciséis unidades” en base 3 debera cumplir (utilizando la nota- cién decimal en las operaciones): 16 =... 403-3 +dy-324d)°3! 41-34, 374... con dj =0, 162. Para obtener los valores de los digitos d; hay dos métodos: 1) Comprobar valores de dj hasta que la suma sea igual a la magnitud. En nuestro caso: 16 =1-374+2-3'41-39= 121g 2) Mediante divisiones sucesivas para la parte entera y multiplicaciones sucesivas para Con lo que 16 = ...0121¢3 = 121g. Nétese que sin més que sustituir el dividendo por la suma del divisor por el cociente y del resto, se obtiene la expresién general. ee 6 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Operando de la misma forma para los demds casos obtenemos: 16=2-7! 16=2-8'+0-8° 16=1-16'+0-16 En general, “r unidades” en base r se representa 10,,. Problema 3.- Represente el numero decimal 23.75 en las bases 2, 5, 6, 8 y 16. Solucién P3.- Obtendremos en primer lugar la representacién de la parte entera por el método de las divisiones sucesivas. Para pasar a base 2: Por tanto: 23,49 = 1011, Igualmente para las otras bases obtenemo: 23,19 = 435 = 356 = 278 = a6 En cuanto a la parte fraccionaria, ha de obtenerse mediante el método de las multiplica- ciones sucesivas. En el caso del paso a base 2: 0.75-2=15 La parte entera de esta cantidad es d_; la parte fraccionaria es la que se multiplica por Ia base en el paso siguiente: 05-2=10 La parte entera, en esta ocasi6n, nos da el bit dp. Como la parte fraccionaria es 0, todas las siguientes multiplicaciones darian como resultado 0 y, por tanto, el resto de los bits (d.3, d.g, ...) son iguales a 0. Portanto: 0.7519=O.1¢q y 23.759 = OIL AI Para base 5: 0.75 -5=3.75 9d, =3 0.75-5=3.75-3dy= por tanto, 23.7549 = 43.333..«5 Parabase6: 0.75-6=4.5 3d, =4 0.5-6=3.0 >d3=3,d4 por tanto, 23.7519 = 35.43(4 Parabase8: 0.758 =6.0 >dy por tanto, 23.7549 = 27.6 =d3=.. 0 REPRESENTACION Y CODIFICACION BINARIA 7 Parabasel6: 0.75 16 = 12.0 +d) =12,d)=0=d3= por tanto, 23.75,19 = 17. Cue Problema 4.- Convierta los siguientes nuimeros a base 10: a) 100.111010;2; b) 50(g; 6) 101.1/2; d) 198F 16. Solucién P4.- Para convertir a base 10 basta sustituir el valor de Ia base y de los digitos en la expresion M= 5 dj-1 y realizar las operaciones. a) 100,1110109= 1-27 41-284 1-2% 41-23 41-25 = 4.90625;19 b) 50g =5-8+0=40 19 ©) 101.1¢ Pet 2% 41-21 =5.5 a9 d) 198F yg = 1-16 +9 - 167 +8 - 16! + 15 - 16° = 65431 Problema 5.-Se cuenta que un rey, encantado con el juego, ofrecié al inventor del ajedrez el premio que desease. El inventor sdlo pidié 1 grano de arroz por la primera casilla del tablero, 2 granos por la segunda, 4 por a tercera y asi, el doble cada vez, hasta llegar a la ultima ca- silla (la numero 64). Los matemdticos del reino concluyeron que no habia arroz suficiente para pagar al inventor. ¢Sabria decir cudntos granos de arroz se necesitaban? Solucién P5.-La cantidad pedida M es, en base 2, el nimero compuesto por 64 unos: M=11...111 1 yaqueenesecasoM=1- 2041-2! 41-27 4...41-28 Esta cantidad es una unidad menos que la representada por un 1 seguido de 64 ceros. Entonces: M = 2% — | = 1844674407 x 10". Problema 6.- ¢ Cudntos bits son necesarios como minimo para representar cada uno de los siguientes numeros decimales? 50, 1000, 5000, 100000 y 1000000. Soluci6n P6.- Para calcular el nimero minimo n de bits que representa la magnitud M, tenga- mos en cuenta que n ha de cumplir la siguiente desigualdad: an-l_t (tedondeando), Problema 16.- Se dispone de 30 bits para escribir nimeros en notacién exponencial. De ellos se destinan 21 a la mantisa y 9 al exponente. Mantisa y exponente se escriben en notacién signo-magnitud. a) Determine los rangos de valores decimales que se pueden escribir. b) Represente en BCD los siguientes numeros: 1. Velocidad de la luz en m/s (3x10°). 2. Carga del electron en culombios (- 1,602x10~"9), 3. Masa del electrén en kilogramos (9, 109x103). 4, Aceleracion de la gravedad en m/s (9,807). 5. Cero. 6. Infinito. Solucién P16.- En notacién exponencial los niimeros se expresan en la forma: M =m x b® (in mantisa, b base, e exponente). En nuestro caso, hay que representar las cantidades pedidas en BCD. Por tanto la base es decimal, Cada digito BCD es codificado por 4 bits. Disponemos de 21 bits para la mantisa de los cuales uno es para el signo, los otros 20 bits nos permiten alma- cenar 5 digitos BCD. En cuanto a la parte fraccionaria, tenemos 9 bits, uno para el signo y 8 para dos digitos BCD. Por tanto, el espacio disponible se distribuye de la siguiente forma: i a Se Utilizaremos normalizacién fraccionaria, es decir, el punto decimal se encuentra a la iz- quierda del primer digito representado y ese primer digito ha de ser no nulo. a) El rango de valores positivos que se puede representar viene dado por el menor nd- mero representable: mantisa + 10000 y exponente — 99 que corresponde al 0.1 x 10™%°, y el mayor representable: mantisa + 99999 y exponente + 99 que corresponde al 0.99999 x 10” Por tanto el rango cubierto es [0.1 x 10°, 0.99999 x 107]. En cuanto al rango de valores negativos, seré [~ 0.99999 x 10, - 0.1 x 10-9}. REPRESENTACION Y CODIFICACION BINARIA 15 b) Las cantidades propuestas quedan: 1) 3 x 108, normalizado — 0.3 x 10°, los 30 bits serdn: 0/001 1]0000/0000}0000} 0000. 0/0000|1001 mantisa exponente 2)- 1.602 x 107!, normalizado — — 0.1602 x 10718, Jos 30 bits seran 10001] 01 10]0000[0010[0000 T0001 1000 3) 9.109 x 10-3}, normalizado > 0.9109 x 10°, los 30 bits serdn: {1001} 0001}0000| 1001] 0000 1/001 1}0000} 4) 9.807, normalizado — 0.9807 x 10!, los 30 bits serén: [1001] }000[ 0000 0111[0000 ofoood{ooor 5) Por convenio, cero, es el tinico ntimero con el primer digito de la mantisa a0. (Nor- malmente se ponen todos los dfgitos de la mantisa y el exponente a 0, pero bastarfa s6lo con fijar a cero el primer digito de la mantisa). {0000} xxxx}XXXX|XXXX]XXXX X|XXXX[XXXX 6) Infinito. Con signo positivo, por convenio viene dado por el mayor niimero represen- table, Con signo negativo, serd el menor representable: +infinito — [oftooi[100i}100i[100i]1001 o[1o0i[1001 ~infinito [1}1001[r001[r007] 10011001 of100i] 1001 mantisa exponente Problema 17.- Represente el nimero (+ 31.5);9 con un coeficiente entero normalizado de 13 bits y un exponente de 7 bits como: a) Un nimero binario (asuma base 2). +) Un numero octal binario coalificado (asuma base 8). ¢) Un nuimero hexadecimal binario codificado (asuma base 16). Solucién P17. a) 31.5419 = 1111112 pero hemos de escribirlo en forma exponencial de manera que la mantisa tenga 13 bits (incluido el bit de signo) y el exponente 7 bits (incluido bit de signo): 31.519 = 0111111000000 x 27%, Entonces la mantisa, de 13 bits, es: 0 1111110000000 y el exponente, de 7 bits, es: 1000111 16 | PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) 31.519 = 37.4¢g, también 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 digitos octales, y cada digito octal se codifica mediante tres bits. Por tanto, hemos de escribirlo en forma exponencial de modo que la mantisa tenga 4 digi- tos octales (+ el bit de signo son un total de 13 bits) y el exponente 2 digitos octales (+ el bit de signo hacen un total de 7 bits). Entonces: 31.519 = 3740 x 8°, con lo que la mantisa quedarfa: 0.011 111 100.000 y el exponen- te, de 7 bits, es 1 000 010. c) 31.5(19 = IF.8(16, en este caso la normalizacién ha de realizarse teniendo en cuenta que un digito hexadecimal se codifica con 4 bits. La mantisa, por tanto, ha de tener 4 digitos hexadecimales (12 bits). 31.510 = IF8 x 1671, por tanto, la mantisa seré: 0 0001 1111 1000, y el exponente quedaré: 1 00 0001. PROBLEMAS CON SOLUCION RESUMIDA Problema 18.- Represente los siguientes nuimeros decimales en base 2 y compruebe el re- sultado: a) 17; b) 94. Solucién P18. a) 17,49 = 10001, . b) 9419 = 10111102. Problema 19.- Pase los siguientes codigos hexadecimales a cédigo binario, octal y BCD: a) $F2.B5; b) $B02.A; 0) $25.FA; d) $71.02. Solucién P19.- El cédigo BCD corresponde a la representaci6n binaria de un néimero decimal. Esta se obtiene asociando a cada digito decimal su representaci6n binaria de 4 bits. Para pasar un nimero desde una determinada base a BCD, deberd obtenerse en primer lugar el nimero en base 10, y después hacer la conversién antes indicada. a) $F2.B5 = 1111 0010.1011 O101¢y = O11 110 010.101 101 010, = 362.552¢g . Para representarlo en BCD pasamos a base 10: $F2.BS =F x 16 +2x 160+ 11 x16! +5 x 167 = 242.70;19 > 0010 0100 010.0111 cp). Procedemos de igual forma con el resto de los casos: b) $B02.A = 1011 0000 0010.1010;9 = 5402.5¢g = 2818.625,19 = 0010 1000 0001 1000.01 10 0010 0101 (gcpy- 1010 01011111 1010, = 45.764¢g = 37.9779 = 0011 011.1001 0111 0111 coy. 11 1 0001.0000 0010, = 161.004; = 113.007 19 = 00010001001 1.0000 0000 0111 ecp) c) $25.FA d) $71.02 REPRESENTACION Y CODIFICACION BINARIA 17 Problema 20.- Represente el numero decimal 8620 (a) en BCD, (b) en cddigo exceso 3, (c) en cédigo 2, 4, 2, 1 y (d) como numero binario. Solucién P20. ) 8620;19 —> 1000 0110 0010 0000gcp)- b) 8620,19 -» 1011 1001 0101 001 Nexceso-3) c) El c6digo 2,4,2,1 es un cédigo pesado de 4 bits cuyos pesos son precisamente 2,4,2,1 Entonces, 8620;1 > 1110 1100 0010 0000 d) Lo mas fécil es pasar primero a base 16 por el método de las divisiones sucesivas y después pasar a base 2, desde base 16. 8620;19 > 21 AC, > 0010 0001 1010 1100, > 100001 10101100, . Problema 21,- Un cédigo binario usa 10 bits para representar cada uno de los diez digitos decimales. A cada digito le asigna un cédigo de nueve ceros y un uno. El cédigo binario para el numero 6, por ejemplo, es 0001000000. Determine el cédigo binario para los nimeros de- cimales restantes. Solucién P21.- Se trata del c6digo “1-hot”, también llamado “1-out-of-n”. En este caso n = 10. digito | bobgbybgbsb4bsbyb by 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1000000000 weIraAUuRun-o 18 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 22.- Obtenga un cédigo binario pesado para los digitos de la base 12 usando los pesos 5421. Solucién P22. digito $421 Problema 23.- Determine el rango de valores numéricos que pueden escribirse en palabras de 8, 16 y 32 bits, en las diferentes notaciones de nimeros enteros con signo. Solucién P23.- Con n bits se representan los siguientes rangos: ~ Signo-magnitud: (- (2""! - 1), +2"! - 1)] —Complemento a 1: [= (2%! - 1), +(2"!- 1)] ‘ ~Complemento a 2: [- 2°"! + (2°! — 1] Entonces para los valores de n propuestos: n® de bits signo-magnitud y complemento a2 complemento a1 8 [- 127, + 127} {- 128, + 127] 16 [— 32767, + 32767] [— 32768, + 32767} 32 E14 Q@- 1) (-23, 431-1] Problema 24.- Un registro de 30 bits almacena un numero decimal en punto flotante repre- sentado en BCD, Los coeficientes ocupan 21 bits del registro y se asume como un entero nor- malizado. Los nimeros en el coeficiente y el exponente se asumen representados en forma de signo-magnitud. ¢Cudles son las cantidades mayores y menores que pueden ser acomo- dadas excluyendo el cero?. Repita para representacién binaria, con base 2, si se representa con fraccién normalizada. Solucién P24. BCD normalizado entero, — Cantidad mayor positiva: 99999 x 10°9. —Cantidad menor positiva: 10000 x 107% = 10795. Base 2 fraccién normalizada, — Cantidad mayor positiv: — Cantidad menor positiva: LLL. TLL x QUEL (9-21) 2258, 100...000 x 2-H < 9-l 9-255 = 9-256 Capitulo 2 ALGEBRA Y FUNCIONES DE CONMUTACION El modo més riguroso e inequivoco de describir la funcionalidad de los circuitos digitales es de forma matematica, mediante expresiones y funciones de conmutacién. Con ello, ademds, se facilita e] desarrollo de métodos més o menos sistematicos a la hora de abordar las tareas de andlisis 0 diseiio de circuitos. Es objetivo de este Capitulo familiarizar al lector con los con- ceptos relacionados con el algebra de conmutacién, el manejo de expresiones l6gicas y las for- mas de representaci6n de funciones que se utilizardn en este y otros Capitulos. ALGEBRA DE CONMUTACION El lgebra de conmutacién es un sistema matematico compuesto por un conjunto de dos ele- mentos: B = {0, 1}, y dos operaciones OR (+) y AND (:) definidas en B de la siguiente forma: +]o 1 a1) i ojo 1 ojo 0 1fad 1fo. OR AND El dlgebra de conmutacién cumple los postulados del silgebra de Boole. De ahi que po- damos decir que la primera es un caso particular de la segunda. Los postulados del algebra de Boole son los siguientes: PI. Ley de identidad: Existen elementos identidad (0 para la operaci6n “+” y 1 para la operacién “-") de forma que para cualquier elemento x, se cumple: x+0=Xx x-1=k P2. Ley conmutativa: Para cualesquiera dos elementos x e y, se cumple: xty=y+x x-y=yex P3. Ley distributiva: Dados tres elementos x, y, z se cumple: X+(y-z)=(x+y)-(x+2) X-(YFZEX-YHK-Z 20 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES. P4. Ley del complemento: Para todo elemento x existe un elemento x tal que: x+x=1 x-x=0 A partir de estos postulados es posible probar una serie de propiedades de interés. Estas propiedades, que aqui simplemente se enumeran, son demostradas en el problema | para el caso general del dlgebra de Boole y probadas en el problema 2 para el algebra de conmutacién. TI. Ley de idempotencia: KHKSK K-X=SX T2. Ley de unicidad del complemento: el elemento x del postulado cuarto es tinico. T3. Ley de los elementos dominantes: x+1l=1 x-0=0 T4, Ley involutiva: (x) =x TS. Ley de absorcin: x +x-y=x x-(x+y)=x T6. Ley del consenso: x+X-y=x+y x-(K+y)=x-y TT. Ley asociativa: = x-(y-z)=(K-y)-z xt (ytZ)=(K+y) +z TS. Ley de De Morgan: ky=x+y x+y=x-y T9. Ley de De Morgan generalizada: TIO. Ley del consenso generalizado: KeytRezty-Zex-yshez (x+y) &+2)-(y+z=K+y)- +2) FUNCIONES DE CONMUTACION ‘Son funciones que se definen sobre el conjunto B = {0, 1} del dlgebra de conmutacién. Estric- tamente se definen como: f: BX... XBXB = B” > B. Asf una funci6n de n variables asigna un valor o imagen de B (0 6 1) a cada punto del espacio B®: (X1,X9, ...Xq). Por ejemplo, una funcién de tres variables: f(x, y, z) se puede definir de Ia siguiente forma: £(0,0,0) = 0, £(0,0,1) = 1, £(0,1,0) = 0, £(0,1,1) = 1, £(1,0.0) = 0, £(1,0,1) = 0, £(1,1,0) = I, f (1,1,1) = 1. A veces no todas las combinaciones de las variables tie- nen imagen, decimos entonces que la funcién es incompleta o que esta incompletamente espe- cificada. Cuando esto sucede, por ejemplo, en la combinacién (xp,¥o,20) lo simbolizamos de la siguiente forma: f(xq,yo,20) = d 6 f(X,¥o.20) = -, donde los simbolos “-” y “d” (don't care) son Ilamadas inespecificaciones o indeterminaciones. REPRESENTACION DE FUNCIONES Existen diversos modos de representar las funciones de conmutacién. Algunas formas utilizan tablas 0 mapas (modos gréficos). Otras, consisten en expresiones algebraicas. A continuacién daremos algunos detalles sobre las formas de representacién 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- Jor que toma la funcién para cada combinacién de las variables de entrada. A continuacién se muestra un ejemplo para una funcién de tres variables. Nétese que para n variables se necesi- tarfa una tabla de 2” filas. Asf, este tipo de representacién es més interesante para funciones de un niimero reducido de variables. ALGEBRA Y FUNCIONES DE CONMUTACION — 21 — Mapa de Karnaugh. Es también una forma grafica. Las variables de la funci6n se dividen en dos grupos. Uno de ellos se sitda 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 cédigo Gray. Asi, disponemos de una cuadricula en cuyas celdas se anota el valor de la funcién para la combinacién de las variables asignada. La propiedad principal es que dos celdas geométricamente adyacentes también co- rresponden a cédigos I6gicos adyacentes. En el ejemplo se muestra un mapa para una funcién 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 representacién aumenta su tamaito de forma potencial con el mimero de variables. Si el orden en que se escriben los valores de las variables es el binario natural, el mapa es denominado binario. ab cdX_00_01 11 10 oo} of of o | 0 oi} 1 | 1 }o jo Mo fofi fi 1o)o} ryt fa — Expresiones o férmulas. En este caso se utiliza una expresién algebraica para representar las funciones. Se combinan las variables con los operadores NOT!, AND? y OR. Aquellas combinaciones de las variables que hagan 1 (6 0) la expresién serdn las combinaciones en que la funcién es 1 (6.0). Algunos tipos de formulas son de un interés particular. Entre las més destacables estén las formas canénicas y esténdares. Tanto unas como otras tienen en comtin que son férmulas compuestas tinicamente por suma de productos, o bien, tinicamente por producto de sumas. En las formas canénicas, ademas, se cumple que los productos son siempre mintérminos y las su- 'NOT(x) 2 | simbolo de! operador AND (-) puede omitirse: a - b 22. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES mas son maxtérminos. Tenemos asf que las formas canénicas son sumas de mintérminos 0 pro- ducto de maxtérminos. A continuacién se muestra para la funcién de cuatro variables del ejem- plo anterior expresiones en forma canénica y esténdar tanto de sumas como de productos. ~ Suma de mintérmin fa, b,c,d)=abcd+abcd+abcdtabcd+abcd+abcd+abcd= =m) + ms + mg + mig + My; + M4 + M5 =E (1, 5, 6, 10, 11, 14, 15). — Producto de maxtérminos: fla, b,c, d)=(atb+c+d)(atb+e+d)(a+b+e+d) (at+b+c+d) (a+b+c+d) G@+b+c4+d)(@+b+c+d) @tbec+d) @tb+ct+ d= = Mp Mz M3 Mg M7 Mg Mg Mj2 M}3= 11 (0, 2, 3, 4, 7, 8, 9, 12, 13) — Suma de productos: fla,b,c,d)=aed+ac+bed. — Producto de sumas: fla, b,c, d)=(c +d) @+c)(a+e+d (a+b+0) Mientras que las dos primeras formas son tnicas para cada funcién (canénicas), las dos siguientes (es- tandares) no lo son, pero presentan una mayor simplicidad. indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — Demostracién de teoremas e identidades. ~ Manejo de expresiones I6gicas. ~ Representacién mediante tablas, mapas y formas canénicas y estindares. PROBLEMAS RESUELTOS Problema 1.- Demuestre los teoremas booleanos en base a la definicién del algebra. Solucién P1.-Nos basaremos en los postulados del dlgebra de Boole: P1. Identidad: =l P2. Conmutativa: x-YSy-x P3, Distributiva: K#(YZE(KtY) (KHZ) (YH DEK YHK-Z P4. Complemento: el x-x=0 Los teoremas y sus demostraciones se relacionan a continuacién. Ti.Idempotencias = x+x=x = X-X=X K$K=(X+X)- 1S (x +X) (KF XV EXEKXEK+O0= KXSX X+O0=SK-K#X-KEX-(X4+X) SX TEX Hemos aplicado los postulados PI, P4, P3, Pa y PI, en ese orden: 2. Unicidad del complemento: VaeB,J'a'eBla =a Si existieran dos complementos, a; y a se cumplirian las siguientes igualdades (por P4): atay=1 atay=l a-aj=0 a-aj=0 Entonces: ay =ay-1 =a) -(a+ay)=ay-atay-ay=0+a)-ay=a-aytay a= a+ ay) «ay +a) = ay ALGEBRA Y FUNCIONES DE CONMUTACION — 23 Se han aplicado los postulados P1, P4, P3, P2, P4, P3 y Pl, en ese orden. 13. Elementos dominantes: x+1=1 x-0=0 Xt 1 -(x+X) Hx Kex+kel : O+x- X=x(OFX)=X-X=0 Los postulados utilizados son Pl, P4, P3, P2, Pl y P4. T4, Ley involutiva: (x) = x () =@) +0=() +x- =) +x) [+X] =1G) +x] T= = (Gtx) (x +=x+[e- QQ] =x+0=Kx donde se han aplicado P1, P4, P3, P4, P2, P4, P2, P3, P4 y Pl TS, Ley de absorci6n: x +x-y=x X-(xty) =x X4x-y=x-Ltx-yox-(1+y)=x-l=x x: (x+y) =(x+0)-(K+y)=xt0-y=x+0=x En esta demostracién hemos usado PI, P3, T3 y PI en ese orden. 6. Ley del consenso: x+X-y=x+y x: (K+y)=x-y X#X-V=(K+X)-(Xty)Sl-(K+yaxty X-(XFY)SX-XEX-Y SOK YER Y Los postulados en que nos hemos apoyado son P3, P4, P2 y Pl. T7.Ley asociativa: x -(y-z)=(x-y)-2 XH (ytzZ)= (x+y) +z Para demostrarla es necesario demostrar previamente tres lemas: [at (b+0)] (ambos por T5) -[b+(ato)] cuya demostracién es: atb-(a-c)=(a+b):-(a+a-c)=(at+b)-asa a-[b+(ato]=a-b+a-(atc)=a-b+asa donde hemos utilizado P3 y TS. L3.asatb-(c-a) a=a-[b+(c+a)] por P2y L2. Ahora demostremos la ley asociativa: Ke(y+2) =xtz-(x-y)] (ly +z--y)]-+z-(K-yP= — (porL2,L3y Li) =[k+z-(x-y)] ye zt+2-(-y))= (por P3) = (aqui también hemos aplicado P3) = (esto, por P2) =[z+x-(y-2))-k-y+x-(y-D)= (donde hemos aplicado P3) =z-[x-y+x-(y-2]= (por L3) =z-[x+x-Q- 2) lytx-Y-Dl= (por P3) =Z-(x-y)=(K-y) +z (por L1, L2 y finalmente P2). Luego, hemos probado x « (y 2) = (x+y) +2 Por otra parte, x#(y+2) =x-[zt(xty] +(y- [z+ Fy] +z: [2+ (x+y)) = (PorL2,L3y LI) x-[z+(xt+y)] +(y+2)-[2+(%+y)]= (Por P3) [x+(y+2)] -[z+ (x +y)]= (aquf también hemos aplicado P3) [z+(x+y)] -[x+(y +2] = (esto, por P2) uuu 24 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES =z-[x+(y +2] +(x+y)-[x+(y +z] = (donde hemos aplicado P3) =zt(xty)-[x+(y+2]= (porL3) =24+x-[x+(y+Z] +y-[x+(y+Z]= (por P3) =24+(x+y)=(x+y)+z — (porL1,L2y finalmente P2). Con lo que queda probado que x + (y +z) =(x+y) +z. ‘T8, Ley de De Morgan: KY=X+Y xty La base de la demostracién es que como el complemento e =x nico y cumple el postulado P4, entonces, si A+B = I y A B = (es porque A = B, esto es: A ooo B=0. Sean A=%+Y, B =x - y; demostremos que A = B. SASBaxtytx-yaxtytxaxtxty=l+y=l — (16,P2,P4y TH). SA-Ba(X+y)-x-y=x-x-y+¥-x-y=O-y+0-x=0+0=0(P3, P2, P4, 73, Tl). : x + y; demostremos que A B. +yty=x+l=1 — (T5,P2,P4y 73). 0-y+x-0=0+0=0(P3, P2, P4, T3, Tl). SA+Bak-yextysytxty: SA-Bax-y:(K+y)=x-y-X4K-y- 9. Ley de De Morgan generalizada: XyZu=K+y+Z+.. xyae x+y+z En las dos demostraciones se utilizan los teoremas T7 y T8 alternativamente. T10. Ley del consenso generalizado: XoYAR-ZHY-ZEX-YHReZ — (K+y)- KD (y+ a+y) +7) x-y+k-gty-zex-ytk-zty-z-1= 1) xeytX-zty- 2 (xX) = (P4) X-YHtX-Z4+y-z x+y -Z- x= (P3) X-YAX-Y-ZHK-ZEK ZY (P2) X:Y+K-z (T5) (x+y) &+z)-Y+D=+y)-&+2)-(¥+z40)= Pl) K+y) (+2) (YtZtx- R= (P4y K+y)- 42) GY tz4x (Ytz40= (P3) X+y)-(K+y+2Z)-(K42)-(KHZFY)= (P2) x+y) (K +2) (TS) Problema 2.- Demuestre los teoremas booleanos en el algebra de conmutacién comproban- do su validez mediante tablas de verdad. Solucién P2.- A partir de la definicién de las operaciones AND (:) y OR (+) en el Algebra de conmutacién, comprobaremos: ~ Idempotencia: x — Elementos dominant: +K, XEX-X; x+1l=1, x-0=0; ALGEBRA Y FUNCIONES DE CONMUTACION — 25 ~ Involutiva: —Absorcién: x +x =X, x(x ty) =X —Consenso: K+KYSX4+y, xX(K+y)=xy; —Asociativa: (x+y)+z=x+(y+2),___ (Ky)Z=K(¥: —Ley De DeMorgan: xy=X+y, xty=ky. En las dos tablas siguientes podemos ver la comprobacién de todos los teoremas excepto el de la ley asociativa que se prueba a continuacién. Pp (donde p =x) | X+XY | x(x+y) 0 Bi lecalleesllecnlieo)| -onol< toe 0 0 1 1 cc ecco 0 0 0 0 il 1 1 1 oon- te a x e = + Ss < x z <1 :| < x1 wel, f=1] xy=1x=hy wysl=>w=Ly=l oon con ello, la tabla de verdad es: wxyz | f 0000 ooo1 0010 oo1l 0100 0101 o110 o1ld --coccocl] b) Sif = (w+ x+y) (x +z) (w +x), es facil encontrar los ceros de f: w+x+ty=0= w=0,x=0,y=0 F209] x+z=0=> x=0,2=0 w+x=0=> w=0,x=0 con ello, la tabla de verdad es: wxyz | f wxyz | f 1000 1001 1010 loi 1100 1101 1110 lil Sooo Problema 8.- Obtenga los mapas de las siguientes funciones: a) f=5 (5, 6, 7, 12) + d(1, 3, 8, 10). b) f=I1 (10, 13, 14, 15) d(0, 1, 2, 8, 9). o)f=E (1, 2, 3, 8 12, 23) + d(17). ALGEBRA Y FUNCIONES DE CONMUTACION 29 Solucién P8. a) f (a, b, c, d) = (5, 6, 7, 12) + d(1, 3, 8, 10) ab cd 00_01_ 1 10 oo} of ola] a {ey x ofa}d}olo | Be la }i1fojo ; whol ifo}4 b) f (a, b,c, d) = 11 (10, 13, 14, 15) + dO, 1, 2, 8, 9) c)f (a, b, c,d, e) = £ (1, 2, 3, 8, 12, 23) + d(17) b ed 000 001 011 010 110 111 101 100 o}o}o}ifi}o}ojo}o or }ojo};o}ololola Mi fo}o}o}o}ofiso lo} 1} of o}o}o}ofo}o 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) v]. 30 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P9. a) (ab+ac)(ab)=ab (por la ley del consenso) Con esto tenemos una forma en suma de productos, donde el producto p = ab es el tini- co. También tenemos un producto de sumas, donde los términos suma son dos: s; =ay s,=b b) xy (v4) [(x+y) VJ =xy (vw) (x+y) Vevxy (x+y) =v xy (ley de absorcién) Con esto tenemos una forma en suma de productos, donde el producto p = v x yes tnico. También tenemos un producto de sumas, donde los términos suma son tres: s) = v, 82 = X, S3=Y. c) x + yz, es suma de dos productos, p; = x, p2 = y z. Por otra parte, aplicando la propie- dad distributiva: x + yz =(x + y) (x + z). Con ello tenemos una expresi6n en producto de sum Sp=K HY, SQ=X4z d)f=(atb+c)(d+a)tbetac Para reducirlo a una forma en producto de sumas operaremos sobre la expresién de f aplicando repetidas veces la propiedad distributiva: (atb+c)(atd)+betac=(atb+c)(atd)t(atb)c= (a+b+c)(@+d)+(a+b)] [(a+b+c)(at+d) +c] = =[atb+c+atb)+(at+dtatb)] [(atb+cte)(atd+o)]= =(atb+c)(a+b+d)(atc+d). Obtenemos por tanto un producto de tres términos suma: s;=a+b+c,s,=a+b+d ysj=ate+d, De forma similar se puede obtener una expresién en suma de productos: (at+b+o)@+d)+betac=[at(b+c)d]tactbc=atactbe+(b+c)d= zatbe+bdted Son, por tanto, cuatro términos producto: py = d,pgzed I P2 = b ¢, p3 Problema 10.- Determine y exprese en forma de mintérminos y maxtérminos las funciones fy + fey fy - fz, siendo: f, =11 (1, 2, 3, 5, 6, 7, 13, 14, 15); fp = E (0, 4, 8, 9, 10, 14, 15) Repetir para f; ® fp y la equivalencia: f, © fp. Solucién P10.- Para expresar la funcién f; + f, como suma de mintérminos hay que tener en consideracién que todos los mintérminos de f} y todos los mintérminos de fy son mintérminos de fy + fy ya que | + x = 1. Entonces: fy +f) = (0,4, 8,9, 10, 11, 12, 14, 15), y por exclusi6n: fy +f =TT (1, 2, 3, 5,6, 7, 13). Para expresar la funci6n f; - fj, es mejor comenzar por la expresi6n en forma de produc- to de maxtérminos ya que debido a que 0 x = 0 podemos decir que todos los maxtérminos de f, y todos los de fy son maxtérminos de f} - f. Entonces: f, -f) =I (1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15) = (0, 4, 8, 9, 10). En cuanto a la funcién f, ® f9, para que sea | es preciso que f y fy sean distintas. Por tanto, los mintérminos de f; @ f son los mintérminos de f, que no lo son de fy y los de f; que no lo son de fy: fy f= E(11, 12, 14, 15) =I (0, 1, 2,3, 4,5, 6, 7, 8,9, 10, 13) N ALGEBRA Y FUNCIONES DE CONMUTACION 31 Finalmente, como f; © f es la funcién negada de f, ® f>, tendremos: f, ® f= M1 (11, 12, 14, 15) =£ (0, 1, 2, 3,4, 5, 6, 7, 8, 9, 10, 13). Problema 11.- Sea el circuito combinacional con cuatro entradas A, B, Cy D, tres salidas in- termedias P, Qy Fly dos salidas T; y Tz, como se muestra en la figura. Sélo Q y R pueden tener inespecificaciones. A Q G = el P ci D Ry (G,)—» 1, eee eee = 11,15) a) Suponiendo que tanto Gy como G2 son puertas AND, obtenga el mapa de la funcién Prin (€8 decir, la funcién P que tiene el menor numero de mintérminos) que permite obtener Try Ta ) Obtener los mapas para Q y R correspondientes al Pmin anterior. Indique, explicita- mente, las posiciones de las inespecificaciones. ¢) Suponiendo que Gy Gz son puertas OR obtenga el mayor Pmax (la funcién P con mayor numero de mintérminos) y sus mapas correspondientes para Q y R. d) {Pueden obtenerse Q, Py R si G; es una puerta AND y Gz una puerta OR? ZY siGy es una puerta OR y G2 una puerta AND? Solucién P11. a) G, y Gy son puertas AND. Eneste caso T; = Q- Py T) = R -P, por tanto, Qy P tienen que tener todos los mintér- minos de T, (0 sea: 0, 1,3, 4, 5,7, 11, 15), y Ry P tienen que tener todos los mintérminos de Tp (0 sea: 2, 3, 6, 7, 11, 15). Entonces P como minimo tiene que contener todos esos mintér- minos, luego: Pmin = E (0, 1, 2, 3, 4, 5, 6, 7, 11, 15), b) La funci6n Q tiene al menos los mintérminos de T}; R tiene los de T. Ahora bien, Q tiene ceros en las celdas en que Pryin vale 1 pero T; no es 1; por ejemplo, 2 es mintérmino de Prin Pero no lo es de Ty, por lo que 2 es un 0 de Q. Lo mismo ocurre para R con respecto aT y Prin: Por ultimo, en las celdas donde Ty vale 0 y Ppjn también es 0, Q esta inespecificada; algo similar ocurre para R respecto aT y Pryin- Por tanto: Q=E(,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) Gy y Gy son puertas OR. En este caso T, = Q + P y Ty = R +P, por tanto donde T, sea cero también deben de serlo forzosamente Q y P (o sea en 2, 6, 8, 9, 10, 12, 13, 14) y donde T lo sea deberdn serlo jetieetenteg a 32 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES también R y P (0 sea en 0, 1, 4, 5, 8, 9, 10, 12, 13, 14). Asi, P tendra como maximo los mintérminos que sean comunes aT; y Tz: Prax = E (3, 7, H, 15). Qy R contendrén los mintérminos que le faltan a P para completar los de T, y Ty: Q=E(0, 1, 4,5) +d(3,7, II, 15). R=E (2,6) +d(, 7, 11, 15). Las celdas en que Q estd inespecificada son aquellas en las que T, vale I y Pmax también es 1. Algo similar ocurre para R respecto aT y Prax. d) Noes posible, ya que si G; es una AND y Gy una OR: T, = QP, Ty =R +P. En- tonces, en aquellos valores en los que T; es | y T2 es 0 (como por ejemplo en 4) seria imposible encontrar un valor adecuado para la funci6n P. Si P valiese | forzaria T, = 1 y si valiese 0 for- zariaT = 0). SiG, es una OR y G3 es una AND, tampoco es posible ya que T, = R + P y T)=Q-P. Asi, en aquellos puntos en que T; = 0 y T) = I (como por ejemplo en 6) no se puede encontrar un valor adecuado para P. PROBLEMAS CON SOLUCION RESUMIDA. Problema 12.- Encuentre los complementos de las siguientes funciones: a)f=(be+ad)(ab+cd). b)f=bd+abc+racd+abe. ¢) f= [(a B) aj (ab) bl. df=ab+cd. Solucién P12. a) F=(B+c)(a+d) + (+b) (C+). b)f=bd+abc+acd+abc=ab+acd+bd, entonces: F=(a+b)@+e+d) +9), c) Operando obtenemos f = 0 luego? = 1. d)F=@+b)(c +d). Problema 13.- Demuestre que x, ®x, ©... Ox, = (x, ®...®x) 0 (x48... 8%,); donde ab =a@®b. Solucién P13.-La operaci6n XOR cumple la propiedad asociativa. Entonces: (x, ®... xj) 0 (x41 @...@ xp) =O] G... OX) Oly] O-. Ok) = 7. O Xp ALGEBRA Y FUNCIONES DE CONMUTACION 33 Problema 14.- Escriba las siguientes funciones como suma de mintérminos: a) f(a,b,c)=a+b+e. b) f(a, b, o) = (a +B) (b +0). ¢) f (a,b,c, d)=(ab+bed)+acd. Solucién P14, a) f (a,b,c) =E (0, 1,3, 4,5, 6,7 b)f(a,b,c)= 20, 2, 3,4,5, 6,7 ©) f (a,b,c, d)=EO, 1, 2.3, 4, 5, 6 7, 8,9 10, 11). ). D3 Problema 15.- Exprese las siguientes funciones como producto de maxtérminos: a) f(a, b,c, d)=(a+c)d+bd. b) f(x,y. 2) = (KY 42) (y #X2Z). 0) f(a, b,c) =(abco+abo). d) f (a, b,c) =(ab+c (a+b) (b+0). Solucién P15. a) f(a, b,c, d) = 11 (0, 2, 4, 6, 8, 10, 12, 13, 14). b) f(x, y, z) = 11.0, 1, 3, 4, 5, 6, 7). ©) fla, b, c,d) = 11 (5, 6). d) f(a, b, c) = 1, 2, 4, 6). Problema 16. A partir de las tablas de verdad de las siguientes funciones, obtenga sus ex- presiones algebraicas. 34 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES. Problema 17.- Obtenga las expresiones algebraicas de las siguientes funciones: Solucién P17. 0 <1 + ser NI + xt < N try zexyz+xyz XYZ+XYZ=XY. Problema 18.- interprete las siguientes expresiones légicas considerando que el dato tiene n bits. (Para ayudarse puede considerar un caso particular de n, por ejemplo: n = 4). a) Z=X9@ Xz O... OXq4. D)Z=Xn_ 1 =X9@Xy@... OXp_D. ) 24 = 23 1 ® Xp 2) 24 = XK Yo donde yx = Yq. 1 + X_-1, CON K Solucién P18. a) La operacién XOR de n variables se hace | si y slo si hay un niimero impar de unos en las n variables. Por tanto, en este caso z es un detector de paridad. b) La funcién z forma parte de la palabra de n bits dada por: xg X1 X2.-+ Xp-2 Xp-1- En tonces, z es el bit de paridad par para xq X1 X2 -.. Xp.2- c) Si se particulariza para n = 4 y se obtiene la tabla de verdad de las 4 funciones se pue- de concluir facilmente que se trata de una conversi6n binario-Gray d) Procediendo como en el apartado anterior se puede concluir que se trata de una con- version de cédigo Gray a binario. e) Si se considera el caso particular de n = 4 y se obtiene la tabla puede observarse que 73.9 = Ca2(x3.9) Capitulo 3 ANALISIS DE CIRCUITOS COMBINACIONALES Un circuito digital combinacional es aquel que implementa funciones de conmutacién cuyas salidas en un instante, t, dependen sélo de! valor de las entradas en ese mismo instante. El cir- cuito consta de puertas I6gicas interconectadas entre sf sin que haya lazos de realimentacién Hay dos enfoques principales: si es conocido el circuito y se desea establecer cual es la opera- cién que realiza, se trata del andlisis, que es el aspecto que se trata en este Capitulo; si se plan- tea el problema contrario, conocida la funcién hay que obtener el circuito, se trata del disefio 0 sintesis, lo que se aborda en el Capitulo siguiente. circuito x4 p> 72 combinacional 2(t) = f(x) ANALISIS DE CIRCUITOS El objetivo principal del andlisis de un circuito combinacional es, por tanto, obtener una repre- sentacién de la funcién de conmutacién que implementa. A este objetivo se le llama andlisis légico del circuito. En algunos casos es posible, ademés, obtener una descripcién verbal de ka operacién del circuito (del tipo “hace la suma”, “compara mimeros”, etc). Ademés, incluso cuando es posible esta operacién a partir de las tablas o expresiones l6gicas es dificil salvo que se esté sobre aviso. En este texto no se hard el paso a la descripcién verbal salvo que se indique explicitamente en el enunciado (véase, p. ej., el problema 4). Aunque el andlisis I6gico es el objetivo principal no es el tinico aspecto que debe con- templar un buen andlisis de un circuito. Otros aspectos que se deben considerar son: —El coste del circuito. Una manera de medir el coste es a través del mimero de puertas logicas y conexiones entre puertas del circuito. — Unanilisis de pardmetros eléctricos. Se debe establecer la tecnologia en la que se im- 35 36 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES plementa el circuito y evaluar, en funcién de las caracterfsticas eléctricas de la misma, el ren- dimiento del circuito en cuanto a margenes de ruido, fan-in y fan-out, potencia disipada, etc. — Un andlisis temporal. Este tipo de andlisis consiste en, dado un patrén de entradas, de- terminar la forma de onda de las sefiales de salida considerando los retrasos de propagacién de Jas puertas légicas. El andlisis temporal sirve para verificar si el circuito realiza correctamente la funcién de conmutaci6n o si, por el contrario, existen fenémenos transitorios como por ejemplo azares, asi como para calcular los valores maximos y minimos de los tiempos de pro- pagacién que determinan la velocidad de operacién del circuito. Este Capitulo est centrado en el andlisis de circuitos a nivel de puertas logicas. Los as- pectos que se tratan son los de andlisis légico, mostrando métodos generales vilidos para cual- quier circuito e independientes del tipo de puerta, y métodos especificos para circuitos con s6lo NAND 0 s6lo NOR. Estos procedimientos son explicados en los problemas | y 3 respectiva- mente. Ademés, en este Capitulo también se incluyen algunos casos de anilisis del coste del circuito, medido en funcién del ntimero de puertas y conexiones del circuito y de andlisis tem- poral, analizando circuitos que presentan azares Indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias — Andlisis l6gico segtin el procedimiento general. — Andlisis I6gico de circuitos s6lo NAND (y s6lo NOR). — Andlisis temporal PROBLEMAS RESUELTOS Problema 1.- Analice a nivel légico el siguiente circuito combinacional. Ponga también la fun- cién en forma de suma de productos 0 producto de sumas y realice el nuevo circuito a partir de estas expresiones. Solucién P1.- El proceso de anlisis de un circuito combinacional consiste en, a partir de un circuito, obtener una expresién 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 funcién de sus entradas ANALISIS DE CIRCUITOS COMBINACIONALES 37 Te(xty+aery)i / A partir de esta expresién puede obtenerse otra simplificada o la tabla de verdad o el mapa de Karnaugh, y un nuevo circuito: fa(xtytz)(zty)z=zly+ayz xy 00 OL HW 10 0 0 1 1 0 | 0 0 0 { — & y— | 2—fi : 1 Problema 2.- Realice un anilisis Iégico del circuito representado en la figura. Obtenga las ex- presiones en forma de suma de productos y producto de sumas. Liste los mintérminos y max- términos correspondientes. Determine el coste. & x & x x3 x x x3 x3 Xp xy XI Solucién P2.-Comencemos determinando el coste del circuito. Este se calcula: 1. dando el iimero de puertas del circuito; 2.- dando el ntimero de entradas a puertas (conexiones) del cir- cuito y el ntimero de salidas. Ademis, a veces se evalia el “coste” temporal estableciendo los retrasos méximos y minimos que experimentan las sefiales de entrada al propagarse hasta las salidas. Para ello, lo més habitual es considerar una unidad de retraso por puerta, En este cir- cuito el coste es el siguiente: be 38 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES coste ne puertas 7 oc “onexiones| 16 entradas + 1 salida retraso maximo 3 niveles de puertas retraso minimo 2 niveles de puertas Anilisis légico. Teniendo en cuenta la funci6n l6gica que realiza cada puerta, se obtiene Ia siguiente expresi6n para f: P= 3 %2) $35 HD) OQ) +) = OH) #3 OQ +4)) OD +94) HR f= 1X3 Xp FLAS Hayy = ay Hg Hy = 4G (AN) +X A partir de esta expresién se obtienen otras en forma sp y ps, el mapa de Karnaugh y un nuevo citcuito que implementa la funcién: Sp = OD Hh =H Spe = Ct) Cat 1%, pr (0 ol "1 10 0 0 0 7 0 x— & x;—| 2! 7 1 1 1 1 1 2 : Problema 3.-Analice la funcién que realiza el circuito, encontrando una expresién reducida en dos niveles. & & a & a & b— P| f © é 4 & & - PrP b— fy Solucién P3.- Todas son puertas NAND, salvo la de salida fy; llamando M a la entrada desco- nocida de esa puerta, f, =e M. Ahora, M y f pueden obtenerse por el método especifico de circuitos con sélo puertas NAND, Este método consta de los siguientes pasos: 1.- Hay que construir un arbol del circuito en el que los nodos representan a las puertas ANALISIS DE CIRCUITOS COMBINACIONALES 39 y las ramas las conexiones. Las puertas se estratifican en niveles distintos comenzando por la puerta de salida que da lugar al primer nivel del drbol. A partir de este nivel y en funcién de las conexiones del circuito se van situando el resto de puertas en niveles sucesivos hasta alcan- zar las seffales 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 arbol la funcién AND o la OR alternando ambos tipos de funcién y comenzando por la funcién OR. 3.- Se obtendré la funcién que realiza el circuito considerando sélo operaciones AND u OR. Hay que tener en cuenta que aquellas variables de entrada que estén conectadas a puertas que correspondan a un nivel OR deben complementarse. A continuacién se aplica este método al circuito. Se numeran las puertas de la forma que se muestra en la figura: a * & 4 fe bs 3 Ss & 2 i eee f é fil & & f p——______ | p— f ss S Se construye el Arbol para cada salida: a M M=d+c(@+5) b 3 2 4 1 @+by+fg De aqui se tiene: 40 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 4.- Analice el circuito de la figura indicando verbalmente qué operacién realiza. 21 z & by & a BI pb & d tt & ay 1 tf al b, ie Solucién P4.- Anilisis de coste: coste 1 puertas 7 n° conexiones 16 entradas + 2 salidas retraso maximo 4 niveles de puertas Tetraso minimo Zniveles de puertas Anilisis ldgico: 2yy = aah; + a,byayb, + a,b,a3b, Zoe = (a +4y) (by + by) (a, +b,) (a, + By) (a, +2) Yap = qb, + Gd, ayb, + 4b a,b, (by +b2) (a, +4) (by + a2) (by +a) (+4) Yo 2 (ayajbyb,) = ¥, (4,8,9,12,13,14) = 11 (0,1.2,3,5,6,7,10,11,15) y (aya, byb,) = ¥(1,2,3,6.7.11) = 11 (0,4,5,8,9,10,12,13,14,15) Si se representan ambas funciones (z ¢ y) en un mapa binario ordenado en funcién de a2 ay y b2 bj, se obtiene: anay Bie Ww ol 10 MW oo | 00 10 10 10 or [or 00 10 10 zy 10 [Or O01 00 10 u fo 01 01 00 el ANALISIS DE CIRCUITOS COMBINACIONALES 41 Interpretando a a; como un mimero binario A y bp b; como B, las funciones pueden representarse por la tabla: Por tanto, el circuito es un comparador de dos mimeros binarios de dos bits cada uno, que distingue entre mayor, menor o igual. Problema 5.- Analice la funcidn que realiza el circuito, encontrando una expresién reducida en dos niveles. Solucién PS.- El circuito esté compuesto exclusivamente por puertas NOR, por lo que vamos a aplicar el método especifico de andlisis de s6lo puertas NOR. Este método es el mismo que el utilizado en el problema anterior, s6lo cambian dos aspectos: 1.- El primer nivel de puertas es de tipo AND, por lo que la expresi6n que se obtendrd para fes del tipo producto de sumas de producto de sumas. 2.- Ahora son las variables de entrada que estan conectadas a los niveles AND las que deben complementarse. Numerando a las puertas de la forma que se ve en la figura: 31 5 42 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Se construye el drbol para la salida: OR AND OR AND OR AND De aqui se tiene: f= {o+reet+a(d+2e) (b+d(e+e))} {a+b (d+ 2) } feactbed+aé+abd+be Problema 6.- En el circuito de la figura todas las puertas poseen el mismo retraso, A. A & B ic D a) Obtenga el mapa de F(A,B,C,D). ) Considerando el retraso, determine la forma de onda de F si A=B: periédicamente. ©) Igual que b, si A 1 y B cambia periédicamente. d) Igual que b, siB=D=1 y Ay C son como las representadas: A ic a+ ef Se ‘ a A e) Discuta los resultados obtenidos en los apartados anteriores. Solucién P6. a) Vamos a obtener una expresiGn de F mediante andlisis Iégico. Nombraremos los nu- dos internos del circuito como se muestra en la siguiente figura: ANALISIS DE CIRCUITOS COMBINACIONALES 43 Analizando la funcién realizada por cada puerta, se tiene lo siguiente: BC x= ABu = y=Dv Con lo que el mapa de F queda: AB coy (0 ul 10 oo [0 0 1 0 ol 0 0 1 Oo in 0 1 1 0 F 10 [0 0 0 b) Con A= B = D= 1, y C cambiando periédicamente, el diagrama temporal queda como se observa en la figura: c 1 uC | > ef ae SS 4 4 A + Se yy > + aie ‘A A Faay A 44 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES c) Con A= se observa en la figura: B =1, y B cambiando periédicamente, el diagrama temporal queda como >a SH ae A 4 4 a ee Ay I yey L | ++ +e ‘A A xu a A S Faxy d) Con B=D=1, y A y C cambiando periédicamente, el diagrama temporal queda como se observa en la figura: A | ‘ c | | u=C a= 4 yeu i ae We x=Au yew Fay e) Enel caso b): Las entradas pasan de ABCD=1101 a ABCD=1 111 periédicamente. En ambos casos la funcién debe ser 1. Sin embargo, ocurre un pulso de 0 en Ia salida F, lo que es un azar estdtico. En el caso c): ABCD pasan de 1011 a 1111 alternativamente. La funcién debe tomar los siguientes valores segtin el mapa de Kamaugh: F(1011)=0 y F(1111)=1, la salida deberia se- guir los cambios de B con el retraso del circuito. Sin embargo, ocurre que la sefial de salida oscila (ver figura del apartado c) cuando B sube. Esto es un azar (se llama dindmico). ANALISIS DE CIRCUITOS COMBINACIONALES 45 En el caso d): ABCD pasan de 1101 a 0101 (éste durante un tiempo A), de aqui a 0111, O111, 1111 (durante un tiempo A) y vuelven de nuevo a 1101. La funcién, debe tomar los va- lores: 1,0, 1, I... que es lo que se muestra en la salida. El pulso de 0 es mayor que la duracién en 0101, pero esto no es azar: la funcién debe pasar por el valor 0, explicandose el cambio de duracién por el distinto tiempo de retraso cuando cambia A (2 puertas) a cuando después cam- bia C (4 puertas). PROBLEMAS CON SOLUCION RESUMIDA Problema 7.- Analice a nivel légico los siguientes circuitos combinacionales. Ponga la fun- cién en suma de productos o producto de sumas. a) x & y BI & & t—f BI — | ) e & y tf ST 7 I ¢) x BI y ry z bo T =I ; Solucién P7.- a) f = (xy+xy) (2+ay) = x(z+xy) = xz tay xy 46 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) f= xy@ (Z+x) = ketay xy ~ 0 Ol uN 10 0 0 0 I oO f I 1 1 1 0 co) f = y@ (ytx) = ay xy Y 00 ot u 10 : 0 0 0 1 f 1 0 0 1 Problema 8.- Realice un andlisis ldgico de los circuitos representados en la figura correspon- diente. Obtenga las expresiones en forma de suma de productos y producto de sumas. Liste los mintérminos y maxtérminos correspondientes. Determine el coste. a) xT & % T a ele x3 & ) x = T Br ' »— {| a 2 & 4 21 — ; & ANALISIS DE CIRCUITOS COMBINACIONALES 47 Solucién P8. rc] 31 ~— & f & | u—| PO a) Anilisis de coste: coste mm? puertas 6 n° conexiones 10 entradas + | salida retraso maximo niveles de puertas Tetraso minimo 2niveles de puertas Anilisis 16gico: fap = Xq +X] X3 fips = (q+ X1) (X3 + Xo). £(x1, x2, X3) = E (2, 3, 4, 6, 7) =11 (0, 1, 5). b) Anillisis de coste: coste ‘ puertas 7 n® conexiones 12 entradas + 2 salidas retraso maximo ‘Sniveles de puertas Tetraso minimo 2 niveles de puertas Anilisis légico: Fusp = X3 Xq + Xp Xp X44 Ry Ry q+ Ry Xp Ry Ry + Xy Xp 3 RI. Fips = (X3 + Xq) (Xp + Xq + Xq) (Xp + Xq + Xz + Xq) (Ky + Ky + Xq) (Ky + Xp + x3 + Ky) fagy = X3 + Xy Xp +X] XQ fops = (Ky + Xq + X3) (Ky + XQ + X3). Fy(Xy, x2, x3, x4) = (1, 3, 4, 7,8, 11, 13, 15) = 11 (0, 2, 5, 6, 9, 10 12, 14), fa(xp, Xp, X3, 4) =E (0, 1, 2, 3, 6, 7, 10, 11, 12, 13, 14, 15) = 11 (4, 5, 8, 9). ©) Anilisis de coste: coste n® puertas 3 n conexiones 6 entradas + 1 salida Tetraso maximo 2 niveles de puertas retraso minimo 2 niveles de puertas 48 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Anilisis l6gico: fp = X1 +9 +3 X4 fps = (xz + x1 + X3) (Xp + X1 +3) (X}, X2, X3. X4) = E (3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) =I (0, 1, 2). Problema 9.-Analice la funcién que realiza cada circuito encontrando una expresion sp 0 ps. a) & & & b) ay ei b iz . b— _ & ds p—z °) ANALISIS DE CIRCUITOS COMBINACIONALES 49 Solucién P9.- af = wxd + xye + ky + Ey b)z = Gde + adf+ bee + baf+ ade + adf + bde + bdf + gh. Of = yRy they + HLA y HAGE. FNL HHT Capitulo 4 DISENO DE CIRCUITOS COMBINACIONALES El proceso inverso al de andlisis es el de diseffo de circuitos combinacionales. Basicamente, este proceso consiste en, dada una funcién de conmutacién, obtener un circuito que la realice Planteado de esta manera, cualquier expresién l6gica de la funcién serfa valida para obtener el circuito. Sin embargo, el objetivo del proceso de disefio es, en realidad, més complejo y con- siste en obtener un circuito dptimo respecto a algin criterio. El circuito 6ptimo responde a una expresi6n 6ptima, de forma que lo que hay que obtener es esta expresion. OBJETIVO DE DISENO Existen diversos criterios respecto a los cuales optimizar, de manera que en funcién del criterio elegido, el circuito 6ptimo puede ser uno u otro. En este tema los criterios segtin los cuales se van a optimizar los circuitos son dos: 1.- Minimizar el némero de niveles de puertas que deben atravesar las sefiales de entrada hasta alcanzar la salida, considerando que s6lo se usan puertas AND y OR (0 bien slo NAND © s6lo NOR) con fan-in y fan-out ilimitados y entradas en doble rail. 2.- Minimizar el coste de la funcién en cuanto: a) al nimero de puertas I6gicas de que consta el circuito; b) al nimero 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) 0 producto de sumas (ps) son las més apropiadas para cumplir este requisito. Para este tipo de expresiones el segundo criterio, reduccién del coste, significa reducir el ntimero de términos productos (en expresiones sp)o reducir el ntimero de términos sumas (en expresiones ps) y, ademas, buscar términos pro- ductos 0 sumas con el menor ntimero de literales posible. Existen expresiones que cumplen estos requisitos que son las Hamadas suma minima de la funcién (expresi6n sp) 0 producto minimo (ps). Por otra parte, existe un teorema que indica c6mo obtener la suma o el producto minimo y es el siguiente: Teorema.- La suma minima (producto minimo) de una funcién de conmutacién esta for- mada por el conjunto minimo de implicantes primas (implicadas primas) con el menor nimero 51 52 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES de literales posible que cubren completamente la funci6n. Definicién de implicante (implicada) prima.- Una implicante (implicada) prima es un término producto o implicante (término suma 6 implicada) cuyos mintérminos (maxtérminos) son todos mintérminos (maxtérminos) de la funcién y, ademas, no existe otra implicante (implicada) de la funcién que contenga a todos los mintérminos (maxtérminos) de dicho término producto (suma). Una implicante (implicada) se dice que es esencial si obligatoriamente pertenece a la solucién éptima, ya que sélo ella cubre a algin mintérmino (maxtérmino) de la funcién. Segtin el teorema, el objetivo del proceso de disefio de una funcién de conmutacién, con los criterios que se han elegido, es encontrar una expresién formada por el conjunto minimo de implicantes (implicadas) primas que cubran completamente la funcién. PASOS DEL PROCESO DE DISENO El proceso de disefio se desarrolla realizando el conjunto de pasos que se muestran en el si- guiente diagrama: Descripein verbal Descripeién formal: Tabla de verdad, mapa de Karnaugh, expresién de la funci6n Minimizacién: forma sp 0 ps minima + Circuito En cada uno de estos pasos hay que realizar las siguientes acciones: 1.- Dado un enunciado con palabras (descripcién verbal) de la funcién hay que obtener una primera representacién de dicha funcién mediante una tabla de verdad, un mapa de Kar- naugh 0 una expresién de la funcién. Esta representacién es lo que se conoce como una des- cripcién formal de la funcién. 2.- A partir de la descripcién formal obtenida al finalizar el paso anterior, hay que rea- lizar el proceso de minimizacién. Con este proceso se pretende obtener la expresién suma 0 producto minimo de la funcién. En particular, se presentan dos métodos para hacer la minimi- zacién, uno basado en el mapa de Kamaugh y el otro, tabular, que denominaremos de Quine- McCluskey. 3. De la expresi6n suma de productos 0 producto de sumas minimo de la funci6n 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-INV, AND-NOR 6 NAND-AND. Las estructuras duales (OR-AND 0 NOR-NOR; y OR-AND-INV, OR-NAND 6 NOR-OR) proporcionan los circuitos cuando se obtienen expresiones ps (de f y de f, respectivamente). DISENO DE CIRCUITOS COMBINACIONALES 53 Estos pasos del proceso se realizan antes de tener en cuenta otros aspectos como son si la disponibilidad de las entradas es en tinico 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 cuan- do el circuito final no se obtiene a partir de expresiones sp (ps). En estos casos (p.ej. en reali- zaciones con puertas EXOR) el disefiador debe saber cémo pasar del paso 2 a la realizacién de ‘su circuito. El conjunto de problemas que se presentan en este Capitulo, tanto los resueltos como los de solucién resumida barren completamente los diferentes pasos del proceso. Ademis, se de- dica especial atencién al primer paso del proceso de disefio por ser el menos sistemitico y, por tanto, el mas complejo de realizar. {ndice del Capitulo Este Capitulo desarrolla problemas de las siguientes materi — Paso de descripciones verbales a descripciones formales. ~ Proceso de minimizacién por mapa de Karnaugh. ~ Proceso de minimizacién por Quine-McCluskey. ~ Otros tipos de realizaciones. PROBLEMAS RESUELTOS Problema 1.- Se tiene una palabra de 5 bits: los cuatro ultimos bits representan un digito BCD; el primero es un bit de paridad impar. Obtenga la tabla de verdad (0 el K-mapa) de las funciones siguientes: 1) fy se hard “1” para valores de entrada que no correspondari con digitos BCD. 2) fp. se haré “1” para palabras con paridad incorrecta. Solucién PL. El circuito que se pretende diseftar tiene 5 sefiales de entrada. Sean a, b, c,d, e, siendo a el bit de paridad impar y b, c, d, e un ntimero BCD. Por otra parte tiene dos salidas fy fy que toman los siguientes valores: f = I siy sélo si (b, ¢, d, e) no es un niimero BCD. fp= 1 siy sdlo si el numero de “1” en (a, b, ¢, d, €) es par. Los mapas de Karnaugh de las funciones son los siguientes: abe abe d\_ 000 001 011 010 110 111 101 100 GX_ 000 001 O11 O10 110 111 101 100 o fofoftifofo]yrfofo] ofifofifofifofijo (OLE OOM | 1008] 103 | ike Oe |aOH| ON 03 | ents igo) ee1a)| Ont) 208 |e ufofofifr{ 1] rfofo] ufifofifofifofifo wfotofifififirfofo] wfofifofifofijfofi f fy 54 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 2.- Las normas de seguridad de los modernos aviones exigen que, para sefiales de vital importancia para la seguridad del aparato, los circuitos deben estar triplicados para que el fallo de uno de ellos no produzca una catdstrofe. En caso de que los tres circuitos no produzcan la misma salida, ésta se escogerd mediante votacién. Disefie el circuito “votador” que ha de utilizarse para obtener como resultado el valor mayoritario de las tres entradas. Solucién P2.- El proceso de votacién consiste en tomar el valor mayoritario de las entradas. De esta forma, la salida, f, del circuito tendré la siguiente codificacién: f=0 si hay mAs ceros que unos en las entradas f=1 si hay mAs unos que ceros en las entradas El circuito votador tiene tres sefiales de entrada: a, b y c, que son las salidas de los cir~ cuitos triplicados. Podemos construir el mapa de Kamaugh o bien la tabla de verdad: En el mapa de Karnaugh seleccionamos las implicantes de la funcién, A, B y C y reali- zamos un cubrimiento éptimo: f= A+B+C = abtbetac Un circuito hecho s6lo con puertas NAND es el siguiente: Problema 3.- Se pretende disefiar un circuito combinacional que tenga como entrada un digi to BCD natural y como salida la parte entera del cociente de su divisién por tres. Se pide: 4) expresar las funciones minimas de salida como suma de productos y como productos de sumas; b) obtener el circuito correspondiente a la minima de estas expresiones, realizado con un solo tipo de puertas. Solucién P3.- La salida es un ntimero, N, igual a la parte entera de dividir un digito BCD por 3: N=Ent.[N° BCD/3]. El mayor digito BCD es 9, por tanto el mayor valor de N sera 3, mientras que el menor valor seré 0. Representaremos a N por dos bits: 229 = Ni2- DISENO DE CIRCUITOS COMBINACIONALES 55 La entrada es el digito BCD que est formado por 4 digitos binarios: x3x2X1Xo. Teniendo en cuenta esto, podemos formar la tabla de verdad y, a partir de ella, el mapa de Kamaugh de cada una de las funciones de salida sabiendo que las celdas que no correspon- den a digitos BCD (celdas 101- y 11--) son inespecificaciones (d) para las funciones: XXX Xo yk 0000 8 OX 0001 xg, 00 OF 11 10 xr, 00 01 0010 i YO oo11 ee oo ey 0100 o fo oa fo o101 u fo] nf 0110 : ond »o LON 1 Wika 1000 / \ 7 1001 Be c D Fe : 2 my 6 : Las expresiones como suma de productos y productos de sumas son la siguientes: Zisp = D+ C = x34 Xyxy Zips = AB = (43 4+4)) (4 +249) Zoyp = EF HAS = 2yXq + yk] + HX 1X Zope = GFE = (x,+%q) (8+) OG ++) El coste sp y ps de 2y es el mismo, por lo que da igual realizarla s6lo con NAND o sélo con NOR, (En la realizacién minima de zp la celda 15 es tomada como 1 para Zosp y como 0 para Zppq; No se trata de un error sino del uso mas conveniente para esa inespecificaci6n). Por otra parte, el coste de z, en sp es menor que en ps por lo que la realizaremos con NAND: x3 & Xo. % & = x — x | 7 b— F B34 4X % x Xo Problema 4. Las cuatro lineas de entrada de un circuito combinacional corresponden a un numero natural codificado en binario natural. Disefie un circuito en dos niveles que sirva para detectar cudndo un ntimero es una po- tencia de dos. 56 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P4.- Es un circuito con 4 sefiales de entrada, a, b, ¢ y d y una salida f. La funci6n de salida debe detectar la Ilegada de un mimero potencia de 2. Las potencias de dos son: 2°=1, 2!=2, 27=4, 23=8. Cuando en la entrada se detecte alguno de estos ntimeros, la salida tomard el valor 1. El mapa de Karnaugh de esta funcién es el siguiente: ab ca\ 00 01 11 10 o Poy;iyo|i o firf[ofofo u fofofofo w [i fofofo f La expresién minima en forma sp es la siguiente: Sf = Gbéd+ abcd + abed + abed El circuito en dos niveles AND-OR es el siguiente: & anicts! encie! alsigis cieirs! Problema 5.- Disefie un circuito combinacional que acepte un numero de tres bits y genere un numero binario de salida igual al cuadrado del numero de entrada. Solucién P5.- Con tres bits, a b y c, se representan desde el 000-0 hasta el 111-7. En la salida debe aparecer el cuadrado de la entrada: abe- N. Dec. [000-0 | 001-1 | 010-2 | 011-3 | 100-4 | 101-5 ] 110-6] t11-7 (abe? 0 1 4 9 16 25 36 «| 49 DISENO DE CIRCUITOS COMBINACIONALES 57 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 sefiales de salida, 252423272129, que toman los siguientes valores: abe-N.Dec. [000-0 ] 001-1 | 010-2 | o11-3 [ 100-4 | 101-5 | 110-6 | 111-7 zszgtstp2y%q | 000000 | 000001 | 000100 | 001001 | 010000 | 011001 | 100100 | 110001 De esta tabla se obtiene un mapa de Karnaugh para cada salida y, de él, una expresién de las mismas: ab ab b 00 O1 11 10 a Y X00 01-11-10 ° ¢ old 0 0 o JoJoyojo 0 Iv 1 1 fotiyo = ab = ac: a z5=a z4= act ab z3= abe+ abe ab ab ab X00 01 11 10 — X00 oF 1 10 X00 01 11 10 0 TOC ty 0 | 22= be = 9 © [2T°T°][°},,-0 0 Popopoyo) ™* 1 [ofo}ofo 1 fofofofo 1aq{i{t{o KL Ahora ya es inmediato dibujar un circuito en dos niveles AND-OR 6 NAND-NAND, de la misma forma que ya se ha hecho en los problemas anteriores. Problema 6.- El horario laboral de una factoria es de 8 horas diarias, divididas en tres turnos: de 8 a11 (primer turno), de 11 a 13 (segundo turno), de 13.a 16 (descanso) y de 16 a 19 (ter- cer turno). Se pretende disefiar un circuito que tenga como entradas la representacién binaria de la hora actual menos ocho y que proporcione a la salida el nimero de turno que esta tra- bajando (si procede) o “0” si es hora de descanso. Se pide: a) Expresar las funciones minimas de salida como suma de productos y como pro- ducto de sumas. b) Obtener las expresiones correspondientes a cada una de las anteriores funciones realizadas con un solo tipo de puertas. Solucién P6.- De acuerdo con el enunciado, si H es el ntimero decimal de la hora, (H-8),2 es el valor en binario asociado que acttia como entrada del circuito. La tiltima hora a sefialar va desde las 18h a las 19h, por lo que en binario corresponde a (18-8)=10. Se necesitan 4 bits para 58 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES poder representar los nimeros 0-10: a, b,c y d. Las salidas deben representar cuatro casos: descanso, 1%" turno, 2° turno y 3® turno. Se necesitan, por tanto, dos sefiales de salida: z)29, cuyo valor en binario representard los 4 casos con la siguiente codificacion TURNO HORAS-8| 2429 1 39-10 oT 2 1-12 34 10 descanso} 13-14-15 | 5-6-7 0) 3 16-17-18 89-10 [TT ‘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: ab ab cd\, 00 01 IL 10 cd \_ O11 10 00 ]70, o [Nj ay or flop of ay 2 ey ee Se in of ofa] ap 1 [ eTAPy yzatbed+Bbed z=(at+b+chat+c+dd+b) a=b(e+d) b) Las expresiones sp son trasladables directamente a expresiones NAND-NAND y las ps a expresiones NOR-NOR. As‘: Expresiones: NAND-NAND —_21=8(bed)( bed) z= Bo) (bd) NOR-NOR Z\= (atb+c)+(at c +d)+(d+ b) w= b+(e+d) Las minimas son: NAND-NAND para z; y NOR-NOR para 2p Problema 7.- Se pretende disefiar un circuito comparador de 2 numeros de 2 bits, A=(a4,a9) ¥ B=(bj,b9). Dicho circuito deberd tener tres salidas M, I, m, de tal forma que: M=1siiA>B 1=1siiA=B m=1siiA ABC = 000 abe = 101 > ABC = 111 Con estas elecciones la tinica sefial que cambia es B mientras que A y C cumplen A=a y C=e, Del mapa de Karnaugh se obtiene una expresién de B en funcién de a, b y c: abo, » OX, 00 01 10 0 POTOPTO] Be ab+ac+ be 1 fo Problema 9.- Utilizando el mapa de Karnaugh, determine las expresiones minimas en suma de productos y producto de sumas de las siguientes funciones: a) (x,y,z,u) = (3, 4, 7, 8, 10, 11, 12, 13, 14) b) f(xy,2,u) = (0, 4, 6, 7, 10, 12, 13, 14) Solucién P9. a) ay 00 O01 11 10 200 Ol 11 10 oof o [atl a) og fi ya [a oi} o | o {fo of GO} 1 [a] 7 mi{i{O}1 il | 0 1 an 1d of off |W Kon) fl fa (x+y +z)(x+z40)(x+Z4u) (y+z+u)(K+¥+Z+0) fayZG+xyZ+ezutxyetna b) 2 0001 1 10 2x 00 01 11 10 0 GT DI/i\| 0 of tr} 11 io ofo[o flyfo of QO 1 ilo |A\fo | o HAY 1 | TIO] of o [Wig idlgfa fafa ZU+Kyz+xyz+xzu fa(y+u)(x+y+Z)(x+z+0) G&+z+WKtyt+o DISENO DE CIRCUITOS COMBINACIONALES 61 Problema 10.- Simplifique f =%(1, 2, 7, 8, 19, 20, 25) + d(10, 11, 12, 13, 14, 15, 26, 27, 28) Solucién P10. 00) 0 0 nho Ic] 0 Problema 11.- Razone si una OR de dos entradas con inhibicién puede ser funcionalmente completa si disponemos del “0” y del “1”. Las variables se encuentran en Unico rail. Implemen- te f=my+mg+m,+Mmg usando este tipo de puertas. Solucién P11.-La puerta OR opera de acuerdo con la siguiente tabla: 1 1 z i Toy 4 eee a} 0: Inhibicén La puerta serd funcionalmente completa si podemos realizar las operaciones AND, OR y NOT. En la figura siguiente se muestra cémo es posible implementar cada una de estas fun- ciones contando s6lo con esta puerta, el “O” y el “1”: NOT: OR: AND: | A A 9 a> oy 71k one eal a2 fas ' ia B. = p— 2! | ap cael = Por tanto, la puerta es funcionalmente completa Para implementar f=m,+m3+mg+mg, obtenemos una expresién minima en forma sp a partir del mapa de Karnaugh y la implementamos directamente: 12 ST] = ab oJ 7! [ae e 0 01 11 10 cS LD i iz 0—- © ac I 62 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 12.- Un circuito que realiza la funcién z(a, b, c) esta compuesto de dos subcircuitos (ver figura). La combinacién de entradas abe=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 asi, indique todos ellos y realice un buen disefio de Ny con puertas NOR tras obtener todos los valores inespecificados. abe _uvx —d00 O0T i oor 110 ; 010 111 eli o11 000 : 100 110 lor itl 110 o10 ae iol Solucién P12.-Llamemos P a la salida de la puerta EXOR: P = v © x . Busquemos las posi- bles inespecificaciones de u, v y x, de forma que no se modifique la funcién 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 aqui que P pueda estar inespecificado para u=0. 2) Si P= 0, entonces 2=0 independientemente del valor de u. 3) Si u=P=1, entonces 2=1. Por otra parte, P = v ® x, de forma que: P=0 si v=x; P=1 si v=X. Las inespecificaciones pueden ocurrir en los siguientes casos: a) Valores de entrada que nunca pueden ocurrir. En este caso en el enunciado del pro- blema se dice que la combinacién de entrada abc = 001 nunca ocurre. Por tanto para esta com- binacién de entrada u, v, x = d, d, d, siendo d inespecificacién. 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. Asi, para abe = 000,01 1,110,u=0y vixed,d, ©) Valores de entrada que hacen P=0. Esto es, valores para los que v=x. En este caso u es inespecificacién. Asf, para abc = 010, 101, v=x y por tanto, u=d. La tabla de verdad considerando las inespecificaciones serfa la siguiente: , --u-coo --Soneode -o-o-o-d -oca-oaa eca--a-a -a-ca-a DISENO DE CIRCUITOS COMBINACIONALES 63 Para disefiar el circuito Ny con puertas NOR vamos a construir los mapas de Karnaugh y obtener las expresiones mfnimas ps: s 00 01 11 10 “ “ Y X00 Of 11 10 X00 01 11 10 0 1 ofajifayi 0 yay 1 Mefoifa 1 fafaloyt 1 fafa u=a(b +c) vearb xs ate by 2! SI co P > Problema 13.- En la tabla representada aparecen todas las implicantes primas y todos los mintérminos de una funcién f(a,b,c,d) que también tiene inespecificaciones. Determine cudles son los mintérminos (m,m’) e implicantes (A,B) desconocidos, asi como todas las inespecifi- caciones de la funcién. Solucién P13.-La resolucién del problema puede efectuarse utilizando una representaci6n de la informacién 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 funcién y todos Jos mintérminos menos dos (m y m’. En el siguiente mapa se muestra la informacién de par- tida acerca de la funcién: ee ee ee eee ee 64 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ab eX 0 OF 1 10 00 OF o RR ia) atge eal eet 10 oho Implicante ad: Vale 1 cuando a= 1 y d= 0. Son las posiciones 8, 10, 12 y 14 sobre un mapa de Kamaugh. 8 y 12 son mintérminos de f. Como esta implicante cubre a m* este min- término solo puede ser 6 el 10 6 el 14. El que no sea m* serd una inespecificacién, d. Implicante ac: Vale 1 cuando a= 1 yc = 1. Son las posiciones 10, 11, 14 y 15 sobre un mapa de Karnaugh. Esta implicante s6lo cubre a un mintérmino de f, m‘, por lo que posee tres inespecificaciones. De la implicante anterior se sabe que m’ o es el mintérmino 10 6 el 14. De esta forma las posiciones I y 15 del mapa son inespecificaciones, d. Implicante Be: Vale 1 cuando b = 0 y c = I. Son las posiciones 2, 3, 10 y 11 sobre un mapa de Kamaugh. Esta implicante solo cubre al mintérmino 3 y al m. La posicién 11 ya sa- bemos que es inespecificaci6n por lo que m s6lo pueden ser la posicién 2 0 la 10. Ahora bien de las anteriores implicantes sabemos que la posici6n 10 es m‘ o inespecificacién. Esta impli- cante no cubre a m* por lo que la posicién 10 no puede ser el mintérmino m*, sino inespecifi- cacién. Por tanto el mintérmino m es el mintérmino 2 y el mintérmino m* es el mintérmino 14. Implicante c d: Vale 1 cuando c = | y d = 1. Son las posiciones 3, 7, 11 y 15 sobre el mapa de Karnaugh. 3 y 7 son mintérminos de fy 11 y 15 ya sabemos que son inespecificacio- nes por lo que esta implicante no aporta mas informacion. Con lo que hemos obtenido hasta ahora, el mapa de karnaugh de la funcién f queda de la siguiente manera: ab cd 00 Ol 11 10 a NY on 1 MW is 1 10 Falta por averiguar cuales son la implicantes primas A y B. Implicante A: cubre a fos mintérminos m=2 y 8, que estn en esquinas opuestas. La tini- ca posibilidad es que A sea la asociacién de las posiciones en las cuatro esquinas, esto es, las posiciones 0, 2, 8 y 10. Como 8 y 2 son mintérminos, 10 es inespecificacién y, teniendo en cuenta que A sélo cubre a dos mintérminos, la posicién 0 es inespecificacién. La expresin para Aes bd. DISENO DE CIRCUITOS COMBINACIONALES 65 Cualquier otra posibilidad para A daria lugar a que alguna de las implicantes que ya co- nocemos, no fuese prima y sabemos que sf lo son. Teniendo en cuenta que en la primera co- lumna de! mapa de Karnaugh, posiciones 0, 1, 3 y 2 todas son inespecificaciones o mintérmi- nos menos el | y que no existe ninguna implicante prima que los cubra a todos (la implicante B no posce al mintérmino m = 2) la posici6n 1 tiene que ser un maxtérmino. Al igual le ocurre a las posiciones 13, 6, 9 y 4 que son maxtérminos. Implicante B: cubre a los mintérminos 5 y 7. Las casillas adyacentes a 5 y 7 son max- términos (1, 6, 4, 13) por lo que B es la implicante prima que asocia exclusivamente a los min- términos 5 y 7. La expresion de B es abd. Resumiendo, el mapa de Kamaugh de f queda de la siguiente manera: ab cd\, 00 OL 11 10 m=2 00 aap Ron) tee o fofijofo ufaififafa ios @ia lon |eie ma Problema 14.- El circuito de la figura ha sido disefiado para comparar las magnitudes de dos ntimeros binarios de dos bits ay ay y by b;. Siz=1 @ y=0, ay ay es el mayor. Siz=0 @ y=1, Dy b, es el mayor. Si , los dos ntimeros son iguales. Sin embargo el circuito propuesto no cumple las especiticaciones solicitadas. Compruebe este hecho y modifique el disefio para que sea correcto. & —Jo tz : BI ee f | z ml PLL y& by ay Solucién P14.-Analicemos el circuito: 1b, (ab, + dgb2) = a,b yayb, + a,b a,b Y= 4D; (a,b, + a,b.) = aybyayb, + 41,435, 66 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Ahora vamos a construir los mapas de Karnaugh correspondientes a las funciones de z ey que suministra el circuito y el mapa de Karnaugh correspondiente a la funcién especificada en el enunciado: CIRCUITO FUNCION ESPECIFICADA aay aay bp, 8 OF 11 10 pdx, 0 OL 1 10 00 Too] 10,00] 00 00 Jooy1o] io] i0 o1 [or foofoofoo or [orfooltofio 1b ]00/00]/00/01 ll }o1}o1}oo/or 10 [0o;o0]10]00]|** 10 [01]01]10]00] zy Se observa que (2))cir # (2))func- En particular las diferencias estén en que tanto z como y tienen 4 mintérminos més en la funcién especificada que en el circuito suministrado en las siguientes posiciones: a a ba, 00 01 IT 10 bd 00 1 asB, 00 OL ol nN u ae 10 10 pea z agby y oo Ol 1 10 Asi, las funciones correctas serdn: 2 = Lei, + Aydy Y= Vein + Arby La reforma del circuito consistiré en afiadir dos puertas OR para hacer las sumas ya que los términos productos ya estén en el circuito: — tune Zeie| Lp * tl z UL & ) vei P37 t— Yrune DISENO DE CIRCUITOS COMBINACIONALES 67 Problema 15.- Las funciones del circuito de la figura dependen, en general, de las variables (w,x,y,z). Sabiendo que f = & (0, 4, 9, 10, 11, 12): a)Determine completamente las funciones f,#0 y f,#0 (incluyendo inespecificaciones). b)Realice los circuitos que proporcionan fp y fa. indo el circuito de la figura se obtiene que f = H + fy, siendo H la salida de la puerta AND. De aqui se deriva que los maxtérminos de f son maxtérminos de H y de fs, mien- tras que los mintérminos de f son mintérminos de H 6 de f3. Por tanto, los mapas de Karnaugh de Hy fs tienen los siguientes maxtérminos: wx we wx etn Olee HIE 10 S 00 O1 1 10 2 00 Ol 11 10 oyifitfifo 00 0 00 0 oa fofofoft o1 0 ol nu fofofoft u fototo u 10 oO; 0) 0 1 10 i) 10 0 f H f Por otra parte, H = ff, = (x® z)f>. De aqui que los mintérminos de H son mintérminos def y de f), mientras que los maxtérminos de H son maxtérminos de f) 6 de f. Como f; es conocida, a partir de ella y de H se obtiene parte del mapa de f,: wx wx 00 Ol 11 10 fy esta inespecificada 00 ol 11 10 ye ye en aquellas celdas en las o fo] 0 que H=0y f, = 0. 00 | - - o fa fofofi Por otra parte, fy = Oen o foT-]- celdas en las que H=0 u 1 oOo; 0 1 yfy=l. nt 0 - = wo fofrfifo] fh w f-fofo]- |e Revisando los mapas de H, fy, fy y f podemos concluir lo siguiente: =H vale 0 en las celdas 0 y 10 porque f; vale 0 en esas celdas. Como f= I en las celdas Oy 10, f, tiene que valer 1 en esas mismas celdas. ~ Como fy tiene que ser distinta de 0, tendr4 algiin mintérmino en alguna de las celdas 68 | PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES donde no es ni inespecificacién ni 0 (celdas 4, 9, 11 6 12). Como f = | en esas celdas, en aque- Has en las que f = 0, f; debe tomar el valor 1. Por tanto, existen varias soluciones, dependiendo de cuales de las celdas 4,9,11 6 12 consideremos mintérminos de fp. ~ Una de las posibles soluciones es la que se muestra a continuacién wx wx yo, 00 01 1 10 SX, 0 ol HE 10 oo} -]-['|- o fifi]- fo o fof-[-[1 o fofofo]-| rie somes eem lara un fofofvo[ils, 1o {| - {oO}, oO] - lo fofofo]t b) De los mapas de f y £; obtenemos expresiones para fy y fy: wx wx yp 00 O01 11 10 ea 00 ol 11 10 00 (00; ime!) pee eo) ol ol 0 7 i fhe wy u fofofo 10 10 fofofo {Wy Problema 16.- En la figura se representa una funcién de 4 variables incompletamente espe- cificada. Asigne valores a las inespecificaciones para conseguir especificar completamente la funcién de la forma que se indica en cada uno de los casos siguientes: ab cd\_00_01_ 1110 oo} 1} djdjfd Ol] d] d}/o /0 Mlo}|d jo lo 10) d}djofi a) z pasa a depender de sdlo dos variables. b)z tiene Unicamente cinco mintérminos sin implicantes superiores. ¢) z tiene exactamente cuatro implicantes primas. d) z tiene una implicante prima no esencial. e) z tiene el mismo numero de implicantes primas que de implicadas primas. Solucién P16. a) Teniendo en cuenta que hay dos mintérminos en esquinas opuestas, para lograr que z dependa s6lo de dos variables, las inespecificaciones de las otras esquinas deben sustituirse por DISENO DE CIRCUITOS COMBINACIONALES 69 mintérminos. El resto de inespecificaciones se sustituirén por maxtérminos.E1 mapa de Karnaugh y la expresién final de z quedan como sigue: ab c 00 Ol 11 10 oo [7 OnlE o1 [0 ofo ufo ofo wo fir fofo]t b) Para que no haya implicantes superiores, no puede haber dos mintérminos adyacen- tes. El mapa quedarfa de la siguiente manera: ab a 00 Ol 11 10 o fifofi or fofirfo u fofofofo 10) ROR eta 208 | Et c) Una implicante prima es aquella implicante (agrupaci6n de mintérminos) que no esté incluida en una implicante de orden superior. Para conseguir 4 implicantes primas exactamente debemos hacer las siguientes substituciones en el mapa: ab 00 Ol 11 10 © 00 ol Ww 10 4d) Una implicante prima no esencial no posee ningun mintérmino distinguido: ab Implicante 00 Ol 1 10 prima ad FF tocsencial o (DDI 0G o fifrfofo] nu fofofo 0 w [o foo |) 70 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ¢) En el siguiente mapa existen dos implicantes primas y dos implicadas primas (impli- cada como agrupacién de maxtérminos): ab ca oo el) 00, TTT IE o /ofofo ufo 0, wT TN [Lt Problema 17.- Realice la funcién f con puertas: a) NAND, b) NOR. f = abcd + abée + acde + abce + abée + abcé + abcd + abec Solucién P17. a) Para realizar la funcién con puertas NAND vamos a obtener la expresién minima en forma de suma de productos (sp) que nos da una forma directa de implementarla en dos niveles de puertas NAND. Para obtener la expresién minima vamos a aplicar el método de Quine-McCluskey. Este método parte de la expresi6n suma de mintérminos de la funcién. En primer lugar, obtenemos esa expresi6n a partir de la que nos dan. Para ello construimos el mapa de Karnaugh: abe de\,_ 000 001 O11 O10 110 111 101 100 o Jovififofo]o]yofo o fofojififififa ufofofofifirfofifi io fofifofofofofifo f= x (4,6,9,11,12,13,17,19,21,22,23,25,27,29) Una vez con la expresién suma de mintérminos, el método consta de dos partes: 1) Obtencién de las implicantes primas. El procedimiento de obtencién de las implicantes primas consta de los siguientes pasos: 1) Listar todos los mintérminos por su indice (nimero de unos del cédigo asociado a cada mintérmino). 2) Comparar cada mintérmino de indice j (empezando por j=0) con cada mintérmino de indice j+1. En el caso de ser adyacentes: a) Formar una nueva pareja con ambos mintérminos ¢ incluirla en una nueva lista, dentro del grupo de indice j. (Cada pareja es una impli- cante). b) Marcar ambos mintérminos. DISENO DE CIRCUITOS COMBINACIONALES 71 3) Una vez comparados todos los mintérminos, proceder con la nueva lista (la de implicantes) de forma similar al punto 2. Esto es, comparar cada im- plicante de indice j con cada implicante de fndice j+1. En caso de ser adya- centes, formar la nueva implicante que cubre a las implicantes anteriores y afiadirla a una nueva lista. Ademds, marcar las implicantes agrupadas 4) Una vez comparadas todas las implicantes de todas las listas generadas, son implicantes primas todas aquellas que estan sin marcar al final del pro- ceso. El desarrollo de estos pasos, en este caso, es el siguiente: Mintérminos listados Implicantes de Implicantes de por su indice dos mintérminos cuatro mintérminos (4.6)-2 3 (4,12)-8 (9,11,25,27-2,16 E indice 1 4< ace (9,13,25,29)-4,16 D (6,22)-16 H (17,19,21,23)-2,4 C b< (9,11)-2< (17,19,25,27)-2,8 B indice2 9S (9,13)-4< (17,21,25,29)-4,8 A 12< (9.25)-16< Us ee S Expresién de cada implicante .19)-2< i (721)-4< abede indice 3 1S (17,25)-8< Afi--o1 fad 19< = dhe (12716 B[i-0-1 |ace 22« (13,29)-16< C[io--1 [abe 25< (19,23)-4< DJ -1-01 bde (19,27)-8< : 23< E|-10-1 bee indice4 27 ee F[101i- [abea 5 (21,29)-8< o< (22,23)}-1 F G}0110- abcd (25,27)-2< H]-0110 [bede (25.29)-4< T {0-100 |acde T [001-0 é TI) Cubrimiento minimo. El proceso de obtencién del cubrimiento minimo consta de varios pasos: 1) Formar la tabla de implicantes primas. Para ello, poner los mintérminos de la funcién como cabezas de columnas y las implicantes primas como ca- bezas de filas. Marcar los mintérminos cubiertos por cada implicante. 2) Determinar las columnas distinguidas seleccionando las implicantes pri- mas esenciales para formar la expresién de la funcién. Eliminar todos los mintérminos cubiertos por las implicantes esenciales. 3) Si hay mintérminos de la funcién que atin no han sido cubiertos, simpli- ficar la tabla. Para ello, eliminar las filas dominadas (si el coste es mayor 0 igual que la dominante) y las columnas dominantes. 72 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 4) Verificar si hay implicantes esenciales secundarias, en cuyo caso repetir el proceso desde el paso 2. 5) Si se llega a una tabla ciclica, obtener el cubrimiento mfnimo bien por el método exhaustivo, bien por el método de Petrick. 6) La suma estrictamente minima de la funci6n se obtiene mediante la suma de las implicantes seleccionadas en los pasos 2 y 5. Notas adicionales: 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 obtencién del producto de sumas minimo, sigue el mismo proceso tomando los “ceros” de la funcién en vez de los “unos”. Comenzamos construyendo la tabla de implicantes primas: u[eyT ef * | 4] x2] a] afd o} ea} c5] >| x x x Columnas distinguidas: 11. Por tanto, E es implicante prima esencial y se selecciona. Se eliminan de la tabla de cubrimiento los mintérminos de E: 9, 11, 25, 27. Filas dominadas: B es dominada por C. Por tanto, eliminamos B. Columnas dominantes: la columna 17 domina a 19 y 21. Se elimina 17. Columnas distinguidas secundarias: 19. Por tanto, C Implicante prima esencial secun- daria y se selecciona. Se eliminan sus mintérminos: 19, 21, 23 En este punto, por claridad, reescribimos la tabla eliminando las columnas y filas ya tachadas, os a Aoeledhe f] xn] a] | | >| DISENO DE CIRCUITOS COMBINACIONALES — 73 Filas dominadas: A es dominada por D. Por tanto, eliminamos A; F es dominada por H, de aqui 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 mintérminos 6, 22 (de H), 13, 29 (de D). Filas dominadas: G es dominada por I y J es dominada por I. Eliminamos G y J. Columnas distinguidas secundarias: 4 > I es esencial y con ella la funcién queda com- pletamente cubierta. Por tanto: . f = E+C+H+D+1 = bie + abe + bedé + bde + acdé b) Con puertas NOR, el procedimiento es similar con las diferencias de que hay que ob- tener una expresién minima en forma producto de sumas (ps) y, por tanto, hay que partir de la expresién producto de maxtérminos de f. A partir de esta expresi6n, el método de Quine-Mc- Cluskey se aplica exactamente igual que en el caso anterior. La solucién que se obtiene es la siguiente: f= (ete) (a+b+e) (atdte) (b+e+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 mas de una chica pero no a las cuatro, Para no romper corazones, ha establecido las siguientes normas: ~ Si invita a Bea, debe invitar también a Carmen. ~ Si invita a Ana y a Carmen, deberd también invitar a Bea o a Diana. ~ Siinvita a Carmen oa Diana, 0 no invita a Ana, deberd invitar también a Bea Antes de llamarias por teléfono, quiere utilizar un circuito que le indique cuando una eleccién no es correcta. Aytidele a disefar el circuito ptimo en dos niveles con puertas NAND. (Utilice e! método de Quine-McCluskey). Solucién P18.-Descripcién de las variables: Vamos a asociar una variable de conmutacién a cada persona: A, a Ana; B, a Bea; C, a Carmen y D, a Diana. Cada variable puede valer 0 6 I con el siguiente significado: — Si vale 0 significa que la persona NO va a la fiesta. —Si vale 1 significa que Sf va a la fiesta. Vamos a disefiar un circuito con una salida F que tomard los siguientes valores: — F=0 si la eleccién es correcta (cumple todas las normas). ~ F=1 sila elecci6n es incorrecta. OBTENCION DE LA FUNCION: Enel enunciado se indican 5 condiciones a cumplir: Cj: Que no va solo. Cy: 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 6 D. -Cs: Si va C6 D 6 no va A, debe ir B. F valdré 1 cuando la eleccién sea incorrecta, esto es, cuando se incumpla alguna de las condiciones. Podemos expresar F como una suma de productos donde cada término producto representa una condicién: F=C, +C)+C3+C4+Cs Debemos encontrar los términos productos asociados a cada condicién, teniendo en cuenta lo siguiente: 74 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES C= 1 sino se cumple la condicién. Cy =0 si se cumple la condicién. La condici6n C, se incumple en el caso de que no vaya ninguna chica, esto es, en el caso de que A=0 B=0 C=0 y te caso C\=1. El término producto asociado a esta condicién es el mintérmino 0: C. La condicién C3 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. Eneste caso C2=1. El término producto asociado a esta condicién es el mintérmino 15: C)=A B C D. La condicién 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 término producto asociado a esta condicién es: C3=B C. La condicién Cy se incumple en el caso de que vayan A y Cy no vayan ni B ni D. Esto es, si A=1 C=1 B=0 y D=0. En este caso C4=1. El término producto asociado a esta condicién es: Cy=A CBD. La condicién Cs se incumple en el caso de que vayan C 0 D o no vaya A y no vaya B. Esto es, si (C=1 6 D=I 6 A=0) y B=0. En este caso Cs=1. El término asociado a esta condicion es: Cs= (C+D+A)B= A B+BC+BD. De esta forma se obtiene que F CD+ABCD+BC+ACBD+AB+BC+BD En forma de suma de mintérminos queda: F = E (0,1,2,3,4,5,9,10,11,12,13,15) A continuacién, vamos a obtener una expresién éptima de F mediante el método de Quine-McCluskey que consta de dos partes. 1) Obtencién de las implicantes primas. En nuestro caso, se obtiene: Mintérminos listados _Implicantes de Implicantes de por su indice dos mintérminos cuatro mintérminos ae (0,1,2,3)-21 1 prey) 1)-1< (0.1.45)-4,1 12 indice 0< nee 5) lk (04)-2< (13.9182 3 indice 2< ——_ (1,5,9,13)-8,4 14 4c (1.3}2< 2,3,10,11)-8,1 15 (1,5)-4< (4,5,12,13)-8,1 16 3< (1,9)-8< acinar s< Q3+l< (9,11,13,15)-4,2. 17 indice2 9S Q2,10)-8< 10< (4,5)-1 “ . ae ines Expresién de cada implicante STi ABCD ee I< (3,11)-8< i Indice 3 3c (5.13)-8< Hjoo-. JA indice 4 05. (9,11)-2« 7 [0-0- AC ee @.13)-4< gOS ieee |e (10,11)-1< Tool SD (12,13 1< = — 15 | -O1- BC (11,15S)-4< 16 | -10- BC (13,15)-2< Wie aD DISENO DE CIRCUITOS COMBINACIONALES — 75 I) Cubrimiento minimo: Construimos Ia tabla de implicantes: oTijJ2[3 74 [slo ]To~uy ey 3] is ATX] x [XTX i B Lx | x Kea ax Cc x x x x D x x x = * pope ep - b pape ppp = = ioe Ee 10 es una columna distinguida, entonces, IE es una implicante prima esencial. Se elimi- nan los mintérminos de IE: 2, 3, 10, 1. Lo mismo ocurre con la columna 12 y la implicante IF, y se eliminardn los mintérminos de IF: 4, 5, 12, 13. 15 también es una columna distinguida e IG es una implicante prima esencial. En este caso se eliminan los mintérminos de IG: 9, 11, 11, 15. En este punto reescribimos la tabla eliminando las columnas y filas ya tachadas. oft 9] a} e) >| PRY PK! | Ds) Filas dominadas: C y D son dominadas por A y B, entonces eliminaremos C y D. En la tabla resultante tras eliminar C y D, tanto IA como IB cubren todos los mintérmi- nos que faltan y ademas tienen el mismo coste, por lo que se puede elegir cualquiera de ellas. Portanto: F = /E+1F+1G+!4 = Bc+ BC+ aD +48 IB AC Problema 19.- Una empresa aistribuye un cierto producto en ocho pueblos (A,B,C,D,E, F.G,H) de una comarca, comunicados entre si como indica la tabla siguiente (cada X sefala dos pueblos vecinos): A <|8 c xX D XIE G ><]H La empresa quiere construir almacenes de forma que cada pueblo, o bien tenga un almacén o bien un pueblo vecino lo tenga. 76 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a) Determine todas las formas de hacerlo construyendo el menor ntimero de almacenes posibles. ) Sien los pueblos A y G se ponen almacenes por tener mayor numero de habitantes, determine todas las soluciones mds econémicas. Solucién P19.- a) Este es un problema de cubrimiento: con el menor ntimero de almacenes, cubrir todos los pueblos. Vamos a aplicar la segunda parte del método de Quine-McCluskey, que consiste en hacer un cubrimiento éptimo. Si bien en el caso de! método de Quine-McClus- key el problema consiste en obtener un “conjunto de implicantes minimo” que cubra a todos los “mintérminos”, en nuestro caso vamos a aplicarlo a obtener un “conjunto minimo de alma- cenes instalados en Ios pueblos” de forma que cubramos a todos los “pueblos”. Existe una equivalencia entre implicantes y almacenes en los pueblos y entre mintérminos y pueblos. Vamos a construir una tabla de cubrimiento donde vamos a tener una fila por cada almacén que se pueda instalar en un pueblo y una columna por cada pueblo: A[TB[C[D[E[TF[G]H am exeex x x el |e | xed Jee |e c x [x [x x [xX a xy x Tx Tx yx € x [xTx | Be ee x z x x [x h x x px [x donde a, b, c, d, e, f, g y h representan un almacén en los pueblos A, B, C, D, E, F, Gy H res- pectivamente. Cada uno de ellos cubre al pueblo donde estd instalado y a los pueblos vecinos. Por ejemplo, un almacén en el pueblo A, fila a, cubre a los pueblos A, B, Dy F A partir de aqui 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 minimas. Cuando se pretende obtener todos los cubrimientos minimos, no se debe aplicar el criterio de eliminar filas dominadas, ya que este criterio elimina algunas soluciones mfnimas. Cubrimiento minimo 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 cfclica: 7 se a yx | x x b |x | x © x x a fx[x {x e x [x IBS oa | g x h x [x DISENO DE CIRCUITOS COMBINACIONALES 77 Para resolver esta tabla vamos a aplicar el método exhaustivo. En este método se parte de una columna con el mfnimo niimero de marcas. En este caso Ja columna E. Para cubrir el pueblo E hay tres opciones: Instalar almacén en d 6 en 6 en f. Analice- mos cada una de ellas: 1.- Eligiendo d: Eliminamos las filas que cubre d: A, B, y E quedando la siguiente tabla: F[G a x b c x e |x fal|| Xs 8 x h |x [x Con h se cubre el resto de la tabla. Asi 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[BI[G ax |x b | x [x € x [x ax {x f |-x zg x h x ‘Ademis de e se necesitan al menos dos mas (por ejemplo: a y ¢ 6 b y g). En total tres, con To que no son soluciones minimas. 3.- Eligiendo f: Eliminamos las filas que cubre f: A, E y F quedando la siguiente tabla: G x x x Con ¢ se cubre el resto de la tabla. Asi pues con fy c se cubre todas las columnas. Existen por tanto dos soluciones minimas: Poner almacenes en los pueblos D y H 6 ponertos en los pueblos C y F. Existe otra forma de resolver la tabla de cubrimiento, aplicando el método de Petrick. Este es un método que consiste en lo siguiente: 1.- Se forma la funcién de Petrick como expresién producto de sumas, donde cada tér- mino suma corresponde a las formas de cubrir una columna mediante filas. P.ej., A se cubre con (a+b+d+f): 78 | PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES (atb+d+f(atb+c+d)(b+c+d+g+h)(a+b+d+e)(d+e+f)(ate+f+h)(c+g+h)(ctf+g+h). Se obtiene la funcién de Petrick como suma de productos. El cubrimiento minimo se obtiene con las filas que aparecen en los términos producto con menor nimero de literales: P =cf+dh+acd+ace-...... (el resto de términos producto tiene 3 0 més literales). Por tanto, las soluciones minimas son construir en C y F 6 en Dy H. b) Sien 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: @ f Hay, pues, tres soluciones mfnimas en esta caso son: {A,G,E}, {A,G,D} y {A,G,F}. Problema 20.- Disefie, con el menor numero posible de puertas, un divisor por 2 de un digito BCD. Dé el resultado con una cifra decimal (también en BCD). Solucién P20.-Debemos disefiar un circuito con 4 sefiales de entrada representando un digito BCD y que genere a la salida el resultado de dividir ese digito por 2. El resultado deberd tener una cifra decimal y estard representado en BCD. Por tanto la salida tendra 8 sefiales: 23292). ZpAUsu;U;Up, donde 2329212 representa el digito BCD de la parte entera de la division y UuguzUt;Up el digito BCD de la parte fraccionaria. La tabla de verdad del circuito es la siguiente: ENTRADAS SALIDAS N abed Ni Zqeghy ey Wag 0 0000 00 00 00 1 ooo1 05 DOOD OTIT 2 oo1ro TO_| 000T 0000 3 0011 Sma |e 0,01 Onles Ot nOal 4 0100 0 D0T0.0000 5 o101 DoOToO0T0T | 6 o1lo0 0 OO0TT.0000 i o1id Seren |emO,On lel OnIROHT 8 1000 40 OT000000 9 1001 a. OT00.0TOT De la tabla de verdad se obtiene una expresi6n para cada salida sin mas que comparar las columnas de cada salida con las columnas de las entradas. Asf se tien =0, 29 =a, 2 =b, 2 =¢, 3 = 0, ty = d, Uy = 0, Ug = d DISENO DE CIRCUITOS COMBINACIONALES — 79 Problema 21.- Una cierta puerta de cuatro entradas llamada LIMON realiza la funcién siguiente: LIMON(A,B,C,D)=BC(A+D) Suponiendo entradas en doble rail: a) Realice la funcion: 1 (V, X,Y, 2) =E (0, 1, 6, 9, 10, 11, 14, 15) con sélo tres LIMON y una OR. b) é Puede realizarse cualquier funcién en légica LIMON/OR?. Solucién P21.- La puerta LIMON realiza la siguiente funcién: LIMON(A,B,C,D)=L(A,B,C,D)=BC(A4D) = ABC + BCD. Es posible realizar términos productos de 1 variable (por ejemplo con L(1,x,1,1)=x), de dos variables (por ejemplo L(1,x.y,1) = xy), de 3 variables (por ejemplo L(0,x,y,z) = xyz) 6 una suma de 2 términos productos de 3 variables con al menos dos literales comunes. Teniendo en cuenta esto vamos a obtener una expresién en forma de suma de productos para f y poste- riormente veremos si es posible implementarla con puertas LIMON. Del mapa de Karnaugh se obtiene la siguiente expresién para f: vx yA, 00 01 11 10 oo [77 oa a=, =, xyz (I) favy+Vxytvxe ” a eG xyz (2) 10 [oO fi Tenemos dos opciones para f, (1) y (2). Como sélo disponemos de tres puertas LIMON y la funcién f tiene 4 términos productos, debemos usar una puerta LIMON para implementar dos de los 4 términos productos. Para ellos necesitamos dos términos productos que compartan dos variables. Esto es posible en la opcién (2), con los términos productos V x y y xy z. La suma de estos términos productos la podemos implementar con la siguiente puerta LIMON: LIMON (V,x,y,z) =Vxy+xyz=L) Los otros dos términos productos los implementamos cada uno de ellos con una puerta LIMON de la siguiente manera: LIMON (1,v,y,1) = vy =L2 LIMON (v,x,z,0) =v x z= Ls. Por tanto: fol) +L2+L3, b) Con la puerta LIMON podemos implementar términos productos de hasta tres varia- bles. Para implementar un término producto de mas de tres variables necesitamos més de una puerta LIMON pero es posible implementarlo. Por tanto sf es posible implementar cualquier funcién utilizando exclusivamente puertas LIMON (con tantos niveles como se necesiten) y puertas OR. 80 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 22.- Se desea enviar mensajes de tres bits de una estacién a otra y, para evitar en Jo posible los errores, se ha decidido anadirle al mensaje un bit de paridad impar. Disponiendo Unicamente de puertas EXOR y NO-EXOR de dos entradas: a) Disefe el circuito que genere ese bit de paridad impar en la estacién emisora. b) Diserie también el circuito que compruebe en la estacién receptora que el mensaje recibido es correcto. ¢) Generalice ambos apartados para n bits. Solucién P22. a) El enunciado nos pide disefiar un circuito que genere un bit de paridad impar a un c6- digo de 3bits: a P=Osieln®de“I" en abc es impar P=Isieln®de“1" en abc es par CIRCUITO COMBINACIONA! P Hay que disefiar el circuito usando exclusivamente puertas EXOR y NO-EXOR. La funcién EXOR se hace | cuando el ntimero de I's en sus variables es impar. Enton- ces, teniendo en cuenta la definicién de P, P es el complemento de la funcién EXOR dea, b y c: P=a®b@c = (a®b) @c Asf, el circuito combinacional que genera P es el siguiente: a gel =I b — P e b) El enunciado nos pide diseflar un circuito que detecte un error de paridad impar en un cédigo de 4 bits: a b c E=Osicl n®de“ en abeP es impar E=Isieln®de “I” E_ enabeP es par CIRCUITO COMBINACIONAL Teniendo en cuenta la definicién de la funcién EXOR que se vio en el apartado a y la definicién de E, E es el complemento de la funcién EXOR de a, b, c y P: E=a®b@c@P = (a@b) © (COP) DISENO DE CIRCUITOS COMBINACIONALES 81 Asi, el circuito combinacional que genera P es el siguiente: a_[ =! b_| = E ala |__|" so c) Generalizacién al caso de 1 bits: Xp.jsXp.doee--X1 9X0. Enel caso del generador de bit de paridad impar, la funci6n del bit de paridad P es: P= I si el ntimero de I's en los n bits es impar P=0siel ntimero de I's en los n bits es par De esta forma teniendo en cuenta la definicién de la funcién EXOR, la funcién P es el complemento de la operacién EXOR de los n bi P= x,) OX, 7 Os OX, OX El circuito se puede hacer encadenando puertas EXOR de dos entradas y una tltima puerta NEXOR. En el caso del detector de bit de paridad impar, la funcién se define exactamente igual incluyendo un bit més que es el bit de paridad P: I si el mimero de I's en los n+1 bits es impar 0 si el ntimero de I's en los n+1 bits es par De esta forma teniendo en cuenta la definicion de la funcién EXOR, la funci6n P es el complemento de la operacién EXOR de los n bits: E = POx,., O5,.) 0... ON OX Problema 23.- La expresién algebraica Co =Ao Cy = (Ag + Ay + t Ag) BAK k= 1,2... proporciona el valor de la salida C, de un circuito en funcién de las entradas Ap, ., Ax-t Aw (a) Disefe el circuito correspondiente a cuatro bits de entrada. (b) Describa verbalmente qué tarea realiza dicho circuito. (c) Utilizando como médulo el circuito disefiado en (a), realice un nuevo circuito para 12 bits de entrada, indicando las nuevas entradas y salidas que hay que afiadir al médulo dise- fiado en (a), para que el nuevo circuito de 12 bits pueda operar correctamente. Solucién P23.- Para 4 bits de entrada existen 4 bits de salida cuyas expresiones y el circuito final son las siguientes: 82 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES A3 AQ Al Ao Co=Ao 21 21 Cy1=Ag BA, C3 = (Agta; +Az) @A3 T T T Cy [ory CQ Co b) Analizando la tabla de verdad de las funciones C; (i obtiene el complemento a 2 del niimero de 4 bits de entrada: 0, 1, 2, 3) se comprueba que se C3.9= Ca2 (Az.0) ) Para obtener la variable C, hay que ir arrastrando la operacién OR de las K variables de entrada anteriores (Ag hasta Ay.). Para ello hay que afiadir al médulo de 4 bits disefiado en el apartado a) una sefial de entrada, Kin, que permita introducir la operacién OR de las varia- bles de entrada de los médulos que se coloquen antes, y una sefial de salida, Kout, que trans- mita la operaci6n OR de las variables de entrada anteriores al siguiente médulo. De esta ma- nera la primera variable de salida del modulo, Co, no se obtiene directamente de la entrada Ag sino como la operacién EXOR de Ag y Kin (en Kin se conectaré la sefial Kout del médulo an- terior o bien un 0 sies el primer médulo de la cadena). DISENO DE CIRCUITOS COMBINACIONALES — 83 Médulo de 4 entradas y 4 salidas A3 Ad A, Ao ST BT I BI Kout— fl tl tl I Kin 1 1 al = Cy Cc Bo Conexién entre médulos An Ai Ay Ag Ay Ag As Ay Ay Ap Ay Ao Ay Ap Ar Ao Ay Ap Ay Ag Ay Ar Ay Ao + Kout Kin! Kout Kin}— Kout Kin}— 0 GG 4G G& Go a & OQ Go & Cu Cro Co Ce Cr Cy Cs Ca C3 C2 Cr C PROBLEMAS CON SOLUCION RESUMIDA Problema 24.- Dada la funcién de la figura, obtenga la minima expresin en forma de suma de productos. ede ba\ 000 001 011 010 110 111 101 100 of of o;o}ofojr ofo};ojo}ofifi Ma fafa fa ipo loo} ofof}olojr elelele elolelo Solucién P24.- abet+abcd+acde+abde Problema 25.- Disefie de forma éptima, un circuito que genere la funcién f(a,b,c,0,e) y cuya realizacién sea en dos niveles: a) f=2(0, 1,5,6,9) +d (10, 11, 12, 13, 14, 15) b) f=3(0, 2,5, 7, 13, 15, 18, 26, 29, 31) + (20, 24, 28). 84 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P25. a)fp=abe+bed+ed ps = +d) (b+) (C+) (b+c+d) b)fyp=ace+bcetabcetacde fps = (C +2) C+) (a+b +c) (@t+d+e)(@rb+e) Problema 26.- Sea F una funcién de un digito BCD y de una entrada de control X. F vale “1” en los siguientes casos: 1) SiX=1 y el n° BCD es milttiplo de 3. 2) SiX=0 y el n° BCD tiene un n° impar de unos. Implemente F como un circuito en dos niveles utilizando puertas NAND. Solucién P26.-El mapa de Kamaugh y una expresién en forma sp (para implementar la fun- cign en dos niveles NAND-NAND) son los siguientes: Xab cd\, 000 001 O11 010 110 111 101 100 oO ERBL Ae oO oa [@le[afo [rt] ofo 0 T Mm CLD a 0 lary f 10 f = Xabed + Xbed + Xbed + Xbed + Xad + Xad + Xbed + Xbed + Xabed Problema 27.- Redisefie el circuito de la figura con puertas NAND solamente. & Solucién P27.- Primero hay que analizarlo, para posteriormente buscar una expresi6n en suma de productos: f= xy+ FD = E+ yt 7Z = E+ 4) DISENO DE CIRCUITOS COMBINACIONALES 85 Problema 28.- Disefie un circuito cuya salida sea el resto de la divisidn de un numero A de tres bits entre un numero B de dos. El numero B nunca puede ser cero. Solucién P28.-El mapa de Karnaugh y las expresiones en forma sp para las dos salidas que forman el “resto” de la divisién son los siguientes: 8,9 by, 000 001 O11 O10 110 111 101 100 BD | 00 Jad] da] ad [aa | aa | od | aa | aa OL 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 11 [00 | 01 | 00 | 10 | 00 f or | to or] 10 [00] 01 | oF | 00 | 00] oF | oF | 00 Ty = GQ, dob by + aza,agb by To = Ggby + aya, ayb, + a,a,agb, + a,a,ayb, by Problema 29.- Un sistema sencillo para hacer votacién secreta es utilizar un circuito combi- nacional cuyas entradas estén controladas por interruptores que puedan accionar los miem- bros del jurado. Cada miembro votaré con un S/o un NO (no hay abstenciones). El sistema que queremos realizar es el siguiente. Hay dos tribunales: A y B. El tribunal A tiene 4 miembros (a,b,c, y d) y el tribunal B tres (e,f, y g). El veredicto deberd ser: — El del tribunal A en ei caso de que no se produzca empate. — Si se produce empate en el tribunal A, el veredicto seré el del tribunal B. Disefie el circuito seguin el diagrama de bloques de la figura: ~a— >=} arcurroa a—| CIRCUITO C es f CIRCUITO B g Solucién P29,-Codificacién de las variables: Entradas: a,b,c, d,e, f, = 0 si el voto es NO. a,b,c, de, f, g= 1 siel votoes Si. Salidas: Del circuito A: F,F) = 0 0 cuando gana NO en la votacién del tribunal A. FF) = 0 | cuando gana Sf en la votacién del tribunal A. FF) = 1- cuando se empata en la votacién del tribunal A. 86 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Del circuito B: F3 = 0 cuando gana NO en la votacién del tribunal B. F3 = 1 cuando gana Sf en la votacién del tribunal B. Del circuito C: S = 0 cuando gana NO en la votacién global. S = | cuando gana Sien la votacién global. Los mapas de Karnaugh para cada una de las funciones y sus expresiones en forma sp son los siguientes: ab ab aN cd \ 00 O01 M10 o Toy]; oy1{o o Joy;ofa]o a fofifofi o fofd[tf[a nu f[ifofofo ufafif{rfa w fofifofi iw fofafifa cd+abcd+abcd+abcd+abcd+abcd Fy=ab+cd ef FF, 7 00 ol 1 10 B ao 1 10 o JoToyiyo o ToyTiyoyo i fo T[i o fofififi Feeftegtfg F, F) +P, F; Problema 30.- Se desean visualizar las siguientes representaciones utilizando un visualiza- dor de 7 segmentos. Disefie un circuito de tres entradas que encienda correctamente el seg- mento g. REPRESENTACIONES VISUALIZADOR 7 SEGMENTOS Ci _ a Mm OLoct tale a nm P30.- La funcién de salida toma los siguientes valores: g = 0sino se enciende el LED. g = 1 si se enciende el LED. DISENO DE CIRCUITOS COMBINACIONALES 87 Son 6 casos los que hay que representar por lo que se necesitan tres entradas: x, y, Z: REPRESENTACIONES x yz g —_ 1 es z oo O1 1 10 ——> 010 0 o [ijo 1 ——> 11 1 = g=ytz MM CLricr oo 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 estan 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, 2: E para V, Z. a) Determine todas las combinaciones minimas de ejecutivos requeridos para abrir la caja. b) Determine el ejecutivo “esencial”. Solucién P31.- Es un problema de cubrimiento minimo y para resolverlo se debe aplicar el método ya conocido (véanse los Problemas 17 y 19). La tabla de cubrimiento es: x Las combinaciones de ejecutivos minimas 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 sefial de control “C’, disefiar un circuito combinacional cuya salida sea el complemento a 1 (Cat) 6 el complemento a 2 (Ca2), segun el valor de C. Utilice exclusivamente puertas EXOR y OR. Solucién P32.- Sea A=Ay, jAp.2.-..AyAg el mimero de entrada y B = By.:Bp.7......B1By el ntimero de salida. El circuito que obtiene el complemento a 1 6 a 2 en funcién del valor de C es el siguiente 88 | PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES SiC =0, B =Ca2(A) SiC =1,B=Cal(A) A Ao a {| t ic Problema 33.- Una luz se enciende cuando su sefial de excitacién esté en nivel bajo. Esta sefial esté controlada por un circuito de cuatro entradas: x,->orden de encender la luz, activa en bajo; x,->orden de inhibir la luz, activa en bajo; x;->orden de emergencia, activa en bajo; x,->aviso del estado de la luz en la calle: “1” si es de dfa,’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 inhibicién, excepto si hay emergencia, en cuyo caso la luz se enciende independiente- mente de las otras sefiales. De una tabla de verdad del circuito que controla la luz disefindolo con los elementos que estime oportunos. Solucién P33.- Funcién de salida: L=0__luzencendida. 1 luz apagada. Variables de entrada: encender luz. no encender luz. inhibir luz. no inhibir luz. emergencia no emergencia es de noche. es de dia. Funcién L: L =O si se enciende y es de noche y no hay inhibici6n: (x)+x4+X). Osi hay emergencia: x3, L= (xy 4xq#hy)x3. Fe Capitulo 5 SUBSISTEMAS COMBINACIONALES En este Capitulo se abordan los subsistemas combinacionales. Con este nombre se agrupa a una gran diversidad de circuitos que, a nivel estructural son generalmente mucho mas complejos que las puertas estando integrados en al menos la escala MSI y cuya funcionalidad va mucho més allé de las meras operaciones algebraicas. Una clasificaci6n atendiendo a dicha funcionalidad los divide en subsistemas de propésito especifico y subsistemas de propésito general. Los primeros realizan funciones fijas, mientras que los segundos realizan cualquier funcién I6gica mediante una “programacién” interna o de sus entradas y salidas. Antes de conocer uno a uno los dispositivos que componen ambos grupos, destacamos algunas caracteristicas comunes. En cuanto a los tipos de entradas se pueden distinguir dos: las de control y las de datos. Las primeras controlan la operacién del dispositivo y suelen recibir nombres como el de sefial de habilitacién (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 ocurrfa en las puertas. Respecto a las salidas, también existen las de control, que avisan de de- terminadas situaciones o estados en el que se encuentra el dispositive, y las de datos, que son realmente las que dan respuesta al conjunto de entradas en cada instante. Respecto a la actividad de las sefiales, estas pueden ser activas en bajo 0 en alto. Si por ejemplo, nos referimos a la entrada de habilitacién (EN), que sea activa en alta significa que cuando ésta tenga el valor l6gico 1, el dispositivo realiza la funcién para la cual esta disefiado, y siesté a 0, el dispositivo no est4 habilitado para desarrollar su funcién. En los circuitos de esta obra, las sefiales activas en bajo se representan con un “cfrculo” (por ¢}., las sefiales de habilitacién 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 estarén fijas a un valor determina- do que, segtin su disefio, puede ser 0, 1 o un tercer estado de alta impedancia (HI). TRecordemos que usamos légica positiva (L— 0, H— 1), 89 90 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES SUBSISTEMAS DE PROPOSITO ESPECIFICO Decodificador: Se trata de un dispositivo con n entradas y 2” salidas donde en funcién de la combinacién bi- naria de sus entradas, una y s6lo una de las salidas se activa. Es decir, convierte un cddigo bi- nario de entrada en cédigo “1-entre-n”. Su simbolo para el caso DEC 2:4 con habilitacién y salidas activa en alta, su tabla de verdad y sus ecuaciones de cada salida se muestran a conti- nuaci6n: Xp DEC 2:4 con salidas activas en alto Si el decodificador pose m salidas, donde m <2", se denomina decodificador no com- pleto. Codificador: Realiza la operaci6n contraria al decodificador. Es decir, convierte el cédigo “I-entre-n” en cédigo binario. Un codificador completo posee 2" entradas, de las que sélo una puede estar activa, y n salidas que ofrecen la combinacién binaria asociada a dicha entrada. Su simbolo, tabla y ecuaciones de salida son las siguientes: es 3 ol, tt ireste S71 gL yor ester % Jo cop 42 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 cédigo “I-entre-n” ya que cada una de ellas tiene una prioridad sobre las otras, de forma que la salida es la codi- ficacién binaria asociada a la entrada de mayor prioridad que tenga el valor activo. Su tabla de verdad es: SUBSISTEMAS COMBINACIONALES 91 Convertidor de cédigos: Consiste en un subsistema combinacional que convierte un cédigo de entrada en otro de salida, El niimero de lineas de entrada y de salida depende de los c6digos que se convierten. Los casos particulares en los que uno de los cédigos sea “I-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 ABL— G Datos | G A=B}— E Bo AcBE-L AA} n SUBSISTEMAS DE PROPOSITO GENERAL Multiplexor: Un MUX-n 0 MUX 2:1 es un dispositivo de 2" canales de entrada (datos), n entradas de se- leccién de canal y 1 salida. Su funcionalidad es dejar pasar hacia la salida la informacién que entra por uno de sus canales de entrada, aquel que estd seleccionado en funcién de la codifica- cién binaria de las sefiales de seleccién. Un MUX-n es un médulo légico universal de 1 variables o de n+1 variables si algunas de ellas esta en doble rail. El simbolo que se utilizard en este Capitulo y su tabla de verdad son: & & FaCy5y-SgtCy-Sy-SytCy$1 SytCz$y-So C3 19 S180 Demultiplexor: Realiza la funcién inversa al multiplexor. Un DEMUX-n 0 DEMUX 1:2", posee una entrada de dato, n entradas de seleccién y 2” Iineas o canales de salida. Su funci6n consiste en pasar la ‘informacién de entrada de dato a una de Jas lineas de salida, la determinada por la combinacién 92 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES binaria de las sefiales de seleccién. El simbolo que se utilizard en el Capitulo y su tabla se muestran a continuacién: Coz Din'S, Sy $1 Sp [Co Cr C C3 Din Ci Din Sp 0 0 [Dino 0 0 01/0 Dino 0 10]0 0 Dino 11/0 0 0 Din Analizando la tabla se puede comprobar que el dispositivo es equivalente a un decodi- ficador con sefial de habilitacién EN= Din. Dispositivos Légicos Programables (PLD's): Su estructura general es la siguiente: plano AND £ lineas AND entradas salidas Atendiendo a la posible programacién de cada plano podemos hacer la clasificacién si- guiente: plano AND plano OR No programable | Programable | ROM Programable Programable | PLA Programable No programable | PAL ROM: Una ROM(2"m) posee n entradas de direccién y m salidas, que puede verse como un dispo- sitivo que almacena 2" palabras de m bits, de forma que para cada combinacién binaria de sus n entradas se selecciona una de sus 2" palabras. En las m Ifneas de salida se lee la palabra al- macenada. Del plano AND de una ROM se obtienen todos los mintérminos de las n variables de entrada, y en funci6n de la programacién del plano OR, se eligen los que interesen para rea- lizar la funcién légica que se desee. Por tanto, una ROM es un dispositivo légico universal de n variables para m funciones SUBSISTEMAS COMBINACIONALES — 93 PLA: Un PLA(n.p,m) es un subsistema con n entradas, m salidas y p términos productos (salidas del plano AND). Mediante este dispositivo pueden implementarse m funciones Iégicas de n varia- bles expresadas en sumas de productos si para ello no se superan los p términos ANDs dispo- nibles. PAL: En este dispositivo cada salida es la OR de un conjunto determinado de lineas AND, no estan- do compartidas ninguna de ellas por otra salida, La implementacién de una funcién con este dispositivo es similar al caso anterior, salvo que en el PAL cada funcién de salida se trata in- dependientemente de las otras. indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — Anilisis de circuitos con subsistemas. — Disefio de subsistemas. —Diseio de funciones légicas con subsistemas. PROBLEMAS RESUELTOS Problema 1.-Describa con palabras el funcionamiento del circuito: G yift E L x wy Xo v Yo 21 xsy xy Solucién P1.- Si las entradas x1xq son mayores 0 igual a y yo, se activarén las salidas G0 E, respectivamente, del comparador de magnitudes. Estas salidas, gracias a la puerta OR, provo- can que la entrada del demultiplexor sea un 1 Idgico. Habra, ahora, que determinar cudl es el canal de salida, en funcién de las sefiales de seleccién. Puesto que x>y, la salida L del compa- rador es 0, por tanto los canales seleccionados dependen s6lo de y; (canal 1 0 canal 5). Como puede verse, estos canales estén unidos mediante una OR, por lo que la salida sera 1. Cuando x y E3), como muestra la figura: SUBSISTEMAS COMBINACIONALES — 103 EE: —t 183 Te Cuando E)=0 (ver tabla), la salida E vale 0, por estar este comparador inhabilitado. Cuando E7=1, el comparador esté habilitado y s6lo tenemos dos posibilidades, E3= En la primera, el comparador activa su salida (E=1) y en la segunda no. y E3=0. Problema 8.-Realice las siguientes funciones haciendo uso de los dispositivos que se dan en cada uno de los apartados: a) Utiizando un decoditicador con salidas activas en nivel alto y puertas OR. b) Utilizando un decodificador con salidas activas en nivel bajo y puertas AND. ¢) Utilizando un decodificador con salidas activas en alto y puertas NOR. d) Utilizando un decodificador con salidas activas en bajo y puertas NAND. X(0,9,11,15) + d(1,2,3) (0,3,5) - d(1,2) Solucién P8.- Si se dispone de un decodificador con salidas activas en alta, la expresin algebraica que define cada una de éstas sera el mintérmino correspondiente al nimero de entradas que tenga dicho decodificador. Por tanto, si usamos en cada apartado un decodificador con tantas entradas como variables tiene la funcién a disefiar, se dispondré de todos los mintérminos de ese ntimero de variables, en cuyo caso slo nos queda elegir entre todas las salidas cudles son los mintérminos de la funcién y realizar la operacién OR de todos. De forma anéloga, si el decodificador tiene las salidas activas en baja, la expresi6n para cada un de ellas serdn los maxtérminos del ntimero de variables que posea el decodificador en su entrada, Siguiendo el mismo procedimiento, podemos conseguir todos los maxtérminos distintos de! niimero de variables que posea la funcién y elegir los que sean maxtérminos de &ta. Bastarfa después realizar la operacién AND de éstos. Pasamos a resolver el problema para cada una de Jas funciones del enunciado F (a,b,c,d) = £(0,9,11,15) + d(1,2,3) a) utilizando decodificador salidas activas nivel alto y puertas OR: acces 104 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) utilizando decodificador salidas activas nivel bajo y puertas AND. aoge 4:16 c) utilizando decodificador salidas activas nivel alto y puertas NOR. Para este caso, dado que disponemos de una puerta NOR, tomaremos los maxtérminos de la funcién complementaria a la que queremos disefiar. De esta forma, a la salida de la puerta se obtiene la funcién del enunciado. aoge 4) utilizando decodificador salidas activas nivel bajo y puertas NAND. Aplicando un razonamiento andlogo al anterior dado que disponemos de una puerta NAND, damos la siguiente solucién al problema: eoge Para todos los apartados hemos despreciado la existencia de inespecificaciones SUBSISTEMAS COMBINACIONALES —_ 105 Repetimos el mismo razonamiento para cada una de las funciones siguientes: F=IT(0,3,5)-d(1,2) a) utilizando decodificador salidas activas nivel alto y puertas OR: 2 1 ° ocr DEC 3:8 b) utilizando decodificador salidas activas nivel bajo y puertas AND: & c) utilizando decodificador salidas activas nivel alto y puertas NOR: 21 oe DE EE 4d) utilizando decodificador salidas activas nivel bajo y puertas NAND: Problema 9.-Encuentre un disefio minimo para cada una de las siguientes funciones si sdlo disponemos de un decodificador 3:8 y de puertas de dos entradas. a) F=2(0,9,11,15) + d(1,2,3) b) F=1I (0,3,5)- (1,2) o) F=1I (1,3,4,6,9,11) - d(7,12,14) ) F =I (1,2,3,7,8,9) Solucién P9.- Para dar soluci6n 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 s6lo posee tres entradas. Con ello, de las salidas de éste, se obtienen los mintérminos o maxtérminos de tres variables (dependiendo del tipo de salida del decodificador), y afiadiendo la cuarta variable (bien mediante operador AND u OR) se consiguen los mintérminos 0 maxtérminos de la funcién que se necesiten. 106 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a) F(a,b,c,d) = £(0,9,11,15) + d(1,2,3): b) F(a,b,c,d) = TT (0,3,5) - d(1,2) = a(b +0): 4 b 2 2 © 1 3 4 0 3 DEC 6 21 F 387 ) Fa,b,cd) = TT (1,3,4,6,9,11) - d(7,12,14): 4) F (a,b,c,d) = TT (1,2,3,7,8,9): SUBSISTEMAS COMBINACIONALES — 107 Problema 10.- Un circuito tiene como entradas dos ntimeros binarios de dos bits cada uno: Y= Yio: X= xy%o. Se desea que tenga salidas 11 si Y=X, 10 si Y>X y 01 si Y Xi Xo-¥r You Ms Yo —*& & 7 Yo Yo . - Yo= By] Xi xo Yor ms Yo — Al disponer de puertas NAND de dos entradas, si las puertas AND anteriores son susti- tuidas por puertas NAND, a la salida de éstas dispondremos del complemento del mintérmino, es decir, maxtérmino correspondiente de cuatro variables. Ademis, en el problema disponemos de dos puertas NAND de un néimero no limitado de entradas. Podemos realizar las dos funciones descritas por producto de sus maxtérminos. 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 funci6n final. MiMj ~My m+ mj +... mg Como se puede ver en el grafico anterior, a la salida de la primera puerta NAND pode- mos obtener la funcién como suma (operacién OR) de sus mintérminos, y a la salida de la se- gunda puerta NAND se expresarfa la funcién como producto (operacién AND) de los maxtér- minos. Si pasamos a dar la solucién para cada una de las funcianes obteniéndolas como salidas de las puertas NAND de niimero variable de entradas, tendriamos que elegir como entradas de dicha puerta los maxtérminos de cuatro variables, cuyo subindice sean las combinaciones bi- narias que hacen 1 a la funcién, asf quedarfa expresada ésta como suma de sus mintérminos. SUBSISTEMAS COMBINACIONALES — 109 Si elegimos expresar la funcién como producto (operacién AND) de sus maxtérminos y utilizamos una puerta NAND actuando como inversor a la salida, el circuito final seria el mostrado a continuacién: Yo Si incluimos la sefial de habilitaci6n E que se definié en una tabla anterior, una de las opciones para resolverlo serfa afiadirle al decodificador una entrada de habilitacién definida de la siguiente form 110 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES xj —4 2 xy— 1 ; (cada salida del decodificador) 0 todas las salidas a 0 1 s6lo una de las salidas activa Diego DEC 3:8 tanauno Problema 11.- Disefie un circuito de 4 entradas y 3 salidas, Z, 2,, 22 que realice las siguientes funciones: Zovale 1 cuando tres o mas entradas sean 1. 2; vale 1 cuando haya el mismo numero de unos que de ceros. Zp vale 0 cuando dos o més entradas sean 1. Para ello se dispone de: a) Un decoaificador con salidas activas en nivel alto y puertas NOR. b) Un decoaificador con salidas activas en bajo y puertas NAND. Solucién P11.- El mapa de Karnaugh para las tres funciones de salidas y el circuito final se muestra a continuacién: ab cd Ww oy ay 1° 72 E(011,13,14,15) 00 ] 001 ] 001 | 010 ] O01 2 =E.G,569.10,12) o1 |-001 | o10 | 100 | o10 =F 01.248) 11 [010 | 100 | 100 | 100 10 | 001 | o10 | 100 | o10 2% ty a) Se dispone de decodificador con salidas activas nivel alto y puertas NOR. Zg = TI (0,1,2,3,4,5,6,8,9, 10, 12). z, = 11 (0,1,2,4,7,8,11,13,14,15). 22 = 11 (3,5,6,7,9,10,11,12,13,14,15). SUBSISTEMAS COMBINACIONALES 111 my my o-— ™ iL m me 2 2-— ™ ms 3h M3 4p-— ™ a 3 st— ™s 6t— ™% ™ b—? 7} m, my © ! 8 mg me 4 9 L— my 13 oF 10}-— mio ae n-= my b fr m2 me DEC ms m, 76 aig 47 Ms mo ny 15}-— mys mova 12 ma Mis a) Se dispone de decodificador con salidas activas nivel bajo y puertas NAND. 3g =11(7,11,13,14,15).. M, b— Mo My — & pM My —4 p— to 2-— Mo Mig 3h— Ma Mis ——l 4p— Me a—3 sf Ms b— Me b 2 St Ms c 1 8 Mg a—o 9 p— Mo 10F-— Mio BE Me 12 DEC Be Mp 4: r— Mis © 15-— Mis Problema 12.- Disefie los siguientes convertidores de cédigo: a) BCD - EXCESO-3. b) BCD -2de 5. 112. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P12. a) Estructura general: 0 -—— 0 DECOD !}—~; 1 copiF 2 = i A 3 3 a 3 3 B 2 4 i 4 2 z c il 5 a 5 Decimal/ 1 . v ; a 2 Exceso3 0 as IBCD/Decimal8 J—a, 2 9 9 Convertidor BCD/ Exceso-3 BCD Exceso -3 Zama Z , ° ° ; Z3 = (5,6,7,8,9) = dstdgtd7tdg+dy 2 0 1 1 Z)=E(1,2,3,4,9) =dytdytdytdytdy 3 0 1 0 4 0 1 1 Z, =E(0,3,4,7,8) = dotd3+dgtdytdg 5 1 0 0 6 1 0 1 Zp =E(0,2,4,6,8) = dotdytdytdgtdg 7 1 0 0 8 1 0 1 9 1 1 0 b) Estructura general: o| 4 0 DECOD 7 4 CODIF A 3 3-2 3 4 B 2 4 = 4 3 c 1 a 5 Decimal/ 2 D ° 6+—z 6 2de5 1 rz 7 0 [BCD/Decimal §| a 5 Convertidor BCD/ 2 de 5 SUBSISTEMAS COMBINACIONALES 113 BCD 2de5 ABCD |Z; ZZ 24 = E(6,7,8,9) = dgtdytdgtdy 0 0 oO 0 1 1 1 0 0 1 0 1 Z3 = (3,4,5,9)= dytdgtdstdy 2 0 0 1 1 0 3 0 1 0 0 1 Zq = (1,2,5,8)= dj+dytds+dg 4 0 1 0 1 0 : a ' i a a Zy =E (0,2,4,7)= dotdytdgtdy ; ' ° t 7 Zo =% (0,1,3,6)= dtd) +d3+dg 8 I 0 1 tv) 0 9 1 1 0 0 0 Cada una de las funciones de salida se realizarfan con puertas OR cuyas entradas serfan las salidas correspondientes del decodificador BCD/Decimal. Problema 13.- En un determinado sistema microcomputador, existen 3 subsistemas que procesan la informacién de forma independiente a través de cuatro fases de operacién. Por propésitos de control, es necesario conocer: a) Cudndo dos o mds subsistemas estan en la misma fase. b) Cudndo exactamente dos subsistemas estan en la misma fase. Cada subsistema genera una sefial de dos bits para indicar en qué fase se encuentra (00,01,10,11). Disefie un circuito que permita conocer cudndo el conjunto de subsistemas se encuentra en alguna de las situaciones a) y b). Solucién P13.- Sean A, B y C los tres subsistemas que generan las sefiales Ay Ag, ByBo y CiCo, que indican la fase de operacién de los tres subsistemas respectivamente. El circuito a realizar debe tener dos salidas F y G que tomardn los siguientes valores: Fel si hay 2 0 3 subsistemas en la misma fase. G=1 si hay exactamente dos subsistemas en la misma fase. G=F=0 en otros casos. Para conocer si dos sistemas e magnitudes de 2 bits: ‘én en fase o no, utilizamos un comparador de Tap Si la salida [4p =1 , los subsitemas A y B estén en fase. Necesitaremos un total de 3 comparadores, a cuyas salidas las Hamaremos Tap Iace Ic. Con estas salidas, disefiamos un circuito con puertas I6gicas que genere las 114 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES salidas F y G. En el siguiente K-mapa vienen representadas las salidas F y G en funcién de las salidas de los comparadore: Tap lac Tpo\ 00,01 10 of oof | —- far lf] - f 10] - FG Tan s6lo comentar que existen casos que no pueden darse como entrada del circuito a disefiar con puertas. Uno de estos casos es [ap [4c ¢ Ipc = 011. En efecto, si el subsistema A estd en fase con el C (I4c = 1), y el subsistema C esta, a su vez, en fase con el subsitema B } es imposible que el subsistema A estd en desfase con B. Las ecuaciones para las funciones F y G son: F = Ibgtlact loc (pe Problema 14.- Disefie un circuito que a la salida de un multiplexor 8:1 realice la funcién: F=X (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31). Para el disefio se pueden usar, ademas de dicho multiplexor, un maximo de 8 puertas de 2 entradas. Solucién P14.-Dada la funcién a implementar, el proceso es el siguiente. Basta con elegir tres variables de la funcién para las sefiales de seleccién 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 implementardn con las puertas que disponemos. Una de las posibles soluciones es la que se muestra: SUBSISTEMAS COMBINACIONALES | 115 Fs (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31) abe de 000 01 010 oul 100 101 110 Wl 00 0 1 0 1 1 0 1 1 01 0 i 0 1 1 0 0 1 10 0 0 0 D 0 0 1 0 ul 1 0 I 1 0 0 0 1 Problema 15.- Un desplazador a la derecha de n bits, es un circuito combinacional que tiene como entrada un numero A, de n bits, m sefiales de control S;p.1,...S9 que indican e! numero de posiciones que se desplazard a la derecha el ntimero de entrada A, y genera la salida Z de n bits, correspondiente al nimero A desplazado. Asi por ejemplo, para un desplazador de 8 bits, cuya entrada sea 10010101 y las sefiales de control 82 $1 $9 = 0 1 0, se genera un desplazamiento de dos posiciones a la derecha dando, como resultado, la salida XX100101. SispS1 59 = 0 0 0, no hay desplazamiento. a) Disefie un desplazador a la derecha de n=4 bits y m=2 bits, utilizando 4 MUX’s de 4 canales. Suponga que los bits mas significativos del resultado, X.., se llenan con 0's. b) Dibuje las formas de onda de las salidas, cuando A3 Az A; Ag = 1011 y las sefiales 51 Sp cambian segun la secuencia 00,01,00,11,00,10 con una frecuencia de 1kHz. ¢) Indique una aplicacién aritmética para el desplazador. Solucién P15. a) Dibujamos el diagrama de bloque del desplazador combinacional y su tabla de verdad: A3 Ap Al Ag vy bv | % % 2% % 5 007A; A; A; Ag so —| 0 1 0 A; Ap Ay VV 1 0} 0 0 Ag Ag 4h 2 ly 1 1/0 0 0 A 116 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Cada Z; se obtiene de un MUX-2, donde cada fila s; 5 es un canal de entrada. Realizan- do el disefio quedarfa: A3AQ A) Ag said I tre 00 0 Ag v T wv 81 . i hy % O Zs L Z % b) Para el caso Az Ay Ay Ag = 101 1 y las Iineas $1 so cambiando a una frecuencia de IKHz segiin la secuencia: 5} 59: 00.01 00 11.00 10 Se obtienen las siguientes formas de ondas: Ims = 1/IKHz q OL __ 1011 0101 1011 0001 1011 0010 c) La operacién aritmética que realiza el desplazador es la divisin por potencias de 2. En este caso concreto se pierden los bits menos significativos, resultando: Aa 2'| donde s es el mimero s1 so y LxJ es el entero por defecto de x. Problema 16.- Redisefie el circuito de Ia figura, utilizando slo MUX’s 2:1. Deberé reducirse en los posible el numero de multiplexores. La unica entrada disponible en doble rail es e. He 0onoe SUBSISTEMAS COMBINACIONALES 117 n P16.- Para resolver este problema determinaremos, en primer lugar, el K-mapa de la funcién F. ab ae ool M10 o Lt 1° ]o ]o o [2 1 1 1 nfo foi fi w fo fof[i fi F Para obtener el circuito de menor coste que implemente la funcién F, utilizando multiplexores de 2 canales, s6lo podemos ir probando las diferentes realizaciones que surgan de suponer a, b, d 6 e, como variables de seleccién del primer multiplexor ( el que genera F en su salida). De todas ellas, la mejor es: 1—o eh of » 4. Problema 17.- Empleando un multiplexor de tres entradas de seleccién y todos los muttiplexores que hagan falta de dos entradas de seleccién, realice la funcién légica 10x1,X2,-..X6) que se caracteriza por tomar el valor ’1' si y sdlo si se cumple: X #XGtNGAOXgtOXgt3XG > 4 donde x; = (0,1) para i = {1,2,..,6} y las operaciones de adicién y multiplicacién indicadas son aritméticas. Solucién P17.- La desigualdad del enunciado describe una funcién booleana de 6 variables £(X,x2.%3.%4,X5,X6), que toma el valor I cuando las asignaciones binarias de las variables (x,,..X6) , satisfacen la expresién anterior, y 0, cuando no. Esta funcién booleana puede desarrollarse segiin el teorema de expansién de Shannon: £4 K5 X¢ f(x 1.X2,%3,0,0,0) + Xq X5 X¢ £(x4,X2,%3,0,0,1) + Hx X2)K3.K4X5,X6 + Kg Xs Ko £(X4,X99x350,1,0) + Xq x5 XG 0],x9,X3,0,1,1) + + X4q Xs Xp f%4,X2,%3,1,0,0) + xq Xs XG £0x],X2.361,0,1) + F-Xq Xs Xp (Kp x9,%3,1, 1,0) + x4 X5 XG H0K,x2,%3,1,1,1) Hemos expandido las variables x4, xs y Xg, por ser las mas relevantes de la desigualdad. Esta expansin se puede implementar con un multiplexor, cuyas sefiales de control son x4, x5 Y Xg y los canales, las funciones residuo. A partir de ahora, tenemos que determinar la expresién de las funciones residuo. 118 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si en la desigualdad, sustituimos x4, xs y x6 por 0, 0, 0, podemos comprobar que, independientemente de los valores binarios que tomen las variables x), xp y X3, la desigualdad no se cumple. Por tanto, la funcién booleana vale 0. FX XpXy 0, 0,0) = 0 Las siguientes funciones residuo, evaltian siempre 1, ya que la desigualdad se cumple siempre, independientemente de los valores de x), Xp Y X3. Fp yxy LW) = 1 F(x, %yXy0,1,1) = 1 F(X. %pXy 1,01) = 1 F(x. %yXy 11,0) = 1 De las restantes 3 funciones residuo, podemos deducir que: FC), Xn 40, 1,0) = f(x Xp 1,0, 0) por Jo que slo tenemos que obtener las funciones residuo f(x), x, x3,0,0,1) y f(x), Xp, X3) 0, 1, 0). Los mapas correspondientes son: LS 00 0110 PLS 00110 oLofifiti oLo][o]ifo 1 1 L Z 1 ce I Z 1 £(X1, Xo, X3, 0, 0, 1) £(X}, Xz, X3, 0, 1, 0) Para implementar estas funciones residuo, podemos utilizar multiplexores de 4 canales escogiendo, como sefiales de control, las variables (x), x2) . A continuacién se muestra el circuito resultante: x 1 1 1 flay Xa Xa, 4 %5.%0) X4 X5 Xp SUBSISTEMAS COMBINACIONALES — 119 Problema 18,- Realice la funcién F=& (1,2,3,4,6,7,8,9, 14), mediante la PAL de la figura:. c Solucién P18.- Sea F(a,b,c,d) la funcién a implementar cuyo mapa se muestra a continuacién: ab ed 00 ol u 10 oo 0 1 oO I ol 1 oO oO L i 1 i 0 0 10 1 1 L 0 F La expresién algebraica de F y de la funcién complementaria F sera: F= bed + be 5 Faabced+bed+abc+acd+ab-c Para realizar esta funci6n con el PAL de la figura tenemos que resolver tres problemas 1) El ndimero de entradas del PAL son tres y la funcién 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 través del producto x-x) sobre la Ifnea de control del inversor 3-estados correspondiente: 120 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES xXx 2) EI PAL del que se dispone realiza la operacién AND-OR-INV. Para resolver el pro- blema se escogerd a la funcién F como suma de productos y, al invertirse a la salida, se obtiene la funcién P. Para que en la salida se obtenga F, el control del inversor 3-estados debe estar a "1" (para ello basta con no programar ningtin fusible de la AND que proporciona dicho control: a 3) EL PAL sélo puede sumar (operacién OR) tres términos productos y F tiene cinco. Para resolver el problema se descompone F en dos subfunciones de forma que, en cada una de ellas, s6lo se sumen tres términos: F +bcd+tabc)+acd+ab: donde G =abc-d+bed+ab-<. De esta forma, G se obtiene por una de las salidas de la PAL y es reintroducida para for- mar F. =Gtacd+abe. Finalmente, tras las consideraciones anteriores se muestra la configuracién final del PAL: SUBSISTEMAS COMBINACIONALES 121 EebbiaddGG Problema 19.- Se desea disefar un circuito que tenga como entradas dos numeros de dos bits a=(a, aq) b=(b, ba) y un bit de paridad par correspondiente a los cuatro bits anteriores. El cireuito 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 deberd realizarse con multiplexores de dos entradas de selec- cién y una ROM de 8 posiciones de memoria. Solucién P19.- El circuito a disefiar posee cinco entradas, P, ay, ag, b), by y dos salidas. Lla- maremos G a la salida que indica cuando el niimero a = ajag es mayor o igual que el b= bybo, y salida I cuando se produce una entrada con el bit de paridad P err6neo. 122 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES azb G a E Detector de error Xa- Xo a) Definimos la sefial de error E de a siguiente forma: E=0 si Xq- Xo es c6digo correcto. E=1 si Xq- Xo es c6digo incorrecto. De esta forma se puede presentar el mapa de Karnaugh para la funcién B: XaX3Xq x 000 001 010 oul 100 101 110 Wt 00 1 1 1 0 i 0 0 1 OL 1 0 0 1 0 1 1 1 10 i 0 0 1 0 1 1 1 u 0 1 1 1 1 1 1 1 124 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Una vez conocido el mapa de la funcién E, dado que se dispone de un multiplexor de 3 canales de seleccién, los residuos de la funcién seran 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. xX X4X3Xq, b) Para realizar el convertidor de cédigo 2 de 5 acédigo BCD natural, se muestra la tabla de conversién para cada una de las diez combinaciones: oco-H ooo 0/9 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 cédigo 2. de 5 no ocurren nunca, y asignando un término producto para cada una de las combinaciones de entrada obtendriamos diez términos producto para realizar en el plano AND del PLA. A continuacién, para cada funcién de salida se hard la operacién OR de aquellos términos pro- ducto de los que participa. Siendo Po, P), P2, ...Py cada uno de estos términos, las funciones serdn: 03 = Pg + Py 0) = Py + Ps + Pe + Py 0} =P; +P; +Pe+Pz Op =P} +P; +Ps+P7+Po El esquema del PLA seré el que se muestra: SUBSISTEMAS COMBINACIONALES — 125 H | Ps P. Py [alas A Po T Xq X3 Xq X Xo 03 Oz 0 Oo c) El circuito completo ser el siguiente, donde el resultado de los apartados anteriores quedan representados simplemente por un diagrama de bloque: SHHE PLA Convertidor cédigo 2de 5/BCD Detector de error Problema 21.- Analice el circuito de la figura describiendo con palabras la funcién que reali- za. 4 Puede disefiarse con una ROM un circuito que realice la misma tarea? En caso afirma- tivo, indique cémo se haria, asi como el contenido de la ROM para los siguientes valores en hexadecimal de X e Y: XY: 10, 11, 12, 67, 84, AA ,DF 126 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P21.- Si el mimero X>Y, la salida A by bo a las de salida (binario natural). La tabla de verdad que muestra el comportamiento del conver- tidor es la siguiente: 8 82 81 go] bs bz by bo | ee 0 0 0 ofo 0 0 of 1 1 0 of 1 0 0 0 OO 0 FiO O O dit 1 0 1/i 6 6 f 0 0 1 1 oO 0 1 0 7 1 I 1 1 oO 1 0 o o 1 ofo o 1 1ffa 1 2 of 1 o 1 1 o 1 1 Of 0 1 0 of 1 o t of 1 t 0 0 o 1 1 afo 1 0 tf'a o t afi 1 0 1 o 1 0 1/0 1 1 Off: 0 Oo afi 1 1 0 Of oO OO J 1 fil 0 0 Oy f fo A partir de esta tabla pueden deducirse las relaciones: bs=83 Por simple inspeccién observamos que bp vale 0 si g3 de donde: bo = 83 @ 82 g2 y vale I en caso contrario, Por otra parte, recordemos que z = x @ y @ v se hace 1 si y s6lo si el ntimero total de unos en x, y, ves impar. Observamos que by vale 1 cuando g3 g2 g} tiene un némero impar de unos, de donde: bi =83@ 8281 O bien, by se hace 1 cuando g; # by y se hace 0 cuando g; = by de donde: bi =81@b2=83082081 Andlogamente, bg es | cuando es impar el mimero de unos en g3898180 ©, alternativa- mente, cuando go # by, de donde: bo = 80 @ bi = 83 ® 82 © 81 Bo Para hacer el disefio con puertas EXOR de tres entradas, basta tener en cuenta que x ® y =x ® y @ 0, con lo que se muestra un posible disefio: SUBSISTEMAS COMBINACIONALES | 131 bs elt» 82 = oJ a al Problema 26.- Se dispone de decoditicadores 2 a 4 con sefial de habilitacién activa en nivel alto. Disefie, con las mismas caracteristicas: a) Un decodificador 1:2. b) Un decodificador 3:8. ¢) Un decodificador de 4:16. Solucién P26. a) Se quiere disefiar un decodificador 1:2 con sefial de habilitacién activa en alta. Para ello se dispone de uno de esas caracterfsticas pero con dos entradas y cuatro salidas. Una de las posibles soluciones serfa elegir una de las dos variables de entradas que tiene el decodifi- cador dado y fijarla a un valor constante. De esta forma sélo dos de las salidas podrén activarse, y serén éstas las salidas del decodificador que buscamos. Disponemos del siguiente decodificador: E [— ™ a—1 IL— m; a—0 2W~m 3;-— m: DEC2:4 % quedarfa: 132. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 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 funcién de la combinacién binaria de las tres entradas se activard una y s6lo una de las ocho salidas de las que dispone e] decodificador (si éste esta 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 formardn las otras cuatro salidas, y el tercer decodificador servira para se~ leccionar a uno u otro de los anteriores segtin el valor I6gico de la tercera variable de entrada que hemos incorporado. A continuacién se muestra el esquema: E ©) Con un razonamiento andlogo al del apartado anterior, se quiere un decodificador 4:16. Para ello asociaremos cinco decodificadores 2:4, uno de ellos ird seleccio- nando uno a uno los cuatro decodificadores restantes, proporcionando cada uno cuatro de las dieciséis salidas que tiene el decodificador que se busca. En la siguiente figura se muestra el esquema: SUBSISTEMAS COMBINACIONALES — 133 mg my my m3, a3 a ay ag 0] mg 1 1 mg |} —lo 2 mo Ipec2:4 3 “a Eo m2 1 IL m3 jo 2 mg Ipec2:4 3J7~ ™s DEC 4:16 Problema 27.- Utilizando muttiplexores de menos entradas de seleccién que el dado, se pide: a) gCdmo implementaria un MUX de 3 entradas de seleccién? b) ECémo implementaria un MUX de 2 entradas de seleccién? c) £Cémo implementaria un MUX de 4 entradas de seleccién? 134 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P27.- Multiplexor de 3 entradas de selecci6n a partir de MUX-2 y MUX-1: S180 Problema 28.- Se dispone de ROMs de n lineas de direccién y m bits por palabra, todas ellas con CS, Disefie una ROM con CS, n lineas de direccién y 2m bits por palabra. SUBSISTEMAS COMBINACIONALES | 135, Solucién P28.- Disponemos de dispositivos como los que se muestran a continuacién: cs ROM 2m ie y se desea obtener una memoria del mismo ntimero de lineas en el bus de direccién pero con el doble nimero de Iineas 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 simulténeamente, para una misma direcci6n de palabra, (el bus de direcciones es comtin para ambas), se accede a una palabra de cada memoria leyendo su contenido. Basta s6lo reunir los m bits de cada uno de los contenidos en un bus comtin que serd el de datos de la memoria final que se busca. A continuacién se muestra el esquema de conexionado: cs " po ws ca Met) 0 ROM NS} ROM an | Dem 2] em m m Tn Problema 29.- Se dispone de circuitos comparadores de magnitud de 4 bits y puertas légicas. Diséfiese un comparador de ntimeros de 16 bits. Solucién P29.- Este problema puede tener diferentes soluciones. Presentamos, aqui, la solucién més 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 nimeros A y B: 136 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si de este grupo de 4, los bits del mimero A son mayores que los del B, no harfa falta comparar los restantes bits; el ntimero A es mayor que el B. De igual modo razonamos cuando los 4 bits del niimero B son mayores que los respectivos del A. Podemos ver, entonces, que las salidas de este primer comparador, pueden utilizarse como salidas del comparador de 16 bits. Sélo en el caso en que los 4 bits mas significativos de los dos ntimeros sean iguales, se necesitaré comparar los restantes bits. 4 4 Anseota | Asn ota | qa G a G ADB : — B na ce ee 7 AB 2 | Bisp—ap 1 | a A3.0 —jla | 0 1 0 Bio ——1B 4 | Se resalta el hecho de que el comparador 4 ( el que actiia 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 niimeros, A y B, sean iguales, para activar la salida A=B > > ma TQ G E L ed wo a B : Problema 30.- Sea F = (1,3,11,13,21,23,25,31) + d(5, 19,27). Implemente esta funcién con un Unico demultiplexor 1:8, una puerta NAND de ocho entradas y puertas NAND de dos en- tradas. EE EEEEEEEEEEE’/SCSCS SUBSISTEMAS COMBINACIONALES 137 Solucién P30.- F(a,b,c,d,e) = Z (1,3,11,13,21,23,25,31) + d(5,19,27) ae] Problema 31.- Una llamada de teléfono puede dirigirse a cuatro secretarias. (Nunca hay mas de una llamada simulténeamente). La recepcionista distribuird las llamadas segun el siguiente criterio: Sia llamada procede de empresas de alimentacién o de ropa, se pasa a la secretaria numero 4. Si procede de una empresa de venta de ordenadores, 0 de un banco, se pasaré a la secretaria numero 3. Si se trata de una llamada procedente de una empresa de viajes 0 del aeropuerto, de- ber sonar el teléfono de la secretaria numero 2. En cualquier otro caso se enviaré a la secretaria numero 1. Disefie un circuito que indique el ntimero de Ia secretaria que deberd recibir la llamada, utilizando un unico codificador 8:3, una NOR de 2 entradas y una NOR de 6 entradas. Solucién P31.- _Interpretamos cudles serdn las variables de entrada y de salida del problema. Variables de salida: ZZo: indican la secretaria a la que va dirigida la Hamada: secretaria n? 1 secretaria n® 2 secretaria n® 3 secretaria n® 4 Zo 0 1 0 1 Variables de entradas: Se nombrarn con Xo, Xj,... las distintas llamadas de empresas. X= | indicaré que hay lamada de la empresa "k" (ver tabla). Hay siete procedencias distintas de las llamadas, organizadas en cuatro grupos depen- diendo de la secretaria que la reciba. Utilizando un codificador 8:3 se transforman estos 8 casos en cédigo de tres variables de las que dependerdn las variables de salida. A continuacién se muestra la tabla: 138 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a lo Llamada Alimentacién Ropa Ordenadores Banco Viajes ‘Aeropuerto Otras ie 2 eccoocoo HoH oHo Zo H 1 0 0 1 1 0 coon a eln ecooceco -|x cooceoo-olx coo-scco5lx or cococo ox m-H-~occe = coo 0lo eocecHoo Po. Por tiltimo basta obtener las expresiones de Z; y Zp en funcién de las salidas del codi- ficador. Qc OC, cH oo oO1 1d 10 oO oo O11 1 10 0 1 1 0 0 0 1 0 0 I rfaifal-fo 1fifof-[a c La realizacién del circuito utilizando los dispositivos de los que disponemos quedaria como se muestra a continuacién: 2 P— Z O— 9 b— Zo cop 8:3 NC: no conectada Problema 32.- Un sistema que mide periédicamente la temperatura de un experimento de laboratorio, da la informacién utilizando nuimeros de 4 bits en notacién complemento a dos. Disefie un circuito que detecte el intervalo cerrado de cédigos [-5,4], utilizando, exclusivamente, comparadores de magnitud de cualquier numero de bits y puertas de dos entradas que no sean operadores ldgicos universales. ee eee SUBSISTEMAS COMBINACIONALES — 139 Solucién P32. Sistema | de -R*2 a cc. > medida | 4 Z Todas las salidas que genera el sistema de medida, se representan en la siguiente tabla. Asimismo, se ha representado el equivalente en notacién Ca2, y la salida Z. T [bbb] Z T | bhhb)Z +0T 0000/1 8110000 41} 0001] 1 4]1001/0 42/0010] 1 11010/0 3) 0011/1 S}ioiifa +4) 0100/1 4} 1100/1 45]0101/0 3y/irolft +6] 0110/0 2) 1110}1 47; O11 1)0 -D}drid}i Para el disefio con comparadores, procedemos de la siguiente manera: a) Todas las magnitudes menores de 0101, activardn la salida. b) Las magnitudes mayores de 1010 activaran, también, la salida. c) La unién de los casos a) y b), genera la salida Z. El circuito resultante es: 4 O11 A A>Br— he 4 A=BL- 3-0 B A ny). Llamemos S;, a los 146 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES resultados parciales procedentes de multiplicar el bit i del nimero B, por el mimero A (ver figura anterior). EI ntimero de bits del resultado parcial Sq es de n,; el de Sj,n,+1; en general, el del S;, es n, + i. El resultado parcial con mayor ntimero de bits es Spy), con ng + ny - | bits. Por el apartado a) sabemos que la suma de los resultados parciales Sq y $1, necesitarén un resultado de n, +2 bits. Este resultado, sumado con S, ( que tiene n, +2 bits), producira un nuevo resultado que necesitard n,+3 bits. De forma sucesiva, llegamos sumando las resultados parciales, hasta el titimo, Spp.1. El tamafio del resultado de esta ultima suma, se necesitard almacenat con un bit més de los que posee Spp.1, €S decir, ng + np -1 +1. En resumen, el resultado de la multiplicacién de dos ntimeros A y B de n, y ny bits, respectivamentes es: Raxp = Mgt My b) Convertimos los ntimeros 11019, 35,10 ¥ 7310 en binario 1, 2772. 3 1, 6 (2 + bE 1 Ao 110,19 = 1101110. , o bien , si utilizamos un byte para almacenar el némero 110 (9 = 011011109. 723 2 wb 36 0 1812 2 o Ta 6 312 Can 2% 73,19 = 01001001 (9. Por iltimo: Be bit — 4 3L2 0, 42 0, 212 oO 12 cohat) 35,19 = 0010001 19 Las sumas son: Problema 2.- Realice la substraccién de los siguientes numeros binarios usando (i) el complemento a dos (i) el complemento a 1 oO1101110 + 00100011 10010001 xloo oe e fle= rleo oles Filo= ols= ses CIRCUITOS ARITMETICOS 110 35. 145 10 B 183 Compruébese la respuesta por substracci6n directa. a) 11010-1101 b) 11010 -10000 ¢) 10010 - 10011 d) 100 - 110000 Solucién P2. a) Por substraccién directa Por el complemento a 1 Por el complemento a 2 b) Por substraccién directa Por el complemento a 1 148 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Por el complemento a 2 011010 +26 + 110000 -16 AO0TOT0 +10 ©) Por substraccién 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 mimero negativo cuya magnitud se puede obtener restando al ntimero mayor, el menor. Existe Borrow final 10011 19 10010 18 0001 1 Resultado -1 Por el complemento a 010010 +18 * 101100 -19 TIt10 I Por el complemento a2 010010 +18 * 101101 _-19 Trtrit 1 ) Por substraccién directa Existe Borrow 1 final _ 000100 110000 48 110000 = 000100 “4 110100 OTT00~ 44 Resultado -44 Por el complemento a 1 0000100 +4 + 1O011IT 48 TOIOOTT -44 Por el complemento a2 0000100 +44 * 1010000 -48 1010100 -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). indique justificadamente: a) Dados dos nuimeros positivos A y B, ¢da igual sumarlos mediante SSS que mediante scz2?, ») éEn qué consisten y cémo se reconocen los errores de desbordamiento (overflow)? En su caso, ¢cdmo puede obtenerse el resultado correcto?. ¢) Realice, si es posible, las siguientes operaciones indicando si es con SSS 0 SC2. 1. (-75) + 125 2. (-75) +(-125) 3.75 + (-125) 4. 754125 CIRCUITOS ARITMETICOS 149 Solucién P3. a) Disponemos de dos ntimeros positivos A y B. En primer lugar determinaremos la estructura de estos ntimeros en ambas notaciones. En SSS, los mimeros son la representacién binaria de una magnitud, El rango oscila entre 0 y 255 para los 8 bits de la ALU. En SC2, los datos estén representados segtin 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 comparacién 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 mimeros 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 asf SC2, ya que la representacion en esta notacién necesitaria un bit més. El resultado serfa interpretado como un nimero negativo. 3) A+B > 255. Este caso es absurdo para SC2, ya que, como maximo, la suma de dos niimeros 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 representacién de los sistemas, produciendo estos, resultados incorrectos. Para reconocer el desbordamiento, disponemos de la seffal de acarreo Cg y de overflow V, que ofrecen la mayoria de las ALU’s. El bit de overflow es util para operaciones en las que intervengan mimeros expresados en notacién Ca2. Se obtiene realizando la operacién Exor entre el acarreo de la columna de signo C7 y el acarreo de salida Cg: V=Exor(C7,Cy). Aclaremos este aspecto. Supongamos que tenemos dos ntimeros positivos de 8 bits expresados en Ca2. Si la suma de los bits Ag. y Bg.o, es menor de 128, no se produce ningiin acarreo C7=Cg=0, y el resultado es correcto, tal como muestra la figura Si la suma de los bits Ag.o y Bg.o es mayor de 127, se produce un acarreo C7=1 que provocaré que el resultado se interprete como un niimero negativo. Existe overflow 0 desbordamiento. En este caso, como se puede observar, no existe acarreo de salida Cy: Cuando los dos mimeros son negativos, se produce siempre un acarteo de salida que se desprecia. En tal situaci6n se producira un overflow cuando, al producirse un C7=0, se obtiene un resultado positivo: 150 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si damos un répido repaso a las condiciones que producen desbordamiento V=1 en funcién de C; y Cg, comprobaremos que se cumple la expresién dada para V. Dicho todo esto tenemos que: 1) En SSS sabemos que existe un desbordamiento cuando el bit de acarreo Cg se encuentre a I I6gico, independientemente del bit V 2) En SC2 sabemos que existe overflow cuando el bit V se encuentre a 1 légico. No obstante, en ambas notaciones es posible recuperar la suma correcta, utilizando como noveno bit el de acarrero Cg: CoF7FoFSFsF3F2F Fo Mostremos a continuacién la validez de esta solucién para SC2 (para SSS es evidente). La suma A +B genera desbordamiento s6lo en dos casos: si ambos sumandos son positivos (Az = By = 0) 0 si ambos son negativos (A7 = By = 1). Como el desbordamiento se elimina al contar con suficiente ntimero de bits, imaginemos que existe un noveno bit en la posicién més significativa (columna 8). El valor de este hipotético bit seré el del signo de los ntimeros Ag = Bg = 0 en el primer caso y Ag = Bg = I en el segundo. Entonces, al sumar la columna 8 se tendré 0+0+Cg 0 1+1+Cg, por lo que en ambos casos el hipotético bit de signo del resultado correcto es Fg = Cg c) Los tres primeros casos s6lo pueden realizarse con SC2 ya que se trata de nimeros con signo, mientras que el tltimo se realizard con SSS. 1) SC2(10110101 + 01111101). Las salidas de la ALU son 00110010, que representan el mimero +50. Se produce acarreo, Cg = 1 que se desprecia en la aritmética en Ca2, y el bit de overflow, V, se encuentra a 0 porque los acarreos Cg y C7 estén a 1 2) SC2(10110101 + 10000011). Las salidas de la ALU son 00111000, que representan el mimero +56. Pero el bit V esti a 1 (C7 =0, Cg = 1) indicando que existe un error de desbordamiento. El resultado correcto se puede obtener formando un mimero de 9 bits, constituido por el bit de acarreo Cg como bit de signo, y los 8 bits del resultado, A+B = 100111000. Esto representa el nimero -200, lo cual es correcto. CIRCUITOS ARITMETICOS | 151 3) $C2(01001011 + 100000111). Las salidas de la ALU son 1100 1110, que representan el ntimero -50. No se produce acarreo Cg y V=0. 4) SSS(01001011 + 01111101). Las salidas de la ALU son 11001000, que representan la magnitud correcta, 200. No se produce acarreo de salida Cy=0. Si se hubiese realizado SC2(01001011 + O1111101) las salidas de la ALU también son 11001000, pero V=1 indicando desbordamiento. Problema 4.-Muestre la palabra de 8 bits que representan los ntimeros +36 y -36 en las tres notaciones (S-M, Cat, Ca2). Represente también el resultado de multiplicar por dos y de dividir por dos, esos némeros. ¢Qué relacién hay entre la palabra inicial y la final? Solucién P4. a) Para mimeros positivos: En las tres notaciones se representan de igual forma los ntimeros positivos. Por tanto: +36 > 00100100 (436) x 2 = +72 > 01001000 (436) +2 = +18 — 00010010 En general, la multiplicacién por 2 equivale a desplazar el mimero 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. Andlogamente, la divisi6n por 2 equivale a desplazar hacia la derecha introduciendo un 0 como bit més significativo de la magnitud y conservando el bit de signo; se puede comprobar con +36 y +18. Grificamente estas operaciones admiten la siguiente ilustracién: ne 0 b) Para ntimeros negativos: La representacién de los ntimeros negativos varia de una notacién a otra. En este problema tenemos: bl) Signo-magnitud: -36 —> 10100100 0 (-36) x 2 =-72 — 11001000; en general, x 2 x2[s <_< Vv oc oO (-36) + 2=-18 — 10010010; en general, +2[s[v —— b2) Complemento a: -36 > 11011011 1 (-36) x2 =-72 > 1011011 1;en general,x2 x2 [S <— * GC 1 (-36) +2 =-18 — 11101101; en general, + 2 +2[s — CS 152. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b3) Complento a 2: -36 > 11011100 oO (-36) x 2 =-72 — 10111000; en general, x 2 x2[s << VY S 1 (-36) + 2 =-18 — 11101110; en general, +218 =_—__. GC Problema 5.- Realice las siguientes operaciones en binario, comprobando el resultado: a) 22x18 b)75x8 c) 18x 40 d) 61+ 16 @) 168 +14 f) 168+ 20 Solucién PS. a) 22x 18 = 396 10110 22 *x10010 18 101100 101100000 110001100 396 b) Desplazamos a la izquierda tres veces Ios bits del nimero 75 e introducimos un 0 por la derecha cada vez que realicemos un desplazamiento. 75 = 1001011; 75 x 8 = 1001011000 ©) 18 x 40 = 720 101000 40 x10010 18 1010000 1010000000 1011010000 720 d) Dividir un ntimero A entre una potencia de dos equivale a desplazar hacia la derecha los bits del ntimero A. Asf 61 + 16 = 111101 + 10000 = 11.1101. Este resultado representa el numero 3.8125. e) 168 10101000 | 1110 -1110 1100 01110 1110 0 CIRCUITOS ARITMETICOS 153 f) 168+ 20=8.4 10101000 [10100 ~10100 1000.0110 100000 = 10100 11000 =10100 01000 El resultado exacto es 8.4; el obtenido hasta el cuarto digito 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 digitos, el mas significativo de los cuales acta como " digito 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. Solucién P6. a) El complemento a 10 de un ndmero A, para n digitos, viene determinado por la expresién Cal0(A) = 10" — A. Por ejemplo, para n= 4 el Cal 0(9876) = 10* - 9876 = 0124; y ef Cal 0(4342) = 5658. Para representar ntimeros decimales con signo en el convenio basado enel Cal0 se procede como en el caso del Ca2; esto es, +N se representa como Nugy-N, como Cal O(N). En consecuencia: + 149 + 0 149: el digito 0 se corresponde con el signo + ~ 178 — Cal0(0178) = 9 8 2 2: el digito 9 corresponde con el signo — b) Realizamos, ahora, la suma. Con idéntico criterio que en Ca2, si se produce un acarreo, se desprecia. 0149 +9822 9971 En nuestro caso el primer digito es 9 lo que significa que el resultado es negativo. Para conocer la magnitud del resultado aplicamos, nuevamente, la definicién del Cal0: Cal0(9971) = 00 2 9. El resultado, por tanto, es el -29. ©) Si representamos los valores anteriores codificados en BCD, utilizando un tinico bit para el signo (0 para los positivos y 1 seguido del Cal0 para los negativos), nos queda: +149 — 0(149)gcp = 0000101001001 = 178 ~ 1Cal0(178)gcp = 1(822) = 1100000100010 154 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES d) La suma de los valores anteriores sera: © 0001 0100]1001 11000 0010/0010 1 1001 O11] }1011 * loro, 0001 Obsérvese que, al sumar los 4 bits del digito menos significativo, se produce un resultado que no es BCD. La aritmética BCD exige en estos casos que se afiada la cantidad 6 para obtener el resultado correcto. Esto provoca un acarreo hacia el siguiente digito BCD. El resultado final es 1100101110001, que corresponde a -029 (el primer bit I indica que es negativo y los otros 12 bits, en BCD, equivalen a 971 por lo que el resultado es -Cal0(971) = -29. Problema 7.-La substracci6n binaria directa F=A-B produce una diferencia correcta si A es mayor 0 igual que B.¢ Cudl podria ser el resultado si A es menor que B ?. Determine la relacion entre el resultado obtenido en F y el bit de borrow en Ia posicién mas significativa. Solucién P7.- Para determinar el resultado, investiguemos con un ejemplo sencillo qué niimero obtenemos al realizar la resta binaria F= A —B. Supongamos que realizamos la siguiente operacién (A = 1019 y B = 15,19): Borrow final=1 1010 A -1l B oil F Como se observa, se produce un acarreo final 0 borrow y el resultado F de la operacién (F = 1119) no se corresponde con el valor correcto de la diferencia (-5). Supongamos que realizamos la operacién 2" + A - B, donde n representa el ntimero de bits de los ntimeros A y B. La nueva operacién serfa: Borrow final=0 11010 A -O1l B qioik F En este caso no se genera borrow y el resultado es el correcto (26 - 15 = 11). Como se puede observar, el resultado F de esta operacin es el mismo que el de la anterior, con la salvedad que la cantidad 2” es suficiente para cubir el arrastre final. Entonces, F = 2" — (B — A) lo que significa que el resultado del restador de magnitud proporciona el mimero A — B en la notacién Ca2. Asi, 1011 como ntimero con signo en Ca2 es -Ca2(1011) = -(0101) = -5. Por tiltimo podemos decir que el ntimero 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 1), pero si semisumadores (HA), sumadores completos(FA) y puertas. b) Repita para Ax40, Soluci6n P11. a) Realizaremos, en primer lugar, la multiplicacién entre los dos nimeros: A7 Ag As Ag Ag Ay Ay Ag Looooo0 ot Ay Ag As Ag Ag Ap Ay Ao Az Ag As Ag Ay Ap Ay Ao ZisZyaZaZysLr1 Zola Zy Zy Ly Zs Z4 Zs Zr Z, Zp CIRCUITOS ARITMETICOS 159 Comprobamos que los 7 bits menos significativos del resultado se obtienen directamente de los 7 bits menos significativos del mimero A. A partir de aqui, el siguiente bit del resultado, Zg, debe calcularse sumando A7 con Ap, Si esta suma genera un acarreo, se deberd afiadir al siguiente bit (Ay) para obtener Z. Asi se procede sucesivamente. Para ello, como estas sumas son s6lo entre dos bits, bastard usar semisumadores (HA). El acarreo de la Ultima unidad, es el bit de mayor peso del resultado, Z)5. El circuito resultante es A Ag 4! “ Ag Ag As Ag Ay Ap Ay Ao t 6 t b ab ab rl logHA log 60 gH cot I I I | Lis Zia Zy3 Zy ZZ Zs Zy Zs ZZ Lo b) Operamos de forma similar al apartado anterior. Realicemos en primer lugar la multiplicacién para conocer qué elementos debemos utilizar en el circuito. Ay Ag As Ag Ay Ap Ai Ag 101000 Az Ag As Ag Ay Ap Ay Ap 0 0 0 Ay Ags Aa Ag Az Ai Ao Zi3 Zi2Z1\ ZypZy Zs Z Zp ZsZ4 Zs 0 0 0 Los tres bits menos significativos del resultado son 0. Los dos bits siguientes, coinciden con los bits menos significativos del nimero A. A partir de aqui, el bit Z; debe obtenerse sumando Ag con Az, lo cual puede obtenerse con semisumador; el bit Zg, sumando A, con A3 ms el posible acarreo anterior, lo cual debe hacerse con un sumador completo. Utilizaremos sumadores completos para obtener los bits Zs hasta Zo, Los bits Z, y Z12 pueden obtenerse con semisumadores y el bit Z;3 correspondera con el acarreo del tiltimo semisumador. El circuito resultante es: Ay Ao Az As Ag Ag As Ag Ag Ap Az Ar Ag ApAyAo fe] Ee) ae || en | ab] fab b B b]fa bo] fab HA [| HA FAL] HA [Co cif }Co. 000 TH Fe Ico s s TY] 23° Zi2 Zn Zio 2g Zy Zy Zs 160 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 12.- Se dispone de una ALU de 8 bits muy simple, ya que sdlo hace las operaciones de "suma’ y " transfiere el complemento", como se indica en la figura adjunta: A B Cout <— x ALU[8] c FE Considere dos nimeros 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 més significativa (H) y otra con la menos signiticativa (L), es decir, (K= KyK, y L=LuLy). ) Utilizando una sola ALU, indique justificadamente, qué hay que realizar para obtener M=K+L (M=MyM,) incluyendo la posibilidad de desbordamiento (overflow). No hay que explicar cémo se almacenan los resultados intermedios, sino que, simplemente, hay que decir que se almacenan. ) Repita el apartado anterior para obtener M=K-L. ¢) Disefie la ALU con puertas y sumadores completos (FA) de 1 bit. Solucién P12. a) Para realizar la suma de los dos mimeros de 16 bits, tendremos que hacerlo en dos etapas: primero la parte menos significativa y, segundo, la parte més significativa. Los niimeros pueden ser positivos o negativos, puesto que estén representados en Ca2. Por tanto es la salida V de la suma mis significativa la que nos determinaré la existencia 0 no de un overflow. 1) Introducimos por las entradas A y B los bytes Ky, y Ly, respectivamente. Las sefiales de control de la ALU deben ser XCj,=00. Por la salida F, obtendremos el byte menos significativo del resultado, My, que se almacenard. Lo mismo se hard con el acarreo de salida generado Coy = Cy. 2) Introducimos por las entradas A y B los bytes Ky y Ly, respectivamente. Las sefiales de control de la ALU son XCjq = 0Cg, de forma que si en la etapa anterior se generé acarreo, Cg = 1, se calcula la operacién A+B+1 y en caso contrario, A+B. La salida F corresponderé con el byte significativo del resultado My. Llamemos C6, al acarreo que se haya generado en Cour: 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=I, existe overflow y el resultado correcto de la suma K+L esté en el ntimero de 17 bits formado por CygM. by) Para realizar la diferencia K-L, calculamos previamente el complemento a 2 del ntimero L, el cual se lo sumamos a K. La ALU no permite calcular el Ca2 de un ntimero, s6lo CIRCUITOS ARITMETICOS — 161 dispone de la operacién A, que se corresponde con el complemento a | del ntimero A. Sabemos que el complemento a dos puede ser obtenido facilmente a partir del complemento a 1, sin mas que afiadirle la unidad. Por tanto, primero procederemos a calcular el complemento a | del nimero L y posteriormente, realizaremos la operacién K+L+1. Esto determina la diferencia K-L 1) Introducimos el byte menos significativo de L (L1), por la entrada A. Las sefiales de control de ALU deben ser XC;,=1-. Por la salida F, obtenemos Ly y se almacena 2) Introducimos ahora el byte significativo, Ly, por la entrada A. Las sefiales de control de la ALU deben ser XCj,=1-. A la salida obtenemos F=Ly y se almacena. 3) Introducimos Ky, y L_por las entradas A y B de la ALU. Las sefiales de control deben estar a XCj,=01. Por la salida F, obtenemos My y se almacena. 4) Repetimos, por tiltimo, 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 légico, y F=A+B+1, cuando esta a 1 Iégico. Construimos, por tanto, un sumador de 8 bits utilizando sumadores completos de 1 bit. Por otro lado utilizaremos inversores para implementar la tnica funcién légica de esta ALU, F=A. La uni6n entre la parte l6gica y la aritmética se puede realizar mediante multiplexores controlados por la variable X. La sefial de overflow, puede ser obtenida mediante la Exor del acarreo de salida (Cg) y el acarreo de la etapa anterior (C7). Ay i Ag i AL i Ag i ab ab vo po b 5 FA A Cout ico. ci Jeo ci coc ofc} Ci, vo = 7 L a) {1 oo T T 0 x 4 E, 6 F Fo Problema 13.- Sean X @ Y dos numeros binarios positivos expresados en notacién complemento a 2. Utilizando la ALU de /a siguiente figura, indique las operaciones a realizar en la ALU para que sus salidas representen el modulo del resultado de la diferencia entre los numeros Xe Y. Azo B30 $189, Operacién Ss) Cout 00 So ol 10 11 ¢ 162 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P13.-El valor pedido, IX ~ YI, se obtiene con X — Y siX>Y y con Y -X =-(X -Y) si X Y, en cuyo caso F muestra IX - Yl, y Cour = 15 y X< Y, en cuyo caso F =X — ¥ es un ntimero negative y Coy = 0. Por tanto, si Cout = |, la salida F proporciona directamente el médulo de la diferencia y si Coy, = 0 habré que realizar algunos pasos adicionales para obtener Ia salida deseada. Aqui presentamos dos opciones: a) Repetir el proceso anterior pero cambiando las entradas, esto es, A= Y, B= X, Cin=1y sis = 11. b) Reintroducir el resultado anterior F = X - Y por A y aplicar las entradas Cjq = 1 y 510 = 01, en cuyo caso obtendremos a la salida F= A+] = Ca2(A) = Y - X. PROBLEMAS CON SOLUCION RESUMIDA Problema 14,- Realice las siguientes sumas sin pasar a la base decimal: a) 1110 ig + 1001 wp b) 100.104 11 ©) FO2B i465 +1021 46 A) 12304 + 23(4 Solucién P14, a) L a» 1110 + 1001 1011) b) 1 a 100.1 + tll Tori c) 1 7 ad) h 1230.4 + 2344 CIRCUITOS ARITMETICOS 163 Problema 15.- Multiplique los nimeros del problema anterior sin pasar a la base decimal. Solucién P15. a) 1110 x 1001 1110 i110 1111110 b) 100.1 x tit 1001 1001 1001 Titi ©) Debe utilizarse la “tabla de multiplicar” en base 16, de la que se ilustran algunos casos: FO2Bag 2X B= 1646 x 1021u6 2xF=lEg F02B 1E056 F02B F2TAS8 Bue d) Debe utilizarse la “tabla de multiplicar” en base 4, de la que se ilustran algunos casos 123044 3x3=2ly cueeee 3x2= 124 T1010 2x2= 104 120 102210¢@ Problema 16.- Realice las operaciones aritméticas siguientes en binario utilizando: a) la notacién en complemento a 1 b) la notacién en complemento a 2 y compruebe el resultado usando la aritmética decimal: 1) (+42) + (-13) 2) (+42) - (-13) 3) (-42) + (-13) 4) (-42)- (-13) 164 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P16. ) a) i = miieot » “oro1010 42 “To011100 +1110011_ -13 __— 1 Oo11101 29 OO11101 29 2) Eneste caso y en el siguiente la magnitud del resultado es mayor que la magnitud de cada operand, 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: 0101010 42 + 0001101 13 O1l1oll1 55 a) 0101010 42 +o001101 13 O1lolit 55 3) 1 a) x + [lororol 2 1010110 42 earn Ono + 1110011 --13 + [ooo 1001001 —55 —_ 1 1001000 4) a 1010101 ~42 1010110 ~42 * ooo 3 1100011 29 ooo110! 13 1100010 29 Problema 17.- Realice las siguientes operaciones utilizando 10 bits, 3 de ellos para la parte fraccionaria, usando la notacién en complemento a 2. Compruebe el resultado verificando los posibles errores. a) (422.25) + (+13.13) b) (422.25) — (+13.13) 6) (-22.25) + (+13.13) ) (-22.25) ~ (413.13) Solucién P17.- La cantidad 22.25 se representa en binario como 101 10.01. La cantidad 13.13 se representa como 1101,00100010... Puesto que sdlo tenemos 7 bits para almacenar la parte entera y 3 para la parte fraccionaria de los niimeros, su representacién serd 22.25 = 0010110.010 y 13.13 = 0001101.001. CIRCUITOS ARITMETICOS 165 a) 0010110010 22.25 + 0001101001 13.13 0100011011 35.375 El resultado correcto seria 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 0010110010 22.25 + LILOOLO1LT —-13.13 0001001001 9.125 E] 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(00101 10.010) = 1101001.110 1101001110 22.25 + 0001101001 13.13 1110110111 9.125, El resultado se obtiene con un error de 0.005. a) Ay o1001110 22.25 + 1110010111 7-13.13 1011100101 35,375 Se produce un error de 0.005. Problema 18.- Se dispone de circuitos Idgicos ITE. Estos circuitos poseen tres entradas y una salida, y realizan la siguiente funcién de conmutacin ITE(f.g,h)=f 9 + fh. Realice la etapa tipica de una unidad ldgica que responde a la siguiente tabla, segun la organizacién indicada en la figura y utilizando, exclusivamente, MUX 4:1 en el C.C. . Las entradas se disponen en rail doble. S281 So 4, BE fy See Cee epee eee Sy nh E} Fi Exor(A;,B)) Ss 4 Nexor(Ai,B,) 166 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P18.- Se pueden dar miiltiples soluciones a este problema. La que presentamos consiste en hacer g= 1 y h=0 en el ITE de salida, con lo que F; =f es la tnica funcién que debe realizarse con el C.C. Para disefiar C.C. con multiplexores representamos F, en un mapa binario natural: 525150 ‘AB. 000.001 010 011 100 101 110 111 ™ oofofifi[ofofifo]i orfo}ojojrjo}lifijo HO; 1] LPO; rfp ry op ryo nfifofo}ifojafo}a f=F Como se observa, cada columna de la funcién f corresponde a la operacién légica especificada en el enunciado. El circuito resultante, utilizando multiplexores de cuatro canales, es: lo, S28) Problema 19.- Disefie un circuito aritmético con una variable de seleccién s y dos entradas de datos A y B de 4 bits. Cuando s = 0 ef circuito realiza la operacién de suma F= A+B. Cuando s = 1, el circuito realiza la operacién de incremento F=A+1. Solucién P19.- Utilizaremos un sumador de 4 bits, en el que una de las entradas serd el niimero A y en la otrael niimero B para s = Oy el ntimero 0 para s = 1. Asimismo conectaremos S al acarreo de entrada C,, para generar F = A+1 cuando s = |. El circuito de la figura siguiente deja pasar a B sis =O y daun 0sis=1: CIRCUITOS ARITMETICOS 167 El circuito final sera: o woe Aa. ss JUL Sumador ¢. A 4 bits 7 LW, 0 Problema 20.- Para la ALU de 8 bits de la figura, determine la salida F para todas las com- binaciones posibles de Sp $1 Sq si las entradas A y B contienen los nuimeros binarios $23 y $FO, respectivamente, y el acarreo de entrada es 0. Solucién P20. a) 52 51 Sp = 000. F = AND($23,$FO) b) 53 8; So = 001. F = OR($23,SF0) €) 2 Sy Sp = 010. F = EXOR($23,$FO) = d) ss) Sg= O11. F= NOT(A)=$DC. €) 83 Sy Sp= 100. F= A +B + Cj, = $23 + $FO = $13 y Coyel. f) 8) 8] So = 101. F=A +B + Cj, = $23 + SOF = $32 y Coy=0. 8) 8p $1 $p= 110. F= A + SFF+ Cj, = $23 + $FF = $22 y Co hy) 52 8) So= 111. F=A + Cin = $23 y Coy=0. $D3 Capitulo 7 ANALISIS DE CIRCUITOS SECUENCIALES Los circuitos combinacionales no tienen capacidad de almacenamiento de informacién por lo que su salida est perfectamente determinada a partir de los valores presentes en las entradas. En multiples ¢ interesantes casos, por el contrario, la salida Z del sistema en un instante tg de- pende no sdlo del valor de las entradas X en tg sino de la evolucién del sistema hasta tg; esto es: Z(t) = Z((X(tg), X(t< ty) Este tipo de funcién corresponde a las denominadas funciones secuenciales, autématas © mquinas de estados finitos. Su estudio para el caso de realizaciones con circuitos digitales es el propésito de este Capitulo. MODELOS SECUENCIALES Y REPRESENTACIONES Las “‘situaciones” en las que puede estar un circuito secuencial no son ilimitadas. Entonces, para caracterizar al circuito es posible establecer un conjunto finito de estados internos (o sim- plemente estados), $), So, ... Sy, cada uno de los cuales representa una de las “situaciones” del circuito. La salida y la evolucién del sistema quedan bien establecidas si se conoce el valor de las entradas (estado de entradas J}) y el estado presente (Sj). 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, cumpliéndose que O = O(J, S)) ~ De Moore, en el que la salida depende s6lo del estado presente, O = O(S)). La evolucién del sistema viene marcada por el cambio desde el estado presente S; al préximo estado NS que en ambos modelos depende de la entrada y del estado presente: NS = NS({, S)) La representacién de una maquina secuencial suele hacerse mediante grafos o tablas de estados/salida, de la forma siguiente: 169 170 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES —@ Mealy Moore s ‘ \ 7 _ Q Sj NS, O : Si NS Os) er = Moore CIRCUITOS SECUENCIALES La realizacién de méquinas secuenciales con circuitos digitales es lo que se conoce como cir- cuitos secuenciales. En ellos, los estados de entrada I corresponden a valores de las sefiales de entrada X, los de salida O a las sefiales de salida Z y, también, los estados internos correspon- dena valores “0” y “1” sobre un conjunto de variables llamadas de estado. Esto es, cada estado tiene asignado un cédigo binario sobre las variables de estado del circuito. Este se representa mediante la denominada tabla de transicién de estados/salida, la cual es similar a las anteriores (de estados/salida) sin mas que sustituir cada estado por el cédigo binario asignado (S; > q, donde q = q) ... qn; andlogamente, NS > Q). Laevolucién desde un estado presente a un préximo estado, lo que simplemente es pasar de un valor a otro en las variables de estado, puede realizarse de miltiples formas. La mas comin es disponer de un circuito especifico, llamado biestable porque tiene dos estados estables (el 0 y el 1), que implementa una variable de estado. Cada biestable muestraen su salida el estado 06 1 almacenado, que corresponde al valor presente en la variable de estado implementada en ese biestable. Para cambiar de valor alma- cenado y asi poder hacer el cambio al préximo estado, los biestables poseen unas entradas de excitacién (normalmente Ilamadas SR, JK, D 07). A su vez, este cambio de estado puede ha- cerse de forma asincrona o sincrona, en cuyo caso el cambio de estado es controlado por una sefial de reloj (clk). Una vez elegido el tipo de biestable, la maquina se describe por la deno- minada tabla de excitacién/salida. En esta tabla, la representacién de los cambios de estado se hace mediante el valor de las entradas de excitacién que hay que poner en cada biestable para que cambie adecuadamente su valor almacenado; por ej., para biestables T, la tabla de excita cién tiene la forma: x j q T; junto con el estado presente qj aaa Tears , producen el adecuado Q, Las funciones de excitacién (por ej. T;) y de salida (Z) son funciones combinacionales de las entradas (X) y de las variables de estado presente (q). Asi, el esquema general de un cir- cuito secuencial sincrono es: ANALISIS DE CIRCUITOS SECUENCIALES 171 x Circuito r— Zz combinacional 4 Banco de le biestables} " Excitaciones de los biestables ok —__F (por ej. T,) BIESTABLES Enesta breve introduccién nos centraremos tinicamente en los biestables més comunes. Desde el punto de vista l6gico los cuatro biestables mas usuales son: SR JK Xoo_o1 10 FX.00_01 110 sos = ojo] -[1 olo[o] tt iifol-fi ifafo[ oft Rok Q Q Tabla de transicién biestable SR Tabla de transici6n biestable JK Simbolo légico D T ao z oj. oj;o}l af Rone! D6T ipo}. ee q Q Q Tabla de transici6n biestable D Tabla de transicién biestable T Simbolo légico Desde el punto de vista temporal, las formas sincronas de los biestables son: — Disparados por nivel (a veces Ilamados latches sincronos): en estos biestables uno de los dos niveles de la sefial de reloj habilita los cambios de estado (segiin la tabla de estado del biestable), mientras que durante el otro nivel no hay cambio de estados (Q = q). ~ Disparados por flancos (a veces llamados flip-flops): en estos biestables los cambios de estado se producen siempre tras uno de los flancos de la seal de reloj. Existen dos estruc- turas — Master-Slave en la que el biestable puede captar valores de entrada durante el ni- vel previo al flanco activo ~ Edge-triggered, en el que las entradas s6lo afectan en el entomo del flanco activo. I 212 q a clk —J ok —S clk —I (Latch, nivel H) (Master-Slave, flanco bajada) (Edge-triggered, flanco subida) 172 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES La mayorfa de los biestables sincronos incorporan una o dos sefiales de excitacién asin- cronas para la puesta a I (preset) 0 a 0 (clear) del biestable. Operan de forma similar a las se~ jiales $y R. El biestable debe tener las entradas asincronas desactivadas para poder operar sin- cronamente. ANALISIS DE CIRCUITOS SECUENCIALES EI problema del andllisis 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 0 grafo de estados/salida; a veces, también una descripcién verbal de la operaci6n que realiza y, en otros casos, un diagrama temporal de la evolucién entrada-salida. Si el circuit secuencial obedece al esquema general presentado previamente, (sincrono con una sola sefial de reloj), el proceso de andlisis es: 12) se determinan las ecuaciones de ex- citacién y de salida por anilisis de la parte combinacional del circuito global; 2%) se represen- tan esas funciones en forma de tabla (de excitacién y de salida); 32) a partir de ésta, se obtiene Ia tabla de transicién sin mas que tener en cuenta la tabla de estados de los biestables involu- crados; 4°) se obtiene la tabla de estados/salida, sin mas que asociar un simbolo de estado a cada cédigo de las variables de estado; en su caso; 5°) se dibuja el grafo y se interpreta, y 6°) se determina la secuencia entrada-salida Siel circuito secuencial no obedece al esquema general, el andlisis se debe Hevar a cabo mediante la obtencién de cronogramas de las sefiales de estado y de salida. Indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — Disefio de un biestable a partir de otro. ~ Andlisis temporal de un biestable. — Andlisis de circuitos secuenciales. ~ Anilisis de circuitos secuenciales sin el esquema general. PROBLEMAS RESUELTOS Problema 1.-Obtenga los biestables JK y T a partir de un biestable D. Solucién P1.- Este problema se reduce a obtener un circuito combinacional CC que, para cualquier combinacién de entradas JK y estado presente q, genere una entrada en el biestable D que provoque, en éste, la transicién de estado que corresponderia al biestable JK para idénticas condiciones de entrada y estado. Para construir la soluci6n, comenzaremos por presentar la tabla de transicién del ANALISIS DE CIRCUITOS SECUENCIALES 173 biestable JK y la tabla de excitacién del biestable D. JK ‘00 O1_11_10 9>Q olo}ala o-1 9 130 iitfofofi 151 0 030 Para cada transicién del biestable JK se puede encontrar la excitaci6n en el biestable D que la Ileve a efecto. Expreséndolo en el siguiente mapa de Karnaugh se tiene: JK qQ oo O01 11 10 0} 0 De aquf obtenemos la expresin para D: D = J- 9 +K - q. El circuito correspondiente se muestra en la figura: Para el biestable T procedemos de idéntica manera. A 1 {cchp er) A partir de la tabla de transici6n del biestable T y de la de excitaci6n para el biestable D, se llega al mapa que se muestra a continuacién de donde se obtiene la ecuacién légica para Ia linea D y asimismo se muestra el circuito resultante: roeeeel clad ay wo oo} t O>1)) oo] 1 150] 0 Voi 0 ol 1 yo. oO Q os0]0 D La ecuacién de entrada al biestable D es: D = T-G+T-q 174 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 2.-Se pretende construir un circuito como el de la figura, el cual podré actuar como RS, D, T 0 JK dependiendo del valor de C; y Co (ver tabla). Diséfelo utilizando como unico elemento de memoria un biestable tipo T. C1 Co ec 4 4 G4 Lg oo} RS oi] D- TT 10] T - I Ip rif ok Solucién P2.- Este problema se reduce a obtener los distintos tipos de biestables a partir del T. Procediendo de forma similar a como se hizo en el problema 1, obtenemos las siguientes ecuaciones de entrada: ‘Asociando cada ecuacién con el caso correspondiente CjCp ¢ identificando las entradas Ie Ip con las del biestable en cada caso, se tiene: CiCy = 00 q C)Co = 01 C\Co= 10 CyCg= 11 q Combinando estas expresiones en una sola T= (Le Gthy-@) C.-C (OQ) -C,-Ct TC, Cot 9th 9) -C,- Cy Esta expresi6n, nos permite realizar el circuito utilizando un multiplexor, cuyas entradas de seleccién son Cy y Co. Problema 3.-a) Encuentre la forma de onda de salida de un biestable RS Master-Slave para la siguiente secuencia de entrada: clk lL J l J Ll J Se b) ECémo seria la onda de salida si se tratara de un RS disparado por flanco descendente (negativo)? ¢) Idem para flanco positivo. Solucién P3. a) El biestable Master-Slave esta formado internamente por dos latches SR, tal como se muestra en la siguiente figura ii ANALISIS DE CIRCUITOS SECUENCIALES 175 Master Slave SS 9m sy OL R>Rm Gm Ro apr El biestable amo (Master) es disparado por el nivel alto de la sefial de reloj y recibe las, entradas del conjunto Master-Slave. S6lo puede cambiar de estado cuando elk = 1 y lo hard dependiendo de sus entradas de excitacién. El biestable esclavo (Slave) s6lo lo hard si GIK = I (clk = 0). Sus entradas son las salidas del amo, por lo que sélo se pueden dar las combinaciones SR=10 (puesta a 1) y SR=01(puesta 2.0). Las salidas q, del esclavo son las salidas del conjunto Master-Slave. Para resolver este problema, vamos a representar las formas de onda de salida del biestable amo y del esclavo. 6 4 & Cet ak s R qm a=. LL Los dos biestables comienzan por un estado desconocido representado por la banda rayada en el gréfico anterior. Cuando clk = 1 el biestable amo puede cambiar de estado, y el cambio ocurre como consecuencia del cambio en la sefial S, dado que este valor de entrada (Sm = 1) fuerza a que qm = 1. En el intervalo [t),t3], clk =0, con ello el biestable Master mantiene su estado inalterable, y el Slave lee en sus excitaciones los valores 10 (S.Rs = mdm = 10) por lo que gg toma el valor I6gico 1. En el intervalo [tp,t3], clk = | 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 en Rp, provoca un cambio en gp, que toma el valor 0. Durante [ty,tq] clk = 0, e] amo mantiene su estado y el esclavo cambia a 0 ya que sus entradas S.R, = 01 Con este razonamiento se contintia deduciendo Ia evolucién temporal del biestable Master-Slave la cual se muestra en la figura b) En los biestables disparados por flanco el proceso es diferente. Sélo se tiene en cuenta las entradas existentes en el momento que se genera un flanco activo en la sefial de reloj. Estas entradas, y el estado presente del biestable, determinan el préximo estado. En el caso de que exista una transicién de entradas en el flanco activo, se tomaran como valores validos, 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 CIRCUITOS Y SISTEMAS DIGITALES 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 préximo ciclo de reloj, la salida del biestable se pone al. En el instante t), las entradas son SR = 01, esto implica que, durante el siguiente ciclo de reloj, la salida es 0. En el instante tp, las entradas son SR = 00 por lo que se mantiene el estado. Para el instante t3, las entradas son nuevamente SR = 00, por Io que se mantiene el estado. ©) Para flanco positivo se opera de igual forma. ck |} LL, Lf, Lf, L_ (Seen Lb —________ fm __ | L_____ « LEE 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 tg y ty, las entradas son SR = 00. En el instante t la entrada es SR = 01 por lo que se almacena un 0 en el biestable. La legada del siguiente flanco, en t3, no altera el contenido del biestable ya que SR = 00. Problema 4.-Para cada uno de los circuitos de Ia figura, justifique razonadamente si es vélido como biestable para realizar cualquier circuito secuencial. & a a I fa asi a ba & b2! rg & @ i) © Solucién 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 Oy 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 transicién: 0 —> 0, 1 > 1, 1 9 0, o>1. El circuito de la figura (a) presenta el siguiente K-mapa, donde se puede observar que no existe la transicién 0 — 1. ANALISIS DE CIRCUITOS SECUENCIALES 177 > qu 10 of Of 0] of 0 1] 0 1fo Q SI obtenemos el K-mapa para el citcuito de la figura (b), podemos observar que no existe transicién de | — 0: e e El circuito de la figura (c), es el tinico que permite las cuatro transiciones posibles, por Jo que puede ser utilizado, como elemento de memoria. Su k-mapa se muestra a continuacién: ab, D001 10 of of of it ates) ete | alte Q Problema 5.-Analice el circuito de la figura: clk | Solucién P5.- Cuando se analiza un circuito secuencial se tiene como objetivo determinar su operacién | Los pasos del método de andlisis son: i a) Obtener las ecuaciones de excitacién y de salida. Cada una de las entradas (excitacio- nes) de los biestables asf 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 CIRCUITOS Y SISTEMAS DIGITALES I= Yoa K,=X Ys (X@q) = X-V-G+X-Voq, b) Escribir la tabla de excitacién/salida. Las ecuaciones antes obtenidas se expresan me- diante un mapa de Kamaugh. En nuestro caso: XY quand} ol 000 00,0,1, 1 001 10.1.1, 1 oul 10,1,1,0 010 00,0,1, 1 110 00,0,1, 1 MW 10,1,1,0 101 10111 | W011 | 0101,1 100 00,0,1,1 [ onnit [0103.1 T1K},T),Dy,Z ¢) Determinar la tabla de transici6n/salida. La tabla de excitacién se traduce a otra, la de transicién donde aparecen los préximos estados. Para ello se procede de la siguiente forma. En cada celda de la tabla de excitacién se observa el valor de las excitaciones del biestable considerado, por ejemplo, para el biestable 1, en lacelda XY = 00, 414293 = 000, se tiene JK; = 00. Apoydndonos en la tabla de estados del biestable JK, esas excitaciones dan lugar a un cierto proximo estado; asf, para JK = 00 se da g. Entonces, como en la celda considerada q, = 0, en la misma celda de la tabla de transi- cién pondremos Q = 0. Andlogamente, en esa celda Qy = 0 (ya que T2 = 0) y Q3 = I (ya que D3 = 1 y, por tanto, Q3 = D3 = 1). La tabla resultante es: xy 919243 00 o1 u 10 000 [01,1 | o01,1 | 01,1 [001,17 oor [ont | titi [ 101.1 | 0011 ou [01,0 [101.0 [ 10,1 | 010.1 o10 [o1,1 [01.1 [00,1 | 010.1 no [aint | iit [0017 | ot i [in,0 [101.0 [ont [ont tor [tort | aiid [0011 | 001 t 1oo [1011 | 01,1 [ ont [| 001,17 Q1Q:03,2 d) Obtener Ia tabla de estados/salida. Cada estado de la tabla de transicién est4 dado por ANALISIS DE CIRCUITOS SECUENCIALES — 179 las variables de cada uno de los biestables. Ahora, asignaremos a cada combinacién binaria de esas variables un simbolo concreto que identifique a ese estado. En nuestro problema, Ilaman- do 0, 1, 2, ... 7 a los estados segiin la codificacién 414243 = 000, 001, 010, ~~, 111, se obtiene la tabla de estados/salida que se muestra a continuaci6n: XY 00 vlel=[-]r}et-l- Maun aa] a)alele|=|- ole j-[-]of2 FETE e) Presentar el diagrama de estados/salida. Ofrece la misma informacién que la tabla an- terior, tan s6lo que expresada en forma de grafo. En nuestro caso: 10,1 v wd 10,1 0-1 10,1 180 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES f) Expresar verbalmente el funcionamiento. Esto s6lo tiene sentido en casos muy espe- ciales. En nuestro problema no es aplicable. Problema 6.-Un circuito secuencial sincrono se ha obtenido de acuerdo con el esquema de la figura, ¢Corresponderia este circuito a la estructura general de los circuitos secuenciales sincronos?, Analicelo hasta obtener su tabla de estados. (La ROM ha sido programada de acuerdo con la tabla adjunta, donde $ representa posicién y [$] su contenido). Ao a Ay dy Az do] A: Spo 93 a3. Ds a2 Da $ $ 0 8 1 9 2 A 3 B 4 @ 5 D 6 E a F AYN Ax®AwD>d jar Dy Solucién P6.- Si, corresponde a una estructura de circuito secuencial sincrono (con 8 0 me- nos estados) ya que la ROM es un médulo I6gico universal. Asi, Z puede ser cualquier funcién de la entrada y del estado presente, y D3, D> y Dy pueden ser cualquier funcién de excitacién de las mismas variables. Analizamos el circuito identificando la variable asociada a cada linea de entrada y salida de la ROM. Asi, tenemos: AgApA1 = qyQzq1. Ao = X, D3DzD) = ddd y Z=Do y podemos reescribir la tabla de contenido de la ROM: 434241X D3D2D;Do 434241 % D3D2D Dp AsArAidg | dydadidy AsArAiAy | dydadido 0000 1010 1000 0100 0001 1011 1001 Ollt 0010 0110 1010 1101 ool! 1000 1011 0001 0100 0110 1100 1000 0101 1100 1101 0100 0110 oll 1110 1010 olll 0110 TELL 1001 A continuacién escribimos la tabla de excitacién y salida del circuito que coincide con lade transici6n, ya que estamos utilizando biestables tipo D para los cuales se cumple Q; ANALISIS DE CIRCUITOS SECUENCIALES 181 x 43424) o 1 ooo [101,0 [ 101,1 oor [011,0 | 100,0 o10 [01,0 [ 10,0 ou [on,t [ 01,0 too [-010,0 | O11, 1 tor [10,1 | 000, 1 110 [100,0 | 010,0 it [[101,0 | 100,17 Q3Q201.2 Pasamos a la tabla de estados y salida llamando 0, 1, 2, 3, 4, 5, 6 y 7a los estados cuya codificaci6n es q3q7q) = 000,001,010,011,...,111. El resultado es el siguiente: DsD,D,, x s 0 1 0 5,0 sl 1 3,0 4.0 2 3,0 6,0 3 31 3,0 4 2,0 Bal 5 61 0,1 6 4,0 2,0 7 5,0 41 NS, Z Problema 7.-Analice el circuito de la figura. Encuentre la forma de onda de Ia salida para la secuencia de entradas dada. x T 2 D, 4 QI & 7 182 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P7.- Anilisis del circuito: a) Ecuaciones de excitacién y salida: D)=X+Y =X K.=Y Z=q.+Yaq) b) Tabla de excitacién y salida: xy aia 00 ol ul 10 oo [0000 [ L0nt [ Lilt | 4100 o [ooo [ont Pitit | 110d un [0001 [toni | iiii | i107 10 [0,000 [ 1,010 [ 1,110 | 1,100 Dy, IK, Z c) Tabla de transici6n y salida: JK D ay q OORAOTEtIE0n ql 01 ag 00 ol M 10 ofofo[ift 0 1 oo [00,0 [ 10,1 | 141 [ 110 1{ifofofi 1fola 02 O31 Eos i110) xe dL Olt] EI Q Q 1 |S Te | aCe] ee Orla, 10 [00,0 [10,0 [11,0 [11,0 Q1Q3,2 d) Llamando a = 00, b = 01, c = 11 y d= 10 obtenemos la siguiente tabla de estados y salida, Esta tabla puede ser reducida en un estado, ya que b es equivalente a c: XY xy s 00 o1 u 10 Ss 00 ol ll 10 a a0} dlfjcl] co a ere eee b b,1 | dl | dl | cd c cl | dl] dl} ot © bt | dl | dl | ct d a0 | d,0] ¢,0 | c0 d fa0/d0]c0[c0 NS, Z NS, Z Obtencién de la forma de onda para la sefial 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 cual es el estado pre- sente y las entradas existentes justo antes del flanco; para ese par de valores, se observa en la tabla cudl es el préximo estado. Este es el estado del circuito durante el préximo ciclo de reloj. La solucién, en nuestro caso, la mostramos en la siguiente figura Como inicialmente no conocemos el estado presente, hemos dejado como interrogante cual es ese estado (otra solu- cidn podrfa ser suponer un estado inicial cualquiera). . ANALISIS DE CIRCUITOS SECUENCIALES — 183 Una vez conocida la secuencia de estados por los que pasa la maquina dibujemos la for- ma de onda de la salida. Para determinarla, basta conocer el estado presente total (XY, S) y mirar en a tabla de salida cudl 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 } zs UL i n ~— 1 s ? d 7 c c c c d - 2 Kh | 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 (41,42,93,) = (0,0,0). oe PR CL sa SI Ik, 4] & [Zz clk clkl m1 ele l m1 clk2 I 1 : Y x Solucién P8.- Para conocer la forma de onda de la sefial de salida Z obtenemos previamente la forma de las sefiales qj, q2 y 43. Cada una de las transiciones de las sefiales tiene asociada un ntimero en Ia figura y acon- tinuacién se expone la explicacién relativa a cada ntimero. 184 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a rr ryt clk2 Y x - @ 7 o 4 << @ <} FO le | 5 eeeeeeeeeel Cuando ¥ = 1, como JK, = 00 6 10, no puede cambiarse el estado del biestable “Y” mediante las entradas sincronas. De aquf que sea necesario ponerlo a 0 asincronamente (Start) cada vez que se desee que la entrada “Y” tenga un flanco de subida. Problema 10.- Analice el circuito de la figura donde los biestables son disparados por flanco y obtenga la secuencia que genera partiendo del estado inicial qqz4944 = 1000. t oe —{ % as p, vt tp, aft Ip, a Este circuito posee bloqueo. Usando puertas ldgicas, modifique el circuito (aftadiendo lo necesario) de forma que se evite el bloqueo: 1. Utilizando las sefiales asincronas de los biestables (no mostradas en la figura). 2. Sin utilizar las sefales asincronas de los biestables. Qué ocurriria en el caso de que los biestables fuesen disparados por nivel? Solucién P10.- Analizamos el circuito aplicando el método habitual de andlisis de circuitos secuenciales sincronos. Obtenemos en primer lugar las ecuaciones de excitacién: 186 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Dado que en biestables tipo D se cumple D, = Q,, tenemos la siguiente tabla de estados para el circuito: a2 aa o1 u 10 00 (0000) 0010) 1110 1100) ol 1000 1010 110 0100) 1 1001 toil On o101 10 0001 oon Hit 101 Q1Q:Q3Q5 De la tabla anterior, amando cada estado por la representacién decimal de la palabra binaria qy 42 43 44 Se obtiene el grafo de estados que se muestra: Existe bloqueo en el funcionamiento del circuito, ya que si el circuito entrase en el es- tado 0 nunca saldrfa de él. Para eliminar el bloqueo basta detectar cuando el sistema se encuentra en dicho estado, y realizar alguna acci6n que lo fuerce a salir de él. Planteamos dos soluciones distintas 1) Solucién asincrona: Activar la sefial de preset PR de cualquiera de los biestables. De esta forma obligamos aque el sistema cambie de estado asincronamente. 2) Solucién sincrona: Se tratarfa 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 sefial Z como: Z's De esta forma las soluciones asincrona y sincrona aplicadas al biestable 1 son respecti- vamente: | as 4 z_ ja 2 gs E a 42 PR peat ve ve Solucién asinerona Solucién sincrona cho ANALISIS DE CIRCUITOS SECUENCIALES 187 Analicemos qué sucede si los biestables son disparados por nivel (por ejemplo, por el nivel alto del reloj). Cuando clk = 0 se mantendria estable el tltimo estado almacenado y cuando clk = | irfa modificdndose el estado de acuerdo con el grafo de estados. Esto se haria al ritmo fijado por los tiempos de propagacién de los biestables y puertas. Asi, por ejemplo, si clk = I durante 4 veces el tiempo de propagacién de los biestables tendrfamos que en cada pulso habria 4 cambios de estados: clk S B 6 3°9 4 4 4 2 1 8 2 12 Como el tiempo de propagacién es dificilmente controlable (cambia de un biestable a otro, varia con la temperatura, etc ...), la secuencia de estados no podria ser determinada. No obstante, sf se puede controlar la anchura del pulso clk =I y hacerla suficientemente grande como para que haya un cambio de estado y suficientemente pequefia como para que no haya dos. Asi, el comportamiento del circuito con latches seria equivalente al del circuito con flip-flops Problema 11.- Para el circuito de la figura se pide: a) Analizario. ) Indicar la secuencia de salida que se obtiene si inicialmente los tres biestables tienen salida cero. ¢) Indicar cémo pueden sustituirse los biestables D y JK por biestables PM sin tener que redisefar el circuito Py ay 5 & 4, 4 al M, 4) 14K; @q clk 188 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P11. a) Ecuaciones de excitacién:_ _ Pi =43 M) =41 +493 D2 = 419 43 J3 = 92°93 Kj=1 Z= 4743 De las ecuaciones de excitacién pasamos a la tabla de excitacién y salida: ee 01 ul 10 NP oroo1, 0] 11,001, 1] 01,111, 0 | O11i, 0 1 [01,1,01, 0 [11,1,01, 1 7 01,0,10, 0 | 01,0,10, 0 J5K3,Dy,P{My, Z Pasamos a la tabla de excitacin, a partir de las tablas de transicién de cada uno de los distintos biestables: JK PM D Sh 08 to GK 00 otto @$ Kd o| 0 0 I 1 Oo} 0 1 0 0 0 0 L 1 1 0 oO 1 1 1 1 1 0 1 oO 1 Q Q Q A continuacién la tabla de transicién y salida: 4342 00 o1 ul 10 a9 001, 0 101, 1 010, 0 010, 0 1 [on 0 it 000, 0 000, 0 3220), Z Y como tiltimo paso del andlisis la tabla de estados y salida, donde hemos llamado a los estados 0, 1, 2, 3, 4, 5, 6 y 7 segiin la codificacién de las variables de estado que se muestra: 434241 = 000, 001, 010, O1,....111 NS HlH]ololn afafulalolre}—lo} a o}rfo}r| atu) ul — elolo 189 ANALISIS DE CIRCUITOS SECUENCIAL b) Inicialmente q3q2q) = 000 (S = 0) OD mee ee > oe ee cue eee ae) Z:0 0 1 0 0 0 1 0 0 eS secuencia que se repite c) La sustitucién del biestable D y JK por uno PM es como sigue: — Respecto al biestable D: A partir de la tabla de excitaci6n del biestable D y la del PM se obtiene la tabla para PM en funcin de D y q. Las tres tablas se muestran en la figura: KR D o4 y z 0) 1 ope o[=061- ot / EE i 10 0-6-1 a Q PM Una solucién es: P=D M=D — Respecto al biestable JK: A partir de la tabla de excitaci6n del biestable JK (que se muestra en la siguiente figura) y de la del PM se obtiene la tabla para PM en funcién de JK y q (que también se muestra en la figura) JK JK No 01 1 0 00 on u 10 ofofoTi fi o[-osi-[-061-] 01 on ig tet) Om Ol] cal 1[o=e-1[ 10 10 [0-6-1 Q Una solucién es: 190 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES PROBLEMAS CON SOLUCION RESUMIDA Problema 12.- Obtenga los biestables JK, T y D a partir del biestable RS. Solucién P12. Problema 13.- Obtenga los biestables JK y D a partir del biestable T. Solucién P13. 7 kK“ Lr Problema 14.- Obtenga los biestables D y T a partir del biestable JK. Solucién P14, 21 b4y——) 4 ee K 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. Repitalo para el caso de ser disparado por flanco positivo, CO a eS ee fe | ee a es ANALISIS DE CIRCUITOS SECUENCIALES 191 Solucién P15.- Biestable disparado por el flanco positivo de clk. clk I J Lj K Nn 4 i Biestable disparado por el flanco negativo de clk. clk : : K i i ay Problema 16.- Analice el circuito secuencial sincrono de la siguiente figura: yy xlé& K, ay clk Solucién P16.- Si denominamos a los distintos estados por los que pasa la maquina como se muestra a continuacién, podemos dar la tabla de estados correspondiente a este circuito se- cuencial sincrono. 192 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 91.92.93=000 S= 41 42.43 = 001 qi 42 43=010 414243 = 011 q1 42.43 = 100 41 293 =101 41 4243=110 qi 4293-111 AAURYR-o 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 también en la figura. Parta del estado inicial 0 IL 7,0 71 0,0 0,0 2,0 2,0 5,0 31 3,0 6,0 4,0 Tall 6,0 31 1,0 4,0 NS,Z 91 90 = 00. x & 9% Pus aller a) _ To _ x =1|_4k, 4] Go] %@ 4 clk 5 x ak _~LFLALd x Solucién P17.-Nombraremos a los estados del circuito de la forma mostrada a continuacién, y a partir de la tabla de estados obtenida deduciremos la secuencia de salida. x oO I aiqg=00 = S=0 s q149=01 S=1 0 0,0 i qqo=10 S=2 ' ee ae qido=11 S=3 a El ro 3 0,0 2,0 NS,Z ANALISIS DE CIRCUITOS SECUENCIALES 193 El valor de X se toma en el flanco negativo de clk. El estado inicial consideramos que es el 0 (qyq9 = 00). La secuencia de salida es la mostrada a continuacién: clk t rr x so 1 1 1 3 0 1 3 0 Zz Problema 18.- Analice el circuito de la figura. Si inicialmente los biestables estan a 0, indique la secuencia de salida para la siguiente secuencia de entrada: x:111000 (cada bit corresponde a un ciclo de reloj) x & a % x 4a a Zz x aw % hw K, a] clk Solucién P18.- Tras el andlisis del circuito obtenemos el diagrama de estados al que responde la maquina secuencial. La codificacién que se ha usado para cada uno de los estados es 419293=000 S=A 01 00 41 92 93 91 92 93 = 419293=001 S=B q4293=011 S=C q19293=010 S=D q19293=110 S=E qq2g3=111 S=F S=G S=H Para dar la secuencia de salida partiremos del estado inicial A (q14293 = 000) y aplica- remos la secuencia de entrada. 194 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES clk Problema 19.- Para el circuito y secuencia de entrada de la figura, determine la forma de onda de salida. El estado inicial es desconocido. Los biestables son disparados por flanco. Justifique las transiciones producidas en la salida . 1 Y 4 ct ya x Kr 4 clk clk Solucién P19. clk x L 1 I L I I a Problema 20.- Analice el circuito de /a figura y muestre la secuencia de salida para la secuen- cia de entrada dada. Qué ocurriria si los biestables son disparados por el nivel alto del reloj? ANALISIS DE CIRCUITOS SECUENCIALES 195 Solu in P20.- Tras el andlisis del circuito secuencial sincrono se obtiene la siguiente tabla de estados como resultado. La codificacién de los estados de la maquina secuencial es: Aplicando la secuencia de entrada que propone el problema se obti da, Suponemos que inicialmente la maquina se encuentra en el estado 0. LI ok | 0 0,0 21 01 2,0 1,0 Ela hl 3,0 Z iene la siguiente sali- 00 00000 Si los biestables fuesen disparados por nivel se podrian dar miiltiples cambios de estado durante el nivel activo del reloj. El circuito funcionarfa respondiendo a la tabla de estados dada en la solucién si se disefia 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 mas de una vez. Capitulo 8 DISENO DE CIRCUITOS SECUENCIALES El andlisis de circuits secuenciales basicamente 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 Capitulo esta dedicado al proceso inverso, esto es, dada una funcién secuencial hay que obtener un circuito que la implemente. A este proceso es lo que se le llama el disefio de circuitos secuenciales. Mas concretamente, en este Capitulo se va a tratar el proceso de disefio de circuitos secuenciales sincronos. PASOS DEL PROCESO DE DISENO Existe un procedimiento formado por un conjunto de pasos que permite realizar este proceso de una forma lo mds sistematica posible. Este conjunto de pasos es el que se muestra en la figura: Deseripel verbal Descripcién formal: Tabla o Diagrama de estados/salida Y_Reduccién de estados Tabla minima de estados/salida Y_Asignacién de estados Tabla de transicién/salida v Eleccién de biestables Tabla de excitacién/salida ¥ __Sintesis de funciones combinacionales Ecuaciones de excitacién y de salida ¥ Circuito 197 198 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES A continuacién se describe en qué consiste cada uno de estos de pasos. 1. El primer paso consiste en generar una descripcién formal del comportamiento a par- tir del enunciado de la funcidn secuencial. La descripcin formal consiste en la tabla o el diagrama de estados siguiendo alguno de los dos modelos de maquina secuencial, el de Mealy 0 el de Moore. La forma de obtenerla depende en gran medida de la funcién secuencial, de for- ma que no existe un tinico método que sea valido para cualquier enunciado de funcién secuen- cial. Es un paso no sistematico, Por este motivo es el paso ms dificil de realizar y de lo bien que se haga depende en gran medida el buen desarrollo del resto del proceso de disefio. 2. El segundo paso consiste en obtener la tabla de estados minima. 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 nlimero de estados posible. Este paso se lama de reduccién de estados y existe un método sistematico que permite realizar dicha reducci6n en tablas de estados completamente especificadas. Este método se presenta en el problema 6. 3. De la tabla mfnima de estados hay que pasar a la tabla de transicidn/salida. En esta nueva tabla se representan los estados por un cédigo binario. Este cédigo binario debe ser al- macenado por el circuito y para ello se utilizan un conjunto de biestables, tantos como bits ten- ga el cédigo. Esta asociacién de un cédigo binario a cada estado es lo que se llama la asigna- cién de estados. La asignacién determina cémo va a ser la tabla de excitaci6n y de salida y, por tanto, afecta al coste del circuito. Como criterio basico, en este Capitulo se va a utilizar el me- nor ntimero posible de variables de estados, lo que significa disefiar circuitos con el menor ni- mero de biestables posibles. Por otra parte, para hacer la asignaci6n concreta en los problemas correspondientes se van a utilizar dos métodos diferentes. En el caso de tablas de estado de 3 6 4 estados se aplicaré el método exhaustivo que consiste en obtener el circuito para las tres “inicas asignaciones que dan lugar a circuitos con coste distinto y elegir la de menor coste. Para tablas con mayor mimero de estados se aplicard el método basado en las reglas de adyacencia. Este método da lugar a asignaciones de buen coste pero no necesariamente el 6ptimo. Se de- sarrolla con detalle en el problema 11. 4. De la tabla de transicién hay que pasar a la tabla de excitacin del circuito. En ella se representa cual es el valor de cada una de las entradas de los diferentes biestables para conse- guir las transiciones de la tabla de transici6n. Este paso exige que previamente se haga la elec- cién del tipo de biestables que se van a usar en el circuito 5. A partir de la tabla de excitacién/salida se obtienen las ecuaciones de excitaci6n (ie., ecuaciones de entrada de los biestables) y de salida mediante métodos de sfntesis de funciones combinacionales, ya considerados en el Capitulo 4 6. Por tiltimo, a partir de las ecuaciones se obtiene el circuito. Indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — Construccién de diagramas/tablas de estados. — Reduccién de tablas de estado. ~ Asignaci6n de estados. — Proceso de disefio completo. DISENO DE CIRCUITOS SECUENCIALES — 199 PROBLEMAS RESUELTOS Problema 1.-Construya la tabla de estados para una maquina de Mealy con una entrada X y una salida Z, que detecte la llegada de tres ceros 0 tres unos consecutivos, dando una salida Z= 1 coincidiendo con la aparicién del tercer bit. Solucién P1.- Para construir la tabla de estados vamos a partir de un estado conocido como, por ejemplo, aquél que representa la llegada de 2 ceros consecutivos (Ilamémosle estado A). En A: ~ Si X = 0: el proximo estado es A y la salida vale 1. - Si X = 1: se pasa aun 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 = I: se pasa a un nuevo estado, D. La salida es 0. Ces 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 se pasa al estado A. La salida es 0. ~ Si X = I: se pasa al estado B. La salida es 0, EnD: ~ Si X =0: se pasa al estado C. La salida es 0. ~ Si X = I: se pasa al estado D. La salida es 1. De esta forma, el diagrama y la tabla de estados quedan como se observa: x Estado 0 1 A Al | BO B co | DO c AO | BO D co | DA Diagrama de estados Tabla de estados Obsérvese que el estado A realmente es el estado que resulta tras detectar 2 0 mas ceros; anélogamente, la deteccién de 2 0 mas 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 tiltimos ciclos de reloj, las entradas hayan sido 11, 01, 01, 11. Solucién P2.- Siguiendo el modelo de Mealy: Partimos del estado que corresponde a que no ha llegado ningtin 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. 7 200 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES B es el estado que guarda la informacién de que ha sido detectado el primer valor de la secuencia (XY = 11). En B: — Cuando XY = 01, se pasa a un estado nuevo: ~ Cuando XY = I, se permanece en B. Z = 0. ~ Con cualquier otro valor se pasa al estado A. Z = 0. Ces el estado que guarda la informacién 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 = I1, se pasa al estado B. Z= 0. — Con cualquier otro valor se pasa al estado A. Z = 0. Des el estado que guarda la informacién 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: W/L .Z=0. 1/0 Siguiendo el modelo de Moore: Partimos del estado que corresponde a que no ha Ilegado ningiin valor de la secuencia a detectar: estado A. En A, la salida vale 0 (Z = 0): — Cuando XY = I, se pasa a un estado nuevo: B. — Con cualquier otro valor en XY, se permanece en el estado A. Bes el estado que guarda la informacién 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. Ces el estado que guarda la informaci6n 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. Des el estado que guarda la informacién 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. DISENO DE CIRCUITOS SECUENCIALES 201 Ees el estado que guarda la informacién de que se ha detectado la secuencia completa. Por tanto, Z = 1. Tras E: = Cuando XY = 00 6 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: Problema 3.-Ha recibido de un viejo amigo la siguiente carta: “Querido amigo: ‘Alpoco tiempo de comprar esta vieja mansion tuve la desagradable sorpresa de com- probar que esta hechizada con dos sonidos de ultratumba que la hacen practicamente inha- bitable: un canto picaresco y una risa sardénica. ‘Aun 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 0 quemando incienso. En cada minuto, cada sonido esta presente o ausente. Lo que cada uno de ellos hard en el minuto siguiente depende de lo que pasa en el minuto actual, de la siguiente manera: 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. En cuanto a la risa, si no quemo incienso se oird 0 no segun 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 hard justamente Io contrario de lo que hacia el canto. En 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. Solucién P3.- Los sucesos de la vieja mansi6n obedecen a una maquina secuencial, de la si- guiente forma — Valores (0 estados) de entrada Son las acciones que realiza “nuestro viejo amigo”. Existen 4 posibles estados de entrada: 202 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Iy: Ni toca el érgano ni quema inciens J: Quema incienso (pero sin tocar el érgano). Iy: Toca el érgano (pero sin quemar incienso). Jig: Quema incienso y toca el érgano simulténeamente. ~ Valores (0 estados) de salida Son las posibles situaciones de sonido en la ca O,: No se oye nada (jsituacién de tranquilidad!). Og: Se oye el canto picaresco (pero no la risa). O,: Se oye la risa sardénica (pero no el canto). gy: Se oye la risa y el canto. — Estados de la Maquina Como Ia salida cambia con "la sefial de reloj" (esto es, cada minuto), cambia con el es- tado por lo que es una mquina de Moore. En principio, pues, asociamos 4 estados, uno por cada una de las salidas (Sy — On; Se —> Oc; S — Or; Sop — Oey). Estos estados estén de- terminados por el valor (SI, NO) de dos variables de estados que, por conveniencia, denomi- naremos “c” (canto) y "r" (risa).. OPERACION: Representaremos con mintisculas (c, r) el valor presente y con maytis- culas (C, R) el valor préximo. i) Canto: Si no se oye Ia risa, r = NO, y se toca el érgano, I, 6 Ijq, cambia de estado: C =¢. En cualquier otro caso, el canto no cambia de valor: C= c. ii) Risa: Si no se quema incienso (valores de entrada I, 6 Ig) sigue al canto, C, con un minuto de retraso: R = c. Si se quema incienso, (valores de entrada J; 6 Iq), la risa hace lo opuesto al canto con un minuto de retraso: R = ¢ De esta forma la tabla de estados queda como sigue: eof ly ly I, Tio 8, NO NO [NONO|SI NO[NO Si[ sf si] 0, Ss. SL NO si si {NO si]si NOJNONO| 0, S, NO Sf [NONO[NONO[NO SI[NO Sf] 0, Sce St Si Sf si | si si |si NoO]si NO] oO, cR La respuesta a la carta debe decir lo siguiente: 1° 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. DISENO DE CIRCUITOS SECUENCIALES 203 Problema 4.-Sobre una unica linea X se envia una informacién sincronizada con una sefial de reloj Ck. Se ha convenido que la informacién sea correcta siempre que no haya dos o mas unos consecutivos 0 cuatro o mas ceros consecutivos. Obtenga el diagrama de estados de un circuito cuya salida sea uno si se detecta un error en la transmisién y que permanezca en ese valor en tanto dure el error. Solucién P4.-- Para que la salida (seffal Z) s6lo indique error (con Z=1) mientras éste perma- nezca, haremos que Z dependa de X (maquina de Mealy) Para construir el diagrama de estados se parte de un estado conocido, por ejemplo: sea A el estado que indica que el tiltimo valor de X almacenado es 1. Estando en A: Si X=I, hay error (dos I's consecutivos) por lo que Z=1 y el préximo estado es A ya que el uiltimo valor recibido es 1. Si X=0, no hay error (Z=0) y el préximo estado sera B. El estado B indica que el ultimo valor recibido es 0 (mientras que el pentiltimo era 1). Estando en B: Si X=I, no hay error (Z=0) y el proximo estado es A Si X=0, no hay error (s6lo dos 0's consecutivos) y el proximo estado es C. El estado C corresponde a haber recibido dos ceros consecutivos. Estando en C: Si X=1, no hay error y el préximo estado es A. Si X=0, no hay error (serfa el 3 cero) y el préximo estado es D. El estado D refleja la existencia de tres ceros consecutivos. Estando en D: no hay error y el préximo estado es A. seria el cuarto 0 consecutivo con lo que hay error (Z=1) y el préximo estado es el propio estado D. El diagrama de estados completo es el siguiente: 1/0 Problema 5.-Un circuito secuencial tiene dos entradas (X;, Xp) y dos salidas (Z,, Za). Las en- tradas representan un numero binario natural de dos bits, N. Si el valor presente de N es ma- yor que el valor inmediatamente anterior, entonces, Z, = 1. Si dicho valor es menor, entonces la salida Zp = 1. En cualquier otro caso, 2, = 2, = 0. Se pide: 1) Escribir la tabla de estados correspondiente del circuito, como autémata de Mealy. 2) gCudntos estados tendria el circuito como autémata de Moore? Solucién PS. 1.- El funcionamiento del circuito es el siguiente: si y s6lo. si (X1Xq)y > (X1Xp)n-1_ entonces, Z, = 1; por otra parte, si y s6lo si (X1Xq)y < (XX entonces, Za = 1; si (X,Xq)y = (X1X)n-1, entonces ZZ = 00. 204 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Para comparar el valor actual con el anterior se necesita almacenar ese iltimo valor. Por tanto, la maquina debe tener un estado por cada posible valor de XX: A estado que almacena que el tiltimo valor recibido de X,X = 00 B estado que almacena que el iiltimo valor recibido de XjX> = 01 C estado que almacena que el tiltimo valor recibido de X,X = 10 Destado que almacena que el dltimo valor recibido de X)Xp = 11 Con esto se puede construir directamente la tabla de estados, que queda de la siguiente manera: XX Ss 00 ol 10 i A A,00 | B,10 | C,10 | D,10 B [Aor | B00 | Gi0 | D0 Cc A,OL B,O1 C,00 | D,10 p [aor | B,or | Gor | D,00 NS, Z; Zy 2.- Como maquina de Moore, en principio se necesita un estado que almacene el tiltimo valor recibido y si era mayor (salidas ZZ = 10), igual (salidas ZZ = 00), o menor (salidas ZZ =01) que el anterior. En total, como pueden Ilegar4 valores diferentes {00, 01, 10, 11}, son 4x3 = 12 estados distintos. La tabla de estados queda de la siguiente manera: XX) SIGNIFICADO DE LOS ESTADOS Est 00 o1 10 11 2122 Ultimo valor recibido Ao Co | AL Ar | As | 10 ——® 00 A Bo Cy Ap AS 10 —— 01 Ap Bo By Co As | 10 ——® 10 A3 Bo By By S| 10 ——e 11 Bo Co [Ar [Ae [4s | 01 ——m 00 By Bo cr Ar Azs_| 01 ——® 01 By Bo By As | 01 ——> 10 Bs Bo Bi B, CG} 01 ——r 11 Co o Al Ar Azs_| 00 ——® 00 c Bo | Cr | Az | As | 00 ——® 01 C2 Bo By G As | 00 ———* 10 Cy Bo By By & | 00 ——* 11 NOTA: Se comprueba que la tabla es irreducible salvo por la posible eliminacién de los esta- dos Ag y B3 que s6lo pueden alcanzarse si son estado inicial DISENO DE CIRCUITOS SECUENCIALES — 205 Problema 6.-Muestre la tabla de estados minima de una maquina secuencial sincrona con una entrada X y una salida Z que opera de la siguiente forma: cuando se detecta la llegada de 110 (primero 1,después 1, después 0), Z se pone a 1, manteniendo este valor hasta de- tectar la secuencia 010, en cuyo caso Z pasa a tomar valor 0 manteniendo este valor hasta que llegue una nueva secuencia 110. Solucién P6.- Partimos de un estado conocido para construir el diagrama de estados. Por ej. sea A el estado que se alcanza al detectarse Ia secuencia 110, por lo que la salida seré 1 hasta que se detecte 010. Consideramos que la maquina es de Mealy. El diagrama de estados con el significado de cada estado y la tabla de estados son los siguientes: x S\ 0 1 A/BI/CI B/BI|CI Cc |DO;EI D | FO|GO Significado de cada estado Sl rnin Est. Recibido : A 110 F |FO|GO B (con Z, G [Do|HO Cc (con Z H |AI/HO E (con Z=1) D NS, Z F (con Z = 0) G (con Z H (con Z = 0) Para obtener la tabla de estados minima debemos comprobar si se pueden reducir o eli- minar estados. Para ello seguimos el proceso de reduccién 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; AF; A,G; AH; B,C; B,D; B,F; B,G; BH; C.D; C.E; CF; C,G; C, H; DE; DH: EF: E,G; E,H; F,H; GH). 2. Construir la tabla de pares compatibles o de reduccién, que es una tabla en forma de escalera asignando un escalén a cada estado como se observa en la figura del paso siguiente. 3. Enesa 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 CIRCUITOS Y SISTEMAS DIGITALES B PX] € <1X{x<] > X[XIE x] F x G x JH 4, Observando la tabla Tabla de reduccién Fase inicial de estados, escribir dentro de cada casilla de la tabla de reduccién los estados que deben ser compatibles para que el par que corresponde a dicha casilla lo sea también: A XIX] >] kr aE a XXX] 0 WAV D x gh x Tabla de reduccién 5. En la tabla de reduccién tachar aquellas casillas en las que exista escrito algiin par de estados incompatible. Repetir este paso de forma iterativa hasta que se hallan marcado todos los pares incompatibles: D x XXX} ° x F G [oi x H x Tabla de reduccién Fase final Al final de este punto, todas las celdas sin tachar corresponden a parejas de estados com- patibles (0 equivalentes si, como en este caso, la tabla de estados/salida esta 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 escalén més bajo); en la segunda se anotan los estados equivalentes del primero (aquellos cuyas casillas no estén marcadas); en la tercera se anotan los compatibles. En maquinas completamente especificadas, los compatibles se agrupan por clases de equivalencia, por lo que la lista final de compatibles se forma facil- mente, agrupando todos los estados que sean compatibles entre si. DISENO DE CIRCUITOS SECUENCIALES — 207 S$ Equivalentes__Compatibles x u (Hy s 0 1 G {HG} F {H.G.F} A partir de los AT AI cl E (H,GPE} compatiblesse Cc [Do] ET D HGDFE construye la c leapeer) nueva tabla | aaa B {HGDFEC. B} de estados: E] Al El A B (eee BE B} clpo] Ho + + H| AT | HO |NSZ 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, 26 3 ciclos de duracién. Desde un pulso al siguiente X permanece a 0 un minimo de 10 ciclos. La salida.Z se pondré a 1 tras terminar el pulso de entrada y perma- neceré en 1 durante 3 ciclos si el pulso de X duré un ciclo, durante 2 ciclos si X duré 2 y du- rante 1 ciclo si X duré 3. En otros casos Z es cero. Obtenga la tabla de estados/salida minima segun el modelo de maquina de Mealy. Solucién P7.- Del enunciado se deduce el comportamiento del circuito, que es el siguiente: Ck: U U U L x: : Zz: Partamos de un estado conocido. Sea el estado A aquel en el que no se ha detectado nin- giin pulso. En A: — Si X= I se detecta el primer ciclo del pulso en X. Se pasa al estado B. Z=0. — Si X=0 se permanece en A. Z=0. En B: — Si X=1 se detecta el segundo ciclo del pulso en X. Se pasa a C. Z=0. — Si X=0 fin del pulso de un ciclo de duracién. Se pasa a D. Z=1. Enc XzI se detecta el tercer ciclo del pulso en X. Se pasa aE. Z=0. — Si X=0 fin del pulso de dos ciclos de duracién, Se pasa a F. Z=1. En D, Ey F, X no puede valer | porque, segtin se dice en el enunciado, el pulso mayor es de tres ciclos y, tras finalizar un pulso, fa entrada permanece a 0 un mfnimo de 10 ciclos de reloj. En D, Z debe durar | durante dos ciclos més de reloj. Se pasa a G. Por tanto, Z=1 en el estado Dy en el estado G. 208 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES En E, se pasa directamente a A y se da el tinico pulso de salida. Z=1. En F: Z debe durar | durante un ciclo més de reloj. Se pasaa A. y se da Z=1. EI diagrama de estados/salidas de Mealy y la correspondiente tabla de estados son los siguientes: x Estados) 0 1 A Ao | BO B DI | Co c FI £0 D GI E Ad = F Al = G Al NS, Z Siguiendo el proceso de reduccién de estados obtenemos la tabla minima: A xX XB s 0 1 x c COMPATIBLES, Ay AO BO x FG|D BI Cc C0 (A, ' CD, EFG) a z X<[pa[FA Ae] E t+¥ c/ Di [ DO > Nz por lo que X; sale por Zp y Xz lo hace por Z;. Solucién P9.- El ntimero mayor entre Nj y Np es aquél por el que se recibe el primer I mien- tras que se recibe un 0 por el otro. Asf, en el ejemplo del enunciado, el 4° bit de X; es I mientras que el de X> es 0. A partir de este momento y con independencia de los bits que se reciban, el ndmero mayor (N; en el ejemplo) saldré por Zz y el menor por Z;. Hasta que ocurra eso (X1X2=10 6 01) por primera vez, los bits son iguales de forma que tanto por Z como por Z 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 Z;,7 dependen de X},2 y, por tanto, es una mé- quina de Mealy Sea A el estado inicial. Al no haberse recibido ningtin bit los nimeros son “hasta ese momento” iguales. Las posibles entradas y la respuesta del circuito son: X= Xp: Los mimeros contindan siendo iguales. No hay cambio de estado. Las salidas serdn: Z = Zp = Xy = Xo. XX» = 10: El mimero Nj es mayor que el niimero Np, por lo que se pasaré a un nuevo estado B. Las salidas serdn: Z) = Xj y Z) = Xp. XX = Ol: El nimero Np es mayor que el nimero Nj, por lo que se pasard a un nuevo estado C. Las salidas serdn: Z) = X2 y Zy = X El estado B representa el caso en que Nj>Np, y por tanto, Zy =X, y Z; = X; hasta el final, El préximo estado de B, es B. Lo mismo ocurre para C estado en el que Np > Nj. Latabla de estado queda como sigue: XiXz Est 00 ol u 10 A A,00 B10 AIL C10 Los estados son B B.00 | Bio] Bal] Bor incompatibles: la tabla es irreducible ic coo | cor | cat | C10 DISENO DE CIRCUITOS SECUENCIALES 211 Problema 10.- Disefie una maquina secuencial que responda a la tabla de estados siguiente. Diséfela con biestables JK atendiendo a las siguientes asignaciones: a) Asignacién 1: A = 00, B= 01,C = 11,D=10 b) Asignacin 2: A = 00, B= 11,C=01,D=10 x s 0 1 Ay AO 7 CO B{ Ao | Dil (Ce rate eel p| bo | DO NS, Z Solucién P10. a) Dada la asignacién y la tabla de estados, se obtiene la tabla! de transici6n/salida sin més que sustituir los estados por los cédigos que se han asignado. De esta tabla ya se pueden obtener las ecuaciones de salida. Ademis, de la tabla de transicién junto a la de excitaci6n del biestable JK, se pasa a la de excitacién del circuito. De esta tabla obtenemos la ecuaciones de excitaci6 x x aa 0 1 9>Q |IK aa 0 ! Aol 00 | 11 050 [o- 00 loo Boil 00 [101 a - 01 [oat cul 00 font oo | ie eet 11 |-0 a Z=Xqp Dio; 10 10 10 [0,0 ; Ecuaciones de QZ Tabla de excitacién TKK excitacién y de Tabla de transicidn/salida del biestable JK Tabla de excitacién salida El circuito queda como se muestra: Ck T Por simplicidad, en las distintas tablas slo pondremos los mintérminos de las salidas (celdas con Z=)). 212. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) Para la segunda asignacién, las tablas de transici6n/salida y de excitaci6n y las ecua- ciones de excitacién y de salida son las siguientes: xX “ Jy=Xq aa 90 ! aa 0 1 K,=¥q 00 [00 | o7 00 [0,0- ~ h=Xq o1 [00 fant 01 fo, 11 [00 [101 i =I KoX+q 10 | 10 | 10 10 [-0,0- | -0,0- Z=Xq Q1 QZ J Ky, In Ky Problema 11.- Obtenga una buena asignacién para las siguientes tablas de estado: Tabla a x Tabla b: Fs on 0 1 Ss 0 e ATAL D Pee ee B B A D B D B 8 B D c c AI p/|c |. pPa le NS,Z NS,Z Solucién P11.- Para obtener “una buena” asignacién basta con aplicar las reglas de adyacen- cias. Estas reglas son las siguientes: 1.- Hacer adyacentes los estados cuyos préximos estados sean iguales para cada valor de entrada 2.- Hacer adyacentes los estados cuyos préximos estados sean los mismos aunque en di- ferentes valores de entrada, siempre que esos préximos estados también se hagan adyacentes. 3.- Hacer adyacentes los estados cuyos préximos estados sean los mismos para algdn valor de entrada. 4.- Hacer adyacentes los préximos 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 T (AB) AB) 2 = (GD) si (A.C) 3 (A,C),(A,D), (B,C), (B,D), ~ (CD) a 2x(A.D), (B,D), (C.D) 2x(B.D), 2x(A.O) 5 B.C B.D) (C.D) B.D) DISENO DE CIRCUITOS SECUENCIALES 213 Una vez aplicadas las reglas, se forma un mapa de Karnaugh en el que las variables son las variables de estado necesarias para la asignacién. En este caso, en ambas tablas se necesitan dos variables de estado y, e y2. En este K-mapa, asignamos a cada estado un cédigo tratando, por prueba y error, de cumplir el maximo ndmero posible de las reglas de adyacencia: Tabla a Reglas que cumple: Tabla b Reglas que cumple: v1 1. 1 (Todas) v1 1.1 (Todas) yX 0 1 2. -- (Todas) yX_0 1 2. 1 (Todas) 3. 3 (de5) 3. (Todas) SF .hrrCL PLAT C) § actodasy 1{ BTC] 5. 3¢todas) if BT D 5.1 (Todas) Problema 12.- Un sistema recibe secuencialmente datos de 1 bit a través de su entrada X. Disefie un circuito que dé salida Z=1 cuando se haya recibido X=1 durante tres o mas inter- valos de reloj consecutivos. Dé dos disefios alternativos: a) como automata de Moore; b) como automata de Mealy. Discuta ventajas e inconvenientes de ambos disefios. Solucién P12.-Un ejemplo de! comportamiento que describe el enunciado es el siguiente: X: .011001011101111110... Z: ......000000000100011110. De este comportamiento se obtienen los diagramas de estado, siguiendo el modelo de Moore o el modelo de Mealy: SIGNIFICADO DE CADA ESTADO A: no se ha recibido ningin 1. B: se ha recibido el primer 1. C: se ha recibido el segundo 1. (En Maquina de Mealy, si X=1, es el tercer 1 y Z=1. En maquina de Moore, si X=1 se pasa a un nuevo estado D.) D (exclusivo de la maquina de Moore): se ha recibido el tercer 1; Z=1 Para observar las diferencias entre las méquinas 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 maquina para una misma secuencia de entrada. 214. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a PUL x 2Moore Ai AB CA A/BA'BC|D [A,B CJD DD DLA AA Zmeay ALA B.C A A; B A Bic]c aiBlc c ciclc AAA Las caracteristicas de cada tipo de maquina son la siguientes: Moore: Z=1 durante perfodos de reloj completos. Z=I después de detectar Ia llegada de 3 unos Posee mas estados que la maquina de Mealy. Mealy: — Z=I después de detectar 2 unos y siempre que X siga siendo 1. Posee menos estados que la maquina de Moore. Se pueden presentar algunas diferencias temporales entre ambas salidas si las entradas cambian en instantes arbitrarios, como los que se muestran a continuacién: Ck ‘La maquina de Moore da salida 1 durante | ciclo tanto si X permanece en | durante poco més de 2 ciclos x i (siempre que X = 1 en 3 flancos activos) como si X précticamente permanece en 1 durante 3 ciclos. La maquina de Mealy puede dar Z = | durante intervalos Z Moore (TAA: B:C]DI[A'A Heups 7 : arbitrarios de tiempo, segiin cudndo cambia X en Zmealy A A BIC ALA relaciéna Ck, El resto del proceso de sintesis es el siguiente: 1) Reduccién de las tablas de estado: en este caso son irreducibles. 2) Asignacién de cédigos: como son maquinas de 3 6 4 estados se utiliza el método exhaustivo: ESTADOS —ASIGNACIONES DE COSTE DISTINTO 1 I Il A 00 00 00 B ol ol i = 10 a ol (D) 11 10 10 3) Obtenencién de las ecuaciones minimas de excitacién y de salida: se aplica el proce- dimiento de disefio minimo para funciones combinacionales. Aplicando este proceso a la solucién como maquina de Moore: DISENO DE CIRCUITOS SECUENCIALES 215 A Zz 7 . a - Tabla de estados a a c aes c 0 *LXPX ——> » El resto del proceso de sintesis es el siguiente: 1,- Reduccién de la tabla de estados: x s\ 0 1 A R A B B oe Bas ‘ sjete fa ae Ses: x F Rl R x x x x Tabla de reduccién E = Rl Fase final: es irreducible. NS, Z DISENO DE CIRCUITOS SECUENCIALES 217 2.- Asignacién. Construccién de la tabla de transicién/salida. REGLAS. Tabla xX : (EF) yay 9 1 2 (AB) si (C.D), (CD) si (ee oios moll 7 a B=001 | O11 | 010 4 (AB), UCD), EF) D=o {i 10 5 (R,A.B.C,D) c=010 [110 m1 Reglas de adyacencia TORT} 100 100 100,1 ¥2¥1 YO 00 Ol 1 10 = = o TATC]EYR | Laasignacién cumple 000 | 001 todas las reglas menos 3de la regla 5 YoY jYoZ Tabla de tran: n 3.- Ecuaciones de excitacién/salida. Se utilizan biestables D que cumplen: Dj = Y;. De esta forma la tabla de transicién/salida coincide con Ia tabla de excitacién. De esta: D,=y, Di=y2 Do =X Yaot WV0+ Ao Z=x Yor Wo El diagrama de circuito se obtiene directamente de las ecuaciones de excitacién y salida. Problema 14.- Se pretende disefiar un circuito secuencial sincrono con una entrada X y dos salidas Y, Z que cumpla la siguiente tabla de estados/salida: x s 0 1 Ep | £9.00 | E),00 E, | £00 | E01 Ep | Ey10 | E310 E; | Eol0 | Eyl NS, Y,Z Utilizando el diagrama de bloques de la figura: a) Calcule el numero de biestables tipo D que se necesitan. b) Dé el tamafio y contenido de la ROM. 218 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién 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 tamafio de la ROM depende del ntimero de entradas y salidas. Como entradas de di- reccién se tienen: X, entrada de datos, y 4, y qo variables de estado (salidas de los biestables tipo D). Como salidas se tienen: Y y Z, salidas del circuito, y D; y Dg entradas a los biestables. Por tanto se necesita una ROM de 8x4 (8 palabras de 4 bits cada una) Utilizando un asignamiento cualquiera, se obtiene la tabla de transicién/salida y de ella el contenido de la ROM: 0 1 00,00 | 01,00 10,00 | 01,01 10,10 [11,10 00,10 | 11.11 x 0 0 0 0 1 1 1 1 QiQo=D1Do, YZ A2A1A H3H2H) Ho 3 Tabla de transicién/salidas Contenido de la ROM Circuito final Problema 15.- Se desean obtener 4 sefiales Z;, Zz, Zs, Z, a partir de una sefial 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 Z 0 Zs mJ mm Za DISENO DE CIRCUITOS SECUENCIALES 219 Soluci6n P15.-En el diagrama temporal observamos dos hechos 1.- Cada 4 ciclos de reloj se repiten las sefiales. De aqui que el sistema tenga 4 estados (llamémosles A, B, C y D), cuya secuencia es: Se trata de un contador médulo 4, 2.- Cada salida se hace | durante un semiperiodo de reloj, concretamente con Ck = 1. Asi, si lamamos Z,, Zp, 2. y Zq a una sefial que se hace | cuando estamos en el estado A, B, Cy D, respectivamente, se cumpli Z=Z,Ck = Z,=Z,Ck 2, = Z.Ck 2, = Z,Ck En consecuencia, aplicando el proceso sistematico de disefio de circuitos secuenciales: s ; Tabla de estados Pay Ze Dy (es irreducible) a |B 1000 iy e EOO Con Z), Za. Z3 y Zq cf Dp] 0010 tomando el valor dp fat] 0 001 indicado en el punto 2. NS Utilizando la asignacién habitual en los contadores (asignar c6digos consecutivos a es- tados consecutivos) obtenemos la siguiente tabla de transicién: UW Zy Zp ZZy a1 ao C1000 A=00[051- 10}0 100 B=01 Jo=Ky=1 c=10fit - oo10 D=11 J,=K,=4 D=1 1/00} 0001 c=10) Q1Q0 JiKi, JoKo Tabla de transicién/salida Tabla de excitacién _ Ecuaciones de excitacién Las funciones Z,, Zp, Ze y Zy Se obtienen como las salidas de un decodificador 2:4 con salidas activas en nivel alto, cuyas entradas son q) y qo. El circuito es el siguiente: 220 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES S| eee! DEC : 1 | ar) 24 IF & 0 1 7 - 0 2| | _ kK 4 kK @ j-E 7 Zs & Zy Ck PROBLEMAS CON SOLUCION RESUMIDA. Problema 16.- Construya el diagrama de transicién de estados simplificado de un aut6mata de Mealy con dos entradas X, Y y una salida Z que cumpla las siguientes caracteristicas: a) cuando X pasa de 1a 0, Z=1. b) cuando Y pasa de 1 a 0, Z=0. ¢) en otro caso Z no cambia de valor. Xe Y no pueden valer simultaneamente 1. De un ciclo al siguiente, solo puede cambiar una variable de entrada, no las dos a la vez. Solucién P16.- El diagrama de estados es el siguiente: SIGNIFICADO DE CADA ESTADO A: El tiltimo flanco negativo en Iegar ha sido en X (Z=1) y con las entradas actuales es imposible que Y cambie de 1 a0, porque Y=0 B: Recoge que Y ha subido: cuando vuelva a bajar, habré cambio en Z. C: El tiltimo flanco negativo ha sido el de Y (Z=0). Similar al estado A pero para Z=0. D: Similar a B, pero para el caso de que X suba, siendo Z=0. 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 linea de entrada X se han suministrado exac- tamente tres “1” durante los tres intervalos precedentes del reloj. Si durante cuatro o mas ci- clos del reloj hubiese “1”, la salida serd Z = 0. DISENO DE CIRCUITOS SECUENCIALES 221 Solucién P17.- El diagrama de estados es el siguiente: SIGNIFICADO DE CADA ESTADO ‘A: No se ha recibido ningtin 1. B: Recibido el primer 1 C: Recibido el segundo 1. D: Recibido el tercer 1 E; Recibido el cuarto o més 1. Problema 18.- Disefie un circuito secuencial sincrono con una entrada de datos X, que pro- duzca salida “1” durante un ciclo de reloj cuando la secuencia de los tres tiltimos valores de Ja entrada sean: 111, 110 6 000. Solucién P18.- Realizando el circuito mediante el modelo de maquina de Moore, la tabla de estados queda de la siguiente manera: x SIGNIFICADO DE CADA ESTADO s\ eo 1 2 Estado Ultimos 3 bits recibidos sof So [S| 1 s 000 8, | Sp 83 0 Ss, can S| 8, [Ss ] 0 Ss 010 $3} Se Sr 0 Sy O11 Sq |) So Sy 0 Sa 100 s. 101 ss) S |S; | 0 5 S6 110 Ss[ Si [Ss | 1 _ aii s;[ S86 |S } 1 NS A partir de la tabla de estados se contintia el proceso de disefio normal: reduccién de estados (son equivalentes S, y Ss); asignacién; eleccién de biestable; ecuaciones de excitacién Problema 19.- Disefie un aut6mata de Mealy que detecte la secuencia 1, 0, 0, 1, 0; esto es, el circuito debe tener una Unica entrada X y una Unica 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 CIRCUITOS Y SISTEMAS DIGITALES Solucién P19.- El diagrama de estados es el siguiente: SIGNIFICADO DE CADA ESTADO. Estado —_Recibido 1 10 100 1001 Nada de la secuencia 1/0. 10 monw> Problema 20.- Disefie un circuito secuencial sincrono que reciba una entrada X y produzca una salida Z=1 después de que haya recibido las secuencias de entrada 0, 0, 1 6 1, 0, 0. Comience el disefio por un estado de reset. Solucién P20.- Es una maquina de Moore y hay solapamiento en la secuencia, El diagrama de estados queda de la siguiente manera: SIGNIFICADO DE CADA ESTADO Estado —_Recibido R No se ha recibido nada A Primer 0 de la secuencia 00 1 B Primer 1 de la secuencia 100 ic Segundo 0 de la secuencia 00 1 D Recibido 0, 0, 1 E Recibido 1, 0 F Recibido 1, 0,0 A partir del diagrama de estados se continua el proceso normal de disefio. Problema 21.- Diserie un autémata 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, después de que las entradas hayan sido durante dos ciclos de reloj 1, entonces Z= 1. En el resto de los casos se mantiene la salida XY= Nota: en cada ciclo slo puede cambiar una variable de entrada, no las dos a la vez. DISENO DE CIRCUITOS SECUENCIALES — 223 Solucién P21.- El diagrama de estados reducido queda de la siguiente manera: ooo SIGNIFICADO DE CADA ESTADO Estado en el que la salida es 0 y recoge se- cuencias de entrada distintas de 01,01, 11 Recoge el primer valor de la secuencia que genera Z=1. Recoge el segundo valor. Se alcanza tras recibirse la secuencia que genera Z = | gow > Problema 22.- Se desea disefiar un autémata de Mealy con dos entradas (X;,Xp) y una sall- da Z, que obedezca al siguiente comportamiento: 1) En ningtin caso ambas entradas pueden estar a 1 simulténeamente. 2) La salida Z alcanzaré el valor 1 si y sdlo si aparecen dos unos consecutivos en la misma linea de entrada, pasando a dicho valor cuando se detecte el segundo 1. Solucién P22.- El diagrama de estados queda de la siguiente manera: 00/0 ( SIGNIFICADO DE CADA ESTADO Gao a A: Estado que indica que el sltimo valor re- cibido es 00. (3 ) (OY ion B: Serecibe 1 en a variable Y. ©) “ Se recibe 1 en la variable X. —- oO” 10/0 Problema 23.- Por una linea se envian (bit a bit) grupos de cuatro bits. Obtenga el diagrama de estados de un circuito secuencial sincrono de Mealy que produzca una salida Z = 1 cuando detecte las secuencias de entradas 1100 6 0011. Comience por un estado de reset. Solucién P23.- El enunciado dice que la maquina es de Mealy. El diagrama de estados queda de la siguiente manera: 224 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 24.- Reduzca las maquinas cuyas tablas son las de la figura. ¢Se trata de maqui- nas de Mealy o de Moore? Solucién P24.-Las dos son m4quinas de Mealy. Tras el proceso de reduccién las tablas resul- tantes son: x s ADO A BoB CEG> C FoF x s 0 1 AyD F B/D E c[G [EI D[ A F |e ee FLA B Gc/[c [Gi NS,Z >lal>lelo q NS,Z Orden del bit que se espera » 3° 4 AC, D- Estados que detectan la secuencia 001 B, E, F- Estados que detectan la secuencia 1 10 si [3 [Ss s [S| Ss ss[ & [Ss Sif S| Se ss[_S3 [Spt Se] $3 | Spl s, [Si [Sed Ss [Sa [ Sel NS,Z x ON 0 1 S1,8y,83,8,9 A] A B Ss SqS7,Ss> B[ A | Bl NS, Z DISENO DE CIRCUITOS SECUENCIALES 225 Problema 25.- Obtenga una buena asignacién para la siguiente tabla de estados. x s\ 0 1 ST Si] S Ss S83 S2 Sr] Si Sa S3 [Ss Sy 8s [Sst | S Sof Si | Sel NS,Z Solucién P25.-La tabla no puede reducirse. Aplicando las reglas de adyacencia se obtiene: REGLAS Tabla 7 GaSe) (S35) 2 = 3 SoS p)Sp.Sp)s (So.83)s (SoS4)s SoSs) (SoSp)s (S1,53)s (S1S3), (Sp,S4)s S280) (S},82), (S2,83),(S Sq), 2x(S2,S5), 2x(S1.S6) 3 (SoSpS753S4) * Dos asignaciones posibles para esta tabla son las siguientes: Tabla 1 nyt Reglas que cumple: YX, 00 or 11 10 3 7 (odes) 0 | Sa] So] Ss] — 3. 5 (de 10) 1 SPST Ss 4 4165) NS,Z Tabla 2 Reglas que cumple: Yovi 1. 2 (Todas) a oO ol 1 10 20+ 3. 4(de 10) 0 | Sal ~ | Ss] 82 4. 4(de5) 1 [Sef So] Ss | Si 5. 3 226 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 26.- a) Para la tabla de estados siguiente, determine cudl de las tres asignaciones que se dan es la que cumple mejor las reglas de adyacencias. b) Para la asignacién numero 1, realice el circuito utilizando biestables JK y puertas. XIX 00 ot : 110 2 ESTADO —_ASIGNACIONES (q; q3) a leD ic A lo re ee eae ees : BE A 00 0000 : B oo [ A = Doi ic 1 10 OL De |e De ete) A lo D 10 1b 10 NS Solucién P26. a) Las reglas de adyacencia que debe cumplir la tabla de estado son: Reglas ly 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 cudntas reglas cumple cada asignacién: ‘Asignacion |Adyacencias que cumple] __REGLAS QUE CUMPLE R3 R4 RS 7 ‘AB, AD, BC, CD a 8 2 2 ‘AB, AC, BD, CD 7 6 5 3 ‘AC, AD, BC, BD 3 8 2 La asignacién que més reglas cumple es la mimero 1. b) Con la asignacién 1, siguiendo el proceso de disefio (tabla de transicién, tabla de excitacién, ecuaciones de excitacién) las ecuaciones que se obtienen son: N= X+kig | Ky = +X n+ Xin =X, «. A DISENO DE CIRCUITOS SECUENCIALES 227 Problema 27.- En un analizador ldgico se observa el siguiente comportamiento: ck x 4a 2 ty 2 Realice el circuito con biestables T y puertas NAND. Solucién P27.- Vamos a obtener directamente la tabla de transicién/salida. Como las varia- bles de estado q) qp cambian con el flanco de bajada de Ck, los biestbles seran tipo flip-flop disparados por el flanco de bajada. En cada ciclo de Ck, estamos viendo el estado presente (a) qp) y el valor actual de la entrada X: también el de las salidas Z, Zy se ven en ese mismo ciclo, mientras que el valor del préximo estado se determina viendo cuanto valen q; y q en el ciclo siguiente. Las tablas de transicién y de salida quedan de la siguiente manera: = x ago ! ag 0 1 Oe aoa mit 00 [10] 00 o1 [ar fito on lnonslein Me 11 [00 | 10 10 oo} 01 10 a Tr | QiQ) ZLy 1 Tabla de transicién Tabla de salida Las ecuaciones de salida y excitacién son las siguientes: qT, Ty = Xa, + X42 Ze=ant nn 2, = Xqo+ 1142+ Xa Capitulo 9 SUBSISTEMAS SECUENCIALES Las operaciones secuenciales mas comunes estén en circuitos integrados con una complejidad superior a la del biestable. As{ podemos encontrar contadores de n bits que incrementan 0 decrementan su contenido, adem4s de otras operaciones; registros, como elementos almacenadores de palabras de n bits; PLD secuenciales que basicamente son PAL y PLA que incluyen algunos biestables y que permiten programar funciones secuenciales; etc. En este Capitulo se estudiardn, fundamentalemente, los contadores y los registros, ya que la técnica de andlisis y de disefio con PLD es la de circuitos secuenciales genéricos. CONTADORES Los contadores son circuitos que tienen la propiedad de incrementar su contenido (ascendentes), decrementarlo (descendentes) 0 ambas (reversibles). Un contador médulo K cuenta K valores de forma ciclica, normalmente entre 0 y el KI (p.ej., si es ascendente, del 0 pasa al I, del 1 al 2, y asf hasta el KI, a partir del cual se pasa nuevamente al 0, etc). Ademés, estos dispositivos pueden tener operaciones que permitan cargar un estado inicial de cuenta (carga 0 load) y restablecer el estado inicial de cuenta, ya sea el cero para contadores ‘ascendentes (clear) 0 todos los bits a | (estado 2-1) para los descendentes (preset). En cuanto a las salidas, ademds de las que indican el estado de cuenta, se incorporan las que avisan que se ha alcanzado el estado de cuenta final: todo I para los ascendentes y 0 pata los descendentes. Existe gran diversidad de contadores dependiendo del tipo de operaciones que realizan y del tamaiio del contador. El tamaiio se especifica por el médulo (p.ej.: médulo 10 ) 0 por el nvimero de bits en caso de médulos 2". Por ejemplo, en la siguiente figura se muestra el esquema de un contador sfncrono ascendente de médulo 8 (3 bits) con las operaciones de cuenta arriba, carga, puesta a0 ¢ inhibicion. 229 230 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES UpCILd] Operacisn Up Up Dy D; Do cl Clear TC — 000 | Itnhibicion Ld Load 100 | Cuenta 92 41 90 x10 | Puesta a cero ck ——¥ Vv xx1_ | Carga dato TC=Terminal Count Te T siqz 4) qo =I11 en otros casos En la siguiente figura aparece la secuencia de salidas de un contador médulo 8 ascen- dente. Como se observa, a los contadores se les deno1 mine, también, divisores de frecuencia. el periodo de las sefiales de salida va duplicandose, lo que motiva que clk J eat 90 qa oe [cont] 9 >< >< 2G XS XEEXEEX EEX DISENO DE CONTADORES Hay dos formas de realizar contadores: 1) los de rizado (ripple-counter) 0 contadores a cronos; y 2) los sincronos. En los contadores de rizado la salida de cada biestable se utiliza como sefial 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. I Tp % In a I4T = elk, En la siguiente figura se muestra una estructura alternativa, la del contador sincrono. En ella, todos los biestables tienen Ia misma sefial de reloj por lo que incorrectos. a — no presentan estados qo Ty, a &HT 2 SUBSISTEMAS SECUENCIALES 231 Las entradas de control de los biestables, descritas con anterioridad (clear, carga 0 inhibici6n), pueden tener dos modos de operacién, sincrono o asincrono, en funcién de si para su ejecucién esperan ono Ja Hlegada de un flanco de reloj. En la siguiente figura se representa la estructura interna de un contador sincrono ascendente de médulo 4, con operacién de clear asincrono y la respuesta temporal para una secuencia de entrada de control. En ella se observa que, inmediatamente después de que se activa clear, el contador se pone en el estado de cuenta 0, sin esperar la Hegada de un flanco activo de reloj. x X | Operacién alae) iS cl cr alee 0 | Puesta a cero 14T) a0 Ta 4140 1 | Cuenta arriba clk TT nk clk x [cont] T XEK 0 T x = En la siguiente figura se muestra la estructura de un contador de similares caracteristicas que el anterior pero con un clear en modo sincrono. 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 Ia entrada de reloj. U 0 0 1p Fy% dolby PAM at ee ee clk clk x a } —— [cont] i 2 o T 2 REGISTROS Los registros son circuitos capaces de almacenar palabras de n bits. Existen dos operaciones basicas: — Escritura (write) 0 carga (load) en paralelo, mediante la que los n bits del dato son almacenados a la vez, introduciéndose por n entradas Iy.1-Ip - — Desplazamiento (shift), mediante la que los n bits del dato son almacenados en 232 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES serie, uno a uno. Esta operacién puede ser a derecha (shift right) introduciéndose el dato por una entrada Rj,, 0 a izquierda (shift left) entrando el dato por la entrada Lin. En la siguiente figura se muestra el esquema y estructra interna de un registro universal de 4 bits, Hamado asf porque incluye todos los modos de escritura posibles. Operacién 000] SHL Rin Lin oo 1] SHR 2 RI4] 011 LOAD co ol1o INH 1 - - | CLEAR ck sg % 4 % SO, Para el disefio de registros hay que tener en cuenta el modo de funcionamiento asfncrono © sincrono que pueden tener algunas entradas de control. En la siguiente figura se muestra la estructura de una celda genérica para el registro de la figura anterior, donde se ha supuesto que todas las operaciones, salvo la de borrar, clear, son sincronas. c (insi i=0) 4.1 fo cl (Rysii=3) Gei1 4ij— ai 2 De u3 4% 10 TT] e160 clk DISENO DE FUNCIONES CON SUBSISTEMAS SECUENCIALES Los contadores y registros pueden usarse, ademds de para sus propias tareas especificas, en la realizacién de méquinas secuenciales cualesquiera. La forma mds inmediata es usar subsiste- mas con carga en paralelo para almacenar el estado presente mientras que el circuito combina- cional genera y sitéa el préximo estado en las entradas de carga en paralelo; asf, el subsistema sustituye a los biestables en el esquema general de circuito secuencial. Ademés, podemos citar otras dos aplicaciones: ~ Los registros de desplazamiento se usan para generar secuencias cfclicas. 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 asf sucesivamente. —Los contadores (p.¢j. Ios ascendentes) implementan los cambios de estado con la fun- ci6n de cuenta siempre que esos estados tengan asignados cédigos de estado ascendente. Tam- bién incorporan la funcionalidad de “pasar al estado de cédigo 0” (mediante la accién de clear), de “permanecer en el estado actual” (accién de inhibicién), etc. Si se puede realizar un circuito combinacional que genere las sefiales de entrada del contador (control y datos) adecuadas, el contador podra ser el dispositivo de memoria de ese cireuito secuencial. SUBSISTEMAS SECUENCIALES — 233 indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: - Anilisis de circuitos con contadores y registros. = Disefio de subsistemas secuenciales: contadores y registros. - Disefio de funciones secuenciales con subsistemas. PROBLEMAS RESUELTOS Problema 1.- Determine la secuencia de salida del contador médulo-5 de la figura en funcién de la evolucién de las entradas x, y. i6 clk eo ‘operacién y = OOT UP Manan , Y_ médulo-5 01| down 3 10| clearasincrono [L_C1_____1115 | 11 | inhibicign | Ly }._a > Solucién P1.- Sea Sq 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 asf sucesivamente, En el intervalo So tenemos dos combinaciones de entrada, (xy = 10 y 00). Para la primera, se produce un clear asincrono que provoca que las salidas del contador se pongan a 0. De este modo, y durante el resto del intervalo, el contador estar a 0 puesto que la siguiente combinacién, xy = 00, es sincrona y depende del flanco de reloj para su ejecucién. Para el ciclo $; se ha producido un incremento del estado de cuenta, causado por las sefiales de control x e y en el instante en que se generé el primer flanco ascendente. Durante este ciclo las entradas se mantienen a0 I6gico, por tanto la operaci6n seleccionada es la cuenta ascendente. EI valor de cuenta en el ciclo $2 es el 2. En él se producen transiciones en las entradas x © y que se encuentran a 1 ldgico al final del ciclo. Esto provoca una inhibicién para el siguiente ciclo. Para el ciclo $3 el estado de cuenta es el 2, y se produce una transicién en la entrada x, Jo que provoca que se seleccione la operaci6n de cuenta descendente. En el ciclo $4 se produce el decremento, por lo que el estado de cuenta actual es el I. Durante este ciclo y los dos siguientes, Ss y So, las entradas se mantienen con el mismo valor, Io que provoca el decremento del estado de cuenta en estos ciclos y, a su vez, en el S7. En el ciclo S se produce un clear asincrono que pone el contador a 0. Esta situacién se prolonga hasta el final del ciclo Sg Por tiltimo, en el ciclo So, se produce una situacién de incremento del contador. Esto es debido a que las entradas al final del ciclo anterior estaban a 0 légico. 234 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES [CONT] Problema 2.- Analice el circuito de la siguiente figura, considerando que la operacién de clear es sincrona. conti3) UpClear 2.9190 clk Solucién P2.-El contador sdlo tiene dos modos de operacién: cuenta ascendente, Up/Clear=1, y puesta a cero sincrona, Up/CTear=0. Como se observa en la siguiente figura, la operacién de puesta a cero se activa para los valores de cuenta 6 y 7. Para el resto de los estados tenemos la operacién de cuenta ascendente. Se trata de un contador médulo 7 sin bloqueo. Problema 3.- Disefie un contador médulo 4 que tenga las siguientes caracteristicas: a) Ser sincrono y disparado por flanco de subida. b) Ser puesto a 0 de manera asincrona ¢) Inhibirse de la cuenta, manteniendo el estado almacenado. d) Contar hacia arriba. e) Contar hacia abajo. ) Cargar datos en paralelo. Solucién P3.- Al ser un contador de médulo 4, s6lo necesitaremos para su realizacién dos bi- estables. Estos deberén ser disparados por flanco ascendente, tener entrada asincrona de clear SUBSISTEMAS SECUENCIALES 235 y disponer de una sefial de reloj comtin. Vamos a plantear a continuacién una posible solucién. Supongamos que la carga en paralelo y la inhibicién son operaciones sincronas; esto hace un total de 4 operaciones sincronas (contando la cuenta ascendente y descendente), Para no tener demasiadas Iineas de control, es conveniente codificar las operaciones, por lo que tres lineas serdn suficientes (2 para las operaciones sincronas y | para la as{ncrona). Una posible codificacién es la mostrada en la siguiente tabla: Esta codificacién permite utilizar cy, directamente, como linea de activacién de las entradas de clear de los biestables, reduciendo asf el circuito de decodificacién. Para cada una de las operaciones restantes habré que determinar las expresiones de entrada de cada uno de los biestables, para que se genere e] funcionamiento global especificado. Si cjcq = 00, tenemos cuenta ascendente y, si los biestables son de tipo T, las entradas serdn: Ty=1 Ty = qo Si cjcy = 01, tenemos cuenta descendente, por tanto las entradas serdn: Taal T, = Si ccg=10, tenemos inhibicién. Los biestables no deben cambiar de estado, por lo que sus entradas deben ser 0: Ty-0 T,-0 Si cjcg=I 1, tenemos la carga y para determinar las entradas de los biestables T; (i=0.1) nos basamos en la siguiente estructura, siendo Dj el dato a cargar en cada biestable. dD, 1 q 0 1 jo 0 236 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si el dato a cargar coincide con el estado del biestable, éste no debe cambiar de valor, por lo que su entrada serd 0. En el caso en que difieran, la entrada sera 1. Ty = qo@Do T,-q.eD, La solucién, para la parte sfncrona, serd la unién de las entradas de los biestables para cada sefial de control: Ty= 1G) Gyr dG €940-€)-G+ (Gy@Dy) C1 Co Ty = o-€) Gy +Go-€) C9 +0-C)-Eq+ (GQ) @Dy) Cy Cg El circuito resultante es: x © t | cl =| pe NT « ee \ [ia Do Cah | op ial, a a@— ® i a— ® i c) & cy Co clk Problema 4.- Disefie un contador médulo-60 (0-59) utilizando dos contadores, uno de los cuales es médulo 10. Realice el segundo contador con biestables JK y puertas légicas. Solucién P4.- El contador que tenemos que disefiar con biestables JK debe ser de médulo 6 € incrementarse cada vez. que el contador de médulo 10 alcance su tiltimo estado de cuenta. Vamos a suponer que el contador de m6dulo 10 dispone de sefial de carry (Cy). Daremos dos soluciones al problema. En la primera, el carry del contador de médulo 10 se utiliza como sefial de up del segundo contador : cy up mod. 10 mod. 6 clk a En esta solucién no influye el tipo de flanco que se escoja para los contadores, eso sf, los dos deben ser iguales. En la segunda soluci6n, la sefial de carry del primero se emplea como reloj del segundo. ‘Aqui, si es necesario, para asegurar que los contadores cambien al mismo tiempo que el flanco de disparo sea de bajada. SUBSISTEMAS SECUENCIALES 237 mod. 10 mod. 6 En cualquier caso, nuestro problema ahora se reduce a obtener el contador de médulo 6 con biestables JK. El diagrama de estados para el contador de la primera solucién es: Para la segunda soluci6n, el diagrama de estados es atin més simple, ya que desaparece la dependencia con la sefial de entrada (siempre est cambiando de estado). Obviaremos los pasos para la obtencién del circuito secuencial, puesto que ya existe un Capitulo entero dedicado a este propésito. Problema 5.- Se dispone de un contador mod-16 con las siguientes sefiales de control: CUENTA, CARGA y CLEAR. a) Si CUENTA = 1 y CARGA = 0, el contador cuenta hacia arriba. b) SiCARGA = 1, el contador se carga con datos en paralelo. ©) Tiene también salida de CARRY. Construya, utilizando como dispositive basico dicho contador: 1. Un contador méd. 6 que cuente de 0a 5. 2.- Un contador méd. 6 que cuente de 10 a 15. 3.- Un contador méd. 6 que cuente de 4a 9. 4.- Un contador que cuente de 0a 34. Solucién P5.-A partir de las especificaciones del enunciado y deduciendo que si no esté activa ninguna de las 3 sefiales de control existe una inhibiciGn, obtenemos la siguiente tabla de operacién: 238 +PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES CARGA CUENTA CLEAR 1 - Carga 0 1 : Cuenta 0 0 1 Clear 0 0 0 Inhibicién ‘Suponemos que todas las operaciones son sincronas, 1.- Para realizar un contador de 0-5 utilizando este dispositivo debemos interrumpir la secuencia normal de funcionamiento del mismo, forzdndolo 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 Iineas de carga se hayan puesto a valor I6gico 0. El modo més natural, en este caso, serfa el utilizar la sefial de clear. Las operaciones a realizar con este contador son dos: cuenta y clear; para lo que las sefiales de control deberan ser (CARGA, CUENTA, CLEAR) = (0, 1, -) y (0, 0, 1) respectivamente. Esto hace que la sefial de CARGA siempre esté a 0 y, puesto que CUENTA es prioritaria, la sefial de CLEAR puede estar a 1. La solucién a este apartado se reduce a obtener un circuito combinacional que en funcién del estado del contador genere la sefial de CUENTA. 0—{CARGA CUENTA 1—{CLEAR 3540 a Dado que las operaciones son sincronas, deberemos generar la operacién de clear en el estado 5, para que, cuando se reciba el siguiente flanco de reloj, el préximo estado sea el 0. 93 42 Qi qo \_00__0l__ 10 1 ~ 1 1 1 1 7 0 | -‘\\ - 00 ol u 10 CUENTA, CUENTA = @) 49 SUBSISTEMAS SECUENCIALES — 239 Como anexo al apartado, podemos decir que este circuito no sufre situacién de bloqueo, porque si inicialmente se da un estado fuera del rango, sus lineas de control provocarén. una cuenta ascendente 0 un reset. Por tanto, siempre se llegar4 a la secuencia de estados prevista. 2. Para disefiar un contador que cuente de 10a 15, utilizaremos las operaciones de carga y cuenta. Las Iineas de carga del contador deberdn tener el niimero 1010 correspondiente al estado inicial. Las sefiales de control deben ser: (CARGA, CUENTA, CLEAR) = (1,-,-) para carga y (0,1,-) para cuenta ascendente. Por tanto, la Ifnea de CUENTA la dejamos a 1, la de CLEAR puede tomar cualquier valor y la sefial de CARGA Ia generamos en funci6n del estado de cuenta del contador. 1010 Fs || CARGA 1—— CUENTA 0—| CLEAR 319 cc. 1 clk EI K-mapa para la funci6n carga es: 93 42 a go 00110 oo |= - 0 01 Ores MW oLs des IV) to L- = o CARGA, CARGA = qq) do 3. Este apartado es igual que el anterior, salvo que ahora se activa la sefial de CARGA enel estado de cuenta 9, y el dato a cargar es el 0100. CARGA = 43: qo 4. Para este apartado es necesario utilizar al menos dos contadores. La sefial de carry del primer contador la utilizaremos para incrementar al segundo. Asimismo, generamos un clear cuando el valor del conjunto de las lineas que forman los dos contadores sea 34 0 lo que es equivalente, que las Iineas qi de los dos contadores sean 1 y el resto 0. Podemos deducir directamente la expresién de la seftal de clear como: CLEAR donde el superindice distingue el contador. 240 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Las operaciones a realizar por el contador dos son: inhibicién, 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 sefial de carry del primer contador y clear se activa en el estado de cuenta 34. Para el contador CONTI, las operaciones a realizar son: cuenta ascendente y clear, para Jo que las entradas de control deben ser (0,1,-) y (0,0,1). Para ello podemos dejar CARGA a0, CLEAR a | y controlamos la entrada de CUENTA, de modo que cuando esté a 1, se realizara cuenta ascendente y cuando esté a 0 un clear. La sefial de CUENTA la obtendremos invirtiendo la sefial que se activa cuando se alcance el estado de cuenta 34. En la siguiente figura se muestra el resultado final: CARGAL- 0 {Cy CARGA cont cuENTAF-—] Cone) CUENTA CLEAR 3210 3210 TEAR TT] T TTY]T & -——— clk Problema 6.- Disefie un registro universal de 4 bits. En particular, debe cumplir las siguientes especificaciones: a) Ser sincrono y disparado por flanco positivo de reloj. b) Tener entrada de puesta a cero asincrona. c) Tener las cuatro formas de operacién siguientes: ~ Inhibici6n — Desplazamiento a la izquierda, ~ Desplazamiento a la derecha, ~ Carga de datos en paralelo. Solucién P6.- Utilizaremos 4 biestables tipo D, disparados por flanco de subida y con entrada asincrona de Cl activa en alto. Todos los biestables van a utilizar la misma sefial de reloj. La codificacién que podemos realizar para las 5 operaciones de control es: Ly lp by bo Operacién 000 | SHL Rin 001 | SHR 2 Ri] 011 | LoaD ey 010 | INH 1 XX | CLEAR SO” 3 a2 a) ay Sr Supongamos que salvo el CLEAR, el resto de las operaciones son sincronas. Entonces, para cada biestable D tenemos que: SUBSISTEMAS SECUENCIALES 241 Si c9¢j¢q = 000 (desplazamiento a la izquierda), las entradas son: Di-aia i-1.23 Dy « Lin Si cy¢1¢o = 001 (desplazamiento a la derecha), las entradas son: Dian 120.12 Dy =Rin Si cyej¢q = 010 (inhibicién), se conectard la entrada a la salida q del biestable: Di-4, Si c9¢)¢9 = O11 (carga), las entradas corresponderdn con las Iineas de carga: D,-L, La expresién para la entrada de cada biestable se obtiene uniendo las expresiones anteriores para cada entrada de control. Dg = Lin €1- +4) G1 Co*+A0-€1 Eo Lo C1 Co Dy = Go& G+ 42-E1-Co+ G1 Cy Coby C1 Co Dy = 4) -€)-E+G3-F1 Corda Cy Co+La Ci Co Dg = GEG +Rin G1 €9+43-C1-CotLy C1 Co En las expresiones anteriores se ha eliminado la variable cp. Esto se puede hacer si utilizamos cy exclusivamente como sefial que actiia sobre las entradas clear de los biestables. Cuando cy = 1, el biestable se pone a 0 independientemente del valor de su entrada sincrona. Si cy =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 (Lin aia—fo (Rig Si ditt T= a 2 or L,—-43 qi 10 T cre clk Problema 7.- La figura muestra un registro de cuatro bits y sus operaciones. Utilizando conexiones y circuiteria externa adicional a ese registro: 242 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a) Obtenga un registro universal de cuatro bits; esto es, tendré carga en paralelo, desplazamiento a derecha e izquierda, y "no-cambio" (inhibicién). SI: Entrada en serie.cik SH: Desplazamiento a la derecha. L: Carga en paralelo. SO: Salida serie. X3Xq Xj Xo REG & sl 0 0] REG SH 32 10 O 1 | X3-X REG 1 - | SHR(REG,SI L 3.2.10 cx —T | ——) 3 42 4) Go b) Construya un registro con desplazamiento circular a la derecha y complete el diagrama temporal mostrado si cuando se activa la sefial de carga (L) el valor de las entradas 8 XgXX4Xq = 1010. li eg gD ag ee) DL L SH so Solucién P7. a) Para conseguir la tinica operacién no disponible, el desplazamiento a la izquierda, utilizaremos la operacién 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 disefiar debe tener dos sefiales de control que permitan la realizacién de cuatro operaciones distintas, Llamemos a estas sefiales I e Ip. En la siguiente tabla, aparece una posible codificacién de éstas y su relacién con las sefiales a activar en el registro. Tilo | SH_L | Operacién Inhibicién Carga SHR SHL -Hoo Asimismo, necesitamos controlar los datos de carga en el registro. Si I\Ip = 01, los datos de entrada al registro deben ser los propios de la carga, 0 sea, X, =D, para i= 0, 1, 2,3. SiTy[o= 11, se debe realizar el desplazamiento a la izquierda, para lo cual tenemos que X= qi para (i = 1, 2, 3) y Xo = Sly. ( Esta es una entrada adicional que afiadiremos para la realizaci6n del registro universal. La salida del desplazamiento a la izquierda sera SO,= q3)- SUBSISTEMAS SECUENCIALES 243 Uniendo las expresiones anteriores, nos quedan las ecuaciones siguientes X:=Dy Tear X,=D, Lean X, =D, Tea], X= Do T+Sh.-1, Puede observarse que en las expresiones anteriores se ha eliminado la dependencia de I. Esta entrada s6lo sirve para distinguir entre la operacién interna de carga, y las restantes (desplazamiento a derecha e inhibicidn). Cuando estas ditimas estén activas, los valores de las entradas de carga son indiferentes, por lo que la ausencia de Ip no afecta a la operacién del dispositivo. Nos queda, por tltimo, disefiar el circuito que adapte las sefiales de control I, Ip las del registro SH y L. De la tabla inicial, podemos sacar las expresiones algebraicas siguientes: SH<1, oho 1 L-Ty+ly Vay) El circuito resultante es: D342 Dz 4 Di 4 Do Sk SL fies 1 4 aE oo RO al} e %_% 4 a ce —F rete SOy SOx b) El registro circular se construye realimentando la salida qo con la entrada SI. 93 42 41 do Por tiltimo, nos falta obtener la forma de onda de la salida cuando se somete al circuito a la secuencia de operacién mostradas en la figura del enunciado. 244 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES [REG] GHGZWI> OUP OI Auawne Una vez elegida la asignacién, recorremos nuevamente el diagrama de estados para conocer las operaciones que se necesitan en el contador: Estado A.- S6lo tiene una transicién hacia el estado B. Esto se consigue con operacién de cuenta ascendente (up), Estado B.- Sélo tiene una transicién hacia el estado C. Operacién de cuenta ascendente (up). Estado C.- Tiene una transicién hacia el estado A que realizaremos con clear y otra hacia el estado D que haremos con up. Estado D.- Tiene una transicién hacia el estado E que realizaremos con up y otra hacia el Gen la que tendremos que utilizar la seiial de carga. El valor que pondremos en la entrada paralelo es el 0110 (6 en decimal ). Estado E.- Una transicién hacia el F mediante operacién de up y otra hacia si mismo que realizaremos con operacién de inhibicién (o bien de carga) Estado F.- Una transicién hacia el G mediante up y otra hacia el estado D mediante una operacién de carga con el valor 00111 (3 en decimal) Estado G.- Una tinica transicién hacia el estado A que realizaremos con clear. Podemos deducir que el contador debe disponer, para realizar el diagrama, de las sefiales de control anteriores y de un minimo de 7 estados de cuenta. Como podemos ver, el contador de Ia figura cumple con todos estos requisitos. El siguiente paso consiste en obtener las expresiones algebraicas que relacionen las sefiales 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 tna reducci6n previa; el contador dispone de cuatro salidas, de las cuales s6lo nos son titles tres, ya que el diagrama tiene siete estados. Vamos a hacer la asignacién, por tanto, ignorando el valor de q3. 250 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Estado 93 42.41 40 A -000 B -0o01 c -010 D EO lal E -100 F -101 G ei) Partiendo de esta asignaci6n y teniendo en cuenta la entrada X, queremos disefiar un circuito combinacional que active las sefiales de control apropiadas para generar las transiciones de estado representadas en el diagrama de estados. ii Pp. D3 Dz DiDo Clear p—Load 93 42 41 G0 En la figura, hemos fijado D3 y Dy aOy | légicos 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 continuaci6n: SUBSISTEMAS SECUENCIALES 251 En Ia 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=q,+X fiver Do=4 Dz=4 CLEAR = 9; +49: 42+X-@> LOAD = qo+q;-42+X Problema 11.- Se dispone de una sefial binaria con periodo de 1 minuto, contadores de médulo 10 disparados por flanco negativo, con entrada de clear sincrona activa en alta y salida de acarreo (carry), visualizadores de 7 segmentos con entradas BCD y puertas ldgicas. Disefie un reloj digital que muestre las horas y minutos. Solucién 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: | clk El contador CONT! debe ser capaz de cambiar desde el estado 0 al estado 9 en cada minuto 0 ciclo de reloj. —Je%1 «conti = CLyp-—0 43 42 41 Go TTT tence El contador CONT2, debe cambiar de estado cada 10 minutos. Los estados que puede recorrer van desde el 0 al 5. Como las tnicas operaciones que pueden realizar estos contadores son la cuenta arriba y el clear, nos vemos obligados a dotar a este contador de una sefial de reloj de 10 minutos. Esta la podemos conseguir a partir del carry del contador CONTI ‘Ademés, cuando el estado de cuenta aleance el valor cinco, activaremos la sefial de clear. CL, = 3-9 252 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES El superfndice de la expresi6n anterior hace referencia al contador del que extraemos las salidas qj. En este caso, el contador CONT2. —CY2 CONT2 CL2 CY, CONTI CLif-— 0 93 42-41 Go ¢ 43% 41 40 LY] | ba La siguiente figura representa un andlisis temporal de las sefiales que intervienen en el minutero. Nh gg el cy, — CL, CONT, TXEXEXI CONT; 0 T EI disefio del contador CONT3 es algo mas complejo. Este debe cambiar de estado cada 60 minutos y, en funcién del estado del contador CONT4, debe alcanzar hasta el valor nueve (cuando [CONTA] < 2}, 0 s6lo hasta el tres (cuando [CONT4] = 2). Para su entrada de reloj, utilizaremos la seftal de clear del contador CONT2. Si nos fijamos en la ilustracién anterior, esta sefial genera un flanco negativo, cada 60 minutos, sincronizado con la sefial clk. Por otro lado, debemos activar la sefial de clear (CL3) cuando [CONT4] = 2 y [CONT3] = 3. La ecuacin para la sefial CL3 es: CL, = gigi 4 Por tiltimo, el contador CONT4 debe tener una sefial de reloj que lo haga cambiar de estado cada diez horas, cuando [CONTA] < 2; o bien cuando el reloj se encuentre en la situacién 23:59. Esta sefial de reloj la podemos obtener uniendo mediante operacién OR, una sefial binaria con periodo de diez horas, con otra con periodo de cuatro cuando el (CONT4] = 2. Para la primera, utilizaremos la salida de carry del contador CONT3. Para la segunda, utilizaremos la salida q, del contador CONTS (ya que las salidas de un contador actuén como divisores de frecuencia y, por tanto, como la entrada de reloj del contador CONT tiene un periodo de una hora, la sefial go tendré un periodo de dos horas y la qq, de cuatro). SUBSISTEMAS SECUENCIALES 253 La sefial del clear la activaremos cuando [CONT4] = 2. CLK* = q}-qi+CY? CL,- 4} El circuito resultante se representa en la siguiente figura: CONT 3 93 42 41 40 CONT4 43 42_41 90 cY4 CL, cys Cl ck T=I hora & La siguiente figura ilustra el comportamiento temporal de esta parte del circuito. lk3 1A LL [ConT3] “8 <9 XO <0 XTX XS > CY; 3 4 {CONT4] 0 = i 2 Problema 12.- Disefie un circuito que genere la secuencia: 1, 1, 0, 0, 1, 0. Solucién P12.-Existen miltiples soluciones a este problema. Vamos a plantear algunas. a) A partir del diagrama de estados. Obteniendo el circuito utilizando el método sistematico de sintesis de circuitos secuenciales. b) Basado en un registro de desplazamiento, donde la salida qs se conecta a la entrada Liq Para la generacién periédica de la secuencia. 110010 Ht x —| shfoad Lin| 4493429190 < Zz clk En este caso, el registro necesita ser cargado con la secuencia. Esto se consigue con la sefial de control X, y colocando en las entradas de carga los bits de la secuencia. Si X = 0 se 254 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES carga el dato externo, y si X = 1, se realiza el desplazamiento a la izquierda en cada ciclo de reloj. La secuencia normal de funcionamiento para este registro, se muestra en la siguiente figura, donde se ha supuesto que la carga es asincrona, clk l l 1 x [R] 110010 X10010}XOOTOTIXOTOIIOXI01 00X01 T001XITOOTO 4s c) Usando un registro de desplazamiento, pero con un mimero de biestables inferior a los bits de la secuencia a generar. Como minim, el registro de desplazamiento debe tener 3 biestables ya que se necesita, al menos, 6 estados. SR3} Lin |—__ 92 414 cc. Puesto que este registro no puede almacenar la secuencia entera, tendremos que diseftar un circuito combinacional que en funcién de los bits de la secuencia parcial que se encuentran en el registro, introduzca el préximo bit de la secuencia por Lin. 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, 0 sea, 424140 = (1,1,0). El proximo bit de la secuencia que debe ser introducido por L;, es el 0, por lo que el circuito combinacional debe generar salida 0 para entrada (1,1,0). Supongamos ahora que se recibe un flanco de reloj. El contenido del registro se desplaza hacia la izquierda y el valor de Li, pasa a ocupar la posicién menos significativa, qyq149 = (1,0,0). El préximo bit a introducir por Lj, serd ahora 1. Por tanto, C.C. generard salida 1 para entrada (1,0,0). Si repetimos este proceso, obtendremos la tabla siguiente: a oF SUBSISTEMAS SECUENCIALES 255 Como puede observarse, para cada entrada obtenemos un tinico valor de Lin, por tanto podremos generar esta funcién mediante un circuito combinacional. Es probable que en muchos disefios aparezcan entradas idénticas que generen salidas distintas para Ljy. En tal caso, deberemos aumentar progresivamente el tamagio del registro de desplazamiento hasta que a cada entrada sélo le corresponda una tinica salida del circuito a disefiar. Es entonces, cuando obtendremos el circuito asociado. EI K-mapa para nuestro problema es: qNio o_o fT] o |) U po} of] - de donde obtenemos la siguiente expresién: Ln = Fx Gorda En este tipo de soluciones se pueden plantear problemas de bloqueo. Inicialmente, el estado del registro es indeterminado. Esto puede originar situaciones de entrada para el C.C. que no estén contempladas. Estas entradas pueden Ilegar a provocar una secuencia de salida que no coincide con Ia prevista. Para solucionar este problema existen varios métodos: uno de ellos es el de generar una carga inicial con parte de los bits de la secuencia; otro método seria asignar a aquellas entradas inespecificadas valores de salida que provoquen la incorporacién a la secuencia valida. En nuestro ejemplo no existe bloqueo. Las tinicas dos entradas que no estén contempladas son la qq) = 000 y 1a 494199 = 111. Si inicialmente se da el estado 000, el préximo estado, el 001, sf pertenece a la secuencia y a partir de aqui, el funcionamiento es correcto. Igualmente, si se da el estado 111, el préximo estado, ef 110, también pertenece ala secuencia. d) Utilizando contadores y I6gica combinacional (MUX, ROM, PLA, ...). El contador se utiliza para generar la secuencia de estados. La l6gica 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 quedaria como se muestra: NOUBUNHS mod-6 qo 4 9 io clk 256 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 13.- Utilizando como base un registro de desplazamiento, disefie un autémata de Mealy que funcione como detector de las secuencias: 1111, 0110 6 0001. Solucién P13.- Este problema utiliza el registro como elemento almacenador de los bits de la secuencia a detectar. En un disefio de Mealy podemos emplear la variable de entrada X en la expresién de la salida, reduciendo el tamafio del registro a tres bits. 1 ——7ShR REG x TL. G2 41 40. De este mode, el registro almacena los valores de la entrada en los tiltimos tres ciclos y, junto con el valor actual de X, el C.C. puede generar la salida Z. La expresi6n algebraica para Zes la misma que la del problema anterior pero cambiando q3 por X. Ze Xqy-)-49+X- 4-4) Go*X 4-4) Go PROBLEMAS CON SOLUCION RESUMIDA 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 Unica operacién disponible para el registro es el desplazamiento a la derecha. ing. q1 do Pov ak | —¢—_-—— _| Solucién P14.-Con cardcter general podemos decir que la salida se obtiene a partir de la fun- cién 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. n elk v 4 v 4 4 > [reg] TO TTT COT OTTO HTS z i Problema 15.- Disefie un contador de 4 bits (médulo16) que permita carga de datos en paralelo. El contador debe ser sincrono y podrd ser puesto a 0 (clear). Diséfielo con biestables JK y puertas légicas. SUBSISTEMAS SECUENCIALES 257 Solucién P15.- En esta solucién se ha supuesto que el clear y el load son asincronos y activos en alta. Load Do D Dy D3 F Te 5 = Clear & & & & Th I I T 2 Le a] L& si] L& SI cl Pr T Pr cl Pr cl Pr 7 en) , 4 5 & 3 &h K Cok K | K clk l i I t t | qo a 2 3 Problema 16.- Se desea disponer de un contador con dos entradas de control (I y D) que realice las siguientes funciones: a) Si l=D=0, el contador esta inactivo (no cuenta). b) Si l=1, el contador se incrementa (cuenta hacia arriba). ¢) Si D=1, el contador se decrementa (cuenta hacia abajo). Se prohibe que las entradas I y D sean simulténeamente 1. 1. Disefe uno de 4 bits, sincrono, con biestables tipo T (no utilice la tabla de estados global pues tiene 16 estados). 2, Indique qué ocurre si por error u otra causa hay entradas ID=11. 3. Generalice el disefio para n bits. Solucién P16. 1) Las ecuaciones para las entradas de los cuatro biestables son: T) =1+D T, = 1-qy+D dy T, = 1-q)-otD G4 T-q2-41-d9+D- 4° 4° Go 2) Si en las expresiones anteriores sustituimos I y D por el valor 1, y obtenemos los valores de entrada T; para cada estado presente qj, el diagrama de estados, para este contador, es el representado en la siguiente figura: 258 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 3) Generalizando para n bits: nel nel T,=1-JJa+D- [Ja G=1,.,n) i-0 =0 T)=1+D Problema 17.- Se dispone de contadores médulo 16 con dos seftales X; y Xp que controlan su funcionamiento: Operacién Puesta a cero: Carga en paralelo 1 - | Cuenta ascendente Tomando como base este tipo de contadores, realice los disefios siguientes: a) Un contador mod-7 que cuente de 0a 6. +») Un contador mod-7 que cuente de 9 a 15. ) Un contador mod-7 que cuente de 4 a 10. d) Un contador que cuente de 2 a 34, Solucién P17.- En las siguientes soluciones no se han tenido en cuenta los problemas de bloqueo y ademis, se ha supuesto que las operaciones de clear y carga son asincronas. a) Contador médulo 7 (de 0 a 6): 3210, cONTIs] | > 93.92.91 90 SUBSISTEMAS SECUENCIALES 259 b) Contador médulo 7 (de 9 a 15): 100 11 3.2 7 CONTI4) § X}-> 241 90 clk 5 ¢) Contador médulo 7 (de 4 a 10): 0100 Litt 32 10 CONTI4) X17 13 92.91 40 clk & d) Contador de 2 a 34: 0010 32 10, CONTI4) — x4| 43.92 41 G0 ZT CONTI4) 93% 41 4 x xi clk Problema 18.- Se dispone de un circuito integrado 74198 cuya descripcién es la mostrada: Dsr 17-0] Dsl 1 t t MR Operacién MR QO - - | Puesta a0 asincrona Sit 74498 1 0 0 | Inhibicién So 1 0 1 | Desptazamiento a izquierda Ff 1 1 © | Desplazamiento a derecha az: orr.oif 1 1 1 | Carga en paralelo 260 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Hay que disefiar un registro de 8 bits con las siguientes operaciones: Operacién Desplazar a derecha introduciendo un 0 Desplazar a derecha introduciendo el bit de signo Desplazar a derecha introduciendo el bit menos significativo No desplazar ol 10 1a y que posea una sefial de lectura (R) activa en alta, de forma que, cuando no esté activa ponga al dispositivo en alta impedancia. 1) Disefe el registro utlizando 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). RAsAg: 0-0, 110, 011, 001, 100. Solucién P18. Ag 4 & Oe egilns vo . A &{ rl Der t | oF 1—q¥R 74198 a Sep oS s ia] Ao clk ei 8 R 2(7-0) Rado 00 | 10 | oon | oor | 100 | {CONT} 10101010 X_o1010101X 10101010 X_ 10101010 X_11010101 X_o1101010 X (oT LZ) 2[7-0] Problema 19.- Un sistema tiene una Unica entrada y dos salidas. El sistema puede estar fuera de servicio o en servicio. Entra en servicio tras recibir la secuencia 1, 1, 1 y se pone fuera de servicio tras 0, 0, 0. Una vez que estd en servicio, el sistema detecta la secuencia 1, 0, 1 SUBSISTEMAS SECUENCIALES — 261 (con solapamiento); el ultimo 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 estd 0 no en servicio y la otra indicaré cuando se ha detectado la secuencia. Haga un circuito de Mealy utilizando un contador y una ROM. Solucién P19. fuera de servicio Zy=1, detecta la secuencia Se ha escogido la siguiente asignacién: Estado lo Hovon-cols e-HoHo-o a b © d € f fi Con la asignaci6n anterior, se requieren las sefiales de control que aparecen codificadas en la siguiente tabla: En la siguiente figura se ilustra el circuito resultante y la tabla de programacién de la ROM: 1 1 210 CONT3} ¢I 42 41 do 262 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 20.- Se desea detectar el envio del nimero diez que llega por una unica linea comenzando por el bit LSB. Suponemos el caso de existencia de solapamiento en la cadena de bits. De un disefio con médulos combinacionales, médulos secuenciales y el menor nume- ro de puertas ldgicas posibles. Solucién P20. Con un registro de desplazamiento a la derecha y una puerta AND de tres entradas: x a2 aido_| Pi ci coZa Zp 000 Old 00) 1010 O10 1010 Old - 0000 100 | 11100 10] - 0000 rro } 290000 did 0010 000 0010 001 9010 010 - 0000 O14) 01100 100 | - 0000 ety 20100 110] 01101 Tid o1100 Rin SHR[3}_— SAR-— 1 clk Le Capitulo 10 MEMORIAS SEMICONDUCTORAS En este Capitulo se trata el uso de las memorias semiconductoras, fundamentalmente las de acceso aleatorio, tanto de lectura y escritura (RAM) como las de s6lo lectura (ROM) para formar unidades de memorias muitichip. Los problemas se dedican a analizar o disefiar los circuitos de decodificacién que permiten acceder a los distintos chips de memoria. En estas aplicaciones no tienen importancia las cuestiones tecnolégicas (si se trata de RAM estéticas, SRAM, o dinémicas, DRAM; si son ROM 0 EPROM; etc). De forma mds marginal se tratan también algunas memorias de acceso secuencial. UNIDAD DE MEMORIA MULTICHIP Una unidad de memoria multichip forma la memoria principal de un computador. Su organi- zacién se establece en torno al procesador y, mas concretamente, al espacio de direcciones y a la anchura del bus de datos. Con el término “espacio de direcciones” nos referimos a las pala- bras que el procesador distingue por las Iineas de direccién; en este Capftulo, salvo expresa indicacién en contra, se asume que el procesador posee un registro de direcciones de 16 Iineas (Aj5, -» Ag), lo que da un espacio de 64K palabras (desde la $0000 a la $EFFF, que en decimal abarca desde 1a 0,19 a la 65535;19). Por otra parte, la anchura del bus de datos da el nimero de bits de las Iineas de datos, que en este Capitulo sera de 8 bits. A nivel de bloques la conexién entre el procesador (CPU) y la unidad de memoria se ilustra en la siguiente figura. Las sefiales 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 iiltimo, el bus de direcciones esta conectado doblemente con cada chip (RAM o ROM): Con sus lineas de direccién (Ag-Ag para memorias de 1K; Aj3-Ag para las de 8K; etc) Con la entrada de seleccién de chip (CS), efectudndose a través de un circuito de de- codificacién mediante el que se garantiza que en ninguna direccién del espacio de direcciones hay colisiones entre dos chips de memoria. En el siguiente caso supondremos que el espacio 263 264 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES de 64K se cubre mediante una combinacién de 8 chips RAM y ROM. 16 Bus de direcciones cPU RW (aRAM) Memoria (64K) Bus de datos Bus de direcciones 14 [ec}4 13 [ec] Chip 3] [Chip 4 RAM || RAM || ROM 16K || 8K || 8K Ineas de direceién de palabra seleccién fisica (en cada chip) de chip EL MAPA DE MEMORIA De las conexiones mencionadas entre la CPU y la unidad de memoria, las tinicas que cambian de un problema multichip a otro son las del circuito de decodificacién que selecciona cada chip. Este circuito resulta de una u otra forma segiin 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 continuacién. El él se observa que, si la palabra I6gica (esto es, la direccionada por la CPU) es $A018, la palabra fisica a la que se accede es la $0018 del chip 4, cuyo contenido es, en este caso $07 (000001 11). Dicha forma de representar mapas de memoria es poco efectiva. En su lugar utilizaremos una descripcién basada en los bits mds sig- nificativos de las lineas de direcciones con las que se divide facilmente el espacio global en regiones de 2k palabras. En la figura que se presenta, ademas de esta forma de representar el mapa, hemos incluido cudles son los valores de las salidas del circuito de decodificacién (CS), CSp, .... CSg). Como se observa, en cada regién s6lo hay un chip seleccionado evitando- se asf los problemas de colisién. MEMORIAS SEMICONDUCTORAS 265 ¢ Chip 1 RAM 16K 16383, 16384 + Chie 2 30767 CEFF RAM 16K Direccién Chip4 — Direccién del te 32768 [R000 | eee ia OM 8K Bar chip _ . Registro de 40959 ay ee direccion 40960 Chip 4 AOIS } RoMskK —* aos [07] 0018 49151 4 . 9152 Chip 5 BEFF IFFF + ROM4K 53247 53248 | Cd) RaMax 37343 [DEFF] 57344 [E000 ) Chip 7 i RAM 4K 61439 [EFF 61440 [F000 : Chip 8 } RAM 4K 65535 | FFFF| Ais | Aig | Ais | iz | C5; | C8, | C35 | C5, | C55 | C55] CS, | CSs | Chip ofof-]-]1 o 0 0 0 0 0 | 16K) of 4 -]o 1 0 0 0 0 0 0 J 206K) 1 0 oO - 0 0 1 0 0 oO 0 0 3(8K) 1[-]o 0 o 1 0 o 0 0 | 4@k) 0 1 0 0 0 0 1 0 0 0 | S5(4K) of[1}o 0 0 0 o 1 0 0 J 6@Ky 1 1 1fo}o o 0 o o o 1. 0 [7@k) 1fr}o 0 0 o o 0 o 14 {| scKy 266 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES MEMORIAS TIPO LIFO Y FIFO Hay, entre otros, dos tipos de memoria de acceso secuencial que son la memoria LIFO (Last In First Out) y la memoria FIFO (First In First Out). Ambas poseen, ademés de la “no opera- cién” (NOP), operaciones de escritura, por la que se almacena un nuevo dato en la memoria, y de lectura, que es una operacién destructiva en el sentido de que desaparece el dato lefdo. El orden de lectura de datos coincide con el orden de escritura en la FIFO y es al revés en las LIFO. Con las memorias LIFO se hacen memorias tipo “pila” y las operaciones se Haman PUSH (escritura o apilamiento de un nuevo dato) y PULL 0 POP (ectura 0 extraccién de un dato apilado). indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — Anilisis de circuitos de decodificacién. ~ Disefio de circuitos de decodificacién. ~Memorias de acceso secuencial 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. Als 4 OF Au—l y & A 0 2 As — 7) loecas 3p Ai2- Ao Aj2- Ao —4-9} ROM [-4-> D7-Do —+—> RAM }+> D7-Do 13") 8kxs | 8 13 "| gkxs | 8 Solucién PI. Als OF Au—l ip>— Ai 0 2 As — ecb tsi Aio- Ao 4-a12-a9 --¢-> Dz-Do Air Ao SEM arr 8 E> D7-Do ROM RAM MEMORIAS SEMICONDUCTORAS — 267 Respecto a la memoria ROM tenemos: S| =Aj5, por tanto, la memoria se selecciona cuando Aj5 = 0. En cuanto a sus Iineas de direcci6n, ay.9 = Aj2.9, donde Ajs.9 son las 16 lineas que for- man el bus de direcciones externo. Respecto a la RAM: CB = dy-dy = (Ays + Aig + Aya) (Ais + Aig + Arg), es decir, la memoria se selecciona cuando Ajs=0, Ajg=Oy Aj3=16 Ayg= ly Aj3=0. El bus de direcciones interno a la RAM esta compuesto por las Iineas aj7.9 = A12-0, €S decir, las palabras de la memoria RAM se direccionan de igual forma que las de la ROM. Asi, el mapa de memoria al que Ilegamos es Ais Ais Ais 0 2 ——— a 1_|_RAM @Kx8) 1 [-2[ RAM Kx) r = 1 - - ROM (8Kx 8) Problema 2.- Determine el mapa de memoria correspondiente al circuito de la figura. Au Ao tr DEC 2:4 CS) Aw—jo 2b Ato- Ao DEC 2:43} Tr AB — > o wre [DEC 2:4 Ato- Ao, Do-Dz 268 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P2. Sean CS), CSy y CS las sefiales de selecci6n de chip correspondientes a ROM, ROM? y ROMs respectivamente. Sean a; las Ifneas de direccién de las memorias M;. Directamente del diagrama del circuito: M, (2x8) = M, (4K x8) La ecuacién para la sefial de seleccién de la memoria es: CS; = AystAytaytAn Las lineas que componen el bus de direcciones interno: 4-0 = Ano M,(2"' x8) = M,(2K x8) Ecuacién para la sefial de seleccién: CS, = Ais t Art Asst Ay) (Ary An + (Ags +Ava) » (Ais + Aig) = = (Ast Aut Ant An) > tant An) Lineas de direccin: 410-0 = Aro-o M, (2'"x8) = M,(2K x8) Sefial de seleccién de chip: _ _ | ae CSy = (Ast Ay t (AystAral - (iste) = AetArs+ An) Lineas de direccién: Ai9-0 = Ayo-o _ A partir de las ecuaciones obtenidas para CS,, podemos evaluar cuando se selecciona cada memoria. Para ello basta analizar para qué combinacién de las lineas de direccién se tiene TS; = 0. Asi obtenemos el mapa de memoria que se muestra a continuacién. Como se observa, M, (4Kx8) ocupa 4K posiciones en el espacio de memoria: $0000 - $0FFF Mz (2K%8) ocupa 12K posiciones en el espacio de memoria: $2000 - $2FFF $4800 - $4FFF $5800 - $SFFF $C800 - $CFFF $D800 - $DFFF Esto quiere decir que aunque el chip fisicamente s6lo contiene 2K direcciones, existen 12K direcciones del espacio de memoria que hacen que se seleccione el chip My. Por ejemplo, si en el bus de direcciones externo se fijan las direcciones $2000, $4800, $5800, $C800 6 $D800, estaremos leyendo una tinica direccién fisica en My, la $0000. M3(2Kx8) ocupa 8K posiciones en el espacio de memoria: $6000 - $67FF $7000 - $77FF $E000 - SE7FF $F000 - SF7FF MEMORIAS SEMICONDUCTORAS — 269 Ais Aig Ap An An 0 0 1 0 0 1 1 0 0 0 1 1 0 i 1 o}| -| - 0 0 1 1]. 0 1 1 Problema 3.- En el mapa de memoria de un microcomputador de 16 lineas de direccién (Ay5/Ao) se han ubicado una memoria RAM de 8K en las primeras 8K posiciones de memoria y una memoria ROM de &K en las ultimas 8K posiciones de memoria. Se desea incluir una memoria RAM de 32K, para lo que se han propuesto los 3 disefios de la figura. Indique en qué medida es correcto cada uno de los disefios y, si es posible, determine qué palabra de la RAM se direcciona cuando Ays.g= $ABCD (hexadecimal) en cada uno de los tres casos. {Qué di- reccién hay que poner en el bus de direcciones para leer la posicién $4680 de la RAM en cada caso? 270 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Au®Ai3 Ag cs cs cs AsAix Ao : Taso a0 > 15>] 814-0 RAM RAM RAM @) (b) © Solucién P3. Caso a) La RAM se selecciona cuando su sefial de seleccién de chip CS = 0. TS = AygAqa + Ayg-A13, por tanto se puede acceder a la memoria en las combinaciones Aj4.Aj3 = 01 6 10, y esté no seleccionada cuando Ay4 Ay3 = 006 11. Se comprueba por tanto, que no hay conflicto de seleccién con las memorias RAM ni ROM previamente posicionadas. En ninguna ocasién se selecciona mas de una memoria si- multéneamente. Las lineas de direccién de la RAM (a4) son: a4 = A15, 43.9 = Ay3.0- Dado que la Iinea A, forma parte simultdneamente del conjunto de lineas de direccién de la memoria y del circuito de seleccién de chip (CS = Ay4®A 3) es necesario hacer ciertas consideraciones. Para los 8K que ocupan las primeras posiciones de la RAM se tiene que a4 = Ays=0 y a3 = Ay3 = 0. Para que CS = 0 serd necesario Ayq = I. 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 a4 = Ajs = 0 pero a3 = Aj3 = , con lo que para que se cumpla CS = 0 se ha de fijar Aj4=0. En este caso se estarén ocupando las posiciones del mapa en que A,5A14Aj3 = 001. Razonando de igual modo se concluye que los 16K de la RAM con las po- siciones mas altas se direccionana para AysAy4A43 = 101 y 110. El mapa, para el caso a) queda: Ais Ai AG 0 RAM inicial del problema ° [1 [7 Fr nueva RAM_ SRAM: $2000 S3FFF 0 0 [Nueva RAM_ SRAM: $0000 - $1FFF : 1 0 a 1 [Nueva RAM_$RAM: $6000-$7FFF__|<- SABCD 1 0 [_ Nueva RAM SRAM: $4000 - SSFFF 1 ROM inicial del problema MEMORIAS SEMICONDUCTORAS = 271 ‘Veamos qué palabra de la RAM se direcciona cuando Aj5.9= SABCD. Para Ajs.9= SABCD se cumple que Aj5.9= 1010 1011 1100 1101, entonces: AjsAj3 = O1 por tanto la memoria RAM esta seleccionada. Por otra parte, Ais Aq3 Aja = 14413 412 = 110=6y Ajo Se direeciona, por tanto, la palabra a4.9 Para leer la direcci6n aj4.9 = $4680 de la RAM, se procede como sigue: Para esta direcci6n se cumple aj4.9 = 100 0110 1000 0000. Entonces: a4 = Ays = I; a3 = Ay3 = 05 a2 = Ay = 05 a). = Ayy.9 = 680. Dado que la RAM debe estar seleccionada para poder acceder a una de sus direcciones internas, se tiene que garantizar que CS = 0, por To que como Aj3 = 0, estamos obligados a que Aj4 = 1. Concluyendo, para acceder a la direc- cin interna deseada, en el bus externo hay que fijar la direcci6n Ajs.9 = SC680. Caso b): La sefial de seleccién de la memoria es RAM: CS = Ao, es decir, se selecciona para cual- quier direccién del bus externo que tenga Ap = 0. Esto implica que para todas las palabras de los primeros 8K y de los tiltimos 8K con Ap = 0, hay conflicto entre la nueva RAM y las me- morias (RAM y ROM) ya existentes. Por tanto, el disefio NO es correcto. Caso ¢): Sefial de seleccién de chip: CS = Ay Ay Any tAis Ava Ars por tanto la memoria RAM se selecciona para Ays Aig Ai3 = no seleccionada para Ajs Aj Ay3 = 0006 111 ‘A partir de esos valores puede decirse que no habré conflicto de seleccién con las me- morias ya colocadas (en los primeros 8K, Ays A14 Aj3 = 000 y en los tiltimos, Ais Aig Ais =H). Las lineas de direccién de la nueva RAM (24.9) Son: 74.9 = Aig.o Por conveniencia, llamaremos Rg a los primeros 8K de la RAM, que se direccionan con 00; R; alos siguientes aj4 ay3 = 01; Ry a los siguientes aq a)3 = 10 y Ry a los tiltimos 11 de donde se tiene el siguiente mapa: -1,01=,1- Oy 10-y esta yg ay aig a Ais Aw Ans 0 RAM inicial del problema ofa N R; 0 0 U Rp 1 E 7 7 Ry 0 a A Ro 1 Ri < $ABCD 7 ; 0 RAM R 1 ROM inicial del problema Para Ajs.9=SABCD se selecciona la seccin Ry de la RAM (Ay4 Ay3 = 01, y por tanto y4 ay3 = 01). ‘Asimismo se tiene Aq. = $2BCD, de donde se deduce que la direccién interna de la memoria a la que podemos acceder es aj4.9 = $2BCD. 272 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Por tiltimo, para acceder a la direccién interna de la memoria RAM a}4.9 = $4680 que pertenece al tramo de Rj s6lo hace falta determinar Ay, que puede valer 0.6 1, como se quiera. Esto es, se accede a la direcci6n requerida tanto para A}s.9 = $4680 como para Ays.9 = $C680. Problema 4.- Se desea transterir el contenido de las memorias Mz y Mga la memoria M; (ver figura). Se dispone de una instruccién: TRANSFIERE ($N° de palabras, $Fuente, $Destino) Dicha instruccién transtiere un bloque, cuyo numero de palabras es el indicado, desde la direcci6n fuente hacia la direccién destino; por ejemplo, para transferir 4K-palabras ($1000) que estan escritas a partir de la posicién $2000 a posiciones de memoria que comiencen en $7000 se pondria: TRANSFIERE ($1000, $2000, $7000). (El sistema interpreta y ejecuta esta instruccién). Escriba el programa necesario para el circuito de la figura. [ AisAn- Ao 13 Solucién P4,- Primero obtenemos el mapa de memoria para conocer las direcciones fuente (de ‘Mp y Ma) y destino (M)). Analizando el circuito combinacional de decodificaci6n: AjsAi4A12 = 000 6 001 selecciona My AisAigAq2 = O11 selecciona M2 ArsAgAq2 = 110 selecciona M3 A continuacién formamos las instrucciones TRANSFIERE (, , ) necesarias. Para ello dibujamos el mapa de memoria. MEMORIAS SEMICONDUCTORAS 273 Ais_Ais_Ai3_Ai2 | Memoria seleccionada 0 "Th 00 M, 16K palabras 1 M 0 4K palabras (Aj; =0) ol My 1 M, rol- - WEL 4K palabras (Ay3= 0) T My 11 1 LS EN 4K palabras (Ay3= 1) 1 My Para transferir a Mj la totalidad de My y Mg hay que utilizar 4 veces la instruccién TRANSFIERE: 1) La primera mitad de My (Ay3 = 0), que son 4K palabras y estén ubicadas entre $5000 y SSFFF, la llevaremos al primer cuarto de M, ($0000 a SOFFF). Entonces: TRANSFIERE ($1000, $5000, $0000). 2) La segunda mitad de Mp al segundo cuarto de M): ‘TRANSFIERE ($1000, $7000, $1000). 3) La primera mitad de M3 al tercer cuarto de My TRANSFIERE ($1000, $C000, $2000). 4) La segunda mitad de Mj al tltimo cuarto de My TRANSFIERE ($1000, $E000, $3000). Problema 5.- Utilizando circuitos de memoria de 8Kx8, realice una asociacién de 32K a partir de la posicién $6000. Solucién PS.- Para ocupar 32K bytes de memoria con chips de memoria de 8Kx8 necesitamos 4 de estos (Mj, Mz, M3, My). Sean GS; el terminal de seleccién de chip y aj.9 sus Iineas de direccién Conectaremos las lineas del bus de direcciones AB = A;5.9 de forma que ay7.9 = Aj2.0, y la selecci6n de memoria la realizaremos con Ay5, Ay4, Ay3. Repartiremos las posiciones de las distintas memorias como muestra la siguiente tabla: 274 _PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Ais Ata Aiz_|_Scomienzo__ Sfinal CS, CS, CS; Cy 0 0 0 0000 1EFF. 1 1 I 0 0 0 1 2000 3FFF | - ee 0 1 0 4000 SEFF | - Horoaot 0 1 1 6000 wRE | M; oO ot ot ot 1 0 0 3000 ««OFFF] Mp 1 0 | 1 1 0 1 A000 «oBFFF/ M; 1 1 0 1 1 1 0 coo 8 «DFFF/ M; ot 1 1 0 1 1 1 £000 FRFF | - Meee et Una solucién para el circuito de decodificacién es: Ats- Ao Problema 6.- Se desea disefar un sistema microcomputador que tenga 64Kbytes de memo- tia, de los cuales, 40K sean RAM y 16K ROM. Se dispone de chips de los siguientes tipos: ROM: 16Kx4 RAM: 16Kx8 RAM: 4Kx8 Disefie el circuito de decodificacién necesario. MEMORIAS SEMICONDUCTORAS 275 Solucién 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 solucién es unir las lineas de datos de dos memorias ROM a las que se accede simul- tdneamente ya que comparten las lineas de seleccién de chip y las de direccién. El esquema es el siguiente: s cs, , c 413.0 ie L___, _») = sees Dro 16K = 4 14 | 16Kx8 fd 3210 a210) cee dy 8 Dro Buscamos ahora la forma de situar 40K de memoria RAM y 16K de ROM en un mapa completo que ocupa 64K. De todas las posibles soluciones adoptamos aquella en la que se ocupa el espacio de me- moria desde las posiciones més bajas para la RAM y las iltimas posiciones de memoria para la ROM. El mapa de memoria queda con la siguiente distribucién: Ais Au Ap Ap G, GG, &, Ss, OVO |oiholyh iirc 1 til Ol tlsltsiiok (sao Oo f nf o0|M, RAM4KS | T 1 O | o LO RAM aT 1 Libre Proietti 1 1 7 7 Ms ROM 16Kx8 1 1 1 1 oO Las sefiales de seleccién de chip para cada una de las memorias las obtenemos con el siguiente circuito de decodificacién: 276 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Op—> CS, Als 1 l CS, Au—o 2 >I DEC243p-——> TS, el - Problema 7.- Se dispone de 3 circuitos de memoria con entrada de seleccién 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 sefiales de direcci6n (A45.9). 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 pa- labras de direccién sobrantes. Diserie el circuito que realiza ese mapa. b) Indique el circuito de memoria y la posicion en dicho circuito que se activa con cada una de las siguientes direcciones ($Ajs.9, en hexadecimal): $0123, $2345, $4567, $6789, $89AB, SABCD, $CDEF y $EFO1. Solucién 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 Ays. Ai4, y A,3. La tabla indica una de las posibles soluciones, donde la memoria de 32K ocupa las po- siciones intermedias. Para realizar el circuito, describamos cémo son las memorias: M_ y Mg son de 8K, por tanto tienen 13 lineas en su bus de direccién (a}.0). Mg es de 32K con 15 lineas de direccién (a) 4.9) Asumimos que todas tienen su sefial de seleccin CSy4i. Ais Ais Aig 0 0 0 ‘8K de My o 01 Libre Onai =o 0 el-lo 0 ol 110 Libre Lo aes Damos dos soluciones para la decodificacién. La primera utiliza un decodificador y la segunda es un disefio a nivel de puertas. MEMORIAS SEMICONDUCTORAS 277 Ais —2 Awu—l BAU WYO DEC 3:8 Las lineas de direccién de My y Mz (a;2.9) se conectan directamente a las lineas Ay.o Para Mg necesitamos 15 lineas A,. En principio hay dos soluciones (en todo caso ademas de Aj3,9 hay que utilizar As 6 Ayq): ay4.0= A140 © a4. = Ais A13.0- Elegimos la primera pues es la que cubre el mapa de memoria: Sui CSm2 ~ Ay-Ao | My Ar-Ao | Mp At Ao | M3 Py A120 > ay > A124 7820 1g fee es qo Fg 8K 8K 32K De acuerdo con lo anterior, pasamos a solucionar el apartado b). A partir de las direc ciones Ajs.o que se nos indicanm tendremos que deducir del valor de Ays Aya ¥ A13 si se se- Iecciona alguna memoria y cudl es. Posteriormente, analizamos el valor de la lineas de direc- cidn de la memoria seleccionada (a}2.9 para My y Mz; ay4.o para M3) para averiguar qué di- reccién interna es activada. En la siguiente tabla se muestran los resultados de dicho andlisis. $A Memoria Palabra de memoria AysAraAisAiz Ais Aza Aso 0000 ese) M aye ayg 87-493. 0123 0010 3004 ~«5 Libre 0100 5 6 7 Ms aqir4yp.g874a30= 4 5 6 7 o1 10 7 8 9 Ms a1g.12411.887.4%3.9= 6 7 8 9 1000 9 ae) M3 414.12 211-8 97.423.9= 0 9 AB 1010 Bc D My ayg.t2ai1-8 87-4 2BCD 1100 D E F Libre 1110 Foo 1 M, 442 41.847.493.9= 0 F O01 ee | eee UL binario hexadecimal hexadecimal 278 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 8.- En una memoria LIFO 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é vacia en el instante inicial, La anchura de la memoria es de & bits. Por su bus de entrada vienen caracteres ASCII con paridad par, concretamente, los valores du- rante las sucesivas operaciones de escritura son: N, E, G, |, C, B. a) Muestre el contenido de la LIFO al realizar la secuencia de operaciones. ) Supuesta vacia la LIFO y siguiendo un proceso de 2 operaciones de escritura y 1 de lectura (después otras 2 de escritura y 1 de lectura, ...), indique la secuencia de entradas a la LIFO para que en la pila esté escrita la palabra FINAL en algin momento. Solucién P8.- Para conocer el contenido final de la pila vamos a obtener los resultados parciales después de cada operacién 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 operacién y debajo el dato de entrada (X significa que no importa el dato), instante inicial | _y —| [| , —| NOP PULL PUSH > x x ie NOP NOP PUSH > x x B b) Resolvemos este apartado de forma equivalente al anterior aunque nos lo planteamos al revés, es decir, conocemos la palabra que debe estar almacenada como tiltimo paso de la secuencia de operaciones y vamos hacia atrés evolucionando operacién a operacién. Sabemos que la secuencia de operaciones es alternativamente dos operaciones de PUSH y una de PULL. ' NOP: no operacién. MEMORIAS SEMICONDUCTORAS 279 PUSH PUSH PULL PUSH FINAL < INAL < NAL INAL F 1 ag I PUSH PULL PUSH PUSH PULL < AL NAL AL L< i N x N A 5 PUSH PUSH <——— L <— Vacia A En definitiva, la secuencia de datos necesaria para utilizar en la secuencia de operacio- nes es: L, A, X, A, N, X, N, I, X, I, F. Y como resultado de la octava operacién de escritura (PUSH), que es la 11 operacién, se consigue tener la palabra “FINAL” en el contenido de la LIFO. Los caracteres ASCII con el bit paridad par como bit mas significativo que aparecen en este problema son (en hexadecimal): (Aa Salem 942) C$C3) SCS) ESCo) G:$47 «i: $C9_—L:SCC_ NN: SME PROBLEMAS CON SOLUCION RESUMIDA Problema 9.- Determine el mapa de memoria del circuito de Ia figura. Indique, si es posible, qué palabras de la RAM se direccionan cuando Ays/Ap = $4ABC y Ay5.0 = $8000. AB | ws ob—__| & Ais—j1 Ais-AizA1o- Ao} 43 RAM F-4->Dy- Dy An —o 2 13 8 pec 243P | 8Kx8 280 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P9.- E] mapa de memoria del circuito es: Ais Aig Ap Ai An o|-|-]- C 0 > 2 1 TRE aE SOOO 0 1 | ERT sooo 0 1 1 0 ° [A gS 9000-57 ay ap= 5 TBOOSTEFF 5 1 [ Ais9=$9800-59RFR 12-0°51800-S1 FFE 0 1 1 ' 0 0 [ARE SCO00-FCTFFTAIE=S1000-S17FF| 0 1 i] - 1 : : donde las lineas de entrada de la RAM, aj9.9, son: ay9=Aq5, 11= Ala, 210.0 = Ajo.o- Las palabras de la RAM que se direccionan cuando el bus extemo Aj5.9 contiene las direcciones $4ABC y $8000 son: Si Ajs.o=S4ABC —— aj2.9 = $02BC Si Ajs.9 = $8000 No se selecciona la memoria RAM, por lo que no se accede a ninguna direcci6n 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. MEMORIAS SEMICONDUCTORAS — 281 Ais —| 0 2 F & B Au— b+ F D AB— 4 las CS ds} > E ay dy LF > B Apy—f Au-ar di -—> 0 A dof > 1 ROM (2x4) 2 ks CONTADOR ea A os mop-4 bg, B F c Solucién P10.- Las secuencias que se obtienen a Ia salida de la ROM dependeréin de los valo- res de a3.9, Las Iineas aj y ag estén fijas a Ay; y Ag mientras que a3 y ap, 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 R, Secuencia de Salida a3) ay a dy dy dy dg Ay Ajo=00 0 0 0 0 (010120110) 0100 ina 1000 O00 0 1100 1010 AyAw=01 0 001 0010 0101 1101 1001 0001 ieee oe rol AyAj=10 0 0 1 0 ridd Opel 1-0 1110 fod 0 0010 it sinei, 0) rid AnAp=il 0011 1o1t ort) 1o1t 101! ool1l rida Ip 00 282 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 11.» Utilizando memorias 4Kx4, disefie un circuito de decodificacion que permita situar 16 Kbytes a partir de la posicién $1000. Solucién P11.- Solucionamos primero la obtencién de memoria de 8 bits por palabra a partir de memorias de 4 bits por palabra. los cs | os 430 413.0 _ > 14 chem 2K} Las cuatro memorias se colocarén a partir de la direccién Ay5.9 = $1000, es decir: Ajs=0, Ajg=0, Aj3 =0, jz = 1 y Aj1.9 = 000 (en hexadecimal). De esta forma, las sefiales CS; de cada memoria deberén activarse segiin la siguiente tabla: Als Au An An cS) SS, Sy 0 0 0 0 1 1 1 1 0 0 0 1 M 0 1 1 1 0 0 1 0 M; 1 0 1 1 0 0 1 1 M; 1 1 0 1 0 1 0 0 My 1 1 1 0 restantes combinaciones : 1 1 1 1 El circuito de decodificacién es el siguiente: Als \ Ce Ay 5 ccc eee =] 2bh—> GS, aes ap—> CS; ' 4p—> TS, A Oe ee pEc3:s 7P— Problema 12.- Un sistema basado en el microprocesador R65C02, dispondré de 3 RAM de 8Kx8 y una EPROM de 8kx8. Disefie el circuito de decodificacién correspondiente. MEMORIAS SEMICONDUCTORAS — 283 Solucién 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 decodificacién. Hemos colocado las cuatro memorias una a continuacién de otra empezando desde la primera direccién del mapa completo. | 1 Ais — 3 Aw — i sp As—jo gf DEC 3:8 7)— Para este circuito de decodificacién la mitad del mapa queda vacfa, Sélo se ocupan los primeros 32K del mapa. Otra opcién en donde se ocuparfa el mapa completo de los 64K, ya que cada una de las memorias cubre 16K, es la siguiente: C — Air- Ao. Ais—1 Ayo DEC 1-2 Ar- Ao 284 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 13.- El mapa de memoria de un microprocesador con bus de direcciones de 16 bits esté ocupado por 8K ROM y 20K RAM. Disefie el circuito de decoaificacién necesario si se dispone de chips de 8Kx4 ROM, 16Kx4 RAM y 4Kx8 RAM. Solucién P13.- En primer lugar, hay que obtener memorias de 8 bits/palabra a partir de las de 4 bits/palabra (véase problema 11). Una de las posibles soluciones serfa situar las 4 memorias de la siguiente forma: An Ais Ai Al 0 0 0 1 0 0 1 1 1 1 restantes combinaciones Circuito de decodificacién: Ais Ay 1 jo ye ol DEC 24 Mj: RAM (16Kx8) Mg: RAM (4Kx8) Ms: RAM (4Kx8) My: ROM (8Kx8) vacia P EN Oh—> TS, Api 1 TS; DEC 2:4 3 Problema 14.- Utilizando circuitos de memoria 2Kx4, realice una configuracién 8Kx8 que ocupe 8K posiciones a partir de la 4096,;9 en un mapa de memoria de 64K. Solucién P14.- Una vez que tengamos todas las memorias de 8 bits por palabra para lo que hemos tenido que hacer una asociacién de memorias de la forma en la que se hizo en problemas anteriores, hacemos la distribucién de estas memorias a partir de la direccién 4096, es decir, Aj5.9 = $1000 con lo que: Ays = El mapa de memoria es: Aig= 0, Aj3 =0, Aja = y Aj}.9 = 000 (en hexadecimal). MEMORIAS SEMICONDUCTORAS — 285 $Ajs.0 | Ais Ai Ais Ai An Atoo CS, CS, CS; CS, O--- 0 0 0 0 1 I I 1 ooo [0 0 0 1! 0 ao | M oO 1 1 1 0 0 0 1 1 A100 M2 1 0 1 1 a o 0 1 0 0 ajoo | M3 1 1 0 I 2FFF | 0 0 1 0 1 ao | Ma 1 ot ot 0 3000 a restantes combinaciones : roro4aod FFFF El circuito de decodificacién: Ais—f2i Au r] Th An? IE RAM Ay —]1 3p > GS Aw Ao pFA10°90 > Po“ Dy " =e ce 2Kx8 Ayo fe > CS, * peca:s7>— Problema 15.- Disefie un circuito decoditicador que permita situar 20Kbytes de RAM a partir de la direccién $5000 dentro de un mapa de memoria de 64K. Para ello se dispone de chips de 8Kx8 y 4Kx4. Solucién P15.- En primer lugar se obtienen todas las memorias de 8 bits por palabra realizan- do una asociacién para los casos en los que sea necesario. Damos a continuacién, el mapa de la distribuci6n de las memorias. Todas estén conse- cutivamente dispuestas a partir de la direccién $5000 (Ays=0, Ayg=1, Aj3=0, Aja=1 y Ajy.0 = 000 (en hexadecimal). Mapa de memoria: Ais Aw An An a & 0 1 0 1 M) (4Kx8) 0. 1 1 ay1-0 = A110 eae! i - | MQ@Kx8) 1 01 ag =Al2.0 1 0 0 - | M3(8Kx8) 1 1 0 ay2.9=Aj2.0 restantes combinaciones Libre 1 1 1 286 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Circuito de decodificacién: An-fi hy 2l Tp Ay —42 al > CS, 3 fost Aw —I a S Ap yo gh [DEC 3:8 7>— Problema 16.- Se dispone de RAMs de 8Kx8 y de 4Kx4. En una CPU de 16 lineas de direc- cidn y 8 de datos: a) Disefe con puertas logicas un banco de memoria de 28K palabras, a partir de la di- reccién $4000 del espacio de direcciones. ) Indique la posicién fisica correspondiente a las direcciones $4567 y $CAFE en el bus de direcciones. ¢) EQué direccién hay que poner en el bus de direcciones para leer la posicién $0123 de una de las memorias RAM de 4kx4? d) Indique los cambios que habria que hacer si el bus de datos fuera de 4 bits. Solucién P16. a) Primero asociamos las memorias necesarias para tener todas las memorias de 8 bits por palabra: CS cs | oS alo — El mapa de memoria que proponemos es: Ais Au An Ap BT 0 0 - - Libre (16K) 1 il 1 1 0 1 0 - M, (8Kx8) 0 1 1 1 0 1 1 - Mp (8Kx8) 1 0 1 1 1 0 0 - M3 (8Kx8) 1 1 0 1 1 Oo 1 oO My (4Kx8), 1 1 1 0 1 1 1 1 restantes combinaciones Libre (20K) MEMORIAS SEMICONDUCTORAS — 287 El circuito de decodificacién realizado con puertas se muestra a continuacién: Ais zl GB, Aw a, cs; As TS, b) Las direcciones de memoria lefdas para las direcciones propuestas en el bus exterior de Ifneas Ay5.9 son: Aj5.9 = $4567 M; ha sido seleccionada a}.9 = $0567 A\5.9= SCAFE Ninguna memoria seleccionada c) Para leer la direccién $0123 de de las memoria de 4Kx4 tendrfamos que poner en el bus de direcciones la palabra As. = $A123. d) Para tener un bus de datos de 4 bits por palabra, una solucién es conectar al bus de datos s6lo 4 de los 8 bits que tenfamos antes. El mapa anterior es valido pero se desaprovecha la mitad de cada una de las memorias. Otra opcisn es utilizar sélo memorias RAM de 4Kx<4. Asi, para sustituir las memorias Mj, Mp y Ms anteriores que eran de 8K, hacemos una asociacién de dos RAM de 4K para cada una de ellas M; (con i=1, 2, 3) como se indica a continuacién: An >I Sia L cs Ao >} Mia keg & Kx ce TSin A = Aro M, [> Pro ds 13 | geal 4 Ano My 4AKx4 288 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 17.- Disefie una memoria tipo LIFO de 8 bits de anchura y un fondo de 6 en los siguientes casos: a) Con registros de carga en paralelo. ») Con registros de desplazamiento. Solucién P17. a) Dado que la memoria LIFO tiene 8 bits de anchura y un fondo de 6, el sistema debe disponer de 6 registros con carga en paralelo de 8 bits cada uno de ellos. La conexién que se eva a cabo entre los distintos subsistemas es la siguiente: 8 18] ——1 : PUSH o SF {Loan R, § PULL| outs an 8 0 Is es st tfroan rr, 4,-——_| 7 U7 8 oO ITT Hoan R3 t SI 1 8 oO } fy pees Rs — 1 8 0 t{LoapRs — iF 1 8 oo al T LILoap Re LT b) Se usan 8 registros bidireccionales de 6 bits. Las operaciones de PUSH/PULL son operaciones de desplazamiento a derecha/izquierda, respectivamente, y la salida de la LIFO es. la palabra formada por los bits situados en uno de los extremos de cada uno de los registros. oe a MEMORIAS SEMICONDUCTORAS 289 | OUTIS8) in| [Re L| RI R Cn =o HI R, © SHR(R,0) | {RR}... R8) (desplazamiento a derecha) RG =0 PUSH PULL — PUSH PULL | LR Ry JEEOUT: OF 0) 00) o 1 jot 1 0 /1 0/R, C SHLD HI (desplazamiento a izquierda) Capitulo 11 NTRODUCCION A LOS SISTEMAS DIGITALES El incremento en la complejidad de los circuitos digitales, provoca que las técnicas de descrip- ci6n y disefio estudiadas hasta aqui (maquinas de estados finitos, K-mapa, ...) sean poco ttiles. Esto viene motivado, fundamentalmente, por el elevado niimero de estados y seffales que po- seerfa un circuito de estas caracteristicas. Por tanto hay que introducir herramientas alternati- vas que permitan el manejo de estos “circuitos complejos” a los que nos referiremos en ade- lante como sistemas digitales. SISTEMAS DIGITALES A NIVEL RT Un sistema digital se compone fundamentalmente de dos partes: unidad de proceso, donde se realizan operaciones sobre datos de entrada, y unidad de control, capaz de recibir informacién sobre la operaci6n a realizar y generar la secuencia de instrucciones que se deben acometer so- bre la unidad de proceso. En esta obra se tratardn sistemas digitales sincronos donde una sola sefial actia de reloj de ambas unidades. Xin ———}__ Unidad Zout rel x: cualificadores 0 entradas de control = 7y oh z: comandos Unidad D:datos de En la siguiente tabla aparece un estudio comparativo entre sistemas digitales (SD) y cir- cuitos digitales (CD). La diferencia esencial entre ellos es la unidad de informacién: la palabra (0 conjunto de bits) para los SD, y el bit para los CD. De aqui que el funcionamiento de los SD sea descrito mediante la transferencia de las palabras o datos a través de los elementos que los almacenan (registros). Para ello se utiliza el nivel de descripcién llamado “nivel RT” (Register Transfer). 291 292 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Circuitos ‘Sistemas Informacién ol palabras Nivel/Lenguaje de conmutacién RT Funcionalidad FSM ‘operaciones | Componentes puertas y biest. MUX, registros, Conexién Tineas Buses ‘combinacional y procesado de datos Organizacién almacenamiento y control Elnivel RT trata a todos los dispositivos capaces de almacenar informacién como regis: tros. Asi, un biestable se considera como un registro de un bit; un contador es un registro con capacidad de incrementar o decrementar su dato; una memoria es un banco de registros cada uno identificado por un nombre I6gico (direccién); 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 tiltimas pueden ser de tres categorfas: —Escritura: cambio de dato almacenado en el registro (R). Es una operacién secuencial y se realiza cuando el reloj esté activo. Su formato es: R € nuevo dato — Lectura: salida de! dato almacenado. Es una operacién combinacional. Su formato es: Dout = dato presente —Control: establece cémo opera el registro (esto es, bajo qué valores I6gicos de las sefiales de operacién “s” se escribe y se lee). Su formato es f(s): operacién (f es combinacional) Las transferencias de datos entre los registros se realizan mediante Iineas que los inter- conectan, Este conjunto de lineas se denomina bus. En un bus se pueden realizar dos operacio- nes de interés: ~ Lectura del bus, en la que algdin registro lee el dato que contiene el bus para al- macenarlo (corresponde a una operacién de escritura en el registro) ~Escritura en el bus, en la que algiin registro “vuelca” su contenido al mismo (ope- raci6n de lectura en el registro) Existen diversos métodos de interconexién para los registros, dependiendo de las caracteristicas de lectura/escritura de estos. Principalmente los métodos son por multiplexado/ demultiplexado y por conexién via alta impedancia (buses triestado). En los problemas se detallan estos métodos. DISENO DE SISTEMAS DIGITALES EI disefio de sistemas digitales es una tarea compleja para la que no existe ningtin método sistematico. Sin embargo, se pueden aplicar algunas gufas de disefio que faciliten el trabajo, como la de seguir una metodologfa top-down. En primer lugar, se especifica el conjunto de instrucciones que debe realizar el sistema. Se propone, seguidamente, una arquitectura para \ INTRODUCCION A LOS SISTEMAS DIGITALES 293 la unidad de datos que permita realizar el conjunto de instrucciones anteriormente especificado. A partir de aqui, 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 operacién y control del sistema digital. Por tltimo se realiza la unidad de control que ejecute dicha secuencia. En este tema de introduccién no se trata el disefio de unidades de control complejas que es estudiado en el tema siguiente. DESCRIPCION FUNCIONAL DE SISTEMAS DIGITALES. La descripcion funcional de los SD requiere de herramientas que especifiquen la operacién 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 accién condicional y cajas de decisién, agru- padas en bloques ASM. Cada bloque consta, al menos, de una caja de estado y puede poser un ntimero indeterminado de cajas de decisién y accién condicional. Tanto la caja de estado como la de accién condicional representan en su interior las acciones o salidas activas del SD. La caja de decisién, en cambio, incluye las variables de entrada al SD. Acciones Acciones | Caja de estados <> Caja de decision 7 Resins) Caja de accién jones: condicional Bloque ASM De forma alternativa, se puede utilizar un lenguaje de descripcién de hardware (HDL). EL HDL que utlizamos aquf es uno muy simple y tiene s6lo propésitos docentes. El formato general de instruccién 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 proxima instruc- cién (J, K, ...). A este formato general pueden hacérsele algunas simplificaciones. N_ condicién1 accién I/.... J condicién2 accién 2/.... K indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — El nivel RT. — Interconexién mediante buses. — Técnicas formales de descripcién (cartas ASM y lenguaje HDL). — Disefio de sistemas digitales (con unidades de datos simples 0 propuestas ). 294 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES PROBLEMAS RESUELTOS Problema 1.-Compare las siguientes declaraciones RT: aA+B: EC+D dAeB ECCAD D)A+B: ECVD ee eee o)C+D: EC-A+B NAeB: E€&CxD Solucién P1.- El convenio para declaraciones RT establece 1a forma general f (X;,Xq, ...): RD G(RF}, RF...) donde: Xj, Xz,..._ son variables I6gicas f() es una funcién combinacional, RD, RF), RF), ... son registros (destino, fuente 1, fuente 2 ...) y G() es una operacién aritmético-Iégica entre los datos de los registros fuentes. Entonces: ~ El simbolo “+” que aparece a la izquierda de “:” significa una operacién OR entre las variables correspondientes (A y B en los casos ay b, 6 C y D en el caso c). Andlogamente, “e” representa la operacién AND entre A y Ben los casos d, e yf. ~ Ay B son variables légicas en los casos a, b, d, e y fy son registros en el caso c. Al tevés ocurre con C y D (variables en c y registros en los dems casos). ~ Para distinguir entre suma aritmética y suma I6gica (OR), se reserva “+” para el primer caso y “V” para el segundo (casos a y b respectivamente). Andlogamente, en caso necesario, “s” y/o “x” se reservan para la multiplicacién aritmética y “A” para la operacién AND. El va- lor almacenado en E es, por tanto, a)E@C+D_ con“+” como suma aritmética. b)E,ORCG,D) Vi ©)E€-A+B con “+” como suma aritmética dE; AND(G,D) Vi e,f)Ej<—CxD_ con “x” como producto aritmético. — Las dimensiones de los registros son: E{n}, C{n] y D[nj en los casos a, b y d. E{n}, An] y Bin] en el caso c. E(2n}, C[n] y D{n] en los casos fy e, ya que el producto aritmético de dos niimeros de n bits, da como resultado un niimero de 2n bits. Problema 2.- En la unidad de datos de la figura se activan las sefales de acuerdo con la siguiente secuencia de control: ciclo] EN d dy $1 So 1 Ou te070 2]; 1141 3100001 OO i i) 5|]10000 6/O1011 C)sn i INTRODUCCION A LOS SISTEMAS DIGITALES 295 Describa qué operaciones se hacen (a nivel RT) asf como la operacién giobal en los seis ciclos de reloj. ai 4 pec! dpfo 74 2] I EN Solucién 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 djdg = 1 1 el registro seleccionado es D. Por otra parte S}So = 00 lo que implica que el dato que se encuentra en el bus de entrada es [A]. Asi la ope- raci6n realizada en este ciclo de reloj es D — A. Ciclo 2. En este ciclo EN = I lo que implica que nigin registro tiene activa la sefial de escritura. No se realiza ninguna operacién entre registros. Ciclo 3. En esta ocasién EN = 0 y djdg = 00 luego el registro seleccionado como destino es el registro A. Como $)Sq = 01 el dato que se encuentra en el bus de entrada de los registros es [B] y la microoperacién que se realiza es, por tanto, A B Ciclo 4, Para este ciclo encontramos activas la sefial EN y ddp = 01 (se selecciona como destino el registro B), mientras que S;Sq = 10 y por tanto el dato en el bus ser4 [C], la micro- operacién entonces es B < C. Ciclo 5. Al igual que en el ciclo 2, no se realiza operacién alguna entre los registros. Ciclo 6. En el iiltimo ciclo la sefial EN esté activa y con dydg = 10 se activa escritura de C. Como $;Sq = 11 el dato en el bus es [D] y la microoperacién realizada es CD. En resumen, la secuencia de microoperaciones es: LDeA 2. NOP 296 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES. 3.ACB 4BEC 5. NOP 6CeD (en, Globalmente, por tanto, la operacién realizada es: D€- Ay A€-B€—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: ACA TEQ: Ag AGB Disefie una etapa del registro A de n bits con biestables JK. in P3.- Las operaciones pueden traducirse a las de una sola etapa Aj: TNOR: A,@ A+B TNAND: Aj — Ave B, TEQ: A, A,OB, Entonces en funcién de los valores de TNOR, TNAND, TEQ y B; y del valor actual de ‘Aj, podemos escribir el mapa de Karnaugh para el valor préximo de A; (tabla de estados de la Solu etapa j) }INOR TNAND TEQ AABN 000 001 O11 010 110 111101 100 (Aj= 4) oo} of} af-fir}-}-)}- fu ofofo}-fr]}-]-]- fo uli jat-}of-]-]- fo lof i fo}-fi}-]|-]|- fo Qj=A)*B; (*=NOR, NAND, EQ) A continuacién pasamos a la tabla de excitacién donde consideraremos que la transfe- rencia de estado es Ilevada a cabo por biestables JK. NOR TNAND TEQ A ABK ‘000 001 011 010 110 111 101 100 (Aj= 4) 00} o- | 1] -- | | - | -] - ] a o1]0- J o-}-- Ji} | -]- fo IN} 0} 0} | -1 fp f+ pe fa 10] 0} -1] -- | -0} --|-]-]-1 INTRODUCCION A LOS SISTEMAS DIGITALES 297 de donde deducimos las ecuaciones de excitacién: Jj = TNAND + TEQ - Bj + TNOR - By Kj = TNOR + TNAND - B; + TEQ - B; Por tanto, el circuito correspondiente a la etapa j es: TNAND TEQ r Dp a 1, By J kK gq? TNOR Problema 4.-Se definen las siguientes operaciones de desplazamiento a la derecha: — LSR (Logic Shift Right): Se trata del llamado desplazamiento légico, en el que el bit de entrada serie es 0. — ASR (Arithmetic Shift Right): Se trata del llamado desplazamiento aritmético, en el que el bit de entrada serie es el bit de signo. — ROR (Rotation Right): Se trata de la llamada rotacién, 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. ¢) Realice un circuito basado en 74198 que permita realizar las siguientes funciones : X70 yyy MR S, S Operacién Der Da ” : == O-- Puesta a 0 asincrona aR Ty 100 | Inhibicisn 7 s. 101 Desplazamiento izqda. ee 110 Desplazamiento dcha. 8 ck ‘ 111 | Cargaen paralelo O79 Solucién 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, Bp.) ROR: SHR(B, Bo) 298 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Los circuitos que corresponden a cada una de ellas son: LSR ASR ROR b) En Jos tres casos serd necesario utilizar el circuito 74198 en modo de desplazamiento ala derecha, para ello se fijaran las entradas MR, S, y Spa 1, 1 y Orespectivamente. La entrada Dg, deberd ser conectada a 0, By. 6 Bo segtin la operacién que se desee realizar. En los circui- tos que se muestran a continuacién, las siglas NC indican "no conectado" LSR: SHR(B, 0) ASR: SHR(B, By.) | ale # g yo 9 y @ z & ROR: SHR(B, Bo) B 74198 Oo (= Bo) c) Ya que la tinica diferencia para los tres casos (apartado b) radica en la entrada Dy, bastard multiplexar a dicha entrada la sefial correspondiente: o—jo 0 Oj} 1 aD Oy 1 Ao INTRODUCCION A LOS SISTEMAS DIGITALES 299 Alternativamente, podemos obtener Dg, como funcién de Ay, Ag, O7 y Op: 07 09 A, AR_02_OL_ 1110 oo} Oo; OJ O} O of o]o [ELD] — Pa=Ai0#% Aor ujo {a} hje wf o [uff o Problema 5.-Se dispone de cuatro registros con datos (Ro, Fry, Re y Rg) y una ALU, todos de n bits. Se desea disefiar 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, A; y Ap; el de B, por B; y Bo; y el de destino, por D; y Dp. Muestre la estructura del sistema e indique como se realiza una operacién en los siguientes casos: 1) Un esquema de conexién basado en multiplexado, usando registros con terminales de entrada y salida separados. 2) Un esquema de conexién basado en buses triestado, usando registros con termina- les de entrada y salida separados. 3) Usando registros con terminales de datos bidireccionales. Afiada en cada caso los dispositivos que se necesiten. Indique, también en cada caso, la secuencia de activacién de las sefiales de control de los dispositivos indicando de dénde provienen. Solucién PS. 1) Soluci6n basada en multiplexores. Los registros utilizados son como el que se describe a continuacién IN { w=1:REG € IN w— REG[n} w=0:REG € REG | OUT =[REG] OUT Los datos A y B se obtienen multiplexando los datos de los cuatro registros Ro, Ry, Ry y Rj. El destino se obtiene decodificando D,Dp, lo que permite activar la escritura w de sélo uno de los registros. 300 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Entonces, la unidad de datos es: a ~ El n n n n 1 3 DEC?| Dofo24 i} ~—E—) y | Y y R wR, lw Ry lw Rs At 23 B—-,o 1 2 3 Ag—}o 1x MUX 4:1 By—0 nx MUX 4:1 a D A B ALU SEL_OP Cada operacién aritmético-I6gica se selecciona con SEL_OP y se ejecuta en un ciclo de reloj (una microoperacién): 1.Rp Ra *Rp Las sefiales a activar son SEL_OP (que selecciona la operacién +), y la combinacién adecuada en las sefiales Ay, Ag, By, Bo, Dy y Do para seleccionar los registros fuente y destino deseados. Es conveniente (aunque no obligatorio) introducir una sefial de habilitacién de es- critura (EW) para que sélo se escriba en un registro Rj cuando se desee. 2) Solucién basada en buses triestado. Los registros que utilizamos en este caso son: IN a w=0:REG « REG 1:REG¢IN Po] _ REGInj oo Se permite r= INTRODUCCION A LOS SISTEMAS DIGITALES 301 Entonces la unidad de procesado: Tn? Ro R3 EW } of — a w. p,_ 3S 3 DEC?}-> 2 Do—fo 2:4 IL> wy, Of > wo CLD peci[— ? SEL_OP AgBo—o 2:4 1-— 11 ae Get El registro RT es necesario para almacenar el dato B temporalmente. Puede obtenerse a partir de los registros que estamos utilizando sin més que fijar a I la entrada de control de lectura. " REG{n} ouT. Cada operacién requiere dos ciclos (dos microoperaciones): LRTCR, 2.Rp Rp * RT Es obligatorio usar EW, debe ser 0 en la primera microoperacién y | en la segunda. Se necesitan tres buses de datos: — Uno triestado, con 1 Ifneas, desde R; a RT y dato A. — Dos esténdares, con n Iineas, desde RT al dato B y desde la ALU a Rj. En cuanto a la generaci6n de las sefiales de lectura, el controlador debe poner: AB, = B; en el ciclo 1 AJB, = Aj en el ciclo 2. 3) Solucién basada en registros con I/O. Utilizamos registros con terminales bidireccionales (I/O), por lo que la conexién es a través de un bus triestado. 302 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES zal RECT 00 REG HI ol DAT entradas a 10 REG [REG] Dan 11 | prohibida prohibida Como por un bus s6lo puede haber un dato y necesitamos tres (A, B y A * B), se nece- sitan dos registros més para el almacenamiento temporal. De estos, uno se destina a almacenar tun 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 Rp 2) almacenar el resultado A+B, en cuyo caso el dato-operando A es suministrado por Ra Solucién 1): om 7 4 sw ore ro | er, | Ge | RRs SEL_OP La salida de la ALU debe poser buffer triestado con el fin de que no haya problemas de cableado con el bus triestado cuando Ry o Rg viertan datos. El control de los buffers (CB) debe activarlo la unidad de control cuando realice la escritura en Rp. - Una operacién requiere tres microoperaciones: 1.T, OR, 2.Tg Rp 3.Rp —Ta*Tp Es obligatorio incluir EW, que s6lo se activaria en la microoperacién 3. En lo demés, la generacién de w es como en los casos anteriores. Ieee eat eat fate anne ei ee tee enna eee rede e ane ane anR eRe eared ed an av anv ee eee ceeded ag agente rE eee cee eee ea ee en nn nT INTRODUCCION A LOS SISTEMAS DIGITALES 303 La generacién de las sefiales de lectura rj es como la discutida en la solucién basada en buses triestado. Solucién 2) ea 4 4 ry Ro | rt Ri re PR | Sr Rs El registro Tp debe tener salidas triestado para su conexién al bus. Una operacién requiere tres microoperaciones: 1. Tg Rp 2.Tp Ra*Tp 3.Rp —Tp La generaci6n de las sefiales de lectura r, y de escritura w, son como en el caso anterior, siendo obligatorio incluir EW (a activar en microoperaci6n 3). Problema 6.-Obtenga la carta ASM para un biestable JK. Solucién P6.- Este es el caso mas sencillo de realizacién de cartas ASM. Se trata de describir un biestable como un sistema con dos salidas (acciones en la carta) y dos entradas. IK] Q @ J oo] 4 a ol a 10} 1 oe iia ® ck 304 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Como puede observarse en la figura anterior cuando el biestable almacena un 0, la salida q se encuentra activa permaneciendo en esta situacién mientras que J = 0. Si J = 1 se produce un cambio. Las entradas del biestable pueden ser ahora JK = 106 JK = 11, por lo que, en el ciclo siguiente, se activard la salida q (2° bloque ASM). Esta nueva situacién se manten- dra hasta que la entrada K se active. Problema 7.-Construya la carta ASM del circuito secuencial dado en las siguientes tablas. Asimismo describa ambas maquinas usando el lenguaje HDL. a) x b) XX Zo2 aaex_0_t ai oo_or 10 2225 00 |00,0 }01,1 00] 00} 10] 10} 00}; 1 01 01 }11,0 fo1,1 o1f 00 | 01 for joo} 1 10 11 }10,0 }11,0 for | or }or for | 0 00 10 10,0 }00,0 10) 10} 1 for} io} ort Qi Qo. z Q1Q0 Solucién P7. a) Cada estado de la tabla dard lugar a una caja de estado en la carta ASM; las sefiales de entrada al circuito (en este caso s6lo hay una: X) dardn lugar a posibles cajas condicionales; las salidas tipo Moore serin sefiales a activar en las cajas de estado, mientras que las salidas tipo Mealy se activardn en cajas de accién condicional. xe 00 0 1 Descripeién HDL: 0 x - 0 o1 x 2 1 x - 3 : : x oz 1 2 xX - 2 x - 0 i 3 x - 2 oO L woo 10 0 oe 1 INTRODUCCION A LOS SISTEMAS DIGITALES — 305 b) Es una maquina de Moore, por tanto todas las salidas se activardn en cajas de estado. fd 2 Zs 00 : 1 Descripeién HDL: 0 Xo ZZ3 0 xo ZiZ3 2 1 Xo ZZp 0 xo ZiZz 1 2 Xo ZoZ3 2 Xox 223 Xoxy ZZ3 1 3 toe 1 Problema 8.-La figura muestra una carta ASM de un sistema asi 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 X, se hace 1. Especifique todos los errores de esta carta comentandolos brevemente. Rp Wi 2 A 306 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P8.- Hay cuatro errores en la carta ASM. Estos se muestran en la siguiente figura en tramos més gruesos. Error (1): El camino “O” nunca se toma, ya que si x - y = 1, x + y no puede valer 0. Error (2): Se trata de un bucle infinito. La estructura de este bucle es, en general, correc- ta aunque en este caso es errénea. Esto es debido a que segin el enunciado del problema, los valores de x e y permanecen consantes desde que X, se hace 1. Asi, 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 simulténea de los registros A y B (no es posible pues hay un nico bus de datos). Ademés, A es leido y escrito en el mismo ciclo; esto es un error ya que A tiene V/O bidireccional. INTRODUCCION A LOS SISTEMAS DIGITALES 307 error (3) Problema 9.-Se desea construir un sistema digital que realice todas las operaciones posibles de suma y resta entre dos numeros 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, sdlo la unidad de proceso y el conjunto de microoperaciones que realiza). Solucién P9.- Supongamos que el sistema inicia su operacién cuando se activa la entrada Xs, y, para avisar de la finalizaci6n, activa la salida FIN. Se puede entonces hacer una distincién clara entre la unidad de control y la unidad de procesado del sistema digital. La primera recibe la sefial de inicio, Xs, y el c6digo de la ope- raci6n a realizar (a través de IR) y activa la sefial de FIN y las sefiales de control necesarias para que la unidad de procesado ejecute la operacién (Z). La segunda procesa los datos A y B y almacena el resultado. 308 +PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES FIN Lp | U. PROCESADO Zz CONTROL A IR >| B +. TS usuario sistema Como componentes claros de la unidad de proceso estan 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: eA AB *Be A+B eA AB *BeA-B *Ac-AtB Be -At+B *Ae-A-B °Be-A-B Por lo que sélo se necesitan 3 bits para codificarlas. Una posible arquitectura de la unidad de proceso que posibilite la ejecucién de estas ma- crooperaciones 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 UNIDAD DE PROCESADO PEELE ELE couse INTRODUCCION A LOS SISTEMAS DIGITALES 309 Se realiza a continuacién una descripcién de todos los elementos que componen esta unidad con el objeto de eliminar posibles ambigtiedades en el funcionamiento de los mismos. Registro X (X es Ao B) Registro T | IN [Rx DD <—>| x ne ' Wy Rx Wx | Xe | DD= 0-0 [xX [ar oo1 1 0 oa DD | Entrada X__| {X) Prohibida Registro AC (ACumulador) \" ‘ac Rac _Wac! TT oY out; 0 0 we} AC Re wae 1 o 1 0 O 0 i Otras Prohibidas Speers OURS 0-0 : (No importa) o 1 | IN,-IN, 1 0 | IN| +IN; 11 | Prohibida OUT Para la unidad de procesado propuesta y para cada una de las macrooperaciones defini- das, se obtiene el conjunto de microoperaciones 0 “pasos” necesarios a realizar en cada ciclo de reloj, para obtener la ejecucién de cada macrooperacién. Por simplicidad, s6lo 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 CIRCUITOS Y SISTEMAS DIGITALES operando. Nétese, ademas, 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, simulténeamente, ponemos a 0 el acumulador. 1,.Te A, ACH O En el segundo ciclo de reloj, podemos transferir al acumulador el contenido de T ((T] = A), ¢ incluso traernos el segundo operando al registro T. 2. Te B,ACe AC+T Sumamos a continuacién los dos operandos: 3.AC@ AC+T En el ciclo de reloj siguiente, podemos ordenar el almacenamiento del resultado en el registro A. 4A AC Si este proceso se repite para las macrooperaciones restantes obtenemos la siguiente tabla: HOP | AcA+B BeA+B ACA-B BeA-B i ACEO, TEA 2 TB, ACCAC+T 3 ACHACHT ACeAC-T 4 AGAC BeAc AeAC BeAC HOP | Ac(-A)+B | Be(-A)+B | AC(-A)-B | Be(-A)-B 1 ACA0, THA 2 TOB,ACCHAC-T 3 ACeAC+T ACeAC-T 4 AEAC BRAC ACAC BRAC De forma equivalente obtenemos la tabla que representa las sefiales de control a activar por la unidad de control: HOP | ACA+B BeA+B | ACA-B BeA-B z ZAC.WT.RA 2 WT, RB,WAC,s 3 WAC, s WAC, 4 WA,RAC ‘WB,RAC WA,RAC WB,RAC INTRODUCCION A LOS SISTEMAS DIGITALES 311. HOP | AC(-A}#B | BE(-A}#B | AC(-A}B | Be(-A)-B : ZACWT.RA 2 WT, RB,WAC, r 3 WAC, s WAC, r 4 | WARAC | WB.RAC] WARAC WB,RAC Para disefiar el sistema digital completo necesitarfamos describir el comportamiento de la unidad de control y disefiarla. Esto lo dejaremos para el siguiente Capitulo, por lo que la so- lucién mostrada hasta aquié es suficiente para este tema de introduccién. 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 sefal de comienzo (X.) 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 operacién OR y el resultado se almacena en C. Final- mente, los datos de C son situados en las lineas de salida, tras lo cual el sistema va al estado de espera. a) Describa las operaciones a nivel RT. b) Disefie la unidad de datos que pueda realizarlas. c) Haga la carta ASM de las sefiales a activar por el control. d) éHabria que hacer algin cambio para imponer que las lineas de salida estuviesen en atta impedancia cuando no mostraran el dato? En su caso, écudles son? Solucién P10. a) La secuencia de operaciones descritas a nivel RT es la siguiente: 0. Xs - 0 Xs - ay 1 = A®@ Dy (2) 2. - Ce @) mh 2 Ikoe a CATE) Se OUR (Cc) (0) Los estados que aparecen entre paréntesis podrian suprimirse en notacién RT. b) Para disefiar la unidad de datos debemos tener en cuenta que el registro A debe su entrada de Dyy, el registro B debe recibir el contenido de C, el registro C debe reci A+B. En la siguiente figura se muestra cémo hay que conectar los registros entre si. También se describen los registros a nivel RT. Los registros A, B y C son como el descrito a continuaci6n: 312. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES { Dw oe Wa ay | xk z SEL—| 8 x MUX 2:1 We | KE 0 K IK] We 1 x {kK} — Rc 8 x BUF tri-estados OUT c) La carta ASM del controlador es inmediata. Basdndonos en las soluciones obtenidas para los apartados a) y b) obtenemos: So 0 1 Wa Sy We Sy J Wa S3 SEL, We | Ss Re d) En nuestro caso ya hemos hecho que OUT = HI cuando no estemos en la microope- racién 5 mediante los 8 buffers triestado que s6lo estan activados en Ss INTRODUCCION A LOS SISTEMAS DIGITALES 313 PROBLEMAS CON SOLUCION RESUMIDA Problema 11.- Describa a nivel RT un contador ascendente médulo 64 con puesta a cero, carga en paralelo e inhibicion. Solucién P11.- El contador ha de ser de 6 bits, una posible descripcidn a nivel RT serfa la si- guiente: DINs.o $ So ; cy [6] méd. 64 454493929140 Zs.o Problema 12.- Un registro A conn etapas individuales se acopla a un bus cuyas lineas llevan los bits B. Los componentes del registro A son biestables SR. Dibuje el diagrama légico de un circuito asociado a una etapa del registro que nos permita ordenar la transterencia A, — AB, Repitalo para Aj — A; + B;, A; — A; ® By, Aj — A,B, cA 0 x - Oo Rieeezy aes) o 1 Lox z 0 a eee el a 3X 2 3 z_|Ss x oz 1 z_ 4] S ow 1 Problema 18.- Desarrolle una carta ASM y una tabla de transicion para un generador de formas de onda controlable que dependiendo de dos entradas X, y Xz generard 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. XX 00 o1 14 10 320 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P18. a z Ss Sa XiXq 1 qidg\_00__01_ 110 0 S$, 00] 01,1] 01,1) 01,1} 01,1 Sp 01 |10,1 | 10,1 ]00,0 | 10,1 Ss 10]11,0} 111 {11,1 [00,0 Sa 11 | 00,0] 00,0] 00,0 | 00,0 Q1Qo.z Problema 19.- Se desea realizar la siguiente microoperacién: K To A=Bo Ty Ag B, Tz ACB. T3 A Bz NOR (To+T;+T3+T4) NOP donde K identifica esta microoperacién, To-T3 son las variables de entrada, los registros son de ocho bie en cada instante, hay como mucho una sefial de entrada a 1 (esto es, T+ Tj=0 2) Represente el bloque ASM correspondiente. ) Muestre una implementacién del circuito que realiza esta instruccién en los dos casos siguientes: 1. Los registros B; tienen salida estandar en paralelo. 2. Los registros B; tienen salida triestado (alta impedancia) en paralelo. INTRODUCCION A LOS SISTEMAS DIGITALES 321 Solucién P19, a) En el bloque k se evaltian los valores de Tg, T}, T, T3 y se realizan las transferencias necesarias. Posteriormente se pasa al bloque k+1.

T D ri Sk q Ip j Por tiltimo, las salidas de la unidad de control son sefiales que se activan bien en uno 0 mis estados (salidas tipo Moore; por ejemplo, una salida Wac que se activase en los estados Spy Ss), bien cuando ocurre cierta condicién de entrada en un estado (salida tipo Mealy; por ejemplo, que Wc se activase para X; = 0 en S3). Como estas sefiales suelen estar accesibles en el registro de desplazamiento modificado (en el ejemplo serfan qp, qs y la salida del canal 0 del demultiplexor de qy: 439), para obtener Ia salida deseada Wc bastaria sumar (OR) esas sefiales: Wac = qo + 45 + a30- Aunque esta técnica de diseiio no optimiza el coste en puertas y proporciona controla- dores especificos al problema, la técnica en sf es muy genérica, valida para todas las unidades de control, y consiste en una mera traslacién formal desde las cartas ASM o programas HDL. Por ello el tiempo disefio es muy corto. Indice del Capitulo Este Capitulo desarrolla problemas de las siguientes materias: — Disefio de unidades de control para casos especificos. — Realizacién completa de sistemas digitales. PROBLEMAS RESUELTOS Problema 1.- Para la unidad de datos de la figura, diserie 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 Co de 8 bits (mod. 256). ¢Qué cambio hay que introducir para escribir en B el nimero de "0" de A? Nota: —_Z; = Puesta a 0 sincrona, |,= Incrementar, CY; = CARRY. 328 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ip cy, Rp Wp SHR’ Cc C2 REG. DESP. Og Ri Wy, Z, Ry Wo by Zy Solucién P1.- La macrooperaci6n 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: Wx X{[8] R, — HI 8 01 [x] x 10 | entrada | BUS; BUS; 11 | prohibida | prohibida —Registros Cy y Cy: WR Z | | | | cy; 1000 G 0100 q 0010 G+ a ooo! 0 BUS,-19 0000 q — Registro de desplazamiento D: Wo. R, BUS7.9 D SHR(D,ip) entrada ID] HI 010 oor (0 DE UNIDADES DECONTROL 329 El mimero de “1” en A puede variar entre 0 y 8. Para contarlos necesitamos 4 0 mas bits. C98] (médulo 256) realizar esta cuenta, La idea que sustenta la solucion es: a) Transferimos A a D, preguntando por Og sabremos si el bit mas a la derecha es to no. b) Si Op es 1 incrementamos Cp c) Desplazamos el registro D para acceder al siguiente bit del dato A original. Esto hay que hacerlo 8 veces. 4) Para conocer el ntimero de desplazamientos, utilizamos el contador C; que es médulo 8. La carta ASM (incluyendo simultneamente RT y control) es: NOP 1 S}: Inicializacién. Tras el primer ci- De AC), <9 |g clo, Cy y Cz estén a0 y D tiene escrito Wp. Ra: Zi Za el dato A Sp: Es el micleo de la solucién. — Siempre se ordena el desplazamien- D<— SHRDO. CLE Ci +1) g, tode Dy el incremento deci. yaque SHR, I, siempre vamos a evaluar un nuevo bit. — La primera vez que se alcanza Sp, 0 1 se cumple: Og = Ag, [Cj] =0 <> Seguin el resultado de la evaluacién de GE Gat Ok, se incrementa 0 no C>, b — La segunda vez que se alcanza So, se cumple: Og = Ay, [C\] = 1. Asi sucesivamente; la octava vez: ° : Op = Az, [C\] = 7 por lo que CY,=1 os saliendo hacia S3. Se BC; ] g, | $3: Se escribe el mimero de 1's en B. Wa, Ro (Al alcanzar $3, [D]=0 y [C]=0 pues el contador C; ha pasado de 7 a 0). we] 330 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES El controlador se obtiene directamente de la carta ASM: Wp. Ra: Zi Zo v Wp, Ro FIN SHR.) Og El tinico cambio que es necesario realizar si se quiere escribir en B el ntimero de “0” de A es modificar la caja de decisién de Op y el demmultiplexor correspondientes a S>. 0 i cy C= C+ SHR, }, 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) esta conectado a un bus de datos internos (IDB), al que también 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 <— A y SP <— SP + 1, mientras que PULL A implica SP <—- SP—1 y A MEM(SP) ). Cuando no hay operacién de la pila, el puntero SP apunta a la primera direccién libre. Disefie el controlador que permita ejecutar las operaciones de PUSH (Iy/p = 00) y PULL 1). : 108 cédigos Iylp = 1X estén reservados para otras operaciones no definidas en el enunciado. DISENO DE UNIDADES DE CONTROL 331 }— ISP I~ DSP 16 16 IDB[8) eo[_ ater [ER : ‘a —R irC—{PC{16) SP(16] WPC—T" MAR[I6] cs RW MDRI8] 1" fal AB[16] L___»! MEM EDB(8) Solucién P2.- Segtin el enunciado, la pila se va llenando desde las direcciones mas bajas a las mis altas. Las dos operaciones de pila implican direccionar la memoria MEM con la direccién que indica el puntero de pila, SP. De aqui que, tras apuntar SP a la direccién adecuada, habré que transferir SP hacia MAR. En ambas operaciones la transferencia entre MEM y A debe pa- sar por MDR. Operacién PUSH (I Ip = 00): Como SP apunta a la direccién vacfa, es ahi donde hay que transferir A y, después, se incrementa SP para que contintie apuntando a la primera direccién vacfa. microoperacién sefiales a activar 1. MAR & SP/MDR A WSP/R,/W; 2.MEM (para otras operaciones) q q q 4 D Up Hp D 1 3 4 5 FE : 0 1 9 Gj \ 4 D 2 Lp Vay y Y " R FIN WSP_ Wi DSP Rm We oS Wy « ISP Problema 3.- Un niimero decimal de dos digitos se almacena en dos registros de cuatro bits en forma BCD. El registro M contiene los digitos més significativos; el L, los menos. Los ntimeros 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 sélo a las cuatro posiciones de més a la derecha del registro R. La operacién de transferencia se realiza respondiendo a un conmutador. a) Establezca una arquitectura para el sistema especificando los terminales de control de cada registro. ) Construya la carta ASM. ¢) Disefe el controlador del sistema usando el minimo de biestables y dibuje el circuito logico. Solucién P3.- a) Para que M[4] y L{4] puedan escribir sus datos en el tinico bus de 4 bits (BUS) hay dos soluciones: 1. Conexién por multiplexado: Las salidas de M y L son esténdares (Zy = [MJ y Z1 = IL) por lo que no se necesitan sefiales de lectura de los registros. Mediante 4 x MUX 2:1 se escribe el contenido de L (para S = 0) 6 de M (para $ = 1) en el BUS. MI4} L{4) 334. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 2. Conexién de bus tinico (BUSU): Las salidas de M y L tienen HI por lo que se nece- sitan sefiales de lectura. Solo una de ellas puede activarse en cada ciclo. Ru Ry Rx M4) LI4] Xia) 4 2m A 4 ' RX: Zy = HI zx RX: Zx = [X] BUSU(4] El registro R[8], ademés de la carga en paralelo de los 4 tiltimos bits, necesita estar do- tado de desplazamiento a la izquierda para transferir datos a sus 4 bits més significativos: X30 WpSL. Operacién 4 R[8) { 00 RR Wr __{ : 10 | R3.9 & X3.0, Ry.g & Rog sL— i o1 R © SHL(RO) Observemos que — La carga en paralelo deja sin cambio a los 4 bits més significativos. —El bit serie que entra en el desplazamiento puede ser cualquiera aunque nosotros he- mos optado por introducir un 0. Con todo ello a arquitectura del sistema es: Ru R; Mt Mia} Li] Xs —— CONTROL 4 7 { SL RI8] ck donde suponemos que Xs, salida del conmutador, es un pulso de duracién 1 ciclo de reloj. DISENO DE UNIDADES DE CONTROL, b) La carta ASM para la unidad de datos y la unidad de control es la siguiente: Vv NOP 1 R39 —M Ruy. We R © SHLRO) SL J R © SHLRO)| SL R © SHL(RO}] SL I R © SHL(RO} SL R39 —L Ru. Wr So Con la sefial de! conmutador Xg se pasa aalmacenar en R el digito BCD mis signifi- cativo, que es el almacenado en M. Después, mediante 4 desplazamientos a la izquierda se coloca ese digito en la mitad més signifi- cativa del registro R. Por tiltimo se escribe el digito BCD me- nos significativo (el almacenado en L) en R. Con esto el registro R[8] contiene el digi- to BCD mis significativo en sus 4 bits de la izquierda y el menos significativo en los 4 bits de la derecha. 335 ©) Pata utilizar el menor mimero de biestables en el disefio de un controlador, el primer paso es obtener la tabla de estados a partir de la carta ASM. Después se realiza el proceso ya conocido para el diseiio de un circuito secuencial sfncrono genérico. No haremos el desarrollo detallado pues dicho proceso ya se cubrié suficientemente en el Capitulo 8. En la siguiente fi- gura se muestran la tabla de estados/salida obtenida a partir de la carta ASM, la codificacién elegida para los estados y las ecuaciones resultantes. Se han utilizado biestables T para la rea- lizacién de la maquina de estados. 336 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Xs O 1 RLRyWeSL Ecuaciones de excitacién: So} So |S: | 0000 T2 = 4140 +9291 ificacio T= 40+ 2% s|s,]- | o110 Codificacion f= W0FSear 4190 0 = Got 4241 + Xs +4241 S|s,|- | 0001 So: 000 Si: 001 : $3|S,] - | 0001 Sx 010 Ecuaciones de salida: S3: 011 Rp = aa sy] 8s | - | 00°! Ss 100 Ry = 424190_ _ s.| 5, 0001 Ss: 101 Wr = 9291+ 924190 oecile S6 110 SL = 424) + 42.41 S6]S | - | 1010 Problema 4.- Un sistema digital tiene como unidad de datos la representada en la figura. Ini- cialmente, al menos uno de los bits de A es un cero. El sistema debe dar como salida el nime- 10 binario de la posicién 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 diserie el controlador (basado en la técnica de un biestable por estado). ¢) Sie! valor inicial de A es: 10101011, represente en el tiempo (hasta que se ha gene- rado la salida deseada) los siguientes pardmetros: BUS, sefiales de control (Ra, $1, So, CLC, UP) y las salidas del sistema digital. ¢ Cul es el contenido de RU8 y de CONT tras regresar al estado de espera? Ra—__ AISI Bus; 0] g CLC—{ CONT mod-8 L—CY $15p | operacién up— 3 00 | inhibicién 01 | carga paralelo 10 | despl. izquierda O20 11 | despl. derecha Solucién P4, a) Deseripcién de componentes: Ra—_] AS] qt BUS; BUS; BUS, R Rus) 8 a aaa) CONT mode) on uP —1 3 Or9 b) Carta ASM. NOP Sa RUS A cCONTe 0 | S, Ras So, CLC HR (RU8, BUS) CONT — CONT + | S), So, UP FIN o1 10 iW DISENO DE UNIDADES DE CONTROL 337 RUS BUS;.o SHL(RUB, BUSo) SHR(RUB, BUS;) ol 10 on Isi [CONT] CONT [CONT] = | [CONT] CONT +1 =i [CONT] 0 Prohibida | Prohibida Sq; Estado de espera. Sp: Puesta a cero del contador y transferencia del dato A al registro universal RUS. El con- trol activara Ry, pondré S;Sq = O1 y activard CLC Se: Al entrar en S,, CONT = 0 y Zp = Ag. St Zo = 0, la posicién del 0 menos significativo de A esté dada en CONT (03.9); si Zy = 1, debemos pasar a evaluar Aj (Io cual hacemos desplazando a la derecha RU8) al mismo tiempo que hacemos que se incremente el contador para que sefiale la posicién de Ay. Esto lo repetimos hasta que por Zp aparezca el primer cero que necesariamente hay. Sp: Sefiala el final. La posicién deseada esté escrita en binario en las salidas del CONT (Oz, 0}, Op). 338 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES El controlador pedido es ee Y Ra cue So y Si uP FIN c) BUS esté en HI salvo en el ciclo del estado Sp. Las sefiales de control Ra. Sp y CLC se activan en Sp y S}, Spy UP en los ciclos de reloj en que se permanece en S,. [A] = 10101011 siempre. cx_J Xs i presents, i Sri S Set ona Ra t i i : 8; : i i ! ! ! So } : : po CLC i i ; i UP. 4 BUS7. HI HI; HI HI [RUB] [CONT] Ya no varian 1 2 3 1. Enel bit més significativo de RUS (esto es, en RU8;) se almacena un valor descono- cido, 0 6 1, debido a que BUS, esté en HI. (Otra solucién posible es leer A, Ra = 1, en la caja de accién condicional del estado Sp, en cuyo caso "2" se sustituye por "1" que es el valor de BUS; = Az). 2. Como Zp = 0, no se activa ninguna sefial y se pasa a Sp. 3. Al volver a Sq (estado de espera), [RU8] = 27101010 con ?=06 1. [CONT] = 010, que es Ia posicién del cero menos significativo de A (Ap) DISENO DE UNIDADES DE CONTROL 339 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 I6gica discreta utilizando biestables tipo D y optimizando el coste. 0 1 45 D, af D, Ys YX | J 4p. 4 Nota: Este controlador no tiene sefial de comienzo ni estado de espera inicial. Resuelva ef apartado (b) sin preocuparse de este hecho. Solucién P5. a) La carta se obtiene directamente del controlador: 340 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) Para hacer el controlador en ldgica discreta hemos de obtener a partir de la carta ASM la tabla de estados y seguir con los pasos del proceso de sintesis de circuitos secuenciales sin- cronos. En la siguiente figura se muestran la tabla de estados junto con la codificacién de es- tados y la tabla de transici6n obtenida X1X2 X)Xp (Sp 00m Olmert ter0) 4149 \_00__01_ 1110 S S, 00} 01,1] 01,1] 01,1] 01,1 Sp | Ss | Sat [$3.0 [$3.1 Sp ot fit {tit feo fin $3 ]$4,0 | S41 $3 11}10,0]10,1]10,1 |00,0 Sq | $1.0} $),0] ),0] 5,0 S410} 00,0] 00,0] 00.0 | 00,0 NS, z Q1Qo, 2 Utilizando biestables D, las ecuaciones de excitacién y salida que resultan son: Dy = Qi = Gido + X240 + Xig0 Do=Qo=G_ z= X1qi + 4190 + X2ai + X2q190 Problema 6.- Un sistema digital debe analizar su linea de entrada X con objeto de contabilizar el numero de pulsos de esa sefial que tiene de anchura 1, 2 6 3 ciclos de reloj. El sistema dispone de tres salidas (24, Zz, Za) con las que se indica cual de los tres tipos de pulsos es més numeroso. (Por ejemplo, si se han recibido siete pulsos de un ciclo de reloj, cuatro pulsos de dos ciclos y nueve pulsos de tres ciclos, el sistema generaria como salida 212223 = 001). Desde que se le da la orden de comienzo, se deberdn analizar 256 ciclos de reloj, volviéndose después al estado inicial, Disefie dicho sistema, utilizando los subsistemas habituales. Nota 1: Nunca se recibiran pulsos de mas de tres ciclos de reloj. Nota 2: En caso de iguaidad se activan las salidas correspondientes. Solucién P6.- La organizaci6n del sistema es la mostrada, con una unidad de control y una unidad de datos 0 de procesado: x > 2 unidad unidad de de > x control datos - Ck > 23 DISENO DE UNIDADES DE CONTROL 341 La unidad de procesado deberd contener los siguientes dispositivos: ~ Un contador (Cys6) de médulo 256 para contar los 256 ciclos. ~ Tres contadores (C}, C2 y C3) para contar los pulsos de duracién de 1, 2 y 3 ciclos respectivamente. El tamafio de estos contadores debe ser suficiente para contar el ntimero maximo de pulsos posibles en cada caso; esto es, en 256 ciclos de reloj puede haber hasta: — 128 pulsos de 1 ciclo de duracién (para X: 01010101...). ~ 85 pulsos de 2 ciclos de duracién (para X: 01101101 = 64 pulsos de 3 ciclos de duraci6n (para X: 01110111...). Asf, estrictamente, el dimensionamiento minimo es Cy de médulo 256, Cz de médulo 128 y C3 de médulo 128, Sin embargo, podemos utilizar tinicamente contadores de médulo 128, ya que en el caso de pulsos de | ciclo de duracién basta contabilizar el pulso ntimero 86 para saber que forzosamente los pulsos m4s numerosos son los de 1 ciclo y no necesitamos seguir conténdolos. Entonces C}, C2 y C3 seran de médulo 128. El estado 86 en C, es el estado 1010110, para detectarlo basta ver que para el contador C; se cumple q6q4424) = 1- Todos los contadores tendrin una sefial de puesta a 0 asincrona (CLy56, CL, CL y CL3). Ademés Cos6 ha de tener una salida de acarreo (CY) que se activa (CY = 1) si [C56] = 255. Los contadores C), C2 y C; tienen entrada para contar hacia arriba (UP), UP) y UP3) mientras que Cos¢ se incrementa con todos los pulsos del reloj Ck Se necesitan, ademés, tres comparadores de magnitud de 7 bits, con salidas G (mayor), E (igual), L (menor), para comparar las salidas de Cy y Cz, Cy y C3, y C2 y C3. (Podria resol- verse el problema con un solo comparador, pero aumentado el nimero de estados y la comple- jidad de la interconexién). Con ello, la unidad de procesado es: CLy Ey CQ Ck CL256 Gb Cts Z cy a a a a>b_a=b acb a>b_a=b ach a>b ab acb Gy Er2 Liz Gy3_Ea3 La3, Gis Eis Lis Una carta ASM para el sistema se muestra en la siguiente figura. Elestado S, es el estado de inicializacisn de los contadores, a continuacién los estados So, $3 y S4, nos permiten determinar si hay o no pulso y, en su caso, si la duracién es de 1, 2 63 ciclos, incrementando el correspondiente contador. 342 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES NOP il C956 Cy Cy, C3 HO CL 256, CLI, CL, CL3 FIN | Sp L_____J Las salidas 2), 23 y 23 son funciones combinacionales de Gij, Ej y Li: 2 = Gy (G3 + Ey3) + Gy3 Gyy + E12) + By By3 = Gig Ly3 + G32 +E Ess 72 LigLo3 + Gr Gia + E12 E13 23=1)3 G23 +L33Gy3 +E Es La unidad de datos deberd incluir, por tanto, un circuito combinacional que realice estas ecuaciones: . COMP | [COMP | [COMP feseez] Circuito Combinacionat = | 22 p> 4 DISENO DE UNIDADES DE CONTROL 343 Problema 7.- Un sistema digital (ver figura) consiste en una cerradura electronica que se abre mediante una combinacién adecuada de 8 bits. La combinacién esta almacenada en el sistema. El modo de operacién es como sigue. La sefial RESET lleva al sistema al estado ini- cial (no hay que incluirla dentro de la carta ASM ya que se considera asincrona). La sefial BIT indica el bit correspondiente de la combinacién (comenzando por el més signiticativo). La sefial LEE (al activarse) indica que se puede leer la entrada BIT. La sefial INTENTA (al acti- varse) indica que ya se ha introducido la combinacion y si es correcta se abriré la caja (ponién- dose la salida ABRE a 1). RESET LEE INTENTA poe |S ABRE oe digital c— a) Disefie la unidad de datos del sistema. b) Exprese el algoritmo de control mediante una carta ASM (no es necesario disefiar la unidad de control). Solucién 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 sefial INTEN- TA, compararemos la palabra almacenada en A con la combinacién correcta mediante un com- parador (COMP) de 8 bits. Un contador (CONT) médulo 8 con salida de carry (CY) contaré los 8 bits. En caso de que se introduzcan 9 bits o més se regresaré al estado inicial sin activar la sefial ABRE. a) La arquitectura del sistema (unidades de control y de procesado) serd: = RESET U. de de Br > ABRE } i LEE. SHL_} combinacién Unidad i t correcta de control ft INTENTA—] : UP. CONT COMPI8] : donde RESET se conecta a la puesta a O asincrona de A, de CONT y de la unidad de control. Cuando esta puesta a 0 no est activa: to OA7.9 BIT > SHL — A SHL(A, BIT) 344. PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES uP —4 CONT Isi [CONT] =111 } CONT+1 cy b) La carta ASM sera: Suponemos que al conectar el sistema por primera vez se activa RESET. Esto hace que se comience en Sq y que CONT = 0 (y A =0). Realizamos la carta para que, al volver, siempre CONT =0en Sp. Al activarse “LEE” procedemos a almacenar BIT y a incrementar CONT. Esto puede hacerse en el mismo estado Sp (por lo que es caja de accién condicional). DISENO DE UNIDADES DE CONTROL 345 Al mismo tiempo se pregunta por CY. SiCY noes 1, hay que seguir esperando un nuevo bit. Si CY = 1, éste es el tiltimo bit almacenado y se va aS}. Como se activé SHL y UP, en S ya [A] = 8 bits y CONT = 0 de nuevo. En Sj, si LEE noes | se espera a que INTENTA = 1, en cuyo caso se mira en la salida E del comparador (COMP) si la combinacién es correcta (y se activa ABRE) 0 si es incorrecta (no se activa ABRE) regresando a So, En Sj, se espera a que INTENTA = 1, en cuyo caso se mira en la salida E del compara- dor (COMP) si la combinacién es correcta (y se activa ABRE) o si es incorrecta (no se activa ABRE) regresando a So. Sien Sj se activa nuevamente LEE (9° bit) se pasa a un estado Sp de espera, sin abrir la cerradura en ningiin caso, ya que la combinacién ha de ser forzosamente de 8 bits, y cualquier combinacién con mas bits es incorrecta. Como en S; y Sp CONT = 0, no hay que hacer un clear del contador al regresar a So. Problema 8.- Un sistema aigital controla el proceso de llamadas telef6nicas a través de la red telefénica. Las llamadas pueden ser provinciales (7 digits) 0 nacionales (9 digitos). Tras ac- tivarse la sefal de comienzo Xs, en cada ciclo de reloj llega el digito correspondiente del ntimero marcado. El usuario activa una sefial (YA) cuando termina de teclear. El sistema debe responder de la siguiente forma: si el ntimero de digitos recibidos es incorrecto, durante un ciclo de reloj debe activarse una sefal de error (E); si el numero de digitos es correcto, durante un ciclo de reloj debe activarse la sefal de llamada (LLAMA) y una sefal adicional que indi- card si la llamada es provincial (P) o nacional (N). El sistema recibe una seal, (COM), que indica si el teléfono de destino comunica. En este caso deberd volver a realizar la llamada has- ta tres veces sin necesidad de volver a marcar. Disefe el sistema. Nota: No se preocupe de cémo se almacena el nimero. Solucién P8.- Vamos a necesitar tres contadores, uno de médulo 7 (Cj) y otro de médulo 9 (Cp) para contar el ntimero de digitos marcado y otro de médulo 3 (C3) para contar las llamadas en caso de que comunique. La descripcién de estos contadores es la siguiente cL —_y q cCLUP cy qe ana J 00 Ge ol 1 si (Cj) = 11.11 ae cy 1l- 0 La carta ASM correspondiente a las unidades de datos y de control se muestra a conti- nuacién. 346 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Cre Cr#l, C2 & Ca¥ UP,, UP. FIN ——> aSo DISENO DE UNIDADES DE CONTROL 347 El controlador es: CL).CL CL FIN PROBLEMAS CON SOLUCION RESUMIDA Problema 9.- Para la unidad de datos de la figura, diserie un controlador que permita realizar la operacién de intercambio de informacién entre los registros A, By C de la siguiente forma: ADBOC | PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES cién junto con el controlador pedido. x, AC — 0/RTEA| S, AC <— AC+RT/ACC | Sz Solucién P9.- La carta ASM correspondiente a la operaci6n solicitada se muestra a continua- Xs 1 2 ceB] s, => J BEAC | 5, C3 2a al Ry A Wac Sao Ww Re Wy mm P10.- Carta ASM: Ry We Problema 10.- Para la unidad de datos del problema anterior, disefie un controlador basado en registro de desplazamiento que permita realizar la operacion C = 4 + (A +B). Nota: La entrada SHL del acumulador produce un desplazamiento légico hacia la izquierda, introduciendo un "0" por la derecha . Xs=1 AC—O/RTCA WR, S| AC& AC+RT e Wao ALR, 2 RTCB| s 3 W, Ry AC & AC+RT Ss. Wao ALR + LS SHL(AC) DISENO DE UNIDADES DE CONTROL 349 Controlador: Xs Syn 2 3 44s 6 Lt7 F at L | | 1 l 1 nan | R, R, SHL w, FIN R A Ww, é Problema 11.- Para la unidad de datos de /a figura, disefie una unidad de control basada en registro de desplazamiento de forma que, en funcién de dos bits de entrada |, € Ip, pueda elegirse entre una de las cuatro macrooperaciones siguientes: 1)A@ A+ 2B 3CHA-2B 2QACHA-2B 4)C& 2A+2B Rin Wsh SHL. SHIFT REG. 350 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P11. Si escogemos la siguiente codificacién para cada una de las macrooperaciones Tilo | macrooperacién 00 ACA+2B ol AeA-2B i CeA-2B 10 Ce 2A+2B Esta solucién corresponde a una unidad de control tipo Moore. Xs=1 ACUM € 0/RTCA | Sy |ACUM < ACUM +RT/SR Bj} Sz SR © SHL(SR,0)| S3 ACUM <-ACUM+SR | Sj, |ACUM <-ACUM-SR | Syp 1 0 0 1 1 wv A©ACUM| Ssp |ACUM <-ACUM +RT | Ssq C [c [Bi tabla de comportamiento NS,Z Problema 2.- En una practica de laboratorio se pretende montar el circuito siguiente: DEC 7} Sin embargo el laboratorio es un desastre. a) El dia que va el grupo M resulta que no hay multiplexores, con lo Unico que podemos 360 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES contar es con una puerta NAND de ocho entradas ademas del decoditicador previsto. Obten- ga él circuito equivalente al dado con el material disponible. b) El dia 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 s6lo multiplexor como el previsto en la practica. Nota 1: Disponemos de las variables en Unico rail Nota 2: La entrada de habilitacién 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: : Z bh x up CONT mod-16 La entrada CLA pone a cero el dispositive de forma asincrona. Por la linea X se reciben pulsos positivos de uno 0 més ciclos de reloj. Con independencia de la duracién de cada pulso y contando a partir de la Ultima vez que se activé CLA, se desea activar Z, a partir del final del segundo pulso recibido por X y activar Zp a partir del comienzo del quinto pulso. Una vez activada cada salida, se mantendré activa hasta que se active CLA otra vez. Disefe el circuito combinacional (CC en la figura) utilizando exclusivamente puertas NAND y suponiendo variables en doble rail. Problema 4.- Considere la palabra 10100110. Interprete, si es posible, la informacion de esta palabra segin sea: numero binario, representacién signo-magnitud, representacién comple- mento a 1, representacién complemento a 2, cédigo ASCII, cédigo ASCII con paridad par, c6- digo ASCII con paridad impar 0 cédigo BCD. Problema 5.- Se desea disefiar una calculadora que realice las siguientes operaciones: 1.A& 2A+B 3. BE 2A+2B 2ACA-B 4.Be—A-2B. A { Bt RT, BI BD ALU. AC MISCELANEA 361 Para ello se dispone de /a unidad de datos de la figura en la que todas las salidas de Jos registros son condicionales. Se pide: a) Especiticar completamente la unidad de datos. ) Disefiar la unidad de control correspondiente. Problema 6.- En el citcuito de la figura hay, entre otros, un sumador paralelo de *n" bits y un bloque TRANSFIERE/COMPLEMENTA B (representado por n XOR). Describa funcional- mente el circuit. (Esto es, represente formalmente su operacién y expliquela verbalmente), A B | : nXOR & ' a b 0 a le nbits P ¢ out ee in : % Problema 7.- Un sistema digital de 4 entradas recibe sincronizado con una sefial de reloj, caracteres de 4 bits. El sistema genera z = 1, durante un ciclo de reloj, tras recibir cuatro caracteres seguidos idénticos. B, A=B, A 1, le asignaremos el cédigo q)q2 = 00 (de esta forma evitamos la transi cién problematica hacia el estado B). La tinica transicién que parte del estado A va hacia el estado B. Por tanto, no se produce la transici6n problemética si le asignamos a A: q1q2 = 11. Por ultimo, como C y D son préximos estados uno del otro, le asignamos cédigos complementados, por ejemplo C: q)q2 = 01 y D: iq = 10. Una vez realizada la asignacién, de forma que se ha evitado que existan transiciones que no pueden implementarse con el elemento de memoria, el proceso de disefio contintia como siempre. x x aa\ 0 I aa2\ 0 7 B=00]01,0] 11,1 00 ol i C=01) 00,0} 10,0 ol Od Id A=11] 00,0 | 00,0 11 dd dd p=10/01,0| 001 10 [di [do Q1® ye Ecuaciones de excitacién Tabla de transicién/salida Tabla de excitacién y salida MISCELANEA 367 El circuito final queda: q aT Solucién P2.- El primer paso es calcular una expresién de la funcién F(x,y,2), para lo cual hay que analizar el circuito. Daremos nombre a cada una de las lineas. dy dy io 1 Segtin la ecuacién de salida del multiplexor tenemos: F = do ( dy51-59 + d3'51-S9 + dyS}-59 + ds-51°59 )- ‘Cada una de esas sefiales son salidas del decodificador, por tanto: Xty4+z dj=x+ytz dg=xt+y+Z dy=xt+y+z Gsak+y+Z spexty+z saxty +z Sustituyendo en la expresi6n anterior para F: F=[1@5)= 2 (1,2,3,4,6) a) Implementaremos esa misma funcién haciendo uso del decodificador anterior y una puerta NAND de ocho entradas. Dado que por las salidas del decodificador tenemos las expre- siones de los maxtérminos de tres variables (las que actiian de entrada al decodificador), basta elegir aquellas salidas del decodificador correspondientes a los mintérminos de F. Asi, al usar- las como entradas de la puerta NAND, a la salida de ésta obtenemos la funcién deseada. & DEC3:8 1 b) Para este apartado tenemos que usar el multiplexor que aparece en el enunciado. ‘Como estamos en tinico rail, vamos a buscar qué disposicién de variables es valida para que no encontremos residuos de la funcién que posean variables complementadas. 368 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES xy XZ ye D009 01 10 Tt 00 01 10 11 X00 of to tt ofovTiyifqi (: 0a) aa ez |) (oe: | Os ara | ett 1fiftifoti a ares [even a ea ile eae | atta ae Residuos - Residuos Residuos = dF oz 1 Zz 1 ae y Fo ot y ere x & 1 0 De las tres disposiciones de variables anteriores, s6lo la segunda permite resolver nuestro problema. Con ello, el disefo final del circuito seria: 1 Solucién P3.- Para contar los pulsos recibidos, como la duracién 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 maquina sei donde el estado “0” es el de ausencia de pulso; el estado “1” se alcanza cuando X = | (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 Hegada del nuevo pulso (X = 1); ete. 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 no la entrada UP GI OFS Entonces, las ecuaciones de excitacién del contador (UP) y de salida (Z, Z) se obtie~ nen mediante el siguiente mapa de Kamnaugh que representa la “tabla” de excitaci6n-salida: segtin: MISCELANEA 369 X 43 42 aigo\ 000001 O11 010-110-111 101_100 oo [000] o10] — | oro] 1] -- | 110 | 100 or | 100 | 110 on 010 | 000 n [10 {| 10 - 010 | 000 10 [000 | 010 = 110 | 100 UPZ, Z, Las expresiones de las que se obtiene el circuito son: dues 0m eta ied edo s e270 ads Solucién P4. Como mimero binario: 10100110 Como signo-magnitud: 10100110 S Como complemento a 1: 10100110 = ~ (0101 1001) = Como complemento a 2: 10100110 = ~ (01011010 10 En cédigo ASCII: problema mal formulado, pues el cédigo ASCII es s6lo de 7 bits. En cédigo ASCII con paridad par: 10100110 — &. En c6digo ASCII con paridad impar: 10100110 no puede estar escrito como cédigo de paridad impar pues tiene 4 unos. En cédigo BCD: un digito serfa 1010 y otro 01 10, pero como 1010 no es un digito BCD, el problema est mal formulado. Solucién P5. a) Desarrollaremos las instrucciones mediante microoperaciones y, de aqui, iremos im- plicando algunas necesidades de operaciones en los registros. Previamente, analizaremos la unidad de datos de la que disponemos: Hay dos buses compartidos (BI y BD), por lo tanto, las salidas de los registros A, B y AC son salidas con buffers triestado. Como las salidas son condicionales, los registros tienen sefiales de lectura: tinica para RT (sefial Rp) y AC (sefial Rac) y doble para A y B, segtin se lea en BI (sefiales RAy, RB)) 0 en BD (seffales RAp, RBp) La ALU opera sumando 0 restando entre BD, con el que se pueden leer los contenidos de los registros A, 0 B, 0 AC, y el contenido de RT que puede ser cargado desde el registro A oelB Hay que especificar cual es el sustraendo en caso de resta; en nuestro caso, elegimos RT como sustraendo. Con ello, la descripcién de la ALU es 370 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES out (BD) Para obtener los valores 2A y 2B podrian utilizarse desplazamientos a la izquierda. Aqui, sin embargo, se realizarén 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: ademés 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 sefiales de lectura y escritura, permitiendo que ambas se activen simulténeamente (excepto en A y B para lectura sobre BD). A y B son iguales entre si y RT y AC, también. in RAL A Rac x Wa" Wac ac BI BD out RA RAp Wa | AG | BI= | BD= Rac Wac | ACH | out = 000 a | HI HI 00 AC HI ool BD HI entrada ol in HI 010 A | HI {Al 10 ac | [Ac] 100 A | [al HI ul in [ac] 101 BD | [A] | entrada 110 A [A] [A] Bt proh. | proh. | prohibida MISCELANEA 371 El desarrollo de cada macrooperacién y su codificacién es: cédigo | X\Xp=00 X\Xq=01 X1Xo= 10 XiXo= 11 op. A©@2A4B ACA-B Be 2A+2B Be A-2B Hop 1 RTCA RTCB RTA RT<-B Hop2 | ACé-B+RT AC B+RT nop3 | ACe-AC+RT | ACe-A-RT | ACC—AC+RT,RTEB | AC A-RT op 4 A©AC AC &AC+RT AC — AC-RT bop 5 BAC b) La carta ASM, sefialando en ella tanto las microoperaciones como las sefiales a acti- var por el controlador, queda como sigue: 372 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES NOP So 1 Wr 0 Ex 1 Xp RTEA RTCB RAY RBy ACé—B+RT | s, Wac. s, RBp, Ry AC=AC+RT] 5. s Wace Rac. 8, Ry ae Wac. RAp. Rr] 736 Wace: Rac Rr | Ss oe aoe cee) AC & AC-RT s ( r ) BEAC ] g We: Rac 2 FIN Sr También podrian haberse reunido los estados Syq y S3p Seguin se muestra: Wac:Rac: Rr | $3 00, I u Yas, Yass MISCELANEA 373 Obteniendo el controlador directamente de la carta ASM: RBp Wa 4 4 Dz |} Daa Jas) FIN IP 2 4a 1 Dr ‘ Pi 93p/9 q q| 4s qH 46. Dap 1 Ds De bt Xi au—y 2 Gat RB, Ro Rr qs —1 X aa => w; Wac ° 0 3b—} 2 Pe R 431] i ds s ¢ ‘AC 30 —1 4% Solucién P6.- Si xp = 0, tenemos que, independientemente de x), se realizar la operaci6n F = A+B si x3 =0, 0 F= A+B+1 si x= 1, ya que el canal seleccionado del multiplexor es el 0, y éste controla la entrada de acarreo del sumador. Si xy = 1 y x; = 1, independientemente de x3, por la entrada b del sumador tenemos el complement 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 xp=1 y x, =O, independientemente de x3, la entrada de acarreo se encuentra a0, y el circuito complementador deja pasar, tal cual, el dato B. Por tanto la operacién de salida es F=AsB. En resumen, si x2 = 1 se trata de un sumador/restador segtin el valor de x; (0/1, respectivamente) y, si xj = 0, hace la suma con x3 como acarreo de entrada. 374 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P7.- Este sistema digital debe tener, por un lado, capacidad de almacenamiento para un cardcter de 4 bits, con el objeto de poder hacer comparaciones con los caracteres que incidan en posteriores ciclos de reloj. Ademés, el sistema debe Hevar la cuenta de las coincidencias existentes, por lo que necesitarfamos un contador de cuatro estados o 2 bits. En total, y como minimo, necesitaremos seis biestables. No obstante, a la hora de implementar el sistema, no disponemos de contadores, s6lo de registros. En este caso, utilizaremos los registros para almacenar los caracteres en distintos ciclos de reloj. Los registros estin conectados entre si de modo que en conjunto simulan un registro de desplazamiento de caracteres. Sélo es necesario utilizar 3 registros; con ellos y la entrada actual se conocen los caracteres correspondientes a cuatro ciclos de reloj. Xx0 RI4] RI4) RI4] EI sistema debe generar salida I durante un ciclo de reloj, cuando se detecte una secuencia consecutiva de cuatro caracteres idénticos. Cuando se recibe esta secuencia, tanto Ia entrada como los registros, contienen el mismo dato. Utilizando comparadores de magnitud se puede detectar cuando se ha recibido la secuencia correcta. Estos dispositivos tomaran la entrada y el contenido de los distintos registros y 1os compara por parejas, de forma que en total necesitaremos 3 comparadores. X39 —>) RIA] RI4] > RI4] me {oy 4 a b a b a>b a=b ab a=b a 4, dy —> 3, dy > 1, dy > 1. (Se obtiene de forma inmediata: do de c6digo del 1; dy del 3; d3 del 4; y dj de, por ejemplo, el 2). MISCELANEA 375 CODIGO VALOR DECIMAL, ‘0000 D= 0x4 + Ox3 + Oxl + Ox! 0001 T= 0x4 + 0x3 + Ox1 + Ix] 0011 2= 0x4 + 0x3 + Ix] + Ixl 0100 3 = 0x4 + 1x3 + 0x1 + Oxl 1000 4= 1x4 + 0x3 + Ox! + Ox! oll 5 = 0x4 + 1x3 + Ix] + 1x1 1011 6= 1x4 + 0x3 + Ix] + 1x1 1100 T= 1x4 + 1x3 + Oxl + Ox 110 B= 1x4 + 1x3 + Ix + Ox Hit O= 1x44 1x3 + Ix] + 1x1 Ademiés, el cédigo es autocomplementable.: digito dydyd)do Cad 0,4, dy 0 0000 9 THT 1 0001 8 110 2 oor 7 1100 3 0100 6 1011 4 1000 5 olll 5 oll a 1000 6 1011 3 0100 7 1100 2 0011 8 1110 1 0001 9 nmi 0 (0000 b) La funcién XNOR(a, b, c, d, e) toma los siguientes valores: 0 si el mimero de entradas a 1 es impar. = 1 si el mimero de entradas a | es par. Es suficiente con dos combinaciones de entrada para deducir qué tipo de puerta es: SOLUCION 1: SOLUCION 2 : abcde | NAND NOR __XNOR abede | NAND NOR XNOR 11000 1 0 1 rid 0 0 1 11100 i 0 0 o1lit 1 0 0 376 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ©) Si, es funcionalmente completo porque se puede implementar la funcién NOR (NOT-OR) que loes. NOT (a) =a=a¢a, 1, 1, ...,); OR(a, b) =a + b = z(a, b, 0, 0, ...,0). Expresiones algebraicas de la funcién z pueden ser las siguientes: 2= (XjOXg) + (Ky) + (Kp OXg) teveeeerh (GOR + LE (KX eet XM LARDF, +%) Solucién P9.- En todas las representaciones nimericas que se nombran en el enunciado, salvo la de niimeros sin signo, el bit de mayor peso representa el signo del mimero. Este bit de signo permite hacer una comparacién rapida entre dos nimeros, ya que los positivos son mayores que los negativos. Esto, en principio, es valido si restringimos el uso del nimero~ 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 ntimeros representan la misma cantidad, Si comparamos dos mimeros positivos o dos mimeros 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 nimeros A y B, y nos serviremos de los bits mas significativos para activar las salidas en caso de nimeros de distinto signo. Llamemos g, ey / a las salidas del comparador de las magnitudes A3.9 y B3.o: Aso Bf 4 cL rh B3o 4 Sean G, E y L las sefiales que comparan los nimeros con signo Aq.g y B4.9. Podemos obtener, en funcién de S1, Sg, Aq y Bg la siguiente tabla: AuBy S,Sp\ 000110 oo [get] oor | 100 [get or [get| 100 | 001 [eg 10 | ge!| 100 | oo1 [ger ne [get] 100 | oo1 | get GEL Para ntimeros sin signo, $;Sq = 00, tenemos las siguientes posibilidades: a) AgBy = 00 y AyBg = 11 el resultado de la comparaci6n depende de los 4 bits menos significativos, esto es, GEL = gel. b) AgBq = 01, el ntimero B es mayor que el A, por tanto L c) A4B4 = 10, el nimero A es mayor que el B, G= 1. Para niimeros en notacién S-M, tenemos las siguientes posibilidades: a) AqBg = 00, los dos mimeros tienen el mismo signo y, por tanto, el resultado de la MISCELANEA 377 comparacién depende de la magnitud, de forma que el que tenga mayor magnitud, seré el mas grande (GEL = gel). b) AqBg = 01, el ntimero A es positivo y el B, negativo, el mayor es el primero, G = 1. c) AqBy = 10, el mayor es el ntimero B, por ser positivo, L = 1 d) AgBq = 11, los dos néimeros son negativos y, por tanto, el mayor seré el que tenga menor magnitud, GEL = leg. Para niimeros en notacién Cal, tenemos las siguientes posibilidades. a) A4B4= 00, los dos mimeros son positivos: por tanto, el mayor de los dos ser el que tenga mayor magnitud, GEL = gel. b) AgBq = 01, el ntimero A es mayor por ser positivo, G = 1. ©) AgBq = 10, el ntimero B es el mayor por ser positivo, L = 1. d) AgB4= 11, los dos ntimeros son negativos. Hay que determinar la magnitud de ambos para saber cual es el mayor. Para resolver este caso, observemos primeramente un ejemplo de ntimeros negativos de 4 bits en esta notacién. - 7: 1000 - 5:1010 -4: 1011 Apartando el bit de signo, las magnitudes de los bits restantes son tanto mayores cuando el mimero es mayor. Por tanto, las salidas GEL = gel. Por iiltimo, se puede demostrar que, para niimeros en notacién Ca2, obtenemos los mismos resultados que en Cal Podemos ya determinar el circuito resultante, utilizando MUX de 4 canales: RHOn HOR OH+ 2000 moHm om mom 378 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solucién P10.- Enel ciclo de fetch (bisqueda) se debe encontrar la posicién a la que apunta inicialmente el contador de programa (PC), (por ejemplo, la direccién $K). A continuacién buscard la siguiente ($K+1) y, por tiltimo, la direcci6n $K+2. Ahf terminarfa el ciclo de busqueda y habré que dejar al contador de programa (PC) apuntando a la siguiente direccién de memoria $K+3. De esta forma, la secuencia de microoperaciones a realizar es: 1. MARH < PCH Almacena parte H de $K. 2. MARL € PCL ‘Almacena parte L de $K. 3. MDR €- MEMORIA, PC < PC+1 Carga “LDA” en MDR y pone PC a 4, IR © MDR ae “LDA” en el registro IR. 5. MARH < PCH Similar a 1, 2 y 3, ahora para traer 6. MARL < PCL “BO” a MDR y poner PC a K+2. 7. MDR < MEMORIA,PC < PC+1 _) 8. RT <— MDR Almacena “BO” en el registro RT. 9. MARH < PCH Similar a 1, 2 y 3, ahora para traer 10. MARL <— PCL “43” a MDR y dejar a PC apuntando a la siguiente instruccién K+3. 11. MDR <— MEMORIA, PC < PC+1 Aqui termina el ciclo de fetch. Comienza, por tanto, el ciclo execute de la instruccién LDA, que consiste en cargar el acumulador con Ia palabra de direccién $B043: AC < MEMORIA($B043) Para ello: 12. MARH < RT Pone la direccién de la palabra en el registro MAR. 13, MARL <~ MDR 14. MDR < MEMORIA El contenido de esa palabra se carga en MDR. 15. AC < MDR Desde MDR se transfiere al acumulador. Con ello se termina la ejecucién. Ahora volveria a iniciarse el siguiente ciclo de fetch. MISCELANEA 379 Solucién P11. a) Dada la expresién de la puerta umbral en la figura 1, para su realizacién basta con un comparador de magnitud de n bits que compare "A" ¢ "i" y un inversor para obtener la salida Z. En la siguiente figura se muestra dicho esquema: se 2 A —*> Comparador _ n de"n" bits ‘ B B-AsiB>A IA-Bl= De interpretar la expresidn anterior podemos deducir los elementos que necesitaremos para el disefio del circuito. Por un lado un restador que, en funcién de la comparacién de los niimeros A y B, realice A-B 0 B-A; comparadores de n bits y multiplexores de buses para la seleccién del substraendo y el minuendo. RESTADOR Sustraendo IA-BI wpe aa A 4x wy xy BAY xey Si el nimero A es mayor que el B, entonces |A-BI = A-B. En el circuito anterior, si se cumple esta condicién, se escoge el canal | de los multiplexores, por lo que el restador den bits realiza la operacin A-B Si el ntimero A es menor que el B, |A-Bl= 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-Cl, nos queda el circuito siguiente: Bp wen A Es a Minenso 4h RESTADOR Bodh, PA Sastraendo iA-BI Aa] * eyE— x yf Bo} y x ‘A continuacién 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 continuacién de ésta. Asf ocupamos los 40K que nos pide el problema. Ais Aw An Oe = M 1 0 0 Mo, i $96 Vacto I 1 1 Una posible solucién para el circuito de decodificacién es el que se muestra a continuacién: atta w— Dro La puerta NOR (R,W) habilita los decodificadores de memorias si hay acceso (RW = 01 © 10) e inhabilita dichos decodificadores si no hay acceso (RW = 00). Para la sefial CS> se ha utilizado un decodificador 2:4 dejando asf libres las lineas 1, 2 y 3 de salida para posibles expansiones del circuito. Si se desea reducir el coste se puede eliminar dicho decodificador y poner en su lugar una puerta OR (m, Aj4, Ay3) donde mes la salida 1 del decodificador 1:2. 390 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES m Au Ab b) Analizamos las palabras que se leerfan de las memorias si en el bus extemo de datos colocamos las siguientes direcciones: AisAigAi3= 111 No hay palabra fisica seleccionada. Ays=0 Acceso a My Aja~ Ap = $4342 Se accede a la palabra $4342 de My. Ais-Ap=$9CAD — Aj AygAy3=100 Acceso a My AizAi1-Ao=SICAD. Se accede a la palabra $1CAD de Ma, c) Para poder acceder a la direccién $753 1de M, tenemos que poner Aj5 = 0 y asf se- leccionar dicha memoria. Para el resto de las Iineas de entradas Ayg - Ag = $7531. Por tanto, la direcciGn que se necesita fijar en el bus externo es Ays~ Ag = $7531 De forma andloga, para acceder a la palabra $0246 de Mp tenemos que fijar Ajs Aig A13 = 100 y el resto de las Ifneas tomarfan los valores siguientes: Ain =0y Aj, - Ag = $246. Por tanto, uniendo todos los valores de las 16 Ifneas que componen el bus externo, la direcci6n que necesitamos colocar en dicho bus para acceder a la que nos planteamos es As ~ Ag = $8246. BIBLIOGRAFIA Nuestro propésito aqui es citar un pequefio conjunto de textos, a través de los cuales se pueden alcanzar dos objetivos: 1) que el lector pueda estudiar en ellos la teorfa de la materia que se aplica en este libro; 2) que en ellos se aporten suficientes Ifneas 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 conmutacién (Capitulos 1-10) esta suficiente- mente soportada en textos: existen muchos y poseen un variado enfoque, lo que garantiza el progreso en cualquier Ifnea. Nosotros hemos tenido que seleccionar los que consideramos me- jores. En cuanto a la materia correspondiente al nivel RT la situacién es bien distinta. Aunque el ntimero de autores que la tratan va aumentando cada vez mis, todavia no estd adecuadamen- te delimitado el cuerpo de doctrina. De aquf que esta materia se encuentre mucho menos es- tructurada en los libros existentes. Los fundamentos matematicos (Capitulos 1, 2 y, en parte, el 6) suelen estar bien presen- tados tanto en los textos més recientes (Garc92, Haye96, Llor96, Mano91, Nels95, Sand90, Wake94], como en otros més clisicos (Cava86, Givo70, Haye86]. En cualquiera de ellos pue- den estudiarse la mayor parte de las cuestiones de estos temas. Para profundizar, en particular, la codificacién binaria esta ampliamente estudiada en [Garc92]; un tratamiento elegante, sim- ple y riguroso del algebra y de las funciones de conmutacién se da en [Givo70]; los aspectos relacionados con la aritmética del computador se desarrollan ampliamente en [Cava86]; y un buen equilibrio se encuentra en [Haye86/96, Nels95, Wake94]. Ademés, para ampliar conoci- mientos sobre funciones especiales puede estudiarse [Unge89}. En el bloque relativo a los circuitos combinacionales, nuestro Capitulo 3 dedicado al andlisis Igico (incluyendo circuitos s6lo NAND (NOR)) y temporal (incluyendo azares) est bien tratado en [Garc92, Katz94, Mano91, Nels95, Wake94]. El disefio de circuitos a nivel de puertas (Capitulo 4) estd tratado mediante mapas de Karnaugh en todos los textos mencionados; en [Givo70, Mano91, Nels95, Wake94] se da una visién més acorde con nuestros contenidos, incluyendo el método de Quine-McCluskey, las diferentes formas de implementar expresiones sp o ps ¢ incluso las realizaciones con puertas XOR. Para el lector interesado, el disefio ayudado por computador (CAD) puede encontrarse en (Haye96, Katz94, 3901 392 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Nels95] y sobre todo [Hill93]. Los distintos subsistemas combinacionales (Capitulo 5) se desarrollan en (Garc92, Nels95, Sand90, Wake94]. En el Capitulo 6 se abordan los circuitos aritméticos, materia que estd bien desarrollada en [Garc92, Katz94] y sobre todo en [Nels95, Wake94]. Los circuitos y subsistemas secuenciales constituyen el siguiente bloque. En relacién al Capitulo 7, los elementos més bisicos (biestables) estén muy bien tratados en [Haye96, Katz94, Nels95, Unge89, Wake94]; la descripcién mediante maquinas de estados finitos y el anilisis de circuitos tanto a nivel de estados como a nivel temporal se desarrollan en [Garc92, Haye96, Mano91, Nels95, Wake94]. El disefio de circuitos secuenciales sincronos (Capitulo 8) estd bien presentado en [Katz94, Nels95], los cuales incorporan técnicas de CAD, encontrindose los aspectos ligados a la optimizacién del circuito (reduccién de estados, asignacién, eleccién del biestable) en [Haye96, Llor96, Mano91, Sand90]. En cuanto al Capitulo 9, dedicado a los subsistemas secuenciales, estos se explican adecuadamente en [Katz94, Mano91, Nels95, Wake94], destacando su uso en el disefio en [Almo94]. Por ultimo, el tema de nuestro Capitulo 10, memorias semiconductoras, esté muy bien presentado en [Haye86], teniendo también un adecuado desarrollo en (Garc92, Haye96, Mano91}. Los Capftulos 11 y 12 tratan los sistemas digitales a nivel RT. Las principales cuestiones, abordadas con un enfoque mas o menos genérico, pueden estudiarse en [Gree86, Hill93, Katz94, Llor96, Lync93, Mand91, Mano91/91b, Pros87, Taub83, Unge89] Concretando més, la descripcién a nivel RT se presenta bien en [Mano91b]; la interconexién entre registros, en [Katz94]; las cartas ASM, en [Gree86, Mano91]; un lenguaje de descripcién, en [Hill93); estrategias de diseiio de unidades de control, en [Gree86, Katz94, Mand91, Mano91, Taub83]; y un enfoque general especialmente bueno en [Katz94, Lync93]. Ademis, se pueden encontrar ejemplos de sistemas digitales especificos en [Pros87, Unge89] Asimismo, con un enfoque dirigido a los computadores, bien “sencillos” bien comerciales, estan (Haye86/96, Llor96, Taub83]. [Almo94]_ G. Almonacid et al.: “Circuitos digitales programables por el usuario”. Univer- sidad de Granada, 1994. [Cava86] J.J.F. Cavanagh: “Digital computer arithmetic: Design and implementation”. McGraw-Hill, 1986. [Garc92] _J.E. Garcia et al.: “Circuitos y sistemas Digitales”. Tebar Flores, 1992. [Givo70] _D.B. Givone: “Introduction to switching circuit theory”. McGraw-Hill, 1970. [Gree86] _D. Green: “Modern logic design”. Addison-Wesley, 1986. [Haye86] J.P. Hayes: “Diseio de sistemas digitales y microprocesadores”. McGraw-Hill, 1986. [Haye96] J.P. Hayes: “Introduccién al Diseio Légico Digital”. Addison-Wesley, 1996. BIBLIOGRAFIA 393 (Hill93] FJ. Hill and G.R. Peterson: “Computer aided logical design with emphasis on VLSI”. Wiley, 1993. [Katz94] _R.H. Katz: “Contemporary Logic Design”. The Benjamin/Cummings Publishing Company, 1994. [Llor96] A. Lloris y A. Prieto: “Disefio Légico”. McGraw-Hill Interamericana, 1996. {Lync93]_ M. A. Lynch: “Microprogrammed State Machine Design”. CRC Press, Inc., 1993. (Mand91]_E. Mandado et. al.: “Sistemas electrénicos digitales”. Marcombo, 1991. [Mano91] M.M. Mano: “Digital design”. Prentice-Hall, 1991. [Mano91b] M.M. Mano: “Ingenieria computacional. Disefio del harware”. Prentice-Hall, 1991 [Nels95] VP. Nelson et al.: “Digital Logic Circuit Analy 1995. is and Design”. Prentice Hall, [Pros87]_ EP. Prosser and D.E. Winkel: “The art of digital design: An introduction to top - down design”. Prentice-Hall, 1987. [Sand90] _ R.S. Sandige: “Modern digital design”. McGraw-Hill, 1990. [Taub83] _H. Taub: “Circuitos digitales y microprocesadores”. McGraw-Hill, 1983. [Unge89] S.H. Unger: “The essence of logic circuits”. Prentice-Hall, 1989. [Wake94] J.F. Wakerly: “Digital Design: Principles and Practices”. Prentice-Hall, 1994. Se trata de un libro de problemas resueltos en el campo del Disefio Légico. Ha sido disefiado para ensefiar como se aplican los conceptos y herramientas a casos concre- tos, empleando los conocimientos previos adquiridos por otras vias y resolver asi problemas aplicados al respecto, potenciando las capacidades de aplicacién de la teoria. El término Disefio Légico alude a materias como los Cir- cuitos y Sistemas Digitales o Teoria de la Conmutacién, donde se incluyen: + Fundamentos matematicos usuales: dlgebra de Boole, representaciones binarias de nimeros y su aritmética, codificacién binaria... + Presentacién, andlisis y disefio de circuitos combina- cionales y secuenciales, a nivel de conmutacién. + Descripcién y realizacién de sistemas digitales a nivel de transferencias entre registros (RT), organizando el sistema de una unidad de procesado de datos y otra de control. La metodologia aplicada en el diserio del libro pasa por la inclusion de dos tipos de ejercicios: aproximadamente, la mitad de ellos estan resueltos con detalle, sobre los cuales el lector aprendera la metodologia de su resolu- ién, y los restantes son ejercicios propuestos con la solu- cién indicada. Ademés se sigue una metodologia bottom-up, es decir, los problemas se organizan en orden creciente de dificultad. 109660! 9 "788448

También podría gustarte