Problemas de Circuitos y Sistemas Digitales

March 20, 2018 | Author: Johanan Sánchez | Category: Binary Coded Decimal, Bit, Decimal, Theory, Ascii


Comments



Description

www.FreeLibros.me PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Carm en Baena Oliva M anuel Jesús Bellido Díaz Alberto Jesús M olina Cantero M aría del Pilar Parra Fernández M anuel Valencia Barrero Departamento de Tecnología Electrónica Universidad de Sevilla M c G ra w -H ill MADRID • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MÉXICO NUEVA YORK • PANAMÁ • SAN JUAN • SANTAFÉ DE BOGOTÁ • SANTIAGO • SÁO PAULO A U C K LA N D • H AM BU R G O • LO N D R ES • M ILÁN • M O N TR E A L • N U E VA DELHI • PARÍS SAN FR A N C IS C O • S ID N E Y • SIN G A PU R • ST. LO UIS • T O K IO . TOR O N TO www.FreeLibros.me TABLA DE CONTENIDOS P R Ó L O G O ........................................................ 1. vii R EPRESEN TA CIÓ N Y CO D IFICA CIÓ N BINARIA ............................................1 2. Á LG EBRA Y FUNCIONES D E C O N M U T A C IÓ N ..................................................19 3. ANÁLISIS DE CIRCUITOS CO M BIN A CIO N ALES ............................................ 35 4. DISEÑO DE CIRCUITOS CO M BIN A CIO N ALES ..............................................51 5. SU BSISTEM A S CO M BIN A CIO N ALES ..................................................................89 6 . CIRCUITOS A R IT M É T IC O S .........................................................................................141 7. ANÁLISIS D E CIRCUITOS S E C U E N C IA L E S ...................................................... 169 . DISEÑO DE CIRCUITOS S E C U E N C IA L E S ........................................................ 197 9. SU BSISTEM A S SE C U E N C IA L E S ............................................................................229 10. M EM ORIAS SEM ICO N D U CTO RA S ................ 11. IN TRO D U CCIÓ N A LOS SISTEM AS D IG IT A L E S .........................................291 12. DISEÑO DE UNIDADES DE C O N T R O L .............................................................325 13 M IS C E L Á N E A ...................................................................................................................359 8 263 BIBLIO G RA FÍA ...............................................................................................................391 www.FreeLibros.me PRÓLOGO Este ejemplar es un libro de problemas resueltos en el campo del Diseño Lógico. Como tal libro de problemas ha sido concebido con la finalidad de enseñar cómo se aplican los conceptos y herramientas a casos concretos. Esto significa que nuestra atención no se centra en el desarrollo de la doctrina teórica, sino en tratar de explicar cómo interpretar enunciados de problemas más o menos bien especificados y, empleando los conocimientos teóricos adquiridos por otras vías, resolver ese problema en particular y no otro. Como se ve, nuestros objetivos primarios son potenciar las capacidades de aplicación de la teoría y la de resolución práctica de problemas. En cuanto a la disciplina, el término Diseño Lógico alude a materias tan bien conocidas como son los Circuitos y Sistemas Digitales o la Teoría de Conmutación. En ella se incluyen: 1) los fundamentos matemáticos usuales (álgebra de Boole, representaciones binarias de nú­ meros y su aritmética, codificación binaria); 2 ) la presentación, análisis y diseño 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 lógicas y, en el nivel superior, la arquitectura de computadores, así como los sis­ temas multiprocesadores. La proliferación de aplicaciones y el considerable aumento de la complejidad experimentada por los circuitos digitales en los últimos años 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­ seño Lógico. Nuestro libro está pensado para un primer curso de Diseño Lógico, con aplicación en diversos estudios universitarios tales como Informática (fundamentos del hardware) e Ingenie­ ría Electrónica (realización de sistemas digitales). También es útil en algunos campos cientí­ ficos, en concreto, los relacionados con la Teoría de Conmutación, la Teoría de Autómatas y la Aritmética del Computador. Además, al estar fuertemente enfocado a la resolución de pro­ blemas, este texto también puede servir a profesionales que deseen realizar una puesta al día www.FreeLibros.me 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 específicos previos ni en Electrónica, ni en Computadores, ni en Matemáticas avanzadas. Sin embargo, al ser un libro de problemas, el lector debe conocer a nivel teórico los conceptos, principios y técnicas del diseño digital. En la actualidad hay dis­ ponibles suficientes libros que cubren satisfactoriamente los aspectos teóricos de esta materia (véanse las referencias que citamos). A ellos deberá acceder el lector para conocer los funda­ mentos teóricos de este libro de problemas. No obstante, con el doble fin de resumir los con­ ceptos más importantes y de presentar la terminología que utilizamos, en cada Capítulo hay una pequeña presentación teórica. Además, en los problemas que introducen materias, durante su resolución se detallan los nuevos aspectos teóricos 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 éstos. Por otra parte y desde un punto de vista más práctico, 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 metodología 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 metodología “bottom-up”), avanzando desde lo más simple a lo más complejo. En gran parte el material es autocontenido por lo que no se necesita ningún prerrequisito. Básicamente la materia contenida en este libro de problemas está dividida en tres gran­ des bloques más un Capítulo final. El primero de los bloques (Capítulos 1 al 6 ) corresponde a circuitos combinacionales, el segundo (Capítulos 7 al 10) a circuitos secuenciales y el último (Capítulos 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. Así, cada bloque consta de varios Capítulos, cada uno de los cuales contiene problemas de una materia concreta. Los problemas de estos Capítulos han sido desarrollados procurando que el lector vaya aprendiendo a resolverlos dentro de esa materia. Por el contrario, el último Capítulo está ideado con la finalidad de que el lector evalúe su nivel de conocimientos. Para ello, por una parte, los problemas no se han ordenado según la materia, de forma que el lector no los sitúe a p rio ri en un contexto predeterminado; por otra, se incluyen algunos que afectan a más de una unidad temática; y, por último, 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 explícita­ mente cada solución. www.FreeLibros.me PRÓLOGO ix Concretando, la organización de este libro de problemas es como sigue: Capítulo 1 Aplicación de los conceptos básicos como son los sistemas de numeración y la codificación binaria. Estos problemas están orientados a practicar con las representaciones no decimales de magnitudes y las conversiones entre las distintas bases, así como la de núme­ 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. Capítulo 2.- Desarrollo de los problemas relacionados con el álgebra de Boole y con el manejo de las funciones booleanas incluyendo demostraciones de teoremas e identidades, y las diversas representaciones de funciones de n variables (tablas de verdad, mapas binarios y de Kamaugh) y los teoremas para dichas funciones que dan lugar a las expresiones canónicas y estándares. Capítulo 3.- Análisis de circuitos combinacionales, tanto a nivel puramente lógico como temporal, incluyendo técnicas específicas para el análisis de circuitos con sólo puertas NAND o ÑOR. Capítulo 4.- Diseño de funciones. En él se aplican técnicas de reducción para obtener las expresiones mínimas en suma de productos o producto de sumas (basadas en mapas de Karnaugh y en los métodos de Quine-McCluskey y de Petrick). Además se presta una especial atención a la obtención de los O's y los l's de una función cuando ésta se da a través de una descripción verbal de su comportamiento. Capítulo 5.- Presentación de los subsistemas combinacionales de propósito específico, 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 sólo lectu­ ra, los PLA's y los PAL's). Los subsistemas se estudian desde tres perspectivas: cómo se cons­ truyen a nivel de puertas, cómo se analizan circuitos que los contienen y cómo se diseñan funciones utilizándolos como componentes de la realización. Capítulo 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-lógicas). Capítulo 7.- Presentación del biestable tanto a nivel lógico (RS, JK, D y T) como a nivel temporal (sin reloj, disparados por nivel, tipo M aster-Slave y disparados por flanco). También se aborda el análisis de circuitos secuenciales. Se desarrollan tanto los circuitos síncronos o con una única señal de reloj, como los asincronos, incluyendo en éstos los que operan mediante entradas asincronas y los circuitos que poseen más de una señal de reloj. www.FreeLibros.me PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Capítulo 8 .- Diseño de circuitos secuenciales síncronos. Se muestran los distintos pasos del proceso habitual de diseño, sistemático en su mayor parte, y que consigue como resultado un circuito de coste reducido u óptimo. Algunos de los problemas van encaminados a practicar con determinados pasos del proceso mientras que otros muestran el proceso globalmente. Capítulo 9.- Desarrollo de los problemas de análisis de circuitos secuenciales construi­ dos con contadores y registros, el diseño interno de estos dispositivos para que posean opera­ ciones específicas, su realización mediante la asociación de subsistemas semejantes de menor tamaño y el diseño en general de funciones secuenciales. Capítulo 10.- Problemas de memorias semiconductoras. Básicamente están dirigidos 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). Capítulo 11.- Introducción al nivel de transferencia entre registros (nivel RT) y al diseño de sistemas digitales. En particular, se tratan las formas de descripción (notación RT, cartas ASM y lenguaje HDL), conectándolas con los bloques de circuitos funcionales, básicamente 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 a nivel RT. Capítulo 12.- Diseño de sistemas digitales completos, esto es, la unidad de datos y la de control. En los primeros problemas se parte de una unidad de procesado de datos conocida y hay que desarrollar una unidad de control adecuada. Finalmente se afrontan problemas de diseño completo de sistemas digitales. Capítulo 13.- Presentación de problemas de las materias ya tratadas. www.FreeLibros.me \ . En algunos sistemas la posición ocu­ pada por cada uno de los dígitos dentro de la secuencia está asociada a un valor determinado (peso).. Un sistema numérico de base r es un sistema posicional de representación donde los pesos de los dígitos son potencias de r. j = -m Para realizar cambios entre distintas bases existen diversos métodos. Así. una magnitud M puede representarse en la base r de la siguiente forma: M = dn-l dn-2 ••• d l d0 • d-l d-2 ••• d-m (r siendo dj un dígito de dicha base y cumpliéndose que d¡ e {0 . REPRESENTACIÓN POSICIONAL DE MAGNITUDES Un sistema numérico se caracteriza por sus símbolos básicos. cada uno de los cuales representa una determinada cantidad de unidades. Decimos entonces que se trata de un sistema de representación posicional. se utiliza el método de las divisiones sucesivas para obtener la parte entera y el método de las multiplicaciones sucesivas para obtener la parte frac­ cionaria.FreeLibros. En este Capítulo se usan fundamentalmente los siguientes: n. se aplica la fórmula: M = £ ¿L • r1. cada cantidad puede expresarse mediante una secuencia de tales dígitos. En consecuencia. r .Para cambiar de base 10 a base r.Para cambiar de base r a base 10. hay que describir cómo se representan los entes mediante 0 y 1 (codificación binaria) y. estos son llamados dígitos. Toda la información que ha de procesar un sistema digital ha de expresarse mediante combinaciones de esos dos valores. M j = -rn .. Desde el punto de vista matemático decimos que operan con señales binarias y los dos niveles se representan mediante 0 y 1. A su vez.Capítulo 1 REPRESENTACIÓN Y CODIFICACIÓN BINARIA Los circuitos digitales operan con dos niveles de señal. 1 .. 1 www. la mayoría de las veces una tensión baja y otra alta. más espe­ cíficamente.me .1 } y n —1 = £ d ■r1. por ser esencial en el cálculo.. cómo se representan los números. 602 x 10.En la notación complemento a 2. En este Capítulo trabajaremos con mantisas cuyo dígito más significativo es “no nulo” (notación normalizada). a.1 9 C. por ejemplo la velocidad de la luz.989 x 103 0 Kg o la carga del electrón: -1. a. www. etc. e ex­ ponente).. Por ejemplo. En nú­ meros positivos los demás bits representan la magnitud: bit de signo magnitud La forma de representar los números negativos es distinta para las tres notaciones: . la masa del sol: 1. se pasa en primer lugar de rj a 10 y después de 1 0 a r2. basta representar los valores de mantisa y exponente.me .Para cambiar entre las bases 2. Esto es lo que se hace cuando se representan números en punto flotante.FreeLibros. a_j a 2 . En algunos aspectos que de­ tallaremos a continuación las tres notaciones son similares.A = Ca2(A) = Cal (A) + 2'm REPRESENTACIÓN DE NÚMEROS EN PUNTO FLOTANTE La representación en punto (o coma) flotante se basa en la notación exponencial o científica.. complemento a 1 y complemento a 2. el número negativo es el complemento a 2 del co­ rrespondiente número positivo: . 8 y 16 (potencias de 2) se utiliza un método de agrupa­ ción de bits. ao .A = Cal (A) = 1 an_j an _ 2 .003 x 101 1 m/s ó 3000 x 10 m/s.Para cambiar de una base arbitraria rj a otra r2. En dicha notación los números se expresan en la forma M = m x b e (m mantisa. . Si se su­ pone conocida la base.2 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES .. b base. es 3 x 108 m/s ó 0.En la notación complemento a 1. REPRESENTACIÓN DE NÚMEROS CON SIGNO De entre las notaciones existentes para expresar números con signo nos hemos centrado en las notaciones signo-magnitud. Esto permite expresar cantidades de muy distinto tamaño de forma compacta.En la notación signo magnitud bs se hace igual a 1 y el resto de bits representan de nuevo la magnitud: ~ ^ 3 n "2 31 a° 3-1 3 -2 a'vy magnitud bit de signo .m . el número negativo es el complemento a 1 del co­ rrespondiente número positivo: . Una cantidad se puede expresar de muchas formas distintas en notación exponencial. Se designa un bit especial denomi­ nado bit de signo (bs) cuyo valor es 0 en números positivos y 1 en números negativos. c. por ejemplo. Para trabajar con números en punto flotante se suele adoptar un convenio acerca de cuál de las múltiples expresiones de la forma m x be es la que se escoge.. código código código octal hexadecimal hexadecimal 0 0000 0 000 0000 8 1 001 1 0001 0001 9 0010 2 010 2 A 0010 3 011 3 0011 B 0011 4 100 4 0100 C 0100 5 101 5 0101 D 0101 0110 6 110 6 E 0110 7 111 7 0111 F 0111 Entre los códigos más utilizados se encuentran los llamados códigos decimales.30000 x 109. . representaciones normalizadas de c serían: 3. en nuestro ejemplo: 30000 x 104. mediante palabras de n bits. Sin embargo. aunque el número de bits precisado para ex­ presar una cantidad es.0030 x 101 1 ó 0.me . Estos asignan a cada uno de los dígitos de la base 10 una palabra binaria. Por ex­ tensión cualquier código binario puede representarse mediante los dígitos de dichas bases. numéricos o no numéricos.0000 x 108 ó 3000.Notación entera: el punto decimal está a la derecha del último bit representado de la mantisa. Con su utilización se evita el proceso de conversión entre base 2 y base 1 0 . en general.REPRESENTACIÓN Y CODIFICACIÓN BINARIA supongamos que disponemos de 5 dígitos para la mantisa. La conversión entre la base 2 y la base 8 ó 16 se realiza por agrupación de bits.Notación fraccionaria: el punto decimal está a la izquierda del primer dígito represen­ tado de la mantisa. pero no lo sería 0. aún es necesario adoptar un segundo convenio para elegir una entre las diversas representaciones normalizadas. En la siguiente tabla se muestran algunos ejemplos: dígito decimal BCD natural BCD exceso 3 2 de 5 7 segmentos 0 0000 0011 00011 1111110 1 0001 0100 00101 0110000 2 0010 1101101 3 4 5 0101 00110 0011 0110 01001 1111001 0 0111 01010 0110011 0101 1000 01100 1011011 6 0110 1001 10001 0011111 1110000 7 8 9 J0 0 0111 1010 10010 1000 1011 10100 1111111 1001 1100 11000 1110011 www. Ahora presentaremos algunos códigos binarios de cada tipo. CODIFICACIÓN BINARIA Por codificación binaria se entiende la representación de un conjunto de entes.FreeLibros. Ese convenio se refiere a concretar cuál es la posición del punto decimal de la mantisa. En este texto se trabaja con dos convenios: .00003 x 10 1 ^. en nuestro ejemplo: 0.0 x 105 ó 30000 x 104. mayor. Así podemos hablar de código octal y código hexadecimal. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: .Números fraccionarios en punto flotante. Se trata por tanto de un código con distancia unidad. tanto mayúsculas como mi­ núsculas. los 10 dígitos decimales. PROBLEM AS RESUELTOS Problema 1.4 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Otro código de gran interés es el código Gray (o código reflejado) de n bits. Tras múltiples esfuerzos. . . El valor de dicho bit se asigna de forma que el número total de unos en la palabra sea par (hablamos entonces de bit de paridad par) o impar (hablamos entonces de bit de paridad impar).Recientemente se ha rescatado una extrañísima nave espacial que provenía de los confines de la constelación Ophiocus.Números con signo.. . @ . Mediante este código de 7 bits es posible codificar las 26 letras del alfabeto. secuencias de control como ESC. En vez de dos brazos. código código códig Gray (n=3) Gray (i Gray (n=4) 0 000 0000 1100 0 8 1 001 0001 1101 1 9 011 2 2 0011 10 1111 3 010 1110 3 0010 11 4 110 4 0110 12 1010 5 111 5 0111 13 1 0 1 1 6 101 0101 14 1001 6 7 100 7 0100 15 1 0 0 0 Como ejemplo de código alfanumérico. Puede observarse en ellas la particularidad de que las palabras asignadas a dos números consecutivos se diferencian únicamente en 1 bit.Conversión entre bases. A continuación se muestran algunos ejemplos: símbolo código ASCII símbolo código ASCII A 1 0110001 1000001 B 1000010 < 0111100 a 1000000 1100001 @ b 1100010 0011011 ESC 0 0110000 NULL 0000000 A cualquiera de los códigos anteriores se les puede añadir un bit de paridad. nuestros científicos han logrado deducir algunos datos sobre la civilización que la construyó. en este texto se usa el código ASCII. etc.Codificación binaria. sus criaturas poseían uno sólo que terminaba en una “mano" con un número B de www. En las siguientes tablas se muestran los casos n = 3 y n = 4. .FreeLibros.Representación posicional de magnitudes.me . NULL. caracteres como <. ( 5 ■B + 0) . En nuestro caso sería: 16 3 1 5 2w A do di 3 I | 3 ¿ o td td 2 3 Con lo que 16 = . 7. 1 ó 2.... dn.(5 ■B + 0) ■ 8 + (1 ■ B2 + 2 ■ B + 5 ) = 0 5 ■ 52 . = Solución Pl. Í = ~m Aplicando dicha fórmula a los coeficientes de la ecuación: 5.FreeLibros. 8 y 16. En un sistema posicional de base B una secuencia de dígitos.j 3 ' 1 + .5 + ( 1 . Para obtener los valores de los dígitos d¡ hay dos métodos: 1) Comprobar valores de d¡ hasta que la suma sea igual a la magnitud. se obtiene la expresión general.j d n _2 .(5 ■B + 0) . con d¡ = 0. 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.La cantidad “dieciséis unidades” en base 3 deberá cumplir (utilizando la nota­ ción decimal en las operaciones): 16 = . En nuestro caso: 16 = 1 • 3 2 + 2 • 3 1 + 1 -3 °= 121(3 2) Mediante divisiones sucesivas para la parte entera y multiplicaciones sucesivas para la parte fraccionaria.0 1 2 1 ( 3 = 121(3. 50 y 125.-Debemos encontrar un sistema de numeración B en el cuál se verifique que 8 y 5 son soluciones a la ecuación encontrada. obtenemos la siguiente: 5 X 2 ..B 2 + 2 .. Nótese que sin más que sustituir el dividendo por la suma del divisor por el cociente y del resto. representa a una magnitud M si se cumple que M = n —1 'Z d.. En un cuaderno que encontraron en la nave había escrito: “ 5X2 ..X + (1 • B2 + 2 ■ B + 5 ) = 0 Sustituyendo los valores = 8 y X2 = 5 en la variable X: 5 • 82 . Solución P2. los extraterrestres de Ophiocus poseían 13 dedos en su único brazo.me .5 0 X + 1 2 5 = 8.. + d 3 • 3 3 + d 2 • 32 + dj • 3 1 + 1 • 3o + d.B + 5) = 0 Basta resolver el sistema formado por estas dos ecuaciones para encontrar que el único valor de B que satisface ambas es B = 13...Representeposicionalm ente la cantidad "dieciséis unidades"en las bases 3. Por tanto. Problema 2. ¿cuántos dedos (B) poseían? 0 —> X.B1.REPRESENTACIÓN Y CODIFICACIÓN BINARIA dedos.. www. d¡ d0. 75 • 2 = 1. en esta ocasión.75 en las bases 2...75 -» d _2 = 3 = d 3 = . todas las siguientes multiplicaciones darían como resultado 0 y. por tanto.0 La parte entera. 8 y 16.5 —> d. w1 A 0 t t Por tanto: 23(10 = 10111( 2 Igualmente para las otras bases obtenemos: 23(10 = 43(5 = 35(6 = 27(8 = 17(16 En cuanto a la parte fraccionaria.j = 4 0. 23. Como la parte fraccionaria es 0. por tanto. 23. Para pasar a base 2: 23 I 2 2 T A d0 d. 23. la parte fraccionaria es la que se multiplica por la base en el paso siguiente: 0. nos da el bit d_2.8 ° = 2 0 ( 8 16= 1 • 161 + 0 . ha de obtenerse mediante el método de las multiplica­ ciones sucesivas. Problema 3.8 1 + 0 .333 . “r unidades” en base r se representa 10(r..Obtendremos en primer lugar la representación de la parte entera por el método de las divisiones sucesivas..11( 2 y 23. Por tanto: 0.5 La parte entera de esta cantidad es d.75(10 = 27.) son iguales a 0 . . d_4. por tanto.75 ( ] 0 = 0..75 • 5 = 3. por tanto. Solución P3.43(6 Para base 8 : 0.j.75(j0 = 35. En el caso del paso a base 2: 0.5 • 6 = 3.me . el resto de los bits (d_3 . 5.0 d 3 = 3..FreeLibros.5 -2 = 1..6 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Operando de la misma forma para los demás casos obtenemos: 16 = 2 -7 1 + 2 -7 ° = 22 ( 7 16 = 2 . .75 • 6 = 4.11( 2 Para base 5: 0. d _2 = 0 = d _3 = ..6..75 • 8 = 6. .16°= 1 0 ( 1 6 En general.R epresente e l número decimal 23.75(10 = 43.. ( 5 Para base 6 : 0.75 —> d_¡ = 3 0.75 • 5 = 3.j = 6 .0 —> d.75(10 = 10111. d _4 = 0 = d _5 = .6(g www. Los matemáticos del reino concluyeron que no había arroz suficiente para p ag ar a l inventor. tenga­ mos en cuenta que n ha de cumplir la siguiente desigualdad: 2n ~ 1 . 1000. Solución P 6 .. + 1 • 2 6 3 Esta cantidad es una unidad menos que la representada por un 1 seguido de 64 ceros. ¿Sabría decir cuántos granos de arroz se necesitaban? Solución P5. 2) Por búsqueda en la tabla de potencias de 2.. b) 5 0 (8. d ) 198F(16. el número compuesto por 64 unos: M = 1 1 .90625(10 b) 50(8 = 5 • 8 + 0 = 40(io c) 1 0 1 . . 23. . j = -m a) 1 0 0 .1 1 1010(2.■ r1 y realizar las operaciones. d _2 = 0 = d ... 1 1 1 1 ya que en ese caso M = 1 • 2o + 1 • 2 1 + 1 • 2 2 + . 3 = . .1 = 1.C( 1 5 Problema 4.75 16= 12. hasta llegar a la última ca­ silla (la número 64).me .2 °+ 1 • 2 ' 1 = 5. por tanto.¿Cuántos bits son necesarios como mínimo para representar cada uno de los siguientes números decimales? 50..2 2 + 1 .1(2. en base 2. c ) 1 0 1 . ofreció al inventor del ajedrez el premio que desease. 100000 y 1000000.Convierta los siguientes números a base 10: a) 1 0 0 .1 El valor de n puede deducirse de dos formas: 1) A partir de la expresión n = |~lg 2 ( M + 1) ] donde Tx ] es el entero por exceso de x. encantado con el juego. www.REPRESENTACIÓN Y CODIFICACIÓN BINARIA 7 Para baseló: 0.1 < M < 2n . 1 (2 = 1 .5( 1 0 d) 198F(16 = 1 • 163 + 9 • 162 + 8 • 161 + 15 • 16° = 6543(10 Problema 5 .FreeLibros. Solución P4. E l inventor sólo pidió 1 grano de arroz p o r la primera casilla del tablero.-S e cuenta que un rey. 1 1 1 0 1 0 ( 2 = 1 ' 2 2 + 1 • 2 ' 1 + 1 • 2' 2 + 1 • 2 " 3 + 1 • 2 ' 5 = 4.75(jq = 17. 5000.. 4 p o r la tercera y así.0 —» d_i = 12.844674407 x 1019.Para calcular el número mínimo n de bits que representa la magnitud M . 2 granos p or la segunda. e l doble cada vez. . Problema 6.-La cantidad pedida M es. Entonces: M = 26 4 .Para convertir a base 10 basta sustituir el valor de la base y de los dígitos en la expresión n —1 M - £ d. Por otra parte. 2 de B. a) Identifiquemos cada una de las seis cajas con una letra: caja A. para convertir a base 8 ó 16 se agrupan de tres en tres o de cuatro en cuatro bits respectivamente. 8 ó 16 a base 2. caja C. ¿Cóm o podrán ahora detectar las cajas erróneas con sólo una pesada? Solución P 8 . Deben detectarla y reenviarla a Tritón. Los operadores de Ganime­ des deciden detectarla mediante una sola pesada. Solución P7. b) En este caso será necesario tomar 1 pila de A. ¿Cóm o? b) Tiempo después y tras otro envío. o viceversa..22(4 = 360. la conversión entre las bases 4 y 16 también se realiza de la misma forma. 4 y 16 y el número FO.1 0 5 en base 8 a base 2. Si pesamos 1 pila de la caja A.1011 0 5 B 3. el aviso es que una o más cajas contienen pilas m alas con 1 g de menos. Entonces: 1 01 10 11 0 0 11. 4 de D. 16 de E y 32 de F. 2 de B.A ( 1 6 = 1111 0000.FreeLibros. a) Tras un envío se avisa a Ganim edes que. caja D. caja B. Las pilas son enviadas desde Tritón en 6 cajas de 5 0 pilas cada una. 001 000 101( 2 = 3322. 3 de C. 4 de C. p o r error. la cantidad de gramos que falten para un número entero de Kg indica la caja errónea. 8 de D.Para convertir un número de base 2 a base 4.. el número de gramos que faltan para un número entero de Kg representados www.En la colonia humana de Ganim edes la energía se obtiene con pilas atómicas de exactam ente 1 Kg de peso. Sin embargo. el número 3 7 2 .10110 a las bases 4. una de las cajas contiene pilas malas con 1 g de menos.101 10 2 6 6 3.. se hace la descomposición inversa.Convierta el número binario 1 01 10 110011. Por tanto: 372. De la misma forma. 5 de E y 6 de F. B 0( 1 6 Para pasar de bases 4. 8 y 16. basta agrupar a partir del punto fraccionario de 2 en 2 bits y convertir cada grupo a base 4 . 2 3 0 ( 4 10 110 110011.50(8 Problema 8. caja E y caja F. 5 4 ( 8 1011011 0011. conviene pasar antes a base 2. 4 y 8.105 ( 8 = 011 111 010.A en base 16 a base 2.1010(2 = 3300.me . Con esto.10 11 0 1 1 2 3 0 3.8 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Para los números decimales propuestos tendremos: M 50 1000 5000 100000 1000000 n 6 10 13 17 20 Problema 7 . para pasar de base 8 a base 4 ó 16.228(16 F0.02022(4 = FA. me . B. 25 = 32 para B . D. se podrá adivinar el número pensado.. De aquí que haya 7 tarjetas (A. F y G pero no en las otras. El número 43 expresado en binario es: 101011 lo que señalaría a las cajas F . El resto de números en cada tarjeta son aquellos cuya representación en base 2 contiene un 1 en la posición de la potencia correspon­ diente a la tarjeta. si está en las tarjetas A. D. G) cada una encabezada por una potencia de 2 (2 6 = 64 para A. Sabiendo que el juego se basa en la representación binaria de magnitudes: a) Explíquelo. supongamos que las cajas erróneas son A. b) ¿ Cómo lo cambiaría si quiere incluir hasta el número 123? ¿ Y si incluye hasta el 200? 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 96 97 98 99 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 f '¡ ® 4 5 6 7 1213 ^ 14 15 20 21 22 23 28 29 30 31 36 37 38 39 44 45 46 47 52 53 54 55 60 61 62 63 68 69 70 71 76 77 78 79 84 85 86 87 92 93 94 95 • 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3148 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 23 67 10 11 ^ 14 15 18 19 22 23 26 27 30 31 34 35 38 39 42 43 46 47 50 51 54 55 58 59 62 63 66 67 70 71 74 75 78 79 82 83 86 87 90 91 94 95 98 99 89 10 11 12 13 14 15 24 25 26 27 28 29 30 31 40 41 42 43 44 45 46 47 56 57 58 59 60 61 62 63 72 73 74 75 76 77 78 79 88 89 V 90 91 92 93 94 95 \$ > f — ' 1 3 5 7 9 11 ^ 13 15 17 1921 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 X£> Solución P9. Conociendo sólo esto. F y G. sin decir cuál es. F y G. B. Por ejemplo..La figura representa 6 cartas con las que se pretende hacer un juego de magia..B A. por ejemplo: el 11 l(j 0 = 1101111( 2 se incorporaría a A. D y F: entonces. se trata del número 75.. debe indicar las cartas donde el numero está presente. se representa en binario con 7 bits. El número 75 (= 64 + 8 + 2 + 1) estará sólo en las tarjetas A. Así el 99 estará en las tarjetas A. F y G. concretamente como 99(2= 1100011.REPRESENTACIÓN Y CODIFICACIÓN BINARIA 9 en base 2 indica las cajas erróneas. Por ejemplo. el 99.2 4 = 16 para C. D.FreeLibros. faltarán 1 + 2 + 8 + 32 = 43 g. Problema 9. B. a) El mayor número. Alguien debe pensar un número y. b) El 123 precisa también 7 bits por lo que no hay que aumentar el número de tarjetas. B. E.. etc. A cada una de éstas habría que incorporar los nuevos números (del 100 al 123) de la forma explicada antes.D . etc). C . www. es $36. dos números simétricos tienen códigos adyacentes.me . e) En código A S C II con paridad par. 26 letras mayús­ culas. La distancia unidad implica que dos números consecutivos tienen códigos adyacentes (sólo se diferencian en un bit). c) Código G ray asumiendo que se representan del 0 a l 15. tal como se muestra.FreeLibros. Solución PIO.PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 10 Para añadir hasta el 200 se necesitaría una nueva tarjeta encabezada por 128 = 27 . g) En código "2-out-of-5". La codificación procede de un convenio y. implica simetría respecto a la mitad de los números representados. expresado en código hexadecimal. el código del 6 es 0 1 1 0 1 1 0 que. ya que para representar números mayores de 128 se precisan 8 bits.. el código Gray será: 000 001 011 010 0 1 2 . para asignar valores del código a los diez números (0-9) lo haremos con los 10 códigos centrales. con lo que. en concreto. a) Para representar los números del 0 al 7 necesitaremos 3 bits. Problema 10. Al ser un código re­ flejado. d) En código A SC II. e) Para un código de n bits. Por tanto. | 0 0 0 0 0001 0011 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 |0 1 0 0 1100 1101 b) - - - 0 1 2 3 4 5 c) 1 2 3 4 5 | jT ] 7 8 0 6 1111 1 1 1 0 10 1 0 1011 1001 1000 7 8 9 - - - 10 11 12 13 14 15 (eje de simetría) d) El código ASCII consta de 7 bits y representa 26 letras minúsculas.Represente el 6 en los siguientes casos: a) Código Gray asumiendo que se representan del 0 a l 7. incluir la paridad supone añadir 1 bit adicional a los n ante­ riores que se llama bit de paridad. el ser un código reflejado. b) Código Gray asumiendo que se representan del O a l 9. 32 caracteres especiales y 34 comandos. como los 16 números del 0 al 15 se necesitan 4 bits. Por otra parte. 10 dígitos decimales. 3 i 110111 101 100 4 6 5 7 (eje de simetría) b) y c) Para representar tanto los diez números del 0 al 9.. En la codificación de los 16 números (0-15) ocupamos los 16 códigos existentes. Su fin es hacer que el número total de unos en el código www. f) En código A S C II con paridad impar.El código Gray es un código reflejado de distancia unidad que utiliza el mínimo número de bits necesarios. con lo que el código Gray a utilizar es el de 4 bits. En hexadecimal será $36. La posición del bit de paridad es convenida previamente. -2. -1. -2.REPRESENTACIÓN Y CODIFICACIÓN BINARIA 11 (ahora de n + 1 bits) sea par en el caso de paridad par o impar en el caso de paridad impar. f) El código ASCII de paridad impar para el 6 será 10110110 (añadimos un 1 para tener un total de cinco unos). La codificación es la mostrada a continuación: código número 0 00011 1 00101 2 00110 3 4 5 01001 01010 01100 10001 6 7 10010 8 10100 9 11000 Problema 11. -1. junto con el bit de paridad que hay que generar para que en cada dígito haya un número impar de 1 . ponemos el bit de paridad en primer lugar.me . Solución PH .FreeLibros. dígito 8 4-2-1 p 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 2 3 4 5 0 1 0 1 1 0 1 0 0 0 1 0 11 0 6 7 1 0 1 0 1 1 0 0 1 8 1 0 0 0 0 1 1 1 1 1 9 1 www. g) El código 2-out-of-5 representa los 10 dígitos decimales mediante 5 bits de los que tres son 0 y dos son 1.-E n la siguiente tabla. $B 6 . 4.Determine el bit de paridad im p a rp ara cada uno de los 10 dígitos decimales en el código 8. El código ASCII de paridad par para el 6 será 00110110 (añadimos un 0 para tener un total de cuatro unos). En hexadecimal. se muestra la codificación para cada dígito decimal en el código pesado 8 . por ejemplo.. 4. bjbo El complemento a 2 puede obtenerse de dos formas: sumando 1 al complemento a 1 (ya que Ca2(B) = Cal(B) + 1) ó dejando iguales todos los bits menos significativos hasta llegar al primer bit igual a 1 (que también se deja igual) y complementando los bits restantes.Nn_2)-(9 .bjbo se obtienen su complementos a 1 y a 2. ± Solución P14. 2 .Nn_j)(9 . siendo una representación sin signo...N0). De esta definición podemos inferir que si N = Nn. entonces Ca9(N) = (9 . El complemento a 1 se obtiene como Cal(B) = bn_jbn. b) ± 64..1) . 10000 . c) ± 15.Obtenga el complemento a 9 y a 10 de los siguientes números decimales: 13579. 0000001 . a 9 compl.. operando como en el problema 2: a) 1 2 2 = 1 1 1 1 0 1 0 ( 2 b) 64 = 1000000(2 c) 15= 1 1 1 1 ( 2 d) 37 = 100101(2 www. a 2 1010101 0101010 0111000 1000111 1001000 0000001 1111110 1111111 10000 01111 10000 00000 11111 00000 0101011 Problema 13.12 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 12.me . signo-magnitud..jNn.N. Esto es. a 1 palabra compl.)(9 . no podemos representar+N ni -N sino sólo N.N...Dado B = bn_]bn_2 .Obtenga el complemento a 1 y a 2 de los siguientes números binarios: 1010101 . Solución P13..2 -. d) ± 37.La representación binaria con n bits permite representar los números compren­ didos entre 0 y 2n_1. En particular. 00000. Para las palabras propuestas: compl. 90090. 10000.FreeLibros. 09900.Represente con e l mínimo número de bits posibles los siguientes números de­ cimales en notación binaria. complemento a 1 y complemento a 2: a) 122.NjNo..Se define Ca9(N) = (10n . a 1 0 13579 86420 86421 09900 90099 90100 90090 09909 09910 10000 89999 90000 00000 99999 00000 Problema 14. 00000 . 0111000 .. Solución P12.1 = Ca9(N) + 1 Para las cantidades propuestas en el enunciado: número compl. Por otra parte CalO(N) = 10" . 7 Solución P15.Un número negativo se representa mediante el complemento a 2 del correspondiente número positivo.7 2) .FreeLibros. apli­ que la notación. en los dos casos siguientes: a) Redondeando el valor.122=10000101 b) + 64 = 01000000 .6 2 5 3 ) + 3 3 . 1) + 2 7 . no es necesario redondear ni truncar la parte fraccionaria pues sólo hay tres dígitos en la parte fraccionaria del número exacto.REPRESENTACIÓN Y CODIFICACIÓN BINARIA 13 La representación signo-magnitud añade un bit de signo (0 para + y 1 para -) a la repre­ sentación binaria de la magnitud. 6 2 5 4)-33.64 = 10111111 c) + 15 = 01111 .me 1 .3 7 = 1011010 La representación en complemento a 2 sigue el siguiente convenio: .(2n~* . obtenga primero e l valor de la magnitud y.1). a) + 1 2 2 = 0 1 1 1 1 0 1 0 . en este primer caso.2n _ 1 y + (2 -1). con n bits pueden representarse todos los números enteros comprendidos entre .l). Con n bits pueden representarse todos los números enteros comprendidos entre .67 7 ) + 4 5 . . En particular. después.15 = 10000 d) + 37 = 0100101 .Un número positivo se representa igual que en signo-magnitud. Represente los siguientes núme­ ros en las notaciones signo-magnitud.64 = 11000000 c) + 15 = 01111 .1) y + (2n. Sobre ellas se escriben números fraccio­ narios en punto fijo dedicando 3 bits a la parte fraccionaria. Nota: Para los números negativos.1 2 2 = 10000110 b) + 64 = 01000000 .1 5 = 11111 d) + 37 = 0100101 .67 8) .3 5)+45. situando ese bit de signo en la posición más significativa. la representación con 10 bits (7 para la parte entera y 3 para la fraccionaria) sería: 0 0 1 1 0 1 1 0 www. En particular. Entonces. 1) + 27.4 5 .3 7 = 1100101 La representación complemento a 1 sigue el siguiente convenio: .3 6)-45.Un número negativo se representa complementando a 1 el correspondiente número positivo. Con n bits pueden representarse los 2n números comprendidos entre .1 2 2 = 11111010 b) + 64 = 01000000 .3 7 = 1011011 Problema 15.1 0 1 (2 . Por tanto. b) Truncando e l valor.15 = 10001 d) + 37 = 0100101 .Se dispone de palabras de 10 bits.(2n _ 1 .Un número positivo se representa como en los casos anteriores. En nuestro caso.1 .625 = 0011011. a) + 1 2 2 = 0 1 1 1 1 0 1 0 .1) y + (2 n _ 1 ..64 = 1000000 c) + 15 = 01111 . a) + 1 2 2 = 0 1 1 1 1 0 1 0 .2 7 . . complemento a 1 y complemento a 2. 0. los otros 2 0 bits nos permiten alma­ cenar 5 dígitos BCD.010s. Por tanto el rango cubierto es [0. 8 ). tenemos 9 bits. truncando en 3 bits para la parte fraccionaria: 0 1 0 1 1 0 1 . = 1100100.0. 2. Cada dígito BCD es codificado por 4 bits.m = 1011110.. En nuestro caso.010C a 2 (redondeando). redondeando: 0 1 0 1 1 0 1 .1 x 10-99.99999 x 1099. 5) + 45. 4 )-3 3 . Aceleración de la gravedad en m/s2 (9.110s_m = 1010010.110s.Se dispone de 3 0 bits para escribir números en notación exponencial.1 x 10~". Disponemos de 2 1 bits para la mantisa de los cuales uno es para el signo. Por tanto.101 y redondeando: 0 1 0 1 1 0 1 .110s_m = 1010010.27. a ! = 1010010. Por tanto la base es decimal.14 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 2 ) .101s. 6 )-4 5 .010. Mantisa y exponente se escriben en notación signo-magnitud.109x10~31). el punto decimal se encuentra a la iz­ quierda del primer dígito representado y ese primer dígito ha de ser no nulo.807). -4 5 ..me . b) R epresente en B C D los siguientes números: 1.3 = 0100001. 4.010C a 2 (redondeando). .3 = 1100001. y el mayor representable: mantisa + 99999 y exponente + 99 que corresponde al 0.110c a 2. 3) + 33.1 x 10-99]. 1 1 0 . D e ellos se destinan 21 a ia mantisa y 9 a l exponente..6 7 = 1101101.67 = 0101101.En notación exponencial los números se expresan en la forma: M = m x b e (m mantisa. uno para el signo y 8 para dos dígitos BCD. es decir.625 = 1011011.99999 x 10 ]. Cero. 7) + 45..m = 1010010.001c a j = 1010010. Infinito.6 7 = 1101101. 0.101c a j = 1011110. -4 5 .01 l c a 2 (truncando).1. el espacio disponible se distribuye de la siguiente forma: mantisa exponente Sm Se Utilizaremos normalización fraccionaria. www. Carga del electrón en culombios ( . 1 1 0 .0100.7 = 1101101. 3.99 que corresponde al 0. e exponente).7 = 1101101.010C a 2 (truncando). En cuanto al rango de valores negativos.1011 truncando en 3 bits para la parte fraccionaria: 0101101.. 6. será [. En cuanto a la parte fraccionaria.99999 x 1099.10101.. a ) Determine los rangos de valores decimales que se pueden escribir. redondeando se obtiene el mismo valor ya que el valor exacto en el bit b _4 es 0 . Velocidad de la luz en m/s (3x1o8). hay que representar las cantidades pedidas en BCD.7 = 0101101.101s. 1 0 1 . 5. truncando en 3 bits para la parte fraccionaria: 0100001. a) El rango de valores positivos que se puede representar viene dado por el menor nú­ mero representable: mantisa + 10000 y exponente .m = 1100100.001c al = 1010010.4 5 . Problema 16.01 lc a 2.602x10 ~ 19).010c.FreeLibros.m = 1010010. M asa del electrón en kilogramos ( 9 . Solución P16.001c a l = 1010010. b base.010c a . c) Un número hexadecim al binario codificado (asuma base 16).5(]0 = 0111111000000 x 2_ 7 ( 2 Entonces la mantisa.infinito 0 1001 1001 1001 1001 1001 1 1001 1001 1001 1001 1001 0 1001 1001 0 1001 1001 mantisa exponente Problema 17.9807 x 10 . normalizado —> 0. (Nor­ malmente se ponen todos los dígitos de la mantisa y el exponente a 0 .REPRESENTACIÓN Y CODIFICACIÓN BINARIA 15 b) Las cantidades propuestas quedan: 1) 3 x 108.5 )10 con un coeficiente entero normalizado de 13 bits y un exponente de 7 bits como: a) Un número binario (asuma base 2). www.807. pero bastaría sólo con fijar a cero el primer dígito de la mantisa). los 30 bits serán: 0000 0 000 0 0001 5) Por convenio. es: 0 1111110000000 y el exponente. es: 1 000111 . los 30 bits serán: 0 0011 000 0 0 00 0 0 00 0 000 0 0 0 00 0 1001 mantisa exponente 2) . Con signo negativo. Solución P17.602 x 10-19. Con signo positivo. a) 31.FreeLibros. los 30 bits serán: 0 1001 0001 0 00 0 1001 0 00 0 0011 000 0 o 0 1001 o o o o o 4) 9.9109 x 1030JU. es el único número con el primer dígito de la mantisa a 0. 1 ( 2 pero hemos de escribirlo en forma exponencial de manera que la mantisa tenga 13 bits (incluido el bit de signo) y el exponente 7 bits (incluido bit de signo): 31.me . será el menor representable: + infinito . X 0000 xxxx xxxx xxxx xxxx xxxx xxxx 6 ) Infinito.1602 x 10-18. de 13 bits. de 7 bits.5(]0 = 1 1 1 1 1 . normalizado —» 0.1..109 x 10 31. normalizado —> 0. los 30 bits serán: 1 0001 0110 000 0 001 0 0 000 0001 1000 3) 9. cero. por convenio viene dado por el mayor número representable.0.3 x 109. b) Un número octal binario codificado (asuma base 8). normalizado —» .Represente e l número (+ 3 1 . deberá obtenerse en primer lugar el número en base 1 0 . la mantisa será: 0 0 0 0 1 1 1 1 1 1 0 0 0 . PROBLEM AS CON SOLUCIÓN RESUMIDA Problema 18.764(8 = 37.0111 (BCD).007(10 = = 0 0 0 1 0 0 0 1 0 0 1 1 . es 1 000 010.16 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) 31.0110 0 0 10 0101 (BCD).5(8 = 2818.El código BCD corresponde a la representación binaria de un número decimal.00000010(2 = 161.Pase los siguientes códigos hexadecimales a código binario.02. por tanto.5(io = 37. c) 31 -5(io = lF. FA.1010 ( 2 = 5402. y cada dígito octal se codifica mediante tres bits. Para pasar un número desde una determinada base a BCD. Solución P19. Por tanto..4(8. 31.977 ( 1 0 = = 0 0 1 1 0 1 1 1 . b) 94. c) $25. d) $71.FreeLibros. www. Esta se obtiene asociando a cada dígito decimal su representación binaria de 4 bits. en este caso la normalización ha de realizarse teniendo en cuenta que un dígito hexadecimal se codifica con 4 bits. con lo que la mantisa quedaría: 0 011 111 100 000 y el exponen­ te. y el exponente quedará: 1 0 0 0 0 0 1 . y después hacer la conversión antes indicada. Entonces: 31 -5(io = 3740 x 8 ~2(8.625(10 = = 00 10 1000 0001 1000.B5 = 1111 0010.. a) 17(]o = 1 0 0 0 1 ( 2 .B 5.5(jo = 1 F 8 x 16~’. Sin embargo. octal y BCD: a) $F2.B5 = F X 16 + 2 x 16° + 11 x 16'1 + 5 x 16‘2 = 242. b) 94 ( 1 0 = 1011110(2 • Problema 19. a) $F2.. de 7 bits.101 101 010 ( 2 = 362.1111 1010( 2 = 45.A. Para representarlo en BCD pasamos a base 10: $F2.004(8 = 113.552(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).1011 0101 ( 2 = 011 110 010. 1 0 0 1 0 1 1 1 0 1 1 1 (BCD).02 =0111 0001. ha de tener 4 dígitos hexadecimales ( 1 2 bits). d) $71.8 (i6.A = 1011 0000 0010. Procedemos de igual forma con el resto de los casos: b) $B02.FA =0010 0101. c) $25. Solución P18. b) $B02.70(10 -> 0010 0100 0010.me . 0 0 0 0 0 0 0 0 0 1 1 1 (BCD). La mantisa. por tanto. en este caso se trata de dígitos ocíales. hemos de escribirlo en forma exponencial de modo que la mantisa tenga 4 dígi­ tos octales (+ el bit de signo son un total de 13 bits) y el exponente 2 dígitos ocíales (+ el bit de signo hacen un total de 7 bits).Represente los siguientes números decimales en base 2 y compruebe el re­ sultado: a) 17. 8620(]q ~ * 1110 1100 0010 0000 d) Lo más fácil es pasar primero a base 16 por el método de las divisiones sucesivas y después pasar a base 2 . por ejemplo. desde base 16. En este caso n = 10.FreeLibros.REPRESENTACIÓN Y CODIFICACIÓN BINARIA 17 Problema 20. 1 y (d) como número binario.Represente el número decimal 8 6 2 0 (a) en BCD. a) 8620(lo -> 1000 0110 0010 0000(BCD). 4 .4. Solución P20. (c) en código 2. Pesos: dígito 2 42 1 decimal 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 11 3 4 5 1 0 1 0 0 1 0 11 6 7 1 1 0 0 1 1 0 8 1 1 1 0 9 1 1 1 1 1 Entonces. es 0001000000.4. Solución P21. 8620(10 -> 21 AC ( 1 6 -> 0010 0001 1010 1100( 2 -> 10000110101100( 2 . (b) en código exceso 3..2...1. b) 8620(10 -* 1011 1001 0101 001 l (exceso-3)c) El código 2. El código binario para el número 6. A cada dígito le asigna un código de nueve ceros y un uno.2. también llamado “1-out-of-n”. Problema 21.Un código binario usa 10 bits para representar cada uno de los diez dígitos decimales. 2 .me .1 es un código pesado de 4 bits cuyos pesos son precisamente 2.Se trata del código “ 1-hot”. Determ ine e l código binario para los números de­ cimales restantes. dígito b9 bgb7 b6 b5 b4 b3 b2b tb0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 1 0 0 3 4 5 0 0 0 0 1 0 0 0 0 0 6 0 0 0 1 0 0 0 0 0 0 7 8 9 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 www. 0. + (2 n _ 1 ..Obtenga un código binario pesado para los dígitos de la base 12 usando los pesos 5421. + (2 3 1 —1 )] Problema 24..Cantidad menor positiva: Base 2 fracción normalizada.(2 n _ 1 . con base 2.. Los coeficientes ocupan 21 bits del registro y se asume como un entero nor­ malizado.Cantidad mayor positiva: .+ 127] 8 [.+ 127] [.1).32768.1)] . Los números en el coeficiente y el exponente se asum en representados en forma de signo-magnitud. www.me .Con n bits se representan los siguientes rangos: . dígito 6 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 11 3 4 5 dígito 542 1 7 1 8 9 A B 0 1 0 0 1 0 0 0 542 1 1 0 0 1 1 0 1 0 1 0 11 1 1 0 0 1 1 0 1 1 1 1 0 Problema 23.2 5 5 = 2“256.1)] .1)] Entonces para los valores de n propuestos: complemento a 2 signo-magnitud y n2 de bits complemento a 1 [.Un registro de 3 0 bits alm acena un número decimal en punto flotante repre­ sentado en BCD..Complemento a 1: [. 16 y 3 2 bits.Signo-magnitud: [. Repita para representación binaria.2n_1.32767. 0.. 10000 x 10“" = 10_95.000 x 2_ 1 1 1 1 1 1 1 1 = 2_ 1 x 2.2“21)x 2255. + (2 n _ 1 . si se representa con fracción normalizada. Solución P22. ¿C uáles son las cantidades mayores y menores que pueden ser acomo­ dadas excluyendo el cero?..FreeLibros. .Cantidad menor positiva: 99999 x 1099.18 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 22. BCD normalizado entero. Solución P24.Complemento a 2: [. Solución P23. + (2 n _ 1 . en las diferentes notaciones de números enteros con signo.(2 n _ 1 .111. 111 x 2 1 1 1 1 1 1 1 1= (1 ..128.( 2 3 1 —l).1). + (2 31..127.Determ ine el rango de valores numéricos que pueden escribirse en palabras de 8. + 32767] 16 [—2 31.Cantidad mayor positiva: .100.1 )] 32 ] . + 32767] [. . se facilita el desarrollo de métodos más o menos sistemáticos a la hora de abordar las tareas de análisis o diseño de circuitos. el manejo de expresiones lógicas y las for­ mas de representación de funciones que se utilizarán en este y otros Capítulos. Es objetivo de este Capítulo familiarizar al lector con los con­ ceptos relacionados con el álgebra de conmutación.FreeLibros. z se cumple: x + (y • z) = (x + y) • (x + z) x • (y + z) = x • y + x • z 19 www. Los postulados del álgebra de Boole son los siguientes: Pl.1 = Jt P2. se cumple: x+y=y+x x •y = y •x P3. y dos operaciones OR (+) y AND (•) definidas en B de la siguiente forma: + 0 1 • 0 1 0 0 1 0 0 0 1 1 1 1 0 1 OR AND El álgebra de conmutación cumple los postulados del álgebra de Boole. Ley distributiva: Dados tres elementos x. Ley conmutativa: Para cualesquiera dos elementos x e y. se cumple: x+0 =x x . mediante expresiones y funciones de conmutación.Capítulo 2 ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN El modo más riguroso e inequívoco de describir la funcionalidad de los circuitos digitales es de forma matemática. Con ello.me . además.1}. De ahí que po­ damos decir que la primera es un caso particular de la segunda. ÁLGEBRA DE CONMUTACIÓN El álgebra de conmutación es un sistema matemático compuesto por un conjunto de dos ele­ mentos: B = {0. Ley de identidad: Existen elementos identidad (0 para la operación “+” y 1 para la operación “ •” ) de forma que para cualquier elemento x. y. zo) = d ó f(x 0 . Otras..l) = 1 . Ley de los elementos dominantes: x + 1 = 1 x •0 = 0 T4..1. Ley de idempotencia: x + x = x x ■x = x T2. En una tabla se representan dos columnas. REPRESENTACIÓN DE FUNCIONES Existen diversos modos de representar las funciones de conmutación.me .yo>zo) = -. A continuación daremos algunos detalles sobre las formas de representación utilizadas en este texto. Algunas formas utilizan tablas o mapas (modos gráficos). este tipo de representación es más interesante para funciones de un número reducido de variables.0 ) = 0 .1) = 0.FreeLibros. T3. .xn). T I. En la primera de ellas se escriben todas las combinaciones de las variables de entrada en orden binario. .0 ) = 0 . TIO.. 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. consisten en expresiones algebraicas.y = x + y x • (x + y) = x • y T7. que aquí simplemente se enumeran. f( 1 .0 . A veces no todas las combinaciones de las variables tie­ nen imagen. x + y + z . f( 1. Ley de De Morgan generalizada: xy z . son demostradas en el problema 1 para el caso general del álgebra de Boole y probadas en el problema 2 para el álgebra de conmutación. 1 . 1 ) = 1 .0 . por ejemplo. f(0 . .0. En la otra columna se anota el va­ lor que toma la función para cada combinación de las variables de entrada.20 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P4. f(0 . Estric­ tamente se definen como: f: Bx . Nótese que para n variables se necesi­ taría una tabla de 2n filas. f(0 . f( 1.1.y0 .. www. Por ejemplo.1) = 1.Tablas de verdad. 1} del álgebra de conmutación. Ley involutiva: (x ) = x T5.. Ley de De Morgan: xy = x + y x + y = x •y T9. Ley asociativa: x • (y • z) = (x ■y) • z x + (y + z) = (x + y) + z T 8 .yo.. f (1. y.zo) lo simbolizamos de la siguiente forma: f(xQ. Así. Ley de absorción: x + x • y = x x • (x + y) = x T 6 ... = x • y ■z • . donde los símbolos y “d” (don't care) son llamadas inespecificaciones o indeterminaciones. A continuación se muestra un ejemplo para una función de tres variables. en la combinación (xQ. Así una función de n variables asigna un valor o imagen de B (0 ó 1) a cada punto del espacio Bn: (x¡. Cuando esto sucede. . una función de tres variables: f(x.0) = 1. Estas propiedades. z) se puede definir de la siguiente forma: f(0 . Ley del consenso: x + x.. Ley del consenso generalizado: x y+x z +y z=x y+ x z (x + y) • (x + z)• (y + z) =(x + y) • (x + z) FUNCIONES DE CONMUTACIÓN Son funciones que se definen sobre el conjunto B = {0.. = x + y + z + .0 .0 ) = 0 . xBxB = Bn —» B.X2 . Ley de unicidad del complemento: el elemento x del postulado cuarto es único. decimos entonces que la función es incompleta o que está incompletamente espe­ cificada. 1 .. Expresiones o fórmulas. Las variables de la función se dividen en dos grupos. www. Las combinaciones de cada grupo de variables se escriben en el orden del código Gray.FreeLibros. únicamente por producto de sumas.ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN xyz f 1 0 0 0 0 0 21 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 . Entre las más destacables están las formas canónicas y estándares. En las formas canónicas. Así. ab r 00 01 11 00 0 0 0 01 1 1 0 11 0 0 1 10 0 1 1 10 0 0 1 1 f . Es también una forma gráfica. se cumple que los productos son siempre mintérminos y las su­ 1 2 NOT(x) = x.me . este tipo de representación aumenta su tamaño de forma potencial con el número de variables. En este caso se utiliza una expresión algebraica para representar las funciones. Al igual que en el caso de las tablas de verdad. el mapa es denominado binario. La propiedad principal es que dos celdas geométricamente adyacentes también co­ rresponden a códigos lógicos adyacentes. En los problemas aparecen ejemplos para 5 variables. AND 2 y OR. o bien. El símbolo del operador AND (■)puede omitirse: a • b = a b. Tanto unas como otras tienen en común que son fórmulas compuestas únicamente por suma de productos. Algunos tipos de fórmulas son de un interés particular.M apa de K arnaugh. Se combinan las variables con los operadores NOT1. En el ejemplo se muestra un mapa para una función de 4 variables. Si el orden en que se escriben los valores de las variables es el binario natural. disponemos de una cuadrícula en cuyas celdas se anota el valor de la función para la combinación de las variables asignada. Uno de ellos se sitúa en el eje horizontal de una tabla y el otro en el eje vertical. además. Aquellas combinaciones de las variables que hagan 1 (ó 0 ) la expresión serán las combinaciones en que la función es 1 (ó 0 ). 9. 15). .22 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES mas son maxtérminos. 7. b. mapas y formas canónicas y estándares. Tenemos así que las formas canónicas son sumas de mintérminos o pro­ ducto de maxtérminos. 14. b. P3. Conmutativa: x+ y=y+x x • y = y •x P3. a¡ y a 2 se cumplirían las siguientes igualdades (por P4): a + aj = l a + a2 = l a ■aj = 0 a • a2 = 0 Entonces: aj = aj • 1 = a¡ • (a + a2) = aj • a + a¡ • a 2 = 0 + a] • a 2 = a • a 2 + a¡ • a 2 = = (a + aj) ■a 2 —1 • a 2 —a 2 www. Identidad: x + 0 =x x •1= 1 P2. . d) = (c + d) (a + c) (a + c + d) (a + b + c). 3. c. TI. PROBLEM AS RESUELTOS P ro b le m a 1.FreeLibros.Suma de mintérminos: f(a.tándares) no lo son. d) = a c d + a c + b c d. c. 2. d) = (a + b + c + d) (a + b + c + d) (a + b + c + d) (a + b + c + d) (a + b + c + d)(a + b + c + d)(a + b + c + d)(a + b + c + d)(a + b + c + d)= = M0 M2 M3 M4 M7 M8 M9 M 12 M j 3 = n (0.Manejo de expresiones lógicas.Producto de maxtérminos: f(a. 5 . Idempotencia: x + x = x x ■x = x x + x = (x + x) • 1 = (x + x)(x + x) = x +x x = x+ 0 = x x -x = x x + 0 = x x + x x = x ( x + x) = x l = x Hemos aplicado los postulados P l. c. 3' a' eB | a' = a Si existieran dos complementos. Solución Pl.me .Representación mediante tablas. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: .. pero presentan una mayor simplicidad. . 13).-N os basaremos en los postulados del álgebra de Boole: P l. Complemento: x + x= l x •x = 0 Los teoremas y sus demostraciones se relacionan a continuación. en ese orden. 6 .Demostración de teoremas e identidades.Producto de sumas: f(a. T2.Demuestre los teoremas booleanos en base a la definición del álgebra. b. 11. 10. . . 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. P4 y P l. Unicidad del complemento: \fa eB . Distributiva: x + (y • z) = (x + y) • (x + z) x • (y + z) = x • y + x • z P4. las dos siguientes (es. P4. . d) = a b c d + a b c d + a b c d + a b c d + a b c d + a b c d + a b c d = = mj + m 5 + mg + ni]Q + ni] ¡ + m j 4 + mjg = S( l . 8. c. Mientras que las dos primeras formas son únicas para cada función (canónicas). 12.Suma de productos: f(a. b. 4. y Los postulados en que nos hemos apoyado son P3. P2 y P l. Elementos dominantes: x + 1 = 1 x • 0 = 0 x + l = ( x + l ) . a = a + b • (a • c) a = a •[b + (a + c)] cuya demostración es: a + b • (a • c) = (a + b) • (a + a • c) = (a + b) • a = a a .L3y Ll) = x • [z + (x + y)] + (y + z) • [z + (x + y)] = (por P3) = [x + (y + z)] • [z + (x + y)] = (aquí también hemos aplicado P3) = [z + (x + y)] ■[x + (y + z)] = (esto. Pl y P4.( l + y ) = x l = x x. T4.( x + y) = l • (x + y) = x + y x. L3. Luego. T5. P3. P4. P3.[ b + (a + c)] = a. P4.b + a.l + x. P3.l = ( x + l ) . Lev asociativa: x • (y • z) = (x • y) • z x + (y + z) = (x + y) + z Para demostrarla es necesario demostrar previamente tres lemas: L l. Lev del consenso: x + x y = x + y x • (x + y) = x • y x + x. P3.y = x + 0 = x En esta demostración hemos usado Pl. P2. Ahora demostremos la ley asociativa: x • (y • z) = [x+ Z • (x • y)] • ([y+ z • (x • y)] • [z + z • (x • y)]) = (porL 2. en ese orden.y = x. P4 y Pl.y = (x + x ) . P4. Lev de absorción: x + x • y = x x • (x + y) = x x + x. P2. T 6 .x + x.y = x.y = 0 + x. P4.FreeLibros. a = a + a • (b • c) a = a •[a + (b + c)] (ambospor T5) L2. P3 y P l.( x + y) = (x + 0 )-(x + y) = x + 0 . por P2) = [z + x • (y • z)] • [x • y + x ■(y • z)] = (donde hemos aplicado P3) = z • [x • y + x • (y • z)] = (por L3) = z • [x + x • (y • z)] • [y + x • (y • z)] = (por P3) = z • (x • y) = (x • y) • z (por L l. T7. hemos probado x • (y • z) = (x • y) • z Por otra parte. P2.x = x + x = l x 0 = x 0 + 0 = x 0 + x x = x ( 0 + x) = x x = 0 Los postulados utilizados son P l. P3.me . a = a + b • (c • a) a = a • [b + (c + a)] por P2 y L2.y = x.( a + c) = a. por P2) www.ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 23 Se han aplicado los postulados P l. Lev involutiva: (x) = x (x) = (x) + 0 = (x) + x • x = [(x) + x] • [(x) + x] = [(x) + x] • 1 = = [(x) + x] (x + x) = x + [x • (x)] = x + 0 = x donde se han aplicado P l. P4. P2. L2 y finalmente P2).( x + x) = x + l.( x + y) = x. x + (y + z) = x • [ z + (x + y)] + (y • [z + (x + y)] + z ■[z + (x + y)]) = (porL2. T3 y Pl en ese orden.L 3yL l) = [x + z • (x • y)] ■(y • z + z • (x • y ) ) = (por P3) = x • (y • z) + z • (x • y) = (aquí también hemos aplicado P3) = z • (x • y) + x • (y • z) = (esto. T3.b + a = a donde hemos utilizado P3 y T5. P4. P4. P2.) = ... P2.) = . TIO.y = x x y + y x y = 0 y + 0 x = 0 + 0 = 0 (P3. www.. Lev de De Morgan generalizada: x y z . B = x + y.. comprobaremos: .. P4 y T3). P2. x + y + z .. T9. P4.. •A + B = x + y + x y = x + y + x = x + x + y = l + y = l (T 6 .. En las dos demostraciones se utilizan los teoremas T7 y T 8 alternativamente. Con lo que queda probado que x + (y + z) = (x + y) + z. P4 y T I).) = x + y + z .. • A B = (x + y ) x . demostremos que A = B. entonces. = x + y + z + .z ..( x + x)= (P4) =xy + x z +y z x +y z x = (P3) =x y + xy-z +x z +x z y = (P2) = x •y + x •z (T5) (x + y) • (x + z) • (y + z) = (x + y) • (x + z) • (y + z + 0) = (Pl) = (x + y) • (x + z) • (y + z + x • x) = (P4) = (x + y) • (x + z) • (y + z + x) • (y + z + x) =(P3) = (x + y) • (x + y + z) • (x + z) • (x + z + y)= (P2) = (x + y) • (x + z) (T5) Problema 2.. Sean A = x + y. T3.... T 8 . = x + y + z + .. = x + y (z . = x + (y + z + .. Lev de De Morgan: xy = x + y x + y = x •y La base de la demostración es que como el complemento es único y cumple el postulado P4.Elementos dominantes: x + 1 = 1... x = x ■x. x + y + z . esto es: A= B o A + B = l y A • B = 0.. = = x + y + z (.Dem uestre los teorem as booleanos en el álgebra de conmutación comproban­ do su validez mediante tablas de verdad.z + y . •A + B = x.z + y. x ■0 = 0. B = x • y... Sean A = x • y.. • A B = x y ( x + y) = x y x + x y y = 0 y + x 0 = 0 + 0 = 0 (P3.z .l = (Pl) = x.. L2 y finalmente P2). = x • y • z • . siA + B = l y A B = O e s porque A = B.. .me ... TI). = x • y • z • ... = x (y z . demostremos que A = B. Solución P2..z = x -y + x -z + y . P4. x y z ..=x • y + (z ..) = x + yz .y + x..Idempotencia: x = x + x...) = x • y + z .. P2.) = x • y = x • y • z + (..-A partir de la definición de las operaciones AND (•) y OR (+) en el álgebra de conmutación. T I). T3..24 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES = z • [x + (y + z)] + (x + y) • [x + (y + z)] = (donde hemos aplicado P3) = z + (x + y) • [x + (y + z)] = (por L3) = z + x • [x + (y + z)] + y • [x + (y + z)] = (por P3) = z + (x + y) = (x + y) + z (por L1. Lev del consenso generalizado: x •y + x •z + y •z = x •y + x •z (x + y) • (x + z) • (y + z) = (x + y) ■(x + z) x -y + x ..y + x + y = y + x + y = x + y + y = x + l= 1 (T5..FreeLibros. b = l . por ejemplo. . c = 0.Para elementos del álgebra de conmutación. Solución P3. 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. Se puede comprobar que para cualquier combinación de valores se cumple. (x y) z = x (y z). a) No se cumple. .Ley De DeMorgan: x y = x + y . b )a + b = a + c .Asociativa: x+y=xy. .Absorción: x + x y = x + y.FreeLibros. x (x + y) = x. x(x + y) = xy. por ejemplo. b) No se cumple.Involutiva: x + x y = x. x y X X + X x+ XX 0 0 0 0 0 0 i 0 0 0 1 0 1 1 1 i 1 1 1 1 x+ xy x+ y xO 1 X p (donde p = x) x + x y x (x + y) 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 (x + y) xy xy x+ y x+ y X y 0 0 0 0 0 0 1 1 0 i 0 i 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 X 1 1 0 0 0 xy 1 0 0 0 La comprobación de la ley asociativa: x y z x + y (x + y) + z y + z x + (y + z) xy (xy)z yz x (y z) 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 Problema 3 . pruebe la validez de: c a) a ■b = a ■ b = c. c = 0.^ b = c. para a = 0. b = 1. c ) a b = a c y a + b = a + c .* b = c.me . . para a = l . También se puede demostrar algebraicamente: www.Consenso: (x + y)_+ z = x +(y + z). c) Sí se cumple.ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 25 x = x .. . . y las igualdades a . T3 y P1 b) x( x + y) + z + z y = x y + z + y = y + y x + z = y + z por T 6 .c + c = c. P2 y T5 c)xy + x y z = xy + z (por la ley del consenso: u + u z = u + z donde u = x y) d)w + w x + y z = w + y z = w y z = w (y + z) por T5 y T 8 e) w [x + y ( z + w)] = w + x + y(z + w) = w + x y ( z + w) = w + x(y + z + w) = = w + xy + x z w = w + xy + xz por T 8 y T 6 f) (w + x + y) (w + x + y ) (y + z) (w + z) = [(w + y) + x x] (y + z) (w+z) = = (w + y) (y + z ) (w + z) = (w + y) (y + z) por P2. a)abc + abc + abc + abc + abc = = abc + abc + abc + abc + abc + abc= = abc + abc + abc + abc + abc + abc= = a b (c + c) + a b (c + c) + (a + a) b c = www. P3.Compruebe las siguientes igualdades: a) x y + x z + y z = x y + x z (ley del consenso generalizado) b)x(x + y )+ z + z y = y + z c)xy + x y z = xy + z d) w + w x + y z = w (y + z) e )w [x + y(z+w)] = w + xy + xz f) (w + x + y) (w + x + y) (y + z ) (w + z ) = (w + y) (y + z) Solución P4.FreeLibros.Reduzca las siguientes expresiones del álgebra de Boole al número de literales solicitado al lado de cada una de ellas.me (ya que x + x = x) (por la propiedad conmutativa) . P2.b = a. P rob lem a 5 . P4. las propiedades distributiva y conmutativa.26 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b = b + a • b = b + a • c = (b + a) • (b + c) = (a + b) • (b + c) = (a + c) • (b + c) = = a b + c = a.c y a + b = a + c. P3. P3. P ro b le m a 4 . a) a b c + a b c + a b c + a b c + a b c b)bc + ac + a b + b c d (a cinco literales) (a cuatro literales) c) [ c d + a ] + a + c d + a b (a tres literales) d) [(a + c + d) (a + c + d) (a + c + d) (a + b)] (a cuatro literales) Solución P5.. P1 y TIO. Se han aplicado la ley del consenso. a ) x y + x z + y z = x y + x z + (x + x ) y z = x y + x z + x y z + x y z = = x y + x y z + x z + x z y = x y ( l +z) + x z ( l + y) = x y + x z donde hemos aplicado P4. Obtenga la tabla de verdad de las siguientes expresiones: a) f = w y z + x y + w y. z: M (x.FreeLibros. b . e. e. c = l. b ) b c + a c + a b + b c d = b c + b c d + ac + a b =(porla propiedad conmutativa) = b c + a c + a b = b c + a c + a b ( c + c) = (yaque x + x y = x) = b c + a c + a b c + a b c = (por la propiedad distributiva) = b c ( l +a) + a c ( l + b) = = bc + ac (yaque 1 + x = 1 ). c + f) = M(0. b. e. c) • M (d. Problema 6. M(c. pues para a = 0. b. e)]. b = 1. 0) = 0 + 0 = 0 y. 0. 0. a b + a e + be] = = (ab + ac + b c ) d + (ab + a c + b c ) ( a b + a e + be) + d ( a b + a e + be) = =abd+acd+bcd+ab+abe+abc+ace+abce+abce+bce+abd+ade+bde= = ab + a c d + b c d + a c e + b c e + a d e + b d e . f) = M (a ■ d. f) = M(0. obtenemos: c d a + a + cd + ab = c d a + a + ab + c d = (por la propiedad conmutativa) = c d + a + c d = (ya que x + x y = x). M(a. M (c. z) = x y + x z + y z. c ) . c) + M(d. www..M (l. c). 1. c ■f) = M(0.me . f) = M(0. b. b = 0. b. a) No se cumple pues para a = 0. b.Verifique si se cumplen o no las siguientes igualdades: a) M (a.. luego ambas expresiones son iguales. por la otra parte: M[M(a. 1. 1) = 0 c) Sí se cumple pues M[a. 0. y.M (d. c) aplicando la ley de De Morgan a la expresión. e. 1) = 1 • 1 = 1 mientras que M (a • d. d. 1) = 1. b ■e. = a + c d (ya que x + x = x) d) (a + c + d) (a + c + d) (a + c + d) (a + b) = = (a + c + d) (a + c + d) (a + c + d) (a + c + d) (a + b) = (ya que x = x x) = (a + c) (a + d) (a + b) = a + b c d (por la propiedad distributiva). z) es la función mayoría de x. b ■ e. b) M (a. c d + c e + de] = = ab + a( cd + c e + de) + b ( c d + c e + de) = a b + a c d + a c e + a d e + b c d + b c e + b d e y. Problema 7. e)] = M [ab + a c + bc. donde M (x. b. c = 1.d = 0. c) M (a. y. 1. e = 0 y f = 1 se tiene que M(a. b) No se cumple. b. c + f). b) f = (w + x + y) (x + z) (w + x).1). b.ÁLGEBRA Y FUNCIONES DE CONM UTACIÓN 27 = ab 1 + ab 1+ 1 b c= (yaque x + x = 1 ) = a b + a b + b c = b (a + c) + a b (yaque x •1 = 1 • x = x). M(a. b + e. d. c ■ f). e)] = M[a. sin embargo: M(a + d. 1) + M (0. y. b. c) + M (d. d. = Solución P6. d. e = l y f = 0 s e tiene que M(a. f) = M (a + d. d = 1. b. d. c). e)) M [M(a. b + e. 1. 13. y = 0 f = 04=> x + z = 0 = x = 0 . 14. c ) f = 7L (1. y = 1 \\v y = 1 => w = 1 . 10). la tabla de verdad es: wxyz 0 0 0 0 0 0 0 1 0 : ►w = 0. x = 0. z = 0 + X = con ello. 2.28 PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P7. entonces es fácil deducir cuándo f = 1 : Av y z = 1 = > w = 1 . 12. 2. 7. la tabla de verdad es: f wxyz wxyz f 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 11 0 1 0 11 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 b) Si f = (w + x + y) (x + z) (w + x). y = 1 .me . y = 1 con ello. www.FreeLibros. 6. 8. 12) + d(1. 3. =0 f wxyz f 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 11 0 1 0 11 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 Problema 8. 2 3 ) + d(17). b )f = (10. 15) ■ d(0. z = 1 f= 1 <=> x y = 1 => x = 1 .. 8.Obtenga los m apas de las siguientes funciones: I n a) f = (5. a ) S i f = w y z + x y + wy. 3. 8. es fácil encontrar los ceros de f: A v + x + y = 0 = > w = 0. 9). c) f = x + y z .c. . e) = Z (1. 12) + d (l. c. 15) + d(0.FreeLibros.c. d) = n (1 0 . d) f = (a + b + c) (d + a) + b c + a c. 1. 6 . a) f (a. 23) + d(17) ab . 9) c K i o o i n j o 00 d 1 1 d d 1 0 d 01 11 1 1 0 1 10 d 1 0 0 f c) f (a. d) = Z (5. www.i V ooo 001 011 0 1 0 110 111 101 10 0 0 0 0 0 00 0 0 01 1 0 0 0 0 0 0 d 11 1 0 0 0 0 0 1 0 10 1 0 0 0 0 0 0 0 1 1 f Problema 9 . 14. b. b) f = x y (v + w) [(x + y) v].3 . 8 .me . 8 . 2.. b.2.ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 29 Solución P8. d. 3. 8 . 7. 13. 12. b. 10) c\ 00 01 00 01 0 0 11 i d 10 i d 0 0 0 11 d 1 0 10 0 1 0 f é b) f (a.Obtenga las formas normales en suma de productos y producto de sumas de las siguientes expresiones: a) f = (a b + a c) (a b). 2. 15).4. 10). 15) = 1 (0 . P2 = b c. donde el producto p = v x y es único. (0.7. 1. 3.FreeLibros. 14. donde el producto p = a b es el úni­ co.Para expresar la función fj -t.9. 8. 8. 3. 13. f2 = I. 10. b) x y (v + w) [(x + y) v] = x y (v + w) (x + y) v = v x y (x + y) = v x y (ley de absorción). Son. 13).f2 como suma de mintérminos hay que tener en consideración que todos los mintérminos de fj y todos los mintérminos de Í son mintérminos de f¡ + Í ya que 1 + x = 1. donde los términos suma son dos: sj = a y S2 = b. para que sea 1 es preciso que f¡ y f2 sean distintas. Obtenemos por tanto un producto de tres términos suma: sj = a + b + c. 12. por tanto. 7. 8 . c) x + yz. 2. 3. 11. 10. Por otra parte.4. 15) Repetir para © f2 y la equivalencia: f1 0 f2. S2 = x. De forma similar se puede obtener una expresión en suma de productos: (a + b + c)(a + d) + b c + a c = [a + (b + c)d)] + a c + b c = a + a c + b c + (b + c)d = = a + b c + b d + cd. P2 = y z. Con esto tenemos una forma en suma de productos. a) (a b + a c) (a b) = a b (por la ley del consenso) Con esto tenemos una forma en suma de productos.me . También tenemos un producto de sumas. s3 = y. 8. En cuanto a la función fj © f2. P3 = b d. es mejor comenzar por la expresión en forma de produc­ to de maxtérminos ya que debido a que 0 • x = 0 podemos decir que todos los maxtérminos de fj y todos los de f 2 son maxtérminos de fj • Entonces: fj -f 2 = n ( l . P ro b le m a 10. 7. pj = x. 9. los mintérminos de f¡ © f 2 son los mintérminos de f] que no lo son de f 2 y los de Í que no lo son de fj: fj ©f 2 = 1(11. 13. 5. 14. 9. 12.30 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P9.. Entonces: fj + f 2 = Z (0 . d) f = (a + b + c) (d + a) + b c + a c Para reducirlo a una forma en producto de sumas operaremos sobre la expresión de f aplicando repetidas veces la propiedad distributiva: (a + b + c) (a + d) + b c + a c = (a + b + c) (a + d) + (a + b) c = = [(a + b + c) (a + d) + (a + b)] [(a + b + c) (a + d) + c] = = [(a + b + c + a + b) + (a + d + a + b)] [(a + b + c + c) (a + d + c)] = = (a + b + c) (a + b + d) (a + c + d).. Solución PIO. 3 . es suma de dos productos. 4.2. fi + f2 y fi f1 = 2 2 2 www.9. cuatro términos producto: pj = a. 6 . 10. 14. 15) = n (0 . 13). Para expresar la función f] • f2. 4.Determine y exprese en forma de mintérminos y maxtérminos las funciones ■f2. También tenemos un producto de sumas. Con ello tenemos una expresión en producto de sumas: Sj = x + y. 6 .5 . 5. 12. 11. 2 . 15). 5. 14. Por tanto. 14. siendo: n (1. P4 = c d. 6. 6 . 7. donde los términos suma son tres: S] = v. S2 = a + b + d y S3 = a + c + d. aplicando la propie­ dad distributiva: x + yz = (x + y) (x + z). s2 = x + z. y por exclusión: fj + f 2 = II (1. 13). 10.P°r último.15) T 2 = I ( 2 . 3. las posiciones de las inespecificaciones. 3. 11. 5. 14). 11. 8 . 12. 4. tres salidas in­ termedias P. 6 . 12. 4. 11. b) La función Q tiene al menos los mintérminos de T ]. 11. 14) y donde T 2 lo sea deberán serlo www. 3. 4. 12. 5. Problema 11. 13. 15). 15) = I (0. 3. 6 . 15) + d ( 8 .6 . b) Obtener los m apas para Q y R correspondientes al Pmjn anterior. Por tanto: Q = 1 (0. 5. 10. R tiene los de T2.me . d) ¿Pueden obtenerse Q. Indique.Sea el circuito combinacional con cuatro entradas A. 14. 8 . c) Suponiendo que G 1 y G2 son puertas O R obtenga e l m ayor Pmax (la función P con mayor número de mintérminos) y sus m apas correspondientes para Q y R . = 1 (0 . Q tiene ceros en las celdas en que Pm¡n vale 1 pero Tj no es 1.FreeLibros. 6 . por tanto. 3. 9. Entonces P como mínimo tiene que contener todos esos mintér­ minos. a) Gj y G 2 son puertas AND. 4. 3. 2. 12. 15). 6 . C y D. obtenga e l m apa de la función Pmjn (es decir.(0 . 1. y R y P tienen que tener todos los mintérminos de T2 ( o sea: 2. 5. 5.15) a) Suponiendo que tanto G 1 como G2 son puertas AND. la función P que tiene e l m enor número de mintérminos) que permite obtener Ti y T2. 7. 10. luego: Pmin = 1 . 1. 6 . 14). 15) + d ( 8 . 4. Sólo Q y R pueden tener inespecificaciones. tendremos: fj © f 2 = n (11. Q está inespecificada. P y R s i G 1 es una puerta A N D y G2 una puerta O R ? ¿ Y si G 1 es una puerta O R y G2 una puerta A N D ? Solución P ll. En este caso Tj = Q + P y T 2 = R + P. explícita­ mente. en las celdas donde vale 0 y P mjn también es 0 . 2. como fj © f 2 es la función negada de f] © f2. Ahora bien. 9. por tanto donde T] sea cero también deben de serlo forzosamente Q y P (o sea en 2.3. 7.. por lo que 2 es un 0 de Q. T. 11. 1. R = I ( 2 . En este caso Tj = Q P y T 2 = R P . algo similar ocurre para R respecto a T 2 y Pmin. 7. 13. 7. 7.ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 31 Finalmente. 13.3 . por ejemplo. 7. Lo mismo ocurre para R con respecto a T2 Y Pmin. 11. 7. Q y f í y dos salidas T 1 y T2. 1. B. 9. 10. 2 es mintérmino de Pmin Pero no lo es de T j. Q y P tienen que tener todos los mintérminos de Tj (o sea: 0. 1. 15). c) Gj y G 2 son puertas OR. 9. 7. como se muestra en la figura. 11. Así. 7. © x¡) 0 (x¡ + . . 15). E tonces. PROBLEMAS CON SOLUCIÓN RESUMIDA Problema 12. d) f = a b + c d. 10. . © xn www. . .© b = a® b . ya que si Gj es una AND y G 2 una OR: T] = Q P . R = I ( 2 . Problema 13.me 1 © . = Solución P12. 13.. en aquellos valores en los que Tj es 1 y T 2 es 0 (como por ejemplo en 4) sería imposible encontrar un valor adecuado para la función P. tampoco es posible ya que Tj = R + P y T 2 = Q P . 11. . 7.Encuentre los complementos de las siguientes funciones: a) f = (b c +_a d)_(a b + c dy_ b) f b d_+ a b c_+_a c d + a b c. Algo similar ocurre para R respecto a T 2 y Pmax. 6 ) + d(3. b )f = b d + a b c + a c d + a b c = a b + a c d + bd. V. © Xj) 0 (X j+ 1 © . . . . .-La operación XOR cumple la propiedad asociativa. 15).FreeLibros. 4. .. c) Operando obtenemos f = 0 luego f = 1.©. 15)... © X¡ © X j + 1 © .4. 5. 11. 1. Así. Si P valiese 1 forzaría T 2 = 1 y si valiese 0 for­ zaría T ] = 0). T 2 = R + P. 9. Q y R contendrán los mintérminos que le faltan a P para completar los de Tj y T 2 : Q = 2 (0 . © x n = (x. .© x n) = xn) . d) f = (a + b) (c + d). 8 . 1 1 .Dem uestre que x x © x 2 © donde a0 . © Xj) © (Xj+ = X j © . . en aquellos puntos en que T¡ = 0 y T 2 = 1 (como por ejemplo en 6 ) no se puede encontrar un valor adecuado para P. 1. Solución P13... d) No es posible. Si Gj es una OR y G 2 es una AND. 14). © .. P tendrá como máximo los mintérminos que sean comunes a Tj y T2: Pmax = 21 (3. © x n ) = (X ] © . Entonces: (X j © . a) f = (b + c) (a + d) + (a + b) (c + d).32 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES también R y P (o sea en 0. 5) + d (3. 12. entonces: f = (a + b) (a + c + d) (b + d). Las celdas en que Q está inespecificada son aquellas en las que Tj vale 1 y Pmax también es 1. .. c ) f = [(a _ b )a ]J (a b )b ]. 6 . c) f (a.3. b) f (a. c) = (a b c + a b c). d) = n (5. c) = Z (0. 7. 5. d) f (a. b. 6 . Solución P15.Escriba las siguientes funciones como suma de mintérminos: a) f (a. 3. b. 9 10. 4 . 4. 1.FreeLibros. 7). Problema 15. b. 6 ).me . c) = Z (0.Exprese las siguientes funciones como producto de maxtérminos: a) f (a. 2. 2. www. d) = ( a b + b c~d) + a c d. c) = n (0. b) f(x.. b. 10. b. d) = (a + c) d + b d. b. 6 . 3. y. c. c) f(a. 2. d) f(a. c. 4. 5. f2 . z) = n (0. 3. Í3 = x y + x y + x y = x + y = xy. 7). b) f (a.x y + x y = x © y . 1. d) = Z (0.-Directamente de las tablas: f ! = x y + x y = y. c. a )f (a. 6 .ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 33 Problema 14.14). 7). xy 00 01 10 11 fl 1 0 1 0 xy h xy h 00 01 10 11 0 1 1 0 00 01 10 11 1 1 1 0 Solución P16. 11). 8 . c) f (a. b) f (x. d) = n (0. 1. b. b. b. c) = (a + b) (b + c). 6 ). b.A partir de las tablas de verdad de las siguientes funciones. Problema 16.5 . c. 13. 2. a) f(a. c) f (a.6 . b. 5. 8 .. y. b. z) = ( x y + z) (y + x z). c) = a + b + c. c) = ( a b + c (a + b)) (b + c). 4. Solución P14.. 4. c. 4. obtenga sus ex­ presiones algebraicas. 12. © .2.me . © Solución P1S. k = n .Interprete las siguientes expresiones lógicas considerando que el dato tiene n bits.FreeLibros. .. © © . . c o n z n _ 1 = x n _ v k = n . Í 3 = x y z + x y z = xy. e) Si se considera el caso particular de n = 4 y se obtiene la tabla puede observarse que z 3 . e ) z k = xk ® y k.. f2 = x y z + x y z + x y z + x y z = x y + y z + x y z . z es el bit de paridad par para xg X] x2 . f5=x+|.0 = Ca2(x3_0) www. b) La función z forma parte de la palabra de n bits dada por: xq X]x 2 . k = n .. d) Procediendo como en el apartado anterior se puede concluir que se trata de una con­ versión de código Gray a binario.. a) La operación XOR de n variables se hace 1 si y sólo si hay un número impar de unos en las n variables. .. 2. f6 = x y z + x y z + x y z + x y z = z.. En­ tonces.. a) Z = X q ® X 1 b) z = xn_ 1 = x 0 x 1 xn _ 2c ) z k = xk+ 1 ® x k. 0 donde yk = yk_ 1 + xk_ 1t con k > 1. 1 . c o n z n _ 1= x n _ d ) z k = z k+ 1 ® x k.Obtenga las expresiones algebraicas de las siguientes funciones: xyz f. n ...1 e y 0 = 0.... Por tanto. c) Si se particulariza para n = 4 y se obtiene la tabla de verdad de las 4 funciones se pue­ de concluir fácilmente que se trata de una conversión binario-Gray. 0 1 0 0 0 1 0 0 000 00 1 0 10 0 11 100 10 1 1 10 111 Solución P17. h 1 0 0 1 1 1 0 0 f3 0 0 0 0 1 1 0 0 u 1 1 1 1 1 1 1 f5 1 0 1 0 1 1 1 1 f6 1 0 1 0 1 0 1 0 f j = x y z + x y z = yz. xn_2. Í4 = x + y + z. 1.1. ..2. © Xn_y. . 0.. 0. . (Para ayudarse puede considerar un caso particular de n.34 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 17.. n . en este caso z es un detector de paridad.. . xn _2 xn_j. Problema 18.. 1. p o r ejemplo: n = 4)...2 . conocida la función hay que obtener el circuito. Una manera de medir el coste es a través del número de puertas lógicas y conexiones entre puertas del circuito. p. ✓ 1 circuito combinacional z(t) = f(x(t)) ANÁLISIS DE CIRCUITOS El objetivo principal del análisis de un circuito combinacional es. por tanto. En algunos casos es posible. t.Capítulo 3 ANÁLISIS DE CIRCUITOS COMBINACIONALES Un circuito digital combinacional es aquel que implementa funciones de conmutación cuyas salidas en un instante. Otros aspectos que se deben considerar son: . En este texto no se hará el paso a la descripción verbal salvo que se indique explícitamente en el enunciado (véase. Hay dos enfoques principales: si es conocido el circuito y se desea establecer cuál es la opera­ ción que realiza. El cir­ cuito consta de puertas lógicas interconectadas entre sí sin que haya lazos de realimentación. se trata del análisis. . Aunque el análisis lógico es el objetivo principal no es el único aspecto que debe con­ templar un buen análisis de un circuito. lo que se aborda en el Capítulo siguiente.me . dependen sólo del valor de las entradas en ese mismo instante.. Además.El coste del circuito. Se debe establecer la tecnología en la que se im35 www. si se plan­ tea el problema contrario. ej. además. obtener una descripción verbal de la operación del circuito (del tipo “hace la suma”. A este objetivo se le llama análisis lógico del circuito.Un análisis de parámetros eléctricos. que es el aspecto que se trata en este Capítulo. etc). “compara números”. incluso cuando es posible esta operación a partir de las tablas o expresiones lógicas es difícil salvo que se esté sobre aviso.FreeLibros. obtener una repre­ sentación de la función de conmutación que implementa. se trata del diseño o síntesis. el problema 4). Ponga también la fun­ ción en forma de suma de productos o producto de sumas y realice e l nuevo circuito a partir de estas expresiones. Para ello se puede proceder bien desde las entradas hasta las salidas o bien desde las salidas hasta las entradas.FreeLibros. en función de las características eléctricas de la misma.Análisis temporal. fa n -in y fan -o u t.El proceso de análisis de un circuito combinacional consiste en. mostrando métodos generales válidos para cual­ quier circuito e independientes del tipo de puerta. Además. dado un patrón de entradas.36 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES plementa el circuito y evaluar. el ren­ dimiento del circuito en cuanto a márgenes de ruido.me .. . obtener una expresión algebraica. así como para calcular los valores máximos y mínimos de los tiempos de pro­ pagación que determinan la velocidad de operación del circuito.Analice a nivel lógico e l siguiente circuito combinacional. a partir de un circuito. etc. analizando circuitos que presentan azares. El análisis temporal sirve para verificar si el circuito realiza correctamente la función de conmutación o si. PROBLEMAS RESUELTOS Problema 1. y métodos específicos para circuitos con sólo NAND o sólo ÑOR.Análisis lógico de circuitos sólo NAND (y sólo ÑOR). índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . Este Capítulo está centrado en el análisis de circuitos a nivel de puertas lógicas.Un análisis temporal. Este tipo de análisis consiste en. de­ terminar la forma de onda de las señales de salida considerando los retrasos de propagación de las puertas lógicas. existen fenómenos transitorios como por ejemplo azares. medido en función del número de puertas y conexiones del circuito y de análisis tem­ poral. por el contrario.Análisis lógico según el procedimiento general.. Deben encontrarse expresiones para la salida de cada puerta en función de sus entradas: www. Los as­ pectos que se tratan son los de análisis lógico. . Solución P l. potencia disipada. Estos procedimientos son explicados en los problemas 1 y 3 respectiva­ mente. en este Capítulo también se incluyen algunos casos de análisis del coste del circuito. . o bien su tabla de verdad o mapa de Kamaugh. Obtenga las ex­ presiones en forma de suma de productos y producto de sumas.Realice un análisis lógico del circuito representado en la figura.. 2 ..dando el número de puertas del circuito.f D-------- Problema 2.ANÁLISIS DE CIRCUITOS COMBINACIONALES 37 A partir de esta expresión puede obtenerse otra simplificada o la tabla de verdad o el mapa de Kamaugh. lo más habitual es considerar una unidad de retraso por puerta.me . a veces se evalúa el “coste” temporal estableciendo los retrasos máximos y mínimos que experimentan las señales de entrada al propagarse hasta las salidas. Este se calcula: 1..Comencemos determinando el coste del circuito. Además. Liste los mintérminos y maxtérminos correspondientes. Solución P2.. En este cir­ cuito el coste es el siguiente: www. y un nuevo circuito: f = ( x + y + z ) ( z + y ) z = z(y + z) = y z 0 1 1 0 0 0 0 0 « --Z----- 1 y— & ---. Para ello.dando el número de entradas a puertas (conexiones) del cir­ cuito y el número de salidas.FreeLibros. Determine el coste. Hay que construir un árbol del circuito en el que los nodos representan a las puertas www.Todas son puertas NAND..x 2 = x ¡ x 3 + x 3x 2 + x . x2 . el mapa de Kamaugh y un nuevo circuito que implementa la función: f = x 3 ( x lx 2) + x ¡ x 2 = x 3 + x . llamando M a la entrada desco­ nocida de esa puerta.me . Teniendo en cuenta la función lógica que realiza cada puerta.38 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES coste n° puertas n° conexiones retraso máximo retraso mínimo 7 16 entradas + 1 salida 3 niveles de puertas 2 niveles de puertas Análisis lógico. x 2 f = (x 3 +x. salvo la de salida f].) + x xx 2 f = x i ( x lx 2) f A partir de esta expresión se obtienen otras en forma sp y ps. se obtiene la siguiente expresión para f: + JC3 (JC] jc2) ( x 3x 2) + x ¡ x 2 = x 3 ( x 2 + x ¡ ) + x 2 { x 2 + x x) (x 2 + x3) + x . f¡ = e M.Analice la función que realiza el circuito. Ahora. & x3- >1 Problema 3. Solución P3. M y f2 pueden obtenerse por el método específico de circuitos con sólo puertas NAND. x 2 — x tx 3 + x 3x 2 + x ¡ x 2x 3 +jc. ) { x 3 + x 2) Cl X2 00 01 11 10 0 0 0 1 0 1 1 1 1 1 X.FreeLibros.. encontrando una expresión reducida en dos niveles. Este método consta de los siguientes pasos: 1. x 2 = x 3 ( x 2 + x. .. A continuación se aplica este método al circuito. Hay que tener en cuenta que aquellas variables de entrada que estén conectadas a puertas que correspondan a un nivel OR deben complementarse. se va a asociar a cada nivel de puertas del árbol la función AND o la OR alternando ambos tipos de función y comenzando por la función OR. = de + ace + bce f 2 = dc + be +fg www. 2.Por la equivalencia de dos niveles de puertas NAND con dos niveles AND-OR.. Las puertas se estratifican en niveles distintos comenzando por la puerta de salida que da lugar al primer nivel del árbol.me .ANÁLISIS DE CIRCUITOS COMBINACIONALES 39 y las ramas las conexiones. 3. 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 señales de entrada. Se numeran las puertas de la forma que se muestra en la figura: Se construye el árbol para cada salida: 7 T ~ M M = d + c (a + b) f2 = c (a + b) + f g De aquí se tiene: /.FreeLibros.Se obtendrá la función que realiza el circuito considerando sólo operaciones AND u OR.. 3.Analice el circuito de la figura indicando verbalmente qué operación realiza.15) Si se representan ambas funciones (z e y) en un mapa binario ordenado en función de a i y b 2 b j.4.FreeLibros.2.5.11.9. + a 2) y sp = a 2h 2 + a xb xa 2b 2 + a xb xa 2b2 yps = ( b i + b2) ( a ] + a 2) z ( a 2a ¡ b 2b¡ ) y ( a 2a ¡ b 2bj ) a2 ( b 2 + a 2) ( b 2 + a t) (b.14) = n (0.15) = 1(1..13.8.Análisis de coste: coste 7 16 entradas + 2 salidas 4 niveles de puertas 2 niveles de puertas n° puertas n° conexiones retraso máximo retraso mínimo Análisis lógico: + a xb xa 2b 2 + a xb xa 2b2 ( 6 .8.9.me .14.13.40 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 4. + a 2) = 1(4. + b 2) ( a 2 + b 2) ( a 2 + b x) (a.6. se obtiene: \ a 2a i 2 ° ¡\n 00 01 10 11 00 00 10 10 10 01 01 00 10 10 10 01 01 00 10 11 01 01 01 00 www.7.. + b 2) z*p = a 2b 2 zps = (a.10.12.3.12.6.11) = n (0.10. Solución P4.5.7.2.1. el circuito es un comparador de dos números binarios de dos bits cada uno.. Este método es el mismo que el utilizado en el problema anterior.. 2.El circuito está compuesto exclusivamente por puertas ÑOR. que distingue entre mayor. por lo que vamos a aplicar el método específico de análisis de sólo puertas ÑOR.ANÁLISIS DE CIRCUITOS COMBINACIONALES 41 Interpretando a2 a¡ como un número binario A y b 2 bj como B.. encontrando una expresión reducida en dos niveles.Ahora son las variables de entrada que están conectadas a los niveles AND las que deben complementarse.me .. Solución P5. las funciones pueden representarse por la tabla: AB > = < zy 10 0 0 0 1 Por tanto.FreeLibros. Numerando a las puertas de la forma que se ve en la figura: www. Problema 5. por lo que la expresión que se obtendrá para/es del tipo producto de sumas de producto de sumas. sólo cambian dos aspectos: 1. menor o igual.Analice la función que realiza el circuito.El primer nivel de puertas es de tipo AND. d) Igual que b.D ).C . | _________ __ A A Discuta los resultados obtenidos en los apartados anteriores.B .En e l circuito de la figura todas las puertas poseen el mismo retraso. Solución P6. ~*A .. Nombraremos los n dos internos del circuito como se muestra en la siguiente figura: www. A. c) Igual que b.FreeLibros. si B=D =1 y A y C son como las representadas: A C e) . a) Vamos a obtener una expresión de F mediante análisis lógico. b) Considerando el retraso.me . a) Obtenga e l m apa de F(A .42 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Se construye el árbol para la salida: De aquí se tiene: / = {c + ee + a (d + ée) (b + d (e + e ) ) } {a + b ( d + e e) } f = a c + bcd + ae + abd + be Problema 6. determine la forma de onda de F si A =B =D =1 y C cambia periódicamente. si A =C =D =1 y B cambia periódicamente. me . el diagrama temporal queda como se observa en la figura: www. y C cambiando periódicamente. se tiene lo siguiente: u = BC v =ü x = ABu y = Dv F = xy = A B C + D C B Con lo que el mapa de F queda: AB D\ 00 01 11 10 00 0 0 0 0 01 0 0 1 0 11 1 1 1 0 10 0 0 0 0 b) Con A = B = D = 1.FreeLibros.ANÁLISIS DE CIRCUITOS COM BINACIONALES 43 B C D Analizando la función realizada por cada puerta. www. el diagrama temporal queda como se observa en la figura: B u=B y=v x=Bu F=xy d) Con B=D=1. la salida debería se­ guir los cambios de B con el retraso del circuito. y B cambiando periódicamente. Esto es un azar (se llama dinám ico).me . ocurre que la señal de salida oscila (ver figura del apartado c) cuando B sube. Sin embargo.44 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES c) Con A=C=D=1. lo que es un a z a r estático. En ambos casos la función debe ser 1. y A y C cambiando periódicamente.FreeLibros. En el caso c): ABCD pasan de 1011 a 1111 alternativamente. Sin embargo. ocurre un pulso de 0 en la salida F. el diagrama temporal queda como se observa en la figura: C u=C x=Au y=v F=xy T I* 3A r e) En el caso b): Las entradas pasan de ABCD=1101 a ABCD=1111 periódicamente. La función debe tomar los siguientes valores según el mapa de Kamaugh: F(1011)=0 y F( 1111 )= 1. Analice a nivel lógico los siguientes circuitos combinacionales.. que es lo que se muestra en la salida.a) / = (x y + x y ) ( z + x y ) = x ( z + x y ) = xz + xy xy z'0 1 00 01 11 10 0 0 0 1 0 0 1 1 www.. El pulso de 0 es mayor que la duración en 0 1 0 1 ..0. PROBLEMAS CON SOLUCIÓN RESUMIDA Problema 7. pero esto no es azar. La función. Ponga la fun­ ción en suma de productos o producto de sumas. 1. de aquí a 0111.. la función debe pasar por el valor 0 . debe tomar los va­ lores: 1. 0111.. a) x y b) c) Solución P7. 1111 (durante un tiempo A) y vuelven de nuevo a 1101..me .ANÁLISIS DE CIRCUITOS COMBINACIONALES 45 En el caso d): ABCD pasan de 1101 a 0101 (éste durante un tiempo A).FreeLibros. 1. explicándose 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).. Realice un análisis lógico de los circuitos representados en la figura correspon­ diente. a) b) www.46 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) / = xy © (z + x) = xz + xy 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 c) f = y ® ( y + x) = xy Problema 8. Obtenga las expresiones en forma de sum a de productos y producto de sumas. Determine el coste.FreeLibros.. Liste los mintérminos y maxtérminos correspondientes.me . ANÁLISIS DE CIRCUITOS COM BINACION ALES C) Solución P8. f 2 (x . 14. ^2 sp = x 3 + xi x 2 + X 1 x 2 ^2 ps ~ ( X 1 + x 2 + x3) ( X 1 + x 2 + x3)fjíxj. 6 . 10. 14). 4. 5.2. 9. 2. x4) = Z (0. b) Análisis de coste: coste n° puertas n° conexiones retraso máximo retraso mínimo 7 12 entradas + 2 salidas 5 niveles de puertas 2 niveles de puertas Análisis lógico: f lsp = *3 x4 + X1 x2 x4 + X1 x2 x4 + X1 x2 x3 x4 + X1 x2 x3 x4- f]ps = ( x 3 + x4 ) (x] + x 2 + X4 ) ( X j + x 2 + X3 + X4 ) (x¡ + x 2 + X4 ) ( X ] + x 2 + X3 + X4 ). 3. 12.. 1. 6 . x4) = I (1. 3.x 2.. 4. 7. 7. 9). 11. x2. a) Análisis de coste: coste n° puertas n° conexiones retraso máximo retraso mínimo 6 10 entradas + 1 salida 4 niveles de puertas 2 niveles de puertas Análisis lógico: fsp = x2 + x i x3 fps = (x2 + x 1)(x 3 + x2). 1. 10 12. 5). 8 . x3. 13. x3. f(x.FreeLibros. 3. 15) = ri(4 .me . 7) = n (0. x3) = I (2. 15) = n (0.8. c) Análisis de coste: coste n° puertas n° conexiones retraso máximo retraso mínimo 3 6 entradas + 1 salida 2 niveles de puertas 2 niveles de puertas www. 5. 11. x2. 13. 6 . 4. 11. 15) = 11(0. x4) = 1 (3. 9.8 . 14.2). 6 . a) b) c) www. f2(Xl.x 2. 10. 1.48 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Análisis lógico: fSp = X j + x2 + X 3 x4 fps = (x2 + X j + x3) (x2 + X ] + x4). Problema 9.-Analice la función que realiza cada circuito encontrando una expresión sp o ps. 12.7 . 13.FreeLibros.me . x3. me 49 . www. c)f = x¡x 2 + x xx 3 + x¡x 2x 4 + x 3x 4x 2 + x¡x}x 2 + x 3x¡x4.ANÁLISIS DE CIRCUITOS COMBINACIONALES Solución P9.FreeLibros.a)/ = b)z = wxz + xyz + x yw + xyz ■ ace + acf + bce + bcf+ ade + adf+ bde + bdf+ gh . Existen expresiones que cumplen estos requisitos que son las llamadas suma mínima de la función (expresión sp) o producto mínimo (ps).FreeLibros.. El circuito óptimo responde a una expresión óptima. b) al número de conexiones total del circuito. Planteado de esta manera. De estos criterios. Para este tipo de expresiones el segundo criterio. OBJETIVO DE DISEÑO Existen diversos criterios respecto a los cuales optimizar. considerando que sólo se usan puertas AND y OR (o bien sólo NAND o sólo ÑOR) con fa n -in y fan -o u t ilimitados y entradas en doble rail.Minimizar el coste de la función en cuanto: a) al número de puertas lógicas de que consta el circuito. En este tema los criterios según los cuales se van a optimizar los circuitos son dos: 1.Minimizar el número de niveles de puertas que deben atravesar las señales de entrada hasta alcanzar la salida.La suma mínima (producto mínimo) de una función de conmutación está for­ mada por el conjunto mínimo de implicantes primas (implicadas primas) con el menor número 51 www. existe un teorema que indica cómo obtener la suma o el producto mínimo y es el siguiente: Teorema. este proceso consiste en. Básicamente. el primero conduce a buscar expresiones que den lugar a circuitos en dos niveles de puertas. de forma que lo que hay que obtener es esta expresión.me . 2. obtener un circuito que la realice. reducción del coste. buscar términos pro­ ductos o sumas con el menor número de literales posible. en realidad. cualquier expresión lógica de la función sería válida para obtener el circuito. significa reducir el número de términos productos (en expresiones sp) o reducir el número de términos sumas (en expresiones ps) y.. Expresiones de tipo suma de productos (sp) o producto de sumas (ps) son las más apropiadas para cumplir este requisito. dada una función de conmutación. además. de manera que en función del criterio elegido. el objetivo del proceso de diseño es. Por otra parte. Sin embargo.. más complejo y con­ siste en obtener un circuito óptimo respecto a algún criterio.Capítulo 4 DISEÑO DE CIRCUITOS COMBINACIONALES El proceso inverso al de análisis es el de diseño de circuitos combinacionales. el circuito óptimo puede ser uno u otro. ya que sólo ella cubre a algún mintérmino (maxtérmino) de la función. PASOS DEL PROCESO DE DISEÑO El proceso de diseño se desarrolla realizando el conjunto de pasos que se muestran en el si­ guiente diagrama: En cada uno de estos pasos hay que realizar las siguientes acciones: 1.. OR-NAND ó NOR-OR) proporcionan los circuitos cuando se obtienen expresiones ps (de f y de f. además. 2. es encontrar una expresión formada por el conjunto mínimo de implicantes (implicadas) primas que cubran completamente la función. uno basado en el mapa de Kamaugh y el otro. Definición de implicante (implicada) prima.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.Una implicante (implicada) prima es un término producto o implicante (término suma ó implicada) cuyos mintérminos (maxtérminos) son todos mintérminos (maxtérminos) de la función y. Según el teorema.. un mapa de Karnaugh o 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. En particular. respectivamente). que denominaremos de QuineMcCluskey. 3. Una implicante (implicada) se dice que es esencial si obligatoriamente pertenece a la solución óptima. para las expresiones sp de las funciones se derivan cir­ cuitos en dos niveles AND-ORy NAND-NAND.A partir de la descripción formal obtenida al finalizar el paso anterior. y OR-AND-INV. En concreto.De la expresión suma de productos o producto de sumas mínimo de la función se ob­ tiene el circuito óptimo. Las estructuras duales (OR-AND o NOR-NOR. www.me . con los criterios que se han elegido. se presentan dos métodos para hacer la minimi­ zación. el objetivo del proceso de diseño de una función de conmutación. si se obtienen las expresiones sp de las fun­ ciones complementadas. tabular. no existe otra implicante (implicada) de la función que contenga a todos los mintérminos (maxtérminos) de dicho término producto (suma). AND-NOR ó NAND-AND.52 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES de literales posible que cubren completamente la función.FreeLibros. Con este proceso se pretende obtener la expresión suma o producto mínimo de la función. el circuito puede implementarse con las estructuras AND-OR-INV... hay que rea­ lizar el proceso de minimización. Obtenga la tabla de verdad (o el K-m apa) de las funciones siguientes: 1 ) f 1 se hará “1” para valores de entrada que no correspondan con dígitos BCD.ej. d. PROBLEMAS RESUELTOS Problema 1. Sean a. El conjunto de problemas que se presentan en este Capítulo. En estos casos (p. tanto los resueltos como los de solución resumida barren completamente los diferentes pasos del proceso. por tanto. Los mapas de Kamaugh de las funciones son los siguientes: abe le \ 000 001 011 010 110 111 101 100 00 0 0 1 0 0 1 0 0 01 0 0 1 0 0 1 0 11 0 0 1 1 1 1 10 0 0 1 1 1 1 abe de\. Por otra parte tiene dos salidas fj y Í2 que toman los siguientes valores: f] = 1 si y sólo si (b. f2 = 1 si y sólo si el número de “1” en (a. Además. en reali­ zaciones con puertas EXOR) el diseñador debe saber cómo pasar del paso 2 a la realización de su circuito. Solamente no se siguen estos pasos cuan­ do el circuito final no se obtiene a partir de expresiones sp (ps). se de­ dica especial atención al primer paso del proceso de diseño por ser el menos sistemático y. . c. .. d.Paso de descripciones verbales a descripciones formales.DISEÑO DE CIRCUITOS COM BINACIONALES 53 Estos pasos del proceso se realizan antes de tener en cuenta otros aspectos como son si la disponibilidad de las entradas es en único rail. e un número BCD.El circuito que se pretende diseñar tiene 5 señales de entrada.Proceso de minimización por mapa de Kamaugh. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . b. etc. e) es par.me 1 0 1 . b. d. el primero es un bit de paridad impar. si el fan -ou t es limitado. 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 . d. si se dispone de cir­ cuitos integrados en vez de puertas individuales. c..Otros tipos de realizaciones. siendo a el bit de paridad impar y b. . 2) f2 se hará “1” para palabras con paridad incorrecta. c. Solución P l. c. el más complejo de realizar.Proceso de minimización por Quine-McCluskey. 000 001 011 010 110 111 101 100 00 1 0 1 0 1 0 1 0 0 01 0 0 0 11 1 0 0 10 0 www. e. e) no es un número BCD.S e tiene una palabra de 5 bits: los cuatro últimos bits representan un dígito BCD.FreeLibros. b) obtener el circuito correspondiente a la mínima de estas expresiones.. mientras que el menor valor será 0. El mayor dígito BCD es 9. ésta se escogerá mediante votación. Diseñe el circuito “votador” que ha de utilizarse para obtener como resultado el valor mayoritario de las tres entradas. para señales de vital importancia para la seguridad del aparato.[N 2 BCD/3].54 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 2. B y C y reali­ zamos un cubrimiento óptimo: / = A + B + C = a b + be + ac Un circuito hecho sólo con puertas NAND es el siguiente: & abacbc■ & & «fe Problema 3. De esta forma.La salida es un número.FreeLibros.El proceso de votación consiste en tomar el valor mayoritario de las entradas. Se pide: a) expresar las funciones mínim as de salida como suma de productos y como productos de sumas. los circuitos deben estar triplicados para que e l fallo de uno de ellos no produzca una catástrofe. por tanto el mayor valor de N será 3. del circuito tendrá la siguiente codificación: f = 0 si hay más ceros que unos en las entradas f = 1 si hay más unos que ceros en las entradas El circuito votador tiene tres señales de entrada: a. que son las salidas de los cir­ cuitos triplicados.Las normas de seguridad de los modernos aviones exigen que. N. realizado con un solo tipo de puertas. A.. f.Se pretende diseñar un circuito combinacional que tenga como entrada un dígi­ to B C D natural y como salida la parte entera del cociente de su división p o r tres. Solución P2. Representaremos a N por dos bits: zjZq = N(2. Podemos construir el mapa de Kamaugh o bien la tabla de verdad: ab e f 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 En el mapa de Kamaugh seleccionamos las implicantes de la función. www.me . Solución P3.. la salida.. igual a la parte entera de dividir un dígito BCD por 3: N=Ent. En caso de que los tres circuitos no produzcan la misma salida. b y c. podemos formar la tabla de verdad y. www.*A H N x3x2x l xO z lz0 2(3x2 00 0 0 0 0 0 0 0 0 1 11 1 0 00 01 101 0 0 00 0 1 0 iñ K 0 0 10 0 0 0 /ó\ 0 /á 00 10 /'oí A ~ 0 0 11 1 0 1 01 ^ 0 ! 0/ d 1 .FreeLibros. a partir de ella.Las cuatro líneas de entrada de un circuito combinacional corresponden a un número natural codificado en binario natural. el coste de z¡ en sp es menor que en ps por lo que la realizaremos con NAND: x3 & x0 x2 • Xi ■ & & > x3 x2 & z0 X1 x2 & & X1 x0 Problema 4.. por lo que da igual realizarla sólo con NAND o sólo con ÑOR.) (x 3 + x2) * 1 sp = D + C = * 3 + -*1 * 2 ¿Osp = I + H + J = x 3x 0 + x 2x¡ + x 2x¡x 0 ips = GFE {x 2+ x0) (xx+ x 2) (x 3+ x 2+ xx) El coste sp y ps de z0 es el mismo. no se trata de un error sino del uso más conveniente para esa inespecificación). Diseñe un circuito en dos niveles que sirva para detectar cuándo un número es una po­ tencia de dos.0 0 10 0 1 0 1 vi 0 j d 0 10 1 1 0 1 i) 0 11 0 110 2 10 0 10 0/ d d /{ ) k 2 10 0 111 L— si 10 0 0 10 0 1 2 y % 10 1 1 3 B i D F ■*- i- zo Las expresiones como suma de productos y productos de sumas son la siguientes: = A B = (x 3 + jc.me .y 11—) son inespecificaciones (d) para las funciones: I . Por otra parte. Teniendo en cuenta esto.DISEÑO DE CIRCUITOS COMBINACIONALES 55 La entrada es el dígito BCD que está formado por 4 dígitos binarios: x3 X2 XjX0. (En la realización mínima de z0 la celda 15 es tomada como 1 para ZQSp y como 0 para zqps. el mapa de Kamaugh de cada una de las funciones de salida sabiendo que las celdas que no correspon­ den a dígitos BCD (celdas 101. b.Diseñe un circuito combinacional que acepte un número de tres bits y genere un número binario de salida igual a l cuadrado del número de entrada..N. La función de salida debe detectar la llegada de un número potencia de 2. Cuando en la entrada se detecte alguno de estos números. a b y c. (abe)2 000-0 0 001-1 1 010-2 4 011-3 9 www.me 100-4 16 101-5 25 110-6 36 111-7 49 . a. 23=8. d a b c d a b c d Problema 5 . 22=4.. El mapa de Kamaugh de esta función es el siguiente: < cd 00 01 11 10 00 01 11 10 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 f La expresión mínima en forma sp es la siguiente: /= abcd + abcd + abcd + abcd El circuito en dos niveles AND-OR es el siguiente: a b a b £. se representan desde el 000-0 hasta el 111-7.Con tres bits. Las potencias de dos son: 2°=1.. En la salida debe aparecer el cuadrado de la entrada: abe. c y d y una salida f. Dec.FreeLibros.Es un circuito con 4 señales de entrada. 2'=2. la salida tomará el valor 1. Solución P5.56 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P4. Dec. el circuito posee 6 señales de salida. por lo que en binario corresponde a (18-8)= 10.E l horario laboral de una factoría es de 8 horas diarias.. de la misma forma que ya se ha hecho en los problemas anteriores. b) Obtener las expresiones correspondientes a cada una de las anteriores funciones realizadas con un solo tipo de puertas. Para representar el 49 se necesitan bits. de él. de 13 a 16 (descanso) y de 16 a 19 (ter­ cer turno). Se pide: a) Expresar las funciones mínim as de salida como suma de productos y como pro­ ducto de sumas. que toman los siguientes valores: 6 abe. de 11 a 13 (segundo turno).DISEÑO DE CIRCUITOS COM BINACION ALES 57 El mayor valor que debe aparecer en la salida es el 49. Problema 6.me . si H es el número decimal de la hora.. Solución P 6 . una expresión de las mismas: ab 0 V ab 00 01 11 10 0 /l' 0 0 0 0 0 1 0 0 ab c \ 00 01 11 10 _ 0 0 ("l 0 Z2 = be 1 0 0 0 0 ab 0 00 11 11 c \0 0 0000 )0^ 1 N 1 0V c z4= ac+ ab ab c \ 00 01 11 10 0 0 0 0 0 1 0 0 0 0 Z3 = abc+ abe ab c \ O /r 0 0 s 1/ z5= ab 0 10 O 1 11 N 0 01 1\ 00 i < 00 01 11 10 0 0 0 0 1 1 z0= e Ahora ya es inmediato dibujar un circuito en dos niveles AND-OR ó NAND-NAND. (H-8 ) ( 2 es el valor en binario asociado que actúa como entrada del circuito. z^ z ^ z i Zq. Por tanto. Se pretende diseñar un circuito que tenga como entradas la representación binaria de la hora actual menos ocho y que proporcione a la salida el número de turno que está tra­ bajando (si procede) o “0 ” si es hora de descanso. Z5Z4Z3Z2Z1Z0 000-0 001-1 000000 000001 010-2 011-3 100-4 101-5 000100 001001 010000 011001 111-7 110-6 100100 110001 De esta tabla se obtiene un mapa de Kamaugh para cada salida y.De acuerdo con el enunciado. Se necesitan 4 bits para www. La última hora a señalar va desde las 18h alas 19h.FreeLibros.N. divididas en tres turnos: de 8 a 11 (primer turno). Dicho circuito deberá tener tres salidas M. I y m.FreeLibros. 1—tumo. m. Problema 7.58 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES poder representar los números 0 . Se necesitan.(a + b + c)(a + c +d)(d+ b) z0= b c + b d z0= b (c + d ) b) Las expresiones sp son trasladables directamente a expresiones NAND-NAND y las ps a expresiones NOR-NOR. Solución P7. Las salidas deben representar cuatro casos: descanso. dos señales de salida: z \Z q... por tanto. M. cuyo valor en binario representará los 4 casos con la siguiente codificación: TU RN O 1 2 descanso 3 H O RA S 8-9-10 11-12 13-14-15 16-17-18 HORAS-8 0-1-2 3-4 5-6-7 8-9-10 zlz0 0 1 1 0 0 0 1 1 A partir de esta tabla se construyen los mapas de Kamaugh y de ellos se obtienen las siguientes expresiones de las salidas. b. c y d.1 0 : a. Así: Expresiones: N AND -N AN D N OR-NOR zI==a ( b c d)( b cd) z¡= (a+b+c)+(a+ c +d)+(d+ b) z0= ( b c ) ( b d ) Zq= |j +d ) Las mínimas son: NAND-NAND para z\ y NOR-NOR para z0. I.tumo y 3—tumo. 2 .a0) y B = (b 1.me .Para hacerlo exclusivamente con puertas ÑOR obtendremos las expresiones ps de las tres salidas.b0).S e pretende diseñar un circuito com parador de 2 números de 2 bits. en forma sp y ps: zj=a + b c d + b c d Z[. A = (a 1. Del enunciado se obtienen directamente los mapas de Kamaugh de cada una de las fun­ ciones: www. de tal forma que: M = 1 sii A >B I = 1 sii A =B m = 1 sii A <B Diséñese exclusivamente con puertas ÑOR. 0) = 1. ABC= 001.c) = BOMBA(A.C) \ 0 BOMBA(A. Experimentalmente se encuentra que las combinaciones de entrada 101 y 0 10 hacen explotar la puerta.C) oq A Las salidas ABC=101 y 010 deben ser evitadas para que no explote el circuito.DISEÑO DE CIRCUITOS COMBINACIONALES bib>i 0 0 0 1 00 <t) r° 1 01 11 1 10 1 59 11 10 0 1 JÁ k¿ Jp L kl m 1 M .b.B. Para ello vamos a añadir un circuito con 3 entradas (a. Como BOMBA(1..B.c) = BOMBA (A.b. www.me . b. podemos hacer que para abc=101 las salidas del circuito sean cualquiera de las que dan 0 en la salida del circuito BOMBA. pueden s er modificadas externamente (añadiendo un circuito) de forma que sea funcionalmente completa y que sin embargo no explote. Esto es. c) y tres salidas (A.(bi+bg) (b[+ag) (b|+a() (aj+bg) (aj+ag) I =(ai+bi) (aj+bi) (ag+b0) (ag+bg) Problema 8. ABC= 000. 110. ABC 00 01 11 10 0 1 1 0 1 1 0 1 0 c BOMBA BOMBA(A. Esto es..Se ha diseñado una puerta de tres entradas llamada bomba (cuyas caracterís­ ticas se muestran) con un resultado desafortunado. 011. por el contrario.(a]+a0) (a[+b0) (aj+bj) (bj+ag) (bj+bg) m . C) de manera que BOMBA(a. Determine si hay que inutilizar las puertas o.B. 100. Como BOMBA(0. B.1.C) Solución P 8 . podemos hacer que para abc=010 las salidas ABC sean cualquiera de las que dan 1 en la salida del circuito BOMBA.Debemos conseguir que el circuito no explote en ninguna combinación de en­ trada de forma que no cambiemos la función de salida.FreeLibros. 111.C) según la tabla del enunciado: c■ ba- CIRCUITO A DISEÑAR c < cq B 2 O BOMBA(a.1)= 0.B.0. 60 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Con el fin de no producir más cambios.z.z.FreeLibros.y. 7. a) xy ztK 00 00 01 xy 11 10 10 f= yzu+ xyz+xzu+ xyz+xu 01 0 11 0 10 0 0 (y + z + u) (x + y + z + u) *y 0 00 y 0 01 0 0 11 3> 10 c f= xzu+ xyz+ xyz+ xzu 10 f = (x + y + z) (x + z + u) (x + z + u) 10 CE 3 11 i i i c : M i i @ i i <$1 J 2 > i 11 y 01 i 01 b) 00 00 01 11 1 i i /o \ i te / íd \ i « f W i i 10 i f = (y + u) (x + y + z) (x + z + u) (x + z + u) (x + y + z) www.u) = 'L(0.(3. 10. Del mapa de Kamaugh se obtiene una expresión de B en función de a.u) = 1. 11.. 13. b y c: 3? ab O o 0 01 11 10 (0 ) / i\ 0 B= ab + ac + be 0 (T Problema 9. 10. 14) b) f(x. 8.me . Tenemos que hacer dos elecciones. para cualquier otra combinación de abe.Utilizando el m apa de Kamaugh. 4. determine las expresiones mínimas en suma de productos y producto de sumas de las siguientes funciones: a) f(x. 4. 12. 14) Solución P9. 7. hare­ mos ABC=abc. 6. 12.y. 13. Una buena solución es la que implica menos cambios en las señales: abe = 010 —> ABC = 000 abe =101 —> ABC =111 Con estas elecciones la única señal que cambia es B mientras que A y C cumplen A=a y C=c. una para abc=010 y otra para abc=101. OR y NOT. 13.FreeLibros. 20. 11.Simplifique f = 1..-L a puerta OR opera de acuerdo con la siguiente tabla: I >i X ------- z y — z I 0 1 x+y 0: Inhibicón La puerta será funcionalmente completa si podemos realizar las operaciones AND. la puerta es funcionalmente completa.: NOT: OR: AND: i A >1 0 ------1 ------ >1 A ----- A -----B ------ A >1 B ----0 ------- >1 Por tanto. 7..me . Implemente f=m1+m 3+m 4+m 6 usando este tipo de puertas. 0 1 10 d > \0 0 00 0 00 0l 0q I D 0 f = a b e_+a b c d e + a c d e_+ __ 0 11 0 . 12.0/ T \0 0 0 + a c d e + a c d e + a b c e + a c d e 1 10c 00 u r 1 0 00 0 C E0 3 } J - y - Problem a 11. el “0 ” y el “ 1 ”. En la figura siguiente se muestra cómo es posible implementar cada una de estas fun­ ciones contando sólo con esta puerta. Solución P ll. 2. 28) Solución PIO.R azone si una O R de dos entradas con inhibición puede s er funcionalmente completa si disponemos del “0 ”y d e l “1". 14.DISEÑO DE CIRCUITOS COMBINACIONALES 61 Problem a 10. ab e i1 0 0 1 01 1 0n 0 11 0 1 . Las variables se encuentran en único raíl. Para implementar f=m]+m 3 +m 4 +m 6 obtenemos una expresión mínima en forma sp a partir del mapa de Kamaugh y la implementamos directamente: 0 1 00 01 0 0 (T _ _ _ _ T ) n i a 10 D 0 0 f = ac+ ac www. 27. 15. 2 5) + d(10. 26. 19. 8.(1. siendo d inespecificación. Las inespecificaciones pueden ocurrir en los siguientes casos: a) Valores de entrada que nunca pueden ocurrir...d..-Llamemos P a la salida de la puerta EXOR: P = v © x . entonces z=0 independientemente del valor de P.. d.. b.1 1 0.... P=1 si v=x... Así.... c)?. entonces z=0 independientemente del valor de u.me . Busquemos las posi­ bles inespecificaciones de u. de forma que no se modifique la función z. En este caso en el enunciado del pro­ blema se dice que la combinación de entrada abe = 001 nunca ocurre.. c) Valores de entrada que hacen P=0. indique todos ellos y realice un buen diseño de N-i con puertas Ñ O R tras obtener todos los valores inespecificados. De esta manera: 1) Si u=0.. abe Ó0~0 uvx 0 ... la cual toma el siguiente valor: z = P u. 1 1 a b 1 Solución P12. S i es así. para abe = 0 0 0.. 101. c) está compuesto de dos subcircuitos (ver figura). La combinación de entradas abc=001 nunca ocurre.. ¿ Es posible cambiar algunos valores de u.. Por tanto para esta com­ binación de entrada u. La tabla de verdad del subcircuito N 1 es la mostrada..... Esto es. De aquí que P pueda estar inespecificado para u= 0 . 3) Si u=P= 1.FreeLibros.. de forma que v y x pueden ser inespecificaciones. v=x y por tanto...... La tabla de verdad considerando las inespecificaciones sería la siguiente: abc 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 10 1 1 1 0 1 1 1 uVX 0 d d 0 1 d 0 1 d d 1 d 1 1 d 0 d d 1 d 0 1 d 1 www. para abe = 010. 2) Si P = 0. Por otra parte. d. Así... 0 1 1. de forma que: P=0 si v=x.62 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 12. P = v © x .x=d. entonces z = l. u = 0 y v... valores para los que v=x. En este caso u es inespecificación. En este caso P puede tomar cualquier valor.Un circuito que realiza la función z(a... 0 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 . v y x.. v. b. x = d. x a inespecificaciones sin modificar z(a. u= d. b) Valores de entrada para los que u=0... v.. B) desconocidos. En el siguiente mapa se muestra la información de par­ tida acerca de la función: www.En la tabla representada aparecen todas las implicantes prim as y todos los mintérminos de una función f(a. ad ac be cd A B 3 5 X X 7 X X X 8 X 12 X m X X m‘ X X X Solución P13. En esta tabla aparecen expresiones de todas las implicantes primas menos dos (A y B) de la función y todos los mintérminos menos dos (m y m').d) que también tiene inespecificaciones.m ‘) e implicantes (A. a s í como todas las inespecifi­ caciones de la función.DISEÑO DE CIRCUITOS COM BINACION ALES 63 Para diseñar el circuito Nj con puertas ÑOR vamos a construir los mapas de Kamaugh y obtener las expresiones mínimas ps: ab 00 01 11 ab 10 0 0 1 1 ab c \ 00 01 11 10 0 d 1 0) 1 d d 1 i 00 01 11 10 d 1 /d\ 1 1 d d W u= a(b + c) v= a+ b x= a+ c P rob lem a 13.c. Determine cuáles son los mintérminos (m .-La resolución del problema puede efectuarse utilizando una representación de la información que aporta la tabla del enunciado sobre un mapa de Kamaugh.b.FreeLibros.me .. Implicante ac: Vale 1 cuando a = 1 y c = 1. la posición 0 es inespecificación. Implicante c d: Vale 1 cuando c = 1 y d = 1. Esta implicante sólo cubre a un mintérmino de f. Implicante A: cubre a los mintérminos m=2 y 8 . 3. 10 y 11 sobre un mapa de Kamaugh. La úni­ ca posibilidad es que A sea la asociación de las posiciones en las cuatro esquinas. www. El que no sea m ‘ será una inespecificación. Son las posiciones 2. Son las posiciones 3. La posición 11 ya sa­ bemos que es inespecificación por lo que m sólo pueden ser la posición 2 o la 10. 12 y 14 sobre un mapa de Kamaugh. d. 11. Como 8 y 2 son mintérminos. De la implicante anterior se sabe que m ‘ o es el mintérmino 10 ó el 14. esto es.64 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ab 00 01 4 00 0 01 1 51 11 31 10 1 71 6 11 12i 10 81 13 9 Ib 11 14 10 f Implicante a d: Vale 1 cuando a = 1 y d = 0. 10 es inespecificación y. 8 y 10. Esta implicante solo cubre al mintérmino 3 y al m. Son las posiciones 10. 10. 11 y 15 sobre el mapa de Kamaugh. las posiciones 0. que están en esquinas opuestas. d.FreeLibros. Implicante be: Vale 1 cuando b = 0 y c = 1. 14 y 15 sobre un mapa de Kamaugh. Esta impli­ cante no cubre a m ‘ por lo que la posición 1 0 no puede ser el mintérmino m ‘. 7. 3 y 7 son mintérminos d e f y l l y l 5 y a sabemos que son inespecificacio­ nes por lo que esta implicante no aporta más información. m ‘. por lo que posee tres inespecificaciones. Por tanto el mintérmino m es el mintérmino 2 y el mintérmino m ‘ es el mintérmino 14.me . Como esta implicante cubre a m ‘ este mintérmino solo puede ser ó el 10 ó el 14. De esta forma las posiciones 11 y 15 del mapa son inespecificaciones. La expresión para A es b d. 8 y 12 son mintérminos de f. Son las posiciones 8 . teniendo en cuenta que A sólo cubre a dos mintérminos. el mapa de kamaugh de la función f queda de la siguiente manera: ab Falta por averiguar cuáles son la implicantes primas A y B. Con lo que hemos obtenido hasta ahora. 2. Ahora bien de las anteriores implicantes sabemos que la posición 10 es m ‘ o inespecificación. sino inespecifi­ cación. no fuese prima y sabemos que sí lo son. Al igual le ocurre a las posiciones 13. 6 . 9 y 4 que son maxtérminos.-Analicemos el circuito: z = a xb x (a 2b 2 + y= a 2b 2) = a xb xa 2b 2 + a xb xa 2b 2 (a 2b 2 + a 2b2) = a xb xa 2b 2 + a xb xa 2b 2 www.. Solución P14.El circuito de la figura ha sido diseñado para com parar las magnitudes de dos números binarios de dos bits a2 a-¡ y b2 b-¡. Teniendo en cuenta que en la primera co­ lumna del mapa de Kamaugh.DISEÑO DE CIRCUITOS COMB¡NACIONALES 65 Cualquier otra posibilidad para A daría lugar a que alguna de las implicantes que ya co­ nocemos. Si z=1 e y=0. 3 y 2 todas son inespecificaciones o mintérmi­ nos menos el 1 y que no existe ninguna implicante prima que los cubra a todos (la implicante B no posee al mintérmino m = 2) la posición 1 tiene que ser un maxtérmino. La expresión de B es abd. b2 b 1 es el mayor. Sin embargo el circuito propuesto no cumple las especificaciones solicitadas. los dos números son iguales. el mapa de Kamaugh de f queda de la siguiente manera: < 00 01 11 10 00 01 d 0 0 1 1 1 1 0 11 10 1 1 0 0 d d 1 d m=2 m ‘ = 14 A —b d B=abd Problema 14. a2 a 1 es el mayor.me . 6 . Si z=y=0. S i z = 0 e y=1. 13) por lo que B es la implicante prima que asocia exclusivamente a los min­ términos 5 y 7. Las casillas adyacentes a 5 y 7 son max­ términos (1. posiciones 0. 1.FreeLibros. Resumiendo. Compruebe este hecho y modifique el diseño para que sea correcto. Implicante B: cubre a los mintérminos 5 y 7.4. FreeLibros. las funciones correctas serán: z — zcir + a 2b 2 y = yc .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: Así. + a 2b 2 La reforma del circuito consistirá en añadir dos puertas OR para hacer las sumas ya que los términos productos ya están en el circuito: www.me .66 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Ahora vamos a construir los mapas de Kamaugh correspondientes a las funciones de z e y que suministra el circuito y el mapa de Kamaugh correspondiente a la función especificada en el enunciado: C IR C U IT O F U N C IO N E S P E C IF IC A D A A>ai b2> 00 00 01 0 0 1 0 0 0 01 0 1 0 0 11 0 0 10 0 0 00 01 11 10 0 0 ^2 al b2n 00 0 0 1 0 1 0 1 0 0 0 0 0 01 0 1 0 0 1 0 1 0 0 0 0 0 0 1 11 0 1 0 1 0 0 0 1 0 0 1 0 0 0 10 0 1 0 1 1 0 0 0 11 10 zy zy Se observa que (zy)c¡r ^ (zy)func. siendo H la salida de la puerta AND. f3 y f podemos concluir lo siguiente: . de las variables (w. f2 ^ 0 y f3 ^ 0 (incluyendo w X z y Solución P15.Las funciones del circuito de la figura dependen.FreeLibros. mien­ tras que los mintérminos de f son mintérminos de H ó de f3. mientras que los maxtérminos de H son maxtérminos de fj ó de f2. 12): a)Determine completamente las funciones inespecificaciones). wx y> 00 00 01 11 - 10 - 01 0 - - 11 0 - - 10 - 0 0 - Revisando los mapas de H.x. 9.DISEÑO DE CIRCUITOS COMBINACIONALES 67 Problem a 15. 10. H = f j f2 = (x© z)f2.y. De aquí que los mintérminos de H son mintérminos de fj y de f2. Por otra parte. f2 = 0 en celdas en las que H = 0 y f. . b)Reaiice los circuitos que proporcionan f2 y f3. en general.H vale 0 en las celdas 0 y 10 porque vale 0 en esas celdas. = 1. f 3 tiene que valer 1 en esas mismas celdas. f2 está inespecificada en aquellas celdas en las que H = 0 y f] = 0.Como f2 tiene que ser distinta de 0. a) Analizando el circuito de la figura se obtiene que f = H + Í3 . Como f = 1 en las celdas y 1 0 . 4.me . Como f] es conocida.. f2. tendrá algún mintérmino en alguna de las celdas www.z). los mapas de Kamaugh de H y f3 tienen los siguientes maxtérminos: 10 wx y z \^ 0 00 00 01 n 10 wx yz\ i i i 0 00 01 0 0 0 i 01 0 0 0 01 0 0 0 n 0 0 0 i 11 0 0 0 11 0 0 0 10 0 0 0 i 10 0 0 0 10 0 0 0 WX y ^ \ 00 00 01 11 00 01 11 10 0 H Por otra parte. Por tanto. De aquí se deriva que los maxtérminos de f son maxtérminos de H y de Í3 . 11. a partir de ella y de H se obtiene parte del mapa de f2: wx 0 'Z \ 00 01 11 10 00 0 1 1 0 01 1 0 0 1 11 1 0 0 1 10 0 1 1 0 f. Sabiendo que f =Z (0. existen varias soluciones. para lograr que z dependa sólo de dos variables.En ¡a figura se representa una función de 4 variables incompletamente espe­ cificada..FreeLibros. dependiendo de cuáles de las celdas 4.me .11 ó 12 consideremos mintérminos de f2. a) Teniendo en cuenta que hay dos mintérminos en esquinas opuestas. Solución P16.9. Como f = 1 en esas celdas. Por tanto. las inespecificaciones de las otras esquinas deben sustituirse por www. 9. . exactamente cuatro implicantes primas. únicamente cinco mintérminos sin implicantes superiores. el mismo número de implicantes primas que de implicadas primas.68 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES donde no es ni inespecificación ni 0 (celdas 4.0 - 00 0 01 0 11 0 10 0 f2= wy 0 0 0 0 - 0 0 0 fT) 0 li J P ro b le m a 16. 11 ó 12). Í3 debe tomar el valor 1.Una de las posibles soluciones es la que se muestra a continuación: wx 00 01 11 10 00 01 11 10 - 1 - 0 0 - - - 0 0 wx yz\ 00 01 11 10 1 - h 00 01 1 1 0 0 0 0 0 0 11 10 . en aque­ llas en las que f2 = 0. 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 11 10 a) b) c) d) e) z z z z z pasa tiene tiene tiene tiene 00 01 11 10 1 d d d d d 0 0 0 d d d 0 0 0 1 a depender de sólo dos variables. una implicante prima no esencial.0 0 0 1 0 1 b) De los mapas de f 2 y Í3 obtenemos expresiones para f2 y Í 3 : 00 01 11 10 0 0 - 0 _v . no puede haber dos mintérminos adyacen­ tes.FreeLibros.El mapa de Kamaugh y la expresión final de z quedan como sigue: .me Implicante prima no esencial . El mapa quedaría de la siguiente manera: 01 11 10 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 c) Una implicante prima es aquella implicante (agrupación 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: c d' 00 00 f e Ol’ 01 11 10 n i/ 11 A 10 d) Una implicante prima no esencial no posee ningún mintérmino distinguido:. El resto de inespecificaciones se sustituirán por maxtérminos. 01 11 10 to 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 D www.DISEÑO DE CIRCUITOS COMBINACIONALES 69 mintérminos.= b d b) Para que no haya implicantes superiores.a b cd^ 00 00 01 11 10 1 0 0 1 01 0 0 0 0 11 0 0 0 0 10 1 0 0 1 . El procedimiento de obtención de las implicantes primas consta de los siguientes pasos: 1) Listar todos los mintérminos por su índice (número de unos del código asociado a cada mintérmino). (Cada pareja es una impli­ cante). Para obtener la expresión mínima vamos a aplicar el método de Quine-McCluskey..29) Una vez con la expresión suma de mintérminos. 2) Comparar cada mintérmino de índice j (empezando por j=0) con cada mintérmino de índice j+1.a b c a ' 0 0 01 11 10 oo_ O 01 n 10 ' P ro b lem a 17.12. Para ello construimos el mapa de Kamaugh: abe e N.70 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES e) En el siguiente mapa existen dos implicantes primas y dos implicadas primas (impli­ cada como agrupación de maxtérminos): .FreeLibros.6.13. el método consta de dos partes: I) Obtención de las implicantes primas.22. dentro del grupo de índice j. b) ÑOR.me . 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 00 0 1 1 0 0 0 0 0 01 0 0 1 1 1 1 1 1 11 0 0 0 1 1 0 1 1 10 0 1 0 0 0 0 1 0 / = (4.17.21.25. obtenemos esa expresión a partir de la que nos dan. b) Marcar ambos mintérminos.11. a) Para realizar la función con puertas NAND vamos a obtener la expresión mínima en forma de suma de productos (sp) que nos da una forma directa de implementarla en dos niveles de puertas NAND. En primer lugar.27. En el caso de ser adyacentes: a) Formar una nueva pareja con ambos mintérminos e incluirla en una nueva lista. www.23.Realice la función f con puertas: a) NAND.9.19. Este método parte de la expresión suma de mintérminos de la función. f = a b c d + ab ce + acde + abc e + abce + abce + a bc d + abec Solución P17. 25. Eliminar todos los mintérminos cubiertos por las implicantes esenciales.23)-2< (21. El proceso de obtención del cubrimiento mínimo consta de varios pasos: 1) Formar la tabla de implicantes primas.1 -1-01 -10-1 10 11 0 110-0110 0-100 00 1-0 ad ace abe bde bce abcd abcd bcde acde abce II) Cubrimiento mínimo.29)-4< Implicantes de cuatro mintérminos (9. El desarrollo de estos pasos.FreeLibros. 4) Una vez comparadas todas las implicantes de todas las listas generadas. es el siguiente: Mintérminos listados por su índice índice 1 4< 6< índice 2 12< 17< 11< 13< índice 3 19< 21< 22< 25< 23< índice 4 27< 29< Implicantes de dos mintérminos (4. Para ello.19)-2< (17.me . www. en este caso.21.21.29)-4. marcar las implicantes agrupadas. poner los mintérminos de la función como cabezas de columnas y las implicantes primas como ca­ bezas de filas.13)-4< (9.29)-8< (22.21 )-4< (17.27)-2< (25. Además.6)-2 J (4.25)-16< (12.29)-4. Marcar los mintérminos cubiertos por cada implicante.13)-l G (17.23)-4< (19.19.25)-8< (11.8 (17.23)-1 F (25. formar la nueva implicante que cubre a las implicantes anteriores y añadirla a una nueva lista.25.27)-2. 3) Si hay mintérminos de la función que aún no han sido cubiertos. proceder con la nueva lista (la de implicantes) de forma similar al punto 2. Esto es.11.4 (17.DISEÑO DE CIRCUITOS COMBINACIONALES 71 3) Una vez comparados todos los mintérminos. En caso de ser adya­ centes.11)-2< (9. 2) Determinar las columnas distinguidas seleccionando las implicantes pri­ mas esenciales para formar la expresión de la función.22)-16 H (9.23)-2. son implicantes primas todas aquellas que están sin marcar al final del pro­ ceso. Para ello.12)-8 I (6.13. eliminar las filas dominadas (si el coste es mayor o igual que la dominante) y las columnas dominantes.8 E D C B A Expresión de cae a implicante A B C D E F G H I J abcde 1--0 1 1-0-1 10-.29)-16< (19.19.25.25.27)-16< (13.16 (17.27)-8< (21.16 (9.27)-2. comparar cada im­ plicante de índice j con cada implicante de índice j+1. simpli­ ficar la tabla. X X X X www..." ." X . 2.3 X X X Columnas distinguidas: 11.x. bien por el método de Petrick.X ‘* .... 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... Comenzamos construyendo la tabla de implicantes primas: 4 6 9 11 12 13 A 17 X A C X X D E 19 X A X 22 21 IX X X X X F X G X H X J X K 25 27 A.. ¡ y .x . eliminamos B. Por tanto. 11.. 6 ) La suma estrictamente mínima de la función se obtiene mediante la suma de las implicantes seleccionadas en los pasos 2 y 5. 4 6 12 13 2-2 A-. ""*X" " X X X X 29 X X X X I 4. Se elimina 17. sigue el mismo proceso tomando los “ceros” de la función en vez de los “unos”..72 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 4) Verificar si hay implicantes esenciales secundarias.. Por tanto... G' X H I X J X . 25. Se eliminan de la tabla de cubrimiento los mintérminos de E: 9.FreeLibros. 27.. reescribimos la tabla eliminando las columnas y filas ya tachadas..... Por tanto.me 29 . C Implicante prima esencial secun­ daria y se selecciona. En este punto. Se eliminan sus mintérminos: 19. 23.. en cuyo caso repetir el proceso desde el paso 2 . F . E es implicante prima esencial y se selecciona. 5) Si se llega a una tabla cíclica... Filas dominadas: B es dominada por C.. Columnas distinguidas secundarias: 19. por claridad. 21. . Notas adicionales: 1 En funciones incompletamente especificadas... X . obtener el cubrimiento mínimo bien por el método exhaustivo. Columnas dominantes: la columna 17 domina a 19 y 21..La obtención del producto de sumas mínimo. . Carm en y Diana.C4: Si van A yC. Podemos expresar F como una suma de productos donde cada término producto representa una condición: F = C¡ + C 2 + C 3 + C 4 + C 5 Debemos encontrar los términos productos asociados a cada condición. B.Si vale 1 significa que SÍ va a la fiesta. Vamos a diseñar un circuito con una salida F que tomará los siguientes valores: . (Utilice el método de Quine-McCiuskey). La solución que se obtiene es la siguiente: /= (c + e) (a + b + e) (a + d + e) (b + c + d) Problema 18.C¡: Que no va solo. A partir de esta expresión. Columna 29.DISEÑO DE CIRCUITOS COMBINACION ALES 73 Filas dominadas: A es dominada por D. por tanto. Columnas distinguidas secundarias: 22. a Diana. 22 (de H).me . Por tanto. Cada variable puede valer 0 ó 1 con el siguiente significado: . deberá invitar también a Bea. ha establecido las siguientes normas: .-Descripción de las variables: Vamos a asociar una variable de conmutación a cada persona: A. Solución P18. a Bea.Si vale 0 significa que la persona NO va a la fiesta. Eliminamos G y J.Si invita a Carm en o a Diana. . Por tanto: / = E + C + H + D + I = bce + abe + bcde + bde + acde b) Con puertas ÑOR.Florencio va a ir a una fiesta esta noche. F valdrá 1 cuando la elección sea incorrecta. Tiene cuatro nombres en su agenda: Ana. 13. .C5: Si va C ó D ó no va A. . esto es. el método de Quine-McCluskey se aplica exactamente igual que en el caso anterior.29 (de D).S i invita a Bea. debe ir B. Por tanto. debe invitar también a Carmen. o no invita a Ana. Filas dominadas: G es dominada por I y J es dominada por I. D es esencial y se selecciona. . hay que partir de la expresión producto de maxtérminos de f. Bea. de aquí que eliminemos F.F=1 si la elección es incorrecta. . a Carmen y D.S i invita a Ana y a Carmen. Que no vanlas 4 chicas juntas. H es esencial secundaria y se selec­ ciona. . pero no solo. a Ana. Columnas distinguidas secundarias: 4 —> I es esencial y con ella la función queda com­ pletamente cubierta. eliminamos A. Ayúdele a diseñar el circuito óptimo en dos niveles con puertas NAND. quiere utilizar un circuito que le indique cuándo una elección no es correcta. C. . F es dominada por H.C3: Si va B (Bea). OBTENCIÓN DE LA FUNCIÓN: En el enunciado se indican 5 condiciones a cumplir: . Para no romper corazones.FreeLibros. Por tanto.. Puede invitar a más de una chica pero no a las cuatro.C '. debe ir C (Carmen). el procedimiento es similar con las diferencias de que hay que ob­ tener una expresión mínima en forma producto de sumas (ps) y. teniendo en cuenta lo siguiente: 2 www. deberá también invitar a Bea o a Diana. cuando se incumpla alguna de las condiciones.F=0 si la elección es correcta (cumple todas las normas). Eliminamos los mintérminos 6 . Antes de llamarlas por teléfono. debe ir B ó D. . se obtiene: Mintérminos listados por su índice índice 0 0< 1 índice 1 índice 2 < 2< 4< 3< 5< 9< (0 . En este caso C 5 = l.15)-2< Implicantes de cuatro mintérminos (0.13)-8. En este caso C j= l.1.13. La condición C 3 se incumple en el caso de que vaya B y no vaya C.9)-8< (2.5)-4.9.12)-8< (3.5.15)-4< (13. El término producto asociado a esta condición es: C 4 =A C B D.15)-4.3.2 13 (1. si (C=l ó D=1 ó A=0) y B=0.13)-1< (11.11.4.3)-1< ( 2 .2.1 15 (4.12.2 17 O O < 12< 11< índice 3 13< índice 4 15< 10 Implicantes de dos mintérminos -0-1 --0 1 .13)-4< ( 1 0 .0 1-101 . En este caso C 4 = l. El término producto asociado a esta condición es el mintérmino 0: C]=A B C D .8< Expresión de cada implicante 11 12 13 14 15 16 17 www.74 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Cx = 1 si no se cumple la condición. La condición C 2 se incumple en el caso de que vayan todas las chicas.2.1 11 (0.5.1 16 (9.me ABCD 00-1 (4.FreeLibros. si B=1 y C=0.15) A continuación.11.9.3)-2. Esto es.1. Esto es. La condición C¡ se incumple en el caso de que no vaya ninguna chica.5)-4< (1. en el caso de que A=1 B=1 C=1 y D=1. vamos a obtener una expresión óptima de F mediante el método de Quine-McCluskey que consta de dos partes. En este caso 0 3 = 1 . En este caso C2 = l.11)-8.3. La condición C 5 se incumple en el caso de que vayan C o D o no vaya A y no vaya B. Cx = 0 si se cumple la condición. De esta forma se obtiene que F = A B C D + A B C D + B C +A C B D + A B + B C + B D En forma de suma de mintérminos queda: F = X (0.3)-2< (1.1 1 2 (1.4)-2< (1.-1 AB AC BD CD BC BC AD .10. El término asociado a esta condición es: Cg= (C+D+A)B= A B + B C + B D.11)-8< (5. si A=1 C=1 B=0 y D=0.10.13. El término producto asociado a esta condición es el mintérmino 15: C2=A B C D .1 < (12.12. 10).9. 1).2 ).13)-8< (9.11)-8.4 14 (2.1.3.1< (0 . Esto es. El término producto asociado a esta condición es: C 3 =B C. En nuestro caso. en el caso de que A=0 B=0 C=0 y D=0.11 )-2< (9.5.13)-8. I) Obtención de las implicantes primas. La condición C4 se incumple en el caso de que vayan A y C y no vayan ni B ni D.5)-1< (4.2< (0. esto es. 1 1 ).4. esto es. En este caso se eliminan los mintérminos de IG: 9..G........ ...me . 11...r?i.. 11 12 13 15 X X X ... 15 también es una columna distinguida e IG es una implicante prima esencial.... por lo que se puede elegir cualquiera de ellas. 10 es una columna distinguida.. F...D . comunicados entre s í como indica la tabla siguiente (cada X señala dos pueblos vecinos): A X X B X c X X D X E X X F G X X X X La empresa quiere construir alm acenes de forma que cada pueblo. En la tabla resultante tras eliminar C y D.€ .. IE es una implicante prima esencial.C.X Filas dominadas: C y D son dominadas por A y B. . 3.. Se elimi­ nan los mintérminos de IE: 2.FreeLibros. 1...H) de una comarca.. entonces...DISEÑO DE CIRCUITOS COMB¡NACIONALES 75 II) Cubrimiento mínimo Construimos la tabla de implicantes: 0 1 2 3 A X X X X B X X C X D X 4 5 X X 9 10 X X X . Lo mismo ocurre con la columna 12 y la implicante IF. 11... 0 1 A X X B X X . o bien tenga un almacén o bien un pueblo vecino lo tenga.E....Una empresa distribuye un cierto producto en ocho pueblos (A..XV - .. Por tanto: F = I E + I F + IG + IA = B—C + B C—+ A D + A__B IB AC Problema 19. 12.. www. 13...X ..- ..D.. y se eliminarán los mintérminos de IF: 4.. tanto IA como IB cubren todos los mintérmi­ nos que faltan y además tienen el mismo coste. entonces eliminaremos C y D.... X-.B.. 5... ... 10..x . En este punto reescribimos la tabla eliminando las columnas y filas ya tachadas.. .. 15. >' .. B. Por ejemplo. filas dominadas y columnas dominantes. Cada uno de ellos cubre al pueblo donde está instalado y a los pueblos vecinos. g y h representan un almacén en los pueblos A. c.76 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a) Determine todas las formas de hacerlo construyendo el m enor número de almacenes posibles. en nuestro caso vamos a aplicarlo a obtener un “conjunto mínimo de alma­ cenes instalados en los pueblos” de forma que cubramos a todos los “pueblos”. Si bien en el caso del método de Quine-McClus­ key el problema consiste en obtener un “conjunto de implicantes mínimo” que cubra a todos los “mintérminos”. Eliminamos las columnas dominantes: D (domina a B) y C y H (dominan a G). determine todas las soluciones más económicas. un almacén en el pueblo A. A partir de aquí el procedimiento es igual al del cubrimiento en Quine-McCluskey: Columnas distinguidas.me F X G X X X X X X . D y F. Solución P19. Existe una equivalencia entre implicantes y almacenes en los pueblos y entre mintérminos y pueblos. b. Cuando se pretende obtener todos los cubrimientos mínimos. no se debe aplicar el criterio de eliminar filas dominadas. cubre a los pueblos A. El resultado de eliminar estas columnas. Vamos a aplicar la segunda parte del método de Quine-McCluskey. E. G y H res­ pectivamente. D. No obstante. C. Cubrimiento mínimo de la tabla. que consiste en hacer un cubrimiento óptimo. es la siguiente tabla cíclica: a b c d e f g h A X X X X B X X X X E X X X www. ya que este criterio elimina algunas soluciones mínimas. cubrir todos los pueblos.FreeLibros. en el enunciado nos dicen que se deben obtener todas las soluciones mínimas. 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: F G H A B c D E b a X X d X f X c e g X X X X X X X X X X X X X X X X X X X X X X X X X X X X h donde a. f. B.a) Este es un problema de cubrimiento: con el menor número de almacenes. fila a. e. b) SI en los pueblos A y G se ponen alm acenes por tener m ayor número de habitantes. d.. F. . A se cubre con (a+b+d+f): www..DISEÑO DE CIRCUITOS COM BINACION ALES 77 Para resolver esta tabla vamos a aplicar el método exhaustivo. En este método se parte de una columna con el mínimo número de marcas. En este caso la columna E.Eligiendo f: Eliminamos las filas que cubre f: A. En total tres. Así pues con f y c se cubre todas las columnas.Eligiendo e: Eliminamos las filas que cubre e: E y F quedando la siguiente tabla: A X X a b c d f g h B X X X X X X G X X X Además de e se necesitan al menos dos más (por ejemplo: a y c ó b y g).. Existen por tanto dos soluciones mínimas: Poner almacenes en los pueblos D y H ó ponerlos en los pueblos C y F. Existe otra forma de resolver la tabla de cubrimiento.FreeLibros. Así pues con d y h se cubren todas las columnas. 3. Este es un método que consiste en lo siguiente: 1. y E quedando la siguiente tabla: F X a b c e f g h G X X X X X X Con h se cubre el resto de la tabla. Analice­ mos cada una de ellas: 1.me .ej.. aplicando el método de Petrick.Eligiendo d: Eliminamos las filas que cubre d: A. E y F quedando la siguiente tabla: a b c d g h B X X X X G X X X Con c se cubre el resto de la tabla. donde cada tér­ mino suma corresponde a las formas de cubrir una columna mediante filas.Se forma la función de Petrick como expresión producto de sumas.. 2. B. Para cubrir el pueblo E hay tres opciones: Instalar almacén en d ó en e ó en f. con lo que no son soluciones mínimas. P. 0 0. u 2 = d.G. Solución P20.. u¡ = 0 .0000 0 0 0 1. Al eliminar estos pue­ blos la tabla queda como sigue: E X X X d e f Hay. z 2 = a.5 2. las soluciones mínimas son construir en C y F ó en D y H.Diseñe.0 2.E}. La tabla de verdad del circuito es la siguiente: N 0 1 2 3 4 5 6 7 8 9 ENTRADAS abcd 000 0 000 1 00 10 00 11 0 10 0 0 10 1 0 110 0 111 10 0 0 10 0 1 N/2 0. El resultado deberá tener una cifra decimal y estará representado en BCD.0101 0 0 1 0. b) Si en A y G se colocan almacenes están cubiertos todos los pueblos vecinos de A y G junto con ellos. tres soluciones mínimas en esta caso son: {A.5 4.0 4. {A. Zg = c. donde z 3 z2ZjZo representa el dígito BCD de la parte entera de la división y u 3 u2UjUo el dígito BCD de la parte fraccionaria..5 SALIDAS Z3Z2Z1Zo.0101 0 10 0.78 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P = (a+b+d+f)(a+b+c+d)(b+c+d+g+h)(a+b+d+e)(d+e+f)(a+e+f+h)(c+g+h)(c+f+g+h). u 3 = 0 . www.5 3. un divisor por 2 de un dígito BCD. Se pueden eliminar de la tabla de cubrimiento inicial. Por tanto la salida tendrá 8 señales: z3 z2 Z]_ Z0 .0 3.5 1.G.0000 0 0 0 0.D} y {A.U3 U2 U1 U0 . pues.-Debemos diseñar un circuito con 4 señales de entrada representando un dígito BCD y que genere a la salida el resultado de dividir ese dígito por 2.me .0 0 0 0 0 10 0 . 2.0000 001 1.G.0 1.FreeLibros.Se obtiene la función de Petrick como suma de productos. Así se tiene: z 3 = 0 . uq = d.U3U2U1Uo 0000.0101 001 1. Zj = b. 0 1 0 1 De la tabla de verdad se obtiene una expresión para cada salida sin más que comparar las columnas de cada salida con las columnas de las entradas. P ro b le m a 2 0 . con e l m enor número posible de puertas.F}. Por tanto.0 0 0 0 0 0 10. El cubrimiento mínimo se obtiene con las filas que aparecen en los términos producto con menor número de literales: P = cf+dh+acd+ace+ (el resto de términos producto tiene 3 o más literales).0101 000 1. D é e l resultado con una cifra decimal (también en BCD). D )=BC (A +D ) Suponiendo entradas en doble raíl: a) Realice la función: f (v. 11.Una cierta puerta de cuatro entradas llamada LIM O N realiza la función siguiente: L IM ON(A. b) ¿ Puede realizarse cualquier función en lógica LIM O N/O R?. Del mapa de Kamaugh se obtiene la siguiente expresión para f: vx 00 01 11 10 y 0 0 0 0 0 0 0 ( 1 r \d 0 y _ x y z (1) f = v y + v x y + v x z + __ x y z (2) y f Tenemos dos opciones para f. 1.C. B.y.me .l.B. Para implementar un término producto de más de tres variables necesitamos más de una puerta LIMON pero es posible implementarlo.z) = xyz) ó una suma de 2 términos productos de 3 variables con al menos dos literales comunes. La suma de estos términos productos la podemos implementar con la siguiente puerta LIMON: LIMON (v.0) =v x z = L 3 Por tanto: f= Lj + L 2 + L 3 b) Con la puerta LIMON podemos implementar términos productos de hasta tres varia­ bles.C. debemos usar una puerta LIMON para implementar dos de los 4 términos productos.La puerta LIMON realiza la siguiente función: LIMON(A.x. 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.l) = xy).D)=BC(A+D) = ABC + BCD.y. x.DISEÑO DE CIRCUITOS COMBINACIONALES 79 Problem a 2 1 .D)=L(A.x. 14. z ) = I (0. 15) con sólo tres L IM O N y una OR.. Como sólo disponemos de tres puertas LIMON y la función f tiene 4 términos productos. Es posible realizar términos productos de 1 variable (por ejemplo con L(l. Por tanto sí es posible implementar cualquier función utilizando exclusivamente puertas LIMON (con tantos niveles como se necesiten) y puertas OR. y. C. (1) y (2). 10.x. Para ellos necesitamos dos términos productos que compartan dos variables. de dos variables (por ejemplo L(l. Esto es posible en la opción (2). Solución P21.z. 6.v.x.y. 9. de 3 variables (por ejemplo L( 0 .l)=x). www.B. con los términos productos v x y y x y z.FreeLibros.l) = v_y = L 2 LIMON (v.x..y.z) = v x y + x y z = Lj Los otros dos términos productos los implementamos cada uno de ellos con una puerta LIMON de la siguiente manera: LIMON (l. b y c: P = a @ b ® c = ( a ® b) ® c Así. b. Solución P22. b) Diseñe también el circuito que compruebe en la estación receptora que el m ensaje recibido es correcto..me .FreeLibros. E es el complemento de la función EXOR de a. c) Generalice ambos apartados para n bits. teniendo en cuenta la definición de P. Enton­ ces. el circuito combinacional que genera P es el siguiente: b) El enunciado nos pide diseñar un circuito que detecte un error de paridad impar en un código de 4 bits: a b c CIRCUITO COMBINACIONAL E = 0 si el n2 de “1” en abcP es impar E = 1 si el n2 de “1” en abcP es par Teniendo en cuenta la definición de la función EXOR que se vio en el apartado a y la definición de E. P es el complemento de la función EXOR de a. a) El enunciado nos pide diseñar un circuito que genere un bit de paridad impar a un có­ digo de 3bits: CIRCUITO COMBINACIONALI P = 0 si el n2 de “1” en abe es impar P = 1 si el n2 de “1” en abe es par Hay que diseñar el circuito usando exclusivamente puertas EXOR y NO-EXOR. para evitar en lo posible los errores.80 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 2 2 . Disponiendo únicamente de puertas E X O R y N O -E X O R de dos entradas: a) Diseñe e l circuito que genere ese bit de paridad im par en la estación emisora.Se desea enviar mensajes de tres bits de una estación a otra y. La función EXOR se hace 1 cuando el número de l ‘s en sus variables es impar. se ha decidido añadirle al m ensaje un bit de paridad impar. c y P: E = a ® b ® c © P = (a ® b) ® (c ® P ) www. .La expresión algebraica C0 = A 0 C k = (Ao + A-¡ + ..... 2. el circuito combinacional que genera P es el siguiente: c) Generalización al caso de n bits: xn.. © x 0 El circuito se puede hacer encadenando puertas EXOR de dos entradas y una última puerta NEXOR.... © xn_ © . © * i © * 0 2 Problema 2 3 .-¡) Ak k = 1. En el caso del detector de bit de paridad impar....... .-¡. la función del bit de paridad P es: P = 1 si el número de l ‘s en los n bits es impar P = 0 si el número de l ‘s en los n bits es par De esta forma teniendo en cuenta la definición de la función EXOR.. © Solución P23.. + Ak.la función P es el complemento de la operación EXOR de los n bits: E = P © x n_..x q ...xn.. Ak. © X .. (b) Describa verbalmente qué tarea realiza dicho circuito... (c) Utilizando como módulo el circuito diseñado en (a).Para 4 bits de entrada existen 4 bits de salida cuyas expresiones y el circuito final son las siguientes: www. Ak.. .. proporciona e l valor de la salida Ck de un circuito en función de las entradas A 0.FreeLibros. la función se define exactamente igual incluyendo un bit más que es el bit de paridad P: E = 1 si el número de l ‘s en los n+1 bits es impar E = 0 si el número de l ‘s en los n+1 bits es par De esta forma teniendo en cuenta la definición de la función EXOR..DISEÑO DE CIRCUITOS COMBINACIONALES 81 Así.j. indicando las nuevas entradas y salidas que hay que añadir a l módulo dise­ ñado en (a)..la función P es el complemento de la operación EXOR de los n bits:___________ P = xn_¡ ® X n _ 2 @ .me . realice un nuevo circuito para 12 bits de entrada.. En el caso del generador de bit de paridad impar.2...xj ... (a) Diseñe e l circuito correspondiente a cuatro bits de entrada.. para que e l nuevo circuito de 12 bits pueda operar correctamente. C0.Ca 2 (A3. que permita introducir la operación OR de las varia­ bles de entrada de los módulos que se coloquen antes.0) c) Para obtener la variable Ck hay que ir arrastrando la operación OR de las K variable de entrada anteriores (Aq hasta Ak. que trans­ mita la operación OR de las variables de entrada anteriores al siguiente módulo. y una señal de salida.j). Kout.Ao C ] —A q © A j C2 —( A q+ A j) © A 2 C3 —( A q+ A j +A2 ) ©A 3 b) Analizando la tabla de verdad de las funciones C¡ (i = 0. De esta ma­ nera la primera variable de salida del modulo. 2. K in .me . no se obtiene directamente de la entrada Aq sino como la operación EXOR de Aq y K in (en Kin se conectará la señal Kout del módulo an­ terior o bien un 0 si es el primer módulo de la cadena). Para ello hay que añadir al módulo de 4 bits diseñado en el apartado a) una señal de entrada. 3) se comprueba que s obtiene el complemento a 2 del número de 4 bits de entrada: A 3 a2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 Ao 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 C3 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 C2 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 C.FreeLibros. 1. 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Co 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C3 -0 . www.82 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Co . 7.-f = a b e + a b c d + a c d e + a b d e Problema 2 5 .d. un circuito que genere la función f(a. c 0 I I C. 11. www.Diseñe de forma óptima.b. 26. A0 a3 a2 Kout Kout Kin Cs C2 Cg C2 c.FreeLibros. ( 0. Co I I I I I C7 C6 c 5 c 4 c 3 C2 AI Ao I I A. 2.D ada la función de la figura. 15). 5. 5. 13. 6 . 15. 9 ) + d (10.me . Ao Kin c2 c0 I I o u u C9 C8 Conexión entre módulos A3 a 2 A7 A6 As a 4 | I I I I a 3 a 2 A. obtenga la mínima expresión en forma de suma de productos. C0 0 PROBLEMAS CON SOLUCION RESUMIDA Problema 2 4 . Ao Kin — C. 1. b) f = 2. 24. ( 0 . 13. 31) + d(20. 28). 14.c.DISEÑO DE CIRCUITOS COMBINACIONALES 83 a3 Kout c3 — o> ___ > Módulo de 4 entradas y 4 salidas a2 a9 A8 I I A. 29. 12..e) y cuya realización sea en dos niveles: a) f = 1 .. \e d c b a \ 000 00 0 01 0 11 1 10 0 001 0 0 1 0 011 010 110 111 101 100 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 Solución P24. 18. El mapa de Kamaugh y una expresión en forma sp (para implementar la fun­ ción en dos niveles NAND-NAND) son los siguientes: Xab cd 00 01 11 10 / = 000 001 0 cr 0 0 0 < 0 0 011 d 010 P 0 110 111 101 0 d 0 0 0 0 d <3K d 100 y c 0 0 < 0 0 Xabcd + Xbcd + Xbcd + Xbcd + Xad + Xad + Xbcd + Xbcd + Xabcd P ro b le m a 2 7 ..Sea F una función de un dígito B C D y de una entrada de control X.Primero hay que analizarlo.84 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P25.me . Solución P27. Solución P26. Implemente F como un circuito en dos niveles utilizando puertas NAND. F vale “1" en los siguientes casos: 1) Si X=1 y el n9 B C D es múltiplo de 3..FreeLibros. aa))fsp = a b c + b c d + c d fps = (a + d) (b + c) (c + d) (b + c + d) b )fsp = a c e + b c e + a b c e + a c d e fps = (c + e) (c + e) (a + b + c) (a + d + e) (a+ b + e) P ro b lem a 2 6 . para posteriormente buscar una expresión en suma de productos: f = x y + (y + z) = x + y + yz = x + y { \ + z ) = x + y = xy www.. 2 ) Si X = 0 y e l n3 B C D tiene un n Qimpar de unos..Rediseñe e l circuito de la figura con puertas N A N D solamente. DISEÑO DE CIRCUITOS COM BINACION ALES 85 Problema 2 8 .- Diseñe un circuito cuya salida sea el resto de la división de un número A de tres bits entre un número B de dos. E l número B nunca puede ser cero. Solución P28.-E1 mapa de Kamaugh y las expresiones en forma sp para las dos salidas que forman el “resto” de la división son los siguientes: a2 ala 0 1^0 \ 000 001 011 010 110 111 101 100 00 dd dd dd dd dd dd dd dd 01 00 00 00 00 00 00 00 00 11 00 01 00 10 00 01 10 01 10 00 01 01 00 00 01 01 00 r j — ct2u i ci^b| r0 = a0b0 + a 2a la0b¡ + a 2a i a o^i + U a i a o^i^o 2 Problema 2 9 .- Un sistema sencillo para h acer votación secreta es utilizar un circuito combinacional cuyas entradas estén controladas por interruptores que puedan accionar los miem­ bros del jurado. Cada miembro votará con un S Í o un N O (no hay abstenciones). El sistema que queremos realizar es el siguiente. H ay dos tribunales: A y B. El tribunal A tiene 4 miembros (a,b,c, y d) y el tribunal B tres (e,f, y g). E l veredicto deberá ser: El del tribunal A en el caso de que no se produzca empate. Si se produce empate en el tribunal A, e l veredicto será el del tribunal B. Diseñe el circuito según e l diagrama de bloques de la figura: —> —> Solución P29.-Codificación de las variables: Entradas: a, b, c, d, e, f, g = 0 si el voto es NO. a, b, c, d, e, f, g = 1 si el voto es SÍ. Salidas: Del circuito A: FiF 2 = 0 0 cuando gana NO en la votación del tribunal A. FjF 2 = 0 1 cuando gana SÍ en la votación del tribunal A. F,F2 = 1- cuando se empata en la votación del tribunal A. www.FreeLibros.me 86 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Del circuito B: F 3 = 0 cuando gana NO en la votación del tribunal B. F 3 = 1 cuando gana SÍ en la votación del tribunal B. Del circuito C: S = 0 cuando gana NO en la votación global. S = 1 cuando gana SÍ en la votación global. Los mapas de Kamaugh para cada una de las funciones y sus expresiones en forma sp son los siguientes: ab 00 01 11 10 01 0 1 0 1 00 0 0 1 0 11 1 0 0 0 ab cd^\ 00 01 11 10 10 0 1 0 1 FiFo ef 00 01 11 10 0 0 0 1 0 1 0 1 1 1 F3 10 0 d 1 d 11 d 1 1 1 F2= a b + c d F]=abcd+abcd+abcd+abcd+abcd+abcd \ 01 0 d 1 d 00 0 0 d 0 00 01 11 10 00 0 1 0 0 01 0 1 1 1 =e f ■ +- e g + f g s= F ,F 2 + F, F3 P ro b le m a 3 0 .- Se desean visualizar las siguientes representaciones utilizando un visualizador de 7 segmentos. Diseñe un circuito de tres entradas que encienda correctamente el seg­ mento g. REPRESENTACIONES □ _ r _ VISUALIZADOR 7 SEGMENTOS A«q>I* .-Q- j ULU d Solución P30.- La función de salida toma los siguientes valores: g = 0 si no se enciende el LED. g = 1 si se enciende el LED. www.FreeLibros.me DISEÑO DE CIRCUITOS COMBINACIONALES 87 Son 6 casos los que hay que representar por lo que se necesitan tres entradas: x, y, z: xyz 000 g 1 r 00 1 1 0 10 0 J U 0 11 1 100 1 10 1 1 □ I u L II L xy z\ 0 1 00 1 1 01 0 1 11 d d 10 1 1 := y + z Problem a 3 1.- Una caja de seguridad dispone de 5 cerrojos (V, W,X, Y,Z) los cuales deben ser desbloqueados para abrirla caja. Las llaves de la caja están distribuidas entre 5 ejecutivos de la siguiente manera: A tiene llaves para los cerrojos V, X; B para V, Y; C para W, Y; D para X, Z; E para V, Z. a) Determine todas las combinaciones mínimas de ejecutivos requeridos para abrir la caja. b) Determine e l ejecutivo “esencial”. Solución P31.- Es un problema de cubrimiento mínimo y para resolverlo se debe aplicar el método ya conocido (véanse los Problemas 17 y 19). La tabla de cubrimiento es: A B C D E V x W X Y Z X X X X X X X X X Las combinaciones de ejecutivos mínimas que se obtienen con esta tabla de cubrimiento son: (A, C, E} {A, C, D} {B, C, D} {C, D, E). El ejecutivo “esencial” es el C. Problem a 3 2 .- Dada una palabra “A ” de n bits y una señal de control “C ”, diseñar un circuito combinacional cuya salida sea el complemento a 1 ( C a l ) ó e l complemento a 2 (Ca2), según el valor de C. Utilice exclusivamente puertas E X O R y OR. Solución P32.-Sea A=An_]An _ 2 AjAq el número de entrada y B = Bn.]B n _ 2 B]B 0 el número de salida. El circuito que obtiene el complemento a 1 ó a 2 en función del valor de C es el siguiente: www.FreeLibros.me 88 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si C = 0, B = Ca2(A) Si C = 1, B = Cal(A) P ro b le m a 3 3 .- Una luz se enciende cuando su señal de excitación está en nivel bajo. Esta señal está controlada por un circuito de cuatro entradas: x¡ ->orden de encender la luz, activa en bajo; x2->orden de inhibir la luz, activa en bajo; x3->orden de emergencia, activa en bajo; x4->aviso del estado de la luz en ¡a calle: “1” si es de d ía ,’’0 ” si es de noche. La luz se debe iluminar cuando haya orden de encenderla, e l estado de la luz exterior sea e l apropiado y no haya inhibición, excepto si hay emergencia, en cuyo caso la luz se enciende independiente­ m ente de las otras señales. D e una tabla de verdad del circuito que controla la luz diseñándolo con los elementos que estim e oportunos. Solución P33.- Función de salida: L = 0 luz encendida. L = 1 luz apagada. Variables de entrada: xj = 0 encender luz. xj = 1 no encender luz. x 2 = 0 inhibir luz. x 2 = 1 no inhibir luz. x 2 = 0 emergencia. X3 = 1 no emergencia. x4 = 0 es de noche. x4 = 1 es de día. Función L: L = 0 si se enciende y es de noche y no hay inhibición: (xi+x 4 +x2). L = 0 si hay emergencia: X3 L = (x 1 +x4 +x 2 )x3. www.FreeLibros.me Capítulo 5 SUBSISTEMAS COMBINACIONALES En este Capítulo se abordan los subsistemas combinacionales. Con este nombre se agrupa a una gran diversidad de circuitos que, a nivel estructural son generalmente mucho más 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 clasificación atendiendo a dicha funcionalidad los divide en subsistemas de propósito específico y subsistemas de propósito general. Los primeros realizan funciones fijas, mientras que los segundos realizan cualquier función lógica 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 características 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 señal de habilitación (E nable ). Y las segundas corresponden a las variables independientes de las funciones que desarrollan. Es importante destacar que en estos dispositivos, cada entrada de dato suele poseer un peso asociado, de modo que las entradas no son intercambiables como ocurría 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 dispositivo, y las de datos, que son realmente las que dan respuesta al conjunto de entradas en cada instante. Respecto a la actividad de las señales, estas pueden ser activas en bajo o 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 lógico 1 1, el dispositivo realiza la función para la cual está diseñado, y si está a 0, el dispositivo no está habilitado para desarrollar su función. En los circuitos de esta obra, las señales activas en bajo se representan con un “círculo” (por ej., las señales de habilitación 1 y 2 del problema 6 ) y las que son en alto, sin él (por ej., E 3 en el problema 6 ). Cuando un dispositivo no está habilitado, sus salidas estarán fijas a un valor determina­ do que, según su diseño, puede ser 0, 1 o un tercer estado de alta impedancia (HI). 1Recordemos que usamos lógica positiva (L —» 0, H —> 1). 89 www.FreeLibros.me 90 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES SUBSISTEMAS DE PROPÓSITO ESPECÍFICO Decodificador: Se trata de un dispositivo con n entradas y 2n salidas donde en función de la combinación bi­ naria de sus entradas, una y sólo una de las salidas se activa. Es decir, convierte un código bi­ nario de entrada en código “ 1-entre-n”. Su símbolo 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­ nuación: EN 3— X,---- 1 2— 1— x0------ 0 0— DEC 2:4 d3 = xj -Xq-EN d2 = x 1 x0-EN dj = X[X()-EN d0 = Xj -Xq-EN DEC 2:4 con salidas activas en alto pleto. EN X1 x0 d0 di d2 d3 0 - - 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 Si el decodificador posee m salidas, donde m < 2n, se denomina decodificador no com­ Codificador: Realiza la operación contraria al decodificador. Es decir, convierte el código “1-entre-n” en código binario. Un codificador completo posee 2n entradas, de las que sólo una puede estar activa, y n salidas que ofrecen la combinación binaria asociada a dicha entrada. Su símbolo, tabla y ecuaciones de salida son las siguientes: c3 — 3 1 c 2 --- 2 C 1 --- 1 0 c0 — 0 COD 4:2 yi- c3 +c2 y0 = c 3 +c, c3 1 0 0 0 C2 0 1 0 0 Cl 0 0 1 0 co 0 0 0 1 y\ 1 1 0 0 yo 1 0 1 0 Si el codificador posee m entradas y n salidas, con m < 2n, se denomina codificador no completo. Por otro lado, existe el llamado codificador de prioridad. Se trata de un dispositivo equi­ valente al anterior. La diferencia es que sus entradas no necesitan estar en código “1-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: www.FreeLibros.me SUBSISTEMAS COMBINACIONALES c3 1 c2 - 0 1 C1 - c0 - y\ i yo i i 0 0 0 1 - 0 0 0 0 0 1 0 0 91 Convertidor de códigos: Consiste en un subsistema combinacional que convierte un código de entrada en otro de salida. El número de líneas de entrada y de salida depende de los códigos que se convierten. Los casos particulares en los que uno de los códigos sea “ 1 -entre-n” son los dispositivos antes vistos. Comparador de magnitudes: Es un dispositivo que compara las magnitudes de dos datos A y B de n bits, para dar como resultado si A<B, A=B o A<B. El símbolo y la tabla son: G Datos G E L A=B — E A<B — L A > B A = B A < B 1 0 0 A>B — 0 1 0 0 0 1 SUBSISTEMAS DE PROPÓSITO GENERAL Multiplexor: Un MUX-n o MUX 2n: 1 es un dispositivo de 2n 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 está seleccionado en función de la codifica­ ción binaria de las señales de selección. Un MUX-n es un módulo lógico universal de n variables o de n+1 variables si algunas de ellas está en doble raíl. El símbolo que se utilizará en este Capítulo y su tabla de verdad son: Si F - C q-S ,-S o+C |-S j -Sq+C2'S | ’Sq+C^-S j -Sq 0 s0 0 0 1 1 0 1 1 F C0 C, C2 C3 Demultiplexor: Realiza la función inversa al multiplexor. Un DEMUX-n o DEMUX 1:2n, posee una entrada de dato, n entradas de selección y 2n líneas o canales de salida. Su función consiste en pasar la información de entrada de dato a una de las líneas de salida, la determinada por la combinación www.FreeLibros.me de forma que para cada combinación binaria de sus n entradas se selecciona una de sus 2n palabras. una ROM es un dispositivo lógico universal de n variables para m funciones. El símbolo que se utilizará en el Capítulo y su tabla se muestran a continuación: Din u 1 2 1 O3 i Cq—Din-S|S0 C]= Din-Sj-S0 C-2— D in S jS 0 C3= D inS ]S 0 Si 0 0 1 1 i 5 iS 0 So C0 c . En las m líneas de salida se lee la palabra al­ macenada. Dispositivos Lógicos Programables (PLD's): Su estructura general es la siguiente: plano AND r* lineas AND plano OR r--- -.FreeLibros. Del plano AND de una ROM se obtienen todos los mintérminos de las n variables de entrada. que puede verse como un dispo­ sitivo que almacena 2 n palabras de m bits. Por tanto. www. y en función de la programación del plano OR. c 2 c 3 0 Din 0 0 0 1 0 Din 0 0 0 0 0 Din 0 1 0 0 0 Din Analizando la tabla se puede comprobar que el dispositivo es equivalente a un decodificador con señal de habilitación EN= Din.92 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES binaria de las señales de selección.-• -■ -entradas _ salidas _* Atendiendo a la posible programación de cada plano podemos hacer la clasificación si­ guiente: plano AND No programable Programable Programable plano OR Programable Programable No programable ROM PLA PAL ROM: Una ROM(2nxm) posee n entradas de dirección y m salidas.me . se eligen los que interesen para rea­ lizar la función lógica que se desee. . del comparador de magnitudes. . estos canales están unidos mediante una OR. La entrada del DMUX se encuentra a 0 e. en función de las señales de selección. y la salida también. Puesto que x>y. si x>y. ahora. salvo que en el PAL cada función de salida se trata in­ dependientemente de las otras. . La implementación de una función con este dispositivo es similar al caso anterior. respectivamente.SUBSISTEMAS COM BINACIONALES 93 PLA: Un PLA(n. m salidas y p términos productos (salidas del plano AND). f=0. se activarán las salidas G o E.-Describa con palabras el funcionamiento del circuito: Solución P l.FreeLibros. f=l y si x<y. Elabrá. Estas salidas. no estan­ do compartidas ninguna de ellas por otra salida. provo­ can que la entrada del demultiplexor sea un 1 lógico.m) es un subsistema con n entradas. Mediante este dispositivo pueden implementarse m funciones lógicas de n varia­ bles expresadas en sumas de productos si para ello no se superan los p términos ANDs dispo­ nibles. que determinar cuál es el canal de salida. gracias a la puerta OR. los canales valdrán todos 0 . www. PAL: En este dispositivo cada salida es la OR de un conjunto determinado de líneas AND.Diseño de subsistemas. En resumen. PROBLEMAS RESUELTOS Problema 1. por tanto los canales seleccionados dependen sólo de yj (canal 1 o canal 5). la salida L del compa­ rador es 0. Como puede verse. la salida L del comparador está activa.Diseño de funciones lógicas con subsistemas.Si las entradas XjX0 son mayores o igual a yjy0. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: .p. por lo que la salida será 1. Cuando x<y.me .Análisis de circuitos con subsistemas. independientemente de las entradas de selección. me .Los canales de entrada del multiplexor responden a la siguiente tabla: X y z do d i d 2 d 3 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 - 0 1 1 1 0 1 1 0 que.y .94 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 2. junto con las señales de selección de canal. b c A3 a2 A 1 Ao b’ c' www. D0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 - 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 Solución P2.z + ü.z + ü.z Interprete la utilidad del sistema mostrado en la figura.- v- y .z + üP ro b le m a 3 .x ..-fíediseñ e en dos niveles el circuito de la figura: A 2 A 1 A o d 4 D 3 D 2 D i Do ROM 0 0 0 0 1 1 1 1 4 Dv d A2 A1 Dt A0 D.y .FreeLibros.z + u . podemos construir el K-mapa siguiente: xyz u V 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 111 101 1 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 - 0 - 1 0 00 0 1 1 01 0 1 1 11 0 0 10 0 1 0 de donde obtenemos la expresión mínima: / = v . transforma el nú­ mero binario en su correspondiente BCD de 2 dígitos. Y = E 0 -Er E 2 -E3 las restantes ecuaciones algebraicas para las demás salidas: Aj = Eq-Ej A0 = Eq-(Ei + E2) E0 El Aq e2 Problema 5. Ai Ao Y - 0 0 0 - - 0 1 0 1 0 - 1 0 0 1 1 1 0 1 1 0 1 1 1 1 - - 1 E0 E.Se tienen dos codificadores de prioridad 4 a 2 como el de la figura.me .SUBSISTEMAS COM BINACION ALES 95 Solución P3. el sistema de la figura. Este dispos­ itivo dispone de una entrada de habilitación E l y dos salidas E O y GS.El convertidor binario a BCD. Por tanto.-Diseñe un codificador de prioridad de 4 entradas activas en e l nivel bajo. La salida Y señala cuando no hay ninguna entrada activa en el codificador de prioridad. se pueden em plear hasta un máximo de ocho puertas de dos entradas.A 1 . Además de los dos codificadores.Aq). www.. siendo E0 la de mayor prioridad y E 3 la de menor.FreeLibros. Estos dígitos BCD.A 2 .. Problema 4. Diseñe un codifi­ cador de prioridad de 8 a 3 de las mismas características de los anteriores. 0 - - 1 0 1 E2 E3 Las entradas al codificador son activas en baja.Dada una entrada (A 3 . se selecciona una posición de la ROM cuyo contenido se vuelca en el bus de datos (D^q). Solución P4. se muestran en sen­ dos displays de 7 segmentos. Añada una salida que indique cuándo no hay ninguna entrada activa. sirve para mostrar el contenido de una memoria ROM en formato decimal. mientras que GS se activa cuando el codificador está habilitado y hay alguna entrada activa. E O se activa cuando el codificador está habilitado pero no hay ninguna entrada de datos activa. 96 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P5.1 0 . nuestro objetivo es realizar el siguiente circuito: e¡— < ir —* ?6— * >5— * 14----C )3----' ?2----‘ |i— ' •o— ‘ COD 8:3 e¡ ¡7 5 eo 1 3---. pero no activo El dispositivo a realizar es una extensión de éste..1 .1 .1 1 1 0 1 1 0 gS 92 9i 9o 1 ...gS 0 0 0 1 — 92 0 1 — 9i 0 1 — 90 0 1 0 0 0 0 1 1 1 1 k »5 14 '3 '2 - - - 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 www.1 . _ _ 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 - - - ..FreeLibros.De acuerdo con la descripción del enunciado y suponiendo que la entrada del dispositivo con mayor prioridad es I 3 ..me »1 >0 e0 1 1 1 . Llamando con minúsculas a sus varia­ bles. la tabla de verdad es: El 1 0 0 0 0 0 13 h ll lo - - - - 0 1 1 1 1 0 1 1 1 0 1 1 EO 1 1 1 1 1 0 0 1 GS 1 0 0 0 0 1 Qi Qo 1 1 0 0 - -(*) 1 0 1 0 -(*) No habilitado Habilitado con alguna entrada activa Habilitado. Para dar la solución adoptamos una de las posibles alternativas de conexionado mostra­ da en la siguiente figura: li El EO I3 GS Í6 Í5 íl U ín h eo H gs Ql COD Qo Circuito combinacional El EO *3 I3 GS *2 I2 H II >0 lo 92 9i 9o L Ql Qo COD COD 8:3 En esta solución. conectamos EOH con EIL.¡o). uno recibirá las entradas más significativas (i7 .SUBSISTEMAS COM BINACION ALES 97 Para realizar el codificador de ocho entradas necesitamos dos codificadores de cuatro entradas. Las variables de entrada y salida correspondientes al primer codificador las notaremos con el superíndice "H" y a las correspondientes al segundo codificador con el superíndice "L".me . genera las salidas deseadas. Í5 o i4. se habilitará el codificador L (menos priorita­ rio). recibiendo como entradas las salidas de los codificadores. Además existe un circuito combinacional que.FreeLibros. i6. Para ello. la habilitación externa actúa sobre el codificador H (más prioritario) y. sólo cuando no hay petición en i7. Para nuestra solución se cumplen las siguientes relaciones: EP 1 = e¡ EIl = EO h La tabla siguiente muestra los valores de entradas del codificador completo y el valor de las señales intermedias que serán las salidas de cada uno de los dos codificadores que esta­ mos utilizando. www.i4) y el otro las menos significativas ( ¡ 3 . www. Se han especificado a 0 las inespecificaciones en las salidas de los codi­ ficadores. ¿cómo diseñarías.1 0 1 1 0 1 1 1 e o h gsh q .me . e 0 = EOl gs = GSH GSL q 2 = EOH qj = Q iH + Q iL q 0 = Q 0 H + Q 0L Si pasamos a la implementación de estas ecuaciones mediante puertas.FreeLibros. el circuito global sería el que se muestra a continuación: >7 Í6 Í5 Ú gs 92 9l — 90 P ro b le m a 6 .1 0 0 0 0 0 0 0 0 0 >7 0 1 1 1 I 1 1 1 1 '6 i5 i4 >3 *2 i] >0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 - 0 1 1 1 1 - - - - - - 0 .Utilizando decodificadores 74138 (mostrados en la figura) y e l menor número de puertas posible. a ) un decodificador 4 a 16...h e o l g sl o o ei X PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 98 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 - - - - - - - - - - 1 1 1 1 I 1 1 1 1 0 1 QlL QoL - - 1 - - 1 - - 1 - - 1 0 1 1 0 0 1 0 1 0 1 - - 0 0 0 A partir de la tabla anterior se pueden obtener las relaciones algebraicas para las cinco funciones de salidas. b) un decodificador 5 a 327.. y la tercera entrada de enable es con la que se pretende ir habilitando uno u otro.El decodificador del que disponemos. según su valor lógico. donde la nueva variable de entrada elige. E. es el que se muestra a con­ tinuación: Ei E. Como comentario del decodificador obtenido se puede decir que no posee señales de ha­ bilitación como tenía el inicial. se quiere conseguir un decodificador 4:16. Para ello. Si se hubiera querido conservar éstas. cuál de los dos decodificadores estará habilitado. de las tres entradas de habilitación que tiene cada uno de los deco­ dificadores.FreeLibros. Se muestra en la siguiente figura: www.SUBSISTEMAS COMBINACIONALES 99 Solución P 6 . Para ello se requiere dos decodificadores y una de las posibles formas de asociarlos es como se ve en la siguiente figura. se tenían que haber uti­ lizado mayor número de decodificadores. dos de ellas la fijamos al valor lógico correcto para habilitar al decodificador.me . Procediendo del mismo modo se puede conseguir un decodificador 5:32 asociando cuatro decodificadores y un inversor. el CI 74138.. ü o i 0 ni 2 4 5 6 7 OOj0 oó o] % $ A partir de él. utilizando exclusivamente com para­ dores de 1 bit.me .FreeLibros. donde T es e l retraso asociado a l com parador de 1 bit. www.-La figura muestra un com parador de dos números de 1 bit y su tabla de verdad. E l diseño debe contem plar que el tiempo de retraso no supere 4T.100 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 7. S e desea obtener un comparador de números de 6 bits. supongamos que A¡ es distinto de Bj. bit a bit. la salida global debe evaluar 0 . necesitaremos comparar. Si alguno de ellos varía. será 1 (en el supuesto de que la entrada de habilitación sea 1). independientemente de que los restantes bits sean iguales. Esto habilita la comparación del segundo comparador que. y todos los bits restantes son iguales. pero al menos uno de los dos. La salida del primer comparador. Extendemos este concepto a sólo 3 comparadores. será 0. La salida Eq. como sus bits de entrada difie­ ren.FreeLibros. cuando los bits de los núme­ ros A y B sean iguales. cuya salida tam­ bién será 0 .. E 2 y E 3 serán distintos de 0. Esto implica que. independientemente de A 2 y B2. 6 comparadores: Aq B0 e 5 A] Bi e4 A2 B2 e 3 Supongamos que los bits Aq y Bq son distintos. En efecto. para no superar las restricciones temporales. Eq. generará un 0 en su salida E j. los dos números. por ello. evaluará 0. E 2 o/y E3. 101 B¡ Solución P7. Utilizaremos.SUBSISTEMAS COMBINACIONALES C¡ A j B¡ E¡ 0 1 1 1 1 0 1 0 0 1 - - 0 0 1 1 0 1 0 1 A. www.Para comparar dos números de 6 bits. Esta salida inhibe al siguiente comparador. Nos podemos valer de las entradas de habilitación de los restantes comparadores para que sus salidas también sean 0. Para las estructuras anteriores. con estos dispositivos.me . ahora. generar una única salida E del comparador partir de E 2 y E 3 y uti­ lizando. sin más. las dos ramas de comparado­ res.B xxxxxxxxxxxx A0 -2 =B0 . E 3 y de la salida a generar.í B0-2 y A3-5^B3-5 e 2 E3 E 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 Podemos pensar que la forma de obtener la salida E. Esto se puede resolver. Por la estruc­ tura y funcionamiento mostrados anteriormente.102 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Es importante destacar el hecho de que las respuestas de E 2 y E3. E.2 y A3-5“B3-5 a O_2=b O-2 y A3-5’¿B3-5 a O_2*B0-2 y A3-5=B3-5 A0-2. podemos pensar que la mejor forma de intro­ ducir esta señal. Vamos a añadir. a partir de E 2 y E3. la salida debe ser 0. Esto no sería del todo correcto. en sus salidas respectivas (E 2 y E3). cuando E 2 y E 3 valen 0. es introduciendo éstas en la entrada de un nuevo comparador. A0 B0 A¡ e5 Bj A2 e4 B2 e3 Nos falta. generando. porque como vemos en la tabla. es utilizando las entradas de habilitación de los comparadores 0 y 5. (E 2 y E3). como muestra la figura: www. un 0 lógico. simplemente. De esta forma se inhibe la operación de los 6 comparadores. se obtienen con un tiempo de retraso de 3T.FreeLibros. Se han tabulado las posibles respuestas de E2. la señal de habilitación del comparador de 6 bits. como mucho.me . en función de los bits de datos y habilitación c 0 1 1 1 1 A . para no superar el tiempo de respuesta (4T). un comparador más. utilizando como señal de habilitación cualquiera de las señales de entrada del comparador. por último. 9. por estar este comparador inhabilitado. si usamos en cada apartado un decodificador con tantas entradas como variables tiene la función a diseñar.15) + d( 1. la expresión algebraica que define cada una de éstas será el mintérmino correspondiente al número de entradas que tenga dicho decodificador.1 5) + d(1.. De forma análoga. en cuyo caso sólo nos queda elegir entre todas las salidas cuáles son los mintérminos de la función y realizar la operación OR de todos. en alto y puertas ÑOR. el comparador está habilitado y sólo tenemos dos posibilidades. Siguiendo el mismo procedimiento.3. Cuando E 2 = l. En la primera. F=n Solución P 8 . en nivel bajo y puertas AND. la salida E vale 0. se dispondrá de todos los mintérminos de ese número de variables. la expresión para cada un de ellas serán los maxtérminos del número de variables que posea el decodificador en su entrada.FreeLibros.2. en bajo y puertas NAND.(0 . Bastaría después realizar la operación AND de éstos. el comparador activa su salida (E=l) y en la segunda no. Por tanto.Si se dispone de un decodificador con salidas activas en alta. podemos conseguir todos los maxtérminos distintos del número de variables que posea la función y elegir los que sean maxtérminos de ésta. Problem a 8. si el decodificador tiene las salidas activas en baja. Pasamos a resolver el problema para cada una de las funciones del enunciado F (a.11. E 3 =l y E 3 =0 .2.SUBSISTEMAS COM BINACIONALES 103 Cuando E2=0 (ver tabla).b.c.2) en nivel alto y puertas OR.5) ■ d(1.d) = £(0.-fíealice las siguientes funciones haciendo uso de los dispositivos que se dan en cada uno de los apartados: a) Utilizando un decodificador con salidas activas b) Utilizando un decodificador con salidas activas c) Utilizando un decodificador con salidas activas d) Utilizando un decodificador con salidas activas F= 1 .3) (0.9 .me .11 .3) a) utilizando decodificador salidas activas nivel alto y puertas OR: www. me . a la salida de la puerta se obtiene la función del enunciado. Para este caso. tomaremos los maxtérminos de la función complementaria a la que queremos diseñar.FreeLibros. De esta forma.104 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) utilizando decodificador salidas activas nivel bajo y puertas AND. dado que disponemos de una puerta ÑOR. damos la siguiente solución al problema: 0 2 a c b d 3 4 5 6 7 8 9 3 2 1 0 DEC 4:16 & 10 11 12 13 14 15 Para todos los apartados hemos despreciado la existencia de inespecificaciones. Aplicando un razonamiento análogo al anterior dado que disponemos de una puerta NAND. 01 2 3 4 5 6 7 8 9 & 10 11 DEC 4:16 12 13 14 15 c) utilizando decodificador salidas activas nivel alto y puertas ÑOR. 0 2 a c d b 3 4 5 6 7 8 9 3 2 1 0 DEC 4:16 >1 10 II 12 13 14 15 d) utilizando decodificador salidas activas nivel bajo y puertas NAND. www. 9) Solución P9. Con ello.9 .3 .-Encuentre un diseño mínimo para cada una de las siguientes funciones si sólo disponemos de un decodifícador 3:8 y de puertas de dos entradas.12.6 .1 5 ) + d(1.2. y añadiendo la cuarta variable (bien mediante operador AND u OR) se consiguen los mintérminos o maxtérminos de la función que se necesiten.Para dar solución a este problema.SUBSISTEMAS COMBINACIONALES 105 Repetimos el mismo razonamiento para cada una de las funciones siguientes: F = I I (0.3.11) ■ d (7 . en el apartado b) se sigue el mismo proce­ dimiento que en el Problema 8 .2) C ) F = Il (1 .3.5)-d( 1.4 . se obtienen los mintérminos o maxtérminos de tres variables (dependiendo del tipo de salida del decodifícador).2) a) utilizando decodifícador salidas activas nivel alto y puertas OR: >1 DEC 3:8 b) utilizando decodifícador salidas activas nivel bajo y puertas AND: a b c i 0 1 0 4 5 2 0 2 --- 1 i & _T DEC 6 3:8 7 c) utilizando decodifícador salidas activas nivel alto y puertas ÑOR: 0 — >1 1 5 DEC 3:8 76 d) utilizando decodifícador salidas activas nivel bajo y puertas NAND: Problema 9.(0 . www.9 .2.3. pero para los otros tres apartados. de las salidas de éste. las funciones son de cuatro variables y el decodifícador del que se dispone sólo posee tres entradas.1 1 .5) ■ d(1.8.7.14) d ) F = U (1. a) F = 1 .3) b) F = W (0.FreeLibros..me . 3.c.9.11) ■d(7.3.c.PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a) F(a.9.c.2.FreeLibros.d) = n (0.b.b.7.4.5) • d(l.11.14): d) F (a.8 .12.15) + d(l.me .3): b) F(a.d) = 11 (1.6 .9): www.c.d) = 11(1.3.2) = a(b + c): c) F(a.2.d) = X(0.b.b. y0 ) = I (0.4.9.y0: x. Mostramos este resultado en el siguiente mapa de Kamaugh: .12.15) = I ! (1. en cada salida aparece uno de los ocho mintérminos de las tres variables que actúan como entradas en el decodificador. Así tendremos: www.6.5. Para cada uno de los casos posibles de valores en las entradas X e Y conocemos los va­ lores para las señales de salida. Utilice obligatoria­ mente el decodificador. Diseñe un circuito con un decodificador de 3 a 8 con salidas activas en alto.2.5. tendremos que realizar la operación AND de la salida del decodificador con la cuarta variable con o sin com­ plementar. Para diseñar el circuito.Un circuito tiene como entradas dos números binarios de dos bits cada uno: Y= y. primero consideraremos que no tenemos señal de habilitación. están representadas en la siguiente tabla: X 0 - Y Zi Z0 0 0 1 1 X n E 1 1 X > Y 1 0 1 X < Y 0 1 Hemos elegido la salida Z]Z q = 0 O para indicar que el circuito está no activo puesto que era la combinación de salida no utilizada en el enunciado.1.me .6.xo. Como el decodificador es de tres entra­ das y ocho salidas activas en alta. dado que las salidas del decodificador no proporcionan directamente los mintérminos de las funciones. según corresponda.8.x0 .x0.9. Las entradas están en único raíl. 11). Añada una señal de habilitación (enable)..11.13.SUBSISTEMAS COMBINACIONALES 107 Problema 10. S e desea que tenga salidas 11 si Y=X.2 . x= Solución PIO.7. 10 si Y >X y 01 si Y<X.8. X 00 0 1 11 10 11 0 1 0 1 0 1 0 1 10 11 0 1 0 1 11 10 10 11 10 10 10 10 0 1 11 Y 00 > Zj Z0 salida. A partir del mapa anterior podemos dar las expresiones de cada una de las funciones de Zi (xj.13.3. un número no determinado de puertas N A N D de dos entradas y dos puertas N A N D de un número de entradas no limitado.10. Esto es.yj.15) = U (4.yi . y como segundo paso añadiremos ésta al circuito ya diseñado previamente.yo) = I (0.-Las funciones del circuito.FreeLibros.12. Ambas funciones dependen de cuatro variables. Z o ( * i.10.3.7.14).14. considerando E como señal de habilitación. xo-y! xi . maxtérmino correspondiente de cuatro variables.me .FreeLibros. Además. es decir. • x0 y. si las puertas AND anteriores son susti­ tuidas por puertas NAND. Si pasamos a dar la solución para cada una de las funciones obteniéndolas como salidas de las puertas NAND de número variable de entradas. • x0 . este producto es negado a la salida. y a la salida de la se­ gunda puerta NAND se expresaría la función como producto (operación AND) de los maxtér­ minos. tendríamos que elegir como entradas de dicha puerta los maxtérminos de cuatro variables. Como para ello tenemos dichas puertas NAND. xi . Podemos realizar las dos funciones descritas por producto de sus maxtérminos. M¡ Mj M¡Mj ••• Mk Mt Como se puede ver en el gráfico anterior.xo-y.m 1 4 x. • x0 • yi Xj -xo-y. cuyo subíndice sean las combinaciones bi­ narias que hacen 1 a la función. en el problema disponemos de dos puertas NAND de un número no limitado de entradas.108 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 0 1 X1 2 x0 1 Ó yi 0 4 2 5 DEC3:8 6 7 Xi • x0 y. x. por lo que podemos usar una puerta NAND de dos entradas actuando como inversor para conseguir la función final. a la salida de la primera puerta NAND pode­ mos obtener la función como suma (operación OR) de sus mintérminos. yo yo & yo yo & xi ■x0 -y r y0 =m 1 5 Al disponer de puertas NAND de dos entradas. www. yo yo & xi -x o -y p y ^ m o & xi •x 0 -yi-y 0 = m 1 & x i ■x0 • y i • yo. x. a la salida de éstas dispondremos del complemento del mintérmino.yi xi xo-y. así quedaría expresada ésta como suma de sus mintérminos. & & Zo X *i *0 M. el circuito final sería el mostrado a continuación: y o M. Mr M. una de las opciones para resolverlo sería añadirle al decodificador una entrada de habilitación definida de la siguiente forma: www.SUBSISTEMAS COMBINACIONALES 109 -Zo 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. yi y o ■ DEC 3:8 y o yo Mg-M9 & M.me .2-M13I y o y o M14 Si incluimos la señal de habilitación E que se definió en una tabla anterior.FreeLibros. 1.14. P ara ello se dispone de: a) Un decodificador con salidas activas en nivel alto y puertas Ñ O R .1. 02 03 0 4 05 O..12.4. =1(3.2.13.El mapa de Kamaugh para las tres funciones de salidas y el circuito final se muestra a continuación: ab 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 z0 = 2: (7.14.8.6.FreeLibros.11.12) Z2 = 1(0.12).6.8..10.2. (cada salida del decodificador) todas las salidas a 0 sólo una de las salidas activa 0 6 07 Problema 11.11.7.me . z 2 = n (3. z-¡ vale 1 cuando haya el mismo número de unos que de ceros. z0 = n (0.9.15) z.13. b) Un decodificador con salidas activas en bajo y puertas NAND.7.10. Solución P H .15).9.4. zj = n (0.5.5.15).5. z2 vale 0 cuando dos o más entradas sean 1.4.14.9. z0.11.3.13.Diseñe un circuito de 4 entradas y 3 salidas.2.10.6.8 ) z0 Z1 z2 a) Se dispone de decodificador con salidas activas nivel alto y puertas ÑOR. www.110 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 0 1 O0 O. z„ z2 que realice las siguientes funciones: z 0 vale 1 cuando tres o más entradas sean 1.1. 4.E X C E S O S .11.12).me z2 . 0 1 2 3 4 5 6 7 8 9 a b c d DEC 4:16 z0 Mi m 2 m 3 m 4 m 5 m5 m9 Mj M. Í 2 = 11(0. b) BCD .14.9. z0 =11(7. www.6.1.13.2.SUBSISTEMAS COMBINACIONALES z0 a) Se dispone de decodificador con salidas activas nivel bajo y puertas NAND.10. Z] = n (3.15).8).3 M 14 m ]5 11 12 Z1 Problem a 12.2 de 5..FreeLibros.Diseñe los siguientes convertidores de código: a) B C D .5. 2 10 ^ 1 0 13 14 15 M 12 M. 112 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P12.6 .8 .9) = dj+dg+d^+dg+dQ Z 2 = E (1.7.4.6 .9) = di+d 2 +d 3 +d 4 +d9 Z] = E (0.2.8 ) = d 0 +d 2 +d 4 +d6+dg b) Estructura general: CODIF DECOD AB- CD- 3 4 3 Decimal/ 2 2 de 5 1 2 1 0 0 BCD/Decimal! Convertidor BCD/ 2 de 5 www.8 ) = do+d3 +d4 +d 7 +dg Zq = E (0.2.FreeLibros.3.7.4. a) Estructura general: di DECOD ABCD- CODIF 3 2 Decimal/ 1 Exceso3 0 Zi Zo BCD/Decimal Convertidor BCD/ Exceso-3 BCD ABCD 0 1 2 3 4 5 6 7 8 9 z3 0 0 0 0 0 1 1 1 1 1 Exceso -3 Zi Z2 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 Zo 1 0 1 0 1 0 1 0 1 0 Z 3 = E (5. Z0 .me Z4 Z3 Z2 Z.3.4. B.Sean A.9 )= d3+d4+d5+d9 Z 2 = X ( l. 1 . es necesario conocer: a) Cuándo dos o más subsistemas están en la misma fase. Cada subsistema genera una señal de dos bits para indicar en qué fase se encuentra (00.2. Solución P13. G=F=0 en otros casos. diseñamos un circuito con puertas lógicas que genere las www. a cuyas salidas las llamaremos ¡ab . utilizamos un comparador de magnitudes de 2 bits: . los subsitemas A y B están en fase. B y C los tres subsistemas que generan las señales AjA0. Iac e Ib o Con estas salidas. Necesitaremos un total de 3 comparadores. b) Cuándo exactamente dos subsistemas están en la misma fase. Z0 0 0 0 0 1 1 1 0 0 1 0 1 2 0 0 1 1 0 3 0 1 0 0 1 0 1 0 1 0 5 0 1 0 0 0 0 0 1 7 1 1 1 0 0 1 0 8 1 0 1 0 0 9 1 1 0 0 0 4 6 2 de 5 113 z 4 = X (6 . existen 3 subsistemas que procesan la información de forma independiente a través de cuatro fases de operación.SUBSISTEMAS COM BINACIONALES BCD ABCD Z4 Z3 Z2 Z.C0.FreeLibros. 2 ..4 .3 . BjB 0 y C.01.7 )= do+d2+d4+d2 Zo = X ( 0 .11).8 . Diseñe un circuito que permita conocer cuándo el conjunto de subsistemas se encuentra en alguna de las situaciones a) y b).6)= do+dj+d3+d6 Cada una de las funciones de salida se realizarían con puertas OR cuyas entradas serían las salidas correspondientes del decodifícador BCD/Decimal.10. El circuito a realizar debe tener dos salidas F y G que tomarán los siguientes valores: F=1 si hay 2 o 3 subsistemas en la misma fase.5 .4 .7.5 . G=1 si hay exactamente dos subsistemas en la misma fase.9 ) —dg+dy+dg+dg Z 3 = X ( 3 .En un determinado sistema microcomputador.me . Por propósitos de control. que indican la fase de operación de los tres subsistemas respectivamente. Problem a 13. _________ ~ Ub Bo -------------< Si la salida =1 ..8 ) = d 1+d2+d5+d8 Zi = X (0. Para conocer si dos sistemas están en fase o no. en fase con el subsitema B (Ibc = 1) es imposible que el subsistema A está en desfase con B. adem ás de dicho multiplexor.28 . Una de las posibles soluciones es la que se muestra: www. Uno de estos casos es IAb IAc e I bc = 011. En el siguiente K-mapa vienen representadas las salidas F y G en función de las salidas de los comparadores: U b m e' 0 *a c 00 01 11 10 00 11 - 11 11 - 10 - FG Tan sólo comentar que existen casos que no pueden darse como entrada del circuito a diseñar con puertas.5 .17 .me .2 4.1 2.. Para e l diseño se pueden usar.3 1 ).16 .26 . los resi­ duos que deben entrar por cada uno de los canales de éste son funciones de las otras dos varia­ bles.11 .Diseñe un circuito que a la salida de un multiplexor 8:1 realice la función: F= (3 .114 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES salidas F y G. X Solución P14. Las ecuaciones para las funciones F y G son: F = 1ab + I ac + ^bc G = I ab ' I ac + I ac ' I ab + I bc ' I ab P ro b le m a 14. y el subsistema C está.2 9. el proceso es el siguiente.1 5. De esta forma.13 . Basta con elegir tres variables de la función para las señales de selección del multiplexor. y estos se implementarán con las puertas que disponemos.4 . En efecto.-Dada la función a implementar. a su vez. si el subsistema A está en fase con el C (IAC = 1).FreeLibros. un máximo de 8 puertas de 2 entradas.14 . A s í por ejemplo.. a) Dibujamos el diagrama de bloque del desplazador combinacional y su tabla de verdad: A3 A 2 Aj A0 si Z2 Zi Z.11.1 1.14.12. se genera un desplazamiento de dos posiciones a la derecha dando. m señales de control sm_1. se llenan con 0 ‘s.Un desplazador a la derecha de n bits. X..26.. es un circuito combinacional que tiene como entrada un número A..16.15. Suponga que los bits más significativos del resultado.17.5. cuya entrada sea 10010101 y las señales de control s2 Si s0 = 0 1 0.4.24.28.SUBSISTEMAS COM BINACIONALES 115 F= I (3. de n bits. como resultado.31) abe d e " \ 00 000 0 001 1 010 0 011 1 100 101 110 111 1 0 1 1 01 0 1 0 1 1 0 0 1 10 0 0 0 1 0 0 1 0 11 1 0 1 1 0 0 0 1 F Problema 15.0 0. b) Dibuje las formas de onda de las salidas.29.00 . a) Diseñe un desplazador a Ia derecha de n=4 bits y m = 2 bits. para un desplazador de 8 bits.me .. cuando A 3 A2 A 1 A 0 = 1011 y las señales s-i s0 cambian según la secuencia 0 0. so Z 3 vt' xl' \l/ 'l' 0 a 3 0 a 2 Al A Si ----So ----1 0 a3 a2 A 0 ^ ^ ^ 1 0 0 0 -A-3 A z 3 Z2 Zj z 0 1 0 0 1 0 A www.10 con una frecuencia de 1kHz. utilizando 4 M U X ’s de 4 canales. la salida XX 100101. y genera la salida Z de n bits.FreeLibros. no hay desplazamiento. Si s2 s 1 s0 = 0 0 0.0 1. correspondiente a l número A desplazado. c) Indique una aplicación aritmética para e l desplazador.13.s0 que indican el número de posiciones que se desplazará a la derecha el número de entrada A.. Solución P15. La única entrada disponible en doble raíl es e.FreeLibros. utilizando sólo M U X 's 2:1.me . P ro b le m a 16. b) Para el caso A 3 A 2 A] A 0 = 1 0 1 1 y las líneas s¡ sq cambiando a una frecuencia d lKHz según la secuencia: sj s0: 0 0 0 1 0 0 1 1 0 0 1 0 Se obtienen las siguientes formas de ondas: lms = 1/lKHz <«i so 00 01 00 11 00 10 1011 0101 1011 0001 1011 0010 c) La operación aritmética que realiza el desplazador es la división por potencias de 2 En este caso concreto se pierden los bits menos significativos.. Deberá reducirse en los posible el número de multiplexores.Rediseñe e l circuito de la figura. Realizan­ do el diseño quedaría: A3 A2 A 1 A0 0 A3 A2 A 1 0 0 A 3 A2 0 0 0 A3 m m i m i ± 4 4 4 . resultando: A =Z 2S donde s es el número s¡ sq y LxJ es el entero por defecto de x. www.116 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Cada Z¡ se obtiene de un MUX-2. donde cada fila sj s0 es un canal de entrada. 0 . como variables de selección del primer multiplexor ( el que genera F en su salida). por ser las más relevantes de la desigualdad.x 2 .FreeLibros.x 3 .x3 ..0..SUBSISTEMAS COMBINACIONALES 117 Solución P16.x 3 . y Xg. el K-mapa de la función F..x3.0 ) + x4 x 5 x 6 f(xj.0 ) + x4 x 5 x 6 f(x.x3. 1 .X 2 .x3 .X2 . b. ab j e \ .. 1 ) + + x4 x 5 x 6 f(x 1 . en primer lugar.1) Hemos expandido las variables x4. satisfacen la expresión anterior. 1 ..x 2 .x6) que se caracteriza por tomar el valor ’1 ’ si y sólo si se cumple: x 1+ x 2+ x 3+ 2 x 4+ 2 x 5+ 3 x 6 > 4 donde x¡ = {0. Esta función booleana puede desarrollarse según el teorema de expansión de Shannon: f(x 1 .0) + x4 x 5 x 6 f(x. tenemos que determinar la expresión de las funciones residuo. x 5 y x6.me .x6) =x 4 x 5 x6 f(x.0 .x3 . cuyas señales de control son x4.x2 .X 2 .. y 0.6} y las operaciones de adición y multiplicación indicadas son aritméticas.. cuando no..La desigualdad del enunciado describe una función booleana de 6 variables f(x].xg) .. 1 .0) + x4 x 5 x 6 f(x. 0 0 01 11 10 00 1 0 0 0 01 1 1 1 1 11 0 0 1 1 10 0 0 1 1 F Para obtener el circuito de menor coste que implemente la función F.. d ó e.x4 . que toma el valor 1 cuando las asignaciones binarias de las variables (xj.1. las funciones residuo. 1 .x2.X3 .X5 ).x 2 .2. De todas ellas. realice la función lógica f(x1. www. la mejor es: P ro b lem a 17.x 5 . y los canales.x3.x3. utilizando multiplexores de 2 canales. sólo podemos ir probando las diferentes realizaciones que surgan de suponer a. 1 ) + + x4 x 5 x6 f(x J.1.0..x2 .X5 . Esta expansión se puede implementar con un multiplexor.x 2 . A partir de ahora..0.0 .1.0 ...0. .Para resolver este problema determinaremos.1.1) + + x4 x 5 x 6 f(X].x4 .x 2 . Solución P17.Empleando un multiplexor de tres entradas de selección y todos los multiplexores que hagan falta de dos entradas de selección.1} para i = {1. x3. ya que la desigualdad se cumple siempre.x 3. podemos deducir que: f ( x u x2. 1 ) = 1 f( x ¡ . . .x 2. 1.x 3. independientemente de los valores binarios que tomen las variables x¡. las variables (x¡. f ( x u x2. 1. x5. ) = 0 0 0 0 1 1 1 1 f( x ¡ . A continuación se muestra el circuito resultante: f(X]. 0. 0. . podemos comprobar que. 0 . 1 ) = 1 f ( x v x2. . x 2 y x3. podemos utilizar multiplexores de 4 canales escogiendo.x . x3. Por tanto. 1) y 10 f(xj.x 2. X2 . x2) .x 3. 0). x2. x4. X3. sustituimos x4. ) = Las siguientes funciones residuo. 0 . evalúan siempre 1. . 0 .118 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si en la desigualdad. la función booleana vale 0. X5 y x6 por 0. 1. 0. 0. 1 . 0 ) = 1 De las restantes 3 funciones residuo. x6) www.0) Para implementar estas funciones residuo. 1 . x2. X2. la desigualdad no se cumple. independientemente de los valores de X]. X2 y x3. .x 3. 1 . x2. x3.FreeLibros. X3 . x3. ) = f ( x u x2. . ) por lo que sólo tenemos que obtener las funciones residuo f(xj. 0.me .x 3. Los mapas correspondientes son: 0 0 0 rvi X3 01 11 10 0 1 1 1 1 1 1 1 1 0 1 ^ 1^2 "3 0 0 00 01 11 0 0 0 1 0 1 0 1 1 1 f(xj. f ( x u x2. 1 ) f(xj. 0 . . 0. . como señales de control. SUBSISTEMAS COMBINACIONALES 119 Problema 18.- Realice la función F = L (1,2,3,4,6,7,8,9,14), mediante la PAL de la figura:. ■Eh &. :>l. - O ■o :>i. -{ > yg>&. &. &. -j —U F~ -ffl- Solución P18.- Sea F(a,b,c,d) la función a implementar cuyo mapa se muestra a continuación: . ab 0 0 0 1 11 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 La expresión algebraica de F y de la función complementaria F será: F = a-c + a-b-d + a-b-d + b-c-d + a-b-c F = a-b-cd + bc-d + a-b-c+ a-c-d + a-b-c Para realizar esta función con el PAL de la figura tenemos que resolver tres problemas: 1) El número 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 línea de control del inversor 3-estados correspondiente: www.FreeLibros.me 120 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES XX = 0 i_ > l_ r L_r V/- --------------- 2) El PAL del que se dispone realiza la operación AND-OR-INV. Para resolver el pro­ blema se escogerá a la función F como suma de productos y, al invertirse a la salida, se obtiene la función F. Para que en la salida se obtenga F, el control del inversor 3-estados debe estar a " 1" (para ello basta con no programar ningún fusible de la AND que proporciona dicho control: 1— [& & & & 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, sólo se sumen tres términos: F = (a-b-c-d + b c d + a-b-c) + a-c-d + a-b-c = G + a-c-d + a-b-c. donde G = a b-c d + b c d + a-b-c. De esta forma, G se obtiene por una de las salidas de la PAL y es reintroducida para for­ mar F. PAL: Finalmente, tras las consideraciones anteriores se muestra la configuración final del www.FreeLibros.me SUBSISTEMAS COMBINACIONALES 121 ccbbaaddG G Problema 19.- Se desea diseñar un circuito que tenga como entradas dos números de dos bits a=(a1 a0) b=(b1 b0) y un bit de paridad p a r correspondiente a los cuatro bits anteriores. El circuito indicará en una salida si a>b, y en otra si se ha producido una entrada ilegal (con el bit de paridad mal). El circuito deberá realizarse con multiplexores de dos entradas de selec­ ción y una R O M de 8 posiciones de memoria. Solución P19.- El circuito a diseñar posee cinco entradas, P, aj, ag, bj, bg y dos salidas. Lla­ maremos G a la salida que indica cuándo el número a = ajag es mayor o igual que el b = bjbo, y salida I cuando se produce una entrada con el bit de paridad P erróneo. www.FreeLibros.me 122 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES G= 1 O II o a> b a< b error en P P correcto 1= 1 1= 0 Para resolver el problema disponemos de dos multiplexores de dos entradas de selección y una ROM de 8 posiciones de memoria. El proceso será el siguiente: de la salida de cada uno de los multiplexores se obtendrá cada una de las dos funciones. Dado que las funciones depen­ den de cinco variables, al ser multiplexores de dos entradas de selección, sus residuos son fun­ ciones de tres variables. Estas ocho funciones que componen los residuos serán implementadas con la memoria, que al ser un módulo lógico universal, en este caso de tres entradas, podemos implementar cualquier función de tres variables nada más que rellenando su contenido de for­ ma adecuada. Por tanto, se comenzará haciendo el mapa de Kamaugh de las cinco variables para las dos funciones, G e I, y sobre él se marcarán los residuos correspondientes a cada multiplexor. \P a ,a 0 ) [ b ^ \ 000 00 1 01 0 001 1 010 011 101 1 111 1 100 1 110 1 1 1 1 1 0 1 1 0 0 1 1 1 1 Go G, g2 1 0 0 0 1 g 111 10 0 0 1 1 11 0 0 0 3 G \P a ,a 0 b ,b ^ v 000 001 010 011 100 101 110 00 0 1 1 0 1 0 0 1 01 1 0 0 1 0 1 1 0 lo II 10 1 0 0 1 0 1 1 0 h 11 0 1 1 0 1 0 0 1 h I Eligiendo b¡ y bg como entradas de selección de los multiplexores, y por tanto, P a¡ ag como entrada de la memoria, se observa que algunos de los residuos de las funciones de salida tienen una expresión muy simplificada, bien una constante o una variable de entrada. En esos casos, pueden ser conectadas directamente a las entradas de los multiplexores pudiéndose aho­ rrar en el tamaño de la memoria ya que no se necesita implementar esas funciones como salidas de la ROM. Estas son: Gg =1 G 2 = aj I3 = I0 www.FreeLibros.me I] = I2 SUBSISTEMAS COMBINACIONALES 123 A continuación se muestra el contenido de la memoria y el esquema final del circuito: $ 0 1 2 3 4 5 6 7 2 0 ROM 23x4 3 2 10 G 1G3 I0 h [$] 1 A A D 2 9 9 E bib0 Problema 2 0 .- Se desea realizar un convertidor de código, de entrada 2-out-of-5 y de salida BCD. Además, este circuito deberá poseer otra salida que detecte un error en la entrada. En el caso de que ocurra tal error, las salidas B C D se pondrán en alta impedancia. a) Realice el detector de error usando un M U X 8:1 y puertas. b) Realice el convertidor 2-out-of-5 a B C D usando un PLA de no más de 10 términos producto (AND). c) Dibuje el circuito completo. Solución P20.- Se organizará el circuito en bloques, y se resolverá cada uno por independien­ te. El circuito global dispone de cinco variables de entrada X 4 - X0, por donde se expresa el código 2 de 5, y cinco salidas, cuatro de las cuales Z 3 - Z 0 expresan el código de salida, código BCD, y la quinta señal, E, detecta cuando hay un error en la combinación de entrada. X4 -X 0 z 3 - Zq a) Definimos la señal de error E de la siguiente forma: E = 0 si X 4 - Xq es código correcto. E = 1 si X 4 - X q es código incorrecto. De esta forma se puede presentar el mapa de Kamaugh para la función E: ^ 4 X3 X2 x iX o \ 0 0 0 001 010 011 100 101 110 00 1 1 1 0 01 1 0 0 1 10 1 0 0 1 11 0 1 1 1 1 1 111 0 0 1 0 1 1 1 0 1 1 1 1 1 1 www.FreeLibros.me 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 serán dependientes de 2 variables de entrada. Por tanto, a partir del mapa anterior se deducen cada una de las funciones residuo y se muestra el circuito resultante. X j- x0X| — x0- X |X 0 - | ____ X 4 X 3X 2 b) Para realizar el convertidor de código 2 de 5 a código BCD natural, se muestra la tabla de conversión para cada una de las diez combinaciones: X4 X3 X2 Xi X0 o3 o2 Oí Oo 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 Una vez conocidas las cuatro funciones de salida basta implementar el circuito utilizan­ do un PLA. Suponiendo que todas las combinaciones de entrada que no correspondan a código 2 de 5 no ocurren nunca, y asignando un término producto para cada una de las combinaciones de entrada obtendríamos diez términos producto para realizar en el plano AND del PLA. A continuación, para cada función de salida se hai;á la operación OR de aquellos términos pro­ ducto de los que participa. Siendo Pq, Pj, P2, •••P9 cada uno de estos términos, las funciones serán: O 3 = P 8 + P9 2 P4 P 5 0 = Oí = O q P2 + + P6 + P7 P6 + P7 + P3 + = P j + P 3 + Pg + P 7 + P 9 El esquema del PLA será el que se muestra: www.FreeLibros.me SUBSISTEMAS COM BINACIONALES 125 Pl p? Pa Pa P5 P* P7 Pa P9 X 4 X 3 X 2 X ,X O3 0 0 2 Oj o 0 c) El circuito completo será el siguiente, donde el resultado de los apartados anteriores quedan representados simplemente por un diagrama de bloque: X4 % Xi X0 PLA Convertidor código 2 de 5 / BC D - 9 -c £ = -c £ = - -> -> -> z3 z2 Z1 z0 Detector de error Problema 2 1 .- Analice e l circuito de la figura describiendo con palabras la función que reali­ za. ¿ Puede diseñarse con una R O M un circuito que realice la misma tarea? En caso afirma­ tivo, indique cómo se haría, a s i como el contenido de la R O M para los siguientes valores en hexadecimal de X e Y: X Y : 10, 11, 12, 67, 84, AA ,D F www.FreeLibros.me la salida A=B del comparador se encuentra a 1 lógico.FreeLibros. La salida z se puede expresar en función de estas variables booleanas. si son distintos. Las salidas Z^. suponiendo que a y b son activas en nivel alto. contiene el número x. 0 se encuentren a 0 lógico. se escoja el canal 1.126 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P21. son activas. de forma que tomen el valor lógico 1 cuando la condición i se cumple y 0. se han representado los contenidos de la ROM para las direcciones indicadas en el enunciado: Y3 yi y\ yo x3 x2 X1 x0 A7 a6 A t¡ a4 d3 d2 o. La salida del sistema dependerá de la salida A=B del comparador. b) Con un D E C 3:8 con salidas activas en alto. 2). como: z = Cj © C 2 www. el conjunto de las salidas de estos multiplexores. en caso contrario.Definamos las variables booleanas C¡ (i = 1. una puerta N A N D de 6 entradas y un número no m ayor de 8 puertas N A N D de dos entradas. Do A? a7 A1 Ao ROM POS $10 $11 $12 $67 $84 $AA $CB $DF $FF CONT 1 0 2 7 8 0 B F 0 De los 2 dígitos que forma la dirección.Necesitamos un circuito lógico con cuatro entradas que genere una salida z que se activa cuando se satisface una de las dos condiciones siguientes.Si el número X>Y. suponiendo que todas las entradas y salidas son activas en alto. De igual modo razonamos cuando el número X<Y.q. el primero hace referencia al número A. P ro b le m a 2 2 . Por tanto. En el caso de que los dígitos sean iguales. en la batería de multiplexores. por lo que el inversor provocará que las salidas Z 3 .me . En la tabla siguiente.. en este caso. el número Y. las salidas Z3 _0 contienen el número X. lo que provoca que en la batería de multiplexores se escoja el canal 0 . cuando X=Y. Solución P22. Esto provoca que. Por último.. Diseñe este circuito en cada uno de los casos siguientes: a ) Con M U X 's de 4 canales. y 4 bits por palabra. Como ésta se encuentra a 0 lógico.. La salida A<B del comparador se encuentra a 0 lógico. la salida A<B del comparador de magnitudes. a y b. contienen. pero no las dos: 1) Am bas entradas. la salida es 0. la salida es el mayor de los dos. 2 ) o bien c o d o am bas son activas. c y d activas en bajo y z activa en bajo. al B. que se dimensiona con 8 líneas en su bus de direcciones (correspondientes a los 4 bits de los 2 números). se activa. y el segundo. La función de salida de este circuito puede representarse mediante una ROM. © C 2 en el caso de que sea activa en bajo. Procediendo de forma similar al apartado anterior. d.b) ® (c + d ) . 1 0 0 1 0 1 0 1 0 1 0 y su K-mapa es: Si implementamos la función Z con multiplexores de 4 canales.FreeLibros. todas las variables de entrada y la salida. = a ■b Condición 2: C 2 tomará el valor lógico 1 .SUBSISTEMAS COMBINACIONALES 127 en el caso de que la salida sea activa en alto. a) Debemos obtener.a b 00 0 0 01 0 11 1 10 0 = (a . son activas en alto. c. ahora. tenemos que: M 0 = a + b + c + d = a ■b ■c ■d - O0 . c. la relación entre las variables C¡ y las entradas a.. cuando c o d estén activas ( c = 0 o d = 0): C2 = c + d La salida z vendrá dada por la expresión z . Condición 1: Cj tomará el valor lógico 1 cuando a y b están activas ( en alto ): C. o como: z — C. Si escogemos a. b.H< b 00 01 0 11 1 10 0 1 1 0 1 11 1 1 0 1 10 1 1 0 1 00 0 01 Esta función la implementaremos como producto de maxtérminos. nos queda: b) Ahora. . obtendremos: z = (a ■ b) ® (c + d ) cuyo K-mapa es: .me . como entradas del decodificador y las salidas de este se llaman 0 ¡. b.d M4 = 0 2-d a+ b+ c+ d = a ■b ■c ■d = www. . donde se han sustituido las señales de selección del demultiplexor. b y c. determinar las relaciones entre las salidas de la ROM (D3. • D 0 y f i = ^ 3 ' 5i ' 5o = ^3 ' Nos falta..4 -M1 5 PROBLEM AS CON SOLUCION RESUMIDA P ro b le m a 2 3 .FreeLibros.Las salidas f] y f2.me . por las salidas de la ROM Dj. respec­ tivamente. y las variables de entrada a. por tanto. De la tabla de programación de la ROM. /] = Z> 3 ■s | • s0 + D . S] y sq. y D0: www. deducimos los siguientes K-mapas para D3.Represente las salidas del siguiente circuito como suma de productos. • jj • 5 0 + D 7 • S| • 5 0 = D 3 + D. fi h POS CONT 0 A 1 2 3 4 5 6 7 0 2 B C 7 3 7 Solución P23. D. Di y D0). y D q.128 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a b ■c ■d = M |4 = a+b+c+d = o4 d a ■b ■c ■d - o6 d a ■b ■c ■d = 0 7 ■d a ■b ■c ■d = 0 7 ■d El producto de los maxtérminos M ¡ 4 y M ) 5 puede simplificarse M h -M ]5 = a + b + c = 0 1 El circuito queda como: & d ---------. tienen las siguientes expresiones.& 1 •) & 3 u 4 A 5 & 6 7 & n 2 1 0 DEC3:8 Mn A 1 Ma & Mo M 13 1 & — M. podemos obtener los K-mapas de las funciones f] y f2: . queda: d0 = d ] = y + x + ü d2 = y + x + u d2 = y + x Por otro lado.y Por último.Analice el circuito de la figura.d2 = y + x + u = d r x d3 = x . las funciones fj y f0 se expresan como: /o = d0 . una vez reducida. es: / = y -ü + x -y 1 www..Las ecuaciones de salida del multiplexor son: d0 = y + x + E d¡ = y + x + E d2 = y + x + E d2= y + x + E donde el enable E. la función de salida f que se obtiene.FreeLibros. se expresa como: E = u ■y + u ■x Sustituyendo en las expresiones anteriores y simplificando. Solución P24.me 129 .. = a+ c OI ° OO 01 11 10 0 0 0 0 0 1 0 1 0 0 f2 y f2 = b ■a ■c P rob lem a 2 4 .b a vb a 01 11 10 0 1 1 0 0 1 1 1 1 1 fi De donde deducimos que: /. vb a V 00 01 11 10 0 0 0 1 0 1 0 1 1 1 D0 A partir de estos K-mapas .SUBSISTEMAS COMBINACIONALES ba V 00 01 11 10 0 1 0 0 1 1 0 1 0 0 D3 vb a V 00 01 11 10 0 1 1 1 0 1 0 1 1 1 D. recordemos que z = x © y © v s e hace 1 si y sólo si el número total de unos en x.FreeLibros. de donde: b 2 = ?3 © § 2 Por otra parte..Diseñe un convertidor de código Gray a binario natural de 4 bits utilizando sólo tres puertas E X O R de tres entradas.Llamaremos g 3 g 2 gj go a las variables de entrada (código Gray) y b 3 b 2 b] b 0 a las de salida (binario natural). de donde: b 0 = gO © b l = g3 © g 2 © gl© gO Para hacer el diseño con puertas EXOR de tres entradas. de donde: bl = g3 © §2 © gl O bien. Observamos que b¡ vale 1 cuando g 3 g 2 g¡ tiene un número impar de unos. Solución P25.130 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 2 5 . basta tener en cuenta que x © y = x © y © 0 . cuando gg ^ bj. bg es 1 cuando es impar el número de unos en g 3 g2gigo o. v es impar. y..me . alternativa­ mente. con lo que se muestra un posible diseño: www. La tabla de verdad que muestra el comportamiento del conver­ tidor es la siguiente: g3 0 0 0 0 0 0 0 0 82 0 0 0 0 1 1 1 1 gl 0 0 1 1 1 1 0 0 go b3 b2 bi 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 b0 g3 g2 gl 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 go 0 1 1 0 0 1 1 0 b3 b2 bi 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 bo 0 1 0 1 0 1 0 1 A partir de esta tabla pueden deducirse las relaciones: b3 = §3 Por simple inspección observamos que b 2 vale 0 si g 3 = g 2 y vale 1 en caso contrario. b¡ se hace 1 cuando gj ^ b 2 y se hace 0 cuando g¡ = b 2 de donde: bj = gi © b 2 = g 3 © g 2 © gj Análogamente. .FreeLibros. De esta forma sólo dos de las salidas podrán activarse. Una de las posibles soluciones sería elegir una de las dos variables de entradas que tiene el decodifi­ cador dado y fijarla a un valor constante.SUBSISTEMAS COM BINACION ALES 131 Problema 2 6.me .Se dispone de decodificadores 2 a 4 con señal de habilitación activa en nivel alto. c) Un decodificador de 4:16. y serán éstas las salidas del decodificador que buscamos. con las mismas características: a) Un decodificador 1:2. Solución P26. Para ello se dispone de uno de esas características pero con dos entradas y cuatro salidas. Diseñe. Disponemos del siguiente decodificador: E Si fijamos una de las entradas (por ejemplo la de mayor peso asociado) a "0" quedaría: E www. a) Se quiere diseñar un decodificador 1:2 con señal de habilitación activa en alta. b) Un decodificador 3:8. A continuación se muestra el esquema: E c) Con un razonamiento análogo al del apartado anterior. se quiere un decodifícador 4:16. y en función de la combinación binaria de las tres entradas se activará una y sólo una de las ocho salidas de las que dispone el decodifícador (si éste está habilitado.me . por ejemplo.FreeLibros. uno de ellos irá seleccio­ nando uno a uno los cuatro decodifícadores restantes. las cuatro menos significativas. Para ello.132 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) Se quiere conseguir ahora un decodifícador 3:8 a partir de decodifícadores 2: Tendremos que introducir una nueva variable de entrada. E = 1). y el tercer decodifícador servirá para se­ leccionar a uno u otro de los anteriores según el valor lógico de la tercera variable de entrada que hemos incorporado. Para ello asociaremos cinco decodifícadores 2:4. las cuatro salidas del segundo formarán las otras cuatro salidas. asociamos tres decodifícadores de forma que las salidas de uno de ellos sean cuatro de las del nuevo decodifícador. proporcionando cada uno cuatro de las dieciséis salidas que tiene el decodifícador que se busca. En la siguiente figura se muestra el esquema: www. se pide: a ) ¿Cóm o implementaría un M U X de 3 entradas de selección? b) ¿Cóm o implementaría un M U X de 2 entradas de selección? c) ¿Cóm o implementaría un M U X de 4 entradas de selección? www.me .Utilizando multiplexores de menos entradas de selección que e l dado.FreeLibros..SUBSISTEMAS COMBINACIONALES 133 E P roblem a 2 7 . 134 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P27.. www. Diseñe una R O M con CS.Multiplexor de 3 entradas de selección a partir de MUX-2 y MUX-1: Multiplexor de 2 entradas de selección a partir de MUX-1: Multiplexor de 4 entradas de selección a partir de MUX-2: P ro b le m a 2 8 .FreeLibros.Se dispone de R O M s de n líneas de dirección y m bits por palabra.. n líneas de dirección y 2m bits por palabra.me . todas ellas con CS. me . De esta forma. Para consturir un comparador de 16 bits haremos comparaciones a grupos de 4 bits. para una misma dirección de palabra. y puertas Solución P29. Presentamos.SUBSISTEMAS COMBINACIONALES 135 Solución P28.. es decir.Este problema puede tener diferentes soluciones. aquí. Diséñese un com parador de números de 16 bits..Se dispone de circuitos comparadores de magnitud de 4 bits lógicas. Comenzaremos por los 4 bits de mayor peso de los números A y B: M5-12 B 15-12 www. cuando ambas sean seleccionadas simultáneamente.FreeLibros. la solución más simple. A continuación se muestra el esquema de conexionado: es '■(n-D- P ro b lem a 2 9 . se accede a una palabra de cada memoria leyendo su contenido.. (el bus de direcciones es común para ambas). que cada palabra contenga 2m bits.Disponemos de dispositivos como los que se muestran a continuación: es Vn-O-O ROM 2 n*m m y se desea obtener una memoria del mismo número de líneas en el bus de dirección pero con el doble número de líneas en el bus de datos. Para ello asociamos en paralelo dos memorias de las iniciales. Basta sólo reunir los m bits de cada uno de los contenidos en un bus común que será el de datos de la memoria final que se busca. 21 . La estructura del comparador de 16 bits se obtendría extendiendo el esquema anterior para el grupo de 8 bits restante.3 . entonces. no haría falta comparar los restantes bits.1 3 .2 3. que las salidas de este primer comparador.1. 1 2 y los bits Aj i _8 son menores a los bits B j j. De igual modo. la tema (0. la salida L del comprador número 2. el número A es mayor que el B.g . Im plem ente esta función con un único demultiplexor 1:8. L '.2 5 . Sólo en el caso de que el conjunto de los 8 bits A j 5 _8 y B |5_g sean iguales. P ro b le m a 3 0 .. si los bits A j 5 _i2 son iguales a los bits B i 5 . habrá que comparar el siguiente grupo de 4bits de los 2 números.me . De igual modo razonamos cuando los 4 bits del número B son mayores que los respectivos del A.136 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si de este grupo de 4. Sólo en el caso en que los 4 bits más significativos de los dos números sean iguales.0). los bits del número A son mayores que los del B. 4 M 1-8 -f- B 11- A G' E' L' B 2 G E L *■15-12 B 15-12 4 -4— A G' E' E' —> B ■4 1 G E L A>B A=B A<B Si los bits A j 5 _i2.27).19.Sea F=Z (1.31 ) + d (5 . Podemos ver. www. Se resalta el hecho de que el comparador 4 ( el que actúa sobre los bits de menor peso). se encontrará activa. para activar la salida A=B. se necesitará comparar los restantes bits. pueden utilizarse como salidas del comparador de 16 bits.1 1. A y B. y provocaría la activación de la salida L del comparador 1.g. la salida G del segundo comparador. una puerta N A N D de ocho entradas y puertas N A ND de dos en­ tradas. y provocará que se active la salida G del comparador primero.E'. son iguales a los bits B j 5 _i2 >y los bits Aj ¡_g son mayores que Bjj. está activa.FreeLibros. tiene en sus entradas G '. sean iguales. Esto es necesario para el caso en que los dos números. Variables de salida: Z jZ q: indican la secretaria a la que va dirigida la llamada: Zi Zo 0 0 0 1 1 0 1 1 secretaria n2 1 secretaria n2 2 secretaria n2 3 secretaria n2 4 Variables de entradas: Se nombrarán con Xq.23. S i se trata de una llamada procedente de una empresa de viajes o del aeropuerto.. organizadas en cuatro grupos depen­ diendo de la secretaria que la reciba. se pasará a la secretaria número 3. o de un banco. Si procede de una empresa de venta de ordenadores. Diseñe un circuito que indique el número de la secretaria que deberá recibir la llamada.d..3.. de­ berá sonar el teléfono de la secretaria número 2. Utilizando un codificador 8:3 se transforman estos 8 casos en código de tres variables de las que dependerán las variables de salida.Una llamada de teléfono puede dirigirse a cuatro secretarias.13.19.. X j ..e) = E (1.11.Interpretamos cuáles serán las variables de entrada y de salida del problema. (Nunca hay más de una llam ada simultáneamente).21.SUBSISTEMAS COMBINACIONALES 137 Solución P30. A continuación se muestra la tabla: www. una Ñ O R de 2 entradas y una Ñ O R de 6 entradas..FreeLibros.31) + d(5. En cualquier otro caso se enviará a la secretaria número 1. Hay siete procedencias distintas de las llamadas. Xk = 1 indicará que hay llamada de la empresa "k" (ver tabla).me . La recepcionista distribuirá las llamadas según el siguiente criterio: Si la llamada procede de empresas de alimentación o de ropa.F(a. se pasa a la secretaria número 4. utilizando un único codificador 8:3.27) P ro b le m a 3 1 .b.c.25. a las distintas llamadas de empresas. Solución P31. 138 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Llamada Alimentación Ropa Ordenadores Banco Viajes Aeropuerto Otras - x0 1 0 0 0 0 0 0 0 x2 Xi 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 X3 0 0 0 1 0 0 0 0 x4 0 0 0 0 1 0 0 0 X5 0 0 0 0 0 1 0 0 X6 0 0 0 0 0 0 1 0 x7 0 0 0 0 0 0 0 C2 C.FreeLibros. Z .4]. comparadores de magnitud de cualquier número de bits y puertas de dos entradas que no sean operadores lógicos universales. 0 0 0 0 1 1 1 1 C0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 Z. D iseñe un circuito que detecte el intervalo cerrado de códigos [-5. La realización del circuito utilizando los dispositivos de los que disponemos quedaría como se muestra a continuación: X0 X.c . exclusivamente. www. 0 1 00 01 11 10 < 2C 1 1 1 1 0 - 0 0 0 1 o o ^ C . utilizando. Zo - - 1 1 1 1 0 0 0 1 1 0 0 1 1 0 Por último basta obtener las expresiones de Zj y Z q en función de las salidas del codi­ ficador. X2 X3 x4 X5 Z0 X6 NC NC: no conectada P ro b le m a 3 2 . da la información utilizando números de 4 bits en notación complemento a dos.C 1 01 11 10 1 1 0 0 0 - 1 1 C ¿ \ Z.= C 2 z 0.Un sistema que mide periódicamente la temperatura de un experimento de laboratorio..me . el OR. Problem a 3 3 . Diseñe la unidad B de forma que el bloque completo C ponga z¡=1 si y sólo si hay j entradas a 1. c) La unión de los casos a) y b). X0 Xi X2 yo JLl _Ll _ü_ B x3 -> z0 -> Z. genera la salida Z. Utilice sólo M U X 2:1. lo z 1 +0 0 0 0 0 1 0 0 0 +1 0 0 0 1 1 1 0 0 1 -7 +2 1 0 0 1 0 -6 1 0 1 0 +3 0 0 1 1 1 -5 1 0 1 1 +4 0 1 0 0 1 -4 1 1 0 0 +5 0 1 0 1 0 1 1 0 1 -3 0 +6 0 1 1 0 1 1 1 0 -2 +7 0 1 1 1 0 1 1 1 1 -1 Para el diseño con comparadores. exclusivamente. este tipo de puerta. no es universal. se ha representado el equivalente en notación Ca2. procedemos de la siguiente manera: a) Todas las magnitudes menores de 0101.FreeLibros. Sistema de medida 1 3-0 C.E l bloque A de la figura pone su salida yk=1 si y sólo si h ay k entradas a 1. también.C. I3 1 2 1 ] I0 T I3 h I. se representan en la siguiente tabla.. b) Las magnitudes mayores de 1010 activarán. puesto que no se puede generar cualquier función utilizando. Asimismo. el operador utilizado. -> z2 -> z3 -> Z 4 www.me . activarán la salida.SUBSISTEMAS COMBINACIONALES 139 Solución P32. la salida. y la salida Z. El circuito resultante es: Como puede observarse. Todas las salidas que genera el sistema de medida. 140 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P33.2.2.4 y Z 0 = 0) con lo que se obtiene el circuito que se muestra a continuación: www.FreeLibros.Construyamos la tabla de verdad para este problema: X0 *1 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 x2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 yo 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 yi 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 y2 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 y3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 x3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Zo 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 z 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 De aquí se deduce que: X 3 = 0 = > Z ¡ = y¡ (i = 0.1..me Z2 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 Z3 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 z4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 .3.3 y Z 4 = 0) X 3 = l = > Z i = yi _ 1 (i = 1. 1 1 0 0 0 0 B = 48 0 110 1 F =13 110 100 F = 52 No presentaremos. 141 www. en esta introducción. se genera Bwn =1 y en F no está el resultado correcto: 11 1 Borrows \ Borrows 110 10 A=26 000100 A = 4 110 1 R = n . 4. En cada columna existe un bit de pedir prestado (borrow .1. Remitimos al lector a los problemas 1.FreeLibros. (C¡).Capítulo 6 CIRCUITOS ARITMÉTICOS ARITMÉTICA BINARIA La suma de dos magnitudes A y B en base 2 se realiza de forma similar a la suma en base 10. En adelante se sobreentenderá que los números como A.2 ó 3) se genera el bit del resultado de esa columna (F¡) y el acarreo a la siguiente columna (C¡+i): C¡+iFj = 00. En cada columna se suman los bits de esa columna (A¡ y B¡) y el acarreo generado previamente o carry. B o F están en base 10 sin necesidad de explicarlo. respectivamente. del resultado de la suma (A¡+Bj+C¡ = 0. otras operaciones aritméticas como la multiplicación y división entre números binarios. A<B. Bw¡) generado en la etapa previa y cuyo significado para Bwj = 1 es el cotidiano “me llevo uno”. En cada columna se hace la operación Aj .(Bj + Bw¡) generándose Bw¡+] = 0. En el segundo. también es similar al caso decimal. A-B.me . 10 o 11. En el siguiente ejemplo se representa la suma de dos números y los acarreos que se generan1: + 11 111 Acarreos 0 110 1110 A = 1 1 0 (i 0 00 1 0 0 0 11 b = 35(10 100 1000 1 F = A + B = 1 4 5 ( io La resta de dos magnitudes binarias. tal como aparecen en las operaciones de más abajo. A continuación se presentan dos ejemplos. En el primero se cumple que A>B y en F se obtiene el resultado correcto A-B. 01. 1.(B¡ + Bw¡) generándose Bwi+i=l. o (2 + A¡) . 5 y 15 de este Capítulo. FreeLibros. FA). expresados en cualquier notación.142 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Suma de números en notacióncomplemento a 1 (Cal) y a 2 (Ca2) Se puede demostrar que con el empleo de la notación Cal o Ca2 para la representación de números con signo. el resultado obtenido es positivo.me . De idéntica forma. respectivamente. HA) y los sumadores completos (F u ll Adder. En el siguiente ejemplo se muestran dos casos de overflow. El segundo ejemplo representa la suma de dos números negativos expresados en Ca2. En el primero. la suma y resta binarias puede obtenerse usando. El resultado último es el valor de la suma F=A+B escrito en notación C al. y dos salidas S¡ y C¡+i que se corresponden con el bit de suma y de acarreo. Análogamente se realiza la suma en el caso del Ca2. puede tener un resultado erróneo en el caso de que ambos tengan el mismo signo y el valor de la suma no pueda ser expresado en n bits. Cal Ca2 c °ut A / B S + ' > Cout F A _B F _+ Desbordamiento ( overflow ) La suma de dos números binarios con signo de n bits. exclusivamente. como si fueran magnitudes. Semisumadores Tienen dos entradas A¡ y B¡. lo cual no representa el valor correcto: Cal Ca2 01101 +13 10001-15 0 1 0 0 0 + 8 11000 10101-10 -8 >401001+9 DISEÑO DE CIRCUITOS ARITMÉTICOS Las celdas básicas de los circuitos sumadores habituales realizan la suma de dos bits. En el caso de que A y B estén en C al. En estos casos diremos que se ha generado un desbordamiento (overflow). El esquema de un semisumador. a la suma de A y B. salvo que aquí el resultado final se obtiene directamente tras la primera suma. se le suma el bit de acarreo de salida que haya sido generado. circuitos sumadores de magnitud. tenemos dos números en Cal positivos de magnitudes 13 y 8 . La suma de dos números binarios con signo en notación Cal y en notación Ca2 se basa en la suma de magnitudes binarias.HA-. Existen dos tipos: los semisumadores ( H a lf Adder. El resultado de la suma es un número negativo lo cual es incorrecto. A continuación se presenta esta operación. su tabla de verdad y su estructura interna son: www. b Jal . S¡ y Ci+]. B 3-0 t C out 3-0 Sumador • de 4>. tabla de verdad y estructura interna de un sumador completo son:. y el resultado BCD de la suma. El sumador BCD más básico es el que realiza la suma de dos dígitos BCD. A¡ BjCj 000 0001 01 011 1 00 10 1 1 10 111 s¡ c¡+] 00 10 01 01 10 01 01 "Í+ 1 11 Sumador de n bits Los semisumadores y sumadores completos pueden unirse para formar sumadores de 2 números de n bits. b FA_ ^ FA_ r J ^ C . Z. a la entrada de acarreo. Existe un circuito combinacional que detecta si el resultado del primer sumador es un número BCD y un segundo sumador. El esquema. En la siguiente figura se muestra el esquema de bloques y constitución interna de un sumador de 4 bits. con los bits de los números A y B y. la última. que añade la magnitud 6 ó 0. con idéntico significado que en los semisumadores. q+i q <-1+1FAr i Ci+1 C. junto con un posible acarreo de entrada. Kin y genera un acarreo de salida. B¡ y C¡ que se corresponden. y dos salidas. Su estructura interna está basada en sumadores binarios de 4 bits. TZi Sumador BCD Un tipo particular de sumadores binarios lo constituyen aquellos que aceptan números BCD en sus entradas y generan el resultado también en BCD. 00 10 10 01 B. A y B. 143 Si A¡ Ci+1 Sumadores completos Tienen tres entradas Aj .me . Esto se consigue mediante el empleo de n sumadores completos en los que la entrada de acarreo del sumador j+1 se conecta a la salida de acarreo del sumador j. según corresponda. para convertir la suma binaria al valor BCD de la salida: www. Si s¡ si _ Tz. 1bits !3-0 - i At Bi 1a 4 cv-in V Cout a2 2 A 1 Ao B0 21 a b b Jal. Kout. las dos primeras.FreeLibros. C"i+1 S.CIRCUITOS ARITMÉTICOS \b HA c i+l S¡ v i Ai Bj 00 01 10 11 'i' B¡ s¡ c i+. U l Sumador p ' out je 4 bits m ------------------. Y = B y F = A + B + l = A + Ca2(B) = A .FreeLibros. V = Exor(Cn.B) F = OR(A. según se muestra en la figura. además de acarreo de entrada y salida para las operaciones aritméticas: S2 S j s0 Operación 000 0 0 1 0 1 0 01 1 1 0 0 1 0 1 1 1 1 1 1 o F = AND(A. Si se ordena la suma (s/r=0).y Sumador binario Cin s/r T UNIDAD ARITMÉTICO-LÓGICA (ALU) Una ALU de n bits es un circuito combinacional que realiza operaciones lógicas y aritméticas sobre 2 datos de entrada de n bits cada uno. El desbordamiento se representa mediante el bit V y se puede implementar de varias formas como.me .♦ 0 Detector error BCD J li Sumador c out de 4 bits ir ? Encadenando en serie “K” de estos sumadores.Cn_1): r i -out Transfiere/ Complementa - J l. o complementa. En la siguiente figura se presenta el esquema y tabla funcional de una ALU de 4 bits. se construyen sumadores BCD paralelos * Z de K dígitos decimales. Y=B y F=A+B. si se ordena la resta (s/r=l). básicamente.B) F = NOT(A) F = A+B+C. Sumador-restador de números con signo en Ca2 Un circuito sumador-restador de números con signo en Ca2 consta. de un sumador binario de magnitud y un circuito que deja pasar.144 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES B >1 K0 ut<- Sumador K°ut BCD Kin r Ip . donde existen 3 señales de selección que permiten escoger entre 4 operaciones lógicas y 4 operaciones aritméticas.B) F = EXOR(A.n F = A. por ejemplo. el dato que actúa de sustraendo.B.B+Cin www. ..1 .. a los www. 111 A 1....CIRCUITOS ARITMÉTICOS 145 índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: ... podemos concluir que el número de bits del resultado vendrá dado por la siguiente expresión: na + b = m a x ( n a.. 1 1 1 0 0 0 0 s0 s. en el peor de los casos... 1 1 A 1 .. nb) + 1 n Esta misma expresión se obtiene razonando sobre los valores máximos: A < 2 “ .. por lo que necesitaremos 1 bit más para almacenar el resultado.. a) Supongamos que los números A y B tienen el mismo número de bits na=%=n..2 < 2 a h -1 Para la multiplicación también debemos ponemos en el peor de los casos: todos los bits de A y B son l ’s. se puede generar un acarreo en el último bit del número A que provoque un resultado de na+l bits. El resultado de la suma provocará un acarreo en los bits más significativos... Solución P l. 1.+ A + B < 2 “+ 2 ..)...1 . 1 1 1 A ___________ 111 B 1 00 1 1 0 En general. o i Supongamos que el número A tiene más bits que el B (na > n¡.. maxin +«r + I) # < 2 -1 . . 1 . 1 1 0 .-Sean A y B dos números binarios. en el peor de los casos a la hora de realizar la suma.. n n.FreeLibros. Llamemos S¡.Manejo de circuitos y subsistemas aritméticos. 111 B 111 1 1 0 Si el número de bits de A es mayor que el de B. . b) Realice en binario las sumas 110 + 35 y 110 + 7 3 suponiendo que se dispone de un solo byte.1 1 B 1 1 1 1 1 1 .me . a) Determ inar en función del número de bits de A y B e l m ayor números de bits de A + B y A*B. n+ 1 . Pongámonos. 1 . esto es. los números A y B son todo 1’s. .. a su vez.1 y n.Diseño de subsistemas aritméticos. PROBLEM AS RESUELTOS P ro b le m a 1... 1 1 .1 .... s"b-l .Aritmética binaria. 146 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES resultados parciales procedentes de multiplicar el bit i del número B, por el número A (ver figura anterior). El número de bits del resultado parcial Sq es de na; el de S],na+1; en general, el del S¡, es na + i. El resultado parcial con mayor número de bits es Snb_i, con na + nb - 1 bits. Por el apartado a) sabemos que la suma de los resultados parciales Sq y S j, necesitarán un resultado de na +2 bits. Este resultado, sumado con S 2 ( que tiene na +2 bits), producirá un nuevo resultado que necesitará na+3 bits. De forma sucesiva, llegamos sumando las resultados parciales, hasta el último, Snb_i. El tamaño del resultado de esta última suma, se necesitará almacenar con un bit más de los que posee Snb_j, es decir, na + nb -1 +1. En resumen, el resultado de la multiplicación de dos números A y B de na y nb bits, respectivamentes es: axb = n„ + n h b) Convertimos los números 110^ 10, 35(jo y 73 ( 1 0 en binario 0 12_ 55 I2 1, 27 2 1,13 6 I 2 0 ' 3 l2 1 , 1 L2 _ 1, 0 1 1 0 (io = 1 1 0 1 1 1 0 ( 2 > 0 bien , si utilizamos un byte para almacenar el número 1 1 0 ( 1 0 = 0 1 1 0 1 1 1 0 (2 73 L2_ <*_L> 3 6 , 0 , 18 2 0, 9~1 2 4 |_2_ 0, 73(10 = 0 1 0 0 1 0 0 1 (2 - P°r último: 35 I 2 17 . 1, 2 I 2 "TET 1, 0 _2___ tu l , 2 1 2 o, i T T L o 35(io = 0 0 1 0 0 0 1 1 ( 2 Las sumas son: www.FreeLibros.me CIRCUITOS ARITMÉTICOS 0 1 1 0 1 1 1 0 + 00 1 0 0 0 11 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 + P roblem a 2 .- 110 35 145 110 73 183 Realice la substracción de los siguientes números binarios usando (i) el complemento a dos (ii) el complemento a 1 Com pruébese la respuesta por substracción directa. a) b) c) d) 1 1 0 1 0 - 1101 1 1 0 1 0 -1 0 0 0 0 1 0 0 1 0 - 10011 100 - 110000 Solución P2. a) Por substracción directa 1 0 26 110 1 13 0 110 1 13 1 1 0 Por el complemento a 1 0 1 1 0 1 0 +26 + 1 1 0 0 1 0 -13 1 0 0 1 1 0 0 0 0 1 1 0 1 +13 Por el complemento a 2 , b) Por substracción directa 1 0 +26 1 1 0 0 1 1 -13 0 1 1 0 .* 0 0 1 1 0 1 1 1 0 1 0 - 1 0 0 0 0 0 1 0 1 0 Por el complemento a 1 + 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 >+ +TT +26 -16 +10 +26 -16 +10 www.FreeLibros.me 147 148 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Por el complemento a 2 +26 -16 +1 0 c) Por 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 número negativo cuya magnitud se puede obtener restando al número mayor, el menor. Existe Borrow final 1 18 1 0 0 1 1 19 1 0 0 1 0 ~ 1 0 0 1 0 18 - 1 0 0 1 1 19 00 00 1 1 Resultado-1 =? 1 1 1 1 1 Por el complemento a 1 + 18 0 1 0 0 1 0 + 1 0 1 1 0 0 -19 -1 1 1 1 1 1 0 Por el complemento a 2 0 1 0 0 1 0 + 18 + 1 0 1 1 0 1 -19 l i l i l í -1 d) Por substracción directa Existe Borrow 1 final. _ 0 0 0 10 0 4 110 0 0 0 48 48 1 1 0 0 0 0 0 00100 4 =7 1 1 0 1 0 0 1 0 110 0 44 Resultado -44 Por el complemento a 1 0 0 0 0 1 0 0 +4 + 1 0 0 1 1 1 1 -48 1 0 1 0 0 1 1 -44 Por el complemento a 2 0 0 0 0 1 0 0 +4 + 1 0 1 0 0 0 0 -48 1 0 1 0 1 0 0 -44 0 1 1 0 1 0 1 1 0 0 0 0 > 1 0 0 1 0 1 0 + P ro b le m a 3 .- Sea una A L U de 8 bits que entre otras operaciones realiza la suma sin signo (S S S ) y la suma en complemento a dos (SC2). Indique justificadamente: a ) Dados dos números positivos A y B, ¿da igual sumarlos mediante SSS que mediante SC2?. b) ¿ E n qué consisten y cómo se reconocen los errores de desbordamiento (overflow)? En su caso, ¿cómo puede obtenerse e l resultado correcto?. c) Realice, si es posible, las siguientes operaciones indicando si es con S S S o SC2. 1. (-75) + 125 2. (-75) +(-125) 3. 7 5 + (-125) 4. 75+125 www.FreeLibros.me CIRCUITOS ARITMÉTICOS 149 Oo Solución P3. a) Disponemos de dos números positivos A y B. En primer lugar determinaremos la estructura de estos números en ambas notaciones. En SSS, los números 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 según el convenio basado en el complemento a 2. Esto es, A y B representan valores positivos y negativos, existe un bit de signo y sus valores van del -128 a l+127. Para la 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 números es menor que 128. En este caso, tanto SSS como SC2 dan el mismo resultado. 2) 127 < A+B < 255. En este caso el resultado que da SSS es correcto, pero no así SC2, ya que la representación en esta notación necesitaría un bit más. El resultado sería interpretado como un número negativo. 3) A+B > 255. Este caso es absurdo para SC2, ya que, como máximo, la suma de dos números 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 señal de acarreo Cg y de overflow V, que ofrecen la mayoría de las ALU’s. El bit de overflow es útil para operaciones en las que intervengan números expresados en notación Ca2. Se obtiene realizando la operación Exor entre el acarreo de la columna de signo C 7 y el acarreo de salida C8: V=Exor(C 7 ,Cg). Aclaremos este aspecto. Supongamos que tenemos dos números positivos de 8 bits expresados en Ca2. Si la suma de los bits Ag_o y B6_0, es menor de 128, no se produce ningún acarreo C7 =Cg=0, y el resultado es correcto, tal como muestra la figura: 0 A 6 a 5 ... b 6 b 5 ... f 6 f 5 ... Si la suma de los bits A 6 . 0 y B 6 . 0 es mayor de 127, se produce un acarreo C7=l que provocará que el resultado se interprete como un número negativo. Existe overflow o desbordamiento. En este caso, como se puede observar, no existe acarreo de salida Cg=0. Cx=0 C7=l OO i_____ 0 A 6 b6 b5 f 6 f 5 ... Cuando los dos números son negativos, se produce siempre un acarreo de salida que se desprecia. En tal situación se producirá un overflow cuando, al producirse un C 7 =0, se obtiene un resultado positivo: www.FreeLibros.me 150 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES C8=l C7=0 0 0 0 A 6 : a 5 ... b 6 :b 5 ... f 6 ;F 5 ... La situación siguiente es correcta y en ella no se produce overflow. C 8= l C 7= l i 0 A6 ; a 5 ... : 0 b 6 :b 5 í o F6 i f 5 ... ; i ; Si damos un rápido repaso a las condiciones que producen desbordamiento V=1 en función de C 7 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 1 lógico, 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 C8: C8F7F6F5F4F3F2PlPo Mostremos a continuación la validez de esta solución para SC2 (para SSS es evidente). La suma A + B genera desbordamiento sólo en dos casos: si ambos sumandos son positivos (A 7 = B 7 = 0) o si ambos son negativos (A 7 = B 7 = 1). Como el desbordamiento se elimina al contar con suficiente número 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 números Ag = Bg = 0 en el primer caso y Ag = Bg = 1 en el segundo. Entonces, al sumar la columna 8 se tendrá 0 + 0 + Cg o 1 + 1+ Cg, por lo que en ambos casos el hipotético bit de signo del resultado correcto es Fg = Cg. c) Los tres primeros casos sólo pueden realizarse con SC2 ya que se trata de números con signo, mientras que el último se realizará con SSS. 1) SC2(10110101 + 01111101). Las salidas de la ALU son 00110010, que representan el número +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 C 7 están a 1. 2) SC2(10110101 + 10000011). Las salidas de la ALU son 00111000, que representan el número +56. Pero el bit V está a 1 (C 7 = 0, Cg = 1) indicando que existe un error de desbordamiento. El resultado correcto se puede obtener formando un número 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 número -200, lo cual es correcto. www.FreeLibros.me CIRCUITOS ARITMÉTICOS 151 3) SC2(01001011 + 10000011). Las salidas de la ALU son 1100 1110, que representan el número -50. No se produce acarreo Cg y V=0. 4) SSS(01001011 + 01111101). Las salidas de la ALU son 11001000, que representan la magnitud correcta, 200. No se produce acarreo de salida C 8 =0. Si se hubiese realizado SC2(01001011 + 01111101) las salidas de la ALU también son 11001000, pero V =1 indicando desbordamiento. Problem a 4 .-Muestre la palabra de 8 bits que representan los números + 3 6 y -36 en las tres notaciones (S-M, C a l, Ca2). Represente también el resultado de multiplicar por dos y de dividir p or dos, esos números. ¿ Qué relación hay entre la palabra inicial y la final? Solución P4. a) Para números positivos: En las tres notaciones se representan de igual forma los números positivos. Por tanto: +36 -> 00100100 (+36) x 2 = + 7 2 - > 01001000 (+36) + 2 = +18 -> 00010010. En general, la multiplicación por 2 equivale a desplazar el número 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. Análogamente, la división 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. Gráficamente estas operaciones admiten la siguiente ilustración: 0 0 x 2 i 1-------------------------f7*n 2 S + b) Para números negativos: La representación de los números negativos varía de una notación a otra. En este problema tenemos: b l) Signo-magnitud: -36 —» 10100100 (-36) x 2 = -72 —» 11001000; en general, x 2 (-36) + 2 = -18 -» 10010010; en general, + 2 b2) Complemento a : -36 —> 11011011 (-36) x 2 = -72 -> 10110111; en general, x 2 (-36) + 2 = -18 —» 11101101; en general, + 2 www.FreeLibros.me 152 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b3) Complento a 2: -36 —> 11011100 x2 (-36) x 2 = -72 —> 10111000; en general, x 2 (-36) + 2 = -18 -> 11101110; en general, + 2 sr i V - xj P ro b le m a 5 .- Realice las siguientes operaciones en binario, comprobando e l resultado: a ) 2 2 x 18 b) 7 5 x 8 c) 1 8 x 4 0 d) 61 + 16 e ) 168 + 14 f) 1 6 8 + 2 0 Solución P5. a) 22 x 18 = 396 1 0 1 1 0 x100 1 0 22 18 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 ______ 1 1 0 0 0 1 1 0 0 396 b) Desplazamos a la izquierda tres veces los bits del número 75 e introducimos un 0 por la derecha cada vez que realicemos un desplazamiento. 75 = 1001011; 7 5 x 8 = 1001011000 c) 1 8 x 4 0 = 720 1 0 1 0 0 0 40 x 1 0 0 1 0 18 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 10 0 0 0 720 d) Dividir un número A entre una potencia de dos equivale a desplazar hacia la derecha los bits del número A. Así 61-5-16= 111101 -5- 10000 = 11.1101. Este resultado representa el número 3.8125. e) 1 6 8 - 14= 1 2 - 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1100 0 1 1 1 0 - 1 1 1 0 0 www.FreeLibros.me Para conocer la magnitud del resultado aplicamos. Solución P 6 . 1 0 0 0 0 0 1 0 1 0 0 - 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 El resultado exacto es 8. c) R epresente+149 y -179 en B C D bajo complemento a 10. es el -29.4.A.-Las sumas y restas en complemento a 10 tienen las mismas reglas que las sumas y restas en complemento a 2..375. por tanto. la suma. P rob lem a 6. El resultado.FreeLibros.178 -> !Cal0(178)BCD = 1(822) = 1100000100010 www. si se produce un acarreo. el obtenido hasta el cuarto dígito decimal es 8. En consecuencia: + 149 —» 0 1 4 9: el dígito 0 se corresponde con el signo + — 178 —> Cal 0(0178) = 9 8 2 2: el dígito 9 corresponde con el signo b) Realizamos. Por ejemplo. la definición del CalO: Cal0(9971) = 0 0 2 9.1 0 1 0 0 - 1 0 0 0 . viene determinado por la expresión Cal0(A) = 10n .. +N se representa como N( ¡q y -N. a) Represente + 1 49 y -178 en complemento a 10 con 4 dígitos. Con idéntico criterio que en Ca2. utilizando un único bit para el signo (0 para los positivos y 1 seguido del CalO para los negativos).9876 = 0124. a) El complemento a 10 de un número A. el m ás significativo de los cuales actúa como " dígito de signo". 0 14 9 +9822 997 1 En nuestro caso el primer dígito es 9 lo que significa que el resultado es negativo.me . como Cal0(N). nos queda: + 149 -» 0(149)bcd = 0000101001001 . ahora.CIRCUITOS ARITMÉTICOS 153 f) 168-+20 = 8. interpretando la respuesta. Para representar números decimales con signo en el convenio basado en el Ca 10 se procede como en el caso del Ca2. esto es. para n = 4 el Cal0(9876) = 104 . usando un bit como signo. d) Sum e en B C D y complemento a 10 (+149) + (-178). se desprecia. 0 1 1 0 . nuevamente. para n dígitos. y el C al0(4342) = 5658. b) Sum e (+149) +(-178) en complemento a 10. c) Si representamos los valores anteriores codificados en BCD.4 1 0 1 0 1 0 0 0 11 0 1 0 0 . (B . por lo que tenemos un número negativo expresado en notación de complemento a 2 . al sumar los 4 bits del dígito menos significativo. Por último podemos decir que el número formado por el borrow y los bits del resultado. El resultado final es 1100101110001. donde n representa el número de bits de los números A y B. que corresponde a -029 (el primer bit 1 indica que es negativo y los otros 12 bits. el resultado F de esta operación es el mismo que el de la anterior. y si A<B.B. www. Como se puede observar. Entonces.me . se produce arrastre (borrow= 1).. se produce un resultado que no es BCD. P ro b le m a 7. ¿ Cuál podría s er e l resultado si A es m enor que B ?. F = 2n . La nueva operación sería: Borrow final=0 11010 A -01111 B QlOl): F En este caso no se genera borrow y el resultado es el correcto ( 26 . Solución P7.-La substracción binaria directa F=A-B produce una diferencia correcta si A es m ayor o igual que B. Si A>B. se produce un acarreo final o borrow y el resultado F de la operación (F = 11(10) no se corresponde con el valor correcto de la diferencia (-5).B . con la salvedad que la cantidad 2n es suficiente para cubir el arrastre final.FreeLibros.15 = 11).A) lo que significa que el resultado del restador de magnitud proporciona el número A .Para determinar el resultado. no se produce arrastre. por lo que tenemos un bit de signo positivo (borrow=0).154 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES d) La suma de los valores anteriores será: 1* 0 0001 0100 1001 1 1000 0010 0010 1 1001 0111 + 1011 0110 0001 Obsérvese que. Esto provoca un acarreo hacia el siguiente dígito BCD. en BCD. La aritmética BCD exige en estos casos que se añada la cantidad 6 para obtener el resultado correcto. Supongamos que realizamos la operación 2n + A . equivalen a 971 por lo que el resultado es -Cal 0(971) = -29. 1011 como número con signo en Ca2 es -Ca2(1011) = -(0101) = -5.B en la notación Ca2. Determine la relación entre el resultado obtenido en F y el bit de borrow en la posición más significativa. Así. Supongamos que realizamos la siguiente operación (A = 10( iq yB = 15( iq): Borrow final=l 1010 A -1111 B 1011 F Como se observa. investiguemos con un ejemplo sencillo qué número obtenemos al realizar la resta binaria F = A . representa siempre A-B en Ca2. . como acarreo. Por tanto la celda a diseñar tiene 5 entradas y 3 salidas. Para codificar los posibles acarreos. realice un sum ador paralelo de 3 números de n bits. salvo c¡ que.-Diseñe a nivel de puertas un sum ador completo de tres bits (adem ás de posibles acarreos). no afecta: Fj = Xj © yj © Zj © c0 www. 1 1 1 0 1 Como puede observarse. vamos a acomodarla a las expresiones de salida que conocemos para los sumadores convencionales. necesitaremos dos bits.El sumador completo a diseñar debe tener como entradas en cada etapa los bits de los tres números y el acarreo generado en la etapa anterior.FreeLibros. en ningún momento. Como puede observarse en el K-mapa. las ecuación de salida es la función Exor de las variables de entrada. Solución P 8 . Debe generar la suma de las entradas anteriores y el acarreo de salida hacia la siguiente etapa.CIRCUITOS ARITMÉTICOS 155 Problem a 8.me . en lugar de minimizar la salida. y añadirles un acarreo de como mucho 2.. si escogemos adecuadamente las inespecificaciones. Utilizando el diseño anterior. Para determinar el número de bits que será necesario utilizar para el acarreo. la magnitud 3: yj zi Sumador completo Q> Ci c0 Cl La salida Fj.. en el peor de los casos cada celda sumadora de 3 bits debe sumar los tres l ’s de los números. responde al siguiente K-mapa: ^ zi 0 0 0 001 011 010 110 111 101 100 00 0 1 0 1 0 1 0 1 01 1 0 1 0 1 0 1 0 Fí 11 10 0 1 0 1 0 1 0 1 En este caso. Nótese que es imposible que se genere. vamos a realizar una suma de tres números que son todos l ’s: _ 2 2 2 _1 __ Acarreo 1 í í í 1 1 1 1 1 1 1 1 1 1 1 . En ellas conectaremos los distintos grupos de 4 bits de las entradas A y B de 12 bits.FreeLibros. El circuito resultante sería: www. será necesario que cada ALU conozca si la ALU anterior ha generado un acarreo o no para añadírselo a su suma parcial. Por tanto se sugiere una estructura de acarreo en serie. c0 + xjzjc ]c0 + yjzjc l c0 b) Para el sumador paralelo de n bits. s2 S1 s0 C¡ Solución P9. las señales de control de las tres deben ser idénticas.-La A L U de 4 bits de la figura se incluye dentro de un Cl.G 1 M) de donde se obtienen las siguientes ecuaciones: c \ = y_jb. realizando un conexión de acarreo en serie entre ellas. utilizaremos n unidades sumadoras. Por último. Asigne los arrastres de entrada y salida en la ALU de 12 bits.c 0 001 011 0 10 110 111 101 100 00 00 00 01 00 01 01 01 00 01 00 01 01 01 01 10 01 01 01 01 10 01 10 10 10 01 11 10 C.c\+xjyjc\+ h h c\+ x jy¡ZjC0 _ _ ___ ___ ___ c o = xjyjcl + XjZjCj + yjzjc l + XjyjCo + XjZjC0 + yjZjC0 + x^-c. Por otro lado. z n-l ^n-l Xn_j zi yi xi zo yo x o o o P ro b le m a 9.156 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Para el acarreo de salida.Para formar una ALU de 12 bits nos basta con 3 ALU’s de 4 bits. cuando se realicen operaciones aritméticas.me . Muestre las conexiones entre 3 C l pra formar una A L U de 12 bits.. tenemos el siguiente K-mapa: *i yi zt 000 c. por lo que irán interconectadas. a = 0 y b = B. si Sj Sq = 00.Diseñe un circuito aritmético con dos variables de selección s 7 y s 0 que realice S1 s0 0 0 0 1 1 0 1 1 5nI o las siguientes operaciones aritméticas. las entradas a y b tendrán los números A y B respectivamente. Indique una solución para una etapa típica. a = A y b = 0. F=A+B F=A F=B F=A+B Cin=l F=A+B+1 F=A+1 F=B+1 F=A+B+1 Solución PIO. Una solución con subsistema consiste en utiliza dos grupos de multiplexores de 4 canales cuyas salidas se conectarán con la entrada a o b y.me . si sj Sq = 10. en función de sus señales de control.FreeLibros. a cuyas entradas a y b habrá que conectar los datos adecuados en función de S] y s0.CIRCUITOS ARITMÉTICOS 157 •s 2 Si S0 c in 7-4 11-8 ■3-0 P rob lem a 10. a = A y b = B. se escogerá el canal que tenga el dato apropiado para la operación: AA0A B0BB A continuación haremos el diseño interno de la etapa típica de un sumador que responda al conjunto de operaciones especificadas. y si sj Sq = l l . Utilizaremos como base del diseño un sumador www.. si sj Sq = 01.-Daremos una solución basada en un sumador de n bits con entrada de acarreo. Mediante la repetición e interconexión de etapas típicas se obtendrá el sumador entero. En concreto. A0 A? A6 A5 A4 A3 A2 Aj A0 Z i5Zi4Z1£ 1¿Z11Z . y los bits i de los números A y B. para que su salida se corresponda con la operación especificada. a) Obtenga un circuito que lo realice.C. en función de los valores de control S) sq. pero s í semisumadores (HA). b¡ A. sin mayor dificultad.Se desea obtener el valor de un número binario sin signo A. = +A¡s 0 Bis xs 0 + B¡sl P ro b le m a 11. de 8 bits (A=A7. b) Repita para Ax40.me . s \ 00 ■ u 00 00 ai b i de donde obtenemos las siguientes ecuaciones: a. a) Realizaremos.) de modo que. el K-mapa del C. la multiplicación entre los dos números: A7 A6 A5 A4 A3 A2 A! A0 1 0 0 0 0 0 0 1 A 7 A¿ A5 A4 A3 A2 A. Podemos obtener.0).: 11 10 01 11 10 b¡ = B¡ 01 00 00 10 10 ai .. permita suministrar las entradas adecuadas a¡ y bj del sumador completo. sumadores completos(FA) y puertas.0Z9Z8 z 7 z 6 z 5 Z4 Z3 Z2 Z \ z 0 www.A ¡ 11 01 00 10 11 ai = A j b. La estructura de la etapa viene representada en la siguiente figura: si «o Hay que diseñar el circuito combinacional (C.FreeLibros.C.158 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES completo (FA) .i. multiplicado por 129. No pueden utilizarse circuitos aritméticos de n bits ( n > 1). = B 10 01 00 00 01 a¡ = 0 _cr II 031 _6J II > 01 O 1! JO A B ¡ . Solución P ll. en primer lugar. 13 A7 A¿ z 12 Z¡¡ A 5 Ag Z 10 A4 z9 A5 A3 A4 Zg A2 z7 www. Los bits Z¡ j y Z 1 2 pueden obtenerse con semisumadores y el bit Z 1 3 corresponderá con el acarreo del último semisumador. como estas sumas son sólo entre dos bits. es el bit de mayor peso del resultado. bastará usar semisumadores (HA). lo cual puede obtenerse con semisumador.z 0 .me A3 Aj z6 A2 A 0 A iA q z5 z 4 z 3 z 2z . A partir de aquí. El circuito resultante es: A7 Z . z 0 b) Operamos de forma similar al apartado anterior. se deberá añadir al siguiente bit (At) para obtener Zg. Z15. el bit Zg. Si esta suma genera un acarreo. Utilizaremos sumadores completos para obtener los bits Z 5 hasta Z 10. Así se procede sucesivamente. coinciden con los bits menos significativos del número A. El circuito resultante es: Zl 5 Z14 Z 13 Z 8 Z 7 z 6 Z 5 Z 4 Z 3 Z 2 Z. Zg. el bit Z5 debe obtenerse sumando A 0 con A2. lo cual debe hacerse con un sumador completo.CIRCUITOS ARITMÉTICOS 159 Comprobamos que los 7 bits menos significativos del resultado se obtienen directamente de los 7 bits menos significativos del número A. A7 A6A 5A4A 3 A2 A] A0 1 0 A -j A¿ A 5 A 4 A 3 A 2 A ] A7 A5A5A4A 3A2A] 1 0 0 0 Aq 0 0 0 Aq Z 13 Z 12Z n Z ) 0Z 9 Zg z 7 z 6 Z 5 Z 4 z 3 o o o Los tres bits menos significativos del resultado son 0. Los dos bits siguientes.FreeLibros. el siguiente bit del resultado. A partir de aquí. El acarreo de la última unidad. Realicemos en primer lugar la multiplicación para conocer qué elementos debemos utilizar en el circuito. sumando A¡ con A 3 más el posible acarreo anterior. Para ello. debe calcularse sumando A 7 con A0. Se dispone de una A L U de 8 bits m uy simple. Los números pueden ser positivos o negativos. representados en complemento a dos. Lo mismo se hará con el acarreo de salida generado Cout = C8.me . puesto que están representados en Ca2.160 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 12. A+B. Por la salida F.FreeLibros. hay que decir que se almacenan. tendremos que hacerlo en dos etapas: primero la parte menos significativa y. no existe overflow y el resultado correcto de la suma K+L está en M. de forma que si en la etapa anterior se generó acarreo. La salida F corresponderá con el byte significativo del resultado MH. La ALU no permite calcular el Ca2 de un número.. No hay que explicar cómo se almacenan los resultados intermedios. es decir. la parte más significativa. Por tanto es la salida V de la suma más significativa la que nos determinará la existencia o no de un overflow. respectivamente. como se indica en la figura adjunta: " A B X Cin F 0 0 A+B 0 1 A+B+l 1 A ■ Considere dos números con signo de 16 bits ( K y L). sino que. segundo. b) Repita e l apartado anterior para obtener M=K-L. qué hay que realizar para obtener M =K +L (M = M h M l ) incluyendo la posibilidad de desbordamiento (overflow). 2) Introducimos por las entradas A y B los bytes KH y Lpj. al acarreo que se haya generado en C 3) Es en este momento cuando debemos evaluar la salida V de la ALU para determinar la existencia de overflow: Si V=0. Las señales de control de la ALU deben ser XC¡n = 00. indique justificadamente. Cada uno está escrito en dos palabras de 8 bits. Llamemos C 16. se calcula la operación A+B+l y en caso contrario. una con la parte más significativa (H) y otra con la menos significativa (L). obtendremos el byte menos significativo del resultado. M l que se almacenará. sólo www. simplemente. Las señales de control de la ALU son XC¡n = OCg. respectivamente. Solución P12. Cg = 1. Si V=1. a) Para realizar la suma de los dos números de 16 bits. c) Diseñe la A L U con puertas y sumadores completos (FA) de 1 bit. existe overflow y el resultado correcto de la suma K+L está en el número de 17 bits formado por b) Para realizar la diferencia K—L. 1) Introducimos por las entradas A y B los bytes y Ll . a) Utilizando una sola ALU. el cual se lo sumamos a K. (K= KHKL y L=LHL¡J. calculamos previamente el complemento a 2 del número L. ya que sólo hace las operaciones de "suma"y transfiere e l complemento". Sabemos que el complemento a dos puede ser obtenido fácilmente a partir del complemento a 1 . Las señales de control de la ALU deben ser XCin=l-. Esto determina la diferencia K-L. LH. obtenemos M l y se almacena.me Operación F = AND(A. F=A.CIRCUITOS ARITMÉTICOS 161 dispone de la operación A. y F=A+B+1. por la entrada A. los pasos 2 y 3 del apartado anterior. Por la salida F. Las señales de control de ALU deben ser XCin=l-. Por tanto. realizaremos la operación K+L+l. c) Los sumadores permiten realizar las operaciones F=A+B cuando el acarreo de entrada está a 0 lógico. por último. 2) Introducimos ahora el byte significativo. 1) Introducimos el byte menos significativo de L (Ll ). Construimos. por la entrada A. que se corresponde con el complemento a 1 del número A. A7 B7 A6 B 6 A! B] A0 B0 P ro b le m a 13. A la salida obtenemos F=LH y se almacena. La señal de overflow. 4) Repetimos. obtenemos L l y se almacena. cuando está a 1 lógico. Por otro lado utilizaremos inversores para implementar la única función lógica de esta ALU.Sean X e Y dos números binarios positivos expresados en notación complemento a 2. puede ser obtenida mediante la Exor del acarreo de salida (Cg) y el acarreo de la etapa anterior (C7). A 3-0 B 3-0 S1 s0 0 0 1 1 0 1 0 1 www. indique las operaciones a realizar en la A L U para que sus salidas representen el módulo del resultado de la diferencia entre los números X e Y.FreeLibros. 3) Introducimos KL y L l por las entradas A y B de la ALU. Por la salida F. un sumador de 8 bits utilizando sumadores completos de 1 bit. Utilizando la A L U de la siguiente figura. por tanto'.B) F = A+Cin F ~ A+B+Cin F = A+B+Cin . sin más que añadirle la unidad. primero procederemos a calcular el complemento a 1 del número L y posteriormente. Las señales de control deben estar a XC¡n=01. La unión entre la parte lógica y la aritmética se puede realizar mediante multiplexores controlados por la variable X.. Para obtenerlo hacemos A = X. Así se realiza la operación F = X + Y + 1 = X + Ca2(Y) = X . Como ambos números son positivos no hay desbordamiento aunque existen dos opciones: X > Y . B = X. b) Reintroducir el resultado anterior F = X .162 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P13.Y es un número negativo y Cout = 0. a) 1 1 1 1 0 + 1 0 0 1 1 0 1 1 1 1 1 0 0 . en cuyo caso obtendremos a la salida F = A+l = Ca2(A) = Y . IX .X.-E1 valor pedido.Y por A y aplicar las entradas Cin = 1 y sj Sq = 01.FreeLibros. en cuyo caso F muestra IX-Yl.Y. Aquí presentamos dos opciones: a) Repetir el proceso anterior pero cambiando las entradas.11.. C¡n —1 y SjS0 . y CQut = 1.X = -(X -Y ) si X < Y.1 1 + F 0 2 B( 16 1 0 2 1 íl6 1 0 0 4 C( 1 6 1 12 3 0 (4 + 2 3 (4 1 3 1 3 (4 www.1(2 + 111 (2 c) F 0 2 B (i6 + 1 0 2 1 (i6 d) 1230(4 + 23(4 Solución P14. C¡n = 1 y Si Sq = 11. si Cout = 1. y X < Y.me . A = Y.Realice las siguientes sum as sin pasar a la base decimal: a ) 1110 (2 + 1001 (2 b) 100. 1 + 1 1 1 1 0 1 1 . B = Y. Por tanto.Y si X > Y y con Y . esto es.Yl. la salida F proporciona directamente el módulo de la diferencia y si Cout = 0 habrá que realizar algunos pasos adicionales para obtener la salida deseada. en cuyo caso F = X . PROBLEM AS CON SOLUCIÓN RESUMIDA P ro b le m a 14. se obtiene conX . de la que se ilustran algunos casos: F 0 2 B (16 x 1 0 2 1(16 F02B 1E056 F02B F 2 1 A 5 8 B(16 2 x B = 16(16 2 x F = 1E( 16 d) Debe utilizarse la “tabla de multiplicar” en base 4..1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1. 1 c) Debe utilizarse la “tabla de multiplicar” en base 16.CIRCUITOS ARITMÉTICOS 163 Problem a 15.me .FreeLibros. a) 1 1 1 0 1 0 0 1 x 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 b) x 1 0 0 . Solución P15..4 2 ) .Multiplique los números del problema anterior sin p asar a la base decimal.( .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) + (-1 3 ) 2 ) ( + 4 2 ) .(-1 3 ) 3) (-4 2 ) + (-1 3 ) 4) ( .1 3 ) www. de la que se ilustran algunos casos 1 2 3 0 (4 + 23J 4 _ 1 1 0 10 3 12 0 1 0 2 2 1 0 (4 3 x 3 = 21(4 3 x 2 = 12(4 2 x 2 = 10(4 1 P ro b le m a 16. 13 se representa como 1101.13) d) (-2 2 .(+13.25 se representa en binario como 10110.Realice las siguientes operaciones utilizando 10 bits...164 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P16..13) Solución P17. 3 de ellos para la parte fraccionaria. Aunque en este problema no ocurre. en situaciones similares puede haber desbordamiento por lo que hay que verificar si V = 0 antes de validar el resultado: a) 0 1 0 1 0 1 0 + 0 0 0 1 1 01 0 1 1 0 1 1 1 b> 42 13 55 0 10 10 10 + 0 0 0 1 1 01 0 110 111 42 13 55 3) a) 1 -42 -13 1 0 1 0 1 0 1 1 1 1 0 0 1 0 b) + 1 0 0 0 1 1 1 > X 1 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 -42 -13 -55 _55 4) a) 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 10 -42 13 29 b) + 1 0 1 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 -42 13 29 Problema 17. usando la notación en complemento a 2.25 = 0010110. www.13 = 0001101.2 5 ) + (+13.13) c) (-2 2 . su representación será 22.FreeLibros.00100010.La cantidad 22.. Com pruebe e l resultado verificando los posibles errores.01.2 5 ) . 1) a) 1 0 1 0 1 0 1 0 1 1 1 0 0 1 0 42 -13 b> + 0 0 1 1 1 0 0 > 1 0011101 0 10 10 10 1 1 1 0 0 1 1 0 0 1 1 1 0 1 42 -13 29 29 2) En este caso y en el siguiente la magnitud del resultado es mayor que la magnitud de cada operando.25) .(+13. Puesto que sólo tenemos 7 bits para almacenar la parte entera y 3 para la parte fraccionaria de los números. a ) (+22.me .13) b) (+22.25) + (+13. La cantidad 13.001.010 y 13. 010)= 1101001. c) Determinaremos.25 + 1 1 1 0 0 1 0.125 El resultado que se lee tiene un error de 0.0 1 0 + 22.25 0 0 0 1 1 0 1 . M U X 4:1 en e l C.005.1 1 0 + 0 0 0 1 1 0 1 .1 1 1 13.CIRCUITOS ARITMÉTICOS 165 a) 0 0 1 0 1 1 0.375 P ro b le m a 18. exclusivamente.375 El resultado correcto sería 35.1 0 1 Se produce un error de 0. 9.005. Las entradas se disponen en raíl doble. Se ha producido un error de 0. -2 2 .110 1 1 0 1 0 0 1.B i) N exor(A ¡.g .Se dispone de circuitos lógicos ITE.13 35. Ca2(000íl01.B ¡) www. y realizan la siguiente función de conmutación IT E (f..1 1 1 1 0 1 1 1 00.0 0 1 9.FreeLibros.1 2 5 El resultado se obtiene con un error de 0.111 X 0 0 1 0 1 1 0.12.me . primero.0 0 -2 2 . b) Para realizar la resta sumaremos el Ca2 de 13.38.005 con respecto al resultado correcto.0 0 1 0 1 0 0 0 1 1.25 Ca2(0010110. d) / 1 1 0 1 0 0 1.1 1 1 -13.13 -9 . .0 1 0 22. S2 8 ] S0 F. según la organización indicada en la figura y utilizando.1 1 0 + 1 1 1 0 0 1 0. Realice la etapa típica de una unidad lógica que responde a la siguiente tabla. 0 0 h - 0 00 0 0 1 1 1 1 1 1 1 1 1 o oo 0 1 1 o 1 Ai A¡B¡ A¡+B¡ A .13.h )= fg + fh . A¡+B¡ E xo r(A ¡. el Ca2 de 22.C.B . Estos circuitos poseen tres entradas y una salida.2 5 -1 3 .1 3 -35.13 0 0 0 1 0 0 1 .2 5 1 1 1 1 0 1 1 0.001) = 1110010.0 1 1 13.005. La que presentamos consiste en hacer g = 1 y h = 0 en el ITE de salida.C..Fj Como se observa.me .Se pueden dar múltiples soluciones a este problema.2 3 10 s0 ir So---. cada columna de la función f corresponde a la operación lógica especificada en el enunciado. Para diseñar C.0 1 s0 So — 2 3 10.Utilizaremos un sumador de 4 bits. El circuito resultante. C uando s = 1.Diseñe un circuito aritmético con una variable de selección s y dos entradas de datos A y B de 4 bits. Solución P19.2 s0 — 3 1 0 1 1 1 — 0 so — 1 s 0 ---.FreeLibros. con lo que Fj = f es la única función que debe realizarse con el C. Asimismo conectaremos S al acarreo de entrada C¡n para generar F = A+l cuando s = 1. es: s0 -- 0 So---.1 So — 2 3 10 s0 II o— 0 s 0 ---. con multiplexores representamos F¡ en un mapa binario natural: s2 S| s 0 \ ^ 0 0 0 001 0 1 0 011 100 101 110 111 1 1 00 0 1 1 0 0 1 0 1 01 0 0 0 1 0 1 1 0 10 1 1 0 1 1 0 1 0 11 1 0 0 1 0 1 0 1 f . El circuito de la figura siguiente deja pasar a B si s = 0 y da un 0 si s = 1: www. s0 s2 S1 P ro b le m a 19.166 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P18..C. en el que una de las entradas será el número A y en la otra el número B para s = 0 y el número 0 para s = 1..1 So---. Cuando s = 0 el circuito realiza la operación de suma F= A+B. e l circuito realiza la operación de incremento F=A+1. utilizando multiplexores de cuatro canales. .$23 y Cout=0.n F = A + Cln Solución P20.$F0) = $F3.B) F = OR(A.$23 + $FF = $22 y C 0 U[=1. a) s2 s. F = A + $FF+ Cjn .$F0) = $D3 d) s2 sj s0 = 011. c) s2 Sj s0 = 010. F = OR($23.Para la A L U de 8 bits de la figura. respectivamente.CIRCUITOS ARITMÉTICOS B. e) s2 s j Sq = 100. F = NOT(A)=$DC. h) s2 sj sq = 111.$F0) = $20.B) F = NOT(A) F —A+B+Cin F = A+ B+Cin F = A+ $FF +C. F = A + B + Cjn = $23 + $0F = $32 y COU[=0.B) F = EXOR(A. g) s2 s j Sq = 110. F = A + B + Cjn = $23 + $F0 = $ 13 y CoUt= ^• f)s 2 Sj Sq = 101. F = EXOR($23. www. F = AND($23.FreeLibros. y el acarreo de entrada es 0. determine la salida F para todas las com­ binaciones posibles de s2 s 1 s0 si las entradas A y B contienen los números binarios $23 y $F0. s0 = 000. b) s2 S! s0 = 001.me . W-o s2 Sj s0 B 7-0 > Cout 000 00 1 0 10 0 11 100 10 1 1 10 111 Operación F = AND(A. F = A + Cjn . 167 Bn El circuito final será: >3-0 Problem a 2 0 . El valor de la salida O admite dos modelos: . para caracterizar al circuito es posible establecer un conjunto finito de estados internos (o sim­ plemente estados). MODELOS SECUENCIALES Y REPRESENTACIONES Las “situaciones” en las que puede estar un circuito secuencial no son ilimitadas.Capítulo 7 ANÁLISIS 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.De Mealy. X (t < tg)) Este tipo de función corresponde a las denominadas funciones secuenciales. en el que la salida depende tanto de la entrada como del estado presente.FreeLibros. en el que la salida depende sólo del estado presente. S¡). S 2 . La salida y la evolución del sistema quedan bien establecidas si se conoce el valor de las entradas (estado de entradas I j) y el estado presente (S j). cada uno de los cuales representa una de las “situaciones” del circuito. esto es: Z(tg) = Z((X (tg). la salida Z del sistema en un instante tg de­ pende no sólo del valor de las entradas X en tg sino de la evolución del sistema hasta tg. de la forma siguiente: 169 www. La evolución del sistema viene marcada por el cambio desde el estado presente Sj al próximo estado NS que en ambos modelos depende de la entrada y del estado presente: N S = N S ( Ij.De Moore. S¡). por el contrario. . ••• S ^. autómatas o máquinas de estados finitos.me . S ¡. La representación de una máquina secuencial suele hacerse mediante grafos o tablas de estados/salida. O = O(Sj). cumpliéndose que O = 0(lj. Entonces. En múltiples e interesantes casos. Su estudio para el caso de realizaciones con circuitos digitales es el propósito de este Capítulo. este cambio de estado puede ha­ cerse de forma asincrona o síncrona. los estados de entrada I corresponden a valores de las señales de entrada X. NS —» Q). A su vez. Para cambiar de valor alma­ cenado y así poder hacer el cambio al próximo estado. que implementa una variable de estado. análogamente. los de salida O a las señales de salida Z y. la cual es similar a las anteriores (de estados/salida) sin más que sustituir cada estado por el código binario asignado (S¡ —> q. donde q = q¡ . 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. Una vez elegido el tipo de biestable.FreeLibros. qn.. la máquina se describe por la deno­ minada tabla de excitación/salida. Cada biestable muestra en su salida el estado 0 ó 1 almacenado.) Moore CIRCUITOS SECUENCIALES La realización de máquinas secuenciales con circuitos digitales es lo que se conoce como cir­ cuitos secuenciales. llamado biestable porque tiene dos estados estables (el 0 y el 1 ). los biestables poseen unas entradas de excitación (normalmente llamadas SR.. Éste se representa mediante la denominada tabla de transición de estados/salida. En esta tabla. el esquema general de un cir­ cuito secuencial síncrono es: www. Así. los estados internos correspon­ den a valores “0” y “1” sobre un conjunto de variables llamadas de estado.. . Esto es. la tabla de excita­ ción tiene la forma: X Ql ••• Qn h T. en cuyo caso el cambio de estado es controlado por una señal de reloj (clk). En ellos. para biestables T. también. T¡) y de salida (Z) son funciones combinacionales de las entradas (X) y de las variables de estado presente (q). Si) ( NS Mealy S¡ NS. puede realizarse de múltiples formas. cada estado tiene asignado un código binario sobre las variables de estado del circuito.Tn T¡ junto con el estado presente q¡ producen el adecuado Q¡ Las funciones de excitación (por ej. 0 NS Mealy 0(S... D o T).me . por ej. La evolució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.170 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES "A Ij/Oííj. que corresponde al valor presente en la variable de estado implementada en ese biestable. JK. La más común es disponer de un circuito específico. . nivel H) ( Master-Slave . flanco subida) www. clk (Latch.me . Existen dos estruc­ turas: .ANÁLISIS DE CIRCUITOS SECUENCIALES 171 -> Z Circuito combinacional Banco de biestables Excitaciones de los biestables (porej.FreeLibros.Disparados por nivel (a veces llamados latches síncronos): en estos biestables uno de los dos niveles de la señal de reloj habilita los cambios de estado (según la tabla de estado del biestable). las formas síncronas de los biestables son: .S R X 0 0 0 1 11 1 0 X 0 0 0 1 11 1 0 S óJ q 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 RóKq c) c - Tabla de transición biestable S R _D qN 0 0 0 i 0 i i i Tabla de transición biestable J K XH N 0 0 i Tabla de transición biestable D 0 1 1 1 0 Tabla de transición biestable T Símbolo lógico DóT Símbolo lógico Desde el punto de vista temporal.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 señal de reloj. en el que las entradas sólo afectan en el entorno del flanco activo. flanco bajada) (Edge-triggered .Master-Slave en la que el biestable puede captar valores de entrada durante el ni­ vel previo al flanco activo. . Tj) clk BIESTABLES En esta breve introducción nos centraremos únicamente en los biestables más comunes. Desde el punto de vista lógico los cuatro biestables más usuales son: . mientras que durante el otro nivel no hay cambio de estados (Q = q).Edge-triggered.JK . .Análisis de circuitos secuenciales sin el esquema general.Diseño de un biestable a partir de otro. el proceso de análisis es: 1 -) se determinan las ecuaciones de ex­ citación y de salida por análisis de la parte combinacional del circuito global.-Obtenga los biestables J K y T a partir de un biestable D. a veces. . ANÁLISIS DE CIRCUITOS SECUENCIALES El problema del análisis de un circuito secuencial tiene como dato el circuito y. Si el circuito secuencial no obedece al esquema general. comenzaremos por presentar la tabla de transición del www. Si el circuito secuencial obedece al esquema general presentado previamente. Operan de forma similar a las se­ ñales S y R. la transición de estado que correspondería al biestable JK para idénticas condiciones de entrada y estado. en éste. se obtiene la tabla de transición sin más que tener en cuenta la tabla de estados de los biestables involu­ crados. un diagrama temporal de la evolución entrada-salida. El biestable debe tener las entradas asincronas desactivadas para poder operar sín­ cronamente. en otros casos. Para construir la solución. 32) a partir de ésta. a veces. PROBLEM AS RESUELTOS P ro b le m a 1. 42) se obtiene la tabla de estados/salida. en su caso. Solución P l.. 2 2) se represen­ tan esas funciones en forma de tabla (de excitación y de salida). hay que determinar la tabla o grafo de estados/salida. 52) se dibuja el grafo y se interpreta. el análisis se debe llevar a cabo mediante la obtención de cronogramas de las señales de estado y de salida.me .Análisis de circuitos secuenciales. Como objetivo. y ó2) se determina la secuencia entrada-salida. sin más que asociar un símbolo de estado a cada código de las variables de estado. . genere una entrada en el biestable D que provoque.172 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES La mayoría de los biestables síncronos incorporan una o dos señales de excitación asin­ cronas para la puesta a 1 (preset) o a 0 (clear ) del biestable. también una descripción verbal de la operación que realiza y. (síncrono con una sola señal de reloj).Este problema se reduce a obtener un circuito combinacional CC que.FreeLibros. para cualquier combinación de entradas JK y estado presente q.Análisis temporal de un biestable. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . la secuencia de valores de entrada. se llega al mapa que se muestra a continuación de donde se obtiene la ecuación lógica para la línea D y asimismo se muestra el circuito resultante: 0 1 1 0 q -> Q D 0 -> 1 1 1 -> o 0 i -> i 1 0 -> 0 0 La ecuación de entrada al biestable D es: Z) = \T 0 1 0 1 0 1 D T ■q + T ■q www. Expresándolo en el siguiente mapa de Kamaugh se tiene: J K 0 0 s 0 0 0 D De aquí obtenemos la expresión para D :D = se muestra en la figura: J ■q + K ■q. i K 00 01 11 10 0 0 1 1 1 0 0 1 q ->Q D 0 -» 1 1 1 -* o 0 i -> i 1 0 -> 0 0 Para cada transición del biestable JK se puede encontrar la excitación en el biestable D que la lleve a efecto. El circuito correspondiente Para el biestable T procedemos de idéntica manera.me .ANÁLISIS DE CIRCUITOS SECUENCIALES 173 biestable JK y la tabla de excitación del biestable D. A partir de la tabla de transición del biestable T y de la de excitación para el biestable D.FreeLibros. Diséñelo utilizando como único C? y elemento de memoria un biestable tipo T. Solución P3. c.174 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 2 . D. tal como s muestra en la siguiente figura: www. ■C0 + T • C. c 0 Iii I. cuyas entradas de selección son C] y C q. T o JK dependiendo del valor de C0 (ver tabla). Procediendo de forma similar a como se hizo en el problema 1. P ro b le m a 3. obtenemos las siguientes ecuaciones de entrada: 7 = S ■q + R ■q 7 = Jq +Kq T = D ® q Asociando cada ecuación con el caso correspondiente C j C q e identificando las entradas Ij e Iq con las del biestable en cada caso.-a) Encuentre la forma de onda de salida de un biestable R S Master-Slave para la siguiente secuencia de entrada: b) ¿Cóm o sería la onda de salida si se tratara de un R S disparado por flanco descendente (negativo)? c) Idem para flanco positivo.-S e pretende construir un circuito como el de la figura. • C0 Esta expresión. 0 0 0 1 1 1 0 1 II lo R s D T J K - - Solución P2. • q + /„ ■q ) ■C. nos permite realizar el circuito utilizando un multiplexor. .FreeLibros. a) El biestable M aster-Slave está formado internamente por dos latches SR. ®q ) ■C. -C0 + (/. se tiene: 7 = In q + I r q CjCq = 0 0 C 1 C 0 = 01 7 = ©q C j C q = 10 7= T C . ■C 0 ■+(/..me . el cual podrá actuar como RS.q) C.C 0 =11 7 = <7+ 4 • 9 Combinando estas expresiones en una sola: 7 = (Ir q + I .Este problema se reduce a obtener los distintos tipos de biestables a partir del T. ANÁLISIS DE CIRCUITOS SECUENCIALES Master s R - clk Rm 4m 175 Slave Ss qs Rs qs ÍL h El biestable amo {Master) es disparado por el nivel alto de la señal de reloj y recibe las entradas del conjunto Master-Slave. Sólo puede cambiar de estado cuando clk = 1 y lo hará dependiendo de sus entradas de excitación. El biestable esclavo (Slave) sólo lo hará si clk = 1 (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 a 0). Las salidas qs del esclavo son las salidas del conjunto Master-Slave. Para resolver este problema, vamos a representar las formas de onda de salida del biestable amo y del esclavo. Los dos biestables comienzan por un estado desconocido representado por la banda rayada en el gráfico anterior. Cuando clk = 1 el biestable amo puede cambiar de estado, y el cambio ocurre como consecuencia del cambio en la señal S, dado que este valor de entrada (Sm = 1) fuerza a que qm = 1. En el intervalo [tj^ ], clk = 0, con ello el biestable M aster mantiene su estado inalterable, y el Slave lee en sus excitaciones los valores 10 (SsRs = qmqm = 10) por lo que qs toma el valor lógico 1. En el intervalo [t2 ,t3 ], clk = 1. A principio del intervalo, SR = 00 por lo que el M aster mantiene el valor del estado en el que estaba, pero el cambio que ocurre en Rm provoca un cambio en qm que toma el valor 0. Durante [1 3 ,1 4 ] clk = 0, el amo mantiene su estado y el esclavo cambia a 0 ya que sus entradas SsRs = 01. Con este razonamiento se continúa deduciendo la evolución temporal del biestable M aster-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 señal 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 tomarán como valores válidos, los inmediatamente anteriores al flanco. En la siguiente figura se representan las formas de onda del biestable RS disparado por flanco negativo. www.FreeLibros.me 176 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES clk l0 S R lí- "7^- q Hasta el instante íq, el estado del biestable es desconocido. En ese instante, las entradas al biestable son SR = 10 por lo que, en el próximo ciclo de reloj, la salida del biestable se pone a 1. En el instante tj, las entradas son SR = 01, esto implica que, durante el siguiente ciclo de reloj, la salida es 0 . En el instante t2, las entradas son SR = 00 por lo que se mantiene el estado. Para el instante t3, las entradas son nuevamente SR = 00, por lo que se mantiene el estado. c) Para flanco positivo se opera de igual forma. clk 3 3 S __ n R q Podemos observar en el cronograma que se mantiene el estado desconocido inicial durante muchos ciclos, porque en los flancos ascendentes, que ocurren en los instantes tQ y tj, las entradas son SR = 00. En el instante t2 la entrada es SR = 01 por lo que se almacena un 0 en el biestable. La llegada del siguiente flanco, en t3, no altera el contenido del biestable ya que SR = 00. P ro b le m a 4.-P ara cada uno de los circuitos de la figura, justifique razonadam ente si es válido como biestable para realizar cualquier circuito secuencial. (a) (c) 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 0 y el 1 y permitir el cambio de uno a otro. Esto es equivalente a decir que estos elementos deben tener la posibilidad de realizar cualquier tipo de transición: 0 —> 0 , 1 —> 1 , 1 —> 0 , 0 -> 1 . El circuito de la figura (a) presenta el siguiente K-mapa, donde se puede observar que no existe la transición 0 —> 1 . www.FreeLibros.me ANÁLISIS DE CIRCUITOS SECUENCIALES ab \ 00 Q1 11 10 0 0 0 0 0 0 1 0 177 Q SI obtenemos el K-mapa para el circuito de la figura (b), podemos observar que no existe transición de 1 —> 0 : q\ b 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 Q El circuito de la figura (c), es el único que permite las cuatro transiciones posibles, por lo que puede ser utilizado, como elemento de memoria. Su k-mapa se muestra a continuación: ^ b 00 01 11 10 0 0 1 1 0 1 1 1 Q P ro b le m a 5.-AnaUce el circuito de la figura: Solución P5.- Cuando se analiza un circuito secuencial se tiene como objetivo determinar su operación. Los pasos del método de análisis son: a) Obtener las ecuaciones de excitación y de salida. Cada una de las entradas (excitaci nes) de los biestables así como las distintas salidas que posea el circuito se expresan mediante ecuaciones algebraicas cuyas variables son las de entrada al circuito y las variables de salida de cada uno de los biestables (variables de estado presente). En nuestro caso: www.FreeLibros.me 178 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES J¡ = Y ■q} £[2 K, = X (.X ' C¡2 “t-X T2 = Y- (X © < ?3) = X ' (^2 ' * ^ i) ^¡2 Z = X+^j+JÍ'^2 + X ' ^ 1 = X+ X ■Y ■q, + X ■Y ■q3 X Q\ 2 tf} b) Escribir la tabla de excitación/salida. Las ecuaciones antes obtenidas se expresan me­ diante un mapa de Kamaugh. En nuestro caso: \ XY .q X 00 01 11 10 000 0 0 ,0 , 1 , 1 0 0 ,0 , 1 , 1 0 1 ,1 , 1 , 1 0 1 ,0 , 1 , 1 001 1 0 ,1 ,1 , 1 1 1 ,0 , 1 , 1 0 1 ,0 , 1 , 1 0 0 ,0 , 1 , 1 011 0 0 ,0 , 1 , 0 1 0 ,1 ,1 , 0 1 1 ,0 ,0 , 1 0 1 ,0 ,0 , 1 010 0 0 ,0 , 1 , 1 0 0 ,0 , 1 , 1 0 1 , 1 ,0 , 1 0 1 ,0 ,0 , 1 110 0 0 ,0 , 1 , 1 0 0 ,0 , 1 , 1 0 1 ,1 , 1 , 1 0 1 ,0 , 1 , 1 111 0 0 ,0 , 1 , 0 1 0 ,1 ,1 , 0 1 1 ,0 , 1 , 1 0 1 ,0 , 1 , 1 101 0 0 ,0 , 1 , 1 1 0 ,1 , 1 , 1 1 1 ,0 , 1 , 1 0 1 ,0 , 1 , 1 100 0 0 ,0 , 1 , 1 0 0 ,0 , 1 , 1 0 1 , 1 ,1 , 1 0 1 ,0 , 1 , 1 JiK 1 .T2 ,D3, Z c) Determinar la tabla de transición/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 la celda XY = 00, qjq 2 q 3 = 000, se tiene Jj Kj =00. Apoyándonos en la tabla de estados del biestable JK, esas excitaciones dan lugar a un cierto próximo estado; así, para JK = 00 se da Q = q. Entonces, como en la celda considerada q¡ = 0, en la misma celda de la tabla de transi­ ción pondremos Qj = 0. Análogamente, en esa celda Q 2 = 0 (ya que T 2 = 0) y Q 3 = 1 (ya que D 3 = 1 y, por tanto, Q 3 = D 3 = 1). La tabla resultante es: XY q 1q2q3 x 00 000 001,1 001 011 01________________ 10 001,1 011,1 001,1 111,1 101,1 001,1 011,0 101,0 110,1 010,1 010 011,1 011,1 000,1 010,1 110 111,1 111,1 001,1 011,1 111 111,0 101,0 011,1 011,1 001,1 101 101,1 111,1 001,1 001,1 100 101,1 101,1 011,1 001,1 Q 1Q 2Q 3, z d) Obtener la tabla de estados/salida. Cada estado de la tabla de transición está dado por www.FreeLibros.me ANÁLISIS DE CIRCUITOS SECUENCIALES 179 las variables de cada uno de los biestables. Ahora, asignaremos a cada combinación binaria de esas variables un símbolo concreto que identifique a ese estado. En nuestro problema, llaman­ do 0, 1, 2, ..., 7 a los estados según la codificación q¡q 2 Q3 = 000, 001, 010, •••, 111, se obtiene la tabla de estados/salida que se muestra a continuación: \X Y Q X oo oí 1 1 ii io , 1 3, 1 1 , 1 1 7, 1 5, 1 1 , 1 2 3, 1 0 , 1 2 , 1 5,0 6 , 1 2 , 1 3 4 5, 1 3, 1 1 , 1 5 7, 1 1 , 1 1 , 1 6 7, 1 1 , 1 3, 1 7 5,0 3, 1 3, 1 NS,Z e) Presentar el diagrama de estados/salida. Ofrece la misma información que la tabla an­ terior, tan sólo que expresada en forma de grafo. En nuestro caso: 0 ,1 1, 1 3, 1 3,0 5, 1 5, 1 7, 1 7,0 www.FreeLibros.me 180 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES f) Expresar verbalmente el funcionamiento. Esto sólo tiene sentido en casos muy espe ciales. En nuestro problema no es aplicable. P ro b le m a 6 .-Un circuito secuencial síncrono se ha obtenido de acuerdo con el esquema de la figura. ¿ Correspondería este circuito a la estructura general de los circuitos secuenciales síncronos?. Analícelo hasta obtener su tabla de estados. (La R O M ha sido programada de acuerdo con la tabla adjunta, donde $ representa posición y [$] su contenido). >Z $ 0 1 2 3 4 5 6 7 [$] A B 6 8 6 C 7 6 $ 8 9 A B C D E F [$] 4 7 D 1 8 4 A 9 Solución P 6 .- Sí, corresponde a una estructura de circuito secuencial síncrono (con 8 o me­ nos estados) ya que la ROM es un módulo lógico universal. Así, Z puede ser cualquier función de la entrada y del estado presente, y D 3 , D 2 y Dj pueden ser cualquier función de excitación de las mismas variables. Analizamos el circuito identificando la variable asociada a cada línea de entrada y salida de la ROM. Así, tenemos: A 3A 2A 1 = 939291’ A0 = D 3D 2D 1 = d 3d 2d l ) / Z = D0 y podemos reescribir la tabla de contenido de la ROM: 93929 iX A 3A 2A 1A0 0000 000 1 0 0 10 0 0 11 0 100 0 10 1 0 110 0 111 D3D2DID0 d ^ d id g 1 0 10 1 0 11 0 110 1000 0 110 1100 0 111 0 110 93929 iX A 3A 2A l A0 1000 100 1 1 0 10 1 0 11 1 100 110 1 1110 1111 D3D2D1D0 d3d2did0 0 100 0 111 110 1 000 1 10 0 0 0 100 10 10 100 1 A continuación escribimos la tabla de excitación y salida del circuito que coincide con la de transición, ya que estamos utilizando biestables tipo D para los cuales se cumple Q¡ = Dj: www.FreeLibros.me ANÁLISIS DE CIRCUITOS SECUENCIALES 181 X 000 1 0 1 ,0 101 , 1 001 0 1 1 ,0 1 0 0 ,0 010 0 1 1 ,0 110,0 011 011 , 1 0 1 1 ,0 100 0 1 0 ,0 011 , 1 101 110, 1 000 , 1 110 1 0 0 ,0 0 1 0 ,0 111 1 0 1 ,0 100 , 1 d 3 d 2 d 1,z = q 3 q 2 q 1>z Pasamos a la tabla de estados y salida llamando 0, 1, 2, 3, 4, 5, 6 y 7 a los estados cuya codificación es cj3 q 2 cll = 000,001,010,011,...,111. El resultado es el siguiente: 0 1 2 3 4 5 5,0 3,0 3,0 3, 1 5, 1 4,0 6 ,0 3,0 3, 1 0, 1 2 ,0 ,1 4,0 5,0 6 2,0 NS, Z 4, 1 P ro b le m a 7.-Analice el circuito de la figura. Encuentre la forma de onda de la salida para la secuencia de entradas dada. cik _ j — L _ r “ T _ r - L _ r - L J Y _ | i_ n |______________ TI www.FreeLibros.me n i \ ri- = X + Y J2 = X K2 = Y b) Tabla de excitación y salida: \ XY QiQ? 00 01 11 10 00 0.0 1. 1 d. encontremos la secuencia de estados. 1 0 . Z Obtención de la forma de onda para la señal de salida: Utilizando la tabla de estados anterior. 0 d. en nuestro caso.182 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P7. Esta tabla puede ser reducida en un estado. ya que b es equivalente a c: X a b c d XY 01 11 a. 0 c) Tabla de transición y salida: vJK 0 1 00 01 0 0 1 0 Q 11 1 0 10 1 1 \D q \ 0 0 0 1 0 1 1 1 \ XY Qi Ce X 00 01 11 10 00 0 0.11. 1 1. c = 11 y d = 10 obtenemos la siguiente tabla de estados y salida. j 2 k 2. 0 d.' Como inicialmente no conocemos el estado presente. 1 d.1 1. Este es el estado del circuito durante el próximo ciclo de reloj. hemos dejado como interrogante cuál es ese estado (otra solu­ ción podría ser suponer un estado inicial cualquiera). 1 d.q 1 01 1. 1 c.0 10 1 1.0 01 1 0. 1 d. 1 a. 1 0.1 0 . La solución. b = 01. el negativo) se considera cuál es el estado pre­ sente y las entradas existentes justo antes del flanco. 1 1. 1 0. 1 1.0 1.0 1Q 2. z d) Llamando a = 00. la mostramos en la siguiente figura. 0 c. 1 c.1 11. 0 c. 0 d.1 1 1. 1 1. 1 1. 1 b. 0 1 .Análisis del circuito: a) Ecuaciones de excitación y salida: D.0 Q 11 11. 0 0. 1 b. para ese par de valore^. 1 0 1. 1 1 0. 0 1.0 1. 0 c. 0 d. 0 NS. 0 0. 1 c. 0 d 1 .0 11 1. Para ello. 1 1 . 0 0. 1 1.0 11. 0 NS. 1 0. 1 1 0.1 0 . 1 c. 0 X XY s \ a c d 00 01 11 10 a.FreeLibros. 1 1.me . 0 c. 1 1 1. en cada flanco de reloj activo (en nuestro caso. 1 d. 0 0. Z 00 10 c. 0 0. 1 a. www. 1 1 0. 1 c. 1 1 0. 1 d.. 1 1. 0 c. 1 1. 0 Z = q 2 + Y.0 0 1. 1 c. 1 0 0.1 1 0. se observa en la tabla cuál es el próximo estado.z 10 1. Para determinarla. la salida pue­ de cambiar. como cuando cambien cualquiera de las entradas X e Y. www. tanto cuando cambie el estado (flanco negativo de clk). q 2 y q3.me .0).. n clk X Y S _n z P ro b le m a 8.Para conocer la forma de onda de la señal de salida Z obtenemos previamente la forma de las señales q¡. Cada una de las transiciones de las señales tiene asociada un número en la figura y a con­ tinuación se expone la explicación relativa a cada número. S) y mirar en la tabla de salida cuál es el valor de ésta.q2. Como es un circuito de Mealy. Supongamos que el sistema parte del estado (q 1. basta conocer el estado presente total (XY.-P ara el circuito de la figura. dibuje la forma de onda de la salida para las secuen­ cias que se muestran.ANÁLISIS DE CIRCUITOS SECUENCIALES 183 Una vez conocida la secuencia de estados por los que pasa la máquina dibujemos la for­ ma de onda de la salida.q 3 ¡) = (0.0.FreeLibros. Solución P 8 . y C están todas inicialmente a cero. (2 ^ ) Como Y = 0.© Dado que JjK] = 11 e Y = 1. se cumple Qj = q¡ en el flanco negativo de clkl.me “ L T Start . Z se obtiene como resultado de evaluar en el tiempo la ecuación: Z = Y q¡ q 2 q 3 P ro b le m a 9.-E n el circuito de la figura. a) Determine la secuencia que hará que Y pase a uno (1). las entradas A.© Y-© Y. A B Ji > c lk Ki C L x J2 y )>clk k2 CL www. (^4 ) Dado que Y = 1 y D 2 = X y D 3 = X. La salida Y también está inicialmente a cero (0) y pasa a uno (1) después de una cierta secuencia en el cambio de A.FreeLibros. B. b) Explique por qué se necesita e l pulso de Start. B y C a uno (1).184 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES clkl clk2 Y X -éC© 9i 92 93 Z CO CO -é' Y-© 4C <-© ^ -© Y -© A -© <E© <-© < -© © <-(D Y. tenemos que Qj = 0 y Qj = 1 (independientemente del reloj clkl). según sea el valor de X se cumplirá que Q 2 ó Q 3 = 1 en el flanco negativo de clk 2 . Como Y = 0. tenemos que Q 2 = Q 3 = 1 (independientemente del reloj clk2). ( 5 ) Dado que Y = 1 y D 2 = X y D 3 = X. según sea el valor de X se cumplirá que Q 2 ó Q 3 = 0 en el flanco negativo de clk 2 . Obtenemos en primer lugar las ecuaciones de excitación: D i = fll© <U D 2 = qi D3 =cl2 D 4 = q3 www.Analice e l circuito de la figura donde los biestables son disparados por flanco y obtenga la secuencia que genera partiendo del estado inicial q iq 2 Q3 Q4 = 1000. De aquí que sea necesario ponerlo a 0 asincronamente (Start) cada vez que se desee que la entrada “Y” tenga un flanco de subida..Como K 2 = 0. Utilizando las señales asincronas de los biestables (no mostradas en la figura). 2. Usando puertas lógicas.. Este circuito posee bloqueo. B (re­ loj del biestable X) también debe subir a 1.FreeLibros. la secuencia de cambios a seguir por las señales A. B y C es: B Cuando Y = 1. después. como J 2 K 2 = 00 ó 10. Si inicialmente Y = 0 y se desea que pase a 1 necesitamos: Ia) que J 2 = X sea 1 2a) que el reloj del biestable X: C. o J 2 K 2 = 10. Por tanto.me . Para cumplir la condición primera. suba a 1 (tenga un flanco de subida). Qué ocurriría en el caso de que los biestables fuesen disparados por nivel? ¿ Solución PIO. A debe subir a 1 y. en cuyo caso el biestable no cambia de estado.ANÁLISIS DE CIRCUITOS SECUENCIALES 185 Solución P9. modifique el circuito (añadiendo lo necesario) de forma que se evite el bloqueo: 1. de forma análoga.Analizamos el circuito aplicando el método habitual de análisis de circuitos secuenciales síncronos. las entradas del biestable Y sólo pueden ser J 2 K2 = 00. Sin utilizar las señales asincronas de los biestables. no puede cambiarse el estado del biestable “Y” mediante las entradas síncronas.. Problema 10. en cuyo caso Y = 1. De esta forma obligamos a que el sistema cambie de estado asincronamente. llamando cada estado por la representación decimal de la palabra binaria q¡ q 2 q 3 q4 se obtiene el grafo de estados que se muestra: Existe bloqueo en el funcionamiento del circuito.me . y realizar alguna acción que lo fuerce a salir de él. Planteamos dos soluciones distintas: 1) Solución asincrona: Activar la señal de preset PR de cualquiera de los biestables. Para eliminar el bloqueo basta detectar cuándo el sistema se encuentra en dicho estado. tenemos la siguiente tabla de estados para el circuito: 91^2 00 01 00 0000 0010 1110 01 1000 1010 0110 0100 11 1001 1011 0111 0101 10 0001 0011 1111 1101 10 1100 Q 1Q 2Q 3Q 4 De la tabla anterior. ya que si el circuito entrase en el es­ tado 0 nunca saldría de él.186 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Dado que en biestables tipo D se cumple D¡ = Q¡. Para detectar que nos encontramos en el estado (^definimos una señal Z como: z = <?i ■q 2 ■q¡ ■<i4 De esta forma las soluciones asincrona y síncrona aplicadas al biestable 1 son respecti­ vamente: Solución síncrona www.FreeLibros. 2) Solución síncrona: Se trataría de introducir un 1 por la entrada de alguno de los biestables forzando igual­ mente el cambio de estado. . Cuando clk = 0 se mantendría estable el último estado almacenado y cuando clk = 1 iría modificándose el estado de acuerdo con el grafo de estados. por el nivel alto del reloj). No obstante. etc . el comportamiento del circuito con latches sería equivalente al del circuito con flip-flops. b) Indicarla secuencia de salida que se obtiene si inicialmente los tres biestables tienen salida cero.Para el circuito de la figura se pide: a) Analizarlo. varía con la temperatura.. la secuencia de estados no podría ser determinada. sí se puede controlar la anchura del pulso clk =1 y hacerla suficientemente grande como para que haya un cambio de estado y suficientemente pequeña como para que no haya dos.ANÁLISIS DE CIRCUITOS SECUENCIALES 187 Analicemos qué sucede si los biestables son disparados por nivel (por ejemplo. si clk = 1 durante 4 veces el tiempo de propagación de los biestables tendríamos que en cada pulso habría 4 cambios de estados: c lk S 13 6 3 ________________________ 4 4 4 2 9 1 8 ____ 12 12 Como el tiempo de propagación es difícilmente controlable (cambia de un biestable a otro. c) Indicar cómo pueden sustituirse los biestables D y JK por biestables P M sin tener que rediseñar el circuito. Esto se haría al ritmo fijado por los tiempos de propagación de los biestables y puertas. p M 00 0 1 10 11 Q(t+l) Q(t) i 0 Q(t) www.me . P ro b le m a 11. Así. Así..FreeLibros.). por ejemplo. P iM .188 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P ll. .. . . 0 111. a partir de las tablas de transición de cada uno de los distintos biestables: \J K q \ \P M 00 01 11 10 00 01 11 10 q x 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 A continuación la tabla de transición y salida: 00 01 11 10 001 . 3.0 .me . 0 011 . 1. donde hemos llamado a los estados 0. .010.111 s NS z 0 1 0 1 3 0 2 5 1 3 7 1 4 2 0 5 0 0 6 2 0 7 0 0 www. . . ..011.0 41 0 01 0 01 11 0 01 1 0 1 1 11 0 1 1 11 0 1 01 1 01 11 1 01 1 01 0 10 01 0 10 0 J3K 3.FreeLibros.. a) Ecuaciones de excitación: Pl = q3 M] = q] + q3 D2 = q i © q 3 z . 2. . 1 010 . 0 Q 3Q 2 Q 1 ’ z Y como último paso del análisis la tabla de estados y salida.0 . . ..001. 1 000 . 5. 0 101. 0 010 . .q i’tb De las ecuaciones de excitación pasamos a la tabla de excitación y salida: ^X 3q2 11 01 00 .. 0 000 .D 2.. 4. 6 y 7 según la codificación de las variables de estado que se muestra: q3q2q! = 000.. Z Pasamos a la tabla de excitación. .0 . . 10 .. FreeLibros.ANÁLISIS DE CIRCUITOS SECUENCIALES 189 b) Inicialmente q 3 q 2 qi = 000 (S = 0) S: 0 — > 1 — > 3 — > 7 — > 0 ' O Z.1 PM Una solución es: _q P = T~q q M = K q www.1 01 -0 6 1 0 11 0 1 1 0 1- 10 0 1 O-ó. 0 00 0 1 1 01 0 0 11 1 0 10 1 1 \ JK 00 0 *061- q N 1 0 -ó .1 -0 6 110 PM X V 0 1 0 i I O 0 0 1 i PM ~0 ó 1 0 1 10 Una solución es: P = D M = D .Respecto al biestable JK: A partir de la tabla de excitación 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 «X .O 1 O 1 o 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 excitación del biestable D y la del PM se obtiene la tabla para PM en función de D y q.me . Las tres tablas se muestran en la figura: 0 1 q -> Q i i i 0 0 0 0 1 0 -ó . Problema 15.me . Problema 14. encuentre la forma de onda de salida para el caso de un biestable J K disparado por flanco negativo.Obtenga los biestables D y T a partir del biestable JK... Problema 13. www.190 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES PROBLEM AS CON SOLUCIÓN RESUMIDA Problema 12... Repítalo para el caso de s er disparado por flanco positivo.Para las secuencias de entrada de la figura. Solución P14. Solución P12.Obtenga los biestables JK y D a partir del biestable T. Solución P13.Obtenga los biestables JK. T y D a partir del biestable RS.FreeLibros. Analice el circuito secuencial síncrono de la siguiente figura: $ ( A j A q) [$] 0 1 2 F 3 B 0 2 Solución P16.Si denominamos a los distintos estados por los que pasa la máquina como se muestra a continuación.me .. clk J JL K q P ro b le m a 16. www. clk Biestable disparado por el flanco negativo de clk.Biestable disparado por el flanco positivo de clk...ANALISIS DE CIRCUITOS SECUENCIALES 191 Solución P15. podemos dar la tabla de estados correspondiente a este circuito se­ cuencial síncrono.FreeLibros. . q 2 q 3 = 0 1 0 qj q 2 q 3 = 0 1 1 q.192 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES qi q 2 q 3 = 0 0 0 qi q 2 q 3 = 0 0 1 q. q 0 = q.0 6 6 . q 0 = 1 0 1 1 S=0 S= 1 S=2 S=3 \X S 1 0 0 i 2 3 L1 3. Z P ro b le m a 17. q 2 q 3 = 1 1 1 S=0 S= 1 \ X s S.0 7.0 2 2 .0 0.0 NS.me .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.0 0 .2 S=3 S=4 S=5 S=6 S=7 \ 0 7. clk X Solución P17. Parta del estado inicial Qi do = 00.0 4. Z www.0 5. q 2 q 3 = 1 0 0 q.0 2. q. 1 1. q 2 q 3 = 1 0 1 41 4 2 4 3 = 1 1 0 q.0 7. q 0 = 0 0 qi q 0 = 0 1 q.0 3.0 3 4 5 5.0 0. 1 6.0 NS. 1 4.0 2. 1 5. 1 1 0 .-Nombraremos a los estados del circuito de la forma mostrada a continuación.0 L1 3.0 7 1.FreeLibros. La codificación que se ha usado para cada uno de los estados es: qi q 2 q 3 = 0 0 0 S = A qi q 2 q 3 = 0 0 1 S = B Ql Q 2 = o 1 1 S = C S= D qiq2q3 = ° 1 o S= E qi q 2 q3 = 1 1 0 S = F qi q 2 q 3 = 1 1 1 S qi q 2 q 3 = 1 0 1 = G qi q 2 q 3 = 1 0 0 S = H Para dar la secuencia de salida partiremos del estado inicial A (qiq 2 q 3 = 000) y aplica­ remos la secuencia de entrada.ANÁLISIS DE CIRCUITOS SECUENCIALES 193 El valor de X se toma en el flanco negativo de clk. La secuencia de salida es la mostrada a continuación: X S O I 1 1 3 0 1 3 0 P ro b le m a 18. indique la secuencia de salida para la siguiente secuencia de entrada: x: 1 1 1 0 0 0 (cada bit corresponde a un ciclo de reloj) Solución P18.me .. www.Analice e l circuito de la figura.FreeLibros.. El estado inicial consideramos que es el 0 (qjqo = 00). Si inicialmente los biestables están a 0.Tras el análisis del circuito obtenemos el diagrama de estados al que responde la máquina secuencial. Justifique las transiciones producidas en la salida .194 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES clk S A C H E A D G P ro b le m a 19...Para el circuito y secuencia de entrada de la figura.FreeLibros.¿Q ué ocurriría si los biestables son disparados p o r e l nivel alto del reloj? www. E l estado inicial es desconocido. clk X ru i r mii r P ro b le m a 2 0 . Los biestables son disparados por flanco.me . determine la forma de onda de salida. Y clk U n u n ir u Solución P19.Analice e l circuito de la figura y muestre la secuencia de salida para la secuen­ cia de entrada dada. Tras el análisis del circuito secuencial síncrono se obtiene la siguiente tabla de estados como resultado. Z Aplicando la secuencia de entrada que propone el problema se obtiene la siguiente sali­ da. El circuito funcionaría respondiendo a la tabla de estados dada en la solución si se diseña el reloj clk con una anchura de pulso suficientemente grande para que el biestable cambie una vez por ciclo del reloj. 1 1. 1 2. y suficientemente estrecha para que no cam­ bie más de una vez. La codificación de los estados de la máquina secuencial es: qi q 2 = 0 q.me . 1 3. q 2 = 1 0 1 0 1 S =0 S= 1 S= 2 S=3 vX 0 1 2 3 0 0. 0 3.0 0. z www.0 NS. q 2 = 0 qi q 2 = 1 q. Suponemos que inicialmente la máquina se encuentra en el estado 0.. clk i X s 00 0 2 1 2 3 1 0 0 2 3 3 1 2 3 1 0 0 0 0 0 0 0 J1 U L T L J' Si los biestables fuesen disparados por nivel se podrían dar múltiples cambios de estado durante el nivel activo del reloj.1 1 2.FreeLibros.ANÁLISIS DE CIRCUITOS SECUENCIALES 195 clk x__n_r Solución P20.0 1. mediante la tabla o el diagrama de estados. Elección de biestables Tabla de excitación/salida _________________ ^ Síntesis de funciones combinacionales Ecuaciones de excitación y de salida Circuito 197 www. Este Capítulo esta dedicado al proceso inverso. Más concretamente. Este conjunto de pasos es el que se muestra en la figura: Descripción verbal + _____ Descripción formal: Tabla o Diagrama de estados/salida . r Reducción de estados Tabla mínima de estados/salida ^ Asignación de estados Tabla de transición/salida .FreeLibros.me . dada una función secuencial hay que obtener un circuito que la implemente. al menos.. esto es. en este Capítulo se va a tratar el proceso de diseño de circuitos secuenciales síncronos. A este proceso es lo que se le llama el diseño de circuitos secuenciales. PASOS DEL PROCESO DE DISEÑO Existe un procedimiento formado por un conjunto de pasos que permite realizar este proceso de una forma lo más sistemática posible.Capítulo 8 DISEÑO DE CIRCUITOS SECUENCIALES El análisis de circuitos secuenciales básicamente consiste en lo siguiente: dado un circuito hay que describir su comportamiento verbalmente o. por tanto.. A partir de la tabla de excitación/salida se obtienen las ecuaciones de excitación (i. De la tabla de transición hay que pasar a la tabla de excitación del circuito. en este Capítulo se va a utilizar el me­ nor número posible de variables de estados. Este método da lugar a asignaciones de buen coste pero no necesariamente el óptimo. La asignación determina cómo va a ser la tabla de excitación y de salida y. . Esta es una nueva tabla de estados equivalente con la obtenida en el paso anterior (i. Por este motivo es el paso más difícil de realizar y de lo bien que se haga depende en gran medida el buen desarrollo del resto del proceso de diseño. el de Mealy o el de Moore. Para tablas con mayor número de estados se aplicará el método basado en las reglas de adyacencia. En el caso de tablas de estado de 3 ó 4 estados se aplicará el método exhaustivo que consiste en obtener el circuito para las tres únicas asignaciones que dan lugar a circuitos con coste distinto y elegir la de menor coste. Se de­ sarrolla con detalle en el problema 1 1 . La descripción formal consiste en la tabla o el diagrama de estados siguiendo alguno de los dos modelos de máquina secuencial. a partir de las ecuaciones se obtiene el circuito. Como criterio básico. El primer paso consiste en generar una descripción formal del comportamiento a par­ tir del enunciado de la función secuencial. para hacer la asignación concreta en los problemas correspondientes se van a utilizar dos métodos diferentes. ecuaciones de entrada de los biestables) y de salida mediante métodos de síntesis de funciones combinacionales. 3. . De la tabla mínima de estados hay que pasar a la tabla de transición/salida. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: .e. Por otra parte. lo que significa diseñar circuitos con el menor nú­ mero de biestables posibles. dan lugar al mismo com­ portamiento de entrada-salida) con el menor número de estados posible. . Este código binario debe ser al­ macenado por el circuito y para ello se utilizan un conjunto de biestables. 5. de for­ ma que no existe un único método que sea válido para cualquier enunciado de función secuen­ cial. Por último.Asignación de estados. El segundo paso consiste en obtener la tabla de estados mínima. tantos como bits ten­ ga el código. 4..FreeLibros. 1. Esta asociación de un código binario a cada estado es lo que se llama la asigna­ ción de estados. 2.198 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES A continuación se describe en qué consiste cada uno de estos de pasos.e. 6 . ya considerados en el Capítulo 4. Este método se presenta en el problema 6 .Proceso de diseño completo. Este paso exige que previamente se haga la elec­ ción del tipo de biestables que se van a usar en el circuito. Es un paso no sistemático. Este paso se llama de reducción de estados y existe un método sistemático que permite realizar dicha reducción en tablas de estados completamente especificadas. www. La forma de obtenerla depende en gran medida de la función secuencial.Construcción de diagramas/tablas de estados. afecta al coste del circuito. En esta nueva tabla se representan los estados por un código binario.me .Reducción de tablas de estado. En ella se representa cuál es el valor de cada una de las entradas de los diferentes biestables para conse­ guir las transiciones de la tabla de transición. me ..Si X = 1: se pasa al estado D. X e Y. D es el estado que representa la llegada de 2 unos consecutivos. que llamamos B. La salida es 0. La salida es 0.FreeLibros.Si X = 0: se pasa al estado A. las entradas hayan sido 1 1. dando una salida Z = 1 coincidiendo con la aparición del tercer bit. .Cuando XY = 11. . la detección de 2 o más unos conduce al estado D. P ro b le m a 2 .. análogamente.X Estados\ A B C D 1 0 A. Solución P l. 0 1 . por ejemplo.0 D. Z = 0. . . Z = 0.0 Tabla de estados Obsérvese que el estado A realmente es el estado que resulta tras detectar 2 o más ceros.Si X = 0: se pasa a un nuevo estado. En A: .0 A. C. B es un estado que representa el comienzo de una secuencia de l ’s. La salida es 0. La salida es 0. Por otra parte. 0 1. La salida es 0.-Obtenga el diagrama de estados de un circuito con dos entradas.Con cualquier otro valor en XY se permanece en el estado A.Siguiendo el modelo de Mealy: Partimos del estado que corresponde a que no ha llegado ningún valor de la secuencia de entrada que hay que detectar: estado A. que dé salida Z = 1 cuando en los cuatro últimos ciclos de reloj. el diagrama y la tabla de estados quedan como se observa: 0/0 Diagrama de estados . se pasa a un estado nuevo: B. . www. La salida es 1. De esta forma.0 C.1 C.Para construir la tabla de estados vamos a partir de un estado conocido como.1 B. C es el estado que representa el comienzo de una secuencia de 0's. que detecte la llegada de tres ceros o tres unos consecutivos. En B: . En C: . Solución P2. D. EnD : .Si X = 1: se pasa a un nuevo estado. 11. aquél que representa la llegada de 2 ceros consecutivos (llamémosle estado A). La salida es 0.DISEÑO DE CIRCUITOS SECUENCIALES 199 PROBLEM AS RESUELTOS P ro b le m a 1.Si X = 0: el próximo estado es A y la salida vale 1.-Construya la tabla de estados para una máquina de M ealy con una entrada X y una salida Z. En A: .Si X = 1: se pasa a un nuevo estado.0 B.Si X = 1: se pasa al estado B.Si X = 0: se pasa al estado C.0 D. me .Con cualquier otro valor se pasa al estado A.Cuando XY = 11. Z = 0.Cuando XY = 11. . .Con cualquier otro valor se pasa al estado A. Z = 0. . se permanece en B.Con cualquier otro valor en XY. D es el estado que guarda la información de que se ha detectado el 01 tras el 11 y 01. En D: . En A. la salida vale 0 (Z = 0): .Con cualquier otro valor se pasa al estado A.Cuando XY = 01. Z = 0. se pasa a otro estado: D. .Cuando XY = 11. . C es el estado que guarda la información de que ha sido detectado el segundo valor de la secuencia (XY = 01) tras el 11. . .Con cualquier otro valor se pasa al estado A. . Z = 0: . se pasa al estado B. En C. Z = 0. En C: . se pasa a otro estado: D. se pasa a un estado nuevo: B. . www. El diagrama de estados queda de la siguiente manera: Siguiendo el modelo de Moore: Partimos del estado que corresponde a que no ha llegado ningún valor de la secuencia a detectar: estado A.Cuando XY = 11. se pasa a un nuevo estado E.Cuando XY = 11. se pasa a un estado nuevo: C.Cuando XY = 01. En B: . Se pasa a B. B es el estado que guarda la información de que ha sido detectado elvalor (XY =11). En B. Z = 0: . Z = 0.Cuando XY = 11.Cuando XY = 11. se permanece en el estado A. C es el estado que guarda la información de que ha sido detectado el 01 tras el 11. .Cuando XY = 01.FreeLibros. Z = 1. se permanece en B. Z = 0. Z = 0. se completa la secuencia. D es 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. se pasa a un estado nuevo: C. En D. Z = 0: .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).Cuando XY = 01.Con cualquier otro valor se pasa al estado A. .Con cualquier otro valor se pasa al estado A. se pasa al estado B. en cuyo caso e l canto toma el estado opuesto. cada sonido está presente o ausente. pues la experiencia m e ha demostrado que su comportamiento obedece ciertas leyes. se pasa al estado B.Valores (o estados) de entrada Son las acciones que realiza “nuestro viejo amigo”. El diagrama de estados queda de la siguiente manera: 11 P ro b le m a 3 .-H a recibido de un viejo amigo la siguiente carta: “Querido amigo: A l poco tiempo de com prar esta vieja mansión tuve la desagradable sorpresa de com­ probar que está hechizada con dos sonidos de ultratumba que Ia hacen prácticamente inha­ bitable: un canto picaresco y una risa sardónica. se pasa al estado A.Los sucesos de la vieja mansión obedecen a una máquina secuencial. Solución P3. Aún conservo sin embargo cierta esperanza.Cuando XY = 11. estoy oyendo a la vez la risa y el canto. si no quemo incienso se oirá o no según el canto esté presente o ausente (de modo que la risa imita el canto con un minuto de retardo). En cuanto a la risa. Z = 1. si quemo incienso la risa hará justam ente lo contrario de lo que hacía el canto.Cuando XY = 00 ó 10.. . Lo que cada uno de ellos hará en e l minuto siguiente depende de lo que pasa en e l minuto actual. Ahora bien. oscuras pero infalibles. . Por tanto.DISEÑO DE CIRCUITOS SECUENCIALES 201 E es el estado que guarda la información de que se ha detectado la secuencia completa. de la siguiente manera: E l canto conservará el mismo estado (presente o ausente) salvo si durante el minuto actual no se oye risa y toco el órgano. Tras E: . Existen 4 posibles estados de entrada: www. En cada minuto.me .FreeLibros. E n e l m omento en que te escribo. se pasa al estado C. ” Conteste la carta.Cuando XY = 01. Te quedaré m uy agradecido si m e dices qué manipulaciones de órgano e incienso debo seguir para res­ tablecer definitivamente la calma. de la si­ guiente forma: . y que puede modifi­ carse tocando el órgano o quemando incienso. . (valores de entrada Ij ó I¡0). ^ ó Ijt).202 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES In: Ni toca el órgano ni quema incienso.0 NO NO SI NO NO SI SI SI SI SI NO SI SI NO NO NO NO NO NO NO NO SI SI SI SI SI SI NO NO SI SI NO CR La respuesta a la carta debe decir lo siguiente: 1er minuto: Se oye risa y canto por lo que debe quemar incienso. y se toca el órgano. r) el valor presente y con mayús­ culas (C. Iio: Quema incienso y toca el órgano simultáneamente. . I0: Toca el órgano (pero sin quemar incienso). Sr —> Or. . En principio. 2o minuto: Se oye canto pero no risa. En cualquier otro caso.FreeLibros. Scr —> Ocr). denomi­ naremos "c" (canto) y "r" (risa). Oc: Se oye el canto picaresco (pero no la risa). la risa hace lo opuesto al canto con un minuto de retraso: R = c De esta forma la tabla de estados queda como sigue: c Sn Sc sr Ser r\ NO NO SI NO NO SI SI SI In lo Ii 1. OPERACIÓN: Representaremos con minúsculas (c. i) Canto: Si no se oye la risa. cada minuto). por conveniencia. asociamos 4 estados. Si se quema incienso. NO) de dos variables de estados que. uno por cada una de las salidas (Sn —-> On. cambia de estado: C = c. cambia con el es­ tado por lo que es una máquina de Moore. con un minuto de retraso: R = c. I¡: Quema incienso (pero sin tocar el órgano). Ocr: Se oye la risa y el canto. R) el valor próximo.Estados de la Máquina Como la salida cambia con "la señal de reloj" (esto es. 3er minuto: No se oye nada por lo que no debe hacer nada. Or: Se oye la risa sardónica (pero no el canto).me . Sc —> Oc. por lo que debe quemar incienso y tocar el órgano. Estos estados están de­ terminados por el valor (SÍ. pues. r = NO. C.Valores (o estados) de salida Son las posibles situaciones de sonido en la casa: On: No se oye nada (¡situación de tranquilidad!). www. el canto no cambia de valor: C = c. ii) Risa: Si no se quema incienso (valores de entrada In ó I0) sigue al canto. Se ha convenido que la información sea correcta siempre que no haya dos o más unos consecutivos o cuatro o más ceros consecutivos. Si X=0 sería el cuarto 0 consecutivo con lo que hay error (Z=l) y el próximo estado es el propio estado D. www. Si X=0. no hayerror (sería el 3 cero) y el próximo estado es D. no hayerror (sólo dos 0's consecutivos) y el próximo estado es C.El funcionamiento del circuito es el siguiente: si y sólo si (XjX2)¡m > (X]X 2 )]sj-i entonces. El estado C corresponde a haber recibido dos ceros consecutivos. no hay error y el próximo estado es A. Solución P4.1. En cualquier otro caso. 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. El diagrama de estados completo es el siguiente: 1/0 P ro b le m a 5 . Si X=0. Si el valor presente de N es m a­ y o r que el valor inmediatamente anterior. entonces. Z A = 1. no hay error (Z=0) y el próximo estado será B. X 2) y dos salidas (Z). Estando en B: Si X =l. entonces Z¡Z 2 = 00. por otra parte. si y sólo si (X]X2)n < (XjX 2 )isi-] entonces.FreeLibros. Estando en C: Si X=1. El estado B indica que el último valor recibido es 0 (mientras que el penúltimo era 1). hay error (dos l's consecutivos) por lo que Z=1 y el próximo estado es A yaque el último valor recibido es 1 .. haremos que Z dependa de X (máquina de Mealy). Se pide: 1) Escribir la tabla de estados correspondiente del circuito. N. El estado D refleja la existencia de tres ceros consecutivos. Z1 = Z 2 = 0. Z 2 = 1. como autómata de Mealy. por ejemplo: sea A el estado que indica que el último valor de X almacenado es 1. no hayerror y el próximo estado es A. 2 ) ¿Cuántos estados tendría e l circuito como autómata de Moore? Solución P5.DISEÑO DE CIRCUITOS SECUENCIALES 203 P ro b le m a 4.-Sobre una única línea X se envía una información sincronizada con una señal de reloj Ck.-Un circuito secuencial tiene dos entradas (Xj.Para que la salida (señal Z) sólo indique error (con Z=l) mientras éste perma­ nezca. Si dicho valor es menor. Para construir el diagrama de estados se parte de un estado conocido. Las en­ tradas representan un número binario natural de dos bits. Estando en A: Si X =l. Zj = 1 . Z 2). entonces la salida Z 2 = 1. si (X¡X2)N = (XiX 2 )N_i. Si X=0..me .. no hayerror (Z=0) y el próximo estado es A. Estando en D: Si X=1. FreeLibros. 10 B A. 10 D. o menor (salidas ZjZ 2 = 01) que el anterior. en principio se necesita un estado que almacene el último valor recibido y si era mayor (salidas ZjZ 2 = 10). 00 NS.► NOTA: Se comprueba que la tabla es irreducible salvo por la posible eliminación de los esta­ dos Aq y B 3 que sólo pueden alcanzarse si son estado inicial.z2 01 01 01 01 00 00 00 00 — -----------► 0 0 0 1 1 0 11 00 — ---------.^ 1 0 — --------► 1 1 —-------.► —--------► — -----------. 11}.. 00 B. La tabla de estados queda de la siguiente manera: Ao 01 10 11 Ai B0 c. son 4x3 = 12 estados distintos. 10 C.me .204 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Para comparar el valor actual con el anterior se necesita almacenar ese último valor.Como máquina de Moore. Z2 2.x 2 00 01 10 11 A A. 10 D. como pueden llegar 4 valores diferentes {00. 01. X. 00 D. C2 B0 Bi C2 A3 C3 B0 Bi B2 C3 b3 O PQ B. que queda de la siguiente manera: x . 01 C. 01 B. igual (pálidas ZiZ 2 = 00). 0O Ai A2 a3 B0 Bi B2 00 0n Est. 01 B. 10 C A. www. 01 D. 10.► — ---------. 01 C. A2 A2 B0 Bi C2 A3 B0 Bi B2 C3 C0 A1 B0 Ci A2 A2 B0 Bj C2 A3 A3 B2 C3 A2 A2 A3 A3 a3 a3 a3 Co A1 Ci 0 PQ c. la máquina debe tener un estado por cada posible valor de XjX2: A estado que almacena que el último valor recibido de X¡X 2 = 00 B estado que almacena que el último valor recibido de XjX 2 = 01 C estado que almacena que el último valor recibido de XjX 2 = 10 D estado que almacena que el último valor recibido de X¡X 2 =11 Con esto se puede construir directamente la tabla de estados. Por tanto.X 1^2 SIGNIFICADO DE LOS ESTADOS Último valor 1 0 —-----------► 0 0 1 0 — -----------► 0 1 1 0 — -----------► 1 0 1 0 — -----------► 1 1 z. En total. 01 B. 10 D A. 00 C. Z.► 0 1 — -----------. 11 (con Z = 0) B C D E F G H 0 B1 B1 DO F0 A1 F0 DO A1 1 C1 C1 E1 G0 E1 G0 H0 H0 NS.110 B . El diagrama de estados con el significado de cada estado y la tabla de estados son los siguientes: 0/1 AS\ Significado de cada estado Recibido Est. Z Para obtener la tabla de estados mínima debemos comprobar si se pueden reducir o eli­ minar estados...F.D. B.F. D. (Es obvio que esta tabla se puede obtener sin necesidad de haber listado los estados incompatibles): www.después 1.. A. manteniendo este valor hasta de­ tectar la secuencia 010... Para ello seguimos el proceso de reducción de estados.00 (con Z = 0) G .G.D... C. después 0). C.. En esa tabla.D.E. A. A .. Consideramos que la máquina es de Mealy. E.... marcar las casillas de los pares de la lista del paso 1..G. F. C. A.H. 3.. B. Solución P 6 .010 D F .01 (con Z = 1) C (con Z = 1) E . Construir la tabla de pares compatibles o de reducción. Por ej.FreeLibros. E.F. C.DISEÑO DE CIRCUITOS SECUENCIALES 205 P ro b le m a 6. E. B.Partimos de un estado conocido para construir el diagrama de estados.me .11 .00 (con Z = 1) ..G.H}. B.H. en cuyo caso Z pasa a tom ar valor 0 manteniendo este valor hasta que llegue una nueva secuencia 110. Formar la lista de estados con salidas diferentes (son estados incompatibles): {A..C. D...1 (con Z = 0) H . A.-M uestre la tabla de estados mínima de una máquina secuencial síncrona con una entrada X y una salida Z que opera de la siguiente forma: cuando se detecta la llegada de 110 (primero 1. B..H. G. Z se pone a 1.F.... que consta de los si­ guientes pasos: 1. por lo que la salida será 1 hasta que se detecte 010.C.E.G...H. H. que es una tabla en forma de escalera asignando un escalón a cada estado como se observa en la figura del paso siguiente..H. 2. sea A el estado que se alcanza al detectarse la secuencia 110. C. me . En la tabla de reducción tachar aquellas casillas en las que exista escrito algún par de estados incompatibles. Construir la lista de compatibles. por lo que la lista final de compatibles se forma fácil­ mente. todas las celdas sin tachar corresponden a parejas de estados com­ patibles (o equivalentes si. 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 Tabla de reducción H 5. en la segunda se anotan los estados equivalentes del primero (aquellos cuyas casillas no estén marcadas). los compatibles se agrupan por clases de equivalencia. Repetir este paso de forma iterativa hasta que se hallan marcado todos los pares incompatibles: A B XXc D X -i'-tfS' X 1E n u a tü )a X X XXX X F X X Xm Xm G XXX XX XX Tabla de reducción Fase final H Al final de este punto. la tabla de estados/salida está completamente especificada). en la tercera se anotan los compatibles. 6 . 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). como en este caso. agrupando todos los estados que sean compatibles entre sí. www. Observando la tabla de estados. En máquinas completamente especificadas.206 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES B X X X c X X X X X D X X E X X X X X X X X X X F X Tabla de reducción Fase inicial G X H 4.FreeLibros. durante 2 ciclos si X duró 2 y du­ rante 1 ciclo si X duró 3.G} {H. P o r X se transmiten pulsos positivos de 1.F. 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.G.Si X= 1 se detecta el primer ciclo del pulso en X.F} {H. Por tanto. Z=0.Si X=1 se detecta el segundo ciclo del pulso en X. X no puede valer 1 porque. . AB} LITlll H. Se pasa a D.Si X=1 se detecta el tercer ciclo del pulso en X. E. En D. 2 ó 3 ciclos de duración.C} Nuevos estados: A C D E G H A partir de los compatibles se construye la nueva tabla de estados: {H.DISEÑO DE CIRCUITOS SECUENCIALES H G F E D C B A Equivalentes X Compatibles {H} {H. Z=0. EnC: . tras finalizar un pulso.B} {H. En D. Se pasa al estado B.E. Z P ro b le m a 7. DF. E. Z=0. En B: . la entrada permanece a 0 un mínimo de 1 0 ciclos de reloj.E. Z=1 en el estado D y en el estado G.Del enunciado se deduce el comportamiento del circuito. Se pasa a E.Si X=0 se permanece en A. Z debe durar 1 durante dos ciclos más de reloj. . Desde un pulso al siguiente X permanece a 0 un mínimo de 10 ciclos. Se pasa a C. Z=1. E y F.Si X=0 fin del pulso de un ciclo de duración. G.E} {H. el pulso mayor es de tres ciclos y. www. Se pasa a G. En A: . Se pasa a F. .-Un circuito secuencia! tiene una entrada X y una salida Z. que es el siguiente: jiru u in n ji j x:j L Z: 3 2 jijtjtjitijiji J Partamos de un estado conocido. C. C.G. D. Obtenga la tabla de estados/salida mínima según e l modelo de máquina de Mealy.DF.G.G. G.C. Z=1. Z=0.DF. A A D D A D A 1 0 0 1 0 1 C E G E H H 1 1 0 1 0 0 NS. según se dice en el enunciado..E} B 207 {H.me .G. Sea el estado A aquel en el que no se ha detectado nin­ gún pulso.FreeLibros. Solución P7. En otros casos Z es cero.DF.Si X=0 fin del pulso de dos ciclos de duración. 1 C F. y se da Z=1.EFG} rx1a DTn F 4 X ^ ’í {A . bit a bit. Z Siguiendo el proceso de reducción de estados obtenemos la tabla mínima: X PBD C X c FG D X 1® +U A G E X A•D a If g IA X A 9 A¡F GA X B COMPATIBLES w {A.3 x N. B.2 x N.0 C. D} *A B C D 0 A.B .1 G A.1 A.-P o r una línea X se recibe.1 B.me .C. b) Repita e l apartado a) para obtener Z .1 D G. CD.0 B D.0 D. El diagrama de estados/salidas de Mealy y la correspondiente tabla de estados son los siguientes: X Estados' A A.1 E A. se pasa directamente a A y se da el único pulso de salida. a ) Obtenga la tabla de estados m ínim a correspondiente a l circuito que perm ite generar una única salida Z c o n e l valor Z .0 C.1 F A.0 NS.0 C. Z . www.FreeLibros.208 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES En E.1 1 B.1 D.0 NS. em pezando por el m e­ nos significativo. Z Tabla de estados mínima Tabla de reducción P ro b le m a 8. N o tenga en cuenta cuándo acaba N. En F: Z debe durar 1 durante un ciclo más de reloj. Se pasa a A. un número binario N. Com ience p or un estado de reset.0 E.\ . 0 A. 1 o 2.0 C.me A.1 B. a) Sea el número binario N = . se cumplirá: Ciclo 1: En X está Xq.FreeLibros. www. por Z sale Z 3 = X 2 Ciclo j+1: En X está Xj. pero el inicial debe ser A. por Z sale Z 2 = X ¡ Ciclo 4: En X está X3.1 . N 3 N 2 Nj No 0.. B si es 1 y C si es 2). Con ello.0 B A. La tabla de estados mínima consta de sólo dos estados. por Z sale Z0 = 0 Ciclo 2: En X está X¡. en el ciclo j-ésimo hay que sumar tres veces el bit presente en X (0 o 1) junto con el acarreo generado anteriormente. b) En el primer ciclo (el estado presente es el de reset RE) hay que sumar Nq + Nq + N0.1 C. Z Tabla de estados Diagrama de estados EstadosX 0 1 A A. RE y A son el mismo estado). el número binario Z = 2 x N = ..0 A A. el diagrama y la tabla de estados son: Estadosy RE A.0 NS.j Para obtener Zj.0 B C (Como antes. En nuestro caso.0 C B.DISEÑO DE CIRCUITOS SECUENCIALES 209 Solución P8. En el segundo ciclo deberemos sumar N! + Nj + N¡ con el acarreo (0 o 1) anterior.1 B NS. N 3 N 2 Nj N0. Z 1 B.1 B. Entonces.0 C. Esto es. N viene por la línea X y 2 x N sale por Z.0 B. por Z sale Z] = Xq Ciclo 3: En X está X2.0 B. Con este razonamiento se obtiene la tabla de estado siguiente: Tabla de estados . mientras que el próximo estado informará de cuál ha sido el acarreo generado. el resul­ tado de esta suma puede ser Z ¡ = 0 o Z ¡ = 1 con acarreos de 0.1 NS.1 NS. basta conocer el valor de Xj. Z Tabla de estados mínima 0 K A A.1 B.1 A A. por Z sale Zj = Xj. para lo cual dicho acarreo deberá estar "almacenado" en un estado (A si el acarreo es 0. A y B son incom­ patibles.0 B. En general.0 B. pues multiplicar en binario por 2 equivale a “poner un 0 a la derecha”.1 B A.X S\ 0 1 RE A... La salida Z mostrará el bit de la suma.0 B.1 C. el resultado será Z q = 0 (y acarreo 0) si Nq = 0 y Z 0 = 1 junto con un acarreo de 1 si Nq = 1. Z Tabla de estados mínima En la tabla de estados se observa que: A y RE son el mismo estado.! que sólo puede ser 0 (estado A) ó 1 (estado B). X jX 2 = 10: El número Ni es mayor que el número N2. comenzando por P ro b le m a 9 . Z = Z = c c Nota.10 NS.FreeLibros.sale por Z 2 y X2 lo hace por Z^. Las salidas serán: Z 2 = X 2 y Z] = Xj. X jX 2 = 01: El número N 2 es mayor que el número N¡. Z 0 0 1 0 0 1 . Al no haberse recibido ningún bit los números son “hasta ese momento” iguales.10 B.N i) 1 m enor(N2. Las posibles entradas y la respuesta del circuito son: Xi = X2: Los números continúan siendo iguales. en el ejemplo del enunciado. En el comportamiento dado en el enunciado. por lo que se pasará a un nuevo estado C..01 A . el 4o bit de X \ es 1 mientras que el de X 2 es 0.. Las salidas serán: Z 2 = Xi y Zj = X2. El próximo estado de B.-Diseñe un circuito secuencial síncrono con dos entradas e l bit más significativo.01 C.N : ) Obtenga la tabla de estados/salida mínima. La tabla de estado queda como sigue: A B C A..00 B... es B.10 C...11 B. Lo mismo ocurre para C estado en el que N 2 > Nj. X 0 0 1 1 0 0. las salidas cambian en el mismo ciclo que ocurre el cambio de entrada.210 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Aj y X2 y dos salidas Z-| y Z2. Zi www. El estado B representa el caso en que Nj>N2. A partir cte este momento y con independencia de los bits que se reciban.00 C. lo que indica que Zj 2 dependen de X) 2 y. Las salidas deben representar lo siguiente: 2 m ayor(N2. Solución P9.me Los estados son incompatibles: la tabla es irreducible .00 B. Obsérvese que en el ejemplo A/-| > N2 por lo que X-.ll C. No hay cambio de estado... los bits son iguales de forma que tanto por Z t como por Z 2 sale el bit de entrada recibido. el número mayor (N¡ en el ejemplo) saldrá por Z 2 y el menor por Z¡. Por las entradas se reciben bit a bit dos números de n bits.. Z 2 = Xi y Z] = X 2 hasta el final. N | y N2. Z 2: 0 0 1 1 0 0. Z2. Sea A el estado inicial. Las salidas serán: Z¡ = Z 2 = X] = X2.El número mayor entre Nj y N 2 es aquél por el que se recibe el primer 1 mien­ tras que se recibe un 0 por el otro. Así..10 B. por tanto. por lo que se pasará a un nuevo estado B.. Hasta que ocurra eso (XjX2=10 ó 01) por primera vez. y por tanto.. es una má­ quina de Mealy. 11 C . suponiendo el siguiente comportamiento: X 2: 0 0 1 0 0 1. se obtiene la tabla 1 de transición/salida sin más que sustituir los estados por los códigos que se han asignado. B = 01. a) Dada la asignación y la tabla de estados.1. de la tabla de transición junto a la de excitación del biestable JK.Diseñe una máquina secuencial que responda a la tabla de estados siguiente. Además. De esta tabla obtenemos la ecuaciones de excitación: \* q i q2\ A 00 B 01 C u D 10 0 i 00 11 00 1 0. se pasa a la de excitación del circuito.-1 i i-.FreeLibros. 00-.1 D. B = 11. -0 -0. C = 11. C = 01.0 A. 1 10 10 Qi Q2. z Tabla de transición/salida q -»Q JK 0 -> 0 0 0 -> 1 1 1 ->o .0.0 D.me . 0.0 NS.-i -1. 1 00 0 1. h k 2 Tabla de excitación J. www. D = 10 b) Asignación 2: A = 00. = X K( = q2 J2 = X q.1 B. K2 ="Xq1 Z = X q2 Ecuaciones de excitación y de salida El circuito queda como se muestra: 1 Por simplicidad.1 i -> i -0 Tabla de excitación del biestable JK \* qi q \ 00 01 11 10 0 0-.-1 . Diséñela con biestables JK atendiendo a las siguientes asignaciones: a) Asignación 1: A = 00.0 D.. Z Solución PIO.0 C. en las distintas tablas sólo pondremos los mintérminos de las salidas (celdas con Z = 1). De esta tabla ya se pueden obtener las ecuaciones de salida. D = 10 A B C D A.DISEÑO DE CIRCUITOS SECUENCIALES 211 P ro b le m a 10. 0J.. ii-.. K.0 A. z K„ J2 K2 P ro b le m a 11. 1 C A NS. las tablas de transición/salida y de excitación y las ecua­ ciones de excitación y de salida son las siguientes: \X q i q2\ oo 0i 0 0 0 1 0 0 1 1. 0- 0-..-1 1-. siempre que esos próximos estados también se hagan adyacentes..(A.C).Hacer adyacentes los próximos estados de cada estado.Hacer adyacentes los estados cuyos próximos estados sean los mismos aunque en di­ ferentes valores de entrada.FreeLibros. D) 2x(A... (C.D). K2 = X + q.> 0 00-4 1 11-40 -1 1 -> 1 -0 q qi qX 00 0 í 0-.1 1 0 JK -> Q 0 . (B. 2x(A. -1 J .C) " 2x(B. 0- Z = X q2 Jl Q i Q 2.. Z s \ A B C D B D.D) www.-0 11 -L -i -0.me .D) (B.D). 2.D) si (A.B) (A.D).Para obtener “una buena” asignación basta con aplicar las reglas de adyacen­ cias. 1- 0 1 0-.C) (B.1 11 0 0 1 0 1o 1 0 .Obtenga una buena asignación para las siguientes tablas de estado: Tabla a: X Tabla b: X 1 0 A 1 A.D). 4.D). (B.D) (C. Aplicando las reglas a las tablas de estado obtenemos lo siguiente: REGLAS 1 2 3 4 5 Tabla a (A. Z Solución P H . (C. 1 D B A D c B D D C D NS. 0- -0.Hacer adyacentes los estados que tengan los mismos valores de salida.C). (B.212 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) Para la segunda asignación. 1 D B C A. 10 -0.C) (B.= X q 2 K] = X q2 J2 = X q. 5.. Estas reglas son las siguientes: 1 Hacer adyacentes los estados cuyos próximos estados sean iguales para cada valor de entrada.B) (C. 3.Hacer adyacentes los estados cuyos próximos estados sean los mismos para algún valor de entrada.D) Tabla b (A. ... si X=l.. en la figura siguiente se muestra un diagrama de tiempo donde se observa la secuencia de estados y de salida de cada tipo de máquina para una misma secuencia de entrada. si X=1 se pasa a un nuevo estado D. por prueba y error..0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 10. —(Todas) 3. — (Todas) 4... 3 (de 4) 5.. siguiendo el modelo de Moore o el modelo de Mealy: 0 A: no se ha recibido ningún 1.. b) como autóm ata de Meaiy. 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 .me . en ambas tablas se necesitan dos variables de estado y¡ e y2.. D é dos diseños alternativos: a) como autómata de Moore. 3 (de 5) 4. de cumplir el máximo número posible de las reglas de adyacencia: Tabla a 0 1 A B D C Reglas que cumple: 1.. se forma un mapa de Kamaugh en el que las variables son las variables de estado necesarias para la asignación. Z : . 1 (Todas) 2. De este comportamiento se obtienen los diagramas de estado. Discuta ventajas e inconvenientes de ambos diseños. Solución P12.-Un ejemplo del comportamiento que describe el enunciado es el siguiente: X :. www..... 1 (Todas) 3.. 1 (Todas) P ro b le m a 12.. C: se ha recibido el segundo 1. B: se ha recibido el primer 1.FreeLibros.. es el tercer 1 y Z=l. 3 (Todas) Tabla b y'x2' \ 0 1 A B C D Reglas que cumple: 1. asignamos a cada estado un código tratando.Un sistema recibe secuencialm ente datos de 1 bit a través de su entrada X. En máquina de Moore.. Z=1 Para observar las diferencias entre las máquinas de Moore y de Mealy. 1 (Todas) 2.DISEÑO DE CIRCUITOS SECUENCIALES 213 Una vez aplicadas las reglas... Diseñe un circuito que dé salida Z=1 cuando se haya recibido X=1 durante tres o más inter­ valos de reloj consecutivos.. En este K-mapa. (En Máquina de Mealy.. En este caso.) D (exclusivo de la máquina de Moore): se ha recibido el tercer 1. 4 (Todas) 5. Posee más estados que la máquina de Mealy.me . Z=1 después de detectar la llegada de 3 unos. 2) Asignación de códigos: como son máquinas de 3 ó 4 estados se utiliza el método exhaustivo: ESTADOS ASIGNACIONES DE COSTE DISTINTO II III I 00 00 A 00 11 B 01 01 11 01 C 10 10 11 10 (D) 3) Obtenención de las ecuaciones mínimas de excitación y de salida: se aplica el pro dimiento de diseño mínimo para funciones combinacionales. Se pueden presentar algunas diferencias temporales entre ambas salidas si las entradas cambian en instantes arbitrarios. según cuándo cambia X en relación a Ck.214 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES n Ck B A i A b : a D A B C D A B A ! A B A C A B (' C D D A A A C > zJM N ealy_ A > y ^Moore > x Las características de cada tipo de máquina son la siguientes: Moore: Z=1 durante períodos de reloj completos. Mealy: Z=1 después de detectar 2 unos y siempre que X siga siendo 1. La máquina de Mealy puede dar Z = 1 durante intervalos arbitrarios de tiempo. como los que se muestran a continuación: “ jijirL rL rm -ri x -'M oore ■^Mealy A B D A iA A IA La máquina de Moore da salida 1 durante 1 ciclo tanto si X permanece en 1 durante poco más de 2 ciclos (siempre que X = 1 en 3 flancos activos) como si X prácticamente permanece en 1 durante 3 ciclos. El resto del proceso de síntesis es el siguiente: 1) Reducción de las tablas de estado: en este caso son irreducibles. Aplicando este proceso a la solución como máquina de Moore: www.FreeLibros. Posee menos estados que la máquina de Moore. D i D o Q iQ o ..DISEÑO DE CIRCUITOS SECUENCIALES 0 A A A A A B C D Z Tabla de estados 0 0 0 1 1 B C D D 215 B c *X e^> XX D Tabla de reducción NS ASIGNACION III ASIGNACION II 1 0 0 0 1 o 0 0 1 0 0 0 0 11 1 0 0 11 z \x qi qo\ A=0 0 B=0 1 C=1 1 o QTi" 0 o \x qi q \ A=0 0 B=0 1 D=1 1 n o ASIGNACION I Q iQ o~D i D o 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 z 0 0 0 1 \x qi q \ A=0 0 C=0 1 B=1 1 D=1 0 0 00 00 00 00 1 11 10 01 10 z 0 0 0 1 Q iQ o . partiendo de un estado inicial. E l circuito recibirá. Utilice en e l diseño biestables D.FreeLibros. e l circuito volverá a ace p ta ren la entra­ da un nuevo carácter de 4 bits. si y sólo si e l número total de unos recibidos ha sido par.me . X. la salida del circuito será 1. www. + Xq0 D 0 = Xqi + X q 0 Z — íiío D II: | —X q ] + X q 0 D 0 = Xqí _ III: X q x+ X q 0 D 0 = X ( ^ ® J 0) —<7i<7o Z = q xq0 La solución de menor coste es la segunda (II) y el circuito el siguiente: Z —Z P ro b le m a 13.D i D o Las ecuaciones de excitación y salida para cada asignación se muestran a continuación: I: D\ = X q . Tras la recepción del cuarto bit.Diseñe un chequeador de paridad para caracteres de 4 bits enviados en serie. 4 bits en serie p o r una línea de entrada. coincidiendo con e l cuarto bit. FreeLibros.Se trata de una máquina de Mealy. tercer o cuarto bit.. NS. Por tanto.me ..D X X X X X XX X X xX Tabla de reducción Fase final: es irreducible. segundo.1 R 1 B D C F E R R. 3.Del enunciado se puede concluir lo siguiente: 1 La secuencia viene en grupos de 4 bits. el diagrama de estado queda como se muestra: NUMERO DE UNOS PAR IMPAR Orden del bit que se espera ► 1 ° El/festo del proceso de síntesis es el siguiente: 1¡. los estados de la máquina deben guardar información del número de 1 's que van.216 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P13.1 R iESE 2$ « - -EF. Z www. Puesto que debemos detectar la paridad par de la secuencia. y del lugar que ocupa el bit en la se­ cuencia. Esto es. no hay solapamiento. 2..Reducción de la tabla de estados: R A B C D E F 0 A C D E F R. ya que la salida se hace 1 “coincidiendo” con el cuarto bit. El estado R es aquél en que se encuentra la máquina cuando el valor presente en X es el del primer bit de la secuencia.Existe un estado inicial (R). por lo que la máquina debe reconocer si un valor de X corresponde al primer. . Tabla (E. De esta forma la tabla de transición/salida coincide con la tabla de excitación. = y2 D 0 = x y 2y0 + xy2y0 + xy.C.F) REGLAS 1 2 3 4 5 - (A.y0 Z = x y & i y o + t yi y o j El diagrama de circuito se obtiene directamente de las ecuaciones de excitación y salida.10 e 3.00 E j. De esta: = y. 2(E..me .S e pretende diseñar un circuito secuencial síncrono con una entrada X y dos salidas Y. h NS. b) D é el tamaño y contenido de la RO M .A. (C.OO Ei E 2.B) si (C. Se utilizan biestables D que cumplen: D¡ = Yj. www..10 E 3.B.F) (A. D .D).1 001 y 2y .FreeLibros. 2(C.Z Utilizando e l diagrama de bloques de la figura: a) Calcule e l número de biestables tipo D que se necesitan.00 Ej. y 0. Y.Ecuaciones de excitación/salida.D) Reglas de adyacencia yiy\ ío' 0 1 00 01 11 10 A C E B D F R - \X y2-yi>yo\ A=000 B=001 D=011 C=010 E=110 F—111 101 R=100 La asignación cumple todas las reglas menos 3 de la regla 5 0 010 011 111 110 100. z Tabla de transición 3.F) (R.D) si (E. Z que cumpla la siguiente tabla de estados/salida: * 0 1 E0 E 0.DISEÑO DE CIRCUITOS SECUENCIALES 2.D).1 100 -000 217 1 011 010 110 111 100 100. Construcción de la tabla de transición/salida.B). D2 P ro b le m a 14.Asignación.01 2.10 e 2 e e 3 E 0. salidas del circuito. El tamaño de la ROM depende del número de entradas y salidas.01 E2 = 10 10.me . todos incompatibles. Como salidas se tienen: Y y Z. Se necesitan dos variables de estado. y q¡ y q0 variables de estado (salidas de los biestables tipo D).00 01.218 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Y Z X Solución P14. ROM A A0 qo 4l C k' 8x4 H0 U1 h7 h3 Z Y Dn D.Y Z Tabla de transición/salidas otfl II OO fii q o \ X qi qo 000 00i 0 10 01i 10 0 10 i 110 11i Do D 0 0 0 1 0 1 0 0 10 10 1 1 1 1 Y z 0 0 0 0 10 10 0 0 0 1 10 1 1 X A^AjAq H3 H2 HiH 0 Contenido de la ROM a2 a . Realice el circuito correspondiente utilizando exclusi­ vamente: 2 biestables JK.FreeLibros. Z 3. Utilizando un asignamiento cualquiera. un D E C 2:4 y 4 puertas AND.00 E. =01 10.11 Q 1Q0=D1D0.. Z 4 a partir de una señal de reloj Ck disponible en un determinado sistema.10 11. Como entradas de di­ rección se tienen: X.Es una tabla con cuatro estados.10 11. y D¡ y D q entradas a los biestables. se obtiene la tabla de transición/salida y de ella el contenido de la ROM: X 0 1 00. www. siguiendo el esquema de la figura del enun­ ciado se necesitan dos biestables D.Se desean obtener 4 señales Z h Z 2. Por lo tanto.00 01. Circuito final P ro b le m a 15. por lo que es irreducible..10 E3 = 11 00. Por tanto se necesita una ROM de 8x4 ( 8 palabras de 4 bits cada una). entrada de datos. Así. C y D). Zj. concretamente con Ck = 1. 2. cuyas entradas son qj y qg. si llamamos Za. De aquí que el sistema tenga 4 estados (llamémosles A. 1- V = Kn= 1 A =.K t = <lo Jl Kl.me . Utilizando la asignación habitual en los contadores (asignar códigos consecutivos a es­ tados consecutivos) obtenemos la siguiente tabla de transición: 4l 9o\ A=0 0 0 1 B=0 1 1 0 C=1 0 11 D=1 1 0 0 Za Zt>Z< Zd 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 QiQo Tabla de transición/salida 4l 4o\ A=0 0 B=0 1 D=1 1 C=1 0 0-. = Z aC k Z 2 Z hCk Z 3 = Z cCk Z 4 = Z dCk En consecuencia. B.-En el diagrama temporal observamos dos hechos: 1 Cada 4 ciclos de reloj se repiten las señales.. 11-. -1 -o. cuya secuencia es: Se trata de un contador módulo 4. Zc y se obtienen como las salidas de un decodificador 2:4 con salidas activas en nivel alto. B. respectivamente.FreeLibros. se cumplirá: Z. Zc y Z¿ a una señal que se hace 1 cuando estamos en el estado A. El circuito es el siguiente: www.DISEÑO DE CIRCUITOS SECUENCIALES 219 Solución P15. Z3 y Z4 tomando el valor indicado en el punto 2. Z^. J0K0 Tabla de excitación Ecuaciones de excitación Las funciones Za. C y D. aplicando el proceso sistemático de diseño de circuitos secuenciales: \ A B C D B C D A NS Tabla de estados (es irreducible) Za Zb Zc Zd 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Con Z \ . Z2..Cada salida se hace 1 durante un semiperiodo de reloj. -1 -1. Construya e l diagrama de transición de estados simplificado de un autómata de M ealy con dos entradas X. la salida será Z . C: El último flanco negativo ha sido el de Y (Z=0). habrá cambio en Z. pero para el caso de que X suba. Z = 1 .220 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Zi Z2 PROBLEM AS CON SOLUCION RESUMIDA P ro b le m a 16. porque Y=0 B: Recoge que Y ha subido: cuando vuelva a bajar. no las dos a la vez. sólo puede cambiar una variable de entrada. Similar al estado A pero para Z=0. S i durante cuatro o más ci­ clos del reloj hubiese “1”..me . D: Similar a B. cuando a la línea de entrada X se han suministrado exac­ tamente tres “1” durante los tres intervalos precedentes del reloj. b) cuando Y pasa de 1 a 0. Z=0.FreeLibros.0 . Y y una salida Z que cumpla las siguientes características: a ) cuando X pasa de 1 a 0. P ro b le m a 17.. durante un ciclo de reloj.Desarrolle un diagrama de estados para un circuito de Moore que genere sa­ lida Z = 1 . siendo Z=0.. www. X e Y no pueden valer simultáneamente 1. c) en otro caso Z no cambia de valor.El diagrama de estados es el siguiente: XY/Z: SIGNIFICADO DE CADA ESTADO A: El último flanco negativo en llegar ha sido en X (Z=l) y con las entradas actuales es imposible que Y cambie de 1 a 0. D e un ciclo a l siguiente. Solución P16. www.me . 1. y S5). 0.. la tabla de estados queda de la siguiente manera: 0 1 z So s0 Si 1 Si s2 s3 0 S2 S4 S5 0 s \ s3 S6 S7 0 S4 ! S0 Si 0 S5 / S2 S3 0 S6 S4 S5 1 S7 S6 S7 1 SIGNIFICADO DE CADA ESTADO Estado Últimos 3 bits recibidos S0 00 0 S.. esto es. e l circuito debe tener una única entrada X y una única salida Z. P ro b le m a 19. ecuaciones de excitación.Diseñe un circuito secuencial síncrono con una entrada de datos X. P ro b le m a 18. 0. asignación.El diagrama de estados es el siguiente: SIGNIFICADO DE CADA ESTADO A: No se ha recibido ningún 1.Realizando el circuito mediante el modelo de máquina de Moore. D: Recibido el tercer 1.. En los intervalos de reloj en los que X =0. B: Recibido el primer 1. 00 1 52 53 54 55 56 57 0 1 0 0 11 100 10 1 lio 111 NS A partir de la tabla de estados se continúa el proceso de diseño normal: reducción de estados (son equivalentes S.DISEÑO DE CIRCUITOS SECUENCIALES 221 Solución P17. que pro­ duzca salida “1” durante un ciclo de reloj cuando la secuencia de los tres últimos valores de la entrada sean: 111. C: Recibido el segundo 1. elección de biestable. 1. 0.FreeLibros.. E: Recibido el cuarto o más 1. 0. 0. Solución P18. 110 ó 000.Diseñe un autómata de M ealy que detecte la secuencia 1. la salida será Z=1 si en los cuatro intervalos de reloj precedentes la entrada ha sido 1. 0 A partir del diagrama de estados se continua el proceso normal de diseño. 0. Y y una salida Z cuyo fun­ cionamiento sea e l siguiente: a) si X Y = 00.Diseñe un circuito secuencial síncrono que reciba una entrada X y produzca una salida Z = 1 después de que haya recibido las secuencias de entrada 0 .. 1 E Recibido 1. Solución P20.Diseñe un autómata de M ealy con dos entradas X. 0.. El diagrama de estados queda de la siguiente manera: SIGNIFICADO DE CADA ESTADO Estado Recibido R No se ha recibido nada A Primer 0 de la secuencia 0 0 1 B Primer 1 de la secuencia 1 0 0 C Segundo 0 de la secuencia 0 0 1 D Recibido 0. 1 ó 1. Problema 21.. entonces Z = 0 . no las dos a la vez. 0. 0. b) si X Y = 1 1 . entonces Z = 1. 0. En e l resto de los casos se m antiene la salida.me .FreeLibros.. Nota: en cada ciclo sólo puede cam biar una variable de entrada.El diagrama de estados es el siguiente: SIGNIFICADO DE CADA ESTADO Estado Recibido A 1 B 10 C 100 D 1001 E Nada de la secuencia Problema 20. www. después de que las entradas hayan sido durante dos ciclos de reloj X Y = 0 1 .222 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P19. Com ience el diseño p o r un estado de reset.Es una máquina de Moore y hay solapamiento en la secuencia. 0 F Recibido 1. Solución P22. Solución P23.FreeLibros.. 01 .El enunciado dice que la máquina es de Mealy. Se alcanza tras recibirse la secuencia que genera Z = 1.. Se recibe 1 en la variable Y. Obtenga el diagrama de estados de un circuito secuencia! síncrono de M ealy que produzca una salida Z = 1 cuando detecte las secuencias de entradas 1100 ó 0011. 11.Por una línea se envían (bit a bit) grupos de cuatro bits.El diagrama de estados reducido queda de la siguiente manera: 11/0 00/0 SIGNIFICADO DE CADA ESTADO A: B: C: D: Estado en el que la salida es 0 y recoge se­ cuencias de entrada distintas de 01 . Problema 22.. Recoge el primer valor de la secuencia que genera Z = 1.S e desea diseñar un autómata de M ealy con dos entradas (X-¡ . Comience por un estado de reset. que obedezca al siguiente comportamiento: 1) En ningún caso am bas entradas pueden e s ta ra 1 simultáneamente..El diagrama de estados queda de la siguiente manera: 00/0 SIGNIFICADO DE CADA ESTADO A: B: C: Estado que indica que el último valor re­ cibido es 00 . Problema 23. Recoge el segundo valor.me ..X2) y una sali­ da Z. pasando a dicho valor cuando se detecte el segundo 1 . 2 ) La salida Z alcanzará el valor 1 si y sólo si aparecen dos unos consecutivos en la misma línea de entrada.DISEÑO DE CIRCUITOS SECUENCIALES 223 Solución P21. El diagrama de estados queda de la siguiente manera: www. Se recibe 1 en la variable X. l NS. Sg —» B NS.224 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Orden del bit que se espera Io A. ¿ S e trata de máqui­ nas de M ealy o de Moore? S\ A B C D E F G st D D G A E A C 0 51 52 F E E..1 B G. F .Reduzca las máquinas cuyas tablas son las de la figura.l S3 S4 S4 S7.1 NS. E.1 F E. S¿. Z .1 NS. S7. S4 —> S 5.me 0 A A 1 B B. Tras el proceso de reducción las tablas resul­ tantes son: AD —» A B -» B CEG —» C F —> F 0 1 A A F C C A C. C. Z 1 S5 S5 S6 S6 s.Estados que detectan la secuencia 0 0 1 B. S3.FreeLibros.Estados que detectan la secuencia 1 1 0 Problema 24. Z www.l S8>1 Sg. D .1 B S\A s „ S2. Si S2 s2 s3 s 7.-Las dos son máquinas de Mealy. Z Solución P24. S4) 4 5 Dos asignaciones posibles para esta tabla son las siguientes: Tabla 1 y o \ 0 i J 2 yi yo 0 1 00 01 11 10 S4 So S3 S6 S2 S5 Si NS.Ss) REGLAS 1 2 3 - (S0.S1).S3 s 2 S6 So S5 Si Reglas que cumple: 1.S4).S4).me .FreeLibros. 2 (Todas) 2.S3).. (S0. (S0.S2..l NS.S2).S6). 3 Reglas que cumple: 2 (Todas) 1.S i .DISEÑO DE CIRCUITOS SECUENCIALES 225 Problema 25. 2 x(S. 3. Aplicando las reglas de adyacencia se obtiene: Tabla (S4...S5).-La tabla no puede reducirse.S6). 3 NS. 4 (de 5) 5. (S2.S6) (S.l S. Z www.(S. s2 S6. 5 (de 10) 4. (S2. (S„Ss). (S0. (S. 4 (de 10) 4. (S0. 4 (de 5) 5. Z Solución P25. Z Tabla 2 00 01 11 10 S4 . 2..(S0.S6) (S0.S4). *So Si S2 s3 S4 S5 S6 1 0 Si S3 Si S5 Si s2 s2 S4 s2 S6 s 5. (SltS3). 3.S5). 2x(S2. (S2.S3.S2).S3).Obtenga una buena asignación para la siguiente tabla de estad o s.. (C. (B. tabla de excitación. (B.C).C). b) Con la asignación 1. AD.226 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 2 6 .D).X.FreeLibros.a) Para la tabla de estados siguiente. X. determine cuál de las tres asignaciones que se dan es la que cumple m ejor las reglas de adyacencias. 2x(A. CD A B . 2x(A.D). B D 1 2 3 REG LA S QUE C U M PLE R3 4 R4 8 1 6 3 8 R5 2 2 La asignación que más reglas cumple es la número 1. (B. BD.B). 00 c c 01 A D B A C A D A D B 11 10 - A - B - D - A Z ES T A D O ASIGNACIONES (qj q2) I 00 0 A B c 1 1 01 II 10 D 0 2 00 01 10 11 3 00 11 01 10 NS Solución P26. (B..me . ecuaciones de excitación) las ecuaciones que se obtienen son: J\ q2 = X2 = X 2+ X ] J2 K\ = X2 + X¡q2 X\Cfo K = q2 + X^X2 Z=q 2 2 www. a) Las reglas de adyacencia que debe cumplir la tabla de estado son: Reglas 1 y 2: — Regla 3: (A. BC .B). realice el circuito utilizando biestables JK y puertas.D). Regla 4: 2x(A. BC. b) Para la asignación número 1.D). CD AC. AD. Regla 5: (A.D).C).C) En la siguiente tabla se muestra cuántas reglas cumple cada asignación: Asignación Adyacencias que cumple A B . siguiendo el proceso de diseño (tabla de transición. AC. 4x(A. En un analizador lógico se observa el siguiente comportamiento: Ck X qi q2 Za Zb i_ r Realice el circuito con biestables T y puertas NAND.. estamos viendo el estado presente (fll y el valor actual de la entrada X: también el de las salidas Za Zb se ven en ese mismo ciclo. Las tablas de transición y de salida quedan de la siguiente manera: qi qA 0 1 0 0 1 0 11 0 1 11 1 0 11 0 1 0 1 1 0 0 0 0 1 Q X q iq \ 0 1 0 0 1 0 0 0 0 1 0 1 11 11 0 0 1 0 11 11 1 0 ZaZb 1Q 2 Tabla de transición Tabla de salida Las ecuaciones de salida y excitación son las siguientes: 7. Como las varia­ bles de estado q 2 cambian con el flanco de bajada de Ck.DISEÑO DE CIRCUITOS SECUENCIALES 227 P ro b le m a 2 7 .Vamos a obtener directamente la tabla de transición/salida. Solución P27. = 1 Tq = X < l\+ z<l 2 z a = X q 0 + q ]q 2 + X q 2 Z h = q ]q 2 + q 2 q l www. los biestbles serán tipo flip-flop disparados por el flanco de bajada. En cada ciclo de Ck. mientras que el valor del próximo estado se determina viendo cuánto valen qj y q 2 en el ciclo siguiente.FreeLibros.me .. además de otras operaciones. Un contador módulo K cuenta K valores de forma cíclica.ej. Además. si es ascendente. registros. del 1 al 2. PLD secuenciales que básicamente son PAL y PLA que incluyen algunos biestables y que permiten programar funciones secuenciales. CONTADORES Los contadores son circuitos que tienen la propiedad de incrementar su contenido (ascendentes). Por ejemplo. Así podemos encontrar contadores de n bits que incrementan o decrementan su contenido. ya que la técnica de análisis y de diseño con PLD es la de circuitos secuenciales genéricos. etc). además de las que indican el estado de cuenta. se incorporan las que avisan que se ha alcanzado el estado de cuenta final: todo 1 para los ascendentes y 0 para los descendentes. a partir del cual se pasa nuevamente al 0. ya sea el cero para contadores Ascendentes (clear ) o todos los bits a 1 (estado 2n-1) para los descendentes (preset ). El tamaño se especifica por el módulo (p. los contadores y los registros.: módulo 10) o por el número de bits en caso de módulos 2n. En cuanto a las salidas. normalmente entre 0 y el K -l (p. En este Capítulo se estudiarán. y así hasta el K -l. fundamentalemente.. del 0 pasa al 1.me .ej.Capítulo 9 SUBSISTEMAS SECUENCIALES Las operaciones secuenciales más comunes están en circuitos integrados con una complejidad superior a la del biestable. carga.FreeLibros. puesta a 0 e inhibición. en la siguiente figura se muestra el esquema de un contador síncrono ascendente de módulo 8 (3 bits) con las operaciones de cuenta arriba. 229 www. como elementos almacenadores de palabras de n bits. Existe gran diversidad de contadores dependiendo del tipo de operaciones que realizan y del tamaño del contador. estos dispositivos pueden tener operaciones que permitan cargar un estado inicial de cuenta (carga o load) y restablecer el estado inicial de cuenta. etc. decrementarlo (descendentes) o ambas (reversibles). qi <i2 . también. [cont] DISEÑO DE CONTADORES Hay dos formas de realizar contadores: 1) los de rizado (ripple-counter) o contadores asin­ cronos. el periodo de las señales de salida va duplicándose. divisores de frecuencia. En los contadores de rizado la salida de cada biestable se utiliza como señal de reloj del siguiente.me . todos los biestables tienen la misma señal de reloj por lo que no presentan estados incorrectos. clk q0 . Como se observa. a veces presenta estados incorrectos transitorios. pero debido al diferente instante de tiempo en que cambia cada biestable. la del contador síncrono. En la siguiente figura se muestra una estructura alternativa. En ella. El contador tiene bajo coste.230 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Up C1 Ld Operación 000 Inhibición 1 00 Cuenta x 10 Puesta a cero Xx 1 Carga dato TC=Terminal Count TC=1 si q2 qi q0 =111 TC=0 en otros casos En la siguiente figura aparece la secuencia de salidas de un contador módulo 8 ascen­ dente. www.FreeLibros. y 2) los síncronos. lo que motiva que a los contadores se les denomine. Como se observa en las formas de onda. X [cont]. tras estar activa la orden de borrado. En la siguiente figura se representa la estructura interna de un contador síncrono ascendente de módulo 4. li­ lí li­ ~x 1 X" r :x En la siguiente figura se muestra la estructura de un contador de similares características que el anterior pero con un c lear en modo síncrono. sin esperar la llegada de un flanco activo de reloj.FreeLibros.SUBSISTEMAS SECUENCIALES 231 Las entradas de control de los biestables.Escritura iyvrite) o carga {load) en paralelo. carga o inhibición). mediante la que los n bits del dato son almacenados a la vez.me . introduciéndose por n entradas In_]To • . Existen dos operaciones básicas: . pueden tener dos modos de operación. en función de si para su ejecución esperan o no la llegada de un flanco de reloj. descritas con anterioridad (clear. REGISTROS Los registros son circuitos capaces de almacenar palabras de n bits. con operación de clear asincrono y la respuesta temporal para una secuencia de entrada de control. recibe el flanco activo en la entrada de reloj.Desplazamiento {shift). mediante la que los n bits del dato son almacenados en www. el contador se pone a 0 cuando. síncrono o asincrono. En ella se observa que. inmediatamente después de que se activa clear. X Operación Puesta a cero Cuenta arriba clk . el contador se pone en el estado de cuenta 0 . La forma más 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. I3 I2 Ij Iq ^2 0 0 0 0 1 C1 co 0 0 0 1 1 1 1 0 . . con este valor se determina qué bit hay que introducir en el siguiente desplazamiento para aportar otro bit de la secuencia. Además. en la realización de máquinas secuenciales cualesquiera. Para ello. el registro es cargado a un valor inicial.232 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES serie. Esta operación puede ser a derecha (shift right) introduciéndose el dato por una entrada Rin. de “permanecer en el estado actual” (acción de inhibición). i = 0) i = 3) clk 4 í-i — 4i+i — 0 1 \ \ 4í — 2 ) Li — 3 / 10 / C| c0 Cl „4i Di 4i / \ . son síncronas.. el subsistema sustituye a los biestables en el esquema general de circuito secuencial. etc.ej. los ascendentes) implementan los cambios de estado con la fun­ ción de cuenta siempre que esos estados tengan asignados códigos de estado ascendente. donde se ha supuesto que todas las operaciones.. llamado así porque incluye todos los modos de escritura posibles. y así sucesivamente. Si se puede realizar un circuito combinacional que genere las señales de entrada del contador (control y datos) adecuadas.me . además de para sus propias tareas específicas. salvo la de borrar. así. www. clear. Tam­ bién incorporan la funcionalidad de “pasar al estado de código 0 ” (mediante la acción de clear). podemos citar otras dos aplicaciones: .Los registros de desplazamiento se usan para generar secuencias cíclicas.- Operación SHL SHR LOAD INH CLEAR R¡n c2 Cl R[4] Co — U SO 43 42 4i 4o SOr Para el diseño de registros hay que tener en cuenta el modo de funcionamiento asincrono o síncrono que pueden tener algunas entradas de control. clk - DISEÑO DE FUNCIONES CON SUBSISTEMAS SECUENCIALES Los contadores y registros pueden usarse. uno a uno.FreeLibros. o a izquierda (shift left) entrando el dato por la entrada L¡n. En la siguiente figura se muestra la estructura de una celda genérica para el registro de la figura anterior. . el contador podrá ser el dispositivo de memoria de ese circuito secuencial. En la siguiente figura se muestra el esquema y estructra interna de un registro universal de 4 bits.Los contadores (p. y durante el resto del intervalo. .Determ ine la secuencia de salida del contador m ódulo-5 de la figura en función de la evolución de las entradas x.. lo que provoca el decremento del estado de cuenta en estos ciclos y. Esto provoca una inhibición para el siguiente ciclo. PROBLEM AS RESUELTOS P ro b le m a 1. En el ciclo S7 se produce un clear asincrono que pone el contador a 0. Sj el intervalo comprendido entre el primer flanco ascendente y el segundo. causado por las señales de control x e y en el instante en que se generó el primer flanco ascendente. Durante este ciclo las entradas se mantienen a 0 lógico. S5 y S6. Durante este ciclo y los dos siguientes. y así sucesivamente. en el ciclo S 9 . Esta situación se prolonga hasta el final del ciclo Sg. De este modo. se produce una situación de incremento del contador. xy = 0 0 . Para el ciclo Sj se ha producido un incremento del estado de cuenta. En el ciclo S4 se produce el decremento. lo que provoca que se seleccione la operación de cuenta descendente. y se produce una transición en la entrada x. Para el ciclo S 3 el estado de cuenta es el 2. . es síncrona y depende del flanco de reloj para su ejecución. por lo que el estado de cuenta actual es el 1.Diseño de subsistemas secuenciales: contadores y registros.Diseño de funciones secuenciales con subsistemas.Análisis de circuitos con contadores y registros. y.SUBSISTEMAS SECUENCIALES 233 índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . por tanto la operación seleccionada es la cuenta ascendente. (xy = 10 y 00). www. el contador estará a 0 puesto que la siguiente combinación. Esto es debido a que las entradas al final del ciclo anterior estaban a 0 lógico. x Contador y módulo-5 _A_ clk I JLX operación up 00 0 1 1 0 1 1 down clear asincrono inhibición clk /n /n /F i /F i /n /n /H /n /n n J Z 2 . El valor de cuenta en el ciclo S 2 es el 2. las entradas se mantienen con el mismo valor.FreeLibros. Para la primera. en el S7 . a su vez. se produce un clear asincrono que provoca que las salidas del contador se pongan a 0. Por último. Solución P l. En él se producen transiciones en las entradas x e y que se encuentran a 1 lógico al final del ciclo. En el intervalo Sq tenemos dos combinaciones de entrada.Sea Sq el intervalo de tiempo comprendido entre t = 0 y el primer flanco ascendente de reloj (ver siguiente figura)..me . U p /C lear= 1. f) C argar datos en paralelo. e) C ontar hacia abajo.FreeLibros. d) C ontar hacia arriba. Como se observa en la siguiente figura. Estos deberán ser disparados por flanco ascendente.-E1 contador sólo tiene dos modos de operación: cuenta ascendente. P ro b le m a 3 .Analice el circuito de la siguiente figura. la operación de puesta a cero se activa para los valores de cuenta 6 y 7. considerando que la operación de clear es síncrona. sólo necesitaremos para su realización dos bi­ estables. Solución P3. Se trata de un contador módulo 7 sin bloqueo.. y puesta a cero síncrona. manteniendo el estado almacenado. CONT[3] u P/clear clk & Solución P2.me .. c) Inhibirse de la cuenta.Al ser un contador de módulo 4. tener entrada asincrona de clear www.Diseñe un contador módulo 4 que tenga las siguientes características: a) S e r síncrono y disparado p o r flanco de subida. Para el resto de los estados tenemos la operación de cuenta ascendente. U p /C le a r= 0. b) S e r puesto a 0 de m anera asincrona.234 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES clk x A So s3 s4 s5 s7 H r~i n n n i~i n S1 s2 s6 s9 s8 m y [CONT] o X T T )r~ r^ r~ o ~ ^ rr~ y 3 x : o x ~ t P ro b le m a 2 .. reduciendo así el circuito de decodificación. por lo que sus entradas deben ser 0 : T0 = 0 T. siendo D¡ el dato a cargar en cada biestable. Vamos a plantear a continuación una posible solución. \ q www. como línea de activación de las entradas de clear de los biestables. = q 0 Si C]Cq = 01. directamente. tenemos inhibición. Para no tener demasiadas líneas de control.FreeLibros. Supongamos que la carga en paralelo y la inhibición son operaciones síncronas. Para cada una de las operaciones restantes habrá que determinar las expresiones de entrada de cada uno de los biestables. por tanto las entradas serán: T0 = 1 Ti = q 0 Si C]Cq=10. si los biestables son de tipo T. D. Una posible codificación es la mostrada en la siguiente tabla: C2 C1 Co 0 0 0 0 1 0 0 1 1 - 0 1 1 0 - Operación Up Down Load Inh Clear Esta codificación permite utilizar C2 . para que se genere el funcionamiento global especificado. las entradas serán: T0 = 1 T.1) nos basamos en la siguiente estructura. Los biestables no deben cambiar de estado. tenemos la carga y para determinar las entradas de los biestables T¡ (i =0. por lo que tres líneas serán suficientes (2 para las operaciones síncronas y 1 para la asincrona). tenemos cuenta ascendente y.SUBSISTEMAS SECUENCIALES 235 y disponer de una señal de reloj común. esto hace un total de 4 operaciones síncronas (contando la cuenta ascendente y descendente).me 0 1 0 1 1 0 . tenemos cuenta descendente. es conveniente codificar las operaciones. Si C[C0 = 00. =0 Si C[C0= 1 1. la señal de carry del primero se emplea como reloj del segundo.El contador que tenemos que diseñar con biestables JK debe ser de módulo 6 e incrementarse cada vez que el contador de módulo 1 0 alcance su último estado de cuenta.------------------------------------------------------------- En esta solución no influye el tipo de flanco que se escoja para los contadores. la entrada será 1. i— i o— ci qo T0 _ qo A qo — 0 1 qo 2 o Di _ qi — Cj c 0 \ c lk ‘ P ro b le m a 4 .236 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Si el dato a cargar coincide con el estado del biestable. Solución P4. = q. eso sí. para asegurar que los contadores cambien al mismo tiempo que el flanco de disparo sea de bajada. En la segunda solución. c0+ l e..me . En la primera.FreeLibros. será la unión de las entradas de los biestables para cada señal de control: T0 = l e. Realice el segundo contador con biestables JK y puertas lógicas. 6 A clk -------------------------------------. sí es necesario.Diseñe un contador m ódulo-60 (0-59) utilizando dos contadores. por lo que su entrada será 0. Vamos a suponer que el contador de módulo 10 dispone de señal de carry (Cy). En el caso en que difieran. La solución. el carry del contador de módulo 10 se utiliza como señal de up del segundo contador : mod. 10 Cy A up mod. para la parte síncrona. T 0 = q 0 ©D 0 T. los dos deben ser iguales.©D. éste no debe cambiar de valor.. www. Aquí. uno de los cuales es módulo 10. Cq+0■ Cj ■ Cq+ (qo©Dq1 ■ Cj ■ Cq Ti = Ao ci El circuito resultante es: c o+ £lo c r c o+ 0 D0- qo— C1 \ __ Ti qi _ / qi 3 / 10 / / 11 C1 c0 C1 i V 310 / / Cj c 0 ^o+ A c2 . Daremos dos soluciones al problema. El diagrama de estados para el contador de la primera solución es: Para la segunda solución. 10 Cy 1 237 up mod. Construya.Un contador que cuente de 0 a 34.A partir de las especificaciones del enunciado y deduciendo que si no está activa ninguna de las 3 señales de control existe una inhibición. CARGA y CLEAR. Solución P5.Un contador mód. 6 que cuente de 0 a 5.me . 6 que cuente de 10 a 15. el diagrama de estados es aún más simple. el contador cuenta hacia arriba. 2 . 6 que cuente de 4 a 9. ya que desaparece la dependencia con la señal de entrada (siempre está cambiando de estado).. obtenemos la siguiente tabla de operación: www. c) Tiene también salida de CARRY.Un contador mód. 4...Un contador mód.. el contador se carga con datos en paralelo.FreeLibros. a ) S i C U EN TA = 1 y CARGA = 0..SUBSISTEMAS SECUENCIALES mod. puesto que ya existe un Capítulo entero dedicado a este propósito. b) S i CARGA = 1. nuestro problema ahora se reduce a obtener el contador de módulo 6 con biestables JK. utilizando como dispositivo básico dicho contador: 1. 3 .S e dispone de un contador m od-16 con las siguientes señales de control: C U EN TA .. Obviaremos los pasos para la obtención del circuito secuencial. P ro b le m a 5 . 6 ------------------------- En cualquier caso. La solución a este apartado se reduce a obtener un circuito combinacional que en función del estado del contador genere la señal de CUENTA.Para realizar un contador de 0-5 utilizando este dispositivo debemos interrumpir la secuencia normal de funcionamiento del mismo. para lo que las señales de control deberán ser (CARGA. el próximo estado sea el 0. Para ello tenemos dos posibilidades: la primera. El modo más natural. C LEA R ) = (0.CLEAR 3 2 ] o 0— I N I ( c" ) Dado que las operaciones son síncronas. generar un c le a r . CUENTA. las líneas de carga se hayan puesto a valor lógico 0. Esto hace que la señal de CARGA siempre esté a 0 y.) - CUENTA CUENTA = q 2 q0 www. qi « u 'n 00 01 00 1 1 01 1 11 1 (° 10 1 K- - 11 - . puesto que CUENTA es prioritaria. deberemos generar la operación de clear en el estado 5.238 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Operación Carga Cuenta CARGA CUENTA CLEAR 1 0 1 1 0 0 0 0 0 - Clear Inhibición Suponemos que todas las operaciones son síncronas. forzándolo a que pasado el estado 5 vuelva al estado inicial. Las operaciones a realizar con este contador son dos: cuenta y clear. -) y (0. sería el utilizar la señal de clear. 0.. C AR G A CUENTA 1------. cuando se reciba el siguiente flanco de reloj.FreeLibros. en este caso. 1. la señal de CLEA R puede estar a 1. una carga en paralelo donde. la segunda.me 10 - . el 0 . 1) respectivamente. 1. para que. previamente. generamos un c lea r cuando el valor del conjunto de las líneas que forman los dos contadores sea 34 o lo que es equivalente. utilizaremos las operaciones de carga y cuenta. sus líneas de control provocarán una cuenta ascendente o un reset. que las líneas qj de los dos contadores sean 1 y el resto 0. 00 01 11 10 00 - 01 !- u 0 0 1) 0 10 0 0 CARGA CARGA = q 2 • q. CUENTA. podemos decir que este circuito no sufre situación de bloqueo. Las señales de control deben ser: (CARGA. Asimismo. 2.Para diseñar un contador que cuente de 10 a 15.1.C. CLEAR) = (1.-.FreeLibros.-) para carga y (0. salvo que ahora se activa la señal de CARGA en el estado de cuenta 9. y el dato a cargar es el 0100. 1 0 J 1 0 I CARGA CUENTA CLEAR 32 10 c L clk C.SUBSISTEMAS SECUENCIALES 239 Como anexo al apartado. • q 0 3. siempre se llegará a la secuencia de estados prevista. Este apartado es igual que el anterior. la línea de CUENTA la dejamos a 1.me . El K-mapa para la función carga es: q2 Ql Q n'v'. Por tanto. Podemos deducir directamente la expresión de la señal de c lear como: CLEAR = q?-qj donde el superíndice distingue el contador. Por tanto. CARGA = q 3 ■q 0 4. www. La señal de carry del primer contador la utilizaremos para incrementar al segundo. la de CLEAR puede tomar cualquier valor y la señal de CARGA la generamos en función del estado de cuenta del contador.. Para este apartado es necesario utilizar al menos dos contadores. Las líneas de carga del contador deberán tener el número 1010 correspondiente al estado inicial. porque si inicialmente se da un estado fuera del rango.-) para cuenta ascendente. 0). se realizará cuenta ascendente y cuando esté a 0 un clear. de modo que cuando esté a 1.1.0. para lo que las entradas de control deben ser (0. Todos los biestables van a utilizar la misma señal de reloj. En particular. c) Tener las cuatro formas de operación siguientes: Inhibición Desplazamiento a la izquierda.FreeLibros. Solución P 6 . CUENTA se conecta con la señal de carry del primer contador y clear se activa en el estado de cuenta 34. Entonces.CLEAR) deben tomar los valores (0..240 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Las operaciones a realizar por el contador dos son: inhibición. Para ello podemos dejar CARGA a 0.Utilizaremos 4 biestables tipo D.CUENTA. En la siguiente figura se muestra el resultado final: clear. P ro b le m a 6 . para cada biestable D tenemos que: www. Carga de datos en paralelo.1).-) y (0. (0.1).0.me .0. La señal de CUENTA la obtendremos invirtiendo la señal que se activa cuando se alcance el estado de cuenta 34.. las operaciones a realizar son: cuenta ascendente y clear. debe cum plirlas siguientes especificaciones: a) S e r síncrono y disparado p o r flanco positivo de reloj. Para el contador CONT1. b) Tener entrada de puesta a cero asincrona. La codificación que podemos realizar para las 5 operaciones de control es: C2 Cl co 0 0 0 0 0 1 0 1 1 0 1 0 1 XX Operación SHL SHR LOAD INH CLEAR ^in c2 ~ C1 — c0 ~ SO. el resto de las operaciones son síncronas. Desplazamiento a la derecha. cuenta ascendente y para lo que las entradas de control (CARGA. disparados por flanco de subida y con entrada asincrona de C1 activa en alto. CLEAR a 1 y controlamos la entrada de CUENTA.-) y (0.Diseñe un registro universal de 4 bits. — L„ 93 92 9i 9o Supongamos que salvo el C LEA R . Para ello CARGA se puede poner a 0.1. c 0 +L 3 c. (Linsi i = 0) (Rinsi i = 3) ' cl c 0 clk P ro b le m a 7.Lin c. las entradas son: D' = qi-i i =1. Si c 2 = 0. c 0 +q. Utilizando conexiones y circuitería externa adicional a ese registro: www. ■ c 0 +L 2 Cj c 0 D 3 = q 2 -C] c 0 +Rin c. c 0 +q 3 o.2.FreeLibros. c 0 +q 2 c. D 0 . Esto se puede hacer si utilizamos c 2 exclusivamente como señal que actúa sobre las entradas clear de los biestables.me .3 Do = L. c 0 D] = qo CrCo +ch ^ r co+cli c i Co +Lj c. = qui i =0 .La figura muestra un registro de cuatro bits y sus operaciones. las entradas son: D. c 0 +L 0 c.1 ..„ Si c 2 C]Co = 001 (desplazamiento a la derecha).SUBSISTEMAS SECUENCIALES 241 Si c 2 C]Cq = 000 (desplazamiento a la izquierda). c 0 D 2 = qi •C] c 0 +q 3 c. el estado futuro del biestable depende del valor de su entrada y del estado presente. Cuando c 2 = 1. el biestable se pone a 0 independientemente del valor de su entrada síncrona.2 Di = L: La expresión para la entrada de cada biestable se obtiene uniendo las expresiones anteriores para cada entrada de control. En la siguiente figura aparece el circuito correspondiente a la celda i del registro. Cj c 0 +q 0 c. c 0 En las expresiones anteriores se ha eliminado la variable c2. En la siguiente tabla. ^ 3 2REG1 0 Ck 93 92 9i 9o T SO b) Construya un registro con desplazamiento circular a la derecha y complete el diagrama temporal mostrado si cuando se activa la señal de carga (L) e l valor de las entradas es X 3 X 2 X 1X 0 = 1 0 1 0 .. = qj. www. SI: Entrada en serie. 2. tendrá carga en paralelo. SO: Salida serie.. el desplazamiento a la izquierda. L: Carga en paralelo. los datos de entrada al registro deben ser los propios de la carga. 0 0 1 1 lo 0 1 0 1 SH 0 0 1 0 L 0 1 1 - Operación Inhibición Carga SHR SHL Asimismo. El registro a diseñar debe tener dos señales de control que permitan la realización de cuatro operaciones distintas. 2.242 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES a) Obtenga un registro universal de cuatro bits. para lo cual tenemos que X.FreeLibros. X¡ = D¡ para i = 0. 3) y X 0 = SIL.. y "no-cambio" (inhibición). se debe realizar el desplazamiento a la izquierda. 1. I. Si I[I0 = 01.. Si IjIq = 11. necesitamos controlar los datos de carga en el registro. 3. desplazamiento a derecha e izquierda.. Llamemos a estas señales Ij e Iq. a) Para conseguir la única operación no disponible. esto es.j para (i = 1. aparece una posible codificación de éstas y su relación con las señales a activar en el registro.me ..SI) 3 2 10 C'TTi ol L . ( Esta es una entrada adicional que añadiremos para la realización del registro universal... clk L _J SH __ SO Solución P7.clk SH: Desplazam iento a la derecha. 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. o sea. La salida del desplazamiento a la izquierda será SOl= q 3 ). SH L 0 0 0 1 1 - X3 X2 X] x 0 SI REG <— REG X3 -X q SHR(REG. L . I 0 0 L=Ir 1 :i 1 '. 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. +q.FreeLibros. I^ +q„ I.I. SOL b) El registro circular se construye realimentando la salida qg con la entrada SI. por lo que la ausencia de I() no afecta a la operación del dispositivo. X. Puede observarse que en las expresiones anteriores se ha eliminado la dependencia de Iq. Cuando estas últimas están activas. +SIL I. De la tabla inicial.Esta entrada sólo sirve para distinguir entre la operación interna de carga. diseñar el circuito que adapte las señales de control I¡ I0 a las del registro SH y L.SUBSISTEMAS SECUENCIALES 243 Uniendo las expresiones anteriores. = D 2 I. lo oX x x2 SH X3 REG T >1 q3 q2 qi qo /\ Ck _F so. podemos sacar las expresiones algebraicas siguientes: 0 1 SH = I. +I0 El circuito resultante es: - d 3 q2 d 2 qi d. Nos queda. I. por último. qo d 0 sil I. nos quedan las ecuaciones siguientes: X-. los valores de las entradas de carga son indiferentes. X 0 = D 0 I.me . +q2 Ij X 2 = D 2 I. www. = D. y las restantes (desplazamiento a derecha e inhibición). Por último. P ro b le m a 8 . Partimos de la siguiente estructura: www. las señales de control L y SH están respectivamente a 1 y 0 lógicos.. Las salidas D Z deben ir conectadas a un B U S compartido. Supongamos que inicialmente el contenido del registro es desconocido. Para los últimos tres ciclos.me . b) Añada a i diseño realizado en el apartado anterior un circuito para que cada función del registro se ejecute activando una única línea.FreeLibros. a) Diseñe e l registro utilizando puertas y biestables de tipo T con entradas de P R E S E T y C LEA R activas en alto (H). ) x2 X. E l B U S EB es bidireccional. en cada momento con el bit menos significativo. Las salidas al bus DZ deben soportar alta impedancia por ser este un bus compartido. En los cinco flancos siguientes las señales de control provocan el desplazamiento sucesivo del contenido del registro. La salida SO se corresponde.o . para evitar las colisiones entre la salida del biestable y el dato de entrada. Xo 0 0 1 0 1 0 0 1 1 0 0 0 1 ■ Operación sobre REG[8] Lectura desde DZ Escritura en REG Lectura desde EB Puesta a cero síncrona Puesta a cero asincrona 8..Diseñamos una celda de este registro. DZ[7-0] REG[8] y 8/ ' EB[7-0] >f Solución P 8 . Esto provoca una carga en paralelo. En esta parte pueden utilizarse subsistemas como elementos de diseño.244 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES clk L SH [REG] SO rm j>cgTüi><jimixrmn><dTnT^ 0101 tam ___rzzzi__ izzzi m z Para dibujar la forma de onda de la salida del registro debemos tener en cuenta que los cambios en la salida suceden en los flancos de bajada de la señal de reloj. A partir de este ciclo ya es conocido el contenido del registro. X2 Xi X.La figura representa un registro de 8 bits cuyas funciones son las especificadas en la tabla. Cuando se recibe el primer flanco activo. el registro se inhibe por lo que no se altera el contenido. Estos buffers se usan también en la salida EB. Para esta salida utilizamos buffers triestados. SUBSISTEMAS SECUENCIALES 245 A¡ y Bj son las entradas de control de los bujfers triestado y D¡ la entrada de datos que se obtiene del bus bidireccional. A la señal Cl podemos asignarle directamente la variable X 2 .me .X0 000 00 1 0 10 0 1 1 1. el registro se pone a 0 independientemente de las restantes señales de control. no se utiliza por lo que podemos fijarlo a 0.FreeLibros.- 0 0 Clj Pq 0 0 0 0 0 0 0 0 1 0 Operación Cero síncrono Lectura DZ Escritura Lectura EB Cero asincrono Hemos supuesto que los buses se encuentran en alta impedancia siempre que no se haga una operación de lectura que los afecte. Por tanto. X0 B¡ = X 2 Xy X 0 En este caso hemos preferido no eliminar la dependencia de X 2 para asegurar que se produce la lectura solamente en los casos que se especifican en el enunciado. El circuito combinacional C. Cuando X 2 tome el valor 1. debe generar las señales T¡. como se observa. Clj y Pq. es: Tj q¡ 0 Aj Bj 0 0 1 0 0 O D¡© q¡ 0 0 O X2X. La tabla de funcionamiento para C. Esto nos sirve para independizar la expresión de T¡ de la variable X2. El circuito resultante queda como: www. Para no extender demasiado el diseño.C. del estado actual y el dato de entrada Dj. Bj. Pr. Para las entradas de control de los bujfers tenemos: A¡ = X2 X.C subsistemas combinacionales. vamos a utilizar para el circuito C. A¡. podemos deducir que: T¡ = q¡ Xj Xo +Djeqj X.C. X 0 Esto se podrá realizar con un multiplexor de 4 canales. en función de las señales de control X¡. En cuanto a las señales asincronas. 16 1 2 3 |<----------------^ 4 5 6 7 8 9 10 11 12 13 14 15 16 1 secuencia para X = 1 secuencia para X = 0 > ^ ! Solución P9. * 1 . b) Diseñe un circuito que genere Ia secuencia de palabras dadas en e l diagrama de tiempo de la figura utilizando e l contador anterior y una ROM. si X está a 1. Si suponemos que la señal de clear (Cl) es activa en alta.a) Diseñe un contador síncrono con una entrada X.246 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 9 .FreeLibros. - 0 Cl www. a) Utilizaremos un contador módulo 16 con puesta a cero síncrona. de forma que sea un contador de m o d -16 para X = 0 y de m o d -12 para X = 1. Si la entrada X está a 0.me . sólo le dejaremos recorrer los 12 primeros estados. tenemos: X=1 ^3 ^2 a iü ^ 00 01 11 10 00 0 0 - 0 01 0 0 - 0 11 0 0 10 0 0 . lo dejaremos recorrer los 16 estados. para lo cual generaremos un clear cuando el estado de cuenta sea el 1 1 en decimal.. para cada ciclo de reloj o estado del contador). la dirección 0 de la ROM deberá tener precisamente este contenido. zd) = (1.. para los 16 posibles estados. 1..SUBSISTEMAS SECUENCIALES 247 La expresión algebraica para C1 es: C1 = q 3 q i q 0 El circuito resultante es: A qo qi q2 Cl q.. zb. Por tanto. tenemos la siguiente tabla de programación de la ROM: Dirección $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $A $B $C $D $E $F Contenido $A $E $5 $1 $4 $6 $6 $F $B $9 $5 $3 $A $0 $c $3 www. que corresponderán con las líneas de salida del contador) y cuatro bits en cada posición (valores de las salidas za. 0).. exigiremos que la ROM posea 16 posiciones de memoria (4 líneas de dirección.0).FreeLibros. . Repitiendo este paso para todos los ciclos. o sea. . En cada ciclo de reloj tenemos un estado de cuenta para el contador y una dirección activa de la ROM cuyo contenido se mostrará en las salidas za. zc.. zd.0. 1. las salidas za. 0. las salidas (za. zc y zd correspondientes. Si para el ciclo 0 ( estado de cuenta 0). Con esta última será posible generar. zb.3 clk X & b) Para generar la secuencia deseada utilizaremos el circuito anterior y una ROM.me . (1. Para implementar una transición entre estados tenemos distintas opciones: a) generar una carga con el código del estado próximo. señal de puesta a 0 (clear). y c) una puesta a cero. cuando el código del estado próximo sea el cero. Utilice un 74LS193 y las puertas necesarias para realizar el diagrama de estados de la figura. La particularidad de implementar diagramas utilizando estos dispositivos está en la posibilidad de “adaptar el diagrama" al funcionamiento natural del contador.248 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 10. De www. utilizando únicamente la operación de carga sí sería posible realizar cualquier transición entre estados aunque a costa de un circuito algo más complejo... hemos asignado códigos consecutivos a los estados presente y próximo.Cualquier diagrama de estados puede realizarse físicamente mediante el empleo de contadores. Un valor de cuenta en el contador representa un estado del diagrama y el cambio de cuenta una transición entre estados. El primer paso consiste en asignar códigos consecutivos a los estados. no podríamos implementar cualquier diagrama de estados. asignaremos códigos consecutivos a la secuencia de estados A-B-C-D-E-F-G.me . de forma que las transiciones entre ellos puedan ser descritas mediante operaciones de cuenta. b) activar una cuenta ascendente ó descendente si. en la mayoría de los casos.FreeLibros. Para nuestro problema. e inhibición. Si utilizáramos sólo la operación de cuenta (up/down ) y la de puesta a cero (cle ar). Sin embargo. será necesario que el contador realice las transiciones utilizando tanto la operación de carga como las de cuenta y puesta a cero. podemos decir que. Esto conlleva un estudio preliminar del diagrama con el objeto de hacer un asignamiento de estados apropiado y una simplificación de las señales de control necesarias. eliminaremos en lo posible la operación de carga. Por esto último. En general. ya que pueden presentarse casos de transiciones no realizables. también síncrona. previamente. Clear Load _ 0 1 0 1 1 1 1 PT _ - 0 1 Operación CONT = 0 CONT= D CONT = CONT CONT = CONT + 1 P T Clear Load Ü3 D2 D i D0 93 92 9i 9o Solución PIO.El circuito integrado 74L S 193 es un contador síncrono de 4 bits con carga en paralelo. www. Estado C. asignar la cuenta 0 al estado A. Estado F. el número de estas operaciones sería mayor (esto es equivalente a elegir como estado 0 a aquel estado que reciba el mayor número de transiciones).Una transición hacia el G mediante up y otra hacia el estado D mediante una operación de carga con el valor 0011 (3 en decimal). Como podemos ver.. Estado G.Tiene una transición hacia el estado A que realizaremos con clear y otra hacia el estado D que haremos con up. El valor que pondremos en la entrada paralelo es el 0 1 1 0 ( 6 en decim al).Sólo tiene una transición hacia el estado B.Una transición hacia el F mediante operación de up y otra hacia sí mismo que realizaremos con operación de inhibición (o bien de carga).Una única transición hacia el estado A que realizaremos con clear. de las cuales sólo nos son útiles tres... es de dos. el contador dispone de cuatro salidas. existen varias soluciones. Estado B....Tiene una transición hacia el estado E que realizaremos con up y otra hacia el G en la que tendremos que utilizar la señal de carga. Esto se consigue con operación de cuenta ascendente (up). el número de operaciones de carga distintas. Para nuestro ejemplo. salvo el paso del estado G al A.. ignorando el valor de q3. de las señales de control anteriores y de un mínimo de 7 estados de cuenta. vamos a hacer una reducción previa. El segundo paso consiste en asignar el estado de cuenta cero. al D o al G. la tabla de asignación de códigos queda: Estado A B C D E F G Asignación 0 1 2 3 4 5 6 Una vez elegida la asignación. escogeremos aquel estado que simplifique el número de operaciones de carga. todas las transiciones (A-B. . mientras que.me . Si escogemos. Vamos a hacer la asignación. Operación de cuenta ascendente {up). para realizar el diagrama. recorremos nuevamente el diagrama de estados para conocer las operaciones que se necesitan en el contador: Estado A. El siguiente paso consiste en obtener las expresiones algebraicas que relacionen las señales de control a activar y datos de carga con el estado presente del contador y la entrada X. B-C. por ejemplo el A. Estado D..FreeLibros. En general.) pueden ser realizadas sin más que activar la señal de cuenta.SUBSISTEMAS SECUENCIALES 249 esta forma. Estado E. Podemos deducir que el contador debe disponer.Sólo tiene una transición hacia el estado C. De este modo. Para simplificar esta tarea. por tanto.. el contador de la figura cumple con todos estos requisitos. ya que el diagrama tiene siete estados. si hubiéramos escogido cualquier otro estado. me - - - - - - - - - - - . hemos fijado D 3 y Dj a 0 y 1 lógicos respectivamente. o bien -110 (estado G).- d 2 Do - - - - - - - - 1 0 0 1 _ - - _ - - - - - - 1 1 1 1 1 1 - www.FreeLibros. La tabla de verdad del circuito combinacional se muestra a continuación: X 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 92 9i 9o 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Clear 1 1 0 1 1 1 0 1 1 1 1 1 1 0 Load 1 1 0 1 0 _ _ p T 11 1_ _1 __ 0 __ _ _ 1 1 1 1 1 1 1 1 1 1 1 1 . queremos diseñar un circuito combinacional que active las señales de control apropiadas para generar las transiciones de estado representadas en el diagrama de estados. puesto que los datos que cargamos son.250 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Estado A B C D E F G 93 92 9l Qo 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 - - - Partiendo de esta asignación y teniendo en cuenta la entrada X. o bien -011 (estado D). d 0 93 92 9i 9o En la figura. 0 P T Clear Load 1 D3 d 2 d . para la entrada 0100 del circuito combinacional. Ésta la podemos conseguir a partir del carry del contador CONTE Además. debe cambiar de estado cada 10 minutos. Diseñe un reloj digital que muestre las horas y minutos. Solución Pll. a partir del funcionamiento del reloj. de forma que P T = 0. CL 2 . La salida binaria de estos contadores puede actuar como entrada a los displays de 7 segmentos como recoge la siguiente figura: El contador CONT1 debe ser capaz de cambiar desde el estado 0 al estado 9 en cada minuto o ciclo de reloj.Se dispone de una señal binaria con periodo de 1 minuto. Los estados que puede recorrer van desde el 0 al 5.respectivamente. Como las únicas operaciones que pueden realizar estos contadores son la cuenta arriba y el clear. que necesitaremos dos contadores para los minutos y otros dos para las horas. se han escogido para P y T los valores 0 y . con entrada de clear síncrona activa en alta y salida de acarreo (carry). nos vemos obligados a dotar a este contador de una señal de reloj de 10 minutos. visualizadores de 7 segmentos con entradas B C D y puertas lógicas.q 2 q 0 www.+q 0 q 2 +X q 2 = qi / LOAD = q 0 +q. Las ecuaciones de salida para el circuito combinacional son: P = cf2 +X t =1 Do = q 2 D 2 CLEAR = q.. contadores de módulo 1 0 disparados p o r flanco negativo. activaremos la señal de clear.me .FreeLibros. cuando el estado de cuenta alcance el valor cinco. q 2 +X y P ro b le m a 11.SUBSISTEMAS SECUENCIALES 251 En la tabla anterior. CY l 93 CONT 1 CL j 92 9i 9o A u 0 clk ("lmin") El contador CONT2.-Podem os deducir. FreeLibros. La ecuación para la señal CL 3 es: CL3 = qí • qj • q« Por último. el contador CONT2. cada 60 minutos. o sólo hasta el tres (cuando [CONT4] = 2). o bien cuando el reloj se encuentre en la situación 23:59. clk CY.252 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES El superíndice de la expresión anterior hace referencia al contador del que extraemos las salidas q¡. utilizaremos la salida de carry del contador CONT3. la señal q0 tendrá un periodo de dos horas y la q¡. utilizaremos la señal de clear del contador CONT2. Por otro lado. Para la segunda. el contador CONT4 debe tener una señal de reloj que lo haga cambiar de estado cada diez horas. cl2 . En este caso. Si nos fijamos en la ilustración anterior. Esta señal de reloj la podemos obtener uniendo mediante operación OR. www. por tanto. debe alcanzar hasta el valor nueve (cuando [CONT4] < 2 ).me . clk La siguiente figura representa un análisis temporal de las señales que intervienen en el minutero. Para la primera. Éste debe cambiar de estado cada 60 minutos y. esta señal genera un flanco negativo. en función del estado del contador CONT4. debemos activar la señal de clear (CL3) cuando [CONT4] = 2 y [CONT3] = 3. con otra con periodo de cuatro cuando el [CONT4] = 2. utilizaremos la salida qj del contador CONT3 (ya que las salidas de un contador actuán como divisores de frecuencia y. una señal binaria con periodo de diez horas. de cuatro). Para su entrada de reloj. cuando [CONT4] < 2. sincronizado con la señal clk. como la entrada de reloj del contador CONT3 tiene un periodo de una hora. coNT] t x z X E X ^ ziz z x ix z x ó z :::: z x i x z x l C O N T 2 o ~X ~T~ 4 X " l~ I Z I 5 ~>To~ El diseño del contador CONT3 es algo más complejo. -Existen múltiples soluciones a este problema...FreeLibros.Diseñe un circuito que genere la secuencia: 1.. 1. 0. b) Basado en un registro de desplazamiento. 1. ‘1 [CONT4] I___ x. q{ +CY 3 CL 4 = q¡ El circuito resultante se representa en la siguiente figura: La siguiente figura ilustra el comportamiento temporal de esta parte del circuito. Esto se consigue con la señal de control X. y colocando en las entradas de carga los bits de la secuencia. el registro necesita ser cargado con la secuencia. 1 )0 13 v shl/load Lin clk En este caso. a) A partir del diagrama de estados. 0.me . 0. CY.SUBSISTEMAS SECUENCIALES 253 La señal del clear la activaremos cuando [CONT4] = 2.. donde la salida q5 se conecta a la entrada L¡n para la generación periódica de la secuencia. dk3 _ J L _ T L _ _JL_JL_JL_JL_n__n T [cont3] ~ 8~ > T 9Z > < ó .. Vamos a plantear algunas. Si X = 0 se www. Obteniendo el circuito utilizando el método sistemático de síntesis de circuitos secuenciales. CLK 4 = q. Solución P12. x: P ro b le m a 12. 0). tendremos que diseñar 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 L¡n. Puesto que este registro no puede almacenar la secuencia entera.1. el registro de desplazamiento debe tener 3 biestables ya que se necesita. C. Para determinar el circuito se procede de la siguiente manera. se realiza el desplazamiento a la izquierda en cada ciclo de reloj.0). y si X = 1. Por tanto.0. por lo que el circuito combinacional debe generar salida 0 para entrada (1.FreeLibros. q 2 qiQo = (1*0. obtendremos la tabla siguiente: r* q2 qi qo Lin i 0 0 i 0 i i 0 0 i 0 i i 0 0 1 0 1 1 0 0 1 1 0 0 1 — 0 1 www.0).1. pero con un número de biestables inferiora los bits de la secuencia a generar. La secuencia normal de funcionamiento para este registro. El próximo bit a introducir por L¡n será ahora 1. El próximo bit de la secuencia que debe ser introducido por Ljn es el 0. 6 estados. o sea. al menos. q 2 qiqo = (1. donde se ha supuesto que la carga es asincrona. cik n n n n n n n_rn x n i------------------------------------------- [R] ~ X íiooio XiooioiXooTóTl><oioiioXionoo/onoo!><iiooio>r~ c) Usando un registro de desplazamiento. se muestra en la siguiente figura.254 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES carga el dato externo.me . Si repetimos este proceso.0).C. Supongamos ahora que se recibe un flanco de reloj. El contenido del registro se desplaza hacia la izquierda y el valor de Lin pasa a ocupar la posición menos significativa. Como mínimo. generará salida 1 para entrada (1. Supongamos que inicialmente se encuentran almacenados en el registro los tres primeros bits de la secuencia. por tanto podremos generar esta función mediante un circuito combinacional. El K-mapa para nuestro problema es: qo 00 (0 01 0 0 11 10 /"A 1 0 - u Lin de donde obtenemos la siguiente expresión: Au = Í2 <io + Cl2 En este tipo de soluciones se pueden plantear problemas de bloqueo. ROM.). . para cada entrada obtenemos un único valor de L¡n. el 0 0 1 . El contador se utiliza para generar la secuencia de estados. Es entonces. sí pertenece a la secuencia y a partir de aquí. cuando obtendremos el circuito asociado. PLA. el generador quedaría como se muestra: www. Igualmente. que no estén contempladas. En nuestro ejemplo no existe bloqueo. 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. el próximo estado.me . deberemos aumentar progresivamente el tamaño del registro de desplazamiento hasta que a cada entrada sólo le corresponda una única salida del circuito a diseñar. también pertenece a la secuencia. La lógica 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.FreeLibros.C. el próximo estado.. Esto puede originar situaciones de entrada para el C. Inicialmente. Las únicas dos entradas que no están contempladas son la q 2 qiqo = 000 y la q 2 qiqo = 111.. si se utiliza un multiplexor.Si inicialmente se da el estado 000. En tal caso. Por ejemplo. Estas entradas pueden llegar a provocar una secuencia de salida que no coincide con la prevista.SUBSISTEMAS SECUENCI4LE5 255 Como puede observarse. d) Utilizando contadores y lógica combinacional (MUX. el funcionamiento es correcto. el 110. Es probable que en muchos diseños aparezcan entradas idénticas que generen salidas distintas para L¡n. si se da el estado 111. otro método sería asignar a aquellas entradas inespecificadas valores de salida que provoquen la incorporación a la secuencia válida. el estado del registro es indeterminado. el valor de Z se toma como entrada de desplazamiento del registro..L. q0+X q2 qi q0 PROBLEM AS CON SOLUCIÓN RESUMIDA Problema 14..L. Diséñelo con biestables J K y puertas lógicas. En la siguiente figura se representa la secuencia de salida para los primeros 5 ciclos de reloj.L..Utilizando como base un registro de desplazamiento. Problema 15. el registro almacena los valores de la entrada en los últimos tres ciclos y. diseñe un autómata de M ealy que funcione como detector de las secuencias: 1111.. / — i c ..ShR REG In 0 2 Oí Oo X — . junto con el valor actual de X..Con carácter 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.C.me .. . \ ----------.Este problema utiliza el registro como elemento almacenador de los bits de la secuencia a detectar. Solución P13. clk [reg] z / I V I ^ I 'I' I V I V > no >k: ni >¡<i on >í< ooi >j<í ioo >k:: oio . En un diseño de M e a ly podemos emplear la variable de entrada X en la expresión de la salida.— De este modo.. Z = X q2 q. puede generar la salida Z.Represente la salida del circuito de la figura siguiente durante 5 ciclos de reloj suponiendo que el registro tiene alm acenada la palabra 1 1 0 inicialmente y que la única operación disponible para el registro es el desplazamiento a la derecha. www. q0 +X q2 q. La expresión algebraica para Z es la misma que la del problema anterior pero cambiando q 3 por X... E l contador debe ser síncrono y podrá ser puesto a 0 (clear). 011 0 ó 0001.. el C.c ..FreeLibros..Diseñe un contador de 4 bits (módulo16) que permita carga de datos en paralelo.i ---------------> ...256 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 13. reduciendo el tamaño del registro a tres bits. De igual manera. Solución P14. es el representado en la siguiente figura: www. c) Si D=1. el contador está inactivo (no cuenta)..Se desea disponer de un contador con dos entradas de control (I y D) que realice las siguientes funciones: a ) S i l=D=0. el contador se decrementa (cuenta hacia abajo).FreeLibros.En esta solución se ha supuesto que el c lear y el load son asincronos y activos en alta. Solución P16. P ro b le m a 16. S e prohíbe que las entradas I y D sean simultáneamente 1.SUBSISTEMAS SECUENCIALES 257 Solución P15. y obtenemos los valores de entrada T¡ para cada estado presente qj. 3. el diagrama de estados.. el contador se incrementa (cuenta hacia arriba). síncrono.me . 1) Las ecuaciones para las entradas de los cuatro biestables son: T„ = I + D Ti = I ‘ Qo + ^ ‘ 9o T 2 = I-q i -qo + D -q o -q i t 3 = i q2 qi -qo + D-qj-qi q0 2) Si en las expresiones anteriores sustituimos I y D por el valor 1. 2. Diseñe uno de 4 bits. Generalice el diseño para n bits. b) S i 1=1. Indique qué ocurre si p o r error u otra causa hay entradas ID = 1 1. 1. con biestables tipo T (no utilice la tabla de estados global pues tiene 16 estados). para este contador. me . de 4 a 10.FreeLibros.258 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 3) Generalizando para n bits: n- n- 1 i =0 1 i =0 T0 = I + D P ro b le m a 17. se ha supuesto que las operaciones de clear y carga son asincronas. a) Contador módulo 7 (de 0 a 6 ): 3 2 10 a clk CONT[4] q3 q? Qi ‘Jo — & www. realice los diseños siguientes: de 0 a 6 .Se dispone de contadores módulo 16 con dos señales X 1 y X 2 que controlan su funcionamiento: X¡ X q 0 0 0 1 1 - Operación Puesta a cero Carga en paralelo Cuenta ascendente Tomando como base este tipo de a ) Un contador m od-7 que cuente b) Un contador m od-7 que cuente c) Un contador m od-7 que cuente d) Un contador que cuente de 2 a contadores. Solución P17.. de 9 a 15.. 34.En las siguientes soluciones no se han tenido en cuenta los problemas de bloqueo y además. Se dispone de un circuito integrado 74198 cuya descripción es la mostrada: IÍ7-0] Dsr J MR sSolE clk A Dsl _ w O[7-0]^8 a MR 0 1 1 1 1 S[ So - 0 0 1 1 www.SUBSISTEMAS SECUENCIALES 259 b) Contador módulo 7 (de 9 a 15): 1 0 0 1 I _L 3 2 10 CONT[4] xl x0 /\ 93 92 9190 clk >1 c) Contador módulo 7 (de 4 a 10): 0 10 -A clk 0 l i l i 3 2 10 CONT[4] xl — 93 92 9 i 9o 1 x0 & d) Contador de 2 a 34: clk P ro b le m a 18.FreeLibros.me - 0 1 0 1 Operación Puesta a 0 asincrona Inhibición Desplazamiento a izquierda Desplazamiento a derecha Carga en paralelo .. de forma que. 1. el sistema detecta la secuencia 1.0 0 0 1 1 0 1 o 1 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 y que posea una señal de lectura (R ) activa en alta.FreeLibros. 1 www.me . indique qué ocurre para la siguiente secuencia de entradas (cada valor corresponde a un ciclo de reloj). 0. Solución P18. cuando no esté activa ponga a l dispositivo en alta impedancia. 001. 0. 1) Diseñe el registro utilizando las puertas necesarias y e l 74198.Un sistema tiene una única entrada y dos salidas. R A -¡Aq : 0-0.260 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES H ay que diseñar un registro de A| A.. 0. 1 y se pone fuera de servicio tras 0. El sistema puede estar fuera de servicio o en servicio. Z[7-0] RA j A q 0-0 110 011 001 100 [CONT] 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 )( 10101010 )( io io io io )(~ 11010101 )( 01101010 X Z[7-0] ( 01010101 )--------------------------------- P ro b le m a 19. 2 ) Suponiendo que inicialmente e l registro contiene el dato 10101010. Una vez que está en servicio. 100. 110. 011. Entra en servicio tras recibir la secuencia 1. Una salida debe indicar si el sistema está o no en servicio y la otra indicará cuándo se ha detectado la secuencia. H ag a un circuito de M ealy utilizando un contador y una ROM . el último 1 de la secuencia de puesta en servicio no vale como primer 1 de la secuencia a detectar.SUBSISTEMAS SECUENCIALES 261 (con solapamiento).FreeLibros. se requieren las señales de control que aparecen codificadas en la siguiente tabla: C] c0 Operación 0 0 Up 0 1 Inh Clear 1 0 Load 1 1 En la siguiente figura se ilustra el circuito resultante y la tabla de programación de la ROM: www. Se ha escogido la siguiente asignación: Estado 92 9i 9o 0 0 0 a b 0 0 1 c 0 1 0 d 0 1 1 e 1 0 0 f 1 1 1 g 1 0 1 n 1 1 0 Con la asignación anterior.me . Solución P19. me . Suponemos el caso de existencia de solapamiento en la cadena de bits. Con un registro de desplazamiento a la derecha y una puerta AND de tres entradas: Rin SHR[3] ShR clk & www. D e un diseño con módulos combinacionales.262 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES X 32 3i 3o 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D. módulos secuenciales y el m enor núm e­ ro de puertas lógicas posibles. Solución P20. Cl _ _ _ _ 1 _ _ _ _ _ 0 _ _ 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 c0 Za Zb 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 P ro b le m a 2 0 .FreeLibros.S e desea detectar el envío del número diez que llega por una única línea com enzando p o r e l bit LSB.. lo que da un espacio de 64K palabras (desde la $0000 a la $FFFF. Por otra parte.Con la entrada de selección de chip (CS). tanto de lectura y escritura (RAM) como las de sólo lectura (ROM) para formar unidades de memorias multichip. DRAM. que en este Capítulo será de 8 bits.Con sus líneas de dirección (A9 -A 0 para memorias de 1K. o dinámicas. A0). efectuándose 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. si son ROM o EPROM. UNIDAD DE MEMORIA MULTICHIP Una unidad de memoria multichip forma la memoria principal de un computador... que en decimal abarca desde la 0(iq a la 65535(]0). Las señales 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 direcciones está conectado doblemente con cada chip (RAM o ROM): . salvo expresa indicación en contra. Por último. A nivel de bloques la conexión entre el procesador (CPU) y la unidad de memoria se ilustra en la siguiente figura.. En estas aplicaciones no tienen importancia las cuestiones tecnológicas (si se trata de RAM estáticas. la anchura del bus de datos da el número de bits de las líneas de datos. Los problemas se dedican a analizar o diseñar los circuitos de decodificación que permiten acceder a los distintos chips de memoria.FreeLibros. Su organi­ zación se establece en tomo al procesador y. SRAM. A j 2 -Aq para las de 8 K. fundamentalmente las de acceso aleatorio. etc).me . en este Capítulo.Capítulo 10 MEMORIAS SEMICONDUCTORAS En este Capítulo se trata el uso de las memorias semiconductoras. En el siguiente caso supondremos que el espacio 263 www. etc) . más 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 líneas de dirección. El bus de datos se conecta con las salidas de todos los chips ROM y con las entradas/salidas de todos los tipos RAM. De forma más marginal se tratan también algunas memorias de acceso secuencial. se asume que el procesador posee un registro de direcciones de 16 líneas (Aj5 . hemos incluido cuáles son los valores de las salidas del circuito de decodificación (CSj. . Un ejemplo de mapa es el que se ilustra a continuación. Bus de datos V selección de chip física (en cada chip) EL MAPA DE MEMORIA De las conexiones mencionadas entre la CPU y la unidad de memoria. Este circuito resulta de una u otra forma según se asocie cada chip con una región con­ creta del espacio de direcciones.me . CSg). las únicas que cambian de un problema multichip a otro son las del circuito de decodificación que selecciona cada chip. cuyo contenido es. Dicha forma de representar mapas de memoria es poco efectiva.FreeLibros. la palabra física a la que se accede es la $0018 del chip 4.... en este caso $07 (00000111). A esto nos referimos como “mapa de memoria”. la direccionada por la CPU) es $A018.264 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES de 64K se cubre mediante una combinación de 8 chips RAM y ROM. si la palabra lógica (esto es. además de esta forma de representar el mapa. Como se observa. En su lugar utilizaremos una descripción basada en los bits más sig­ nificativos de las líneas de direcciones con las que se divide fácilmente el espacio global en regiones de 2k palabras. en cada región sólo hay un chip seleccionado evitándo­ se así los problemas de colisión. En la figura que se presenta. CS2. El él se observa que. www. FreeLibros.me Chip 1 (16K) 2(16K) 3(8K) 4 (8K) 5(4K) 6(4K) 7(4K) 8(4K) .MEMORIAS SEMICONDUCTORAS 0 0000 Chip 1 } RAM 16K 16383 3FFF 16384 4000 i 32767 7FFF 32768 8000 Registro de dirección A018 40959 9FFF 40960 AOOO 49151 BFFF 49152 COOO 53247 CFFF 53248 D000 57343 DFFF 57344 E000 61439 EFFF 61440 F000 65535 FFFF 265 1 i 1 Chip 2 RAM 16K Chip 3 RAM 8K Dirección ^hip 4 Dirección del mapa ROM 8K interna de memoria del chip AOOO Chip 4 1 ROM 8K A018 Chip 5 } ROM 4K BFFF 0000 07 0018 1FFF Chip 6 RAM 4K Chip 7 RAM 4K Chip 8 RAM 4K A 15 A 14 A 13 A 12 CSj c s 2 c s 3 c s 4 c s 5 c s 6 c s 7 c s 8 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 www. PROBLEMAS RESUELTOS P ro b le m a 1.FreeLibros.Dn . A 15 Solución P l. operaciones de escritura. razonada­ mente.A0 CS. por la que se almacena un nuevo dato en la memoria. 13 > a 1 2 " a 0 ROM 8 * D7 .266 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES MEMORIAS TIPO LIFO Y FIFO Hay.Análisis de circuitos de decodificación.me D7 .Diseño de circuitos de decodificación. dos tipos de memoria de acceso secuencial que son la memoria LIFO (Last In First Out) y la memoria FIFO (First In First Out). entre otros. indicando. además de la “no opera­ ción” (NOP). las posiciones ocupadas por las memorias R A M y ROM . que es una operación destructiva en el sentido de que desaparece el dato leído.. Ambas poseen. Con las memorias LIFO se hacen memorias tipo “pila” y las operaciones se llaman PUSH (escritura o apilamiento de un nuevo dato) y PULL o POP (lectura o extracción de un dato apilado).Memorias de acceso secuencial. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . -> www.Dibuje el m apa de memoria para el circuito de la figura. . El orden de lectura de datos coincide con el orden de escritura en la FIFO y es al revés en las LIFO.D. . y de lectura. A h --- A 13 - M5 A12. o = A 1 2 .. En cuanto a sus líneas de dirección. las palabras de la memoria RAM se direccionan de igual forma que las de la ROM. la memoria se selecciona cuando A ] 5 = 0.o> donde A] 5 _q son las 16 líneas que for­ man el bus de direcciones extemo.0 . D0. A í 4 = 0 y A 1 3 = 1 ó A 14= 1 y A ] 3 = 0. el mapa de memoria al que llegamos es: A 15 A1 4 A13 0 0 1 1 0 1 0 1 - RAM (8 Kx 8 ) RAM (8 Kx 8 ) ROM (8 Kx 8 ) P ro b le m a 2 . la memoria se selecciona cuando A j 5 = 0.Determ ine el m apa de memoria correspondiente a l circuito de la figura. Así.MEMORIAS SEM ICONDUCTORAS 267 Respecto a la memoria ROM tenemos: CS] = A 1 5 . Respecto a la RAM: CS 2 = dj'd 2 = (A j 5 + A j 4 + A ] 3 ) (A ] 5 + A ] 4 + A j 3 >. por tanto. ai 2 _o = A] 2 . El bus de direcciones interno a la RAM está compuesto por las líneas a12.FreeLibros.D7 www.me . es decir. es decir. M 3 (2Kx8) ocupa 8 K posiciones en el espacio de memoria: $6000 . Por ejemplo. Así obtenemos el mapa de memoria que se muestra a continuación. $5800.0 M 3 (2 11 x 8 ) = M 3 ( 2 K x 8 ) Señal de selección de chip: CS3 = _ ( A 13 + A n + [ A 15 + A i 4] • [ A 15 + A 14] ) Líneas de dirección: _ = _ ( A l4 + A 13 + A n ) A partir de las ecuaciones obtenidas para CS¡.$77FF $E000 . podemos evaluar cuándo se selecciona cada memoria.$E7FF $F000 .0 ______ www.FreeLibros. (4Kx8) ocupa 4K posiciones en el espacio de memoria: $0000 . Directamente del diagrama del circuito: M ] ( 2 n x 8 ) = M. Para ello basta analizar para qué combinación de las líneas de dirección se tiene CS. = 0. Como se observa.$67FF $7000 . ROM 2 y ROM 3 respectivamente. la $0000. CS 2 y CS 3 las señales de selección de chip correspondientes a ROM].me . Sean a¡ las líneas de dirección de las memorias Mj.$0FFF M 2 (2Kx8) ocupa 12K posiciones en el espacio de memoria: $2000 .268 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P2. existen 12K direcciones del espacio de memoria que hacen que se seleccione el chip M2.$CFFF $D800 . ( 4 K x 8 ) La ecuación para la señal de selección de la memoria es: cs¡ = A1 5 + A l + a . $C800 ó $D800. $4800.$2FFF $4800 .$5FFF $C800 .0 4 ¡2 M (2n x 8 ) = M ( 2 K x 8 ) Ecuación para la señal de selección: 2 CS2 2 = ( A j 3 + A 12 + A 15 + A 14) ■ ( A 13 + A n + [ A 15 + A 14] ■ [ A 15 + A 14] ) = = ( A |5 + A I4 + A ]3 + A 12) • ( A 14+ í4 13 + A n ) Líneas de dirección: a io-o = ^ 1 0 . estaremos leyendo una única dirección física en M2. Sean CS].o = ^ 1 0 .$4FFF $5800 .$F7FF a i o .$DFFF Esto quiere decir que aunque el chip físicamente sólo contiene 2K direcciones.3 + a Las líneas que componen el bus de direcciones interno: a \\ -o = ^ 1 1 . si en el bus de direcciones externo se fijan las direcciones $2000. determine qué palabra de la RAM se direcciona cuando A 15. ¿Qué di­ rección hay que poner en e l bus de direcciones para le e rla posición $ 4 6 8 0 de la R A M en cada caso? www.me .FreeLibros. si es posible. para lo que se han propuesto los 3 diseños de la figura.En el m apa de memoria de un microcomputador de 16 líneas de dirección (A 15/A o) se han ubicado una memoria R A M de 8 K en las primeras 8 K posiciones de memoria y una memoria R O M de 8 K en las últimas 8 K posiciones de memoria. Se desea incluir una memoria R A M de 32K.. Indique en qué medida es correcto cada uno de los diseños y. (2K) M.q= $AB C D (hexadecimal) en cada uno de los tres casos. (2K) M. (2K) M 3 (2K) 1 0 1 0 1 0 1 0 M2 (2 K) M i (2Kj M3 (2K) M3 (2K) 1 P ro b le m a 3 .M EMORIAS SEMICONDUCTORAS A 15 A 14 A 13 A 12 A 11 0 - 1 - 0 - 1 - 0 0 1 0 0 0 1 1 0 1 1 0 - 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 269 M 2 (4K) M-. para el caso a) queda: A j5 A 14 0 0 1 0 1 1 A 13 0 1 0 1 0 1 0 1 RAM inicial del problema V Nueva RAM $RAM: $2000 . Razonando de igual modo se concluye que los 16K de la RAM con las po­ siciones más altas se direccionana para A j 5 A] 4 A j 3 = 1 0 1 y 1 1 0 . Se comprueba por tanto. CS = A] 4 -Aj3 + A i 4 -Aj3 . Para los 8 K que ocupan las primeras posiciones de la RAM se tiene que aj 4 = A ] 5 = 0 y a 1 3 = A 1 3 = 0. y está no seleccionada cuando A 1 4 A ] 3 = 00 ó 11. que no hay conflicto de selección con las memorias RAM ni ROM previamente posicionadas. Por tanto.270 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Ai4®Aj3 A0 A 15A 14A|3 + a 15a 14a I3 (a) (b) (c) Solución P3.$7FFF Nueva RAM $RAM: $4000 .me $ABCD . los primeros 8 K de la RAM ocupan las posiciones del mapa en que A] 5 A j 4 A j 3 = 010. con lo que para que se cumpla CS = 0 se ha de fijar A 1 4 = 0. Dado que la línea A j 3 forma parte simultáneamente del conjunto de líneas de dirección de la memoria y del circuito de selección de chip (CS = A i 4 ©A] 3 ) es necesario hacer ciertas consideraciones. En ninguna ocasión se selecciona más de una memoria si­ multáneamente. ai 3 _o = A j 3 . Caso a) La RAM se selecciona cuando su señal de selección de chip CS = 0.$3FFF \ / Nueva RAM $RAM: $0000 . El mapa.FreeLibros.q. En este caso se estarán ocupando las posiciones del mapa en que A 1 5 A 1 4 A 2 3 = 001. Para que CS = 0 será necesario A ] 4 = 1.$1FFF ) ' Nueva RAM $RAM: $6000 . por tanto se puede acceder a la memoria en las combinaciones A j 4 A j 3 = 01 ó 10. Las líneas de dirección de la RAM (ai 4 _o) son: aj 4 = A 1 5 . Los siguientes 8 K son posiciones en las que de nuevo aj 4 = A ¡ 5 = 0 pero a ¡ 3 = A j 3 = .$5FFF \/ ROM inicial del problema www. se procede como sigue: Para esta dirección se cumple aj4. Caso c): Señal de selección de chip: CS = A | 5 •A . Caso b): La señal de selección de la memoria es RAM: CS = A0. 1. 0 1 -.MEMORIAS SEMICONDUCTORAS 271 Veamos qué palabra de la RAM se direcciona cuando A i 5 _q= $ABCD.FreeLibros.q = $C680. Entonces: a ¡ 4 = Aj 5 = 1.a]]_o = A ji _ 0 = 680. ¿ inicial del problema Para A j 5 _o = $ABCD se selecciona la sección R¡ de la RAM (Aj 4 A j 3 = 01. www. r 2 p Rj R0 A \/ R1 RAM ROM r $ABCD . Esto implica que para todas las palabras de los primeros 8 K y de los últimos 8 K con Aq = 0. de donde se deduce que la dirección interna de la memoria a la que podemos acceder es ai4_o = $2BCD.A 14 • A 13 por tanto la memoria RAM se selecciona para A j 5 A ¡ 4 A ¡ 3 = 0 . Por tanto. y está no seleccionada para A j 5 A ] 4 A 5 3 = 000 ó 111. se selecciona para cual­ quier dirección del bus externo que tenga Aq = 0. al 3 = A 1 3 = O. y por tanto a14 a l3 = 01)- Asimismo se tiene A j 4_q = $2BCD. Para leer la dirección a14_o = $4680 de la RAM. A j 5 A 1 4 A 1 3 = 000 y en los últimos. se tiene que garantizar que CS = 0. Por otra parte. llamaremos Rq a los primeros 8 K de la RAM. R 2 a los siguientes aj 4 a ) 3 = 1 0 y R 3 a los últimos a 1 4 aj 3 = 1 1 de donde se tiene el siguiente mapa: A 15 A 14 0 0 1 1 0 1 A 13 0 1 0 1 0 1 0 1 /v RAM N U inicial del problema R. el diseño NO es correcto.Q = 100 0110 1000 0000.1. A partir de esos valores puede decirse que no habrá conflicto de selección con las me­ morias ya colocadas (en los primeros 8 K. por lo que como A 1 3 = 0. para acceder a la direc­ ción interna deseada. Para A] 5 _o= $ABCD se cumple que A] 5 _o= 1010 1011 1100 1101. que se direccionan con a 1 4 aj 3 = 0 0 .0 y 1 0 -. estamos obligados a que Aj 4 = 1. entonces: A 1 4 A ] 3 = 01 por tanto la memoria RAM está seleccionada.af 2 = A 1 2 = O. Ri a los siguientes a ¡ 4 a ] 3 = 0 1 . A 15 A 14 A 13 = 1H)- Las líneas de dirección de la nueva RAM (aj 4 _o) son: aj4_o = A j 4_q Por conveniencia. 4 ■ A 13 + A 15 . es decir.me . hay conflicto entre la nueva RAM y las me­ morias (RAM y ROM) ya existentes. A 15 A 13 A 1 2 = a 14 a 13 a 1 2 = 1 1 0 = 6 y A ll-0 = a ll-0 = BCD. por tanto. en el bus externo hay que fijar la dirección A ^. la palabra a]4_o = $6 BCD de la RAM. Concluyendo. Dado que la RAM debe estar seleccionada para poder acceder a una de sus direcciones internas. Se direcciona. FreeLibros.) necesarias. $2000.Primero obtenemos el mapa de memoria para conocer las direcciones fuente (de M 2 y M 3 ) y destino (M¡). Analizando el circuito combinacional de decodificación: A i5 A j4 A j2 = 0 0 0 ó 0 0 1 selecciona Mj A] 5 A j 4 A j 2 = 011 selecciona M 2 A j5 A j4 A j2 = 1 1 0 selecciona M 3 A continuación formamos las instrucciones TRANSFIERE ( . Se dispone de una instrucción: T R A N S FIE R E ($ N Bde palabras. 0 = $4680 como para A]5_o = $C680. cuyo número de palabras es e l indicado. $7000). por ejemplo. para transferir 4K-palabras ($1000) que están escritas a partir de la posición $ 2 0 0 0 a posiciones de memoria que comiencen en $ 7 0 0 0 se pondría: T R A N S F IE R E ($1000. se accede a la dirección requerida tanto para A] 5 .. Esto es. $Destino) Dicha instrucción transfiere un bloque. www. P ro b le m a 4 . como se quiera. $Fuente. para acceder a la dirección interna de la memoria RAM aj4_o = $4680 que pertenece al tramo de R 2 sólo hace falta determinar A] 5 .272 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Por último. desde la dirección fuente hacia la dirección destino. Para ello dibujamos el mapa de memoria. A 15 A 14 A 12 D0 ' D7 Solución P4.S e desea transferir e l contenido de las memorias M 2 y M 3 a la memoria M 1 (ver figura).. . (El sistema interpreta y ejecuta esta instrucción). que puede valer 0 ó 1 . Escriba el programa necesario para el circuito de la figura.me . Utilizando circuitos de memoria de de la posición $6000. P ro b le m a 5 . M3. $7000. $5000. V Mj 4K palabras (A |3 = 0) M2 4K palabras (AJ3 = 1) M2 0 1 0 1 | 0 0 0 A\2 1 A )5 A]4 A i3 273 4K palabras (Ai3 = 0) M3 4K palabras (A13 = 1) Mi Para transferir a Mj la totalidad de M 2 y M 3 hay que utilizar 4 veces la instrucción TRANSFIERE: 1) La primera mitad de M 2 (A ] 3 = 0). que son 4K palabras y están ubicadas entre $5000 y $5FFF. realice una asociación de 3 2K a partir Solución P5. 0 sus líneas de dirección. el terminal de selección de chip y ai 2 . Conectaremos las líneas del bus de direcciones AB = A ^ q de forma que a¡2_Q= A¡ 2 .. 8 Kx 8 . M4). $C000. M2. $E000. $0000).Para ocupar 32K bytes de memoria con chips de memoria de 8 Kx 8 necesitamos 4 de estos (Mt..FreeLibros. 4) La segunda mitad de M 3 al último cuarto de M] TRANSFIERE ($1000. Entonces: TRANSFIERE ($1000. $1000). $3000). la llevaremos al primer cuarto de M¡ ($0000 a $0FFF). $2000). A 1 4 .me .oi y la selección de memoria la realizaremos con A 1 5 . 3) La primera mitad de M 3 al tercer cuarto de M j: TRANSFIERE ($1000. A i3.MEMORIAS SEMICONDUCTORAS 0 1 1 0 1 1 1 0 1 — 0 1 0 1 0 1 0 1 0 1 Memoria seleccionada A 16K palabras M. Repartiremos las posiciones de las distintas memorias como muestra la siguiente tabla: www. 2) La segunda mitad de M 2 al segundo cuarto de M i: TRANSFIERE ($1000. Sean CS. 4 A 13 $comienzo $final 0 0 0 0 1 1 1FFF 0 0000 2000 3FFF 0 4000 5FFF 0 1 1 1 cs2 1 1 cs3 1 1 cs4 1 1 1 1 1 0 1 1 1 0 1 6000 7FFF Mi 1 0 0 8000 9FFF m2 1 0 1 1 1 0 1 AOOO B FFF m3 1 1 1 1 1 0 C 000 D FFF m4 1 1 0 1 0 1 1 E000 FFFF 1 1 1 1 1 1 es.FreeLibros.Se desea diseñar un sistema microcomputador que tenga 64Kbytes de m em o­ ria. S e dispone de chips de los siguientes tipos: R O M : 16Kx4 R AM : 16Kx8 RAM: 4K x8 Diseñe el circuito de decodificación necesario. de los cuales. www.274 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES A 15 A . 4 0 K sean R A M y 16K ROM .me .. - - Una solución para el circuito de decodificación es: P ro b le m a 6 . 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 últimas posiciones de memoria para la ROM.FreeLibros.me . El mapa de memoria queda con la siguiente distribución: A15 A. CS2 CS3 CS4 CS5 A¡2 0 0 - - M..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. RAM 16Kx8 0 0 1 - - M2 RAM 16Kx8 1 0 0 0 1 M3 RAM 4Kx8 M4 RAM 4Kx8 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 Libre 1 - - M5 ROM 16Kx8 1 1 1 1 1 1 1 1 1 Las señales de selección de chip para cada una de las memorias las obtenemos con el siguiente circuito de decodificación: www. El esquema es el siguiente: Buscamos ahora la forma de situar 40K de memoria RAM y 16K de ROM en un mapa completo que ocupa 64K.4 Aj3 CS. La solución es unir las líneas de datos de dos memorias ROM a las que se accede simul­ táneamente ya que comparten las líneas de selección de chip y las de dirección.MEMORIAS SEMICONDUCTORAS 275 Solución P 6 . a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K pa­ labras de dirección sobrantes. dos son de 8 K palabras y el tercero de 32K. www. Estos circuitos van a estar direccionados p o r un procesador de 16 señales de dirección (A 15. M 3 es de 32K con 15 líneas de dirección (aj 4 _o). por tanto tienen 13 líneas en su bus de dirección (aj 2 _o). Aj4.me . Asumimos que todas tienen su señal de selección CS^j.0). b) Indique el circuito de memoria y la posición en dicho circuito que se activa con cada una de las siguientes direcciones ($ A 15. describamos cómo son las memorias: Mj y M 2 son de 8 K.FreeLibros. cada uno de los cuales está definido por uno de los posibles valores de Aj 5 . $4567. A 15 A 14 A 13 0 0 0 O O 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 8K de Mj Libre 32K de M3 Libre Damos dos soluciones para la decodificación.0. $ABCD.276 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ■> CS3 -> cs4 P ro b le m a 7. $6789. en grupos de 8 K. en hexadecimal): $0123. Para realizar el circuito. $ C D E F y $EF01. Diseñe e l circuito que realiza ese mapa. donde la memoria de 32K ocupa las po­ siciones intermedias.-Descomponemos las 64K direcciones del bus de direcciones externo AB.. La primera utiliza un decodificador y la segunda es un diseño a nivel de puertas. $89AB .Se dispone de 3 circuitos de memoria con entrada de selección activa en nivel bajo. La tabla indica una de las posibles soluciones. Se requiere que los circuitos de 8 K ocu­ pen tas direcciones menores y las mayores. Solución P7. y A 13. $2345. ai4_o para M 3 ) para averiguar qué di­ rección interna es activada.FreeLibros. analizamos el valor de la líneas de direc­ ción de la memoria seleccionada (a] 2 _o para M¡ y M 2 .q. Para M 3 necesitamos 15 líneas Aj. Posteriormente. 0 = A 1 5 A .0. pasamos a solucionar el apartado b). $A A l5Ai4Ai3A12 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 binario 0 0 0 0 0 0 0 0 Memoria a h _8 1 3 5 7 9 B D F Palabra de memoria A7_4 A3_0 2 4 6 8 A C E 0 3 5 7 9 B D F 1 Mj Libre m3 m3 m3 m3 Libre m2 a 12 a l 1-8 a7-4 a 3 -0~ 0 1 2 3 a 14-12 a l 1-8 a7-4 a3-0 = a 14-12 a l 1-8 a7-4 a 3-0 = a 14-12 a l 1-8 a7-4 a3-0 = a 14-12 a l 1-8 a7-4 a 3-0 = 4 6 0 2 a 12 a l 1-8 a7-4 a 3-0 = 0 F 0 1 hexadecimal www. En principio hay dos soluciones (en todo caso además de A j 3 _q hay que utilizar A ¡ 5 ó A 14): a14-0= A 14-0 o a 1 4 .3. En la siguiente tabla se muestran los resultados de dicho análisis.MEMORIAS SEMICONDUCTORAS 277 Las líneas de dirección de Mj y M 2 (a^. Elegimos la primera pues es la que cubre el mapa de memoria: CSM1 CSM2 CSM3 De acuerdo con lo anterior.me 5 7 9 B 6 7 8 9 A B C D hexadecimal . A partir de las direc­ ciones A j 5 _o que se nos indicanm tendremos que deducir del valor de A ¡ 5 A ] 4 y A ¡ 3 si se se­ lecciona alguna memoria y cuál es.o) se conectan directamente a las líneas A^. ). C.i E N PULE X NOP X •E N C I E N PUSHs c C I E N PUSH B B I E N 1 PUSH i PULL X ----. 2 PU SH. I. E . 1 PULL.me . N I E N ________ ^ b) Resolvemos este apartado de forma equivalente al anterior aunque nos lo planteamos al revés.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. S N — c— N E G ---. 2 NOP. Sabemos que la secuencia de operaciones es alternativamente dos operaciones de PUSH y una de PULL...En una memoria U F O de fondo 6 se va a realizar la siguiente secuencia de op­ eraciones: 3 PU SH. 1 PULL. instante inicial E G N E N PUSH PUSH PUSH A . a) Muestre el contenido de la L IF O a l realizar la secuencia de operaciones. E. 1 PUSH. La memoria está vacía en el instante inicial. B.. En la siguiente figura aparecen los distintos pasos.. 1 N O P 1. 1 NOP: no operación. es decir. los valores du­ rante las sucesivas operaciones de escritura son: N. concretamente.. conocemos la palabra que debe estar almacenada como último paso de la secuencia de operaciones y vamos hacia atrás evolucionando operación a operación. La anchura de la memoria es de 8 bits. indique la secuencia de entradas a la LIF O para que en la pila esté escrita la palabra FINAL en algún momento.FreeLibros. b) Supuesta vacía la L IF O y siguiendo un proceso de 2 operaciones de escritura y 1 de lectura (después otras 2 de escritura y 1 de le ctu ra. Solución P 8 . G.278 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b lem a 8 . Por su bus de entrada vienen caracteres A S C II con paridad par.^ ...A ----G E N NOP X NOP X C ■:I. encima de la flecha se escribe el tipo de operación y debajo el dato de entrada (X significa que no importa el dato).. www... X.INAL <---------. A. A. se consigue tener la palabra “FINAL” en el contenido de la LIFO.Determine e l m apa de memoria del circuito de la figura.AL <N X N A X PUSH PUSH <---------. 0 = $8000. N. I. X. . F. qué palabras de la R A M se direccionan cuando A 15/A 0 = $4A B C y A A14 a h www. X. N. Y como resultado de la octava operación de escritura (PUSH). Los caracteres ASCII con el bit paridad par como bit más significativo que aparecen en este problema son (en hexadecimal): A: $41 B: $42 C: $C3 E: $C5 F: $C 6 G: $47 I: $C9 L: $CC N: $4E PROBLEM AS CON SOLUCIÓN RESUMIDA Problema 9. si es posible. Indique. la secuencia de datos necesaria para utilizar en la secuencia de operacio­ nes es: L.L <---.Vacía A L En definitiva. I.NAL < AL <---------.me 15.FreeLibros. que es la 11a operación.L <---------..MEMORIAS SEMICONDUCTORAS rusn 279 _____ FINAL <---------.NAL < I X I PUSH PULL PUSH PUSH PULL AL <---------. 5. $ i gü0-S 1FFF A .me .280 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P9.(y=$] XOO-S1FFF A . Problema 10.0= $()()00-$07FF 0 1 0 1 0 1 0 1000-$ 17FF donde las líneas de entrada de la RAM. dentro de un m apa de memoria de 64K.Para el circuito de la figura. V()=$9800-$9FFF a.q contiene las direcciones $4ABC y $8000 son: Si Ajj_o = $4ABC a. s-0=S48UÜ-$4FFF a. 5_0=$COM-$C7EF a [ 1 0 1 - - - 1 A .2.El mapa de memoria del circuito es: A j5 Aj4 A13 A12 A] i 0 - 0 0 1 1 0 0 1 1 0 1 1 - - 0 0 1 0 1 A | S_0=$5800-$5FFF a12..FreeLibros.0 = $02BC Si A j 5 _q = $8000 No se selecciona la memoria RAM. por lo que no se accede a ninguna dirección de ésta.0= $0800-S()FFF 0 1 A ..0=$9000-$97FF a. indicando las direcciones en que ocurren cada una de ellas.2.1 2 . a] 2 -o> son: a 12=A 15> a l 1= A 12> a 10-0 = A 10-0- Las palabras de la RAM que se direccionan cuando el bus extemo A ^. www. determine las distintas secuencias de salida. al estar conectadas a las salidas del contador. Las líneas aj y ag están fijas a Aj j y A ] 0 mientras que a3 y a2. van cambiando ciclo a ciclo.Las secuencias que se obtienen a la salida de la ROM dependerán de los valo­ res de a3 _Q.FreeLibros.me 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 . Analizando los distintos casos se ob­ tiene: Secuencia de Salida d3 d2 dj do > o II oo > o II o < > o II > < o II o > > a3 a2 a l 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 www..MEMORIAS SEMICONDUCTORAS $ [$] 0 1 2 0 2 7 F B F D E B 9 A B C D E F 3 A B F C 3 4 5 L14 6 L13 8 L12 281 0 1 2 Solución PIO. de cada memoria deberán activarse según la siguiente tabla: A 15 0 0 0 0 0 A 14 A 13 0 0 0 0 1 0 0 1 1 0 restantes combinaciones A 12 0 1 0 1 0 - M.Solucionamos primero la obtención de memoria de 8 bits por palabra a partir de memorias de 4 bits por palabra.. De esta forma. dispondrá de 3 R A M de 8 K x 8 y una E P R O M de 8 Kx8 . m2 m3 m4 - CS! 1 0 1 1 1 1 cs2 1 1 0 1 1 1 cs3 1 1 1 0 1 1 cs4 1 1 1 1 0 1 El circuito de decodificación es el siguiente: A 15 M4 M3 M2 Problema 12. Solución P H .FreeLibros. A j 3 = 0.282 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 11.Un sistema basado en e l microprocesador R 65C 02. Diseñe e l circuito de decodificación correspondiente.me . -> D 7-0 D7-0 Las cuatro memorias se colocarán a partir de la dirección A]g _0 = $1000.. www. es decir: Ajg = 0.. las señales CS.Utilizando memorias 4Kx4. diseñe un circuito de decodificación que permita situar 16 Kbytes a partir de la posición $1000.q = 000 (en hexadecimal). A ] 4 = 0. A ] 2 = 1 y A jj. .D7 a 1 2 'a O RA M 3 i.Tenemos que situar 3 memorias RAM de capacidad 8 Kx 8 y un EPROM de 8 Kx 8 en un mapa de 64K. Sólo se ocupan los primeros 32K del mapa. ya que cada una de las memorias cubre 16K. 13* a 12_a0 RO M www.MEMORIAS SEMICONDUCTORAS 283 Solución P12.D7 Para este circuito de decodificación la mitad del mapa queda vacía.me Do . Do . Otra opción en donde se ocuparía el mapa completo de los 64K.D 7 .FreeLibros. A 12 ~ A 0 Do .D7 Li2 -Ao Í3 ‘ a i2-a<) RAM1 A .O-? RA M 2 rí2 -Ao . es la siguiente: U_ Do .D7 . Hemos colocado las cuatro memorias una a continuación de otra empezando desde la primera dirección del mapa completo. Do . Para ello damos uno de los posibles circuitos de decodificación.2-A 0 1 > 0 1 1 0 2 A 14 D E C 1:2 3 13 a^-üo Do . :RAM(16Kx8) M2: RAM (4Kx8) M3: RAM (4Kx8) M4: ROM (8Kx8) vacía Circuito de decodificación: Ais A14 P ro b le m a 14..13 - 0 0 1 A¡2 - restantes combinaciones 0 1 - M..me . A 1 2 = 1 y Aj j _ 0 = 000 (en hexadecimal). A 1 5 . 16Kx4 R A M y 4Kx8 RAM.En primer lugar. Diseñe el circuito de decodificación necesario si se dispone de chips de 8Kx4 R O M .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. Una de las posibles soluciones sería situar las 4 memorias de la siguiente forma: A l5 0 0 0 1 A14 0 1 1 1 A.Utilizando circuitos de memoria 2Kx4.. 8 Kx 8 que Solución P14.FreeLibros.. realice una configuración ocupe 8 K posiciones a partir de la 4 0 9 6 p 0 en un mapa de memoria de 64K. hay que obtener memorias de 8 bits/palabra a partir de las de 4 bits/palabra (véase problema 11). A 1 4 = 0. A 1 3 = 0.284 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 13. El mapa de memoria es: www. Solución P13.0 = $1000 con lo que: A 1 5 = 0. hacemos la distribución de estas memorias a partir de la dirección 4096. es decir.El mapa de memoria de un microprocesador con bus de direcciones de 16 bits está ocupado por 8 K R O M y 2 0 K RAM. el mapa de la distribución de las memorias. Damos a continuación. Solución P15.. Todas están conse­ cutivamente dispuestas a partir de la dirección $5000 (A ¡ 5 = 0. Para ello se dispone de chips de 8 K x 8 y 4Kx4. Mapa de memoria: A 12 0 1 1 0 0 1 1 1 0 0 restantes combinaciones A 15 A 14 A 13 Mj (4Kx8) M2 (8K x 8) M3 (8K x 8) Libre CS. 0 1 1 1 www. m2 m3 m4 restantes combinaciones - El circuito de decodificación: Ai es. A j 2 = 1 y Ai i-o = 0 0 0 (en hexadecimal)).FreeLibros.D7 P ro b le m a 15.. A j4 = 1. CS2 cs3 cs4 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 285 CS¡ ]_ A 10‘ A o RAMj i r a10‘a0 2Kx8 •Dn .Diseñe un circuito decodificador que permita situar 20Kbytes de R A M a partir de la dirección $ 50 00 dentro de un m apa de memoria de 64K.MEMORIAS SEMICONDUCTORAS $ A 15-0 A 15 A 14 A 13 A 12 A 11 0--- 0 0 0 0 - A 10-0 - 1000 0 0 0 1 0 a 10-0 0 0 0 1 1 a 10-0 0 0 1 0 0 0 0 1 0 1 a10-0 a10-0 a 2FFF 3000 a FFFF M. A j 3 = 0.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.me CS2 1 0 1 1 CS3 1 1 0 1 a l 1-0 —A ll-0 a 12-0 = A 12-0 a l 2-0 = A 12-0 . En una C P U de 16 líneas de direc­ ción y 8 de datos: a) Diseñe con puertas lógicas un banco de memoria de 2 8 K palabras. c) ¿ Q ué dirección hay que poner en el bus de direcciones para leer la posición $ 0123 de una de las memorias R A M de 4K x4? d) Indique los cambios que habría que h acer si el bus de datos fuera de 4 bits.FreeLibros. b) Indique la posición física correspondiente a las direcciones $ 4 5 6 7 y $ C A F E en e l bus de direcciones.286 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Circuito de decodificación: CS. a) Primero asociamos las memorias necesarias para tener todas las memorias de 8 bi por palabra: CS -'7-0 M 1-0 D7-0 El mapa de memoria que proponemos es: A10 5 A10 4 A13 A12 . 1 0 1 1 1 1 www. a 15 A í4 A .Se dispone de RAMs de 8 Kx 8 y de 4Kx4. (8Kx8) M2 (8K x8) M3 (8K x8) M4 (4Kx8) Libre (20K) CS.0 1 0 0 1 1 1 0 0 1 0 1 0 restantes combinaciones Libre (16K) M..me CS2 1 1 0 1 1 1 CS3 1 1 1 0 1 1 cs4 1 1 1 1 0 1 . Solución P16. a partir de la di­ rección $ 4 0 0 0 del espacio de direcciones.3 P ro b le m a 16. 12 Ml-0 - 12 A CS M lvlia C 4 > 4Kx4 C5ib 4' CS M AV1ibk 4 4KX4 ^ dV3 CS.FreeLibros. l14 — CS. M 2 y M 3 anteriores que eran de 8 K. Así. d) Para tener un bus de datos de 4 bits por palabra.. L1 2 . A 12 b) Las direcciones de memoria leídas para las direcciones propuestas en el bus exterior de líneas A ^ q son: A i 5 _q = $4567 M] ha sido seleccionada ai 2 . — CS. 3) como se indica a continuación: A15 A15í A15í A|4 Al4i Al4i A13 A 3j A13i 1 A12 0 1 .MEMORIAS SEMICONDUCTORAS 287 El circuito de decodificación realizado con puertas se muestra a continuación: A.me 3-0 .0 ■-r » CS Mj 13 4Kx4 www. M2a M2b . hacemos una asociación de dos RAM de 4K para cada una de ellas M¡ (con i=l.ib CSi.0 = $0567 A i 5 _o = $CAFE Ninguna memoria seleccionada c) Para leer la dirección $0123 de de las memoria de 4Kx4 tendríamos que poner en el bus de direcciones la palabra A j 5 _q = $A123. 5 — CS. Lll-0 . El mapa anterior es válido pero se desaprovecha la mitad de cada una de las memorias. A13 — CS. para sustituir las memorias M j.CS.CS. Otra opción es utilizar sólo memorias RAM de 4Kx4. una solución es conectar al bus de datos sólo 4 de los 8 bits que teníamos antes. 2.. La conexión que se lleva a cabo entre los distintos subsistemas es la siguiente: b) Se usan 8 registros bidireccionales de 6 bits. respectivamente.. Las operaciones de PUSH/PULL son operaciones de desplazamiento a derecha/izquierda.Diseñe una memoria tipo U F O de siguientes casos: a) Con registros de carga en paralelo.288 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 17.FreeLibros. www. a) Dado que la memoria LIFO tiene 8 bits de anchura y un fondo de 6 . b) Con registros de desplazamiento. 8 bits de anchura y un fondo de 6 en los Solución P17. 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.me . el sistema debe disponer de 6 registros con carga en paralelo de 8 bits cada uno de ellos. 0) 1 0 Rx <.IX) OUT HI [Ró Ro • ■■Rol (desplazamiento a derecha) (desplazamiento a izquierda) HI V www.SHL(RX.me .SHR(Rx.FreeLibros.MEMORIAS SEMICONDUCTORAS 289 ----------Ds—> ------^ OUT[8 ] v Rnt ' Min Rs x rin = o PUSH 0 0 1 PULL 0 1 0 LR Rx 00 0 1 Rx <. y el bit para los CD. por el elevado número de estados y señales que po­ seería un circuito de estas características. Esto viene motivado. De aquí 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). capaz de recibir información sobre la operación a realizar y generar la secuencia de instmcciones que se deben acometer so­ bre la unidad de proceso. fundamentalmente.me . SISTEMAS DIGITALES A NIVEL RT Un sistema digital se compone fundamentalmente de dos partes: unidad de proceso. En esta obra se tratarán sistemas digitales síncronos donde una sola señal actúa de reloj de ambas unidades.) sean poco útiles. La diferencia esencial entre ellos es la unidad de información: la palabra (o conjunto de bits) para los SD. Para ello se utiliza el nivel de descripción llamado “nivel RT” (Register Transfer). x: cualificadores o entradas de control z: comandos Didatos En la siguiente tabla aparece un estudio comparativo entre sistemas digitales (SD) y cir­ cuitos digitales (CD). 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. provoca que las técnicas de descrip­ ción y diseño estudiadas hasta aquí (máquinas de estados finitos.Capítulo 11 INTRODUCCIÓN A LOS SISTEMAS DIGITALES El incremento en la complejidad de los circuitos digitales. K-mapa. y unidad de control.... donde se realizan operaciones sobre datos de entrada.FreeLibros. 291 www. Este conjunto de líneas se denomina bus. En los problemas se detallan estos métodos.dato presente . Existen diversos métodos de interconexión para los registros.Escritura: cambio de dato almacenado en el registro (R).Lectura del bus. y. seguidamente.me . como la de seguir una metodología top-down. Su formato es: R <— nuevo dato . . registros.. Su formato es: f(s): operación (f es combinacional) Las transferencias de datos entre los registros se realizan mediante líneas que los interconectan. Así.. en la que algún registro lee el dato que contiene el bus para al­ macenarlo (corresponde a una operación de escritura en el registro). propiamente. los registros se incluyen dentro de este concepto. DISEÑO DE SISTEMAS DIGITALES El diseño de sistemas digitales es una tarea compleja para la que no existe ningún método sistemático. se pueden aplicar algunas guías de diseño que faciliten el trabajo.Lectura: salida del dato almacenado. líneas combinacional y almacenamiento Sistemas palabras RT operaciones MUX. Es una operación secuencial y se realiza cuando el reloj está activo. Estas últimas pueden ser de tres categorías: .Escritura en el bus. una memoria es un banco de registros cada uno identificado por un nombre lógico (dirección). buses procesado de datos y control El nivel RT trata a todos los dispositivos capaces de almacenar información como regis­ tros. una arquitectura para V www. en la que algún registro “vuelca” su contenido al mismo (ope­ ración de lectura en el registro). En primer lugar. dependiendo de las características de lectura/escritura de estos.292 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Información Nivel/Lenguaje Funcionalidad Componentes Conexión Organización Circuitos 0. Se propone.1 de conmutación FSM puertas y biest..Control: establece cómo opera el registro (esto es. bajo qué valores lógicos de las señales de operación “s” se escribe y se lee). un contador es un registro con capacidad de incrementar o decrementar su dato. Sin embargo. Es una operación combinacional. En un bus se pueden realizar dos operacio­ nes de interés: . Principalmente los métodos son por multiplexado/ demultiplexado y por conexión vía alta impedancia (buses triestado). un biestable se considera como un registro de un bit. Con el lenguaje RT podemos describir el contenido de un registro o las operaciones que se realizan sobre él.FreeLibros. Su formato es: Dout . se especifica el conjunto de instrucciones que debe realizar el sistema. bien de trans­ ferencias entre registros. expresados en primitivas RT. K. www.. El HDL que utlizamos aquí es uno muy simple y tiene sólo propósitos docentes. al menos. N condición 1 acción 1/. Acciones Caja de estados Bloque ASM Caja de decisión ( Acciones ) Caja de acción condicional De forma alternativa.Diseño de sistemas digitales (con unidades de datos simples o propuestas ). incluye las variables de entrada al SD. A partir de aquí... Se ensamblan todos los algoritmos anteriores y se obtiene la secuencia de operación y control del sistema digital. agru­ padas en bloques ASM. se puede utilizar un lenguaje de descripción de hardware (HDL).. El formato general de instrucción consta de: un identificador (N). se obtienen los algoritmos que realicen cada una de las instrucciones en la unidad de datos propuesta. Por último se realiza la unidad de control que ejecute dicha secuencia.me .INTRODUCCIÓN A LOS SISTEMAS DIGITALES 293 la unidad de datos que permita realizar el conjunto de instrucciones anteriormente especificado.Interconexión mediante buses. bien de comandos y un campo de identificadores de próxima instruc­ ción (J. J condición2 acción 2/. en cambio. K índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . En este tema de introducción no se trata el diseño de unidades de control complejas que es estudiado en el tema siguiente... .Técnicas formales de descripción (cartas ASM y lenguaje HDL).El nivel RT. . . La caja de decisión. Tanto la caja de estado como la de acción condicional representan en su interior las acciones o salidas activas del SD. DESCRIPCIÓN FUNCIONAL DE SISTEM AS DIGITALES La descripción funcional de los SD requiere de herramientas que especifiquen la operación de los mismos. un campo de condiciones. un campo de acciones. donde se re­ flejan las decisiones sobre las entradas (cualificadores). cajas de acción condicional y cajas de decisión. de una caja de estado y puede poseer un número indeterminado de cajas de decisión y acción condicional. Una car­ ta ASM se compone de cajas de estados. Una de estas herramientas es la carta ASM (Algorithmic State Machine). Cada bloque consta.FreeLibros.). A este formato general pueden hacérsele algunas simplificaciones. . E[2n]. . fuente 2 . . D¡) Vi c) E <— A + B con “+” como suma aritmética. RF2. El va­ lor almacenado en E es... d.) y G () es una operación aritmético-lógica entre los datos de los registros fuentes.OR (C¡. RD. .X2.El símbolo “+” que aparece a la izquierda de significa una operación OR entre las variables correspondientes (A y B en los casos a y b.. b y d .Para distinguir entre suma aritmética y suma lógica (OR).). .. e y / y son registros en el caso c. Análogamente. fuente 1. Al revés ocurre con C y D (variables en c y registros en los demás casos). f) Ej <— C x D con “x” como producto aritmético. .AND (Cj. D¡) V i e. son registros (destino. se reserva “+” para el primer caso y “V” para el segundo (casos a y b respectivamente)... . E[n].294 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES PROBLEM AS RESUELTOS P ro b le m a 1. b) E¡ < . C[n] y D[n] en los casos a .En la unidad de datos de la figura se activan las señales de acuerdo con la siguiente secuencia de control: ciclo EN di do s . en caso necesario.FreeLibros. 5o 1 2 3 4 5 6 0 1 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 www. d) E¡ < . ya que el producto aritmético de dos números de n bits. son variables lógicas f ( ) es una función combinacional. da como resultado un número de 2 n bits. por tanto. donde: X ](X2. ó C y D en el caso c)..A y B son variables lógicas en los casos a..El convenio para declaraciones RT establece la forma general: f (X 1 .): RD G(RFj.Las dimensiones de los registros son: E[n]. RF2. RF¡. e y f . P ro b le m a 2 .-Com pare las siguientes declaraciones RT: a ) A + B: d) A » B: b) A + B: E C VD e) A » B: c)C+D: E< A + B f) A • B: E < -C + D E<— C a D <— E<— C » D — E < r-C x D Solución P l. C[n] y D[n] en los casos f y e. y/o “x” se reservan para la multiplicación aritmética y “A” para la operación AND. Análogamente.. representa la operación AND entre A y B en los casos d. A[n] y B[n] en el caso c.. b... a) E <— C + D con “+” como suma aritmética.. Entonces: . .me 0 1 1 0 0 1 . Ciclo 3. Para este ciclo encontramos activas la señal EN y djdo = 01 (se selecciona como destino el registro B). la secuencia de microoperaciones es: 1.. No se realiza ninguna operación entre registros. Solución P2. la microoperación entonces es B <— C. En resumen. Al igual que en el ciclo 2. NOP www. Como EN = 0 el decodificador está activo y por lo tanto se está seleccionando uno de los registros para escritura. Ciclo 4. En el último ciclo la señal EN está activa y con d ^ o = 10 se activa escritura de C. En esta ocasión EN = 0 y d]dg = 00 luego el registro seleccionado como destino es el registro A. Por otra parte S¡So = 00 lo que implica que el dato que se encuentra en el bus de entrada es [A]. Ciclo 6 . Ciclo 2. D <— A 2. no se realiza operación alguna entre los registros.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 295 Describa qué operaciones se hacen (a nivel R T ) a s í como la operación global en los seis ciclos de reloj. Como djdo = 11 el registro seleccionado es D.FreeLibros.me . Como SjSq = 11 el dato en el bus es [D] y la microoperación realizada es C <— D. Como S j S q = 01 el dato que se encuentra en el bus de entrada de los registros es [B] y la microoperación que se realiza es. Ciclo 5. Así la ope­ ración realizada en este ciclo de reloj es D <— A. En este ciclo EN = 1 lo que implica que nigún registro tiene activa la señal de escritura. Ciclo 1.Analicemos las operaciones realizadas en cada ciclo de reloj. por tanto. mientras que S j Sq = 10 y por tanto el dato en el bus será [C]. A <— B. Las operaciones pueden traducirse a las de una sola etapa A¡: TNOR: A j ^ ó i± B j TNAND: Aj<“ Ój-IJ L l TEQ: Aj<“ AJ ® B ] Entonces en función de los valores de TNOR. NAND. siendo B el contenido de n bits de un bus de datos: TN O R : A A + B TN AN D : A A • B TEQ: A <rA ® B Diseñe una etapa del registro A de n bits con biestables JK. B <— C 5. Globalmente. la operación realizada es: D <— A y A <— B <— C P ro b le m a 3.296 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 3. \TN O RTNAND TEQ A A jBj \ 000 001 011 010 0- 1- - 1- - - - 1- 0- 0- - 1- - - - 0- -0 -0 — -1 - - - -1 -0 -1 - - - ~ -1 -0 110 111 www. por tanto. A<— B 4.-Sobre un registro A deben realizarse las tres operaciones siguientes.. EQ) A continuación pasamos a la tabla de excitación donde consideraremos que la transfe­ rencia de estado es llevada a cabo por biestables JK.me 101 100 . podemos escribir el mapa de Kamaugh para el valor próximo de Aj (tabla de estados de la etapa j): TNOR TNAND TEQ -Aj 8! (Aj = qj> 000 001 01 1 0 1 0 00 0 1 01 0 0 - 11 1 1 - 10 1 0 - - 110 1 1 0 1 111 - 101 1 - - 100 - - - 0 - - - 0 - - - 0 Qj = Aj * Bj (* = ÑOR. TEQ y Bj y del valor actual de Aj. TNAND. C <— D ( (J. _____ <<- Solución P3.NOP 6 .FreeLibros. -S e definen las siguientes operaciones de desplazamiento a la derecha: . B ^j) ROR: SHR(B. representando el circuito correspondiente.-- TNOR > J q K q Y P ro b le m a 4 . a) A nivel RT las operaciones son las siguientes (donde B es un registro de desplaza­ miento a la derecha): LSR: SHR(B. c) Realice un circuito basado en 7 4198 que permita realizarlas siguientes funciones : I X 7-0 I8 Ds. 0) ASR: SHR(B. a) Describa las tres operaciones a nivel R T para un registro de n bits.I ^sr MR Si V Ck 74198 [8] >8 T ° A]Ao Operación 0 0 LSR 0 1 ASR 1 ROR - MR S.A S R (Arithmetic Shift Right): S e trata del llamado desplazamiento aritmético.L S R (Logic Shift Right): Se trata del llamado desplazamiento lógico.FreeLibros. en el que el bit de entrada serie es 0 . en el que e l bit de entrada serle es el bit de signo. el circuito correspondiente a la etapa j es: TNAND > ) TEQ O r- )— ) ------. Carga en paralelo - - 7-0 Solución P4. b) R ealice los tres circuitos anteriores para el caso n = 8 utilizando el registro 74198. B0) www. S0 Operación 0 100 10 1 1 10 111 Puesta a 0 asincrona Inhibición Desplazamiento izqda. en la que el bit de entrada serie coincide con el bit de salida serie.me .R O R (Rotation Right): Se trata de la llamada rotación. Desplazamiento dcha. .INTRODUCCIÓN A LOS SISTEMAS DIGITALES 297 de donde deducimos las ecuaciones de excitación: Jj = TNAND + TEQ • Bj + TNOR • Kj = TNOR + TNAND • Bj + TEQ • Bj Por tanto. . La entrada Dsr deberá ser conectada a 0.FreeLibros. Sj y Sq a 1. B ^ ) 0 1 Dsr 1 __ C MR 1— Si 0 S<k Ck- NC NC ** I X7 . 1 y 0 respectivamente.298 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Los circuitos que corresponden a cada una de ellas son: 0 LSR ASR ROR b) En los tres casos será necesario utilizar el circuito 74198 en modo de desplazamien a la derecha. Bn_j ó B0 según la operación que se desee realizar. para ello se fijarán las entradas MR. B0) DSr J __ c MR ] ____ S) 0 ----- NC £X7_o_ LD S1 B 74198 r 0> > Oo (= B0) Ckc) Ya que la única diferencia para los tres casos (apartado b) radica en la entrada D bastará multiplexar a dicha entrada la señal correspondiente: 00 0 1 1- Dsr 0 0? Oo www. 0) ASR: SHR(B. En los circui­ tos que se muestran a continuación.me . las siglas NC indican "no conectado". LSR: SHR(B. 0 Dsj B 74198 T° 7-0 NC ROR: SHR(B. p o r B 1 y B0. S e desea diseñar un sistema que permita a cualquiera de los registros ser datos-operandos y/o destino del resultado. Los registros utilizados son como el que se describe a continuación: IN w = 1 : REG IN w = 0 : REG <— REG OUT = [REG] w ---OUT Los datos A y B se obtienen multiplexando los datos de los cuatro registros Rq. 2 ) Un esquem a de conexión basado en buses triestado. Indique. todos de n bits. usando registros con terminales de entrada y salida separados.-S e dispone de cuatro registros con datos (R 0. ^ 00 01 11 10 00 0 0 0 01 0 11 0 10 0 0 Dsr~ AlOo+ A11 aA0quO'7 P ro b le m a 5 . e l de B. Añada en cada caso los dispositivos que se necesiten. El registro fuente del dato A es seleccionado por dos bits. R 1t R2 y R 3) y una ALU.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 299 Alternativamente. lo que permite activar la escritura w de sólo uno de los registros. la secuencia de activación de las señales de control de los dispositivos indicando de dónde provienen. 1) Solución basada en multiplexores. podemos obtener Dsr como función de Aj. www. Muestre la estructura del sistema e indique cómo se realiza una operación en los siguientes casos: 1) Un esquem a de conexión basado en multiplexado. por D 1 y D 0. A 1 y A 0. usando registros con termina­ les de entrada y salida separados. también en cada caso. El destino se obtiene decodificando D]D0. R 2 y R 3 .FreeLibros. A0.me . y e l de destino. 0 7 y Oq : O? O0 A. Solución P5. Rj. 3 ) Usando registros con terminales de datos bidireccionales. cuando se desee. Bq.IN r = 0 : OUT = HI r = 1 : OUT = [REG] Se permite r = w = 1 OUT www.FreeLibros.0 n x MUX 4:1 B . la unidad de datos es: A j— j 0 1 2 3 A0.300 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Entonces. A0.me . Los registros que utilizamos en este caso son: IN wr - REG[n] 'n w = 0 : REG <— REG w = 1 : REG <. B |. 2) Solución basada en buses triestado._ . 0 1 2 3 Bej— 0 n x M UX 4:1 Cada operación aritmético-lógica se selecciona con SEL_OP y se ejecuta en un ciclo de reloj (una microoperación): 1. y la combinación adecuada en las señales Aj. Es conveniente (aunque no obligatorio) introducir una señal de habilitación de es­ critura (EW) para que sólo se escriba en un registro R. RD <— RA * RB Las señales a activar son SEL_OP (que selecciona la operación *). D j y D0 para seleccionar los registros fuente y destino deseados. debe ser 0 en la primera microoperación y 1 en la segunda.Dos estándares.Uno triestado. desde R¡ a RT y dato A. con n líneas. con n líneas. . IN. por lo que la conexión es a través de un bus triestado. Puede obtenerse a partir de los registros que estamos utilizando sin más que fijar a 1 la entrada de control de lectura. RT R a 2. Se necesitan tres buses de datos: .me . Utilizamos registros con terminales bidireccionales (I/O).INTRODUCCIÓN A LOS SISTEMAS DIGITALES 301 Entonces la unidad de procesado: EW El registro RT es necesario para almacenar el dato B temporalmente. 3) Solución basada en registros con I/O. www. En cuanto a la generación de las señales de lectura. w T__ 1 — REG[n] OUT Cada operación requiere dos ciclos (dos microoperaciones): 1. desde RT al dato B y desde la ALU a R¡. el controlador debe poner: A j/Bj = B¡ en el ciclo 1 A¡/Bj = A¡ en el ciclo 2.FreeLibros. RD <— RB * RT Es obligatorio usar EW. w3 w 2 W 1 D r2 r i Ki *2 r3 r 3 S>K o ii 1 ii i n/ n .FreeLibros. „ Una operación requiere tres microoperaciones: 1 .me . T b < . que sólo se activaría en la microoperación 3.f n. en cuyo caso el resultado A * B puede almace­ narse en el registro de destino RD 2) almacenar el resultado A*B. RD <— TA * T b Es obligatorio incluir EW. En lo demás.t i 1 f r SEL OP La salida de la ALU debe poseer buffer triestado con el fin de que no haya problemas de cableado con el bus triestado cuando RA o Rg viertan datos. www. Ta ^— Ra 2. uno se destina a almacenar un dato-operando (por ejemplo B) y el otro puede: 1) almacenar el otro dato-operando (A). B y A * B). se nece­ sitan dos registros más para el almacenamiento temporal. en cuyo caso el dato-operando A es suministrado por Ra .302 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES wr - REG[n] DAT T rw 00 01 10 11 REG * REG DAT REG prohibida DAT HI entradas [REG] prohibida Como por un bus sólo puede haber un dato y necesitamos tres (A. la generación de w es como en los casos anteriores. El control de los buffers (CB) debe activarlo la unidad de control cuando realice la escritura en RD. f n . Solución 1): . De estos.R b 3. JK 0 0 1 1 0 1 0 1 Q q 0 i q j q K q Ck www. Una operación requiere tres microoperaciones: 1.-Obtenga la carta A S M para un biestable JK. siendo obligatorio incluir EW (a activar en microoperación 3). T d <— R a * T b 3.Este es el caso más 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.FreeLibros. T b <— R b 2. R d <— T d La generación de las señales de lectura rj y de escritura Wj son como en el caso anterior.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 303 La generación de las señales de lectura rj es como la discutida en la solución basada en buses triestado.me .. Solución 2) --- w0 R ro Ro w Ri ql K W2 R k2 — r2 w3 R — r3 k 3 SEL OP El registro TD debe tener salidas triestado para su conexión al bus. P ro b le m a 6 . Solución P 6 . Si J = 1 se produce un cambio.X o q.0 01. la salida q se encuentra activa permaneciendo en esta situación mientras que J = 0. Las entradas del biestable pueden ser ahora JK = 10 ó JK = 11. se activará la salida q (2o bloque ASM).0 b) J .0 00.1 01 11. mientras que las salidas tipo Mealy se activarán en cajas de acción condicional.me X X X X X X X X z z - -/ - 0 3 1 2 0 2 3 . en el ciclo siguiente.-Construya la carta A S M del circuito secuencia! dado en las siguientes tablas.1 11 10. a) Cada estado de la tabla dará lugar a una caja de estado en la carta ASM.FreeLibros.0 01. las salidas tipo Moore serán señales a activar en las cajas de estado. 3É Descripción HDL: 0 1 2 3 \' 0 10 1 www. a) Qi \ x 1 0 00 00.q¡K 00 01 11 10 Zj z 2z 3 00 00 10 10 00 1 0 1 01 00 01 01 00 1 1 0 11 01 01 01 01 0 0 0 10 10 11 01 10 0 Q iQ o -z 1 1 QiQ o Solución P7. P ro b le m a 7.0 10. Esta nueva situación se manten­ drá hasta que la entrada K se active. por lo que. las señale de entrada al circuito (en este caso sólo hay una: X) darán lugar a posibles cajas condicionales. Asimismo describa ambas máquinas usando el lenguaje HDL.0 10 11.304 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Como puede observarse en la figura anterior cuando el biestable almacena un 0. -La figura muestra una carta A S M de un sistema a s í como la unidad de datos cor­ respondiente.Z 3 x0 Z]Z 2 x0 Z]Z 2 x0 Z xo_ 2 Z 3 X0 X 1 Z 2 Z 3 X0 X 1 Z 2 Z 3 t x0 - 0 2 0 1 2 1 1 P ro b le m a 8 .INTRODUCCIÓN A LOS SISTEMAS DIGITALES 305 b) Es una máquina de Moore. www. x e y son entradas que pueden tener cualquier valor binario. En dicha carta.FreeLibros. por tanto todas las salidas se activarán en cajas de estado. per­ m aneciendo constantes desde que X s se hace 1. Descripción HDL: 0 1 2 3 ZlZ 3 Z .me . Especifique todos los errores de esta carta comentándolos brevemente. Error (4): Lectura simultánea de los registros A y B (no es posible pues hay un único bus de datos).306 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P 8 . ya que si x • y = 1. x + y no puede valer 0..Hay cuatro errores en la carta ASM. los valores de x e y permanecen consantes desde que Xs se hace 1. Error (3). Esto es debido a que según el enunciado del problema. esto es un error ya que A tiene I/O bidireccional. en este caso. Así. en general. Error (1): El camino “0” nunca se toma. correc­ ta aunque en este caso es errónea. La estructura de este bucle es. Estos se muestran en la siguiente figura en tramos más gruesos. Además.FreeLibros. www.me . el sistema se queda permanentemente en ese bucle (2 ) lo que es causa de error. A es leído y escrito en el mismo ciclo.: En este bucle no se pasa por ninguna caja de estado. Error (2): Se trata de un bucle infinito. (No hay que obtener la unidad de control. y que alm acene el resultado en cualquiera de ellos.-S e desea construir un sistema digital que realice todas las operaciones posibles de suma y resta entre dos números que se encuentran inicialmente en los registros A y B.me . para avisar de la finalización. La primera recibe la señal de inicio. Se puede entonces hacer una distinción clara entre la unidad de control y la unidad de procesado del sistema digital. X§. y el código de la ope­ ración a realizar (a través de IR) y activa la señal de FIN y las señales 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. y.FreeLibros.. sólo la unidad de proceso y el conjunto de microoperaciones que realiza). Solución P9. activa la salida FIN. www.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 307 P ro b le m a 9.Supongamos que el sistema inicia su operación cuando se activa la entrada X§. FreeLibros. los que se han dibujado en gris son unidi­ reccionales y dedicados.A-B • A 4 A+B • B < A+B • A 4 A-B • B 4----. í RA f f WA RB f f fs fr r afc WAC f ZACf WB WT www. Se han distinguido dos tipos de buses. Una posible arquitectura de la unidad de proceso que posibilite la ejecución de estas macrooperaciones se muestra en la siguiente figura. compartidos y triestado. El conjunto de opera­ ciones que debe realizar este sistema son: • A 4— A+B • B 4— A+B • A 4— A-B • B 4. que permite operar con estos. mientras que los que se han dibujado en negro son bidireccionales.me (del controlador) . y la ALU. que con­ tienen inicialmente los datos.A-B Por lo que sólo se necesitan 3 bits para codificarlas. Todos los buses y componentes que aparecen son de n bits.308 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES sistema usuario Como componentes claros de la unidad de proceso están los registros A y B. . Por simplicidad. se obtiene el conjunto de microoperaciones o “pasos” necesarios a realizar en cada ciclo de reloj.IN2 IN. = LACj [AC] [AC] [AC] out2= HI HI [AC] HI IN. para obtener la ejecución de cada macrooperación.FreeLibros. deducimos que para obtener la suma de A y B.INTRODUCCIÓN 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 ambigüedades en el funcionamiento de los mismos. sólo se detallará el caso de A <— A+B. s 0 0 1 1 r 0 1 0 1 OUT = - IN.OUT [T] 0 T 1 IN [T] o o Registro AC (ACumulador) AC <— AC 1 0 0 0 0 1 0 0 0 1 O Z AC R AC R AC ■w AC -A C IN. Registro X (X es A o B) Rx Wx 0 0 0 1 1 0 1 1 Registro T OUT DD= X HI DD Entrada X [X] Prohibida x< - WT T<. W AC Otras Prohibidas AC IN OUT. Observando la arquitectura.me . + IN2 Prohibida (No importa) Para la unidad de procesado propuesta y para cada una de las macrooperaciones defini­ das. y sumarlo posteriormente con el segundo www. hay que situar el primer operando en el registro AC. además.RAC www. simultáneamente. Por tanto. T<-A T<—B . e incluso traemos el segundo operando al registro T. A +. que el dato que se transfiere al acumulador es la suma o resta del contenido del registro T con el contenido del propio acumulador.RAC WB.RA WT. T <. AC<—AC+T AC+-AC-T AC<—AC+T B+-AC A<—AC B<—AC A+-AC A<—A+B A<-(-A)+B Bf-(-A)+B A<—(-A )-B B+-(-A)-B AC<—0. AC <. A C +.WT. podemos ordenar el almacenamiento del resultado en el registro A.me B<—A—B WB. AC <.310 PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES operando.WAC.FreeLibros. s WA. T<—B.RAC WAC.A. 2. se transfiere el contenido del registro A hacia el registro T y.0 En el segundo ciclo de reloj. 4.AC Si este proceso se repite para las macrooperaciones restantes obtenemos la siguiente tabla: pOP 1 2 3 4 pOP 1 2 3 4 B<—A—B A<—A—B B<—A+B AC<—0.RAC . AC+-AC-T AC<—AC+T A+-AC B+-AC AC<—AC-T B<-AC A<—AC De forma equivalente obtenemos la tabla que representa las señales de control a activar por la unidad de control: pOP 1 2 3 4 A+-A+B A<—A-B B+-A+B ZAC. Nótese. T<—A T<—B . RB. 1. ponemos a 0 el acumulador.AC + T En el ciclo de reloj siguiente. en primer lugar.AC + T Sumamos a continuación los dos operandos: 3. podemos transferir al acumulador el contenido de T ([T] = A). r WA.s WAC. - - . Final­ mente.RA WT. Finalmente. OUT [C] (0 ) Los estados que aparecen entre paréntesis podrían suprimirse en notación RT.RAC Para diseñar el sistema digital completo necesitaríamos describir el comportamiento de la unidad de control y diseñarla. el registro C debe recibir A y A+B. También se describen los registros a nivel RT. tras lo cual el sistema va al estado de espera. - - < — - - - = Los registros A.RAC WB. B. RB. los datos de C se almacenan en B. C) de ocho bits.RAC WB. Esto lo dejaremos para el siguiente Capítulo. C A (3) 3.INTRODUCCIÓN A LOS SISTEMAS DIGITALES pOP 1 2 3 4 A<—(-A)+B A<-(-A)-B B<—(—A)+B 311 B<—(—A)—B ZAC.FreeLibros. b) Para diseñar la unidad de datos debemos tener en cuenta que el registro A debe recibir su entrada de DIN.me . 0 Xs Xs (1 ) A <— D in (2 ) 1 2 . los datos de C son situados en las líneas de salida. B y C son como el descrito a continuación: www. s WA. c) H aga la carta A S M de las señales a activar por el control. P ro b le m a 10. b) Diseñe la unidad de datos que pueda realizarlas. r WAC. C<— A + B (5) 5.Considere un sistema con tres registros (A. por lo que la so­ lución mostrada hasta aquí es suficiente para este tema de introducción.RAC WAC. Ha de tener lugar la siguiente secuencia de operaciones en el orden que se describen: Cuando se activa una señal de comienzo (Xg) los datos de entrada se cargan en A. a) Describa las operaciones a nivel RT. r WA. d) ¿Habría que hacer algún cambio para imponer que las líneas de salida estuviesen en alta impedancia cuando no mostraran el dato? En su caso. El complemento de los datos de A se cargan en C.. En la siguiente figura se muestra cómo hay que conectar los registros entre sí. a) La secuencia de operaciones descritas a nivel RT es la siguiente: 0 . ¿cuáles son? Solución PIO.WAC. el registro B debe recibir el contenido de C.WT. B <— C (4) 4. Con los datos de A y B se hace la operación O R y el resultado se alm acena en C. www. Basándonos en las soluciones obtenidas para los apartados a) y b) obtenemos: d) En nuestro caso ya hemos hecho que OUT = HI cuando no estemos en la microoperación 5 mediante los 8 buffers triestado que sólo están activados en S5 .FreeLibros.me .312 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES WK K<— z= 0 1 K X [K] [K] c) La carta ASM del controlador es inmediata. se obtiene: XNOR XOR www. XOR.me .* El contador ha de ser de 6 bits. A¡ <— A. Dibuje e l diagrama lógico de un circuito asociado a una etapa del registro que nos permita ordenar la transferencia A¡ A¡B¡.Un registro A con n etapas individuales se acopla a un bus cuyas líneas llevan los bits B. Suponiendo <— A¡ + B ¡.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 313 PROBLEM AS CON SOLUCIÓN RESUMIDA P ro b le m a 11. Los componentes del registro A son biestables SR. (* = AND.FreeLibros.. Solución PH. carga en paralelo e inhibición. A¡ <— A¡ T = 0: A <— A T = 1: A <— A * B ® B ¡. <— Repítalo para A¡ Solución P12. XNOR). una posible descripción a nivel RT sería la si­ guiente: DIN5. © B¡ . OR.Describa a nivel R T un contador ascendente módulo 64 con puesta a cero.0 SiS0 00 01 10 11 z 5 -o - C i— [C] [C] [C] [C] C+ I DIN 0 Cy c cl 5cl 4 cl 3cl 2cI 1Qo P ro b le m a 12.. Xl ) X7-0 Solución P13. 1 0 para desplazamiento a izquierda y 1 1 para carga en paralelo).Xr ) SHL (RU8.A: Solución con desconexión mínima.El registro equivalente.0) y dos en serie (XR y X¡J. .Entradas de control: la del reloj (Ck) y dos para las distintas operaciones con 0 0 para inhibición.Se dispone de un registro con terminales de entrada y salida separados que posee una única señal de control para escritura.. Su des­ cripción y su diseño a partir del RU[ 8 ] se muestran a continuación: R W SR SL 000 00 1 0 10 100 Otras ZRE [RE] [RE] [RE] [RE] RE <— RE SHL (RE..L) SHR (RE.Un registro universal de 8 bits (RU 8 ) tiene la siguiente descripción: Entradas de datos: 8 en paralelo (X 7.314 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 13.FreeLibros. Solución P14. W para la carga en paralelo. Especifique un registro equivalente cuyo control se efectúe con sólo una entrada activa p o r cada operación de cambio de datos. XR | ‘0 XL Si. E l registro R U 8 tiene la siguiente descripción RT: - (S?S0. www. 0 1 para desplazamiento a la derecha.B: Solución con desconexión total. Se pretende incorporar este registro a un sistema ya dado a través de un bus 3-estados bidireccional.R) d in 7_0 Prohibidas DIN7_0 L W_ SLSRCk- RU8[8] -=T> RE = Registro Equivalente RE[8] * z . RE[8 ].RE P ro b le m a 14. . W.me . S¿- RU8[8] Ck- l SiS0 IIo N < t i 00 0l 10 11 [RU8] [RU8] [RU8] [RU8] RU8 <RU8 SHR (RU8. SR para desplazamiento a la derecha y SL para desplazamiento a la izquierda. Describa cómo se implementa la incorporación. una para desplaza­ miento a derecha (XR) y otra a izquierda (X¡).Salidas de datos: 8 en paralelo (Z 7_0).. . Diséñelo utilizando un R U 8 ..Veamos dos posibles soluciones: . Descríbalo a nivel RT. tendrá 3 señales de control. No importa cómo se generen las señales de dirección de la memoria. <— <— <— Solución P15. E l registro M B R es de n bits.En un sistema digital se desean implementar las siguientes microoperaciones condicionales: W: M M B R (El dato de M B R se escribe en memoria).me . A la derecha del circuito se describen los tres dispositivos a nivel RT. con una señal de habilitación activa en alta (EN ) y señal de control de lectura-escritura (RAV). cuando no se lee de la memoria.En la figura se muestra cómo interconectar M. E l registro EXR. R y E son generadas por el controlador. de n bits. E: MBR E X R (Se carga en M B R e l dato de un registro externo EXR). con entradas y salidas separadas. Describa a nivel R T los dispositivos con memoria y construya la unidad de datos del sis­ tema. señal de carga en paralelo (L) y salidas incondiciona­ les. tiene salidas incondicionales. www. La memoria M es R A M de 2 * x n. A £ W_ R a incluir Sol. sus salidas muestran un 0 lógico.FreeLibros. Las señales W.. EXR y MBR para poder realizar las microoperaciones que se piden. con bus de datos de entrada y de salida separados. B P ro b le m a 15.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 315 a incluir Sol. R: M B R M (S e lee de memoria un dato y se escribe en MBR).. provoca que éste funcione como un contador Gray. Describir como carta de Moore y como carta de Mealy. En la figura se puede observar que la evolución de estados corres­ ponde a la de un contador binario para G=0. como un contador binario. y si está inactiva. no hay cajas de acción condicio­ nal.En una realización como máquina de Moore.Determine la carta A S M para un contador ascendente que dispone de una entrada de control G que. cuando está activa. Solución P16.. www. marcarán el flujo hacia los próximos estados.. Son necesarias ocho cajas de estados que representan todos los estados posibles del con­ tador y un conjunto de cajas de decisión que.316 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 16.FreeLibros. dependiendo del valor de G. y a la de un contador Gray para G=1.me . Así obtenemos la siguiente carta: www. Las comunes se colocan en la caja de estados y las propias de cada uno en una caja de acción condicional situada tras la caja de decisión que identifica el tipo de contador.me . Para cada estado o paso de la secuencia. En primer lugar obtenemos las secuencias de los dos tipos de contador. comparamos las salidas activas de ambos.FreeLibros.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 317 Para obtener la carta como máquina de Mealy procedemos de la siguiente manera. www.Construya la carta A S M correspondiente a l circuito de la figura. Describa su función en lenguaje HDL.FreeLibros.me ..318 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES P ro b le m a 17. z X 1 2.Los estados son: Sq (qiq 2 = 00)’ ^ 1 (qi^O = ^ 2 (qiq 2 = 10)> S 3 (qjq 2 =11).FreeLibros..Tras analizar el circuito y obtener su tabla de estados se obtiene la siguiente carta ASM: Descripción HDL: X 0 0 . X z P ro b le m a 18. el de la tercera es de dos ciclos de reloj y el de la cuarta es de tres ciclos.INTRODUCCIÓN A LOS SISTEMAS DIGITALES 319 Solución P17. X]X 2 oo 0 1 1 1 1 o www.Desarrolle una carta A S M y una tabla de transición para un generador de formas de onda controlable que dependiendo de dos entradas X 1 y X 2 generará las cuatro formas de onda que se muestran en la figura.me .. X X z 3 3. X z 2 X z 0 1. E l periodo de las dos primeras formas de onda es cuatro ciclos de reloj. 1 10.1 11. en cada instante.1 00. b) Muestre una implementación del circuito que realiza esta instrucción en los dos casos siguientes: 1.FreeLibros.me . Los registros B¡ tienen salida estándar en paralelo. www..0 11.320 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P18.1 10.Se desea realizar la siguiente microoperación: K T0 A < — B0 T1 A Bi Tg A B¿ A Bg T3 ñor <— ^— ^— (.1 01. T r t¡ = o ¡). 00 01 11 10 00 01.1 00. XiX 2 qiqoN" \ s.1 01.r 0 + r ?+ r 3 + r4.0 10. nop donde K identifica esta microoperación. 2.1 s3 10 11.1 01. hay como mucho una señal de entrada a 1 (esto es. a) Represente e l bloque A S M correspondiente. los registros son de ocho bits y.0 s2 01 s4 11 00. Los registros B¡ tienen salida triestado (alta impedancia) en paralelo.0 00.0 00. T0 -T 3 son las variables de entrada.0 00. V /.0 Q 1Q0’ z P ro b le m a 19. INTRODUCCIÓN A LOS SISTEMAS DIGITALES 321 Solución P19. Tj. Un codificador se encarga de seleccionar el registro B¡ correspondiente al Tj ac­ tivo. .Diseñe e l sistema digital que permita realizar de la operación A (No diseñe la unidad de control).me <— 4*(A+B). t 0-TR B0 [8 ] T l . T2.. a) En el bloque k se evalúan los valores de T0. b.2) En este caso la conexión se puede realizar mediante un único bus. 1) Las salidas de cada uno de los registros se conectan a las entradas de A mediante multiplexores. b. www. Posteriormente se pasa al bloque k+1. T 3 y se realizan las transferencias necesarias.R '8 WA B2 [8 ] / '8 t3- r B3 [8 ] é '8 A[8 ] P ro b le m a 2 0 . [8 ] / .R B.FreeLibros.8 Io_ - T 'z 12 / > t2. Por tanto.me . A < . T <— B. La descripción de los registros de esta unidad de proceso es idéntica a la realizada en el problema 9 salvo por el registro acumulador.En este caso. que ahora tiene una nueva señal de control.322 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P20. SHL.AC + T. www. se muestra a continuación: 1. AC <— AC + T. 4. Para ello se puede plantear una arquitectura similar a la del problema 9: Sólo se ha añadido una señal al registro AC (SHL) que simplifica el proceso del cálculo de la multiplicación por cuatro. AC <— 0. el sistema digital sólo tiene una macrooperación que realizar. 2. [AC] [AC] [AC] [AC] [AC] out2 HI HI HI HI [AC] La secuencia de microoperaciones.AC.. T <— A. SHL. 5.FreeLibros. 3. Dos desplazamientos hacia la izquierda generan este producto de forma rápida. obviamos la descripción de los demás registros y sólo presentamos la del acumulador. r ac 0 0 0 0 1 WAC s h l z ac AC<— 0 0 0 AC 0 0 1 0 0 1 0 SHL 1 0 0 IN 0 0 0 AC OUT. AC <r. 6 . mostrando su ubicación en e l diagrama de bloques anterior.MDR 1 5 . d) Diseñe M A R utilizando el C. 74298. c) Diseñe M A R utilizando el Circuito Integrado 74198. 0 TMDR: IR ^— MDR 2 3 . Solución P21.PC LMDR: MAR < . s CIR 0 1 CIR <— IA CIR <— IB Nota: C. Indique cuántos circuitos integrados se necesitan para construir el sistema indicado.l. a) Indique a nivel R T las transferencias hacia M A R y hacia IR. y dibuje un diagrama de bloques del procesador. Los 8 bits más significativos de M DR se almace­ narán en IR (cuando se active una señal TMDR). un registro de direcciones de memoria (M AR) de 16 bits..J 6 El diagrama de bloques del procesador: www. 74198 ver problema 4 de la sección de problemas resueltos.FreeLibros. M A R podrá ser cargado con el contenido de P C (cuando se activa una señal LPC) o con los 16 bits menos significativos de M D R (cuando se activa una señal LM D R ). b) Se dispone de circuitos integrados.Un procesador posee los siguientes registros: un contador de programa (PC).INTRODUCCIÓN A LOS SISTEMAS DIGITALES 323 P ro b le m a 2 1 . a) Las transferencias hacia MAR y hacia IR a nivel RT: LPC: MAR < . un registro de datos de memoria (M D R ) de 2 4 bits y un registro de instrucciones (IR) de 8 bits. cada uno de los cuales incluye un registro o un contador de 8 bits.l.me . I. 74298. 0 p c 1 5 . Como el 74298 es de 4 bits. para hacer MAR. 0 d) Diseño de MAR con el C.FreeLibros. 74198 MDR1 5 .I. 2 para MAR y 1 para IR).I.324 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) 8 circuitos integrados (3 para MDR. se necesitan 4 C. www.me . 2 para PC. c) Diseño de MAR con el C. La equivalencia entre ambas formasde descripción es la si­ guiente: por cada caja de estados de la carta ASM setiene un estado en lamáquina. En éste se aborda fundamentalmente el diseño de esta última. Para ello. En esta obra nos centraremos básicamente en dos modalidades: .Diseño con un biestable por estado. Las unidades de control también son descritas mediante cartas ASM o lenguajes de descripción de hardware de un modo análogo. hasta estructuras microprogramadas que usan PLA o ROM. Existen diversas estrategias para la realización de unidades de control. se obtiene un diseño para el contro­ 325 www. . en señales a activar por el controlador. es necesario obtener un diagrama de estados a partir de la carta ASM. cuando se utilicen cartas ASM para describir controladores se mantendrá la información relativa a la unidad de procesado (transferencias a nivel RT) aña­ diéndose la relativa a la unidad de control (señales a activar). desde el diseño como máquinas de estados finitos. En los problemas 4 y 5 se detalla este método. los sistemas digitales se componen de dos partes: unidad de procesado y unidad de control.me .Capítulo 12 DISEÑO DE UNIDADES DE CONTROL Como ya exponíamos en el Capítulo anterior. En los problemas de este Capítulo. En el Capítulo anterior se introdujeron las cartas ASM y los lenguajes de descripción de hardware como herramientas para la descripción de sistemas digitales y se usaron para la descripción de unidades de procesado. La única diferencia es que las acciones a realizar consisten.Diseño con mínimo número de biestables. Las salidas que aparecen en cajas de estado son salidas tipo Moore y las que aparecen en cajas de acción condicional son salidas tipo Mealy. en este caso. las salidas a activar por el controlador son las salidas de la máquina. por cada señal que aparezca en alguna caja de acción condicional se tiene una entrada de la máquina. DISEÑO DE CONTROLADORES COM O MÁQUINAS DE ESTADOS FINITOS Esta estrategia se basa en considerar al controlador como una máquina secuencial síncrona y diseñarla utilizando los métodos del Capítulo 8 .FreeLibros. Si el proceso de síntesis se realiza minimizando el número de estados y utilizando una codificación con el mínimo número de variables posible. De ahí las modifi­ caciones a realizar sobre el registro de desplazamiento: hay que establecer caminos entre los distintos biestables de manera que se puedan realizar todas las transiciones contenidas en la carta ASM. el primer biestable pasa a almacenar el estado q = 1 con lo que el estado del controlador será S¡. 0 s3 s4 0 0 0 1 .. En la siguiente figura se muestra el esquema básico de dicho registro. Por cada elemento de la carta se obtiene un elemento de circuito. En concreto. Así. 0 1 0 0 . En el estado de espera todos los biestables almacenan el valor 0. Realizar una transición entre dos estados S¡ y Sj con­ sistirá en hacer pasar el “ 1” almacenado en el biestable “i” al biestable “j ”. 1 Sn Con una codificación de este tipo la transición entre estados puede realizarse fácilmente mediante un registro de desplazamiento en el cual se introducen ciertas modificaciones.. Por otra parte. A continuación se muestran algunos ejemplos de transiciones en la carta ASM y la correspondiente modificación en el circuito básico: www. en cada biestable aparece un número “j” indicando que la variable de estado correspondiente es qj. Se ha omitido la señal de reloj que es común a todos los biestables. 0 s. 0 S2 0 0 1 0 . Esto se ha hecho por simplicidad y se mantiene en el resto del Capítulo.. por cada estado se incluye un biestable.326 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES lador que utiliza el número mínimo de biestables. costoso en tiempo y quizá excesivamente específico. 0 So 1 0 0 0 .. la codificación de estados es: estado código 90919293•• •9n 0 0 0 0 .. de ahí la denominación “un biestable por estado”.. Este método se basa en una codificación de los estados de la carta mediante el código l-o u t-o f-n (excepto para el estado de espera al que se asigna el código 0). Cuando se produce un pulso de un ciclo de duración en X§.FreeLibros. 0 0 0 0 0 . Esta alternativa de diseño proporciona rea­ lizaciones muy buenas (incluso óptimas) a costa de un proceso complejo.me . DISEÑO BASADO EN UN BIESTABLE POR ESTADO En esta estrategia de diseño se obtiene el circuito mediante una aproximación formal a la carta ASM. índice del Capítulo Este Capítulo desarrolla problemas de las siguientes materias: . Como estas señales suelen estar accesibles en el registro de desplazamiento modificado (en el ejemplo serían q 2 . y consiste en una mera traslación formal desde las cartas ASM o programas HDL. 8 ) y el C2 de 8 bits (mod. ¿ Qué cambio hay que introducir para escribir en B el número de “0 ” de A? Nota: Z¡ Puesta a 0 síncrona. 256 ).FreeLibros.DISEÑO DE UNIDADES DE CONTROL 327 Por último. por ejemplo. E l contador C 1 es de tres bits (mod. PROBLEM AS RESUELTOS P ro b le m a 1. = www. diseñe un controlador que permita escribir en B el número de “1" que hay en A. l¡ = Incrementar. válida para todas las unidades de control.Realización completa de sistemas digitales. una salida W A ( 3 que se activase en los estados S 2 y S5 ).. . la técnica en sí es muy genérica. para obtener la salida deseada WAC bastaría sumar (OR) esas señales: W AC = q2 + qs + «feoAunque esta técnica de diseño no optimiza el coste en puertas y proporciona controla­ dores específicos al problema. por ejemplo. bien cuando ocurre cierta condición de entrada en un estado (salida tipo Mealy.me .Diseño de unidades de control para casos específicos. que WAC se activase para X 3 = 0 en S3).Para ¡a unidad de datos de la figura. las salidas de la unidad de control son señales que se activan bien en uno o más estados (salidas tipo Moore. q 3 y la salida del canal 0 del demultiplexor de q3: q30). CY¡ = CARRY. Por ello el tiempo diseño es muy corto. Registro de desplazamiento D: W C SHR“ 1 Í r D[8] í 8 oR w dr ds h r b u s 7_0 - D <— 100 0 10 00 1 entrada [D] HI b u s 7_0 b u s 7.í r ) . DESP.0 = X < rW XR X X[8 ] R „ __ 00 HI X 01 X [X] 10 entrada BUS7_0 11 prohibida prohibida t b u s 7..0 F .. I.Registros ~ y C2 : W..N -.FreeLibros.Registros A y B: Wx _ b u s 7. En primer lugar describiremos a nivel RT los registros de la unidad de datos . CY. = 0 c¡ <— 1000 0 100 0 0 10 000 1 0000 1 si [Cj] = entrada BUSn_j = 1.Oí SHR' • WB Rr B[8] C2 r 2 w 2 i2 z 2 Solución P l. Z¡ CY¡ I BUS n-1.La macrooperación a realizar es: B <— ne de 1 en A. REG. í 8 _C Y ..= BUSn. -.me D SHR(D.328 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES WA R¿ A[8] y í ‘ ¡« Rd WD- 1 * c.0 W.0 www. R¡ I¡ Z¡ CY. Or 8 V . R.11 [C¡] HI HI HI Ci 0 c ¡+ 1 0 Ci . Tras el primer ci­ clo. www. . utilizamos el contador Cj que es módulo 8 . La carta ASM (incluyendo simultáneamente RT y control) es: Sj: Inicialización. Esto hay que hacerlo 8 veces. S 2 : Es el núcleo de la solución. se cumple: O r = Aj. Así sucesivamente. [C¡] = 0 Según el resultado de la evaluación de O r .Siempre se ordena el desplazamien­ to de D y el incremento de Cj. C] y C 2 están a 0 y D tiene escrito el dato A. b) Si O r es 1 incrementamos C 2 .La primera vez que se alcanza S 2 . c) Desplazamos el registro D para acceder al siguiente bit del dato A original. S 3 : Se escribe el número de l's en B. [ C j ] = 7 por lo que CYj=l saliendo hacia S 3 .me .DISEÑO DE UNIDADES DE CONTROL 329 El número de “ 1” en A puede variar entre 0 y 8 . se cumple: O r = Aq. d) Para conocer el número de desplazamientos. Para contarlos necesitamos 4 o más bits.FreeLibros. ya que siempre vamos a evaluar un nuevo bit. la octava vez: 0 R = A7. C 2 [8 ] (módulo 256) realizará esta cuenta. preguntando por 0 R sabremos si el bit más a la derecha es 1 o no. . La idea que sustenta la solución es: a) Transferimos A a D.La segunda vez que se alcanza S2 . (Al alcanzar S3. [D]=0 y [Cj]=0 pues el contador Cj ha pasado de 7 a 0). [Cj] = 1. se incrementa o no C 2 . La figura muestra la memoria (M E M ) de un sistema: e l registro de direcciones (M A R ) puede ser cargado con el contador del programa (PC ) o con el puntero de pila (SP).330 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES El controlador se obtiene directamente de la carta ASM: El único cambio que es necesario realizar si se quiere escribir en B el número de “0” de A es modificar la caja de decisión de O r y el demultiplexor correspondientes a S 2 .me . P ro b le m a 2 . en llevar A a la pila y en llevar de la pila a A (recuerde que P U S H A implica M E M A y S P <— S P + 1 . Se quiere incorporar las dos operaciones de pila: EM PU JA R (P U S H ) y EX TR A E R (PU LL) que consisten respectivamente. Nota: los códigos I ^ q = 1X están reservados para otras operaciones no definidas en el enunciado. Cuando no hay operación de la pila..FreeLibros. mientras que PULL A implica S P < r . el registro de datos (M D R ) está conectado a un bus de datos internos (IDB). a l que también se conecta e l registro A.1 y A < — M E M (S P ) ). <— = www. el puntero S P apunta a la primera dirección libre. y otro externo (ED B ) conectado con la memoria. Diseñe e l controlador que perm ita ejecutar las operaciones de P U S H ( ' / J / 0 00) y PULL 0 il o = O1).S P . SP. 16 ISP DSP IDB[8] uMAR[16] A[8] WPC — WSP l 16 331 Ra WA 1 — Rl W. Sólo entonces se lleva SP a MAR para. después.. tras apuntar SP a la dirección adecuada. de microoperación señales a activar 1. leer de MEM hacia MDR y. Las dos operaciones de pila implican direccionar la memoria MEM con la dirección que indica el puntero de pila.1 2.SP + 1 CS / W / Re / ISP W SP/Ra /W! Operación PULL (I¡I 0 = 01): Hay que decrementar SP para que apunte a la última di­ rección llena. microoperación señales a activar 1. MEM 4 . De aquí que. es ahí donde hay que transferir A y. A MDR DSP WSP C S / R / WE R i /W a www. 16 ✓. SP 4— SP .MDR / SP 4 . MAR 4 . MDR 4 . después.A 2.me . habrá que transferir SP hacia MAR.Según el enunciado. la pila se va llenando desde las direcciones más bajas a las más altas. se incrementa SP para que continúe apuntando a la primera dirección vacía. En ambas operaciones la transferencia entre MEM y A debe pa­ sar por MDR. MDR[8] — — R e J— WF CS R W AB[16] J EDB[8] Solución P2. MAR 4 .FreeLibros.SP / MDR 4 . Operación PUSH (Ijl 0 = 00): Como SP apunta a la dirección vacía.SP 3.MEM 4.DISEÑO DE UNIDADES DE CONTROL IPC — PC[16] SP[ 16] . MDR / SP <— SP + 1 C S /W /R e /ISP MAR <— SP WSP \/ MDR <— MEM C S / R / WE A < r- \/ MDR Rl/W A FIN El controlador correspondiente según la aproximación de “un biestable por estado” se muestra en la siguiente figura: www. / MEM < r .me .r DSP MAR <— SP / MDR <— A WSP / RA / W.332 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Representemos ahora una posible carta ASM para reunir ambas operaciones teniendo en cuenta que los códigos Ijl 0 = lx están reservados para otras operaciones: 1<----------------------------------NOP 0 A\ h \/ O Otras operaciones v In SP <— SP .FreeLibros. M[4] L [4] 4 y' z M zL . Para efectuar la transferencia se dispone de un bus de cuatro bits accesible a M y L. E l registro M contiene los dígitos más significativos...DISEÑO DE UNIDADES DE CONTROL 333 P ro b le m a 3 . Los números se transfieren para que aparezcan en un registro R de ocho bits.Un número decimal de dos dígitos se almacena en dos registros de cuatro bits en forma BCD. a) Establezca una arquitectura para el sistema especificando los terminales de control de cada registro. La operación de transferencia se realiza respondiendo a un conmutador.FreeLibros.' 4 S: BUS = [L] S: BUS = [M] BUS[4] www.me . Solución P3. b) Construya la carta ASM . e l L. Conexión por multiplexado: Las salidas de M y L son estándares (ZM = [M] y ZL = [L]) por lo que no se necesitan señales de lectura de los registros. c) Diseñe el controlador del sistema usando e l mínimo de biestables y dibuje el circuito lógico.a) Para que M[4] y L[4] puedan escribir sus datos en el único bus de 4 bits (BUS) hay dos soluciones: 1. los menos. pero sólo a las cuatro posiciones de más a la derecha del registro R. Mediante 4 x MUX 2:1 se escribe el contenido de L (para S = 0) ó de M (para S = 1) en el BUS. 334 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 2.La carga en paralelo deja sin cambio a los 4 bits más significativos. R.El bit serie que entra en el desplazamiento puede ser cualquiera aunque nosotros he­ mos optado por introducir un 0 . .0.0) Observemos que: . SL. además de la carga en paralelo de los 4 últimos bits.M Rl 1 Rx M[4] L[4] X[4] -M RX: Zx = HI RX: Zx = [X] T BUSU[4] J El registro R[8 ]. es un pulso de duración 1 ciclo de reloj. salida del conmutador. 4 i WrSL 0 0 1 0 0 1 Operación R <— R R3 . Conexión de bus único (BUSU): Las salidas de M y L tienen HI por lo que se nece­ sitan señales de lectura.FreeLibros.me . Sólo una de ellas puede activarse en cada ciclo. R7_4 <— R7_4 R <— SHL(R. necesita estar do­ tado de desplazamiento a la izquierda para transferir datos a sus 4 bits más significativos: X 3-0 R[8 ] W r .0 <— X3. www. Con todo ello la arquitectura del sistema es: donde suponemos que Xs. el primer paso es obtener la tabla de estados a partir de la carta ASM. Se han utilizado biestables T para la rea­ lización de la máquina de estados.FreeLibros. Después. Después se realiza el proceso ya conocido para el diseño de un circuito secuencial síncrono genérico.me . www. Con esto el registro R[8 ] contiene el dígi­ to BCD más significativo en sus 4 bits de la izquierda y el menos significativo en los 4 bits de la derecha.DISEÑO DE UNIDADES DE CONTROL 335 b) La carta ASM para la unidad de datos y la unidad de control es la siguiente: Con la señal del conmutador Xs se pasa a almacenar en R el dígito BCD más signifi­ cativo. No haremos el desarrollo detallado pues dicho proceso ya se cubrió suficientemente en el Capítulo 8 . En la siguiente fi­ gura se muestran la tabla de estados/salida obtenida a partir de la carta ASM. Por último se escribe el dígito BCD me­ nos significativo (el almacenado en L) en R. la codificación elegida para los estados y las ecuaciones resultantes. c) Para utilizar el menor número de biestables en el diseño de un controlador. mediante 4 desplazamientos a la izquierda se coloca ese dígito en la mitad más signifi­ cativa del registro R. que es el almacenado en M. 0 0 0 Si: S2: S3: S4. a l menos uno de los bits de A es un cero. señales de control (RA. 0 s0 s2 1 Rlr mW r SL S. ¿ Cuál es el contenido de R U 8 y de C O N T tras regresar a l estado de espera? S ?. a) Describa. S5: S6: Ecuaciones de salida: 00 1 0 1 0 0 r L = 9291 1 1 r m = 929 19o__ 1 0 0 1 0 1 W R -_929l+ 929 19o 1 1 0 S L = q 2qi + q 2 9i Problema 4.0 = A <— 0 1 HI [A] A A . Ini­ cialmente. los componentes de esta unidad de datos.Un sistema digital tiene como unidad de datos la representada en la figura. S0. a) Descripción de componentes: A[8] j r - BUS7_o www. derecha -n-o Solución P4. represente en el tiempo (hasta que se ha gene­ rado la salida deseada) los siguientes parámetros: BUS.s 0 0 0 íl 0 1 1 0 *0 1 1 operación inhibición carga paralelo despl. a nivel RT.9o + 9 2 9i + q29i9o + q29i So.me ra b u s 7. izquierda despl. s . E l sistema debe dar como salida el núme­ ro binario de la posición del "0" m enos significativo de la palabra alm acenada en el registro A. U P) y las salidas del sistema digital. 0 0 0 0 0110 - 00 0 1 S3 s3 S4 s4 S5 S5 S6 S6 s0 s2 - 00 0 1 - 00 0 1 00 0 1 - 10 1 0 - Ecuaciones de excitación: T 2 = 9l9o + 9 2 9l T l = 90 + 9291 Codificación Tq .. CLC.336 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES \ Xs So S. b) D e la carta A S M y diseñe e l controlador (basado en la técnica de un biestable por estado). c) S i el valor inicial de A es: 10101011.FreeLibros. la posición del 0 menos significativo de A está dada en CONT (O 2 -0 ).Si Zo = 0 . 00 0 1 1 0 1 si [CO N T] = = 111 [CONT] [CONT] [CONT] Prohibida CONT CONT CO NT + 1 0 Prohibida Sa: Estado de espera.: Puesta a cero del contador y transferencia del dato A al registro universal RU 8 . S). S0. debemos pasar a evaluar A] (lo cual hacemos desplazando a la derecha RU 8 ) al mismo tiempo que hacemos que se incremente el contador para que señale la posición de Aj. C LC "SH R (R U 8 .0 S H L (R U 8 .0 Sc: Al entrar en Sc. CONT CONT + 1 S . La posición deseada está escrita en binario en las salidas del CONT (O 2 . pondrá SjSq = 01 y activará CLC. B U S 7. y <r- RU8 A C O N T <. Esto lo repetimos hasta que por Zq aparezca el primer cero que necesariamente hay. B U S 0) S H R (R U 8 .DISEÑO DE UNIDADES DE CONTROL 337 BUS 7-0 1 0 1 1 UP CY 8 O2-0 b) Carta ASM. CONT = 0 y Z 0 = Aq. si Z 0 = 1. El con­ trol activará RA.me .FreeLibros. R a ’ S 0. O]. UP^ CY = 1 1 NO P 0 C LC U P II O CO N T mod.. O C LC 0 I RU8 b u s 7 . B U S 7) [R U 8 ] [R U 8 ] [R U 8 ] [R U 8 ] 0 0 0 RU8 II N S [S 0 SF: Señala el final. O0). <r- / \ FIN www. En el bit más significativo de R U 8 (esto es. 0 ó 1. en cuyo caso "?" se sustituye por "1" que es el valor de B U S 7 = A7). Sg y CL se activan en Sb y S j. Sg y U P en los ciclos de reloj en que se permanece en Sc. en la caja de acción condicional del estado S2. [CONT] = 010. Al volver a Sg (estado de espera).me . no se activa ninguna señal y se pasa a Sp. (Otra solución posible es leer A. [R U 8 ] = ??101010 con ? = 0 ó 1. debido a que B U S 7 está en HI. Ra St estado presente So CLC UP b u s 7. 2. en R U 8 7 ) se almacena un valor descono­ cido. R A = 1.0 [RU8] [CONT] HI 7 9 10101011 HI ? 9 10101011 hi : hi ?101010li??101010 000 001 ' 010 1 HI HI HI HI Ya no varían 2 1 . [A] = 10101011 siempre. www. Las señales de control RA. que es la posición del cero menos significativo de A (A2). Como Zg = 0.338 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES El controlador pedido es: Ra Si UP CLC FIN c) B U S está en HI salvo en el ciclo del estado Sb.FreeLibros. 3. b) Obtenga e l controlador equivalente basado en lógica discreta utilizando biestables tipo D y optimizando el coste.- P ro b le m a Dado el controlador de la figura basado en un biestable p o r estado: a) Realice la carta A S M correspondiente a dicho controlador.FreeLibros.me . Solución P5. a) La carta se obtiene directamente del controlador: www.DISEÑO DE UNIDADES DE CONTROL 339 5. Resuelva el apartado (b) sin preocuparse de este hecho. Nota: Este controlador no tiene señal de comienzo ni estado de espera inicial. 1 11. (Por ejemplo.me z3 .l S j .l Si 00 01.0 S3.l S3.l S 3.0 10. El sistema dispone de tres salidas (z-¡.Q o = q j ____ z = X jqj + qiq 0 + X2qj + X 2 q]q 0 P ro b le m a 6 .0 s b o S . Desde que se le da la orden de comienzo.1 S3 s 4. si se han recibido siete pulsos de un ciclo de reloj. 2 X .l s 4. z2.0 s 4 10 00.1 10.X 1^2 00 01 11 10 Si s 2. En la siguiente figura se muestran la tabla de estados junto con la codificación de es­ tados y la tabla de transición obtenida..1 00. e l sistema generaría como salida z 1z 2 z 3 = 0 0 1 ). Nota 1: Nunca se recibirán pulsos de m ás de tres ciclos de reloj. Diseñe dicho sistema. x .. se deberán a n alizar2 5 6 ciclos de reloj.1x^ -. z Q iQ o -z Utilizando biestables D. Nota 2: En caso de igualdad se activan las salidas correspondientes.La organización del sistema es la mostrada. con una unidad de control y una unidad de datos o de procesado: X Ck- unidad de control zi unidad de datos -> www.1 01.l S2.0 00. volviéndose después al estado inicial. Solución P6.o s 4.l s 2.Un sistema digital debe analizar su línea de entrada X con objeto de contabilizar e l número de pulsos de esa señal que tiene de anchura 1. utilizando los subsistemas habituales.0 s 4 S j .1 S2 s 3. z 3) con las que se indica cuál de los tres tipos de pulsos es m ás numeroso.0 S3 11 10.0 00.0 00.340 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES b) Para hacer el controlador en lógica discreta hemos de obtener a partir de la carta ASM la tabla de estados y seguir con los pasos del proceso de síntesis de circuitos secuenciales sín­ cronos. las ecuaciones de excitación y salida que resultan son: D l = Q i = §i<5o + x 2qo + X lQ o Do ^. 2 ó 3 ciclos de reloj.l S2 01 11..FreeLibros.l S2.1 01.0 S j .0 NS.1 11. cuatro pulsos de dos ciclos y nueve pulsos de tres ciclos.1 01.0 11. para comparar las salidas de Q y C2. en su caso. El estado Si es el estado de inicialización de los contadores. Cj y C 3 .. en 256 ciclos de reloj puede haber hasta: -1 2 8 pulsos de 1 ciclo de duración (para X: 01010101. Así.DISEÑO DE UNIDADES DE CONTROL 341 La unidad de procesado deberá contener los siguientes dispositivos: .. con salidas G (mayor). 2 y 3 ciclos respectivamente. .Un contador (C 2 5 6) de módulo 256 para contar los 256 ciclos. Se necesitan.). podemos utilizar únicamente contadores de módulo 128. (Podría resol­ verse el problema con un solo comparador. S 3 y S 4 .me .. nos permiten determinar si hay o no pulso y.Tres contadores (Cj. a continuación los estados S2. además. L (menor). el dimensionamiento mínimo es C¡ de módulo 256. y C 2 y C 3 .64 pulsos de 3 ciclos de duración (para X: 01110111. El estado 8 6 enCj es el estado 1 0 1 0 1 1 0 . Además C 2 5 g ha de tener una salida de acarreo (CY) que se activa (CY = 1) si [C 2 5 6 J = 255. tres comparadores de magnitud de 7 bits. para detectarlo basta ver que para el contador Cj se cumple q 6 q 4 q 2 0 i = 1 • Todos los contadores tendrán una señal de puesta a 0 asincrona (CL256. UP 2 y UP 3 ) mientras que C 2 5 g se incrementa con todos los pulsos del reloj Ck. www. . .. C 2 de módulo 128 y C 3 de módulo 128. esto es. Los contadores C¡. C 2 y C 3 serán de módulo 128.. CL]. incrementando el correspondiente contador.FreeLibros. E (igual). pero aumentado el número de estados y la comple­ jidad de la interconexión).).85 pulsos de 2 ciclos de duración (para X: 011011011. 2 ó 3 ciclos. ya que en el caso de pulsos de 1 ciclo de duración basta contabilizar el pulso número 8 6 para saber que forzosamente los pulsos más numerosos son los de 1 ciclo y no necesitamos seguir contándolos.. si la duración es de 1. Entonces C¡. estrictamente. C 2 y C 3 tienen entrada para contar hacia arriba (UPj. C 2 y C 3 ) para contar los pulsos de duración de 1. CL 2 y CL 3 ). Con ello. la unidad de procesado es: G 12 E 12 L 12 G 23 E 23 L 23 G 13 E 13 L 13 Una carta ASM para el sistema se muestra en la siguiente figura. Sin embargo. El tamaño de estos contadores debe ser suficiente para contar el número máximo de pulsos posibles en cada caso.). un circuito combinacional que realice estas ecuaciones: www. E¡j y L^: Z1 = G 12_(_G 13 + Ei3>_+ G 1 3 (G ] 2 + E 12) + E 1 2 E 1 3 = G 1 2 L 1 3 + G 1 3 L 1 2 + E 1 2 E ] 3 z 2 = L 1 2 Í i 2 3 + G 23 G 12 + E 12 E 13 z 3 = E 13 G 23 + E 23 G 13 + E 12 E 13 La unidad de datos deberá incluir. z 2 y Z3 son funciones combinacionales de G¡j.me .342 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Las salidas zj.FreeLibros. por tanto. B IT SHL OA = 0 1 [A ] [A ] A <— SHL- OA7-0 www. La señal R E S E T lleva al sistema al estado ini­ cial (no hay que incluirla dentro de la carta A S M ya que se considera asincrona). tras activar la señal INTEN­ TA. vamos a presentar una. compararemos la palabra almacenada en A con la combinación correcta mediante un com­ parador (COMP) de 8 bits. B IT ) . La señal BIT indica el bit correspondiente de la combinación (comenzando por el m ás significativo). La señal INTENTA (al acti­ varse) indica que ya se ha introducido la combinación y si es correcta se abrirá la caja (ponién­ dose la salida A B R E a 1). de CONT y de la unidad de control. El modo de operación es como sigue.Un sistema digital (ver figura) consiste en una cerradura electrónica que se abre mediante una combinación adecuada de 8 bits..DISEÑO DE UNIDADES DE CONTROL 343 P ro b le m a 7.me A S H L (A . La combinación está almacenada en el sistema. En caso de que se introduzcan 9 bits o más se regresará al estado inicial sin activar la señal ABRE. b) Exprese el algoritmo de control mediante una carta A S M (no es necesario diseñar la unidad de control). en la que almacenaremos los 8 bits en un registro de desplazamiento (A) y.-Existen muchas posibles soluciones. a) La arquitectura del sistema (unidades de control y de procesado) será: donde RESET se conecta a la puesta a 0 asincrona de A. Solución P7. De ellas. Un contador (CONT) módulo 8 con salida de carry (CY) contará los 8 bits. La señal L E E (al activarse) indica que se puede leer la entrada BIT. R ES E T IN T E N T A B IT > ABRE a) Diseñe la unidad de datos del sistema.FreeLibros. Cuando esta puesta a 0 no está activa: . Al activarse “LEE” procedemos a almacenar BIT y a incrementar CONT. Realizamos la carta para que. al volver.FreeLibros. Esto hace que se comience en Sg y que CONT = 0 (y A = 0). siempre CONT = 0 en Sg. www.me .344 UP PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES CONT \t CY UP CY = CONT <— 0 1 1 si [CONT] =111 CONT CONT + 1 b) La carta ASM será: Suponemos que al conectar el sistema por primera vez se activa RESET. Esto puede hacerse en el mismo estado Sg (por lo que es caja de acción condicional). si LEE no es 1 se espera a que INTENTA = 1. y cualquier combinación con más bits es incorrecta. durante un ciclo de reloj debe activarse la señal de llamada (LLAMA) y una señal adicional que indi­ cará si la llamada es provincial (P) o nacional (N). (COM). La descripción de estos contadores es la siguiente: CL UP CY CL UP CY = 00 01 1 1 si [C¡]= 11.FreeLibros. El sistema debe responder de la siguiente forma: si el número de dígitos recibidos es incorrecto.. se espera a que INTENTA = 1. Como se activó SHL y UP.DISEÑO DE UNIDADES DE CONTROL 345 Al mismo tiempo se pregunta por CY. El sistema recibe una señal. Como en Sj y S2 CONT = 0. Si CY = 1.. Si en Sj se activa nuevamente LEE (92 bit) se pasa a un estado S2 de espera. durante un ciclo de reloj debe activarse una señal de error (E). no hay que hacer un clear del contador al regresar a SqP ro b le m a 8 . www. En Sj. 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 S0.. Nota: N o se preocupe de cómo se alm acena el número. En este caso deberá volverá realizarla llamada has­ ta tres veces sin necesidad de volver a marcar. Si CY no es 1. en S¡ ya [A] = 8 bits y CONT = 0 de nuevo. Solución P 8 . En S i.Un sistema digital controla e l proceso de llamadas telefónicas a través de la red telefónica. < c¡ C¡+ 1 0 La carta ASM correspondiente a las unidades de datos y de control se muestra a conti­ nuación.me . Tras ac­ tivarse la señal de comienzo X s. si el número de dígitos es correcto. hay que seguir esperando un nuevo bit. en cada ciclo de reloj llega el dígito correspondiente del número marcado. ya que la combinación ha de ser forzosamente de 8 bits. en cuyo caso se mira en la salida E del comparador (COMP) si la combinación es correcta (y se activa ABRE) o si es incorrecta (no se activa ABRE) regresando a S0. El usuario activa una señal (YA) cuando termina de teclear. sin abrir la cerradura en ningún caso. que indica si el teléfono de destino comunica. uno de módulo 7 (C j) y otro de módulo 9 (C2) para contar el número de dígitos marcado y otro de módulo 3 (C3) para contar las llamadas en caso de que comunique. Las llamadas pueden ser provinciales (7 dígitos) o nacionales (9 dígitos).-Vamos a necesitar tres contadores.11 - c. éste es el último bit almacenado y se va a S j. Diseñe el sistema. me .346 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES » aS 0 www.FreeLibros. .FreeLibros.Para la unidad de datos de la figura. diseñe un controlador que permita realizar la operación de intercambio de información entre los registros A. B y C de la siguiente forma: A —> B —> C t I www.me .DISEÑO DE UNIDADES DE CONTROL 347 El controlador es: PROBLEM AS CON SOLUCIÓN RESUMIDA P ro b le m a 9 . Carta ASM: www.. Nota: La entrada SHL del acumulador produce un desplazamiento lógico hacia la izquierda..348 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P9. Solución PIO. P ro b le m a 10. diseñe un controlador basado en registro de desplazamiento que permita realizar la operación C = 4 *(A + B).FreeLibros. introduciendo un "0 " p o r la derecha .Para la unidad de datos del problema anterior..La carta ASM correspondiente a la operación solicitada se muestra a continua­ ción junto con el controlador pedido.me . Wt SHL Rh R.2B C <— 2A + 2B 3) C 4) www.me . pueda elegirse entre una de las cuatro macrooperaciones siguientes: <— A + 2 B 2 ) A 4 .A .2B 1) A <— A . en función de dos bits de entrada i-¡e l0..FreeLibros.Para ¡a unidad de datos de la figura. A W Wc Rnr FIN P ro b le m a 11.DISEÑO DE UNIDADES DE CONTROL 349 Controlador: R. diseñe una unidad de control basada en registro de desplazamiento de forma que. 350 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P ll. Si escogemos la siguiente codificación para cada una de las macrooperaciones: macrooperación I. C www.2A + 2B Esta solución corresponde a una unidad de control tipo Moore.me y y ACUM S6 .A .FreeLibros.Io 0 0 A <—A + 2B 0 1 A <.2B 1 1 C <.2B 1 0 C <.A . En la unidad de datos de la figura se han representado todos los componentes y los caminos de datos.FreeLibros.. <— <— www. que se pone a 1 cuando se han sumado n bits. además. Suponga que.DISEÑO DE UNIDADES DE CONTROL El controlador: Xs 1 qi 2 q? 3 R A = W T = Z AC = q i =Q4b Rx = + q5a RB = W SH = q 2 S w a RSH = SEL = ^4a + Í4b r ac = qsb A = Rt + q4a (\2 SHL = q3 Wc = q 6 W AC = A + q4b = qsb + q 6 P ro b le m a 12. Se desea realizar las tres macrooperaciones siguientes: C A + B C <— A C B a) Especifique las señales de control y operaciones de los registros y el biestable.me . existe disponible una señal. b) Diseñe el controlador. FIN. a) Descripción de componentes: SRX ~ 1: SHR(X >d) CLEAR = 1: Biestable d= 0 ó 1 ó X7 ó X0 Wbiest = 1: Biestab. www. obtenemos la carta ASM y el con­ trolador.e siempre C.me .= [Biestable] 0 Ci+l b) Para la siguiente codificación de las operaciones.352 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P12.FreeLibros. . N ! I WXRX HI [X] entradas prohibida X<X X UP CL entradas prohibida www. mod-8 Solución P13. A[8] C[8] B[8] D[8] CONT.me 00 0 l l0 l l Cy = l sii [CONT] = 1. c) Sin añadir elementos nuevos.H CY CONT <— CONT 0 CONT + l prohibida .DISEÑO DE UNIDADES DE CONTROL 353 P ro b le m a 13.. se quiere realizar un sistema digital cap az de com parar dos números de 8 bits (A y B). mod-64 00 0 l l0 l l II o . a) Defina correctamente las operaciones de los registros.Para ¡a unidad de datos que se presenta. Tras finalizar la operación.. CONT. y alm acenar en A el mayor de ellos y e n B el menor. b) Obtenga la carta A S M y el controlador. e l sistema generará una señal de FIN. ¿se puede simplificar la arquitectura de esta unidad de proceso? R azone la respuesta.FreeLibros. me oIr- w xr ys l y HI HI [Y] entradas Y <rY SHL (RU8.Yl ) Y entradas .FreeLibros.354 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES 00 00 0 1 10 0 1 0 0 b) www. .8 CY . Ra = q Wa SHLa---Rb _ Wb _ SHLh---- A[8 ] C [ 8] lL - I— Re W„ -► A.La figura muestra la solución a l último apartado del problema anterior. mod. Recor­ demos que se trata de alm acenar en A el m ayor y en B el m enor de los datos previamente alm acenados en A y B. P ro b le m a 14. Determine la carta A S M para esta unidad. B [ 8] >L 8 ■vÉ- B-j www.me UP _ C L ---. Se resuelve en el siguiente problema.CONT.FreeLibros.DISEÑO DE UNIDADES DE CONTROL Wc 355 Wb sl d UP c) Sí. 356 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P14. Sincronizado con C kp recibe por X s un pulso de un ciclo de duración y. www.me .FreeLibros. P ro b le m a 15.. 8 bits de datos en serie p o r una linea D¡n. que opere como sigue. a continuación.Diseñe un sistema digital (ver figura). en prim er lugar debe generar por X Q un pul­ so de un ciclo de duración y. seguidamente. Din) Dout INC CLEAR• CONT mod.. retransmitir por Dout los 8 bits de datos recibidos.Componentes de la unidad de datos: D in R SR i SR R 00 0 1 10 11 REG[8] t Ck d o u t REG - HI REG0 HI REG0 t REG REG SHR (REG. 8 CY INC CLEAR CY = CONT <r- x 1 10 00 1 sii [CONT] = 11. se utilizan para obtener la señal de reloj que se conectará tanto a las señales de reloj del registro y el contador como al controlador.1 0 CONT + 1 CONT Ck Componentes comunes a la unidad de datos y a la unidad de control: —Un biestable SR asincrono y un multiplexor. a los Ck www..DISEÑO DE UNIDADES DE CONTROL 357 El sistema. Din) SHR (REG. de forma sincronizada con Ck2.me .FreeLibros. Xo Dout Solución P15. 358 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Las señales S y R serán activadas por el controlador. La carta ASM: El controlador: www.FreeLibros.me . Capítulo 13 MISCELÁNEA P ro b le m a 1 . con lo único que podemos 359 www. a) E l día que va el grupo M resulta que no hay multiplexores.Para e l dispositivo de memoria que se muestra a continuación: a) Obtenga su tabla de excitación..FreeLibros. Z Tabla de estados P ro b le m a 2 .1 NS. Elija una asignación de estados adecuada. realice un circuito que implemente la tabla de estados.En una práctica de laboratorio se pretende montar el circuito siguiente: Sin embargo el laboratorio es un desastre.. 1 D B C B. c) Con dos de estos elementos de memoria y las puertas necesarias. b) R azone si es posible impiem entar cualquier máquina de estados utilizando este tipo de dispositivo como elemento de memoria. X y 0 i Q 0 q Elemento de memoria y su tabla de comportamiento A B C D \ 1 0 B B C A. sin conside­ raciones de costes.me . FreeLibros. representación complemento a 2. A 2A + B 2. representación signo-magnitud.. Obten­ ga e l circuito equivalente a l dado con el m aterial disponible.Se desea diseñar una calculadora que realice las siguientes operaciones: <— 1.Considere la palabra 10100110. código ASC II.B <— + 3. se desea activar Z 1 a partir del final del segundo pulso recibido p o r X y activar Z 2 a partir del comienzo del quinto pulso. Por la línea X se reciben pulsos positivos de uno o más ciclos de reloj. Con independencia de la duración de cada pulso y contando a partir de la última vez que se activó CLA. Nota 1: Disponemos de las variables en único raíl. Interprete.. representación comple­ mento a 1. P ro b le m a 5 .me .. A < — A .360 PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES contar es con una puerta N A N D de ocho entradas adem ás del decodificador previsto. Nota 2: La entrada de habilitación del multiplexor hace: F =0 si E = 0 y F = M U X si E -1 P ro b le m a 3 . Obtenga un circuito equivalente a l dado utilizando un sólo multiplexor como el previsto en la práctica. B < r . P ro b le m a 4 . código A S C II con paridad par.Se pretende realizar un dispositivo como el mostrado en la figura: : La entrada OLA pone a cero el dispositivo de forma asincrona.A . si es posible. Diseñe el circuito combinacional (C C en la figura) utilizando exclusivamente puertas N A N D y suponiendo variables en doble raíl.2B. có­ digo A S C II con paridad im par o código BCD. B 2 A 2B 4. la información de esta palabra según sea: número binario. www. pero ahora han desaparecido los decodificadores. b) E l día que va el grupo P ya disponemos de los multiplexores necesarios. se mantendrá activa hasta que se active CLA otra vez. Una vez activada cada salida. una N O R 5 o una X N O R 5.. entre otros. durante un ciclo de reloj. b) Diseñar la unidad de control correspondiente.. el sistem a? Diseñe dicho sistema utilizando registros de 4 bits.. ¿Cuántos elementos (bits) de memoria deberá tener. E l sistema genera z = 1. j).. un sum ador paralelo de bits y un bloque T R A N S FIE R E /C O M P L E M E N T A B (representado p o r n XO R ). E l código exceso-3 es un ejemplo de código decimal no pesado pero es autocomplementable..En el circuito de la figura hay. Describa funcional­ m ente el circuito. x j = 1 si y sólo si x¡ x¡ para algún valor de (i. Muestre que el siguiente código es am bas cosas: pesado y autocomplementable y determine el peso de cada bit.Un sistema digital de 4 entradas recibe sincronizado con una señal de reloj.me . (Esto es.MISCELÁNEA 361 Para ello se dispone de la unidad de datos de la figura en la que todas las salidas de los registros son condicionales.FreeLibros. x j que se define como: z (x h x2. Problema 8. 0 = 0000 1 =0001 2 = 0011 3 = 0100 4 = 1000 5 = 0111 6 = 1011 7 = 1100 8 = 1110 9 = 1111 b) E l circuito de la figura contiene una puerta de 5 entradas que puede ser una NAND5. "n" Problema 6. tras recibir cuatro caracteres seguidos idénticos. ¿C uál es el test más simple que se podría aplicar para averiguara qué puerta corresponde? 9 c) Sea la función z (x 1t x2. E l código B C D natural es un ejemplo de código decim al pesado pero no autocomplementable.. . caracteres de 4 bits... A B Problema 7. . S e pide: a) Especificar com pletamente la unidad de datos. comparadores de magnitud y puertas..Responda a las siguientes cuestiones: a ) Un código binario de números decimales se dice que es un código pesado cuando la posición de cada bit lleva asociada un peso numérico y se denonvna autocomplementable si el complemento a 9 de cada dígito D = d ^ ^ i ^ o es C a9(D ) = d3 d2 d id 0. * www. represente formalmente su operación y explíquela verbalmente). el bus interno de comunicación es de 8 bits y dispone de los siguientes registros: .me .M A R (Mem ory Address Register): de 16 bits. A=B.362 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES - S i consideramos esta función como un operador de n variables.FreeLibros.D é una expresión algebraica para z.D 0) y bus de direcciones de 16 bits (A 15 . S-iS0= 0 0 A y B números sin signo A y B números en signo-magnitud S iS q = 1 0 A y B números en C a2 5 ^ 0 = 1 1 A y B números en C a l Diseñe un com parador (A>B. A<B) utilizando un com parador de magnitudes de 4 bits y los M U X 4:1 que se necesiten.Sean A = A 4 A 3 A 2 A 1A 0 y B=B 4 B 3 B2 B 1B 0 dos números binarios que nunca pue­ den representar el valor “-0". P ro b le m a 9 . www. H ay dos señales S i y S0. AB[16] (a Memoria) Como puede observarse. de acuerdo con el siguiente código.. SfSo=07 P ro b le m a 10.. que indican el tipo de representación numérica.La siguiente figura muestra la unidad de procesado de datos de un micropro­ cesador con bus de datos de 8 bits (D 7 . ¿podríamos decir que es funcionalmente completo? . está formado p o r la concatenación de dos registros de 8 bits: M A R H y MARL.A 0). R T (Registro Tampón): es de 8 bits y es utilizado para el cálculo de operaciones intermedias. si los hay. 15) se ha dado como solución el circuito de la figura. . 13. su finalidad es servir como registro interme­ dio entre e l procesador y la memoria externa. en la segunda aparecen los 8 bits de dirección más significativos del operando (A 15 . Las variables están en único raíl. aparece un circuito formado.. a) Determine. . 5. 6 . a) Diseñe una puerta umbral de n entradas.A C (Acumulador): es de 8 bits.FreeLibros. utilizando subsistemas combinacionales y puertas lógicas. si el valor de sus entradas tomadas como número binario A ( 10 = (án. y en la tercera aparecen los 8 bits de dirección menos significativos (A 7 . P ro b le m a 12. En la primera aparece e l código de operación (LDA). M U X de 4 canales. 2. Z = 1. www. P ro b le m a 11. únicamente. b) Para el circuito de la figura. c) Rediséñelo utilizando.MISCELÁNEA 363 - M D R (M em ory Data Register): de 8 bits.IR (Instruction Register): es de 8 bits. 8 . todos los errores de la solución y corríjalos... En la figura 2.Una puerta umbral (ver figura 1) activa su salida. .a7. 9) • d ( O. exclusivamente. Todo dato que entre o salga del procesador de­ berá s er alm acenado previamente en M DR .. interno “i”. por puertas umbrales.me . Obtenga la secuencia de microoperaciones necesarias para realizar la siguiente instrucción indicando cuáles corresponden a l ciclo de F E T C H y cuáles a l de EX EC U TE: LDA $B 043 Nota: C ada instrucción ocupa 3 palabras de 8 bits consecutivas de la memoria. .A 0). 1t a 0) (2 es m ayor o igual a l umbral .. b) Analice dicho circuito. suponiendo que todas las puertas poseen un tiempo de retraso de 5ns.A8).En e l diseño de la función: f = f l (4.P C (Program Counter): es de 16 bits y está formado por la concatenación de dos registros de 8 bits: P C H y PCL. dibuje la forma de onda de salida si b es una señal periódica de frecuencia 2 0 M hz y a c d = 0 1 1 se mantienen constantes. 7. b. Se sabe que todos los mintérminos y las implicantes primas de la función están en la tabla. S i le damos un hueso se queda tranquilo. Si le www.364 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Problema 13.FreeLibros. Problema 14. La única salida. ¿Es única la solución? b) Escriba los maxtérminos de f y obtenga la expresión óptima para f. a) Determine los mintérminos e implicantes primas que corresponden a las filas y columnas desconocidas. A=b d B= ? C=bcd D=? E=? F=? 0 X X 7 8 X 10 X X X 15 X X Cl c2 X X X Problema 15.d) en la que se desconocen algunos de los encabezam ientos de las filas y columnas..En la figura se muestra una tabla de implicantes primas para f(a.Un perro puede estar tranquilo. dibuje la forma de onda de salida para la secuencia de entrada de la figura. indicando las cajas de estado por las que pasa.c.. con lo cual muerde. irritado.me . asustado o Irritado y asustado simultáneamente. Suponiendo que e l circuito se dispara en el flanco de bajada..Obtenga la carta A S M de un circuito secuencial síncrono con una entrada x. La salida se pondrá a 1 coincidiendo con el cuarto 1 (ó 0) de la entrada. es 0 a menos que la entrada x haya perm anecido constante (a 1 ó a 0) durante los últimos cuatro ciclos de reloj. z. MISCELÁNEA 365 quitamos uno de sus huesos se pone irritado. Si le am enazam os se asusta. de lectura/escritura R A N y buses compartidos. y si ya estaba irritado también nos morderá.A *C yC *B . b) Determ ine qué palabras de memoria se corresponden con las direcciones lógicas si­ guientes: $FO CA .me . $4342.Considere e l circuito de la figura. No es posible realizar dos acciones simultáneamente sobre el perro. sin selección de chip. C. Problema 16. Determ ine las secuencias o las formas de onda en A..Para un sistema con 16 líneas de dirección se necesitan 4 0 K de memoria de­ jando libre e l resto. Se dispone de una_RAM de 3 2K y otra de 8 K. Problema 17. ¿ C uál sería para la $ 0 2 4 6 de la R A M de 8 K?. www. B. B y C de n bits cada uno. c) ¿ Cuál es la dirección lógica que hay que poner para acceder a la palabra $7531 de la R A M de 32K?. Inicialmente los biestables están en el esta­ do O. Suponga que A*B. La operación del circuito em pieza con un pulso de "Start" aplicado a las entradas de P R E S E T de los biestables X e Y. X. A.FreeLibros.Diseñe un circuito combinacional que tenga como entradas tres números sin signo A. am bas con señal de selec­ ción de chip CS. nos morderá. Obtenga el diagrama de Moore y realice un circuito que simule la conducta del perro. La memoria resultante deberá tener señales de lectura R y de escritura W separadas y activas en alta. y si ya estaba asustado. a ) Diseñe el circuito. $9CAD. Y. Z y W p a r a 2 0 ciclos de reloj después del comienzo de la operación. Problema 18.. y una salida Z que indique cuál de los números B o C es m ás próximo a i número A.. H aga un diseño con subsistemas combinacionales. 0 0 0. En consecuencia.0 0 0. 0 ó 1. c) De acuerdo con el apartado b). por ejemplo C: q ^ 2 = 01 y D: q ^ = 10. sin tener en cuenta ni el valor de X ni el de Z.me y \=x y 2 = x<}\ Z = Xq~2 Ecuaciones de excitación y salida .1 Q 1Q 2 Tabla de transición/salida \x qi q 2 \ 00 01 11 10 0 01 0d dd d1 1 11 1d dd dO yiY2 Tabla de excitación www. Esta “transición” no puede ser llevada a cabo por el biestable “y”.0 0 1.1 1 0. La única transición que parte del estado A va hacia el estado B. de forma que se ha evitado que existan transiciones que no pueden implementarse con el elemento de memoria.0 0 0. Una vez realizada la asignación. le asignaremos el código qjq 2 = 0 0 (de esta forma evitamos la transición problemática hacia el estado B). qi q 2 \ B=0 0 C=0 1 A=1 1 D=1 0 0 0 1. a) Directamente de la tabla de estados del biestable se obtiene su tabla de excitación: q->Q o-»o y 0 1 0-+1 La transición 1 —> 0 se puede conseguir con cualquier valor de y. al menos directamente. en general no hay garantías de poder implementar cualquier máquina con este tipo de biestable. le asignamos códigos complementados. el proceso de diseño continúa como siempre. como C y D son próximos estados uno del otro.FreeLibros. para realizar la máquina del enunciado debemos encontrar una asignación para la que no ocurran transiciones de 1 a 1 . d imposible 1-40 i-» i b) Para una máquina de estados genérica. La opción razonada es como sigue: El grafo de transición de estados. Por último. es: El estado B es el que más transiciones recibe (tres). bien por el método de prueba y error.0 0 0.0 1 1 1. Por tanto. no se produce la transición problemática si le asignamos a A: q ^ 2 =11. siempre habrá “transiciones” de alguna variable de estado desde 1 hacia 1. Una asignación válida se puede encontrar bien razonando adecuadamente. Teniendo en cuenta que en el ele­ mento de memoria el problema es la transición q¡: 1 —» 1 .366 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES SOLUCIONES A LOS PROBLEMAS PROPUESTOS Solución P l. a la salida de ésta obtenemos la función deseada. a) Implementaremos esa misma función haciendo uso del decodificador anterior y una puerta NAND de ocho entradas.me . 3---- 1 1 www.MISCELÁNEA 367 El circuito final queda: Solución P2. 3 . Cada una de esas señales son salidas del decodificador. vamos a buscar qué disposición de variables es válida para que no encontremos residuos de la función que posean variables complementadas. para lo cual hay que analizar el circuito.2 . z ---- s 0 *— 1 X ---y — S| 1 1 0 3 4 /ir 3---------- A 5 r* ~ i f= DEC3:8 7 b) Para este apartado tenemos que usar el multiplexor que aparece en el enunciado. Daremos nombre a cada una de las líneas.. basta elegir aquellas salidas del decodificador correspondientes a los mintérminos de F.y.El primer paso es calcular una expresión de la función F(x. Como estamos en único raíl. Así. 6 ). 5 ) = 1 ( 1 . al usar­ las como entradas de la puerta NAND.FreeLibros. 4 .d4 ds 6 0 1 2 3 1 0 LL1 ~ DEC3:8 7 Según la ecuación de salida del multiplexor tenemos: F = d 0 ( d 2 -sj-s0 + d 3 -sr s0 + d4 -S]-s0 + d 5 S]-s0 ). 0 3 2 l 2 1 0 4 5 ! d2 a. Dado que por las salidas del decodificador tenemos las expre­ siones de los maxtérminos de tres variables (las que actúan de entrada al decodificador).z). por tanto: d0 = x + y + z d 2 = x + y + z d3 = x + y + z d4 = x + y + z d5 = x + y + z S ] = x + y + z s0 = x + y + z Sustituyendo en la expresión anterior para F: F = n ( 0 . Z 2 ) se obtie­ nen mediante el siguiente mapa de Kamaugh que representa la “tabla” de excitación-salida: www. 1 . las ecuaciones de excitación del contador (UP) y de salida (Z¡. 0 0 0 1 .. dos flan­ cos consecutivos en la entrada (subida y bajada) representan un pulso. como la duración de estos es variable. 0 0 1 0 . Cada pulso.Para contar los pulsos recibidos. tras este primer pulso se permanece en un estado “2” hasta la llegada del nuevo pulso (X = 1).. el estado coincide con el valor del contador y los cambios de estado del grafo se llevan a cabo activando o no la entrada UP según: Entonces. Si asignamos los valores 0 0 0 0 . a los estados 0 .FreeLibros. 2 . sólo la segunda permite resolver nuestro problema. . El diagrama de estados para la máquina será: donde el estado “0” es el de ausencia de pulso.. nece­ sita dos estados: uno que reconoce el flanco de subida en X y otro.. etc. el diseño final del circuito sería: 1 0 ! I =23 1 0 / Solución P3. respectivamente. Con ello. el estado “1” se alcanza cuando X = 1 (comien­ zo de pulso) y en él se permanece hasta que X = 0 (final del pulso).me .. el de bajada. Para realizar estos cambios de estado utilizaremos el contador. pues.. .368 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES \ \ xy \ z \ 0 00 0 1 10 11 0 1 1 1 1 1 0 Residuos deF: Z 1 z 1 z Xz 00 1 \ V \ 0 0 1 1 1 y Residuos de F: 10 1 1 1 1 0 1 1 1 1 1 01 00 x 0 0 1 10 11 0 1 1 1 1 0 1 1 X X 1 1 s y de F: De las tres disposiciones de variables anteriores. La ALU opera sumando o restando entre BD. o AC. pero como 1010 no es un dígito BCD.FreeLibros. los registros tienen señales de lectura: única para RT (señal RT) y AC (señal Rac) y doble para A y B. En código ASCII con paridad impar: 10100110 no puede estar escrito como código de paridad impar pues tiene 4 unos. analizaremos la unidad de datos de la que disponemos: Hay dos buses compartidos (BI y BD). B y AC son salidas con buffers triestado.me . según se lea en BI (señales RA¡. iremos im­ plicando algunas necesidades de operaciones en los registros. RBD).89( jq Como complemento a 2: 10100110 = . En código BCD: un dígito sería 1010 y otro 0110. Solución P5. la descripción de la ALU es: www. por lo tanto. Hay que especificar cuál es el sustraendo en caso de resta. o B. Como las salidas son condicionales.M ISCELÁNEA q 3 q2 9 i qo \ ooo 001 00 000 010 01 100 110 11 110 110 10 000 010 011 — — — — 010 110 010 111 011 011 — — — — 111 101 — — — — 369 100 110 100 010 000 010 000 110 100 UP Z j Z 2 Las expresiones de las que se obtiene el circuito son: UP = X ■q Q + X ■ • Qq Zj = X ■q^ ■q Q + q 2 + q ^ Z2 = q ^ ■q ^ + X ■q ^ Solución P4.90(jg En código ASCII: problema mal formulado.(01011010) = . de aquí. RB¡) o en BD (señales RAD. a) Desarrollaremos las instrucciones mediante microoperaciones y.38(]q Como complemento a 1: 10100110 = .(0100110) = . En código ASCII con paridad par: 10100110 —» &. elegimos RT como sustraendo. en nuestro caso.(01011001) = . Previamente. el problema está mal formulado. con el que se pueden leer los contenidos de los registros A. y el contenido de RT que puede ser cargado desde el registro A o el B. Como número binario: 10100110 = 166(jo Como signo-magnitud: 10100110 = . pues el código ASCII es sólo de 7 bits. Con ello. las salidas de los registros A. basta que los registros posean señales de lectura y escritura. 2A + 2B: además de hacer lo mismo que 2A + B. RAÓ- Wa - BI RA. Con ello.2B: se almacena B en RT y se resta RT dos veces. se almacena oportunamente B en RT y se vuelve a sumar. BD BD = HI entrada [A] HI entrada [A] prohibida www. sin embargo. Aquí.FreeLibros. A y B son iguales entre sí y RT y AC. . se realizarán mediante sumas sucesivas: 2A + B: se almacena A en RT y se suma RT dos veces. también. I BI = HI HI HI [A] [A] [A] proh.me r ac W 00 01 10 11 ac AC<— AC in AC in out HI HI [AC] [AC] . A . permitiendo que ambas se activen simultáneamente (excepto en A y B para lectura sobre BD).11 A<— A BD A A BD A proh.370 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES (RT) (BD) Para obtener los valores 2A y 2B podrían utilizarse desplazamientos a la izquierda. RA d W a 000 00 1 0 10 100 10 1 1 10 . RA. 2B pop 1 RT <— A RT <— B RT <— A RT <— B pop 2 AC <— B + RT AC <— B + RT pop 3 AC i — AC + RT AC <— A . RT<— B AC <— A .MISCELÁNEA 371 El desarrollo de cada macrooperación y su codificación es: código OP. señalando en ella tanto las microoperaciones como las señales a acti­ var por el controlador. x.RT AC <—AC + RT. queda como sigue: www.X0= 10 A <— 2A + B A<— A -B B <— 2A + 2B X 1X0=11 B <— A .me .RT pop 4 A<— AC AC <— AC + RT pop 5 B <— AC b) La carta ASM.FreeLibros.x0= oo X]X0 = 01 X.RT AC <— AC . 372 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES www.me .FreeLibros. Por tanto. si X2 = 0 . o F = A+B+l si X3 = 1. Por tanto la operación de salida es F = A+B.me . Si X2 = 1 y xj = 1. por la entrada b del sumador tenemos el complemento de B y la entrada de acarreo es 1. En resumen. si X2 = 1 se trata de un sumador/restador según el valor de x¡ (0/1. y éste controla la entrada de acarreo del sumador. esto es F = A-B en Ca2.. la salida F = A+B+l. independientemente de X3 . 2 3 x.FreeLibros. Si X = 1 y xj = 0. ya que el canal seleccionado del multiplexor es el 0 . tal cual. hace la suma con X3 como acarreo de entrada. la entrada de acarreo se encuentra a 0. independientemente de Xj. y el circuito complementador deja pasar. se realizará la operación F = A+B si X3 = 0. x2 x3 0 0 0 1 0 1 1 1 - - - F A+B A+B+l A+B A+B+l www. respectivamente) y. independientemente de X .Si X2 = 0. tenemos que. el dato B.MISCELÁNEA 373 Obteniendo el controlador directamente de la carta ASM: Solución P 6 . d 2 —» 3. a la hora de implementar el sistema. dg —> 1. a) Los pesos son: d 3 —» 4. Los registros están conectados entre sí de modo que en conjunto simulan un registro de desplazamiento de caracteres. El sistema debe generar salida 1 durante un ciclo de reloj. las salidas Ej. con ellos y la entrada actual se conocen los caracteres correspondientes a cuatro ciclos de reloj. y dj de. La salida z la podemos construir mediante la operación AND de las tres salidas anteriores: z = E 1 E2 ' E3 Solución P 8 . utilizaremos los registros para almacenar los caracteres en distintos ciclos de reloj. d¡ —» 1. d 3 del 4. contienen el mismo dato.. No obstante.me . y como mínimo. www. sólo de registros. capacidad de almacenamiento para un carácter de 4 bits. Estos dispositivos tomarán la entrada y el contenido de los distintos registros y los compara por parejas. el sistema debe llevar la cuenta de las coincidencias existentes. E 2 y E 3 toman simultáneamente el valor 1. con el objeto de poder hacer comparaciones con los caracteres que incidan en posteriores ciclos de reloj.374 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución P7. por un lado. (Se obtiene de forma inmediata: do de código del 1. tanto la entrada como los registros. Utilizando comparadores de magnitud se puede detectar cuándo se ha recibido la secuencia correcta. el 2). no disponemos de contadores. Cuando se recibe esta secuencia. por ejemplo. necesitaremos seis biestables.Este sistema digital debe tener. Sólo es necesario utilizar 3 registros.FreeLibros. Ej E2 E3 Cuando el contenido de los 3 registros y la entrada coinciden. por lo que necesitaríamos un contador de cuatro estados o 2 bits. Además. cuando se detecte una secuencia consecutiva de cuatro caracteres idénticos. de forma que en total necesitaremos 3 comparadores. En este caso. En total. d 2 del 3. e) toma los siguientes valores: .0 si el número de entradas a 1 es impar. el código es autocomplementable.FreeLibros.1 si el número de entradas a 1 es par. d. .me NAND 0 1 ÑOR 0 0 XNOR 1 0 . Es suficiente con dos combinaciones de entrada para deducir qué tipo de puerta es: SOLUCIÓN 1: abcde 11000 11100 NAND 1 1 SOLUCIÓN 2 : ÑOR 0 0 XNOR 1 0 abcde 11111 0 1111 www. c.: dígito 0 1 2 3 4 5 6 7 8 9 d3d2d 1d0 0000 0001 0011 0100 1000 0111 1011 1100 1110 1111 Ca9 9 8 7 6 5 4 3 2 1 0 d3d2d[d0 1111 1110 1100 1011 0111 1000 0100 0011 0001 0000 b) La función XNOR(a. b.MISCELÁNEA CÓDIGO 0000 0001 0011 0100 1000 0111 1011 1100 1110 1111 375 VALOR DECIMAL 0 = 0x4 + 0x3 + 0x1 + 0x1 1 = 0x4 + 0x3 + 0x1 + lxl 2 = 0x4 + 0x3 + lxl + lxl 3 = 0x4 + 1x3 + 0x1 + 0x1 4 = 1x4 + 0x3 + 0x1 + 0x1 5 = 0x4 + 1 x 3 + 1 x 1 + 1x1 6 = 1x4 + 0x3 + lxl + lxl 7 = 1x4 + 1x3 + 0x1 + 0x1 8= 1x4+ 1x3+ lx l +0x1 9 = 1x4 + 1x3 + lxl + lxl Además. ... tenemos las siguientes posibilidades: a) A 4 B 4 = 00 y A 4 B 4 = 1 1 el resultado de la comparación depende de los 4 bits menos significativos.. al de mayor magnitud y en el segundo caso. NOT (a) = a = z(a. G = 1 . Si comparamos el + 0 con el ..+x2+... Esto. el número B es mayor que el A. 0 y B3_0: g— v3-0 e— / B3-0 — Sean G... es válido si restringimos el uso del número .1). Sq.+xn)(x 1 +x2+ +xn) Solución P9. b) = a + b = z(a. en principio. el número A es mayor que el B. b) A 4 B 4 = 0 1 . por tanto L = 1 . ya que los positivos son mayores que los negativos. . y nos serviremos de los bits más significativos para activar las salidas en caso de números de distinto signo... por tanto. el resultado no debe dar como mayor al primero.. en función de Sj. el resultado de la www. salvo la de números sin signo. en el primer caso. OR(a. esto es. e y / a las salidas del comparador de las magnitudes A 3 .. Llamemos g. dando como mayor. el bit de mayor peso representa el signo del número.. Expresiones algebraicas de la función z pueden ser las siguientes: z = (X]®\2 ) + (xj©x3) + (xj©X4 ) +. puesto que los dos números representan la misma cantidad. 0 y B^q...0.. GEL = g el.. 0.FreeLibros. al de menor magnitud. tenemos que comparar las magnitudes de ambos. 1. b. que. es funcionalmente completo porque se puede implementar la función ÑOR (NOT-OR) que lo es. z = (x. Para números en notación S-M. S j S q = 00. Este bit de signo permite hacer una comparación rápida entre dos números. 1. 0. tenemos las siguientes posibilidades: a) A 4 B 4 = 00. utilizaremos el comparador de magnitudes para los 4 bits menos significativos de los números A y B.me .En todas las representaciones numéricas que se nombran en el enunciado. A 4 y B 4 la siguiente tabla: AB 4 s ..+ (x¡©Xj) + .s iX 00 01 10 11 4 00 ge / ge/ gel g e/ 01 10 001 100 100 001 100 001 100 001 11 ge/ le g ge / gel GEL Para números sin signo.. c) A 4 B 4 = 10.0... E y L las señales que comparan los números con signo A4 . Podemos obtener. En resumen. exis­ te en notaciones como Cal o S-M. los dos números tienen el mismo signo y.376 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES c) Sí. Si comparamos dos números positivos o dos números negativos. Podemos ya determinar el circuito resultante. se puede demostrar que. los dos números son negativos y. GEL = leg. el mayor de los dos será el que tenga mayor magnitud. GEL = ge/. G = 1. c) A 4 B 4 = 10. L = 1. el número A es mayor por ser positivo. Elay que determinar la magnitud de ambos para saber cuál es el mayor. para números en notación Ca2. el número A es positivo y el B. - 6 : 1001 - 5 : 1010 - 1 : 1110 4 : 1011 - 0 : 1111 7 : 1000 3 : 1100 2 : 1101 Apartando el bit de signo.MISCELÁNEA 377 comparación depende de la magnitud. por ser positivo. L = 1. b) A 4 B 4 = 01. los dos números son negativos.me . de forma que el que tenga mayor magnitud. las magnitudes de los bits restantes son tanto mayores cuando el número es mayor. el mayor será el que tenga menor magnitud. G = 1. será el más grande (GEL = ge/). tenemos las siguientes posibilidades. por tanto. los dos números son positivos: por tanto. a) A 4 B 4 = 00. el número B es el mayor por ser positivo. '■3-0 B3-0 www. Para resolver este caso. observemos primeramente un ejemplo de números negativos de 4 bits en esta notación. las salidas GEL = ge/. Para números en notación C al.FreeLibros. obtenemos los mismos resultados que en Cal. c) A4 B4 = 10. utilizando MUX de 4 canales: 0 1 g 0 / 0 1 2 3 10 0 1 2 3 10 0 1 2 3 1 0. Por último. Por tanto. b) A 4 B 4 = 01. d) A 4 B 4 = 11. el mayor es el número B. el mayor es el primero. d) A 4 B 4 = 11. negativo. MARH i — PCH Almacena parte H de $K. www. por último. 2.PCL Almacena parte L de $K.MDR Pone la dirección de la palabra en el registro MAR.. PC < . MARH <r. AC < .FreeLibros. < r- PC + 1 Similar a 1. Ahora volvería a iniciarse el siguiente ciclo de fetch. MARL < . MARL PCL 11. el ciclo execute de la instrucción LDA. la secuencia de microoperaciones a realizar es: 1. MARH < .PCH 6 Similar a 1. . (por ejemplo.En el ciclo de fetch (búsqueda) se debe encontrar la posición a la que apunta inicialmente el contador de programa (PC). Ahí terminaría el ciclo de búsqueda y habrá que dejar al contador de programa (PC) apuntando a la siguiente dirección de memoria $K+3. 3. MDR < . El contenido de esa palabra se carga en MDR. Desde MDR se transfiere al acumulador.PC + 1 MDR < - 5. PC Almacena “B0” en el registro RT. 2 y 3. ahora para traer “B0” a MDR y poner PC a K+2. A continuación buscará la siguiente ($K+1) y. MDR Carga “LDA” en MDR y pone PC a K+l. MDR MEMORIA. que consiste en cargar el acumulador con la palabra de dirección $B043: AC < .MDR 14. Carga “LDA” en el registro IR. Aquí termina el ciclo de fetch. IR MEMORIA. Comienza.RT ' 13. por tanto.MEMORIA($B043) Para ello: 12. Con ello se termina la ejecución. 2 y 3. ahora para traer “43” a MDR y dejar a PC apuntando a la siguiente instrucción K+3. RT MDR 9. MARL 4 . PC <— PC + 1 8 .MEMORIA. MARL <E. De esta forma.PCL 7.me . la dirección $K). 4.378 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Solución PIO. MARH PCH 10. la dirección $K+2. MDR <r- MEMORIA 15. Z] la del umbral en 1. se evalúa cada una de las funciones Z 2 . b.ÍU Comparador de "n" bits < 1 ------- 3 b) Para analizar el circuito de la figura 2. Partiendo de estos datos se obtienen los siguientes resultados: a 0 0 1 1 b 0 1 0 1 Z2 0 0 1 1 c 0 0 1 1 d 0 1 0 1 e Z. dada una combina­ ción de las cinco variables. b" como entradas de selección del MUX-2 cuya salida es la función F y diseñando el residuo R 2 con un MUX-2 de entradas de selección "c. a) Dada la expresión de la puerta umbral en la figura 1. e).MISCELÁNEA 379 Solución P ll. Zj y Z 3 . para su realización basta con un comparador de magnitud de n bits que compare "A" e "i" y un inversor para obtener la salida Z. d". Z 3 en 3 y F es la de la puerta con umbral en 5 y cuyas entradas son Z2 . c.me . En la siguiente figura se muestra dicho esquema: > . 0 0 1 1 0 1 1 1 d 0 1 0 1 z3 Z2 0 0 0 1 0 0 0 0 1 1 1 1 Z. se llega al circuito final que se muestra a continuación: www. Zj y Z 3 y posteriormente se obtiene el valor de la función de salida del circuito F. Realizando este cálculo para todas las combinaciones de entrada se obtiene el siguiente mapa binario: 00 01 10 11 000 0 0 0 0 001 0 0 0 0 010 0 0 1 1 011 0 0 1 1 100 0 0 1 1 101 0 0 1 1 110 0 0 1 1 111 0 0 1 1 05¡0 II 0 cde Ro=0 r 2= r 3 r3 F c) Del mapa anterior.FreeLibros. usando "a. Z3 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 F 0 0 0 0 0 1 1 1 De estas tablas se puede obtener la función F(a. construimos la tabla de verdad para cada una de las salidas de las puertas umbrales: Z’q es la de la puerta con umbral en 2 . Para ello. d. 0 0 ------. es posible eliminar la conexión de la señal d en la puerta de más abajo del circuito. a) En los mapas de K am augh se ven las diferencias entre la solución y la función: FUNCION ESPECIFICADA CIRCUITO ab 00 01 11 10 00 0 0 1 0 01 1 0 1 11 1 1 10 0 1 ab cd\ 00 01 11 10 00 d 0 1 0 0 01 1 0 1 0 11 1 0 1 0 10 d d d 0 1 0 1 1 z f Los errores son que la solución considera que las posiciones 6 y 7 son mintérminos y en realidad son maxtérminos. www. en la puer­ ta central en vez de conectar b y c hay que conectar a y c.380 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Residu os de R 2: 00 01 10 11 0 0 1 1 1 1 1 1 0 1 1 1 Otra solución de menor coste es: 0 ------. En cambio. en la solución las posiciones 10 y 11 son maxtérminos cuando deben ser mintérminos. Por otra parte. ya que las celdas 0 y 2 están inespecificadas.i d ----.2 1 3 10 ac Solución P12. Por tanto. La función correcta es: f = a b + a c + a b.me .FreeLibros. para corregir los errores. si x = 0 se activa “z” y se permanece en A. que aparece lOns después del cambio de bajada en b. si x = 0 se pasa a B.FreeLibros.MISCELÁNEA 381 b) Llamando a las señales internas del circuito como se muestra en la figura: a b El diagrama de ondas queda de la siguiente manera: 50 ns <- M=L 5 N 5 ñs 5 ns 5ns 5 ns 5 ns 5 ns Esto es. Solución P13.-Los estados de la carta ASM serían los siguientes: Estado A: se han detectado tres o más “0”. Estado C: estado enel que seha detectado “11”. Estado F: estado en el que seha detectado “00”.me . Si x = 1 se activa z y se per­ manece en D. Estado B: estado enel que seha detectado el primer “1”. z presenta un azar (estático) de 5ns de duración. si x = 1 se pasa a B. www. Estado E: estado en el que seha detectado el primer “0”. Estado D: estado en el que se ha detectado tres o más “1”. 382 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Con lo que la carta ASM queda: La forma de onda y la secuencia de estados son: Ck X z S ? B D F. E y F). Además.La resolución del problema puede efectuarse utilizando una representación de la información que aporta la tabla del enunciado sobre un mapa de Kam augh. En esta tabla aparecen expresiones de dos implicantes primas y faltan por conocer expresiones de las otras cuatro (B. A A B C D Solución P14.. aparecen todos los mintérminos menos dos (cj y c2).FreeLibros.me . Con los mintérminos conocidos el mapa queda como sigue: www. D. me .MISCELÁNEA 383 ab 00 00 01 11 10 1 1 01 11 1 1 1 10 Implicante A = b d: Vale 1 cuando b = 0 y d = 0. en la posición 2 del mapa hay una inespecificación. Son las posiciones 0. d. La implicante F cubre a c2 = 13. c 2 es el 13. además.FreeLibros. en el 9 ó en el 12. debe cubrir alguna inespecificación que podrá estar situada en las celdas 5 ó 9 ó 12. Por tanto. 8 y 10 son mintérminos de f y esta implicante no cubre ni á cj ni a c2. de forma que no puede agruparse con ningún otro mintérmino dis­ tinto del 0. La implicante D cubre al 15 y a c2. alguna inespecificación. Por tanto. el mintérmino Cj sólo podría estar o en la posición 1 ó en la posición 4 del mapa. Esta puede estar en celdas adyacentes al 8 . sólo puede ser el 11 ó el 13 ó el 14. sólo puede estar en la 9 ó 12. Como no existe ninguna implicante prima que cubra ni al mintérmino 10 ni a c2. no pueden ser ni el 11 ni el 14 (ambos adyacentes del 10). La implicante prima B cubre al mintérmino 0 y a cj. La primera es considerando que Cj = 1. Por tanto. Si la celda 5 fuese inespecificación. B es la única implicante que cubre al mintérmino c¡. esto es. La implicante C = bcd cubre sólo a los mintérminos 7 y 15. la implicante C no sería prima. En este caso. por tanto. Con lo que hemos deducido el mapa queda como sigue: ab c d \^ 00 00 1 01 Cl? 11 10 01 11 Cl? d? 10 1 0 1 d? 0 1 1 0 d 0 0 1 Resta por determinar si el mintérmino c¡ es el 1 ó el 4 y si hay inespecificación en el 9 ó el 12. El mapa quedaría de la siguiente manera: www. Además. Además. 8 y 10 sobre un mapa de Kamaugh. Por lo que c 2 tiene que ser adyacente al 15 y. 2. La implicante E cubre al mintérmino 8 . Como es implicante prima debe cubrir. la inespecificación está situada en la celda 12. Como 0. Existen dos soluciones posibles. 1) = a b c D = (13.12) = a c d F = (12.12) r ~ La segunda es considerando que cj = 4.4) = a c d D = (13. la inespecificación está situada en la celda 9.13) = a b c 10 HX ó) 0 VVJ f= 1(0.15) = a b d E = (8. 00 01 00 (U 1 01 0 0 11 0 10 2) ■ ) (1 0 í1) lo 0 B = (0.me . www.13. El mapa quedaría de la siguiente manera: c d \.7.15) = ab d 10 11 E=(8.10. .Estados de salida. las expresiones óptimas en forma sp y ps son: / = b d + abe + bcd + abd f ps = (b + d ) (a + b + c) (a + b + c ) (a + b + d) Como las expresiones mínimas sp y ps tienen el mismo coste. En este caso.Estados de entrada.15)+ d(2.384 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES ab cX 00 01 00 -£r 1 11 10 11 01 B = (0.9) = a b c F = (9. I]-.. I2: Amenazarle.15)+ d(2.13) = a c d M v d'J 0 íH' f = 1(0. ambas son óptimas. Son las acciones que se pueden hacer al perro. Existen 4 posibles estados de entrada: Iq: Darle un hueso.13.FreeLibros.8. Ot: Muerde. Solución P15.10.7. Quitarle un hueso.9) b) Para la primera solución.4.1. de la siguiente forma: .El comportamiento del perro puede emularse mediante una máquina secuencial. I3 : Nada.8. Son las posibles acciones del perro: O0: No muerde. 11 (I3 ). NS Se aplica el método exhaustivo para la asignación de estados ya que es una máquina de sólo 4 estados. Son los estados del perro: T: Tranquilo. Las posibles asignaciones son las siguientes: Estados Asignaciones de coste distinto T I A IA I II III 0 0 00 00 01 01 11 11 10 10 10 11 01 Los cuatro estados de entrada se codifican mediante dos entradas de forma que se tiene XjXq: 00 (Iq). Como el perro muerde (Oj) si y sólo si está irritado y asustado (IA).Estados de la máquina.FreeLibros. las tablas de transición/salida: ASIGNACIÓN I ASIGNACIÓN II ASIGNACIÓN III x^X o \X . La tabla se obtiene directamente del enunciado y se muestra en la figura: Entradas lo T T T T T I A IA h h I I IA IA Z h T I A IA A IA A IA O0 O0 o0 0. IA: Irritado y asustado. I: Irritado.me 0 0 Q 1Qo= D 1D 0 >I IA=11 >11^ A=ll IA=10 \X iX o 00 01 11 10 z 00 11 00 10 0 00 01 01 01 1 00 11 11 01 0 00 01 10 10 0 Q jQ q ^D jD q .X 0 qiV v T=00 00 01 11 10 z 00 01 11 10 00 01 00 11 0 OiOcN T=00 z 00 01 00 10 0 1=01 00 01 01 10 0 1=01 00 01 01 11 0 ch (lo \ T=00 IA=01 00 10 11 11 0 00 11 11 11 1 1=11 00 10 10 10 1 00 11 10 10 0 Q lQ o=D i D o www. 1 0 (I2). A: Asustado. la tabla de estados sigue el modelo de Moore. Entonces. 01 (I]).MISCELÁNEA 385 . al número A. y Z = 0. De ellas se obtienen las ecuaciones de excitación/salida.-Supongamos que Z = 1 indica que el número B es más cercano que C. al A. cuyas entradas sean las distancias de los números B y C.me . IA-BI -/■ IA-CI www.q x ■q Q D q = X jX q + X jq 0 z = '% La solución de menor coste es la segunda (II).FreeLibros. La salida Z la podemos obtener a partir de un comparador de magnitudes. Solución P16. indica que C está más cerca.386 PROBLEM AS DE CIRCUITOS Y SISTEMAS DIGITALES Utilizando biestables D las tablas de excitación son las mismas que las de transición. para cada asignación: Para la asignación I: Dl “ V l i + X lX 0 Dq = XjX0qj + X ]X0q0 + X 1q1q0 + X1X0<2'1q0 z = 91% Para la asignación II: D 1 = X0<ll + X 1X0 D 0 = X jX q + X jq 0 z = 91% Para la asignación III D\ = Xj ■X Q • ^ 0 + Xj • X Q ■q l + X Q • q x ■q Q + X x X Q . En el circuito anterior se escogen los canales 0 de los multiplexores y el restador calcula B-A. IA-BI Si el número A es mayor que el B. realice A-B o B-A. comparadores de n bits y multiplexores de buses para la selección del substraendo y el minuendo. tras un pulso Start. Repitiendo esta estructura para IA-CI.me . se escoge el canal 1 de los multiplexores. los biestables D se ponen a 1 de forma asincrona. Los biesta­ bles D.n 0 n M inuendo RESTADOR Sustraendo 1s 0~\ 1s / n Ó \ *s / ’n RESTADOR Sustraendo IA-BI // IA-CI x>y x -y x<y Solución P17. si se cumple esta condición.B si A>B B . entonces IA-BI = A-B.. En el circuito anterior.A si B>A De interpretar la expresión anterior podemos deducir los elementos que necesitaremos para el diseño del circuito. Por un lado un restador que. IA-BI= B-A. en función de la comparación de los números A y B. operarán con cada flanco negativo de W según la secuencia: www.Cuando Start = 0. nos queda el circuito siguiente: B A A B X B y x>y x -y x<y c A A C X y " ’n " 0 ’n 1s . por lo que el restador de n bits realiza la operación A-B. Si el número A es menor que el B.MISCELÁNEA 387 Ahora debemos obtener el circuito que realice las operaciones IA-BI y IA-C1. La definición del valor absoluto de A-B es la siguiente: IA-BI =« A .FreeLibros. 388 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES puesto que Dx = Y y Dy = X. tenemos que relacionar las nuevas señales de control con las correspondientes a cada una de las memorias de las que partimos por separado. W = B + C produce un flanco negativo (de 1 a 0) cuando B C pasa de0 . Mostramos el siguiente diagrama de bloque y la relación entre las distintas señales: RW 0 0 0 1 10 1 1 Inhibición Escritura Lectura Prohibido Para resolver el problema. Si X + Y = 1.0 a 11. Para ello. De todo lo anterior se obtiene la siguiente secuencia de señales: Start u CLK A B C X J Y J Z J w Solución P18.ó.me . Para ello. el biestable A tiene Ja K a = 00 y no cambia de estado por lo que ningún otro biestable JK cambia de estado.FreeLibros. seguimos la siguiente tabla: www. Si X + Y = 0. a) Queremos conseguir una memoria de 16 líneas de entrada con dos señales de control independientes para lectura y escritura. primero determinamos la relación entre las distintas señales de control de cada una de las memorias. los tres biestables JK tienen como entradas JK = 11 y operancomo un contador de rizado (A es el menos significativo). - - De dicha tabla puede deducirse la siguiente relación: R/W. A continuación se resuelve el mapa de memoria. Así ocupamos los 40K que nos pide el problema. Si se desea reducir el coste se puede eliminar dicho decodificador y poner en su lugar una puerta OR (m. Para ello colocamos la memoria de 32K en las primeras posiciones del mapa y la otra memoria de 8 K a continuación de ésta. Aj4. A 13) donde m es la salida 1 del decodificador 1 :2 . a 15 a 14 o i 1 0 0 1 0 1 1 1 0 1 1 1 a I3 M. 2 y 3 de salida para posibles expansiones del circuito.MISCELÁNEA RW 0 0 0 1 1 0 1 1 C Si 1 * * - cs2 1 * * - R/W.FreeLibros.W) habilita los decodificadores de memorias si hay acceso (RW = 01 o 10) e inhabilita dichos decodificadores si no hay acceso (RW = 00). - r/w 2 - 0 0 1 1 389 *: según el mapa de diseño que haremos a continuación. = R/W 2 = R. www. Para la señal CS 2 se ha utilizado un decodificador 2:4 dejando así libres las líneas 1. m2 Vacío Una posible solución para el circuito de decodificación es el que se muestra a continuación: La puerta ÑOR (R.me . FreeLibros. uniendo todos los valores de las 16 líneas que componen el bus extemo.A0 = $1CAD Se accede a la palabra $1CAD de M 2. b) Analizamos las palabras que se leerían de las memorias si en el bus extemo de datos colocamos las siguientes direcciones: A] 5 . De forma análoga. la dirección que se necesita fijar en el bus externo es A j 5 . para acceder a la palabra $0246 de M 2 tenemos que fijar A 1 5 A 1 4 A j 3 = 100 y el resto de las líneas tomarían los valores siguientes: A 1 2 = ° y A 1 1 .390 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES m. A 15 A 14 A 13 “ 111 a 15 = 0 Acceso a M | l15 A 0 = $4342 Se accede a la palabra $4342 de M[. Por tanto. Por tanto.A 0 = $9CAD Acceso a M2_ A 15 A 14 A 13 = A ¡2 A n . Para el resto de las líneas de entradas A i 4 . 14a 13- a >1 es.Aq = $7531.A q —$F0CA No hay palabra física seleccionada.A 0 = $4342 A . A 1 4 . la dirección que necesitamos colocar en dicho bus para acceder a la que nos planteamos es Ajg . c) Para poder acceder a la dirección $7531de tenemos que poner A j 5 = 0 y así se­ leccionar dicha memoria.A 0 ~ $246.Aq = $7531.me .A q — $8246. 5 . www. Haye 8 6 ]. En el bloque relativo a los circuitos combinacionales. Nels95. Wake94]. La materia correspondiente al nivel de conmutación (Capítulos 1-10) está suficiente­ mente soportada en textos: existen muchos y poseen un variado enfoque. los aspectos relacionados con la aritmética del computador se desarrollan ampliamente en [Cava 8 6 ]. Nels95. lo que garantiza el progreso en cualquier línea.BIBLIOGRAFÍA Nuestro propósito aquí es citar un pequeño conjunto de textos. Además. Givo70. las diferentes formas de implementar expresiones sp o ps e incluso las realizaciones con puertas XOR. Nels95. Para profundizar. 2 ) que en ellos se aporten suficientes líneas y enfoques como para que el lector pueda profundizar en los aspectos que desee o necesite. el diseño ayudado por computador (CAD) puede encontrarse en [Haye96. Mano91. en particular. en [Givo70. y un buen equilibrio se encuentra en [Haye86/96. sim­ ple y riguroso del álgebra y de las funciones de conmutación se da en [Givo70]. Para el lector interesado. todavía no está adecuadamen­ te delimitado el cuerpo de doctrina. en parte. Somos conscientes de que puede haber otras selecciones apropiadas. nuestro Capítulo 3 dedicado al análisis lógico (incluyendo circuitos sólo NAND (ÑOR)) y temporal (incluyendo azares) está bien tratado en [Garc92. Wake94] se da una visión más acorde con nuestros contenidos. Mano91. Llor96.FreeLibros. Wake94].me . como en otros más clásicos [Cava 8 6 . para ampliar conoci­ mientos sobre funciones especiales puede estudiarse [Unge89]. incluyendo el método de Quine-McCluskey. 391 www. Nosotros hemos tenido que seleccionar los que consideramos me­ jores. Mano91. a través de los cuales se pueden alcanzar dos objetivos: 1 ) que el lector pueda estudiar en ellos la teoría de la materia que se aplica en este libro. El diseño de circuitos a nivel de puertas (Capítulo 4) está tratado mediante mapas de Kamaugh en todos los textos mencionados. Aunque el número de autores que la tratan va aumentando cada vez más. Haye96. un tratamiento elegante. En cualquiera de ellos pue­ den estudiarse la mayor parte de las cuestiones de estos temas. pero confiamos en que la que ahora damos sea suficiente­ mente adecuada. Katz94. De aquí que esta materia se encuentre mucho menos es­ tructurada en los libros existentes. 2 y. Wake94]. Nels95. Los fundamentos matemáticos (Capítulos 1. En cuanto a la materia correspondiente al nivel RT la situación es bien distinta. Katz94. Sand90. la codificación binaria está ampliamente estudiada en [Garc92]. el 6 ) suelen estar bien presen­ tados tanto en los textos más recientes [Garc92. [Cava8 6 ] J. abordadas con un enfoque más o menos genérico. HÍ1193. 1986. Lync93.P.: “ Circuitos y sistemas Digitales”. [Almo94] G. McGraw-Hill. García et al. Mano91/91b. www. Mano91. Sand90]. pueden estudiarse en [Gree 8 6 . [Haye 8 6 ] J. En el Capítulo 6 se abordan los circuitos aritméticos. 1970. Mano91. Mano91. Hayes: “Diseño de sistemas digitales y microprocesadores”. Green: “Modem logic design" . [Haye96] J. 1986.P. Mano91. Almonacid et al. Nels95.392 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES Nels95] y sobre todo [HU193]. Addi son-Wesley. en [Gree 8 6 . encontrándose los aspectos ligados a la optimización del circuito (reducción de estados. destacando su uso en el diseño en [Almo94]. están [Haye86/96. Unge89. Givone: “Introduction to switching circuit theory”. Haye96. Tebar Flores. asignación. Concretando más. Taub83]. memorias semiconductoras. En relación al Capítulo 7. Unge89]. Taub83].E. Los circuitos y subsistemas secuenciales constituyen el siguiente bloque. las cartas ASM. 1996. 1992. teniendo también un adecuado desarrollo en [Garc92. elección del biestable) en [Haye96. estrategias de diseño de unidades de control. Llor96. Mano91]. Wake94]. [Garc92] J. Por último. Katz94. estos se explican adecuadamente en [Katz94. Addison-Wesley. el tema de nuestro Capítulo 10. los cuales incorporan técnicas de CAD. Wake94]. Katz94. Unge89]. dedicado a los subsistemas secuenciales. y un enfoque general especialmente bueno en [Katz94. Nels95]. en [Katz94]. la descripción a nivel RT se presenta bien en [Mano91b]. Los distintos subsistemas combinacionales (Capítulo 5) se desarrollan en [Garc92. Univer­ sidad de Granada. Taub83. Mand91. Mano91]. un lenguaje de descripción. En cuanto al Capítulo 9. Sand90.me . materia que está bien desarrollada en [Garc92. está muy bien presentado en [Haye 8 6 ]. los elementos más básicos (biestables) están muy bien tratados en [Haye96.J. Nels95.B. Mand91. Además. Cavanagh: “Digital Computer arithmetic: Design and implementation”. Lync93].: “Circuitos digitalesprogramablespor el usuario”. Nels95. Asimismo. Hayes: “Introducción al Diseño Lógico Digital”. Las principales cuestiones. Los Capítulos 11 y 12 tratan los sistemas digitales a nivel RT. la interconexión entre registros. Wake94]. Llor96.F. con un enfoque dirigido a los computadores. Llor96. se pueden encontrar ejemplos de sistemas digitales específicos en [Pros87. [Gree 8 6 ] D. Katz94] y sobre todo en [Nels95. Haye96. 1986. [Givo70] D. McGraw-Hill. El diseño de circuitos secuenciales síncronos (Capítulo 8 ) está bien presentado en [Katz94. bien “sencillos” bien comerciales. en [HÍ1193]. Katz94. McGraw-Hill. Wake94].FreeLibros. la descripción mediante máquinas de estados finitos y el análisis de circuitos tanto a nivel de estados como a nivel temporal se desarrollan en [Garc92. Pros87. en [Gree 8 6 . 1994. Wake94]. Nels95. P. McGraw-Hill Interamericana. Mandado et. Marcombo.F. 1990.J. Prentice-Hall. [Mano91b] M. 1983. McGraw-Hill. 1993. Inc.H. [Mand91] E. Peterson: “Computer aided logical design with emphasis on VLSI”. 1996. Prieto: “Diseño Lógico”. 1991. Prentice-Hall. [Pros87] F.S. Mano: “D igital design”. Prentice-Hall. 1994. 1991.P. Nelson et al. [Wake94] J.me . Prentice-Hall.H. al. CRC Press. [Unge89] S.FreeLibros. Wakerly: “D igital Design: Principies and Practices”. Wiley. McGraw-Hill. A. Hill and G. Diseño del harware”. [Nels95] V. The Benjamin/Cummings Publishing Company. Unger: “The essence oflogic circuits”. Prosser and D. 1989. [Mano91] M. Taub: “Circuitos digitales y microprocesadores”.E.: “Sistemas electrónicos digitales". 1993. 1994. [Lync93] M. www. [Taub83] H.M.BIBLIOGRAFÍA 393 [HÍ1193] F.down design”. Mano: “Ingeniería computacional. [Llor96] A. Lynch: “Microprogrammed State Machine Design ”. Katz: “Contemporary Logic D esign”.: “Digital Logic Circuit Analysis and Design". 1995.M. Sandige: “Modern digital design". 1987. [Sand90] R.R. Lloris y A. 1991.. Winkel: “The art of digital design: An introduction to top . Prentice Hall. Prentice-Hall. [Katz94] R. representaciones binarias de números y su aritmética. es decir.FreeLibros. los problemas se organizan en orden creciente de dificultad.. El término Diseño Lógico alude a materias como los Cir­ cuitos y Sistemas Digitales o Teoría de la Conmutación. donde se incluyen: • Fundamentos matemáticos usuales: álgebra de Boole. la mitad de ellos están resueltos con detalle. sobre los cuales el lector aprenderá la metodología de su resolu­ ción.. a nivel de conmutación. empleando los conocimientos previos adquiridos por otras vías y resolver así problemas aplicados al respecto. • Descripción y realización de sistemas digitales a nivel de transferencias entre registros (RT). análisis y diseño de circuitos combinacionales y secuenciales. y los restantes son ejercicios propuestos con la solu­ ción indicada. codificación binaria. Además se sigue una metodología bottom-up. potenciando las capacidades de aplicación de la teoría. La metodología aplicada en el diseño del libro pasa por la inclusión de dos tipos de ejercicios: aproximadamente.me . • Presentación. 9788448109660 www.Se trata de un libro de problemas resueltos en el campo del Diseño Lógico. Ha sido diseñado para enseñar cómo se aplican los conceptos y herramientas a casos concre­ tos. organizando el sistema de una unidad de procesado de datos y otra de control.
Copyright © 2024 DOKUMEN.SITE Inc.