electronica digital problemas_de_circuitos_y_sistemas_digitales

396
YS STEMASD G TALES CarmenBaena ManuelJesúsBellido AlbertoJesúsMolina MaríadelPilarParra ManuelValencia 7 ' . 1F 1 1 1 4 C6 ABCD 7448 UA 9 o1 Q~QQ 2 a$ 43 n4 n4 C 1 n, z~ cb4oa B .R, 0'99 ( AB 1 2 1 A 7 2 11 UN VERS DADEDEV GOB BL OTECA _ .. , 1111111111 3V00072350 D 74 v vcc R 2 10K

Upload: david-alcantara-vilca

Post on 01-Jun-2015

18.158 views

Category:

Education


14 download

TRANSCRIPT

Page 1: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Y SISTEMAS DIGITALES

Carmen Baena • Manuel Jesús Bellido • Alberto Jesús MolinaMaría del Pilar Parra • Manuel Valencia

7

' .

1 F

1

1

14

IC6

A B C D7448

UA

9o1 Q~ Q Q

2 a$ 43 n4 n4

IC

I1n,

z~

cb4 oaB .R,

0 ' 9 9(

A B

1 2 1

A

7 2 1 1

UNIVERSIDADE DE VIGO BIBLIOTECA

_ .. ,

1111111111 III III

I II II3V00072350

ID

74

v

vcc

R 210K

Page 2: Electronica digital problemas_de_circuitos_y_sistemas_digitales

PROBLEMASDE CIRCUITOS

Y SISTEMAS DIGITALES

C- Áq7

Carmen Baena OlivaManuel Jesús Bellido Díaz

Alberto Jesús Molina CanteroMaría del Pilar Parra Fernández

Manuel Valencia Barrero

Departamento de Tecnología ElectrónicaUniversidad de Sevilla

McGraw-HillMADRID • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MÉXICO

NUEVA YORK • PANAMÁ • SAN JUAN • SANTAFÉ DE BOGOTÁ • SANTIAGO • SÁO PAULOAUCKLAND • HAMBURGO • LONDRES • MILÁN • MONTREAL • NUEVA DELHI • PARÍS

SAN FRANCISCO • SIDNEY • SINGAPUR • ST. LOUIS • TOKIO • TORONTO

Page 3: Electronica digital problemas_de_circuitos_y_sistemas_digitales

TABLA DE CONTENIDOS

PRÓLOGO vi¡

1 . REPRESENTACIÓN Y CODIFICACIÓN BINARIA1

2. ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN19

3. ANÁLISIS DE CIRCUITOS COMBINACIONALES35

4. DISEÑO DE CIRCUITOS COMBINACIONALES51

5. SUBSISTEMAS COMBINACIONALES 89

6. CIRCUITOS ARITMÉTICOS 141

7. ANÁLISIS DE CIRCUITOS SECUENCIALES169

8. DISEÑO DE CIRCUITOS SECUENCIALES197

9. SUBSISTEMAS SECUENCIALES 229

10 . MEMORIAS SEMICONDUCTORAS 263

11 . INTRODUCCIÓN A LOS SISTEMAS DIGITALES291

12 . DISEÑO DE UNIDADES DE CONTROL 325

13 MISCELÁNEA 359

BIBLIOGRAFÍA 391

v

Page 4: Electronica digital problemas_de_circuitos_y_sistemas_digitales

PRÓLOGO

Este ejemplar es un libro de problemas resueltos en el campo del Diseño Lógico . Como tallibro de problemas ha sido concebido con la finalidad de enseñar cómo se aplican losconceptos y herramientas a casos concretos . Esto significa que nuestra atención no se centraen el desarrollo de la doctrina teórica, sino en tratar de explicar cómo interpretar enunciadosde problemas más o menos bien especificados y, empleando los conocimientos teóricosadquiridos por otras vías, resolver ese problema en particular y no otro . Como se ve, nuestrosobjetivos primarios son potenciar las capacidades de aplicación de la teoría y la de resoluciónpráctica de problemas .

En cuanto a la disciplina, el término Diseño Lógico alude a materias tan bien conocidascomo 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 circuitosa 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 delcontexto de este libro, las materias fronteras son, en el nivel inferior, el tratamiento eléctricode 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 lacomplejidad 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 endiversos 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 yla 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

vi¡

Page 5: Electronica digital problemas_de_circuitos_y_sistemas_digitales

viii PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

rápida y eficiente en las realizaciones de circuitos y de sistemas digitales . El uso de este librono requiere conocimientos específicos previos ni en Electrónica, ni en Computadores, ni enMatemáticas avanzadas . Sin embargo, al ser un libro de problemas, el lector debe conocer anivel 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 hayuna pequeña presentación teórica. Además, en los problemas que introducen materias, durantesu resolución se detallan los nuevos aspectos teóricos involucrados .

En la realización del libro hemos huido de los ejercicios puramente repetitivos, de losexcesivamente 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 deejercicios . En primer lugar hemos seleccionado un amplio conjunto de problemas pararesolverlos en detalle . Sobre ellos el lector aprenderá la metodología de resolución . Hemosintentado que cada aspecto importante de la materia esté cubierto por problemas biendesarrollados . Posteriormente se presenta un segundo conjunto de problemas de los que sólose 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áscomplejo. En gran parte el material es autocontenido por lo que no se necesita ningúnprerrequisito .

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 acircuitos 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 queel 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 problemasde una materia concreta . Los problemas de estos Capítulos han sido desarrollados procurandoque el lector vaya aprendiendo a resolverlos dentro de esa materia . Por el contrario, el últimoCapítulo está ideado con la finalidad de que el lector evalúe su nivel de conocimientos . Paraello, por una parte, los problemas no se han ordenado según la materia, de forma que el lectorno los sitúe a priori en un contexto predeterminado ; por otra, se incluyen algunos que afectana más de una unidad temática ; y, por último, se presentan todos los enunciados juntos, cadaproblema separado de su solución, con el fin de que el lector tenga que ir a buscar explícita-mente cada solución .

Page 6: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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óny la codificación binaria. Estos problemas están orientados a practicar con las representacionesno 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énse tratan los principales códigos binarios y decimales .

Capítulo 2 .- Desarrollo de los problemas relacionados con el álgebra de Boole y con elmanejo de las funciones booleanas incluyendo demostraciones de teoremas e identidades, y lasdiversas representaciones de funciones de n variables (tablas de verdad, mapas binarios y deKarnaugh) y los teoremas para dichas funciones que dan lugar a las expresiones canónicas yestándares .

Capítulo 3.- Análisis de circuitos combinacionales, tanto a nivel puramente lógico comotemporal, incluyendo técnicas específicas para el análisis de circuitos con sólo puertas NANDo NOR .

Capítulo 4.- Diseño de funciones . En él se aplican técnicas de reducción para obtener lasexpresiones mínimas en suma de productos o producto de sumas (basadas en mapas de Kar-naugh y en los métodos de Quine-McCluskey y de Petrick). Además se presta una especialatenció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 unadescripció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ñanfunciones utilizándolos como componentes de la realización .

Capítulo 6.- Desarrollo de los problemas relacionados con la aritmética binaria . En ellosse muestran tanto las operaciones aritméticas (suma, resta, multiplicación . . .) como loscircuitos combinacionales que las realizan (sumadores, sumadores-restadores y unidadesaritmético-lógicas) .

Capítulo 7.- Presentación del biestable tanto a nivel lógico (RS, JK, D y T) como a niveltemporal (sin reloj, disparados por nivel, tipo Master-Slave y disparados por flanco) . Tambiénse aborda el análisis de circuitos secuenciales . Se desarrollan tanto los circuitos síncronos ocon una única señal de reloj, como los asíncronos, incluyendo en éstos los que operan medianteentradas asíncronas y los circuitos que poseen más de una señal de reloj .

PRÓLOGO ix

Page 7: Electronica digital problemas_de_circuitos_y_sistemas_digitales

x

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Capítulo 8.- Diseño de circuitos secuenciales síncronos . Se muestran los distintos pasosdel proceso habitual de diseño, sistemático en su mayor parte, y que consigue como resultadoun circuito de coste reducido u óptimo . Algunos de los problemas van encaminados a practicarcon 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 menortamaño y el diseño en general de funciones secuenciales .

Capítulo 10.- Problemas de memorias semiconductoras . Básicamente están dirigidos aluso de estas memorias y a la formación de memorias "principales" por la asociación de variosde estos dispositivos (realización de mapas de memorias) .

Capítulo 11 .- Introducción al nivel de transferencia entre registros (nivel RT) y al diseñode sistemas digitales . En particular, se tratan las formas de descripción (notación RT, cartasASM y lenguaje HDL), conectándolas con los bloques de circuitos funcionales, básicamenteregistros . También se incluyen problemas sobre las técnicas de interconexión entre registrosmediante buses y la realización de unidades de datos simples cuando se conoce su operacióna nivel RT .

Capítulo 12 .- Diseño de sistemas digitales completos, esto es, la unidad de datos y la decontrol. En los primeros problemas se parte de una unidad de procesado de datos conocida yhay que desarrollar una unidad de control adecuada . Finalmente se afrontan problemas dediseño completo de sistemas digitales .

Capítulo 13 .- Presentación de problemas de las materias ya tratadas .

Page 8: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 1

REPRESENTACIÓN Y CODIFICACIÓN BINARIA

Los circuitos digitales operan con dos niveles de señal, la mayoría de las veces una tensión bajay otra alta . Desde el punto de vista matemático decimos que operan con señales binarias y losdos niveles se representan mediante 0 y 1 . Toda la información que ha de procesar un sistemadigital ha de expresarse mediante combinaciones de esos dos valores . En consecuencia, hayque describir cómo se representan los entes mediante 0 y 1 (codificación binaria) y, más espe-cíficamente, por ser esencial en el cálculo, cómo se representan los números .

REPRESENTACIÓN POSICIONAL DE MAGNITUDES

Un sistema numérico se caracteriza por sus símbolos básicos ; estos son llamados dígitos, cadauno de los cuales representa una determinada cantidad de unidades. A su vez, cada cantidadpuede expresarse mediante una secuencia de tales dígitos . 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). Decimos entonces que se trata de un sistema de representación posicional .

Un sistema numérico de base r es un sistema posicional de representación donde lospesos de los dígitos son potencias de r . Así, una magnitud M puede representarse en la base rde la siguiente forma :

M = dn-1 dn _2 . . . d 1 do . d_1 d-2 . . . d_m (rn-1

siendo d; un dígito de dicha base y cumpliéndose que d i e {0, 1, . . ., r-1} y M =

d . r1 .j -m

Para realizar cambios entre distintas bases existen diversos métodos . En este Capítulo se

- Para cambiar de base 10 a base r, se utiliza el método de las divisiones sucesivas paraobtener la parte entera y el método de las multiplicaciones sucesivas para obtener la parte frac-cionaria .

1

usan fundamentalmente los siguientes : n -1- Para cambiar de base r a base 10, se aplica la fórmula : M = Y, d . r• .

j= -m

Page 9: Electronica digital problemas_de_circuitos_y_sistemas_digitales

2

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

- Para cambiar de una base arbitraria rl a otra r 2 , se pasa en primer lugar de rl a 10 ydespués de 10 a r2 .

- Para cambiar entre las bases 2, 8 y 16 (potencias de 2) se utiliza un método de agrupa-ción de bits .

REPRESENTACIÓN DE NÚMEROS CON SIGNO

De entre las notaciones existentes para expresar números con signo nos hemos centrado en lasnotaciones signo-magnitud, complemento a 1 y complemento a 2 . En algunos aspectos que de-tallaremos a continuación las tres notaciones son similares . 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 . En nú-meros positivos los demás bits representan la magnitud :

A = ° n-1 an_2 . . . al a0 . a_ 1 a_2 . . . a-

l

m/

Tbit de signo

magnitud

La forma de representar los números negativos es distinta para las tres notaciones :- En la notación signo magnitud bs se hace igual a 1 y el resto de bits representan de

nuevo la magnitud :

- A = 1 a171 an_2 . . . al a0 . a-1 a-2 . . . a_T

T 5

bit de signo

magnitud

- En la notación complemento a 1, el número negativo es el complemento a 1 del co-rrespondiente número positivo :

-A= Cal (A) = 1 an_ l a n _ 2 . . . al ao . a-1 a-2 . . . a_m- En la notación complemento a 2, el número negativo es el complemento a 2 del co-

rrespondiente número positivo :

- 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 .En dicha notación los números se expresan en la forma M = m x b e (m mantisa, b base, e ex-ponente). Esto permite expresar cantidades de muy distinto tamaño de forma compacta, porejemplo, la masa del sol : 1 .989 x 1030 Kg o la carga del electrón : -1 .602 x 10-19 C. Si se su-pone conocida la base, basta representar los valores de mantisa y exponente . Esto es lo que sehace cuando se representan números en punto flotante .

Una cantidad se puede expresar de muchas formas distintas en notación exponencial, porejemplo la velocidad de la luz, c, es 3 x 10 8 m/s ó 0.003 x 1011 m/s ó 3000,n 10 m/s, etc . Paratrabajar con números en punto flotante se suele adoptar un convenio acerca de cuál de lasmúltiples expresiones de la forma m x be es la que se escoge . En este Capítulo trabajaremoscon mantisas cuyo dígito más significativo es "no nulo" (notación normalizada) . Por ejemplo,

Page 10: Electronica digital problemas_de_circuitos_y_sistemas_digitales

REPRESENTACIÓN Y CODIFICACIÓN BINARIA

supongamos que disponemos de 5 dígitos para la mantisa, representaciones normalizadas de cserían: 3.0000 x 108 ó 3000.0 x 105 ó 30000 x 10 4 , pero no lo sería 0 .0030 x 10 11 ó0.00003 x 10 13 . Sin embargo, aún es necesario adoptar un segundo convenio para elegir unaentre las diversas representaciones normalizadas. Ese convenio se refiere a concretar cuál esla posición del punto decimal de la mantisa . En este texto se trabaja con dos convenios :

- Notación fraccionaria : el punto decimal está a la izquierda del primer dígito represen-tado de la mantisa, en nuestro ejemplo : 0.30000 x 109 .

- Notación entera: el punto decimal está a la derecha del último bit representado de lamantisa, en nuestro ejemplo : 30000 x 104 .

CODIFICACIÓN BINARIA

Por codificación binaria se entiende la representación de un conjunto de entes, numéricos o nonuméricos, mediante palabras de n bits . Ahora presentaremos algunos códigos binarios de cadatipo .

La conversión entre la base 2 y la base 8 ó 16 se realiza por agrupación de bits . Por ex-tensión cualquier código binario puede representarse mediante los dígitos de dichas bases . Asípodemos hablar de código octal y código hexadecimal .

Entre los códigos más utilizados se encuentran los llamados códigos decimales . Estosasignan a cada uno de los dígitos de la base 10 una palabra binaria . Con su utilización se evitael proceso de conversión entre base 2 y base 10, aunque el número de bits precisado para ex-presar una cantidad es, en general, mayor. 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 11111101 0001 0100 00101 01100002 0010 0101 00110 11011013 0011 0110 01001 11110014 0100 0111 01010 01100115 0101 1000 01100 10110116 0110 1001 10001 00111117 0111 1010 10010 11100008 1000 1011 10100 11111119 1001 1100 11000 1110011

códigooctal hexadecimal

código códigohexadecimal

0 000 0 0000 8 00001 001 1 0001 9 00012 010 2 0010 A 00103 011 3 0011 B 00114 100 4 0100 C 01005 101 5 0101 D 01016 110 6 0110 E 01107 111 7 0111 F 0111

Page 11: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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. En lassiguientes tablas se muestran los casos n = 3 y n = 4. Puede observarse en ellas la particularidadde que las palabras asignadas a dos números consecutivos se diferencian únicamente en 1 bit .Se trata por tanto de un código con distancia unidad .

código

código

códigoGray(n=3) Gray(n=4)Gray(n=4)0 000

0 0000

8

11001

001

1

0001

9

11012

011

2

0011

10

11113

010

3

0010

11

11104

110

4

0110

12

10105

111

5

0111

13

10116

101

6

0101

14

10017

100

7

0100

15

1000

Como ejemplo de código alfanumérico, en este texto se usa el código ASCII . Medianteeste código de 7 bits es posible codificar las 26 letras del alfabeto, tanto mayúsculas como mi-núsculas, los 10 dígitos decimales, caracteres como <, @ , secuencias de control como ESC,NULL, etc. A continuación se muestran algunos ejemplos :

A cualquiera de los códigos anteriores se les puede añadir un bit de paridad . El valor dedicho bit se asigna de forma que el número total de unos en la palabra sea par (hablamosentonces de bit de paridad par) o impar (hablamos entonces de bit de paridad impar) .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Representación posicional de magnitudes .- Conversión entre bases .- Codificación binaria .- Números con signo .- Números fraccionarios en punto flotante .

PROBLEMAS RESUELTOS

Problema 1 .- Recientemente se ha rescatado una extrañísima nave espacial que proveníade los confines de la constelación Ophiocus . Tras múltiples esfuerzos, nuestros científicoshan logrado deducir algunos datos sobre la civilización que la construyó . En vez de dosbrazos, sus criaturas poseían uno sólo que terminaba en una "mano" con un número 8 de

símbolo código ASCII

símbolo código ASCII

A 1000001

1 0110001B 1000010 0111100a 1100001 1000000b 1100010

ESC 00110110 0110000

NULL 0000000

Page 12: Electronica digital problemas_de_circuitos_y_sistemas_digitales

REPRESENTACIÓN Y CODIFICACIÓN BINARIA

5

dedos . En un cuaderno que encontraron en la nave había escrito:"5X2 - 50X+ 125= 0 -4 X t = 8, X2 = 5"

Suponiendo que tanto el sistema de numeración como las matemáticas extraterrestrestengan una historia similar a los desarrollados en la Tierra, ¿cuántos dedos (B) poseían?

Solución Pl.-Debemos encontrar un sistema de numeración B en el cuál se verifique que 8 y5 son soluciones a la ecuación encontrada .

En un sistema posicional de base B una secuencia de dígitos, d n_ 1 dn _2 . . . d l do, repre-

n-1senta a una magnitud M si se cumple que M =

d . B~ ._ -M

Aplicando dicha fórmula a los coeficientes de la ecuación : 5, 50 y 125, obtenemos lasiguiente :

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

5 .82-(5 •B +0) •8 +(1 •B2+2 •B +5)=05 . 52 -(5 . 8+0) •5 +(1 •B2+2 •B +5)=0

Basta resolver el sistema formado por estas dos ecuaciones para encontrar que el únicovalor de B que satisface ambas es B = 13 . Por tanto, los extraterrestres de Ophiocus poseían 13dedos en su único brazo .

Problema 2.- Represente posicionalmente la cantidad "dieciséis unidades" en las bases 3, 7,8 y 16.

Solución P2.- La cantidad "dieciséis unidades" en base 3 deberá cumplir (utilizando la nota-ción decimal en las operaciones) :

16= . . .+d3 . 33 +d2 .32 +d1 . 3 1 +1 . 30 +d_ 1 3-1 + . . .

con di =0,1ó2.Para obtener los valores de los dígitos d i hay dos métodos :1) Comprobar valores de di hasta que la suma sea igual a la magnitud . En nuestro caso :

16=1 . 32 +2 . 3 1 +1 . 30 =121 (32) Mediante divisiones sucesivas para la parte entera y multiplicaciones sucesivas para

la parte fraccionaria. En nuestro caso sería :

do d i

d2 d3

Con lo que 16 = . . .0121 (3 = 121 (3 .Nótese que sin más que sustituir el dividendo por la suma del divisor por el cociente y

del resto, se obtiene la expresión general .

Page 13: Electronica digital problemas_de_circuitos_y_sistemas_digitales

6

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Operando de la misma forma para los demás casos obtenemos :16=2 . 7 1 +2 . 70 =22(716 = 2 . 8 1 + 0 . 80 = 20(8

16 = 1 • 16' +0 160 = 10(16En general, "r unidades" en base r se representa 10 (r •

Problema 3 .- Represente el número decimal 23.75 en las bases 2, 5, 6, 8 y 16 .

Solución P3.- Obtendremos en primer lugar la representación de la parte entera por el métodode las divisiones sucesivas . Para pasar a base 2 :

23 t

v 11

v

5v C_2`I '

10

1v v

do d i

d2 d3

d4

Por tanto: 23(10 = 1011 l(2Igualmente para las otras bases obtenemos :

23(10 = 43(5 = 35(6 = 27(8 = 17(16En cuanto a la parte fraccionaria, ha de obtenerse mediante el método de las multiplica-

ciones sucesivas . En el caso del paso a base 2 :0.75 • 2 = 1 .5

La parte entera de esta cantidad es d_ 1 ; la parte fraccionaria es la que se multiplica porla base en el paso siguiente :

0.5 • 2 = 1 .0La parte entera, en esta ocasión, nos da el bit d_ 2 . Como la parte fraccionaria es 0, todas

las siguientes multiplicaciones darían como resultado 0 y, por tanto, el resto de los bits(d_ 3 , d_4 , . . .) son iguales a 0 .

Por tanto : 0.75(10 =0.11 (2

y

23.75(10 = 10111 .1 l (2

Para base 5 :

0.75 5 = 3 .75 - d_, = 3

0.75 . 5=3 .75--> d_2=3=d_3= . . .

por tanto, 23 .75(10 = 43 .333 . . . (5

Para base 6 :

0.75 • 6 = 4.5 - d_ 1 = 4

0.5 . 6=3 .0 -4d_3=3,d_4=0=d_5= . . .

por tanto, 23 .75(10 = 35.436

Para base 8 :

0.75 • 8 = 6.0 - d_, = 6, d_ 2 = 0 = d_3 = . . .

por tanto, 23 .75(10 = 27.6(8

Page 14: Electronica digital problemas_de_circuitos_y_sistemas_digitales

REPRESENTACIÓN Y CODIFICACIÓN BINARIA

7

Para base 16 :

0.75 • 16 = 12.0 -+ d_, = 12, d_2 = 0 = d_3 = . . .

por tanto, 23 .75(10 = 17.C(16

Problema 4.- Convierta los siguientes números a base 10:a) 100.111010 (2; b) 50(8, c) 101 .1(2; d) 198 F(16-

Solución P4 .- Para convertir a base 10 basta sustituir el valor de la base y de los dígitos en la

n-1expresión M = E d . • r1 y realizar las operaciones .

j = -m

a) 100.111010(2 = 1 • 22 + 1 • 2 -1 + 1 • 2-2 + 1 • 2-3 + 1 • 2-5 = 4.90625(10

b)50 (8=5 • 8+0=40(1 0

c)101 .1 (2 =1 •22 +1 •20 +1 •2 -1 =5.5 ( 10

d) 198F(16 = 1 163 + 9 • 162 + 8 • 16 1 + 15 • 160 = 6543(, 0

Problema 5.-Se cuenta que un rey, encantado con el juego, ofreció al inventor del ajedrez elpremio que desease . El inventor sólo pidió 1 grano de arroz por la primera casilla del tablero,2 granos por la segunda, 4 por la tercera y así, el doble cada vez, hasta llegar a la última ca-silla (la número 64) . Los matemáticos del reino concluyeron que no había arroz suficiente parapagar al inventor. ¿Sabría decir cuántos granos de arroz se necesitaban?

Solución P5.-La cantidad pedida M es, en base 2, el número compuesto por 64 unos :

M=1 1 . . .1 1 1 1 ya que en ese caso M=1 •20 +1 •2 1 +1 •22 + . . .+1 •263

Esta cantidad es una unidad menos que la representada por un 1 seguido de 64 ceros .

Entonces :

M = 264 - 1 = 1 .844674407 x 1019

Problema 6.- ¿ Cuántos bits son necesarios como mínimo para representar cada uno de lossiguientes números decimales?

50, 1000, 5000, 100000 y 1000000.

Solución P6 .- Para calcular el número mínimo n de bits que representa la magnitud M, tenga-mos en cuenta que n ha de cumplir la siguiente desigualdad :

2n-1-1 <M<-2 n -1

El valor de n puede deducirse de dos formas :1) A partir de la expresión n = r 192 (M + 1)1 donde [xl es el entero por exceso

de x .

2) Por búsqueda en la tabla de potencias de 2 .

Page 15: Electronica digital problemas_de_circuitos_y_sistemas_digitales

8

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Para los números decimales propuestos tendremos :

Problema 7.-Convierta el número binario 10110110011 .10110 a las bases 4, 8 y 16; elnúmero 372.105 en base 8 a base 2, 4 y 16 y el número FO .A en base 16 a base 2, 4 y 8.

Solución P7.- Para convertir un número de base 2 a base 4, basta agrupar a partir del puntofraccionario de 2 en 2 bits y convertir cada grupo a base 4 . De la misma forma, para convertira base 8 ó 16 se agrupan de tres en tres o de cuatro en cuatro bits respectivamente . Entonces :

1 01 10 11 00 11 .10 11 0

10 110 110 011 .101 10

101 1011 0011 .1011 0

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

2 6 6 3 . 5 4(8

5 B

3.

B 0(16

Para pasar de bases 4, 8 ó 16 a base 2, se hace la descomposición inversa . Por otra parte,la conversión entre las bases 4 y 16 también se realiza de la misma forma . Sin embargo, parapasar de base 8 a base 4 ó 16, o viceversa, conviene pasar antes a base 2 .

Por tanto :

Problema 8.-En la colonia humana de Ganimedes la energía se obtiene con pilas atómicasde exactamente 1 Kg de peso. Las pilas son enviadas desde Tritón en 6 cajas de 50 pilas cadauna .

a) Tras un envío se avisa a Ganimedes que, por error, una de las cajas contiene pilasmalas con 1 g de menos. Deben detectarla y reenviarla a Tritón . Los operadores de Ganime-des deciden detectarla mediante una sola pesada . ¿Cómo?

b) Tiempo después y tras otro envío, el aviso es que una o más cajas contienen pilasmalas con 1 g de menos . ¿Cómo podrán ahora detectar las cajas erróneas con sólo unapesada?

Solución P8.a) Identifiquemos cada una de las seis cajas con una letra : caja A, caja B, caja C, caja D,

caja E y caja F. Si pesamos 1 pila de la caja A, 2 de B, 3 de C, 4 de D, 5 de E y 6 de F, lacantidad de gramos que falten para un número entero de Kg indica la caja errónea .

b) En este caso será necesario tomar 1 pila de A, 2 de B, 4 de C, 8 de D, 16 de E y32 de F. Con esto, el número de gramos que faltan para un número entero de Kg representados

M n

50 61000 105000 13100000 171000000 20

372 .105 (8 = 011 111010 . 001 000 101(2 = 3322.020224 = FA.228(16F0.A(16 = 11110000-1010(2 = 3300.22(4 = 360.50 (8

Page 16: Electronica digital problemas_de_circuitos_y_sistemas_digitales

REPRESENTACIÓN Y CODIFICACIÓN BINARIA

9

en base 2 indica las cajas erróneas . Por ejemplo, supongamos que las cajas erróneas son A, B,D y F: entonces, faltarán 1 + 2 + 8 + 32 = 43 g . El número 43 expresado en binario es : 101011lo que señalaría a las cajas F - D - B A .

Problema 9 .- La figura representa 6 cartas con las que se pretende hacer un juego de magia.Alguien debe pensar un número y, sin decir cuál es, debe indicar las cartas donde el numeroestá presente. Conociendo sólo esto, se podrá adivinar el número pensado . Por ejemplo, siestá en las tarjetas A, D, F y G, se trata del número 75 . Sabiendo que el juego se basa en larepresentación binaria de magnitudes:

a) Explíquelo .b) ¿Cómo lo cambiaría si quiere incluir hasta el número 123?¿ Ysi incluye hasta el200?

' 64 65 66 67 68 69~ "'32 33 34 35 36 37~70 71 72 73 74 7576 77 78 79 80 8182 83 84 85 86 8788 89 90 91 92 9394 95 96 97 98 99A

~45671213 "\~

38 39 40 41 42 4344 45 46 47 48 4950 51 52 53 54 5556575859606162 63 96 97 98 99B

%23671011

6 17 18 19 20 21 1,11 8 9 10 11 12 1322 23 24 25 26 2728 29 30 3148 4950 51 52 53 54 5556575859606162 63 80 81 82 8384 85 86 87 88 8990 91 92 93 94 95

135791115 17 19 21 2327 29 31 33 3539 41 43 45 4751 53 55 57 5963 65 67 69 7175 77 79 81 8387 89 91 93 95

97 99

14 15 24 25 26 2728 29 30 31 40 4142 43 44 45 46 4756 57 58 59 60 6162 63 72 73 74 7576 77 78 79 88 8990 91 92 93 94 95~

Solución P9.a) El mayor número, el 99, se representa en binario con 7 bits, concretamente como

99(2 = 1100011 .De aquí que haya 7 tarjetas (A, B, C, . . ., G) cada una encabezada por una potencia de 2

(26 = 64 para A, 25 = 32 para B, 2 4 = 16 para C, etc) . El resto de números en cada tarjeta sonaquellos cuya representación en base 2 contiene un 1 en la posición de la potencia correspon-diente a la tarjeta. Así el 99 estará en las tarjetas A, B, F y G pero no en las otras . El número75 (= 64 + 8 + 2 + 1) estará sólo en las tarjetas A, D, F y G ; etc .

b) El 123 precisa también 7 bits por lo que no hay que aumentar el número de tarjetas .A cada una de éstas habría que incorporar los nuevos números (del 100 al 123) de la formaexplicada antes ; por ejemplo : el 111 (10 = 1101111 (2 se incorporaría a A, B, D, E, F y G .

14 15 20 21 22 23 14 15 18 19 22 23 1328 29 30 31 36 37 26 27 30 31 34 35 2538 39 44 45 46 47 38 39 42 43 46 47 3752 53 54 55 60 61 50 51 54 55 58 59 49626368697071 626366677071 6176 77 78 79 84 85 74 75 78 79 82 83 7386 87 92 93 94 95 86 87 90 91 94 95 85

98 99

Page 17: Electronica digital problemas_de_circuitos_y_sistemas_digitales

10 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Para añadir hasta el 200 se necesitaría una nueva tarjeta encabezada por 128 = 27 , ya quepara representar números mayores de 128 se precisan 8 bits .

Problema 10.- Represente el 6 en los siguientes casos:•

Código Gray asumiendo que se representan del 0 al 7.•

Código Gray asumiendo que se representan del 0 al 9 .c) Código Gray asumiendo que se representan del 0 al 15 .•

En código ASCII.•

En código ASCII con paridad par.f) En código ASCII con paridad impar.•

En código "2-out-of-5" .

Solución P10 .- El código Gray es un código reflejado de distancia unidad que utiliza el

mínimo número de bits necesarios . La distancia unidad implica que dos números consecutivos

tienen códigos adyacentes (sólo se diferencian en un bit) . Por otra parte, el ser un código

reflejado, implica simetría respecto a la mitad de los números representados, con lo que, dosnúmeros simétricos tienen códigos adyacentes .

a) Para representar los números del 0 al 7 necesitaremos 3 bits. Por tanto, el código Gray

será :

000 001 011 010

110 111

0

1

2

3

4 5

(eje de simetría)

101

6

100

7

b) y c) Para representar tanto los diez números del 0 al 9, como los 16 números del 0 al15 se necesitan 4 bits, con lo que el código Gray a utilizar es el de 4 bits. Al ser un código re-flejado, para asignar valores del código a los diez números (0-9) lo haremos con los 10 códigoscentrales, tal como se muestra . En la codificación de los 16 números (0-15) ocupamos los 16códigos existentes .

0000 0001 0011 0010 0110 0111

b) -

0

1

2

c) 0

1

2

3

4

5

10101

3

0100

4

7

1100

5

8

(eje de simetría)

d) El código ASCII consta de 7 bits y representa 26 letras minúsculas, 26 letras mayús-

culas, 10 dígitos decimales, 32 caracteres especiales y 34 comandos. La codificación procede

de un convenio y, en concreto, el código del 6 es 0110110 que, expresado en código hexade-

cimal, es $36.e) Para un código de n bits, incluir la paridad supone añadir 1 bit adicional a los n ante-

riores que se llama bit de paridad. Su fin es hacer que el número total de unos en el código

1101

6

9

1111 1110 1010 1011 1001 1000

7

8

9

-

10

11

12

13

14

15

Page 18: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 .La posición del bit de paridad es convenida previamente ; por ejemplo, ponemos el bit

de paridad en primer lugar .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 será $36 .f) El código ASCII de paridad impar para el 6 será 10110110 (añadimos un 1 para tener

un total de cinco unos) . En hexadecimal, $B6 .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 . La codificación es la mostrada a continuación :

Problema 11.- Determine el bit de paridad impar para cada uno de los 10 dígitos decimalesen el código 8, 4, -2, -1 .

Solución P11.-En la siguiente tabla, se muestra la codificación para cada dígito decimal en elcódigo pesado 8, 4, -2, -1, junto con el bit de paridad que hay que generar para que en cadadígito haya un número impar de 1 .

número código

0 000111 001012 001103 010014 010105 011006 100017 100108 101009 11000

dígito 84-2-1 P

0 0000 11 0111 02 0110 13 0101 14 0100 05 1011 06 1010 17 1001 18 1000 09 1111 1

Page 19: Electronica digital problemas_de_circuitos_y_sistemas_digitales

12 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 12.- Obtenga el complemento a 1 y a 2 de los siguientes números binarios :1010101, 0111000, 0000001, 10000, 00000 .

Solución P12 .- Dado B = b n- 1 b n _2 . . .b 1b0 se obtienen su complementos a 1 y a 2 .El complemento a 1 se obtiene como Cal(B) = bn-1bn-2 . . . blboEl 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 alprimer bit igual a 1 (que también se deja igual) y complementando los bits restantes .

Para las palabras propuestas :

Problema 13 .- Obtenga el complemento a 9 y a 10 de los siguientes números decimales :13579, 09900, 90090, 10000, 00000.

Solución P13.- Se define Ca9(N) = (Ion - 1) - N. De esta definición podemos inferir que si N

Problema 14.- Represente con el mínimo número de bits posibles los siguientes números de-cimales en notación binaria, signo-magnitud, complemento a 1 y complemento a 2 :a) ± 122, b) ± 64 ; c) ± 15; d) ± 37

Solución P14.- La representación binaria con n bits permite representar los números compren-didos entre 0 y 2 n-1 , siendo una representación sin signo . Esto es, no podemos representar +Nni -N sino sólo N . En particular, operando como en el problema 2 :

a) 122 = 1111010 (2b) 64 = 1000000(2c) 15 = 1111(2d) 37 = 100101(2

= Nn_1Nn_2 . . .N1N0, entonces Ca9(N) =Por otra parte CalO(N) = 10 n -Para las cantidades propuestas en

número

(9 - Nn_ 1 )(9 -1 = Ca9(N) + 1el enunciado :

compl . a 9

Nn_2) . . .(9 - N 1 )(9 - N0) .

compl. a 10

13579 86420 8642109900 90099 9010090090 09909 0991010000 89999 9000000000 99999 00000

palabra compl . a 1 compl. a 2

1010101 0101010 01010110111000 1000111 10010000000001 1111110 111111110000 01111 1000000000 11111 00000

Page 20: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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, situando ese bit de signo en la posición más significativa.Entonces, con n bits pueden representarse todos los números enteros comprendidos entre

- (2n-1 - 1) y + (2n-1 -1) . En particular,

La representación complemento a 1 sigue el siguiente convenio :- Un número positivo se representa igual que en signo-magnitud .- Un número negativo se representa complementando a 1 el correspondiente número

positivo. Con n bits pueden representarse todos los números enteros comprendidos entre- (2n-1 - 1) y + (2n-1 - 1) . En particular,

La representación en complemento a 2 sigue el siguiente convenio :- Un número positivo se representa como en los casos anteriores .- Un número negativo se representa mediante el complemento a 2 del correspondiente

número positivo . Con n bits pueden representarse los 2 n números comprendidos entre - 2n-1

Problema 15.- Se dispone de palabras de 10 bits. Sobre ellas se escriben números fraccio-narios en punto fijo dedicando 3 bits a la parte fraccionaria . Represente los siguientes núme-ros en las notaciones signo-magnitud, complemento a 1 y complemento a 2, en los dos casossiguientes: a) Redondeando el valor; b) Truncando el valor .Nota: Para los números negativos, obtenga primero el valor de la magnitud y, después, apli-que la notación .

1) + 27 .625 = 0011011 . 101(2, en este primer caso, no es necesario redondear ni truncarla parte fraccionaria pues sólo hay tres dígitos en la parte fraccionaria del número exacto . Portanto, la representación con 10 bits (7 para la parte entera y 3 para la fraccionaria) sería :

010111110 1

a)+122=01111010 -122=11111010b) + 64 = 01000000 - 64 = 11000000c)+15=01111 -15=11111d)+37=0100101 -37=1100101

y + (2n- -1) . En nuestro caso,a) + 122 = 01111010 - 122 = 10000110b) + 64 = 01000000 - 64 = 1000000c)+15=01111 -15=10001d)+37=0100101 -37=1011011

a) + 122 = 01111010 - 122 = 10000101b) + 64 = 01000000 - 64 = 10111111c)+15=01111 -15=10000d)+37=0100101 -37=1011010

1)+27.625 3)+33.3 5)+45.67 7)+45.72)-27.625

Solución P15 .

4)-33.3 6)-45.67 8)-45.7

Page 21: Electronica digital problemas_de_circuitos_y_sistemas_digitales

14 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

2) - 27 .625 = 1011011 .101 S-m = 1100100.010c.,1 = 1100100 -011,., 2-3) + 33.3 = 0100001 .0100 . . . truncando en 3 bits para la parte fraccionaria : 0100001 .010,

redondeando se obtiene el mismo valor ya que el valor exacto en el bit b-4 es 0 .

4) - 33.3 = 1100001 .01 Os-n] = 1011110 .101 101,. a 1 = 1011110: 110, . a 2-5) + 45.67 = 0101101 .10101 . . . truncando en 3 bits para la parte fraccionaria :

0101101 .101, redondeando : 0101101 .110 .6) - 45 .67 = 1101101 .101 S _m = 1010010.010c . a 1 = 1010010.011c . a 2 (truncando) .

-45 .67 = 1101101 .110 s _m = 1010010.001, . a 1 = 1010010-010, .a2 (redondeando) .

7) + 45 .7 = 0101101 .1011 truncando en 3 bits para la parte fraccionaria : 0101101 .101

y redondeando: 0101101 .110 .

8) - 45 .7 = 1101101 .1 l OS-n1 = 1010010.001, . a 1 = 1010010.010, . a 2 (truncando) .

- 45 .7 = 1101101 .1 l OS-n1 = 1010010.001c . a 1 = 1010010.01 Oc. a 2 (redondeando) .

Problema 16.- Se dispone de 30 bits para escribir números en notación exponencial . De ellosse destinan 21 a la mantisa y 9 al exponente . Mantisa y exponente se escriben en notaciónsigno-magnitud.

a) Determine los rangos de valores decimales que se pueden escribir .b) Represente en BCD los siguientes números :

1. Velocidad de la luz en mis (3x10 8).2. Carga del electrón en culombios (- 1,602x10 -19) .3. Masa del electrón en kilogramos (9,109x10 -31) .

4. Aceleración de la gravedad en mis 2 (9,807) .5. Cero.6. Infinito .

Solución P16 .- En notación exponencial los números se expresan en la forma: M = m x be (m

mantisa, b base, e exponente) . En nuestro caso, hay que representar las cantidades pedidas en

BCD . Por tanto la base es decimal . Cada dígito BCD es codificado por 4 bits . Disponemos de

21 bits para la mantisa de los cuales uno es para el signo, los otros 20 bits nos permiten alma-

cenar 5 dígitos BCD . En cuanto a la parte fraccionaria, tenemos 9 bits, uno para el signo y 8

para dos dígitos BCD. Por tanto, el espacio disponible se distribuye de la siguiente forma :

mantisa

exponente

Sm

Se

Utilizaremos normalización fraccionaria, es decir, el punto decimal se encuentra a la iz-

quierda del primer dígito representado y ese primer dígito ha de ser no nulo .a) El rango de valores positivos que se puede representar viene dado por el menor nú-

mero representable : mantisa + 10000 y exponente - 99 que corresponde al 0.1 x 10-99 , y el

mayor representable : mantisa + 99999 y exponente + 99 que corresponde al 0 .99999 x 1099

Por tanto el rango cubierto es [0 .1 x 10-99 , 0.99999 x 1099] .

En cuanto al rango de valores negativos, será [- 0.99999 x 1099, - 0.1 X 10-99 ]

Page 22: Electronica digital problemas_de_circuitos_y_sistemas_digitales

0011100001000010000 0000

mantisa

2) - 1 .602 x 10-19 , normalizado - - 0.1602 x 10-18 , los 30 bits serán :

REPRESENTACIÓN Y CODIFICACIÓN BINARIA 15

b) Las cantidades propuestas quedan :1) 3 x 108 , normalizado -* 0 .3 x 109 , los 30 bits serán :

1 0001101101000010010_ 0000

3) 9 .109 x 10-31 , normalizado -4 0.9109 x 10-30, los 30 bits serán :

01100110001100001100110000

0 1001 1000 000110111 0000

5) Por convenio, cero, es el único número con el primer dígito de la mantisa a 0 . (Nor-malmente se ponen todos los dígitos de la mantisa y el exponente a 0, pero bastaría sólo confijar a cero el primer dígito de la mantisa) .

xl00001xxxxlxxxxlxxxxlxxxx

6) Infinito. Con signo positivo, por convenio viene dado por el mayor número represen-table . Con signo negativo, será el menor representable :

+ infinito

- infinito

10011100111001 1001 10011

1001110011100111001110011

mantisa

010000 1001

exponente

1 1100011 1000

0011

4) 9.807, normalizado -* 0.9807 x 10 1 , los 30 bits serán :

0000

000010001

xxxx1xlxxxx

011001 1001

101100111001

exponente

Problema 17.- Represente el número (+ 31.5) 10 con un coeficiente entero normalizado de 13bits y un exponente de 7 bits como :

a) Un número binario (asuma base 2) .b) Un número octal binario codificado (asuma base 8) .c) Un número hexadecimal binario codificado (asuma base 16) .

Solución P17 .a) 31 .5 ( 10 = 11111 .1(2 pero hemos de escribirlo en forma exponencial de manera que la

mantisa tenga 13 bits (incluido el bit de signo) y el exponente 7 bits (incluido bit de signo) :31 .5(10 = 0111111000000 x 2_7(2

Entonces la mantisa, de 13 bits, es : 0 1111110000000 y el exponente, de 7 bits, es :1000111 .

Page 23: Electronica digital problemas_de_circuitos_y_sistemas_digitales

16 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) 31 .5(10 = 37.4 (8 , también hemos de escribirlo en forma exponencial de manera que lamantisa tenga 13 bits (incluido el bit de signo) y el exponente 7 bits (incluido bit de signo) . Sin

embargo, en este caso se trata de dígitos octales, y cada dígito octal se codifica mediante tres

bits. Por tanto, 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 octales (+ el bit

de signo hacen un total de 7 bits) . Entonces :

31 .5(10 = 3740 x8-2(8,

con lo que la mantisa quedaría : 0 011 111 100 000 y el exponen-

te, de 7 bits, es 1 000 010 .c) 31 .5(10 = 1F.8(16 , en este caso la normalización ha de realizarse teniendo en cuenta

que un dígito hexadecimal se codifica con 4 bits . La mantisa, por tanto, ha de tener 4 dígitos

hexadecimales (12 bits) .31 .5 (10 = 1F8 x 16 -1 , por tanto, la mantisa será : 0 0001 1111 1000, y el exponente

quedará: 1 00 0001 .

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 18.- Represente los siguientes números decimales en base 2 y compruebe el re-sultado: a) 17,, b) 94 .

Solución P18 .a) 17(10 = 10001(2 -b) 94(10 = 1011110(2 .

Problema 19.- Pase los siguientes códigos hexadecimales a código binario, octal y BCD: a)$F2.85; b) $B02.A; c) $25.FA; d) $71.02.

Solución P19 .- El código BCD corresponde a la representación binaria de un número decimal .

Esta se obtiene asociando a cada dígito decimal su representación binaria de 4 bits . Para pasar

un número desde una determinada base a BCD, deberá obtenerse en primer lugar el número enbase 10, y después hacer la conversión antes indicada .

a) $F2.B5 = 1111 0010.1011 0101(2 = 011 110 010 .101 101 010(2 = 362.552( 8 . Para

representarlo en BCD pasamos a base 10 :

$F2.B5 = F x 16 + 2 x 160 + 11 x 16 -1 + 5 x 16 -2 = 242.70(10 _3 0010 0100 0010.0111 (BCD) •Procedemos de igual forma con el resto de los casos :

b) $B02.A = 1011 0000 0010.1010(2 = 5402.5 (8 = 2818 .625 (10

d) $71 .02 = 0111000 1 .0000 0010(2 = 161 .004(8 = 113 .007(10 =

= 000 1000 100 11 .0000 0000 0111 (BCD) •

= 0010 1000 0001 1000.0110 0010 0101 (BCD) .

c) $25 .FA = 0010 0101 .1111 1010(2 = 45 .764 (8 = 37 .977(10

= 0011 0111 .1001 0111 0111 (BCD) •

Page 24: Electronica digital problemas_de_circuitos_y_sistemas_digitales

REPRESENTACIÓN Y CODIFICACIÓN BINARIA 17

Problema 20.- Represente el número decimal 8620 (a) en BCD, (b) en código exceso 3,(c) en código 2, 4, 2, 1 y (d) como número binario .

Solución P20 .a) 8620(10 3 1000 0110 0010 0000(BCp) .b) 8620 (10 -3 1011 1001 0101 001 1(exceso-3) •c) El código 2,4,2,1 es un código pesado de 4 bits cuyos pesos son precisamente 2,4,2,1 .

Entonces, 8620(10 -3 1110 1100 0010 0000d) 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, desde base 16 .8620(10 -3 21AC(16 -* 0010 0001 1010 1100 (2 -* 10000 110 10 1100(2 .

Problema 21 .- Un código binario usa 10 bits para representar cada uno de los diez dígitosdecimales. A cada dígito le asigna un código de nueve ceros y un uno . El código binario parael número 6, por ejemplo, es 0001000000. Determine el código binario para los números de-cimales restantes .

Solución P21.- Se trata del código "1-hot", también llamado "1-out-of-n" . En este caso n = 10 .

dígitodecimal

Pesos :2421

0 00001 00012 00103 00114 01005 10116 11007 11018 11109 1111

dígito bgb8b 7b6b5b4b3b2b lbo

0 00000000011 00000000102 00000001003 00000010004 00000100005 00001000006 00010000007 00100000008 01000000009 1000000000

Page 25: Electronica digital problemas_de_circuitos_y_sistemas_digitales

18 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 22.- Obtenga un código binario pesado para los dígitos de la base 12 usando lospesos 5421 .

Solución P22.

Problema 23.- Determine el rango de valores numéricos que pueden escribirse en palabrasde 8, 16 y 32 bits, en las diferentes notaciones de números enteros con signo .

Solución P23.- Con n bits se representan los siguientes rangos :- Signo-magnitud : [- (2n-1 - 1), + (2 n-1 - 1)]- Complemento a 1 : [- (2n-1 - 1), + (2 n-1 - 1)]- Complemento a 2 : [- 2 n-1 , + (2n-1 - 1)]

Entonces para los valores de n propuestos :

Problema 24.- Un registro de 30 bits almacena un número decimal en punto flotante repre-sentado en BCD. Los coeficientes ocupan 21 bits del registro y se asume como un entero nor-malizado. Los números en el coeficiente y el exponente se asumen representados en formade signo-magnitud. ¿ Cuáles son las cantidades mayores y menores que pueden ser acomo-dadas excluyendo el cero?. Repita para representación binaria, con base 2, si se representacon fracción normalizada .

Solución P24 .BCD normalizado entero,

- Cantidad mayor positiva : 99999 x 10 99

-Cantidad menor positiva : 10000 x 10-99 = 10-95

Base 2 fracción normalizada,11111111 =

255.- Cantidad mayor positiva : 0.111 . ..111 x 2

(1 -2-21) x 2- Cantidad menor positiva : 0.100 . ..000x2-11111111 = 2-1 x2-255 =2-256

n2 de bits signo-magnitud ycomplemento a 1

complemento a 2

8 [- 127,+ 127] [- 128,+ 127]16 [- 32767, + 32767] [- 32768, + 32767]32 [- (231- 1) + (2

31- 1 )] 1-231,+ (231- 1)]

dígito 5421

dígito 5421

0 0000

6 10011 0001

7 10102 0010

8 10113 0011

9 11004 0100

A 11015 1000

B 1110

Page 26: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 esde forma matemática, mediante expresiones y funciones de conmutación . Con ello, además, sefacilita el desarrollo de métodos más o menos sistemáticos a la hora de abordar las tareas deanálisis o diseño de circuitos . Es objetivo de este Capítulo familiarizar al lector con los con-ceptos relacionados con el álgebra de conmutación, 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 .

ÁLGEBRA DE CONMUTACIÓN

El álgebra de conmutación es un sistema matemático compuesto por un conjunto de dos ele-mentos: B = {0, 11, y dos operaciones OR (+) y AND ( •) definidas en B de la siguiente forma :

OR AND

El álgebra de conmutación cumple los postulados del álgebra de Boole . De ahí que po-damos decir que la primera es un caso particular de la segunda . Los postulados del álgebra deBoole son los siguientes :

P1 . Ley de identidad : Existen elementos identidad (0 para la operación "+" y 1 para laoperación " ") de forma que para cualquier elemento x, se cumple :

x+0=x

x • 1=*P2. Ley conmutativa: Para cualesquiera dos elementos x e y, se cumple :

x+y=y+x

x .y=y .xP3 . Ley distributiva : Dados tres elementos x, y, z se cumple :

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

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

19

0 1 0 10 0 1 0 0 01 1 1 1 0 1

Page 27: Electronica digital problemas_de_circuitos_y_sistemas_digitales

20 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P4. Ley del complemento: Para todo elemento x existe un elemento x tal que:x+x= 1

x • x=0A partir de estos postulados es posible probar una serie de propiedades de interés . Estas

propiedades, que aquí simplemente se enumeran, son demostradas en el problema 1 para elcaso general del álgebra de Boole y probadas en el problema 2 para el álgebra de conmutación .

TI . Ley de idempotencia :

x + x = x

x • x = xT2. Ley de unicidad del complemento : el elemento x del postulado cuarto es único .T3. Ley de los elementos dominantes :

x + 1 = 1

x • 0 = 0

T4. Ley involutiva :

(x) = xT5 . Ley de absorción : x + x • y = x

x • (x + y) = xT6 . Ley del consenso : x + x • y = x + y x • (x + y) = x • yT7. Ley asociativa :

x • (y • z) _ (x • y) • z

x + (y + z) = (x + y) + zT8. Ley de DeMorgan :

xy=x+y

x +y=x •yT9. Ley de De Morgan generalizada :

x y z . .. = x + y + z + . . .x + y + z . ..= x •y •z • . . .

T10. Ley del consenso generalizado :

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

FUNCIONES DE CONMUTACIÓN

Son funciones que se definen sobre el conjunto B = (0, 1 } del álgebra de conmutación . Estric-tamente se definen como :

f: Bx . .. xBxB = Bn -4 B .Así una función de n variables asigna un valor o imagen de B (0 ó 1) a cada punto del

espacio B' : (x 1 ,x2 , . . .,x,). Por ejemplo, una función de tres variables : f(x, y, z) se puede definirde la siguiente forma: f(0,0,0) = 0, f(0,0,1) = 1, f(0,1,0) = 0, f(0,1,1) = 1, f(1,0,0) = 0,f(1,0,1) = 0, f(1,1,0) = 1, f (1,1,1) = 1 . A veces no todas las combinaciones de las variables tie-nen imagen, decimos entonces que la función es incompleta o que está incompletamente espe-cificada. Cuando esto sucede, por ejemplo, en la combinación (x 0,Y0,z0) lo simbolizamos dela siguiente forma : f(x0,yo,z0) = d ó f(x 0,Y0,z0) = -, donde los símbolos "-" y "d" (don't care)son llamadas inespecificaciones o indeterminaciones .

REPRESENTACIÓN DE FUNCIONES

Existen diversos modos de representar las funciones de conmutación . Algunas formas utilizantablas o mapas (modos gráficos) . Otras, consisten en expresiones algebraicas . A continuacióndaremos algunos detalles sobre las formas de representación utilizadas en este texto .

- Tablas de verdad.En una tabla se representan dos columnas. En la primera de ellas se escriben todas las

combinaciones de las variables de entrada en orden binario . En la otra columna se anota el va-lor que toma la función para cada combinación de las variables de entrada. A continuación semuestra un ejemplo para una función de tres variables . Nótese que para n variables se necesi-taría una tabla de 2n filas. Así, este tipo de representación es más interesante para funciones deun número reducido de variables .

Page 28: Electronica digital problemas_de_circuitos_y_sistemas_digitales

01

11

10

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 21

xyz

000001010011100101110111

- Mapa de Karnaugh .Es también una forma gráfica. Las variables de la función se dividen en dos grupos . Uno

de ellos se sitúa en el eje horizontal de una tabla y el otro en el eje vertical . Las combinacionesde cada grupo de variables se escriben en el orden del código Gray . Así, disponemos de unacuadrícula en cuyas celdas se anota el valor de la función para la combinación de las variablesasignada. La propiedad principal es que dos celdas geométricamente adyacentes también co-rresponden a códigos lógicos adyacentes . En el ejemplo se muestra un mapa para una funciónde 4 variables. En los problemas aparecen ejemplos para 5 variables . Al igual que en el casode las tablas de verdad, este tipo de representación aumenta su tamaño de forma potencial conel número de variables . Si el orden en que se escriben los valores de las variables es el binarionatural, el mapa es denominado binario .

abc

00

f

- Expresiones o fórmulas .En este caso se utiliza una expresión algebraica para representar las funciones . Se

combinan las variables con los operadores NOT I , AND2 y OR. Aquellas combinaciones de lasvariables que hagan 1 (ó 0) la expresión serán las combinaciones en que la función es 1 (ó 0) .

Algunos tipos de fórmulas son de un interés particular. Entre las más destacables estánlas formas canónicas y estándares . Tanto unas como otras tienen en común que son fórmulascompuestas únicamente por suma de productos, o bien, únicamente por producto de sumas . Enlas formas canónicas, además, se cumple que los productos son siempre mintérminos y las su-

1 NOT(x) = x.2 El símbolo del operador AND ( •) puede omitirse: a • b = a b .

f

11 100 0 0 0

1 1 0 0

0 0 1 1

0 1 1 1

Page 29: Electronica digital problemas_de_circuitos_y_sistemas_digitales

22 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

mas son maxtérminos . Tenemos así que las formas canónicas son sumas de mintérminos o pro-ducto de maxtérminos . A continuación se muestra para la función de cuatro variables del ejem-plo anterior expresiones en forma canónica y estándar tanto de sumas como de productos .

- Suma de mintérminos :f(a,b,c,d)=abcd+abcd+abcd+abcd+abcd+abcd+abcd=

=m1+m5+m6+m10+m11+m14+m15=E(1,5,6, 10, 11, 14, 15) .- Producto de maxtérminos :f(a,b,c,d)=(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)

(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)(a+b+c+d)== M0 M2 M3 M4 M7 M8 M9 M12 M13 = IT (0, 2, 3, 4, 7, 8, 9, 12, 13) .

- Suma de productos :f(a,b,c,d)=acd+ac+bcd.- Producto de sumas :f(a, b, c, d) = (c + d) (á + c) (a + c + d) (a + b + c) .

Mientras que las dos primeras formas son únicas para cada función (canónicas), las dossiguientes (es- tándares) no lo son, pero presentan una mayor simplicidad .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Demostración de teoremas e identidades .- Manejo de expresiones lógicas .- Representación mediante tablas, mapas y formas canónicas y estándares .

PROBLEMAS RESUELTOS

Problema 1 .- Demuestre los teoremas booleanos en base a la definición del álgebra .

Solución P1 .-Nos basaremos en los postulados del álgebra de Boole :

Los teoremas y sus demostraciones se relacionan a continuación .T1 . Idempotencia :

x+ x= x

x • x= xx+x=(x+x) • 1 =(x+x)(x+x)=x+xx=x+0=xx-x=x-x+0=x-x+x-x=x-(x+x)=x- 1 =x

Hemos aplicado los postulados PI, P4, P3, P4 y P1, en ese orden .T2. Unicidad del complemento :

da e B, 3' a' EB 1 a'= áSi existieran dos complementos, al y a2 se cumplirían las siguientes igualdades (por P4) :

a+a 1 =1 a+a 2 =1 a .a1=0

a .a2 =0Entonces :

al =al • 1=a1 •(a+a2),=a1 -a+ al •a2=0+a1 •a2=a •a2+a1 •a2==(a+al)-a2=1 •a2=a2

P1 . Identidad : x+ 0= x

x- 1= 1P2. Conmutativa :P3 . Distributiva :

x+ y= y+ x

x • y= y . Xx • (y + z) = x • y + x • zx + (y - z) = (x + y) - (x + z)

P4. Complemento : x+ x= 1

x • x= 0

Page 30: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 23

Se han aplicado los postulados P1, P4, P3, P2, P4, P3 y P1, en ese orden .T3. Elementos dominantes: x + 1= 1

x • 0= 0x+1=(x+1) •1 =(x +1) •(x+x)= x +1 • x_= x+x=1x •0 =x •0 +0=x •0 +x •x =x(O+x)=x •x =0

Los postulados utilizados son P1, P4, P3, P2, Pl y P4 .

T4. Lev involutiva: (x) = x

(x)=(x)+0=(x)+x • x=[(X)+x] • [(X)+x]=[(X)+x] • 1 =

=[(x)+x](x+x)=x+ [x •(x)]=x+0=xdonde se han aplicado PI, P4, P3, P4, P2, P4, P2, P3, P4 y P1 .T5 . Ley de absorción : x + x • y = x

x • (x + y) = xx+x •y =x •1 +x •y =x •( 1+y)=x •1 =xx •(x+y)=(x +0) •(x+y)=x +0 •y =x+0=x

En esta demostración hemos usado PI, P3, T3 y Pl en ese orden .T6. Ley del consenso : x + x • y = x + y

x • (x + y) = x • yx+ x •y =(x+x) •( x+y)=1 •(x+y)=x+yx •(x+y)=x •x +x •y =0+x •y =x •y

Los postulados en que nos hemos apoyado son P3, P4, P2 y P1 .

a+b •(a •c)=(a+b) •(a+ a •c)=(a+b) • a = aa •[b+(a+c)]=a •b +a •(a+c)=a .b+a=a

donde hemos utilizado P3 y T5 .L3. a=a+b •(c •a )

a=a •[b+(c+a)]por P2 y L2 .

Ahora demostremos la ley asociativa :

= z • (x • y) = (x • y) • z

(por LI, L2 y finalmente P2) .Luego, hemos probado x • (y • z) = (x • y) • zPor otra parte,x+(y+z)=x [z+(x+y)]+(y •[z+(x+y)]+z • [z + (x + y)]) = (porL2, L3 y LI)

= x • [z + (x + y)] + (y + z) • [z + (x + y)] = (por P3)_ [x + (y + z)] • [z + (x + y)] = (aquí también hemos aplicado P3)= [z + (x + y)] • [x + (y + z)] = (esto, por P2)

x • (y • z) = [x + z • (x • y)] • ([y + z • (x • y)] • [z + z • (x • y)]) _=[x+z .(x .y)] .(y •z +z .(x •y))=

(porP3)(por L2, L3 y L1)

= x= z= [z= z

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

(x • y) =(y z) =

(aquí también hemos aplicado P3)(esto, por P2)

+ x • (y • z)] • [x • y + x (y • z)] =

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

(por L3)= z • [x + x • (y • z)] [y + x • (y • z)] =

(porP3)

T7. Lev asociativa :

x • (y • z) = (x •

y) • z x + (y + z) =previamente tres lemas :

(x + y) + zPara demostrarla es necesario demostrar

L1 . a = a + a • (b • c) a = a • [a + (b + c)] (ambos por T5)L2. a = a + b • (a • c) a = a • [b + (a + c)] cuya demostración es :

Page 31: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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)]= (porL3)= z + x • [x + (y + z)] + y • [x + (y + z)] =

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

(por LI, L2 y finalmente P2) .Con lo que queda probado que x + (y + z) _ (x + y) + z .T8. Ley de DeMorgan :

x y = x + y

x+y=x .yLa base de la demostración es que como el complemento es único y cumple el postulado

P4, entonces, si A + B = 1 y A • B = 0 es porque A = B, esto es :A=BOA+B=1 y A B=0.Sean A = x + y, B = x • y; demostremos que A = B . A +B=x+y+x •y =x+y+x=x+x+y=1+y=1 (T6, P2, P4 y TI) . A•B =(x+y) •x•y =x •x•y +y •x•y =0 •y +0 •x =0+0=0(P3,P2,P4,T3,T1).Sean A = x • y, B = x + y ; demostremos que A = B . A +B= x •y +x+y=y+x+y=x+y+y=x+1=1 (T5, P2, P4 y T3) . A•B =x •y•(x+y)=x •y•x +x •y•y =0 •y+x •0 =0+0=0(P3, P2, P4, T3, TI) .T9. Ley de De Morgan generalizada :xyz . . .=x+y+z+ . .x

x + y + z . . .=x •y•z . . .xyz . . .

=x(yz . ..)=x+yz . . .=x+y(z . . .)=x+y+z . ..==x+y+z( . . .)= . . .=x+y+z+ . . .x+y+z . . .=x+(y+z+ . . .)=x • y + z . ..=x • y+(z . ..)=x • y • z+ . ..==x •y•z +( . ..)= . ..=x •y•z• . . .

En las dos demostraciones se utilizan los teoremas T7 y T8 alternativamente .T10. Lev del consenso generalizado :x •y +x •z +y •z =x .y+x •z

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

Problema 2.- Demuestre los teoremas booleanos en el álgebra de conmutación comproban-do su validez mediante tablas de verdad .

Solución P2 .- A partir de la definición de las operaciones AND ( •)

y OR (+) en el álgebra de

conmutación, comprobaremos :- Idempotencia :

x = x + x,

x = x • x;- Elementos dominantes :

x + 1 = 1, x • 0 = 0 ;

x •y +x •z +y •z =x •y +x •z +y •z•1 = (P1)=x •y +x •z +y •z•(x+x)= (P4)=x .y+x •z +y •z•x +y •z•x = (P3)=x .y+x •y•z +x •z +x .z •y = (P2)=x .y+x •z (T5)

(x+y) •(x+z) • (y+z)=(x+y) •(x+z) •(y+z+0)= (P1)=(x+y) •(x+z) •(y+z+x • x) = (P4)=(x+y) •(x+z) •(y+z+x) •(y+z+ x)= (P3)=(x+y) •(x+y+z) •(x+z) •(x+z+y)= (P2)= (x + y) • (x + z) (T5)

Page 32: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 25

- Involutiva :

x = x ;- Absorción :

x + x y = x,

x (x + y) = x ;- Consenso :

x + x y = x + y,

x (x + y) = x y ;- Asociativa:

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

(x y) z = x (y z) ;-LeyDeDeMorgan: xy=x+y,

x+y=xy .En las dos tablas siguientes podemos ver la comprobación de todos los teoremas excepto

el de la ley asociativa que se prueba a continuación .

La comprobación de la ley asociativa :

Problema 3.-Para elementos del álgebra de conmutación, pruebe la validez de :a) a b=a c- b=c;

b)a+b=a+c-+b=c ;c) a •b =a cya+b=a+c->b=c.

Solución P3 .a) No se cumple, por ejemplo, para a = 0, b = 1, c = 0 .b) No se cumple, por ejemplo, para a = 1, b = 1, c = 0 .c) Sí se cumple . Se puede comprobar que para cualquier combinación de valores se

cumple. También se puede demostrar algebraicamente :

x y x x+x xx x+1 x0 x p(donde p=x) x + x y x(x+y)

0 0 0 0 0 1 0 1 0 0 00

1 0 0 0 1 0 1 0 0 01

0 1 1 1 1 0 0 1 1 11

1 1 1 1 1 0 0 1 1 1

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

0 0 0 0 0 0 1 1 1 10

1 1 1 0 0 1 1 0 01

0 1 1 0 0 1 1 0 01

1 1 1 1 1 0 0 0 0

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

000 0 0 0 0 0 0 0 0001 0 1 1 1 0 0 0 0010 1 1 1 1 0 0 0 0011 1 1 1 1 0 0 1 0100 1 1 0 1 0 0 0 0101 1 1 1 1 0 0 0 0110 1 1 1 1 1 0 0 0111 1 1 1 1 1 1 1 1

Page 33: Electronica digital problemas_de_circuitos_y_sistemas_digitales

26 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b=b+a •b =b+a •c =(b+a) •(b+c)=(a+b) •(b+c)=(a+c) •(b+c)==a •b +c=a •c +c=c .Se han aplicado la ley del consenso, las propiedades distributiva y conmutativa, y las

igualdades a • b= a • c y a+ b= a+ c .

Problema 4 .- Compruebe las siguientes igualdades:

a) x y+ x z + y z = x y+ x z (ley del consenso generalizado)

b)x(x+y)+z+zy=y+zc)xy+xyz=xy+z

d)w+wx+yz=w(y+z)

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

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

Solución P4 .a)xy+xz+yz=xy+xz+(x+x)yz=xy+xz+xyz+xyz==xy+xyz+xz+xzy=xy(1+z)+xz(1+y)=xy+xzdonde hemos aplicado P4, P3, P2, P3, T3 y P1b)x(x+y)+z+zy=xy+z+y=y+yx+z=y+zporT6,P2yT5c) x y + xyz = x y + z

(por la ley del consenso : u + u z = u + z donde u = x y)

d)w+wx+yz=w+yz=wyz=w(y+z) porT5yT8

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

=w+xy+xzw=w+xy+xz

por T8yT6fl(w+x+y)(w+x+y)(y+ z) (w+z)= [(w+y)+xx](y+z)(w+z)==(w+y)(y+z)(w+z)=(w+y) (y+z)

por P2,P3,P4,PlyT10 .

Problema 5.- Reduzca las siguientes expresiones del álgebra de Boole al número de literalessolicitado al lado de cada una de ellas .

a)abc+abc+abc+abc+abc

(a cinco literales)

b) b c + a c + a b+ b c d

(a cuatro literales)

c)[cd+a]+a+cd+ab

(a tres literales)

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

(a cuatro literales)

Solución P5.a) abc+abc+abc+abc+abc==abc+abc+abc+abc+abc+ábc=

(ya que x + x = x)=abc+abc+abc+abc+abc+ábc=

(por la propiedad conmutativa)=ab(c+c)+ab(c+c)+(a+a)b c=

Page 34: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 27

=ab 1 +áb 1+ 1 bc=

(ya que x+x= 1)= a b + a b + b c = b (a + c) + a b

(ya quex • 1=1 •x =x) .b) b c + a c + a b + b c d = b c + b c d + a c + a b =(por la propiedad conmutativa)=bc+ac+ab=bc+ac+ab(c+c)=

(ya que x + x y = x)= b c+ a c+ a b c+ a b c= (por la propiedad distributiva)=bc(1+a)+ac(l+b)==bc+ac

(ya que 1 +x= 1) .c) aplicando la ley de De Morgan a la expresión, obtenemos :cdá + a + c d + a b =cdá + a + a b + c d =

(por la propiedad conmutativa)= c d + a + c d = (ya que x + x y = x) .=a+cd (yaquex+x=x)d)(a+c+d)(a+c+d)(a+c+d)(a+b)==(a+c+d)(a+c+d)(a+c+d)(a+c+d)(a+b)=

(yaquex=xx)= (a + c) (a + d) (a + b) = a + b c d

(por la propiedad distributiva) .

Problema 6.- Verifique si se cumplen o no las siguientes igualdades :a)M(a,b,c)+M(d,e,f)=M(a+d,b+e,c+f) .b) M (a, b, c) • M (d, e, f) = M (a • d, b • e, c • f) .c) M (a, b, M (c, d, e)) = M (M(a, b, c), d, M(a, b, e)].donde M (x y, z) es la función mayoría de x y, z: M (x, y, z) = x y + x z + y z.

Solución P6 .a) No se cumple pues para a = 0, b = 0, c = 1, d = 0, e = 1 y f = 0 se tiene que

M(a, b, c) + M(d, e, f) = M(0, 0, 1) + M (0, 1, 0) = 0 + 0 = 0 y, sin embargo :M(a+d,b+e,c+f)=M(0, 1, 1)=1 .

b) No se cumple, pues para a = 0, b = 1,c = 1, d = 1, e = 0 y f = 1 se tiene queM(a, b, c) M (d, e, f) = M(0, 1, 1) • M(1, 0, 1) = 1 • 1 = 1 mientras queM(a •d,b e,c •f)=M(0,0,1)=0

c) Sí se cumple pues M[a, b, M(c, d, e)] = M[a, b, c d + c e + d e] _=ab+a(cd+ce+de)+b(cd+ce+de)=ab+acd+ace+ade+bcd+bce+bdey, por la otra parte :

M[M(a, b, c), d, M(a, b, e)] = M[a b + a c + b c, d, a b + a e + b e]==(ab+ac+bc)d+(ab+ac+bc)(ab+ae+b e)+d (ab+ae+b e)==abd+acd+bcd+ab+abe+abc+ace+ a b c e+ abce+bce+abd+ade+bde== a b+ a c d+ b c d+ a c e+ b c e + a d e+ b d e, luego ambas expresiones son iguales .

Problema 7.- Obtenga la tabla de verdad de las siguientes expresiones :

a)f=wyz+xy+wy) b) f= (w+x+y) (x+z) (w+x) .

Page 35: Electronica digital problemas_de_circuitos_y_sistemas_digitales

28 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P7 .a) Si f = w y z + x y + w y, entonces es fácil deducir cuándo f = 1 :

/wyz=1 ==> w=1,y=1,z=1f=1 f=> xy=1 ~x=1,y=1

\wy=1~w=1,y=1

con ello, la tabla de verdad es :

wxyz

000000010010001101000101•

110•

111

wxyz

000000010010001 101000101•

1100111

f

wxyz

0 1000• 1001• 1010• 1011• 1100•

11011

11101

1111

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

/w+x+y=O==> w=0,x=0,y=0f=0e-> x+z=0~ x=0,z=0

\w+x=0~ w=0,x=0

con ello, la tabla de verdad es :

f

wxyz

• 10000 10010 1010•

10111

11001

11011

11101

1111

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

f

f

Page 36: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P8.

a) f (a, b, c, d) = E (5, 6, 7, 12) + d(1, 3, 8, 10)

00

01

11

10

c00

01

11

10

abc

00

01

11

10

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 29

01

f

f

f

c) f (a, b, c, d, e) = E (1, 2, 3, 8, 12, 23) + d(17)

cd

11

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

11

10

10

Problema 9.- Obtenga las formas normales en suma de productos y producto de sumas delas siguientes expresiones :

a)f=(ab+ac)(ab)) b)f=xy(v+w)[(x+y) vi .

c)f=x+yz) d)f=(a+b+c)(d+a)+bc+ a c .

0 0 1 1 0 0 0 0

1 0 0 0 0 0 0 d

1 0 0 0 0 0 1 0

1 0 0 0 0 0 0 0

d 1 1 d

d 1 0 d

1 1 0 1

d 1 0 0

0 0 1 d

4 d 0 o

d 1 0 0

0 1 0 4

Page 37: Electronica digital problemas_de_circuitos_y_sistemas_digitales

30 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P9.a) (a b + a c) (a b) = a b

(por la ley del consenso)Con esto tenemos una forma en suma de productos, donde el producto p = a b es el úni-

co. También tenemos un producto de sumas, donde los términos suma son dos : s1 = a y s 2 = b .b) x y (v + w) [(x + y) v] = x y (v + w) (x + y) v = v x y (x + y) = v x y (ley de absorción) .Con esto tenemos una forma en suma de productos, donde el producto p = v x y es único .

También tenemos un producto de sumas, donde los términos suma son tres : SI = v, s 2 = x,s 3 y .

c) x + yz, es suma de dos productos, pl = X, P2 = y z. Por otra parte, aplicando la propie-dad distributiva : x + yz = (x + y) (x + z) . Con ello tenemos una expresión en producto de sumas :s1 =x+y, s 2 =x+z.

d)f=(a+b+ c) (d + a) + b c + a cPara 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) .Obtenemos por tanto un producto de tres términos suma: s1 = a + b + c, s2 = a + b + d

y s3=a+c+d.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+bc+bd+c d .Son, por tanto, cuatro términos producto : pl = a, P2 = b c, p 3 = b d, P4 = c d .

Problema 10.- Determine y exprese en forma de mintérminos y maxtérminos las funcionesf, + f2 y f, - f2, siendo :

f, = II (1, 2, 3, 5, 6, 7, 13, 14, 15) ;

f2 = E (0, 4, 8, 9, 10, 14, 15)Repetir para f, O f2 y la equivalencia : f, O f2.

Solución P10.- Para expresar la función f 1 + f2 como suma de mintérminos hay que tener enconsideración que todos los mintérminos de f 1 y todos los mintérminos de f2 son mintérminosde f1 + f2 ya que 1 + x = 1 . Entonces :

fl + f2 = E (0, 4, 8, 9, 10, 11, 12, 14, 15), y por exclusión : f1 + f2 = U (1, 2, 3, 5, 6, 7, 13) .Para expresar la función f 1 . f2 , 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 def1 y todos los de f2 son maxtérminos de f 1 • f2 . Entonces :

fl • f2 =11(1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15) =E (0, 4, 8, 9, 10) .En cuanto a la función f 1 O f2 , para que sea 1 es preciso que f 1 y f2 sean distintas . Por

tanto, los mintérminos de f 1 O f2 son los mintérminos de f 1 que no lo son de f2 y los de f2 queno lo son de f1 :

f1 f2 = E (11, 12, 14, 15) = fI (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13) .

Page 38: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 31

Finalmente, como f 1 0 f2 es la función negada de f 1 O+ f2 , tendremos :f 1 O+ f2 = fI (11, 12, 14, 15) = E (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13) .

Problema 11 .- Sea el circuito combinacional con cuatro entradas A, B, C y D, tres salidas in-termedias P, Q y R y dos salidas T 1 y T2, como se muestra en la figura. Sólo Q y R pueden

tener inespecificaciones .

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

a) Suponiendo que tanto G 1 como G2 son puertas AND, obtenga el mapa de la funciónPmin (es decir, la función P que tiene el menor número de mintérminos) que permite obtenerT 1 y T2 .

Obtener los mapas para Q y R correspondientes al Pmin anterior. Indique, explícita-mente, las posiciones de las inespecificaciones .

Suponiendo que G 1 y G2 son puertas OR obtenga el mayor Pmax (la función P conmayor número de mintérminos) y sus mapas correspondientes para a y R.

¿Pueden obtenerse Q, P y R si G 1 es una puerta AND y G2 una puerta OR? ¿ Y si G 1es una puerta OR y G2 una puerta AND?

Solución Pll .a) G 1 y G2 son puertas AND .En este caso T 1 = Q . P y T2 = R • P, por tanto, Q y P tienen que tener todos los mintér-

minos de T 1 (o sea: 0, 1, 3, 4, 5, 7, 11, 15), y R y P tienen que tener todos los mintérminos deT2 ( o sea : 2, 3, 6, 7, 11, 15) . Entonces P como mínimo tiene que contener todos esos mintér-minos, luego : Pmin = E (0, 1, 2, 3, 4, 5, 6, 7, 11, 15) .

b) La función Q tiene al menos los mintérminos de T 1 ; R tiene los de T2 . Ahora bien, Qtiene ceros en las celdas en que Pmin vale 1 pero T 1 no es 1 ; por ejemplo, 2 es mintérmino dePmin pero no lo es de T 1 , por lo que 2 es un 0 de Q. Lo mismo ocurre para R con respecto a T2Y Pmin • Por último, en las celdas donde T 1 vale 0 y Pmin también es 0, Q está inespecificada ;algo similar ocurre para R respecto a T2 y Pmin . Por tanto :

Q = E (0, 1, 3, 4, 5, 7, 11, 15) + d (8, 9, 10, 12, 13, 14) .R = E (2, 3, 6, 7, 11, 15) + d (8, 9, 10, 12, 13, 14) .c) G 1 y G2 son puertas OR .En este caso T 1 = Q + P y T2 = R + P, por tanto donde T 1 sea cero también deben de

serlo forzosamente Q y P (o sea en 2, 6, 8, 9, 10, 12, 13, 14) y donde T2 lo sea deberán serlo

Page 39: Electronica digital problemas_de_circuitos_y_sistemas_digitales

32 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

también R y P (o sea en 0, 1, 4, 5, 8, 9, 10, 12, 13, 14) . Así, P tendrá como máximo losmintérminos que sean comunes a TI y T2 : Pmax = Y- (3, 7, 11, 15) .

Q y R contendrán los mintérminos que le faltan a P para completar los de T I y T2 :Q = E (0, 1, 4, 5) + d (3, 7, 11, 15) .R = E (2, 6) + d(3, 7, 11, 15) .Las celdas en que Q está inespecificada son aquellas en las que T I vale 1 y Pmax también

es 1 . Algo similar ocurre para R respecto a T2 y Pmax •d) No es posible, ya que si G 1 es una AND y G2 una OR: T I = Q • P, T 2 = R + P . En-

tonces, en aquellos valores en los que T I es 1 y T 2 es 0 (como por ejemplo en 4) sería imposibleencontrar un valor adecuado para la función P . Si P valiese 1 forzaría T2 = 1 y si valiese 0 for-zaría T I = 0) .

Si G 1 es una OR y G2 es una AND, tampoco es posible ya que T I = R + P y T2 = Q • P .Así, en aquellos puntos en que T I = 0 y T2 = 1 (como por ejemplo en 6) no se puede encontrarun valor adecuado para P.

PROBLEMAS CON SOLUCIÓN RESUMIDA

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

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

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

donde a 0 b= a O b .

Solución P13.-La operación XOR cumple la propiedad asociativa . Entonces :

(x 1 O+ . . . $ xi) 0 (xi+1 O+ . . .(9 xn ) = (x1 0 . . . O+ xi) O (xi+1 © . . . O+ xn) =

= xlm . . . mxi E) xi+l O+ . . . 0 xn

Page 40: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ÁLGEBRA Y FUNCIONES DE CONMUTACIÓN 33

Problema 14 .- Escriba las siguientes func iones como suma de mintérminos :a)f(a, b, c)=a+b+c .b) f (a, b, c) = (a + b) (b + c) .

c)f(a, b, c, d)=(ab+bcd)+acd.

Solución P14 .

Problema 15.- Exprese las siguientes funciones como producto de maxtérminos :a) f (a, b, c, d) = (a + c) d + b d.b) f (x, y, z) _ (x y + z) (y + x z) .

c)f(a,b,c)=(abc+abc))d) f (a, b, c) _ (a b + c (a + b)) (b + c) .

Solución P15 .a) f(a, b, c, d) =11(0, 2, 4, 6, 8, 10, 12, 13, 14) .b) f(x, y, z) =1-1(0, 1, 3, 4, 5, 6, 7) .c) f(a, b, c, d) =11(5, 6) .d) f(a, b, c) =11(0, 2, 4, 6) .

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

Solución P16.-Directamente de las tablas :f1 =xy+xy=y.f2=xy+xy=xODy.f3=xy+xy+xy=x+y=xy .

xy f,

xy f2

xy f3

00 1

00 0

00 101 0

01 1

01 110 1

10 1

10 111 0

11 0

11 0

a) f (a, b, c) = E (0, 1, 3, 4, 5, 6, 7) .b) f (a, b, c) = E (0, 2, 3, 4, 5, 6, 7) .c) f (a, b, c, d) = E (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 10, 11) .

Page 41: Electronica digital problemas_de_circuitos_y_sistemas_digitales

34 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

Solución P17 .f =xyz+xyz=yz .f2 =xyz+xyz+xyz+xyz=xy+yz+xyz .f3 =xyz+xyz=xy .f4 =x+y+z.f =x+zf6 =xyz+xyz+xyz+xyz=z .

Problema 18.- Interprete las siguientes expresiones lógicas considerando que el dato tienen bits. (Para ayudarse puede considerar un caso particular de n, por ejemplo: n = 4) .

a)z=xo©x1(D . .

.©x,,1) b)z=xn-1=x0 x1(D . . .(D Xn_2 .c) zk = xk+ 1 © Xk,

k = n - 2, . . ., 1, 0, con zn _ 1 = xn - 1

d) zk = zk+ 1 (D Xk,

k = n - 2, . . ., 1, 0, con zn _ 1= xn _ 1 .

e) zk = xk q) yk,

k = n - 1, n-2, . . . . 1,0donde yk = yk 1 + xk 1 , con k > 1, 2, . . ., n - 1 e yo = 0.

Solución P18 .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 . Por tanto, en este caso z es un detector de paridad .b) La función z forma parte de la palabra den bits dada por: x0 x 1 x2 . . . x n - 2 xi- 1 . En-

tonces, z es el bit de paridad par para x 0 x 1 x2 . . . xn _2 .

c) Si se particulariza paran = 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 .

d) Procediendo como en el apartado anterior se puede concluir que se trata de una con-version de código Gray a binario .

e) Si se considera el caso particular de n = 4 y se obtiene la tabla puede observarse que

z3-0 = Ca2(x3-0)

X y z f, f2 f3 f4 f5 f6

000 0 1 0 1 1 1001 1 0 0 1 0 0010 0 0 0 1 1 1011 0 1 0 0 0 0100 0 1 1 1 1 1101 1 1 1 1 1 0110 0 0 0 1 1 11 1 1 0 0 0 1 1 0

Page 42: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 3

ANÁLISIS DE CIRCUITOS COMBINACIONALES

Un circuito digital combinacional es aquel que implementa funciones de conmutación cuyassalidas en un instante, t, dependen sólo del valor de las entradas en ese mismo instante . El cir-cuito consta de puertas lógicas interconectadas entre sí sin que haya lazos de realimentación .Hay dos enfoques principales : si es conocido el circuito y se desea establecer cuál es la opera-ción que realiza, se trata del análisis, que es el aspecto que se trata en este Capítulo ; si se plan-tea el problema contrario, conocida la función hay que obtener el circuito, se trata del diseñoo síntesis, lo que se aborda en el Capítulo siguiente .

circuitocombinacional

z(t) = f(x(t))

ANÁLISIS DE CIRCUITOS

El objetivo principal del análisis de un circuito combinacional es, por tanto, obtener una repre-sentación de la función de conmutación que implementa . A este objetivo se le llama análisislógico del circuito . En algunos casos es posible, además, obtener una descripción verbal de laoperación del circuito (del tipo "hace la suma", "compara números", etc) . Además, inclusocuando es posible esta operación a partir de las tablas o expresiones lógicas es difícil salvo quese esté sobre aviso. En este texto no se hará el paso a la descripción verbal salvo que se indiqueexplícitamente en el enunciado (véase, p . ej ., el problema 4) .

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 . Otros aspectos que se deben considerar son :

- El coste del circuito . Una manera de medir el coste es a través del número de puertaslógicas y conexiones entre puertas del circuito .

- Un análisis de parámetros eléctricos . Se debe establecer la tecnología en la que se im-

35

Page 43: Electronica digital problemas_de_circuitos_y_sistemas_digitales

36 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

plementa el circuito y evaluar, en función de las características eléctricas de la misma, el ren-dimiento del circuito en cuanto a márgenes de ruido, fan-in y fan-out, potencia disipada, etc .

- Un análisis temporal . Este tipo de análisis consiste en, dado un patrón de entradas, de-terminar la forma de onda de las señales de salida considerando los retrasos de propagación delas puertas lógicas . El análisis temporal sirve para verificar si el circuito realiza correctamentela función de conmutación o si, por el contrario, existen fenómenos transitorios como porejemplo azares, 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 .

Este Capítulo está centrado en el análisis de circuitos a nivel de puertas lógicas . Los as-pectos que se tratan son los de análisis lógico, mostrando métodos generales válidos para cual-quier circuito e independientes del tipo de puerta, y métodos específicos para circuitos con sóloNAND o sólo NOR . Estos procedimientos son explicados en los problemas 1 y 3 respectiva-mente . Además, en este Capítulo también se incluyen algunos casos de análisis del coste delcircuito, medido en función del número de puertas y conexiones del circuito y de análisis tem-poral, analizando circuitos que presentan azares .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Análisis lógico según el procedimiento general .- Análisis lógico de circuitos sólo NAND (y sólo NOR) .- Análisis temporal .

PROBLEMAS RESUELTOS

Problema 1.- Analice a nivel lógico el siguiente circuito combinacional . Ponga también la fun-ción en forma de suma de productos o producto de sumas y realice el nuevo circuito a partirde estas expresiones .

1

z

Solución Pl .- El proceso de análisis de un circuito combinacional consiste en, a partir de uncircuito, obtener una expresión algebraica, o bien su tabla de verdad o mapa de Karnaugh . Paraello se puede proceder bien desde las entradas hasta las salidas o bien desde las salidas hastalas entradas .

Deben encontrarse expresiones para la salida de cada puerta en función de sus entradas :

Page 44: Electronica digital problemas_de_circuitos_y_sistemas_digitales

z

xl

x l

X2-

x3X2

z+

00

10

10

00

z

ANÁLISIS DE CIRCUITOS COMBINACIONALES 37

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

A partir de esta expresión puede obtenerse otra simplificada o la tabla de verdad o elmapa de Karnaugh, y un nuevo circuito :

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

00

01

11

10

3--

Problema 2.- Realice un análisis lógico del circuito representado en la figura . Obtenga las ex-

presiones en forma de suma de productos y producto de sumas . Liste los mintérminos y max-

términos correspondientes. Determine el coste .

x3

D--X1x2

>_1- f

Solución P2.- Comencemos determinando el coste del circuito . Este se calcula : 1 .- dando elnúmero de puertas del circuito ; 2 .- dando el número de entradas a puertas (conexiones) del cir-cuito y el número de salidas . Además, a veces se evalúa el "coste" temporal estableciendo losretrasos máximos y mínimos que experimentan las señales de entrada al propagarse hasta lassalidas. Para ello, lo más habitual es considerar una unidad de retraso por puerta . En este cir-cuito el coste es el siguiente :

Page 45: Electronica digital problemas_de_circuitos_y_sistemas_digitales

38 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Análisis lógico. Teniendo en cuenta la función lógica que realiza cada puerta, se obtienela siguiente expresión para f :

f = x 3 (x,x 2 ) + x 3 (x,x2 ) (x 3x2 ) +x1x2 = x 3 (x 2 +x,) +x3 (x2+x,) (X2 +X3) +x,x2

f=x 1x3 +x3x2 +x1x2x 3 +x 1 x2 =x1 x3 +x3x2 +x Ix2 =x3 (x2 +x 1 ) + x 1 x2

A partir de esta expresión se obtienen otras en forma sp y ps, el mapa de Karnaugh y unnuevo circuito que implementa la función :

fsp = X 3 (x ] x2 ) +x1x2 = x3 +x 1 x2 fps = (x 3 +x1 ) (x 3 +x 2 )

x 3

3

e

3-

Problema 3.-Analice la función que realiza el circuito, encontrando una expresión reducidaen dos niveles .

- fi

Solución P3.- Todas son puertas NAND, salvo la de salida f 1 ; llamando M a la entrada desco-

nocida de esa puerta, f 1 = e M .

Ahora, M y f2 pueden obtenerse por el método específico de circuitos con sólo puertasNAND. Este método consta de los siguientes pasos :

1 .- Hay que construir un árbol del circuito en el que los nodos representan a las puertas

coste

n° puertas 7

n° conexiones 16 entradas + 1 salida

retraso máximo 3 niveles de puertas

retraso mínimo 2 niveles de puertas

Page 46: Electronica digital problemas_de_circuitos_y_sistemas_digitales

f

ab

De aquí se tiene :

3

OR

ANÁLISIS DE CIRCUITOS COMBINACIONALES 39

y las ramas las conexiones . Las puertas se estratifican en niveles distintos comenzando por lapuerta de salida que da lugar al primer nivel del árbol . A partir de este nivel y en función delas conexiones del circuito se van situando el resto de puertas en niveles sucesivos hasta alcan-zar las señales de entrada .

2.- Por la equivalencia de dos niveles de puertas NAND con dos niveles AND-OR, seva a asociar a cada nivel de puertas del árbol la función AND o la OR alternando ambos tiposde función y comenzando por la función OR .

3.- Se obtendrá la función que realiza el circuito considerando sólo operaciones AND uOR. Hay que tener en cuenta que aquellas variables de entrada que estén conectadas a puertasque correspondan a un nivel OR deben complementarse .

A continuación se aplica este método al circuito .Se numeran las puertas de la forma que se muestra en la figura :

AND

f, = de + ¿ice + bce

f2 =ác+bc+fg

3

Se construye el árbol para cada salida :

d

OR

1

1e

3-

M

M=d+c(á+b)

f

- f1

f2=c(á+b)+fg

Page 47: Electronica digital problemas_de_circuitos_y_sistemas_digitales

40 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 4 .- Analice el circuito de la figura indicando verbalmente qué operación realiza .

Solución P4 .- Análisis de coste :

Análisis lógico :

Zps =

zsp = a2b 2 +a,b,a 2b2 +a,b,a 2b2

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

y Sp =a 2 b2 +a,b,a 2b2 +a,b,a 2 b 2

yps = (b, +b2) (a, +a 2) (b2+a2) (b2+a,) (b, +a2)

z (a 2a,b2b,) = E (4,8,9,12,13,14) = fl (0,1,2,3,5,6,7,10,11,15 )

y (a2a,b2b,) =Y- (1,2,3,6,7,11) = fI (0,4,5,8,9,10,12,13,14,15)

Si se representan ambas funciones (z e y) en un mapa binario ordenado en función dea2 a l y b2 b l , se obtiene :

b2b l

00

01

10

11

00 01 10 11

zy

coste

n° puertas 7

n° conexiones 16 entradas + 2 salidas

retraso máximo 4 niveles de puertas

retraso mínimo 2 niveles de puertas

00 10 10 10

01 00 10 10

01 01 00 10

01 01 01 00

_1

b2

a2 >_13--.

?1al

b - y

Page 48: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Por tanto, el circuito es un comparador de dos números binarios de dos bits cada uno,que distingue entre mayor, menor o igual .

Problema 5.- Analice la función que realiza el circuito, encontrando una expresión reducidaen dos niveles .

ee

ee

3--

d

3

6

ANÁLISIS DE CIRCUITOS COMBINACIONALES 41

Interpretando a2 a l como un número binario A y b 2 b l como B, las funciones puedenrepresentarse por la tabla :

zy1 00 001

D-- f

Solución P5.- El circuito está compuesto exclusivamente por puertas NOR, por lo que vamosa aplicar el método específico de análisis de sólo puertas NOR . Este método es el mismo queel utilizado en el problema anterior, sólo cambian dos aspectos :

1 .- El primer nivel de puertas es de tipo AND, por lo que la expresión que se obtendrápara f es del tipo producto de sumas de producto de sumas .

2.- Ahora son las variables de entrada que están conectadas a los niveles AND las quedeben complementarse .

Numerando a las puertas de la forma que se ve en la figura :

a-

73

O-

>1

O-

D-f

Page 49: Electronica digital problemas_de_circuitos_y_sistemas_digitales

42 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Se construye el árbol para la salida :

OR

AND

De aquí se tiene :

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

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

A

OR AND

C

D

a) Obtenga el mapa de F(A,B,C,D) .b) Considerando el retraso, determine la forma de onda de F si A=B=D= 1 y C cambia

periódicamente.c) Igual que b, si A=C=D= 1 y B cambia periódicamente .d) Igual que b, si B=D= 1 y A y C son como las representadas :

A

C

4

D

e) Discuta los resultados obtenidos en los apartados anteriores .

Solución P6.a) Vamos a obtener una expresión de F mediante análisis lógico . Nombraremos los nu-

dos internos del circuito como se muestra en la siguiente figura :

OR

D - F

AND

f

Page 50: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Analizando la función realizada por cada puerta, se tiene lo siguiente :

Con lo que el mapa de F queda :

u=BCv=u

CD

00

01

11

10

x=ABu

y=Dv

00

ANÁLISIS DE CIRCUITOS COMBINACIONALES 43

01 11 10

x

F = xy = ABC+DCB

F

D- F

y

b) Con A = B = D = 1, y C cambiando periódicamente, el diagrama temporal quedacomo se observa en la figura :

0 0 1 0

0 0 1 0

0 1 1 0

0 0 0 0

C

u=C

A

x=v=uf- 1-

y=v4-

A

F=xy-t

A

Page 51: Electronica digital problemas_de_circuitos_y_sistemas_digitales

44 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

c) Con A=C=D=1, y B cambiando periódicamente, el diagrama temporal queda como

se observa en la figura :

d) Con B=D=1, y A y C cambiando periódicamente, el diagrama temporal queda como

se observa en la figura :

C

u=C

v=u

x=Au

y=v

F=xy

e) En el caso b) : Las entradas pasan de ABCD=1101 a ABCD=1 111 periódicamente . En

ambos casos la función debe ser 1 . Sin embargo, ocurre un pulso de 0 en la salida F, lo que es

un azar estático .En el caso c) : ABCD pasan de 1011 a 1111 alternativamente. La función debe tomar los

siguientes valores según el mapa de Karnaugh : F(1011)=0 y F(1111)=1, la salida debería se-

guir los cambios de B con el retraso del circuito . Sin embargo, ocurre que la señal de salida

oscila (ver figura del apartado c) cuando B sube . Esto es un azar (se llama dinámico) .

B

u=B

v=u

y=v

x=Bu

F=xy

4-

Page 52: Electronica digital problemas_de_circuitos_y_sistemas_digitales

b)

=1- f

c)

y

=1D- f

ANÁLISIS DE CIRCUITOS COMBINACIONALES 45

En el caso d) : ABCD pasan de 1101 a 0101 (éste durante un tiempo A), de aquí a 0111,0111, 1111 (durante un tiempo A) y vuelven de nuevo a 1101 . La función, debe tomar los va-lores : 1, 0, 1, 1que es lo que se muestra en la salida . El pulso de 0 es mayor que la duraciónen 0101, pero esto no es azar: la función debe pasar por el valor 0, explicándose el cambio deduración por el distinto tiempo de retraso cuando cambia A (2 puertas) a cuando después cam-bia C (4 puertas) .

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 7.- Analice a nivel lógico los siguientes circuitos combinacionales . Ponga la fun-ción en suma de productos o producto de sumas .

a)

>_1

- f

>_1

Solución P7.- a) f = (xy + xy) (z + xy) = x (z + xy) = xz + xy

x`

Z\00

01

11 10

0 0 0 0 f

1 0 0 1 1

Page 53: Electronica digital problemas_de_circuitos_y_sistemas_digitales

46 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) f = xy +O (z+x) = xz+xy

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

Problema 8.- Realice un análisis lógico de los circuitos representados en la figura correspon-diente. Obtenga las expresiones en forma de suma de productos y producto de sumas . Listelos mintérminos y maxtérminos correspondientes . Determine el coste .

a)

x I-

>1

f3-

b)

x l

x2-

0 0

1

1

1

o0

0

1

0

0

0

0

0

0

1

1

3

00

01

11

10

00

01

11

10

1f

f

Page 54: Electronica digital problemas_de_circuitos_y_sistemas_digitales

c)

Solución P8 .

a) Análisis de coste :

x 3X4

ANÁLISIS DE CIRCUITOS COMBINACIONALES 47

>_l

Análisis lógico :fsp = x2 + x 1 x3

fps = (x2 + XI) (x3 + x2) .f(x 1 , x2, x3 ) = E (2, 3, 4, 6, 7)=11(0, 1, 5) .

b) Análisis de coste :

Análisis lógico :fl sp = X3 X4 + x1 x2 x4 + x1 x2 X4 + x1 x2 x3 x4 + x1 X2 X3 x4 .

fips = (x3 + x4) (xl + x2 + x4) (x1 + x2 + x3 + x4) (x1 + x2 + x4) (x1 + x2 + x3 + x4) .

f2sp = x3 + XI x2 + x1 x2

f2ps = (x1 + x2 + x3) (x1 + x2 + x3),

f l (x l , x2, x3, x4) = E (1, 3, 4, 7,8, 11, 13, 15) = II (0, 2, 5, 6, 9, 10 12, 14) .

f2(x l , x2, x 3 , x4 ) = E (0, 1, 2, 3, 6, 7, 10, 11, 12, 13, 14, 15) = fI (4, 5, 8, 9) .

c) Análisis de coste :

coste

n° puertas 3

n° conexiones 6 entradas + 1 salida

retraso máximo 2 niveles de puertas

retraso mínimo 2 niveles de puertas

coste

n° puertas 7

n° conexiones 12 entradas + 2 salidas

retraso máximo 5 niveles de puertas

retraso mínimo 2 niveles de puertas

coste

n° puertas 6

n° conexiones 10 entradas + 1 salida

retraso máximo 4 niveles de puertas

retraso mínimo 2 niveles de puertas

Page 55: Electronica digital problemas_de_circuitos_y_sistemas_digitales

48 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Análisis lógico :fsp - XI + X2 + x3 x4

fps = (x2 + XI + x3) (x2 + x1 + x4) .

f2(x l , x 2 , x3 , x4) = E (3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) =11(0, 1, 2) .

Problema 9.-Analice la función que realiza cada circuito encontrando una expresión sp o ps .a)

X -Y -

b)

b

C)

d

x l -x2-x3 -

xl-X2- 3

3

VIL-

X2-

XI

x3

3

g

x3

Page 56: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P9.-a)f = wxz+xyz+xyw+xyz .b)z = áce+cicf+bce+bcf+áde+ádf+bde+bdf+gh .

c)f = x I x 2 +x1 x3 +x] x2x4 +x3x4x2 +x1x;x 2 + 3x I x 4 .

ANÁLISIS DE CIRCUITOS COMBINACIONALES 49

Page 57: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 4

DISEÑO DE CIRCUITOS COMBINACIONALES

El proceso inverso al de análisis es el de diseño de circuitos combinacionales . Básicamente,este proceso consiste en, dada una función de conmutación, obtener un circuito que la realice .Planteado de esta manera, cualquier expresión lógica de la función sería válida para obtener elcircuito . Sin embargo, el objetivo del proceso de diseño es, en realidad, más complejo y con-siste en obtener un circuito óptimo respecto a algún criterio . El circuito óptimo responde a unaexpresión óptima, de forma que lo que hay que obtener es esta expresión .

OBJETIVO DE DISEÑO

Existen diversos criterios respecto a los cuales optimizar, de manera que en función del criterioelegido, el circuito óptimo puede ser uno u otro . En este tema los criterios según los cuales sevan a optimizar los circuitos son dos :

1 .- Minimizar el número de niveles de puertas que deben atravesar las señales de entradahasta alcanzar la salida, considerando que sólo se usan puertas AND y OR (o bien sólo NANDo sólo NOR) con fan-in y fan-out ilimitados y entradas en doble rail .

2.- Minimizar el coste de la función en cuanto : a) al número de puertas lógicas de queconsta el circuito; b) al número de conexiones total del circuito .

De estos criterios, el primero conduce a buscar expresiones que den lugar a circuitos endos niveles de puertas. Expresiones de tipo suma de productos (sp) o producto de sumas (ps)son las más apropiadas para cumplir este requisito . Para este tipo de expresiones el segundocriterio, reducción del coste, significa reducir el número de términos productos (en expresionessp) o reducir el número de términos sumas (en expresiones ps) y, además, buscar términos pro-ductos o sumas con el menor número de literales posible .

Existen expresiones que cumplen estos requisitos que son las llamadas suma mínima dela función (expresión sp) o producto mínimo (ps) . Por otra parte, existe un teorema que indicacómo obtener la suma o el producto mínimo y es el siguiente :

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

Page 58: Electronica digital problemas_de_circuitos_y_sistemas_digitales

52 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

de literales posible que cubren completamente la función .Definición de implicante (implicada) prima .- 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, además, no existe otra implicante(implicada) de la función que contenga a todos los mintérminos (maxtérminos) de dichotérmino producto (suma) . Una implicante (implicada) se dice que es esencial siobligatoriamente pertenece a la solución óptima, ya que sólo ella cubre a algún mintérmino(maxtérmino) de la función .

Según el teorema, el objetivo del proceso de diseño de una función de conmutación, conlos criterios que se han elegido, es encontrar una expresión formada por el conjunto mínimode implicantes (implicadas) primas que cubran completamente 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 :

Descripciónverbal

Descripción formal :Tabla de verdad, mapa de Karnaugh, expresión de la función

1

iMinimización :

forma sp o ps mínima

1Circuito

En cada uno de estos pasos hay que realizar las siguientes acciones :1 .- Dado un enunciado con palabras (descripción verbal) de la función hay que obtener

una primera representación de dicha función mediante una tabla de verdad, un mapa de Kar-naugh 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 .

2.- A partir de la descripción formal obtenida al finalizar el paso anterior, hay que rea-lizar el proceso de minimización . Con este proceso se pretende obtener la expresión suma oproducto mínimo de la función . En particular, se presentan dos métodos para hacer la minimi-zación, uno basado en el mapa de Karnaugh y el otro, tabular, que denominaremos de Quine-McCluskey .

3.- De la expresión suma de productos o producto de sumas mínimo de la función se ob-tiene el circuito óptimo . En concreto, para las expresiones sp de las funciones se derivan cir-cuitos en dos niveles AND-OR .y NAND-NAND ; si se obtienen las expresiones sp de las fun-ciones complementadas, el circuito puede implementarse con las estructuras AND-OR-INV,AND-NOR ó NAND-AND . Las estructuras duales (OR-AND o NOR-NOR ; y OR-AND-INV,OR-NAND ó NOR-OR) proporcionan los circuitos cuando se obtienen expresiones ps (de f yde f, respectivamente) .

Page 59: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE CIRCUITOS COMBINACIONALES 53

Estos pasos del proceso se realizan antes de tener en cuenta otros aspectos como son si

la disponibilidad de las entradas es en único rail, si el fan-out es limitado, si se dispone de cir-

cuitos integrados en vez de puertas individuales, etc . Solamente no se siguen estos pasos cuan-

do el circuito final no se obtiene a partir de expresiones sp (ps) . En estos casos (p .ej. en reali-

zaciones con puertas EXOR) el diseñador debe saber cómo pasar del paso 2 a la realización de

su circuito .El conjunto de problemas que se presentan en este Capítulo, tanto los resueltos como los

de solución resumida barren completamente los diferentes pasos del proceso . Además, se de-

dica especial atención al primer paso del proceso de diseño por ser el menos sistemático y, por

tanto, el más complejo de realizar .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :

- Paso de descripciones verbales a descripciones formales .

- Proceso de minimización por mapa de Karnaugh .

- Proceso de minimización por Quine-McCluskey .

- Otros tipos de realizaciones .

PROBLEMAS RESUELTOS

Problema 1 .- Se tiene una palabra de 5 bits : los cuatro últimos bits representan un dígitoBCD; el primero es un bit de paridad impar. Obtenga la tabla de verdad (o el K-mapa) de lasfunciones siguientes:

1) f, se hará "1 "para valores de entrada que no correspondan con dígitos BCD .2) f2 se hará "1 »para palabras con paridad incorrecta .

Solución Pl .- El circuito que se pretende diseñar tiene 5 señales de entrada . Sean a, b, c, d,

e, siendo a el bit de paridad impar y b, c, d, e un número BCD. Por otra parte tiene dos salidas

f l y f2 que toman los siguientes valores :

f1 = 1 si y sólo si (b, c, d, e) no es un número BCD .

f2 = 1 si y sólo si el número de "1 " en (a, b, c, d, e) es par.Los mapas de Karnaugh de las funciones son los siguientes :

abc

abc000 001 011 010 110 111 101 100 d

00

01

11

10

f,

00

01

11

10

000 001 011 010 110 111 101 100

f2

1 0 1 0 1 0

0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1

0 1 0 0 1 0 0

0 0 1 0 0 1 0 0

0 0 1 1 1 1 0 0

0 0 1 1 1 1 0 0

Page 60: Electronica digital problemas_de_circuitos_y_sistemas_digitales

54

PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 2.- Las normas de seguridad de los modernos aviones exigen que, para señalesde vital importancia para la seguridad del aparato, los circuitos deben estar triplicados paraque el fallo de uno de ellos no produzca una catástrofe . En caso de que los tres circuitos noproduzcan la misma salida, é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 .

Solución P2.- El proceso de votación consiste en tomar el valor mayoritario de las entradas .De esta forma, la salida, f, del circuito tendrá la siguiente codificación :

f = 0 si hay más ceros que unos en las entradasf = 1 si hay más unos que ceros en las entradas

El circuito votador tiene tres señales de entrada : a, b y c, que son las salidas de los cir-cuitos triplicados . Podemos construir el mapa de Karnaugh o bien la tabla de verdad :

00

01

11

10

B

C

En el mapa de Karnaugh seleccionamos las implicantes de la función, A, B y C y reali-zamos un cubrimiento óptimo :

f = A+B+C = ab+bc+acUn circuito hecho sólo con puertas NAND es el siguiente :

rolríaECó'i~

Problema 3.- Se pretende diseñar un circuito combinacional que tenga como entrada un dígi-to BCD natural y como salida la parte entera del cociente de su división por tres . Se pide :

a) expresar las funciones mínimas de salida como suma de productos y como productosde sumas;

b) obtener el circuito correspondiente a la mínima de estas expresiones, realizado conun solo tipo de puertas .

Solución P3.- La salida es un número, N, igual a la parte entera de dividir un dígito BCDpor 3 : N=Ent.[N2 BCD/3] . El mayor dígito BCD es 9, por tanto el mayor valor de N será 3,mientras que el menor valor será 0 . Representaremos a N por dos bits : z1z0 = N(2 .

abc f000 0001 0010 0

c011 1100 0

0101 1

1110 1111 1

Page 61: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE CIRCUITOS COMBINACIONALES 55

La entrada es el dígito BCD que está formado por 4 dígitos binarios : x3x2x1xo .Teniendo en cuenta esto, podemos formar la tabla de verdad y, a partir de ella, el mapa

de Karnaugh de cada una de las funciones de salida sabiendo que las celdas que no correspon-den a dígitos BCD (celdas 101- y 11--) son inespecificaciones (d) para las funciones :

2

1 x

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

ZIS,=D+C = x 3 +x 1x2

z 11, = AB = (x3+x1) (XI +x 2 )

zosP = I + H + J = x 3xo +x2x 1 +x2x l xo

zoPs =GFE= (x 2 +xo ) (x 1 +x2 ) (x 3 +x 2 +x 1 )

El coste sp y ps de zo es el mismo, por lo que da igual realizarla sólo con NAND o sólocon NOR. (En la realización mínima de zo la celda 15 es tomada como 1 para zosp y como 0para z ops ; no se trata de un error sino del uso más conveniente para esa inespecificación) . Porotra parte, el coste de z1 en sp es menor que en ps por lo que la realizaremos con NAND :

x3xo

X2X1

x2X1Xo

Problema 4.- Las cuatro líneas de entrada de un circuito combinacional corresponden a unnúmero natural codificado en binario natural .

Diseñe un circuito en dos niveles que sirva para detectar cuándo un número es una po-tencia de dos.

x3x2x 1 x0 N A

Hz 1zp0000 0 0 0

3 2

3x2

0001 0 00 01' 11 10

00 01 11 100 0

x lxo

x 1 x00010 0 0 0

00 1 a_~ 000011 1 0 10100 1 0 1

01 1 d ~l 01

0101 1 0 1

11 riii d I E

110110 2 1 0

10 INL110

0111 2 1 01000 2 1 01001 3 1 1

B4

~ Gz 1

ZO

Page 62: Electronica digital problemas_de_circuitos_y_sistemas_digitales

56 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P4.- Es un circuito con 4 señales de entrada, a, b, c y d y una salida f. La función desalida debe detectar la llegada de un número potencia de 2 . Las potencias de dos son : 20=1,2'=2, 22=4, 23=8. Cuando en la entrada se detecte alguno de estos números, la salida tomaráel valor 1 . El mapa de Karnaugh de esta función es el siguiente :

f

La expresión mínima en forma sp es la siguiente :

f = ábcd + ábcd + a_bcd + abcd

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

abc- N. Dec .

(abc)2

Problema 5.- Diseñe un circuito combinacional que acepte un número de tres bits y genereun número binario de salida igual al cuadrado del número de entrada .

Solución P5.- Con tres bits, a b y c, se representan desde el 000-0 hasta el 111-7 . En la salidadebe aparecer el cuadrado de la entrada:

000-0

0

001-1

1

010-2

4

011-3

9

100-4

16

101-5

25

110-6

36

111-7

49

ab00 01

11c\ 10

00 0 1 0 1

01 1 0 0 0

11 0 0 0 0

10 1 0 0 0

c

b_1

ab

d

b

Page 63: Electronica digital problemas_de_circuitos_y_sistemas_digitales

abc- N. Dec .

Z5Z4Z3z2z

De esta tabla se obtiene un mapa de Karnaugh para cada salida y, de él, una expresiónde las mismas :

0 0

í1\

1

0

0

00 01 11 10

z5= ab

000-0

000000

001-1

000001

010-2

000100

011-3

001001

100-4

010000

101-5

011001

110-6

100100

111-7

110001

DISEÑO DE CIRCUITOS COMBINACIONALES 57

El mayor valor que debe aparecer en la salida es el 49. Para representar el 49 se necesitan

6 bits. Por tanto, el circuito posee 6 señales de salida, z 5z4z3z2z l zo, que toman los siguientes

valores :

U

0 0 0 0

z3= ábc+ abc

N11,1Oa>

Ahora ya es inmediato dibujar un circuito en dos niveles AND-OR ó NAND-NAND, dela misma forma que ya se ha hecho en los problemas anteriores .

Problema 6.- El horario laboral de una factoría es de 8 horas diarias, divididas en tres turnos :de 8 a 11 (primer turno), de 11 a 13 (segundo turno), de 13 a 16 (descanso) y de 16 a 19 (ter-cer turno) .

Se pretende diseñar un circuito que tenga como entradas la representación binariade 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. Se pide :

a) Expresar las funciones mínimas de salida como suma de productos y como pro-ducto de sumas .

b) Obtener las expresiones correspondientes a cada una de las anteriores funcionesrealizadas con un solo tipo de puertas.

Solución P6 .- De acuerdo con el enunciado, si H es el número decimal de la hora, (H-8)(2 es

el valor en binario asociado que actúa como entrada del circuito . La última hora a señalar vadesde las 18h a las 19h, por lo que en binario corresponde a (18-8)=10 . Se necesitan 4 bits para

z4= ac+ ab

C00 01 11 10

z2= bc 0 0 0 0 z 1 = 01 o 0 0 0

Page 64: Electronica digital problemas_de_circuitos_y_sistemas_digitales

58 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

poder representar los números 0-10: a, b, c y d .Las salidas deben representar cuatro casos: descanso, ]ir turno, 22 turno y 3e' turno . Se

necesitan, por tanto, dos señales de salida : z1zo, cuyo valor en binario representará los 4 casoscon la siguiente codificación :

z 1=a+bcd+bcd

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

~ÍLr ~1~ V1-J

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

b) Las expresiones sp son trasladables directamente a expresiones NAND-NAND y lasps a expresiones NOR-NOR. Así:

Expresiones :

Las mínimas son : NAND-NAND para z1 y NOR-NOR para z 0 .

Problema 7.- Se pretende diseñar un circuito comparador de 2 números de 2 bits, A=(a sao)y B=(b1,bo). Dicho circuito deberá tener tres salidas M, 1, m, de tal forma que :

M = 1 sü A>81= 1 sii A=Bm = 1 sü A<8

Diséñese exclusivamente con puertas NOR .

Solución P7 .- Para hacerlo exclusivamente con puertas NOR obtendremos las expresiones psde las tres salidas, M, 1 y m .

Del enunciado se obtienen directamente los mapas de Karnaugh de cada una de las fun-ciones :

z0=bc+bd

zp=b(c+d)

zp=(bc)(bd)

z 0= b +(c +d )

TURNO HORAS HORAS-8 z 1 zO1 8-9-10 0-1-2 0 12 11-12 3-4 1 0

descanso 13-14-15 5-6-7 0 03 16-17-18 8-9-10 1 1

NAND-NAND z 1= a(bcd)(bcd)

NOR-NOR z 1= (a+b+c)+(a+ c +d)+(d+ b)

Page 65: Electronica digital problemas_de_circuitos_y_sistemas_digitales

I/IV00

LESa ENM

I

m

M = (a i+ao) (a 1 +bo ) (a 1 +E 1 ) (b 1 +ao) (bi+bo)

m = (b i+bo ) (b i+ao) (b 1 +a 1 ) (a l +bo) (a i +a o )

I =(a l+i) (á 1+b 1 ) (ao+b0) (áo+bo )

Problema 8.- Se ha diseñado una puerta de tres entradas llamada bomba (cuyas caracterís-ticas se muestran) con un resultado desafortunado . Experimentalmente se encuentra que lascombinaciones de entrada 101 y 010 hacen explotar la puerta . Determine si hay que inutilizarlas puertas o, por el contrario, pueden ser modificadas externamente (añadiendo un circuito)de forma que sea funcionalmente completa y que sin embargo no explote .

ABC

BOMBA

BOMBA(A,B,C)

Solución P8.- Debemos conseguir que el circuito no explote en ninguna combinación de en-trada de forma que no cambiemos la función de salida . Para ello vamos a añadir un circuitocon 3 entradas (a, b, c) y tres salidas (A, B, C) de manera que BOMBA(a,b,c) = BOMBA(A,B,C) según la tabla del enunciado :

b

1

11

CIRCUITO

A DISEÑAR

DISEÑO DE CIRCUITOS COMBINACIONALES 59

VOL:JmorraZa-r-90 0

B

00 01

11

10

m

Om

BOMBA(A,B,C)

1 Crac=~!~1or!~~~JDula=a ar`v~i00 01

11

10

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

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

Page 66: Electronica digital problemas_de_circuitos_y_sistemas_digitales

60 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Con el fin de no producir más cambios, para cualquier otra combinación de abc, hare-mos ABC=abc .

Tenemos que hacer dos elecciones, una para abc=010 y otra para abc=101 . Una buenasolución es la que implica menos cambios en las señales :

abc = 0l0 -* ABC = 000abc = 101 - ABC = 111

Con estas elecciones la única señal que cambia es B mientras que A y C cumplen A=ay C=c .

Del mapa de Karnaugh se obtiene una expresión de B en función de a, b y c :

Problema 9.- Utilizando el mapa de Karnaugh, determine las expresiones mínimas en sumade productos y producto de sumas de las siguientes funciones :

a) f(x, y, z, u) = E(3, 4, 7, 8, 10, 11, 12, 13, 14)b) f(x, y, z, u) = E(0, 4, 6, 7, 10, 12, 13, 14)

Solución P9 .a)

z xy 00

0

01

11

10

f=yzu+xyz+xzu+xyz+xu

b)

z xy 00

0

01

11

10

01

11

01 11

f=xzu+xyz+xyz+xzú

salal'l~~LJ1

B=ab+ac+bc

nonojlezOC

©© ero Enn

00

1

1

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

z xy 00

0

01

11

10

01 11

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

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

Lle 01anl , 111

dano uo

0 n0

n01»

C4:110.aORO

nonrol

Page 67: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

Solución P10 .abc

d00

01

11

10

110

1

.A

z

ffiffila`M

f = ác+ ac

111 101

OR:

DISEÑO DE CIRCUITOS COMBINACIONALES 61

100

-1 A+B

f=abe+abcde+ácde++acde+acde+abce+acde

Problema 11 .- Razone si una OR de dos entradas con inhibición puede ser funcionalmentecompleta si disponemos del "0" y del "1 ". Las variables se encuentran en único raíl . Implemen-te f=m 1+m3+m4+m6 usando este tipo de puertas .

Solución P11.-La puerta OR opera de acuerdo con la siguiente tabla :

I

AND:

I

>_1

01

>_1

ac

ac

?1

zx+y

0: Inhibicón

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

y NOT. En la figura siguiente se muestra cómo es posible implementar cada una de estas fun-ciones contando sólo con esta puerta, el "0" y el "1" . :

NOT:

AB

Por tanto, la puerta es funcionalmente completa .Para implementar f=m 1+m3+m4+m6 obtenemos una expresión mínima en forma sp a

partir del mapa de Karnaugh y la implementamos directamente :

l a

01>_1

J 0 C 17 0

1 - 0 0 0 0

0 G 0 0

CE -I - -

Page 68: Electronica digital problemas_de_circuitos_y_sistemas_digitales

62 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 12.- Un circuito que realiza la función z(a, b, c) está compuesto de dos subcircuitos(ver figura). La combinación de entradas abc=001 nunca ocurre . La tabla de verdad del sub-circuito N, es la mostrada . ¿ Es posible cambiar algunos valores de u, v, x a inespecificacio-nes sin modificar z(a, b, c)?. Si es así, indique todos ellos y realice un buen diseño de N 1 conpuertas NOR tras obtener todos los valores inespecificados .

0 0 0 0 d d0 0 1 d d d0 1 0 d 1 1011

Odd1 0 0 1 1 010 1 d l l110

Odd1 1 1

1 0 1

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

Solución P12.-Llamemos P ala salida de la puerta EXOR : P = v O+ x . Busquemos las posi-bles inespecificaciones de u, v y x, de forma que no se modifique la función z, la cual toma elsiguiente valor : z = P u. De esta manera :

1) Si u=0, entonces z=0 independientemente del valor de P . De aquí que P pueda estarinespecificado para u=0 .

2) Si P = 0, entonces z=0 independientemente del valor de u .3) Si u=P=1, entonces z=1 .Por otra parte, P = v O+ x , de forma que : P=0 si v=x ; P=1 si v=x .Las inespecificaciones pueden ocurrir en los siguientes casos :a) Valores de entrada que nunca pueden ocurrir . En este caso en el enunciado del pro-

blema se dice que la combinación de entrada abc = 001 nunca ocurre. Por tanto para esta com-binación de entrada u, v, x = d, d, d, siendo d inespecificación .

b) Valores de entrada para los que u=0 . En este caso P puede tomar cualquier valor, deforma que v y x pueden ser inespecificaciones . Así, para abc = 0 0 0, 0 1 1, 1 1 0, u = 0 yv,x=d,d .

c) Valores de entrada que hacen P=O . Esto es, valores para los que v=x. En este caso ues inespecificación . Así, para abc = 010, 101, v=x y por tanto, u= d .

La tabla de verdad considerando las inespecificaciones sería la siguiente :

abc

uvx

------------------------------------abc uvxN2

0 0 0 0 0 10 0 1 1 1 00 1 0 1 1 10 1 1 0 0 0

11 0 0 1 1 0 a10 1 1 1 1 b1 1 0 0 1 0 c1 1 1 1 0 1

Page 69: Electronica digital problemas_de_circuitos_y_sistemas_digitales

u= a(b + c)

>1 >1

DISEÑO DE CIRCUITOS COMBINACIONALES 63

Para diseñar el circuito N 1 con puertas NOR vamos a construir los mapas de Karnaughy obtener las expresiones mínimas ps :

arv~ouov= a+ b

>1 >_1

>1 >1

o Mal- 0111max=á+c

Problema 13.- En la tabla representada aparecen todas las implicantes primas y todos losmintérminos de una función f(a,b,c,d) que también tiene inespecificaciones . Determine cuálesson los mintérminos (m, m) e implicantes (A, B) desconocidos, así como todas las inespecifi-caciones de la función .

Solución P13 .- La resolución del problema puede efectuarse utilizando una representación dela información que aporta la tabla del enunciado sobre un mapa de Karnaugh . En esta tablaaparecen expresiones de todas las implicantes primas menos dos (A y B) de la función y todoslos mintérminos menos dos (m y m') . En el siguiente mapa se muestra la información de par-tida acerca de la función :

3 5 7 8 12 m m'ad X X Xac Xbc X Xcd X XA X XB X

Page 70: Electronica digital problemas_de_circuitos_y_sistemas_digitales

64 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

u®=-u=amoRamo

f

Implicante a d : Vale 1 cuando a = 1 y d = 0 . Son las posiciones 8, 10, 12 y 14 sobre unmapa de Karnaugh . 8 y 12 son mintérminos de f. Como esta implicante cubre a m' este min-término solo puede ser ó el 10 ó el 14 . El que no sea m' será una inespecificación, d .

Implicante ac : Vale 1 cuando a = 1 y c = 1 . Son las posiciones 10, 11, 14 y 15 sobre unmapa de Karnaugh . Esta implicante sólo cubre a un mintérmino de f, m', por lo que posee tresinespecificaciones. De la implicante anterior se sabe que m' o es el mintérmino 10 ó el 14 . Deesta forma las posiciones 11 y 15 del mapa son inespecificaciones, d .

Implicante Ec : Vale 1 cuando b = 0 y c = 1 . Son las posiciones 2, 3, 10 y 11 sobre unmapa de Karnaugh . Esta implicante solo cubre al mintérmino 3 y al m. 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 . Ahora biende las anteriores implicantes sabemos que la posición 10 es m' o inespecificación . Esta impli-cante no cubre a m' por lo que la posición 10 no puede ser el mintérmino m', sino inespecifi-cación . Por tanto el mintérmino m es el mintérmino 2 y el mintérmino m' es el mintérmino 14 .

Implicante c d : Vale 1 cuando c = 1 y d = 1 . Son las posiciones 3, 7, 11 y 15 sobre elmapa de Karnaugh . 3 y 7 son mintérminos de f y 11 y 15 ya sabemos que son inespecificacio-nes por lo que esta implicante no aporta más información .

Con lo que hemos obtenido hasta ahora, el mapa de karnaugh de la función f queda dela siguiente manera :

..01a.a-.vpvR=a .1

b

d

00

01

11

10

00 01

11

10

f

Falta por averiguar cuáles son la implicantes primas A y B .Implicante A: cubre a los mintérminos m=2 y 8, que están en esquinas opuestas . La úni-

ca posibilidad es que A sea la asociación de las posiciones en las cuatro esquinas, esto es, lasposiciones 0, 2, 8 y 10. Como 8 y 2 son mintérminos, 10 es inespecificación y, teniendo encuenta que A sólo cubre a dos mintérminos, la posición 0 es inespecificación . La expresiónpara A es b d

Page 71: Electronica digital problemas_de_circuitos_y_sistemas_digitales

a2

ba,

Solución P14.-Analicemos el circuito :

DISEÑO DE CIRCUITOS COMBINACIONALES 65

Cualquier otra posibilidad para A daría lugar a que alguna de las implicantes que ya co-nocemos, no fuese prima y sabemos que sí lo son . Teniendo en cuenta que en la primera co-lumna del mapa de Karnaugh, posiciones 0, 1, 3 y 2 todas son inespecificaciones o mintérmi-nos menos el 1 y que no existe ninguna implicante prima que los cubra a todos (la implicanteB no posee al mintérmino m = 2) la posición 1 tiene que ser un maxtérmino . Al igual le ocurrea las posiciones 13, 6, 9 y 4 que son maxtérminos .

Implicante B : cubre a los mintérminos 5 y 7 . Las casillas adyacentes a 5 y 7 son max-términos (1, 6, 4, 13) por lo que B es la implicante prima que asocia exclusivamente a los min-términos 5 y 7. La expresión de B es ábd .

Resumiendo, el mapa de Karnaugh de f queda de la siguiente manera :

Problema 14.- El circuito de la figura ha sido diseñado para comparar las magnitudes de dosnúmeros binarios de dos bits a 2 a l y b2 b 1 . Si z=1 e y=0, a2 a l es el mayor. Si z=0 e y=1, b2b 1 es el mayor. Si z=y=0, los dos números son iguales . Sin embargo el circuito propuesto nocumple las especificaciones solicitadas . Compruebe este hecho y modifique el diseño paraque sea correcto .

z=a,b 1 (a2b2 +a2b2 ) = a 1 b 1 a 2b2 +a 1 b 1 a 2 b2

y = a 1 b 1 (a2b2 +a2b2 ) = a,b,a 2b2 +a,b 1 a 2b2

- z

ab00 01 11 10

m=2c\

00 d 0 1 m` = 14

01 0 1 0 0

11A=bd

1 1 d d

10 1 0 1 d B=ábd

f

Page 72: Electronica digital problemas_de_circuitos_y_sistemas_digitales

66 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Ahora vamos a construir los mapas de Karnaugh correspondientes a las funciones de ze y que suministra el circuito y el mapa de Karnaugh correspondiente a la función especificada

Se observa que (zy)cir # (zy)func . En particular las diferencias están en que tanto z comoy tienen 4 mintérminos más en la función especificada que en el circuito suministrado en lassiguientes posiciones :

--r---DJ--------

a2-a

bla l

z

Así, las funciones correctas serán :

Z zc„ + a2b2

Y = Yc„ + a2b2

La reforma del circuito consistirá en añadir dos puertas OR para hacer las sumas ya quelos términos productos ya están en el circuito :

>_1C

a2b2

C

----

----r al a-ENa-.

L

Ycir

y

>1

>1

Zfunc

- Yfunc

en el enunciado :CIRCUITO FUNCIÓN

ESPECIFICADA

a 2a l00 01

11

10a 2a l

00 01

11

10b2\ b2\

00 00 10 00 00 00 00 10 10 10

01 01 00 00 00 01 01 00 10 10

11 00 00 00 01 11 01 01 00 01

10 00 00 10 00zy

10 01 01 10 00 zy

Page 73: Electronica digital problemas_de_circuitos_y_sistemas_digitales

z-s

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

Solución P15 .a) Analizando el circuito de la figura se obtiene que f = H + f3 , siendo H la salida de la

puerta AND. De aquí se deriva que los maxtérminos de f son maxtérminos de H y de f 3 , mien-

tras que los mintérminos de f son mintérminos de H ó de f3 . Por tanto, los mapas de Karnaugh

de H y f3 tienen los siguientes maxtérminos :

f

f

f

DISEÑO DE CIRCUITOS COMBINACIONALES 67

Problema 15.- Las funciones del circuito de la figura dependen, en general, de las variables

(w,x,y,z) . Sabiendo que f = E (0, 4, 9, 10, 11, 12):a)Determine completamente las funciones f2 :# 0 y f3 :# 0 (incluyendo

inespecificaciones) .b)Realice los circuitos que proporcionan f2 y f3.

----------------wx

f2 está inespecificadaen aquellas celdas en lasqueH=Oyf1 = 0 .

Por otra parte, f2 = 0 enceldas en las que H = 0yf i =1 .

f

Por otra parte, H = f 1 f2 = (x0 z)f2 . De aquí que los mintérminos de H son mintérminos

de f 1 y de f2 , mientras que los maxtérminos de H son maxtérminos de f 1 ó de f2 .

Como f 1 es conocida, a partir de ella y de H se obtiene parte del mapa de f2 :

wx

----

---

---

- -

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

- H vale 0 en las celdas 0 y 10 porque f 1 vale 0 en esas celdas. Como f = 1 en las celdas

0 y 10, f3 tiene que valer 1 en esas mismas celdas .

- Como f2 tiene que ser distinta de 0, tendrá algún mintérmino en alguna de las celdas

wx

wx

wx

00 01

11

10

00 01

11

10

00 01

11

10\Y\

yY\00 1 1 1 0 00 0 00 0

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

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

10 0 0 0 1 10 0 0 0 10 0 0 0

f

H

f3

Page 74: Electronica digital problemas_de_circuitos_y_sistemas_digitales

68 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

donde no es ni inespecificación ni 0 (celdas 4, 9, 11 ó 12) . Como f = 1 en esas celdas, en aque-llas en las que f2 = 0, f3 debe tomar el valor 1 . Por tanto, existen varias soluciones, dependiendode cuáles de las celdas 4,9,11 ó 12 consideremos mintérminos de f 2 .

- Una de las posibles soluciones es la que se muestra a continuación :

=amo0000000 0b) De los mapas de f2 y f3 obtenemos expresiones para f2 y f3 :

wx

00_10000000 0 = wY

00

01

11

10

wx

Yz00

01

11

10

0

0

0

0

0

0

0

0

n111

00 01

11

10

z

f3=wyz+wxy

Problema 16.- En la figura se representa una función de 4 variables incompletamente espe-cificada. Asigne valores a las inespecificaciones para conseguir especificar completamente lafunción de la forma que se indica en cada uno de los casos siguientes :

abcd

00 01 11 10

a) z pasa a depender de sólo dos variables .b) z tiene únicamente cinco mintérminos sin implicantes superiores .c) z tiene exactamente cuatro implicantes primas .d) z tiene una implicante prima no esencial .e) z tiene el mismo número de implicantes primas que de implicadas primas .

Solución P16 .a) Teniendo en cuenta que hay dos mintérminos en esquinas opuestas, para lograr que z

dependa sólo de dos variables, las inespecificaciones de las otras esquinas deben sustituirse por

1 d d d

d d 0 0

0 d 0 0

d d 0 1

wx00 01

11

10Y\00 1 0

01 0 0 0

11 0 0 0 1 f310 0 0 0 1

Page 75: Electronica digital problemas_de_circuitos_y_sistemas_digitales

b) Para que no haya implicantes superiores, no puede haber dos mintérminos adyacen-tes. El mapa quedaría de la siguiente manera :

DISEÑO DE CIRCUITOS COMBINACIONALES 69

mintérminos. El resto de inespecificaciones se sustituirán por maxtérminos .El mapa deKarnaugh y la expresión final de z quedan como sigue :

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 primasexactamente debemos hacer las siguientes substituciones en el mapa :

d) Una implicante prima no esencial no posee ningún mintérmino distinguido : .

abcd

00 01

11

10

00 1 1z=bd

01 0 0 0 011 0 0 0 010 1 0 0 1

abcd

00 01

11

10

00 1 0 1 001 0 1 0 011 0 0 0 010 0 0 1

ab

Implicante

cd

00 01 11 10

primano esencial

00 1) 1 0 H-01 1 1 0 011 0 0 0 010 0 0 0 r

Page 76: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

00

01

11

10

Jv~a-ú

I uw~wProblema 17.- Realice la función f con puertas : a) NAND, b) NOR .

f = abcd + atice + acde + atice + ábce + aticé + abcd + abec

Solución P17.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 nivelesde puertas NAND .

Para obtener la expresión mínima vamos a aplicar el método de Quine-McCluskey . Estemétodo parte de la expresión suma de mintérminos de la función . En primer lugar, obtenemosesa expresión a partir de la que nos dan . Para ello construimos el mapa de Karnaugh :

000 001 011 010 110 111 101 100

f = 1 (4,6,9,11,12,13,17,19,21,22,23,25,27,29)

Una vez con la expresión suma de mintérminos, el método consta de dos partes :1) Obtención de las implicantes primas .El procedimiento de obtención de las implicantes primas consta de los siguientes pasos :

1) Listar todos los mintérminos por su índice (número de unos del códigoasociado a cada mintérmino) .2) Comparar cada mintérmino de índice j (empezando por j=0) con cadamintérmino de índice j+l . En el caso de ser adyacentes :

a) Formar una nueva pareja con ambos mintérminos e incluirla en unanueva lista, dentro del grupo de índice j. (Cada pareja es una impli-cante) .b) Marcar ambos mintérminos .

0 1 1 0 0 0 0

0 0 1 1 1 1 1 1

0 0 0 1 1 0 1 1

0 1 0 0 0 0 1 0

Page 77: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Implicantes decuatro mintérminos

(9,11,25,27)-2,16 E(9,13,25,29)-4,16 D(17,19,21,23)-2,4 C(17,19,25,27)-2,8 B(17,21,25,29)-4,8 A

Expresión de cada implicante

DISEÑO DE CIRCUITOS COMBINACIONALES 71

3) Una vez comparados todos los mintérminos, proceder con la nueva lista(la de implicantes) de forma similar al punto 2 . Esto es, comparar cada im-plicante de índice j con cada implicante de índice j+l . En caso de ser adya-centes, formar la nueva implicante que cubre a las implicantes anteriores y

añadirla a una nueva lista. Además, marcar las implicantes agrupadas .

4) Una vez comparadas todas las implicantes de todas las listas generadas,son implicantes primas todas aquellas que están sin marcar al final del pro-ceso .

El desarrollo de estos pasos, en este caso, es el siguiente :

II) Cubrimiento mínimo .El proceso de obtención del cubrimiento mínimo consta de varios pasos :

1) Formar la tabla de implicantes primas . Para ello, poner los mintérminosde la función como cabezas de columnas y las implicantes primas como ca-bezas de filas. Marcar los mintérminos cubiertos por cada implicante .2) Determinar las columnas distinguidas seleccionando las implicantes pri-mas esenciales para formar la expresión de la función . Eliminar todos losmintérminos cubiertos por las implicantes esenciales .3) Si hay mintérminos de la función que aún no han sido cubiertos, simpli-ficar la tabla . Para ello, eliminar las filas dominadas (si el coste es mayor oigual que la dominante) y las columnas dominantes .

a b c d e

A 1--01 ad

B 1-0-1 a e e

C lo— 1 abe

D -1-01 bde

E -10-1 b e e

F 1011- abcd

G 0110- abcd

H -0110 bcd-e

1 0- 100 acde

J 001-0 asee

Mintérminos listadospor su índice

Implicantes dedos mintérminos

(4,6)-2 J(4,12)-8 1

índice 1 4<(6,22)-16 H

6< (9,1l)-2<

índice 2 9< (9,13)-4<12< (9,25)-16<17< (12,13)-1 G

(17,19)-2<11< (17,21)-4<

índice 3 13< (1 7,25)-8<19<21< (11,27)-l6<22< (13,29)-16<25< (1 9,23)-4<

(19,27)-8<23<

(21,23)-2<índice 4 27<(21,29)-8<

29<(22,23)-1 F(25,27)-2<(25,29)-4<

Page 78: Electronica digital problemas_de_circuitos_y_sistemas_digitales

72 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

4) Verificar si hay implicantes esenciales secundarias, en cuyo caso repetirel proceso desde el paso 2 .5) Si se llega a una tabla cíclica, obtener el cubrimiento mínimo bien por elmétodo exhaustivo, bien por el método de Petrick .6) La suma estrictamente mínima de la función se obtiene mediante la sumade las implicantes seleccionadas en los pasos 2 y 5 .

Notas adicionales :1 .- En funciones incompletamente especificadas, las inespecificaciones se toman como

"unos" a la hora de obtener las implicantes primas y no se tienen en cuenta a la hora de formar

la tabla de implicantes primas .2.- La obtención del producto de sumas mínimo, sigue el mismo proceso tomando los

"ceros" de la función en vez de los "unos" .Comenzamos construyendo la tabla de implicantes primas :

Columnas distinguidas : 11 . Por tanto, E es implicante prima esencial y se selecciona . Seeliminan de la tabla de cubrimiento los mintérminos de E : 9, 11, 25, 27 .

Filas dominadas : B es dominada por C . Por tanto, eliminamos B .Columnas dominantes : la columna 17 domina a 19 y 21 . Se elimina 17 .Columnas distinguidas secundarias : 19. Por tanto, C Implicante prima esencial secun-

daria y se selecciona. Se eliminan sus mintérminos: 19, 21, 23 .En este punto, por claridad, reescribimos la tabla eliminando las columnas y filas ya

tachadas .

4 6 12 13 22 29A;;~ . .

. . . . . . . . . . .. .. . . . . . . . .. . . ..... . . . . . . . . . . . . . . . .S

.

F0 0 0-. . . .

.

. . . .. . . . . . . . . . . . . .. V. . . . . c.... . . . . . . .. . . . . . . .. . . . . . . . . .

ÍI

1

X

6 9 11 12 13 17 :19 21 22 23 25 27 29A ~{ t{ X

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

. .C... . ..... . .. . . . . . . . . . .... . . . . . . . . .. . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . ......

. . . . . . . .l .x . . . . . . .

.. . . . . . . . . . . .... . . . . . . . , . A

DEFGHI

XJ

X

X

X X

X

X

X

XX

X

X

t{X

'

X

Page 79: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE CIRCUITOS COMBINACIONALES 73

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

de aquí que eliminemos F .Columnas distinguidas secundarias: 22. Por tanto, H es esencial secundaria y se selec-

ciona. Columna 29 . Por tanto, D es esencial y se selecciona . Eliminamos los mintérminos 6,

22 (de H), 13, 29 (de D) .Filas dominadas : G es dominada por 1 y J es dominada por 1. Eliminamos G y J .Columnas distinguidas secundarias: 4 -* 1 es esencial y con ella la función queda com-

pletamente cubierta . Por tanto :f = E+C+H+D+I = bce+abe+bcdé+bde+ácdé

b) Con puertas NOR, el procedimiento es similar con las diferencias de que hay que ob-tener una expresión mínima en forma producto de sumas (ps) y, por tanto, hay que partir de la

expresión producto de maxtérminos de f . A partir de esta expresión, el método de Quine-Mc-

Cluskey se aplica exactamente igual que en el caso anterior. La solución que se obtiene es la

siguiente :f = ( c+e) (a+b+é) (a+d+e) (b+c+d)

Problema 18.- Florencio va a ir a una fiesta esta noche, pero no solo . Tiene cuatro nombresen su agenda: Ana, Bea, Carmen y Diana . Puede invitar a más de una chica pero no a lascuatro. Para no romper corazones, ha establecido las siguientes normas :

- Si invita a Bea, debe invitar también a Carmen .- Si invita a Ana y a Carmen, deberá también invitar a Bea o a Diana .- Si invita a Carmen o a Diana, o no invita a Ana, deberá invitar también a Bea .

Antes de llamarlas por teléfono, quiere utilizar un circuito que le indique cuándo unaelección no es correcta . Ayúdele a diseñar el circuito óptimo en dos niveles con puertasNAND. (Utilice el método de Quine-McCluskey) .

Solución P18 .- Descripción de las variables :Vamos a asociar una variable de conmutación a cada persona : A, a Ana; B, a Bea; C, a

Carmen y D, a Diana . Cada variable puede valer 0 ó 1 con el siguiente significado :- Si vale 0 significa que la persona NO va a la fiesta .- Si vale 1 significa que SÍ va a la fiesta .Vamos a diseñar un circuito con una salida F que tomará los siguientes valores :

- F=0 si la elección es correcta (cumple todas las normas) .

- F=1 si la elección es incorrecta .OBTENCIÓN DE LA FUNCIÓN :En el enunciado se indican 5 condiciones a cumplir :- C 1 : Que no va solo .

- C2: Que no van las 4 chicas juntas .

- C3 : Si va B (Bea), debe ir C (Carmen) . - C4 : Si van A y C, debe ir B ó D .

- C5 : Si va C óD ó no va A, debe ir B .F valdrá 1 cuando la elección sea incorrecta, esto es, cuando se incumpla alguna de las

condiciones. Podemos expresar F como una suma de productos donde cada término productorepresenta una condición :

F = C1 + C2 + C3 + C4 + C5Debemos encontrar los términos productos asociados a cada condición, teniendo en

cuenta lo siguiente :

Page 80: Electronica digital problemas_de_circuitos_y_sistemas_digitales

74 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

CX = 1 si no se cumple la condición .CX = 0 si se cumple la condición .

La condición C 1 se incumple en el caso de que no vaya ninguna chica, esto es, en el casode que A=0 B=0 C=0 y D=0 . En este caso C 1 =1 . El término producto asociado a esta condiciónes el mintérmino 0: C 1 =A B C D.

La condición C2 se incumple en el caso de que vayan todas las chicas, esto es, en el casode que A=1 B=1 C=1 y D=1 . En este caso C 2=1 . El término producto asociado a esta condiciónes el mintérmino 15 : C2=A B C D .

La condición C3 se incumple en el caso de que vaya B y no vaya C . Esto es, si B=1 yC=0. En este caso C3=1 . El término producto asociado a esta condición es : C3=B C.

La condición C4 se incumple en el caso de que vayan A y C y no vayan ni B ni D . Estoes, si A=1 C=1 B=0 y D=0 . En este caso C4=1 . El término producto asociado a esta condiciónes : C4=A C B D .

La condición C 5 se incumple en el caso de que vayan C o D o no vaya A y no vaya B .Esto es, si (C=1 ó D=1 ó A=0) y B=O . En este caso C 5=1 . El término asociado a esta condiciónes: C5= (C+D+A)B= A B+ B C+ B D .

De esta forma se obtiene que F=ABCD+ABCD+BC+ACBD+AB+BC+BDEn forma de suma de mintérminos queda : F = E (0,1,2,3,4,5,9,10,11,12,13,15)A continuación, vamos a obtener una expresión óptima de F mediante el método de

Quine-McCluskey que consta de dos partes .1) Obtención de las implicantes primas . En nuestro caso, se obtiene :

Implicantes decuatro míntérminos(0,1,2,3)-2,1

11(0,1,4,5)-4,1

12

(1,3,9,11)-8,2 13(1,5,9,13)-8,4 14(2,3,10,11)-8,1 15(4,5,12,13)-8,1

16

(9,11,13,15)-4,2 17

Expresión de cada implicanteABCD

11 00-- ÁB

12 0-0- AC13 -0-1 BD

14 --01 CD

15 -01- BC

16 -10- BC

17 1--1 AD

Mintérminos listadospor su índice

Implicantes dedos míntérminos

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

1< (0,4)-2<

índice 1 2<4< (1,3)-2<

(1,5)-4<3< (1,9)-8<5< (2,3)-1<

índice 2 9< (2,10)-8<10< (4,5)-1 <12< (4,12)-8<

índice 3 11 < (3,11)-8<13< (5,13)-8<

(9,11)-2<índice 4 15< (9,13)-4<

(10,11)-1<(12,13)-1<

(11,15)-4<(13,15)-2<

Page 81: Electronica digital problemas_de_circuitos_y_sistemas_digitales

I I) Cubrimiento mínimoConstruimos la tabla de implicantes :

DISEÑO DE CIRCUITOS COMBINACIONALES

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

nan los mintérminos de IE : 2, 3, 10, 1 . Lo mismo ocurre con la columna 12 y la implicante IF,y se eliminarán los mintérminos de IF : 4, 5, 12, 13 .

15 también es una columna distinguida e IG es una implicante prima esencial . En este

caso se eliminan los mintérminos de IG : 9, 11, 11, 15 .En este punto reescribimos la tabla eliminando las columnas y filas ya tachadas .

0

B. . . .e. . . . . .

. . . .

X

1XX

75

Filas dominadas : C y D son dominadas por A y B, entonces eliminaremos C y D .En la tabla resultante tras eliminar C y D, tanto IA como IB cubren todos los mintérmi-

nos que faltan y además tienen el mismo coste, por lo que se puede elegir cualquiera de ellas .

Por tanto : F = IE+IF+IG+ IA = BC+BC+AD+AB

IB

AC

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

A

xx

x Bx C

xx

xx

D

xEx F

X

Gx

1

H

La empresa quiere construir almacenes de forma que cada pueblo, o bien tenga unalmacén o bien un pueblo vecino lo tenga .

0A XB XCD

1XXXX

2X

3X

4

X

5

X

X

9

XX

10 11

X

12 13

X

15

E. . ...

.o

.... .

. . . . . . .

:

- -----

. . . . .k. . .

.-. . . . . L

aF

... . .

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

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

. . . . ..x

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

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

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

. . . . . . . . . .

-. . . .i . .

. .

. . . . . . . . . . . . .;

. . . . .

Page 82: Electronica digital problemas_de_circuitos_y_sistemas_digitales

76 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a) Determine todas las formas de hacerlo construyendo el menor número de almacenesposibles .

b) Si en los pueblos A y G se ponen almacenes por tener mayor número de habitantes,determine todas las soluciones más económicas .

Solución P19 .- a) Este es un problema de cubrimiento: con el menor número de almacenes,cubrir todos los pueblos . Vamos a aplicar la segunda parte del método de Quine-McCluskey,que consiste en hacer un cubrimiento óptimo . Si bien en el caso del método de Quine-McClus-key el problema consiste en obtener un "conjunto de implicantes mínimo" que cubra a todoslos "mintérminos", 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" . Existe unaequivalencia entre implicantes y almacenes en los pueblos y entre mintérminos y pueblos .

Vamos a construir una tabla de cubrimiento donde vamos a tener una fila por cadaalmacén que se pueda instalar en un pueblo y una columna por cada pueblo :

donde a, b, c, d, e, f, g y h representan un almacén en los pueblos A, B, C, D, E, F, G y H res-

pectivamente. Cada uno de ellos cubre al pueblo donde está instalado y a los pueblos vecinos .Por ejemplo, un almacén en el pueblo A, fila a, cubre a los pueblos A, B, D y F .

A partir de aquí el procedimiento es igual al del cubrimiento en Quine-McCluskey :Columnas distinguidas; filas dominadas y columnas dominantes . No obstante, en el enunciadonos dicen que se deben obtener todas las soluciones mínimas . Cuando se pretende obtenertodos los cubrimientos mínimos, no se debe aplicar el criterio de eliminar filas dominadas, yaque este criterio elimina algunas soluciones mínimas .

Cubrimiento mínimo de la tabla .Eliminamos las columnas dominantes : D (domina a B) y C y H (dominan a G) .El resultado de eliminar estas columnas, es la siguiente tabla cíclica :

A B E F Ga X X Xb X Xc X Xd X X Xe X Xf X X Xg X

X X

A B C D E F G H

a X X X Xb X X X Xc X X X X Xd X X X X Xe X X Xf X X X Xg X X Xh X X

Page 83: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE CIRCUITOS COMBINACIONALES 77

Para resolver esta tabla vamos a aplicar el método exhaustivo .En este método se parte de una columna con el mínimo número de marcas . En este caso

la columna E .Para cubrir el pueblo E hay tres opciones : Instalar almacén en d ó en e ó en f . Analice-

mos cada una de ellas :1 .- Eligiendo d : Eliminamos las filas que cubre d: A, B, y E quedando la siguiente tabla :

Con h se cubre el resto de la tabla . Así pues con d y h se cubren todas las columnas .2.- Eligiendo e : Eliminamos las filas que cubre e : E y F quedando la siguiente tabla :

Además de e se necesitan al menos dos más (por ejemplo : a y c ó b y g) . En total tres,con lo que no son soluciones mínimas .

3.- Eligiendo f: Eliminamos las filas que cubre f: A, E y F quedando la siguiente tabla :

Con c se cubre el resto de la tabla. Así pues con f y c se cubre todas las columnas .Existen por tanto dos soluciones 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, aplicando el método de Petrick .Este es un método que consiste en lo siguiente :1 .- Se forma la función de Petrick como expresión producto de sumas, donde cada tér-

mino suma corresponde a las formas de cubrir una columna mediante filas . P .ej ., A se cubrecon (a+b+d+f) :

B Ga Xb Xc X Xd Xg Xh

a X Xb X Xc X Xd X Xf Xg Xh X

F Ga Xbc Xe Xf Xg X

X X

Page 84: Electronica digital problemas_de_circuitos_y_sistemas_digitales

78 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

P = (a+b+d+f)(a+b+c+d)(b+c+d+g+h)(a+b+d+e)(d+e+f)(a+e+f+h)(c+g+h)(c+f+g+h) .2.- Se obtiene la función de Petrick como suma de productos . 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) .Por tanto, las soluciones mínimas son construir en C y F ó en D y H .b) Si en A y G se colocan almacenes están cubiertos todos los pueblos vecinos de A y

G junto con ellos . Se pueden eliminar de la tabla de cubrimiento inicial . Al eliminar estos pue-blos la tabla queda como sigue :

1 Ede

XX

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

Problema 20.- Diseñe, con el menor número posible de puertas, un divisor por 2 de un dígitoBCD. Dé el resultado con una cifra decimal (también en BCD) .

Solución P20.-Debemos diseñar un circuito con 4 señales de entrada representando un dígitoBCD y que genere a la salida el resultado de dividir ese dígito por 2 . El resultado deberá teneruna cifra decimal y estará representado en BCD . Por tanto la salida tendrá 8 señales : z3z2z 1 _

z0.u3u2u1u0, donde z3z2z1z0 representa el dígito BCD de la parte entera de la división y

u3u2u1u0 el dígito BCD de la parte fraccionaria .

La tabla de verdad del circuito es la siguiente :

De la tabla de verdad se obtiene una expresión para cada salida sin más que compararlas columnas de cada salida con las columnas de las entradas . Así se tiene :

z3=0,z2=a,z1=b, z0=c,u3=0,u2=d,u1=0,up=d .

ENTRADAS SALIDASN

a b c d N/2 z3z2z1z0.u3u2u1u00

0 0 0 0 0.0 0 0 0 0 .0 0 0 01

0 0 0 1 0.5 0 0 0 0 .0 1 0 12

0 0 1 0 1 .0 0 0 0 1 . 0 0 0 03

0 0 1 1 1 .5 0 0 0 1 .0 1 0 14

0 1 0 0 2.0 0 0 1 0 .0 0 0 05

0101 2.5 0010 .01016

0 1 1 0 3 .0 0 0 1 1 .0 0 0 07

01 1 1 3 .5 001 1 .01018

1 0 0 0 4.0 0 1 0 0 .0 0 0 09

1001 4.5 0100 .0101

Page 85: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 21 .- Una cierta puerta de cuatro entradas llamada LIMON realiza la funciónsiguiente:

L IMON(A, B, C, D)=BC(A+D)Suponiendo entradas en doble raíl:

a) Realice la función:f (v, x, y, z) = E (0, 1, 6, 9, 10, 11, 14, 15)

con sólo tres LIMON y una OR .

b) ¿ Puede realizarse cualquier función en lógica LIMON/OR? .

Solución P21 .- La puerta LIMON realiza la siguiente función :LIMON(A,B,C,D)=L(A,B,C,D)=BC(A+D) = ABC + BCD .Es posible realizar términos productos de 1 variable (por ejemplo con L(1,x,1,1)=x), de

dos variables (por ejemplo L(l,x,y,1) = xy), de 3 variables (por ejemplo L(O,x,y,z) = xyz) óuna suma de 2 términos productos de 3 variables con al menos dos literales comunes . Teniendoen cuenta esto vamos a obtener una expresión en forma de suma de productos para f y poste-riormente veremos si es posible implementarla con puertas LIMON .

Del mapa de Kamaugh se obtiene la siguiente expresión para f :

n090

DISEÑO DE CIRCUITOS COMBINACIONALES 79

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

fTenemos dos opciones para f, (1) y (2) . Como sólo disponemos de tres puertas LIMON

y la función f tiene 4 términos productos, debemos usar una puerta LIMON para implementardos de los 4 términos productos. Para ellos necesitamos dos términos productos que compartandos variables . Esto es posible en la opción (2), con los términos productos v x y y x y z. Lasuma de estos términos productos la podemos implementar con la siguiente puerta LIMON :

LIMON (v,x,y,z) = v x y + x y z = L 1Los otros dos términos productos los implementamos cada uno de ellos con una puerta

LIMON de la siguiente manera :LIMON (l ,v,y,1) = v y = L 2 .LIMON (v,x,z,0) =v x z = L3 .

Por tanto :f= L, +L2 +L3

b) Con la puerta LIMON podemos implementar términos productos de hasta tres varia-bles. Para implementar un término producto de más de tres variables necesitamos más de unapuerta LIMON pero es posible implementarlo . Por tanto sí es posible implementar cualquierfunción utilizando exclusivamente puertas 'LIMON (con tantos niveles como se necesiten) ypuertas OR .

Page 86: Electronica digital problemas_de_circuitos_y_sistemas_digitales

80 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 22.- Se desea enviar mensajes de tres bits de una estación a otra y, para evitar enlo posible los errores, se ha decidido añadirle al mensaje un bit de paridad impar . Disponiendoúnicamente de puertas EXOR y NO-EXOR de dos entradas :

a) Diseñe el circuito que genere ese bit de paridad impar en la estación emisora .b) Diseñe también el circuito que compruebe en la estación receptora que el mensaje

recibido es correcto.c) Generalice ambos apartados para n bits.

Solución P22 .a) El enunciado nos pide diseñar un circuito que genere un bit de paridad impar a un có-

digo de 3bits :

b

CIRCUITOCOMBINACIONAL p

P = 0 si el n°- de "1"en abc es impar

P = 1 si el n2 de "I"en abc es par

Hay que diseñar el circuito usando exclusivamente puertas EXOR y NO-EXOR .La función EXOR se hace 1 cuando el número de 1 `s en sus variables es impar . Enton-

ces, teniendo en cuenta la definición de P, P es el complemento de la función EXOR de a, b y c :P = a$b(Dc = (a$b) ©cAsí, el circuito combinacional que genera P es el siguiente :

b

b) El enunciado nos pide diseñar un circuito que detecte un error de paridad impar en uncódigo de 4 bits :

b

CIRCUITOCOMBINACIONAL

E = 0 si el n4 de "1"en abcP es impar

E = 1 si el n °- de "1"E en abcP es par

Teniendo en cuenta la definición de la función EXOR que se vio en el apartado a y ladefinición de E, E es el complemento de la función EXOR de a, b, c y P :

E = aObOcOP = (aOb) O (cOP)

Page 87: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

a _b

=1

DISEÑO DE CIRCUITOS COMBINACIONALES 81

o- E

c) Generalización al caso de n bits : xn-1,xn-2x1 ,x0.En el caso del generador de bit de paridad impar, la función del bit de paridad P es :P = 1 si el número de 1 `s en los n bits es imparP = 0 si el número de 1 `s en los n bits es parDe esta forma teniendo en cuenta la definición de la función EXOR, la función P es el

complemento de la operación EXOR de los n bits :P = x„- 1 O+xi-20+O+ x 1 Ox o

El circuito se puede hacer encadenando puertas EXOR de dos entradas y una últimapuerta NEXOR .

En el caso del detector de bit de paridad impar, la función se define exactamente igualincluyendo un bit más que es el bit de paridad P :

E = 1 si el número de l's en los n+l bits es imparE = 0 si el número de l's en los n+l bits es parDe esta forma teniendo en cuenta la definición de la función EXOR, la función P es el

complemento de la operación EXOR de los n bits :

E = POxi _ 1 O+x,i-20+(D XI +O X0

Problema 23.- La expresión algebraicaCo =AoCk = (Ao + A 1 + . . . + Ak_ 1) O+ Ak

k = 1, 2, . . .proporciona el valor de la salida Ck de un circuito en función de las entradas A0, ., Ak-1, Ak.

(a) Diseñe el circuito correspondiente a cuatro bits de entrada .(b) Describa verbalmente qué tarea realiza dicho circuito .(c) Utilizando como módulo el circuito diseñado en (a), realice un nuevo circuito para 12

bits de entrada, indicando las nuevas entradas y salidas que hay que añadir al módulo dise-ñado en (a), para que el nuevo circuito de 12 bits pueda operar correctamente .

Solución P23.- Para 4 bits de entrada existen 4 bits de salida cuyas expresiones y el circuitofinal son las siguientes :

Page 88: Electronica digital problemas_de_circuitos_y_sistemas_digitales

82 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Co = Ao

C 1 =Ao +OA 1

C2 = (Ao+A1) OA2

C3 = ( Ao+A1 +A2 ) +OA3

?1

A2

C3

C2

>1

C1

Ao

Co

b) Analizando la tabla de verdad de las funciones C ; (i = 0, 1, 2, 3) se comprueba que seobtiene el complemento a 2 del número de 4 bits de entrada :

c) Para obtener la variable C k hay que ir arrastrando la operación OR de las K variables

de entrada anteriores (A0 hasta Ak _ 1 ) . Para ello hay que añadir al módulo de 4 bits diseñado en

el apartado a) una señal de entrada, Kin, que permita introducir la operación OR de las varia-bles de entrada de los módulos que se coloquen antes, y una señal de salida, Kout, que trans-mita la operación OR de las variables de entrada anteriores al siguiente módulo . De esta ma-

nera la primera variable de salida del modulo, C0, no se obtiene directamente de la entrada Ao

sino como la operación EXOR de Ao y Kin (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) .

A3 A2 Al Ao C3 C2 C1 Co

0 0 0 0 0 0 0 00 0 0 1 1 1 1 10 0 1 0 1 1 1 00 0 1 1 1 1 0 10 1 0 0 1 1 0 00 1 0 1 1 0 1 10 1 1 0 1 0 1 00 1 1 1 1 0 0 1

C3 - o= Ca 2 (A3-o)

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

Page 89: Electronica digital problemas_de_circuitos_y_sistemas_digitales

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 24 .- Dada la función de la figura, obtenga la mínima expresión en forma de sumade productos .

00

01

11

lo

Solución P24.-f=abe+abcd+acde+abde

Problema 25.- Diseñe de forma óptima, un circuito que genere la función f(a,b,c,d,e) y cuyarealización sea en dos niveles :

a) f = E ( 0, 1, 5, 6, 9) + d (10, 11, 12, 13, 14, 15) .b) f = 1 ( 0, 2, 5, 7, 13, 15, 18, 26, 29, 31) + d(20, 24, 28) .

DISEÑO DE CIRCUITOS COMBINACIONALES 83

cb a

oo0 001 011 ojo 110 111 101 100

0 0 0 0 0 1 0 0

0 0 0 0 1 1 0 0

1 1 1 1 1 0 0 0

0 0 0 0 0

Módulo de 4 entradas y 4 salidasA3

A2 A1 Ao

_1 >_1 >_1 >_1Kout- Kin

1=1 =1 =1 =1

C3 c, Bo

A 11 Ajo

Conexión

A9 A8

A7

entre

A6 A5

módulos

A4

A3 A2 A l Ao

A3 A2 Al Ao A3 A2 Al Ao A3 A2 A 1 AoKout Kin Kout Kin Kout Kin 0

C3 C2 Cl CO C3 C2 C l Co C3 C2 C 1 Co

C11 C10 C9 C8

C7 C6 C5 C4

C 3 C 2 C 1 C o

Page 90: Electronica digital problemas_de_circuitos_y_sistemas_digitales

84 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P25 .a)fsp =ábc+bcd+cd

fps =(á+d) (b+c) (c+d) (b+c+d)b)fsp =ace+bce+atice+acde

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

Problema 26.- Sea F una función de un dígito BCD y de una entrada de control X. F vale "1 "en los siguientes casos :

1) Si X= 1 y el n° BCD es múltiplo de 3.2) Si X=0 y el n° BCD tiene un n 2 impar de unos.

Implemente F como un circuito en dos niveles utilizando puertas NAND .

Solución P26.- El mapa de Karnaugh y una expresión en forma sp (para implementar la fun-ción en dos niveles NAND-NAND) son los siguientes :

Xabd00011110

f = Xábcd+Xbcd+Xbcd+Xbcd+Xad+Xad+Xbcd+Xbcd+Xábcd

Problema 27.- Rediseñe el circuito de la figura con puertas NAND solamente .

x

y

z

Solución P27 .- Primero hay que analizarlo, para posteriormente buscar una expresión en sumade productos :

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

000 001 011 010 110 111 101 100

f

LpEiR∎ 0

C~ d ,v1 o ~4\ d

Page 91: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 28.- Diseñe un circuito cuya salida sea el resto de la división de un número A detres bits entre un número B de dos . El número B nunca puede ser cero .

Solución P28.- El mapa de Karnaugh y las expresiones en forma sp para las dos salidas queforman el "resto" de la división son los siguientes :

f

011

CIRCUITO A

CIRCUITO B

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 :F 1F2 = 0 0 cuando gana NO en la votación del tribunal A .F 1F2 = 0 1 cuando gana SÍ en la votación del tribunal A .F1F2 = 1- cuando se empata en la votación del tribunal A .

DISEÑO DE CIRCUITOS COMBINACIONALES

010 110 111

r, =a2a,aob l b o +a2a,aob,bo

ro = aobo +a2a,aob 1 +a2a 1 aob1 +a 2a,aob l bo

Problema 29.- Un sistema sencillo para hacer votación secreta es utilizar un circuito combi-nacional cuyas entradas estén controladas por interruptores que puedan accionar los miem-bros del jurado . Cada miembro votará con un SÍ o un NO (no hay abstenciones) .

El sistema que queremos realizar es el siguiente . Hay dos tribunales: A y B. El tribunalA tiene 4 miembros (a,b,c, y d) y el tribunal B tres (e,f, y g). El veredicto deberá ser..- El del tribunal A en el caso de que no se produzca empate .-4 Si se produce empate en el tribunal A, el veredicto será el del tribunal B .Diseñe el circuito según el diagrama de bloques de la figura:

101 100

r a ro

CIRCUITO C

85

dd dd dd dd dd dd dd dd

00 00 00 00 00 00 00 00

00 01 00 10 00 01 10 01

00 01 01 00 00 01 01 00

Page 92: Electronica digital problemas_de_circuitos_y_sistemas_digitales

86 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Del circuito B :F3 = 0 cuando gana NO en la votación del tribunal B .

F3 = 1 cuando gana 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 Karnaugh para cada una de las funciones y sus expresiones en forma sp

son los siguientes :

F I= ábcd+ábcd+ábcd+ a b e d + a b c d + a b c d

uaooF3=ef+eg+fg

Problema 30.- Se desean visualizar las siguientes representaciones utilizando un visualiza-dor de 7 segmentos . Diseñe un circuito de tres entradas que encienda correctamente el seg-mento g .

REPRESENTACIONES

El I_ P IC C

1 1 uLUL 1

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 .

F 2= a b + c d

S= F 1 F2 + F 1 F3

VISUALIZADOR 7 SEGMENTOS

ab

abcd\ 00 01 11 10

cd\ 00 01 11 10

00 0 0 1 0 00 0 0 d 0

01 0 1 0 1 01 0 d 1 d

11 1 0 0 0 11 d 1 1 1

10 0 1 0 1 10 0 d 1 d

Page 93: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE CIRCUITOS COMBINACIONALES 87

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

REPRESENTACIONES x y z

> 000

L 001ur 010LU> 011

C 100LC

> 101

g

1

1

0

1

1

1

Problema 31 .- Una caja de seguridad dispone de 5 cerrojos (V,W,X,Y,Z) los cuales debenser desbloqueados para abrirla caja . Las llaves de la caja están distribuidas entre 5 ejecutivosde la siguiente manera: A tiene llaves para los cerrojos V, X; B para V, Y; C para W, Y; D paraX, Z; E para V, ZZ

a) Determine todas las combinaciones mínimas de ejecutivos requeridos para abrir lacaja .

b) Determine el ejecutivo "esencial".

Solución P31 .- Es un problema de cubrimiento mínimo y para resolverlo se debe aplicar elmétodo ya conocido (véanse los Problemas 17 y 19) . La tabla de cubrimiento es :

g=y+z

Las combinaciones de ejecutivos mínimas que se obtienen con esta tabla de cubrimientoson: (A, C, E } ( A, C, D ) { B, C, D } {C, D, E } . El ejecutivo "esencial" es el C .

Problema 32.- Dada una palabra "A" de n bits y una señal de control "C", diseñar un circuitocombinacional cuya salida sea el complemento a 1 (Ca 1) ó el complemento a 2 (Ca2), segúnel valor de C . Utilice exclusivamente puertas EXOR y OR .

Solución P32 .- Sea A=An_1An_2A 1Ap el número de entrada y B = Bn_1Bn_2B 1 Bp el

número de salida . El circuito que obtiene el complemento a 1 ó a 2 en función del valor de Ces el siguiente :

V X y zA x xB x xC x xD x xE x x

Page 94: Electronica digital problemas_de_circuitos_y_sistemas_digitales

88 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

n-

Bn-1 -

Problema 33.- Una luz se enciende cuando su señal de excitación está en nivel bajo . Estaseñal está controlada por un circuito de cuatro entradas: x, ->orden de encender la luz, activaen bajo ; x2->orden de inhibir la luz, activa en bajo ; x3->orden de emergencia, activa en bajo;x4->aviso del estado de la luz en la calle : "1" si es de día, "0" si es de noche . La luz se debeiluminar cuando haya orden de encenderla, el estado de la luz exterior sea el apropiado y nohaya inhibición, excepto si hay emergencia, en cuyo caso la luz se enciende independiente-mente de las otras señales.

De una tabla de verdad del circuito que controla la luz diseñándolo con los elementosque estime oportunos .

Solución P33.- Función de salida :L=0 luz encendida .L = 1 luz apagada .

Variables de entrada :x1 = 0 encender luz .x 1 = 1 no encender luz .x2 = 0 inhibir luz .x2 = 1 no inhibir luz .x3 = 0 emergencia .x3 = 1 no emergencia .x4 = 0 es de noche .X4= 1 es de día.

Función L :L = 0 si se enciende y es de noche y no hay inhibición : (xt+x4+x2) .L = 0 si hay emergencia : x 3L = (x 1+x4+x2)x3 .

_ 1 An - ?l

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

A

A

>1

=1

Page 95: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 5

SUBSISTEMAS COMBINACIONALES

En este Capítulo se abordan los subsistemas combinacionales . Con este nombre se agrupa auna gran diversidad de circuitos que, a nivel estructural son generalmente mucho máscomplejos que las puertas estando integrados en al menos la escala MSI y cuya funcionalidadva mucho más allá de las meras operaciones algebraicas . Una clasificación atendiendo a dichafuncionalidad los divide en subsistemas de propósito específico y subsistemas de propósitogeneral . Los primeros realizan funciones fijas, mientras que los segundos realizan cualquierfunción lógica mediante una "programación" interna o de sus entradas y salidas . Antes deconocer uno a uno los dispositivos que componen ambos grupos, destacamos algunascaracterí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ñalde habilitación (Enable). Y las segundas corresponden a las variables independientes de lasfunciones que desarrollan . Es importante destacar que en estos dispositivos, cada entrada dedato suele poseer un peso asociado, de modo que las entradas no son intercambiables comoocurrí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 sonrealmente 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 porejemplo, nos referimos a la entrada de habilitación (EN), que sea activa en alta significa quecuando é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 deesta obra, las señales activas en bajo se representan con un "círculo" (por ej ., las señales dehabilitació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) .

1 Recordemos que usamos lógica positiva (L * 0, H -* 1) .

89

Page 96: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

Co

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

pleto .Codificador :

Realiza la operación contraria al decodificador. Es decir, convierte el código "l-entre-n" encódigo binario. Un codificador completo posee 2" entradas, de las que sólo una puede estaractiva, y n salidas que ofrecen la combinación binaria asociada a dicha entrada . Su símbolo,

tabla y ecuaciones de salida son las siguientes :

0

COD 4:2

Y1= c3+c2

Y0= C3+c 1

C3

C2

C1

Co

1

0

0

0

• 1 0 0

• 0 1 0

0 0 1

Yl

Yo•

2•

1

Si el codificador posee m entradas y n salidas, con m < 2", se denomina codificador nocompleto .

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 deverdad es :

1 EN x 1 xo do d l d2 d 33 - d 3 = x 1 .x o•EN

0 0 0 0 01 d 22- = x 1 .xo•EN

1 0 0 1 0 0 01 - d 1 = x 1 .xo•ENo0 - d o = x 1 .xo•EN 1 0 1 0 1 0 0

DEC 2:41 1 0 0 0 1

0

1 1 1 0 0 0

1DEC 2:4 con salidas activas en alto

Page 97: Electronica digital problemas_de_circuitos_y_sistemas_digitales

CoC1C2C3

S I SO

c 3

c2

C 1

c0

1•

1•

0 1•

0 0 1

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 casosparticulares 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 comoresultado si A<B, A=B o A<B . El símbolo y la tabla son :

SUBSISTEMAS DE PROPÓSITO GENERAL

Multiplexor :Un MUX-n o MUX 2" :1 es un dispositivo de 2" canales de entrada (datos), n entradas de se-lección de canal y 1 salida. Su funcionalidad es dejar pasar hacia la salida la información queentra 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 den variables o de n+l 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 :

SUBSISTEMAS COMBINACIONALES 91

Yi

Yo

Demultiplexor :Realiza la función inversa al multiplexor . Un DEMUX-n o DEMUX 1 :2", posee una entradade dato, n entradas de selección y 2n líneas o canales de salida. Su función consiste en pasar lainformación de entrada de dato a una de las líneas de salida, la determinada por la combinación

S i So F

F=C0•S 1 •So+C 1 •S 1 •S o+C2 •S 1 •So+C3 •S 1 •SO 0 0 Co0 1 C 11 0 C21 1 C3

A -,> A>BA=B E

Datos G E Ln A>B

A=B10

0 01 0

B -2o(-A A<B - L A<B 0 0 1n

Page 98: Electronica digital problemas_de_circuitos_y_sistemas_digitales

92 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

binaria de las señales de selección . El símbolo que se utilizará en el Capítulo y su tabla semuestran a continuación :

Din

siso

Analizando la tabla se puede comprobar que el dispositivo es equivalente a un decodi-ficador con señal de habilitación EN= Din .

Dispositivos Lógicos Programables (PLD's) :Su estructura general es la siguiente :

plano AND

plano OR----

líneas AND

.

entradas

Atendiendo a la posible programación de cada plano podemos hacer la clasificación si-guiente :

salidas

ROM:Una ROM(2nxm) posee n entradas de dirección y m salidas, que puede verse como un dispo-sitivo que almacena 2n palabras de m bits, de forma que para cada combinación binaria de susn entradas se selecciona una de sus 2n palabras. En las m líneas de salida se lee la palabra al-macenada. Del plano AND de una ROM se obtienen todos los mintérminos de las n variablesde entrada, y en función de la programación del plano OR, se eligen los que interesen para rea-lizar la función lógica que se desee . Por tanto, una ROM es un dispositivo lógico universal den variables para m funciones .

plano AND plano OR

No programable Programable ROM

Programable Programable PLA

Programable No programable PAL

C0= Din•S 1 •Sp S 1 So Co C1 C2 C3C1= Din•S 1•So

Din 0 0 00 0C2= Din S, -«90 0 1 0 Din 0 0C3= Din •S 1 -So1 0 0 0 Din 01 1 0 0 0 Din

Page 99: Electronica digital problemas_de_circuitos_y_sistemas_digitales

xox>yx=yx<y

Eyl

SUBSISTEMAS COMBINACIONALES 93

PLA :Un PLA(n,p,m) es un subsistema con n entradas, m salidas y p términos productos (salidas delplano AND) . 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 .

PAL:En este dispositivo cada salida es la OR de un conjunto determinado de líneas AND, no estan-do compartidas ninguna de ellas por otra salida . La implementación de una función con estedispositivo es similar al caso anterior, salvo que en el PAL cada función de salida se trata in-dependientemente de las otras .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Análisis de circuitos con subsistemas .- Diseño de subsistemas .- Diseño de funciones lógicas con subsistemas .

PROBLEMAS RESUELTOS

Problema 1.-Describa con palabras el funcionamiento del circuito :

23456

Solución Pl .- Si las entradas x t xo son mayores o igual a y yo , se activarán las salidas G o E,respectivamente, del comparador de magnitudes . Estas salidas, gracias a la puerta OR, provo-can que la entrada del demultiplexor sea un 1 lógico . Habrá, ahora, que determinar cuál es elcanal de salida, en función de las señales de selección . Puesto que x>y, la salida L del compa-rador es 0, por tanto los canales seleccionados dependen sólo de y t (canal 1 o canal 5) . Comopuede verse, estos canales están unidos mediante una OR, por lo que la salida será 1 .

Cuando x<y, la salida L del comparador está activa. La entrada del DMUX se encuentraa 0 e, independientemente de las entradas de selección, los canales valdrán todos 0, y la salidatambién .

En resumen, si x>y, f=1 y si x<y, f=0 .

Page 100: Electronica digital problemas_de_circuitos_y_sistemas_digitales

94 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 2.-Rediseñe en dos niveles el circuito de la figura :

Solución P2.- Los canales de entrada del multiplexor responden a la siguiente tabla :

A3A2A lAo

ROM

00

01

11

10

D

D3D2

D

D

que, junto con las señales de selección de canal, podemos construir el K-mapa siguiente :

xyz000 001 011 010 110 111

uv

f

de donde obtenemos la expresión mínima :

f = v •z +ú •y . z+u •y -z+ú •v «y •z +ú •x •z

Problema 3.- Interprete la utilidad del sistema mostrado en la figura .

convertidorbinario/BCD

101 100

convBCD7 seg

convBCD7 seg

bce

el

l cfg

da'

b'

e'f

fl 91 l b ,

e l

l c'd'

0 1 1 0 0 1 1 0

0 1 1 1 1 0 1 0

0 0 1 0 0 1 0 0

0 1 - 0 - 1 0

x y z do d d2 d 3

0 0 0 0 0 0 00 0 1 1 1 1 00 1 0 0 1 - 00 1 1 1 1 1

11 0 0 0 0 0 01 0 1 1 1 1 01 1 0 0 1 0 01 1 1 1 0 -

1

A2 A 1 Ao D4 D 3 D 2 D I DoROM

D4do 0 0 0 0 0 0 0 01 0

x- d i 0 0 1 1 1 -

1 0A2 DY- d2

1F 0 1 0 0 1 - 0 0

z-AlAo

DDI

d 20

01

10

10

10

10

1

10 0

10

D 1 0 1 1 1 -

1 01 1 0 0 1 0 0 0

u v 1 1 1 1 0 - 0 1

Page 101: Electronica digital problemas_de_circuitos_y_sistemas_digitales

SUBSISTEMAS COMBINACIONALES 95

Solución P3 .- Dada una entrada (A3,A2,A 1 ,A0), se selecciona una posición de la ROM cuyocontenido se vuelca en el bus de datos (D 4-0) . El convertidor binario a BCD, transforma el nú-mero binario en su correspondiente BCD de 2 dígitos . Estos dígitos BCD, se muestran en sen-dos displays de 7 segmentos . Por tanto, el sistema de la figura, sirve para mostrar el contenidode una memoria ROM en formato decimal .

Problema 4.-Diseñe un codificador de prioridad de 4 entradas activas en el nivel bajo. Añadauna salida que indique cuándo no hay ninguna entrada activa .

Solución P4 .

Las entradas al codificador son activas en baja, siendo EO la de mayor prioridad y E3 lade menor.

La salida Y señala cuando no hay ninguna entrada activa en el codificador de prioridad .Y = E0-E1-E2-E3

las restantes ecuaciones algebraicas para las demás salidas :A1 = EO•E 1

A0 = EO .(É 1 + E2),

Problema 5.- Se tienen dos codificadores de prioridad 4 a 2 como el de la figura . Este dispos-itivo dispone de una entrada de habilitación El y dos salidas EO y GS. EO se activa cuandoel codificador está habilitado pero no hay ninguna entrada de datos activa, mientras que GSse activa cuando el codificador está habilitado y hay alguna entrada activa . Diseñe un codifi-cador de prioridad de 8 a 3 de las mismas características de los anteriores . Además de losdos codificadores, se pueden emplear hasta un máximo de ocho puertas de Jos entradas .

EO E l E2 E3 A 1 Ao Y

0 0 0

0EO A1 1 0 0 1

0El . c 1E2 2 AO

1 1 0 1 0

0E C Y

COD 1 1 1 0 1 1

01 1 1 1 1

Page 102: Electronica digital problemas_de_circuitos_y_sistemas_digitales

96 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

El

EO13

GS12I1

COD

Qllo

Qo

Solución P5.- De acuerdo con la descripción del enunciado y suponiendo que la entrada deldispositivo con mayor prioridad es 1 3 , la tabla de verdad es :

El dispositivo a realizar es una extensión de éste . Llamando con minúsculas a sus varia-bles, nuestro objetivo es realizar el siguiente circuito :

1

COD 8:3

e¡ i 7 i 6 i5 i4 i3 i2 il eo gs q2 q1 q0

1 1 1e o

gs 0 0 1 0 1 1 1

0 1 0 1 0 1 1 0

q2 0 1 1 0 1 0 1 0 1

q1 0 1 1 1 0 1 0 1 0 0q0 0 1 1 1 1 0 1 0 0 1 1

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

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

o

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

0 1 1 1 1 1 1 1 1 0 1

El EO GS Q

Qo1 1

1 No habilitado

0 1

0 1

1

0 1

0 1

0 1

0

0 1

1

0 1

0 0

1Habilitado con algunaentrada activa

0 1

1

1

0 1

0 0

0

0 1

1

1

1 0

1 Habilitado, pero no activo

Page 103: Electronica digital problemas_de_circuitos_y_sistemas_digitales

e ¡

i7

i6

'3

2

i t - -~

i o

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

El

EO >

C

c

-C

13

12

I

lo

GS

H

Ql

QoCOD

I 1

Ql

I

QoCOD

J

SUBSISTEMAS COMBINACIONALES 97

Para realizar el codificador de ocho entradas necesitamos dos codificadores de cuatroentradas, uno recibirá las entradas más significativas (i7 - i4) y el otro las menos significativas(i 3 - io) . Las variables de entrada y salida correspondientes al primer codificador las notaremoscon el superíndice "H" y a las correspondientes al segundo codificador con el superíndice "L" .

Para dar la solución adoptamos una de las posibles alternativas de conexionado mostra-da en la siguiente figura:

Circuito

combinacional

COD 8:3------------------------------------------------------

En esta solución, la habilitación externa actúa sobre el codificador H (más prioritario)y, sólo cuando no hay petición en i 7 , o i 4 , se habilitará el codificador L (menos priorita-rio). Para ello, conectamos EO H con EIL .

Además existe un circuito combinacional que, recibiendo como entradas las salidas delos codificadores, genera las salidas deseadas .

Para nuestra solución se cumplen las siguientes relaciones :El = e;EIL = EOH

La tabla siguiente muestra los valores de entradas del codificador completo y el valorde las señales intermedias que serán las salidas de cada uno de los dos codificadores que esta-mos utilizando .

3 T e a

g

q2

qi

q0

Page 104: Electronica digital problemas_de_circuitos_y_sistemas_digitales

i3ci2

io

El

EO)---

13

GS12 H

I,

Q l

o CODQ0

El EO

I

GS1 LI 1

Ql

COD

A partir de la tabla anterior se pueden obtener las relaciones algebraicas para las cincofunciones de salidas. Se han especificado a O las inespecificaciones en las salidas de los codi-ficadores .

eo = EOL

gs = GSH • GSL q2 = EOH q1 = Q1H + QIL q0 = QOH + Q0L

Si pasamos a la implementación de estas ecuaciones mediante puertas, el circuito globalsería el que se muestra a continuacion :

c o

gs

q1

q0

Problema 6.- Utilizando decodificadores 74138 (mostrados en la figura) y el menor númerode puertas posible, ¿cómo diseñarías . . .

a) un decodificador 4 a 16 .b) un decodificador 5 a 32? .

98 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

e; 17 16 15 14 1 3 11 10 EOH GSH QIH QOH EOL GSL QI L. Q01-

1 1 1 1

1

0 0 1 0 1 1 1

1

0 1 0 1 0 1 0 1

1

0 1 1 0 1 0 0 1 1

1

0 1 1 1 0 1 0 0 0 1

1

0 1 1 1 1 0 0 1 1

0

1

1

0 1 1 1 1 1 0 0 1 1

0

1

0

0 1 1 1 1 1 1 0 0 1 1

0

0

1

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

0 0 0

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

1

Page 105: Electronica digital problemas_de_circuitos_y_sistemas_digitales

SUBSISTEMAS COMBINACIONALES 99

Solución P6.- El decodificador del que disponemos, el Cl 74138, es el que se muestra a con-tinuación :

A2AlA0

210

OoO1020304050607

A partir de él, se quiere conseguir un decodificador 4 :16. Para ello se requiere dos de-codificadores y una de las posibles formas de asociarlos es como se ve en la siguiente figura,donde la nueva variable de entrada elige, según su valor lógico, cuál de los dos decodificadoresestará habilitado . Para ello, de las tres entradas de habilitación que tiene cada uno de los deco-dificadores, dos de ellas la fijamos al valor lógico correcto para habilitar al decodificador, y latercera entrada de enable es con la que se pretende ir habilitando uno u otro .

OoO1

Ó20 4050 6O6

08290 10Oll0,20,3014X15

Como comentario del decodificador obtenido se puede decir que no posee señales de ha-bilitación como tenía el inicial . Si se hubiera querido conservar éstas, se tenían que haber uti-lizado mayor número de decodificadores .Procediendo del mismo modo se puede conseguir un decodificador 5 :32 asociando cuatro de-codificadores y un inversor. Se muestra en la siguiente figura :

Page 106: Electronica digital problemas_de_circuitos_y_sistemas_digitales

100 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

21

DEC 5 :3L1

ÉÉE30-- 241>~ 252>-!-

263) .

274' 1285 >- :- 029

7Yr 0030

31

Problema 7.-La figura muestra un comparador de dos números de 1 bit y su tabla de verdad .Se desea obtener un comparador de números de 6 bits, utilizando exclusivamente compara-dores de 1 bit. El diseño debe contemplar que el tiempo de retraso no supere 4T, donde T esel retraso asociado al comparador de 1 bit .

É EA1 r-~- 1

21

43

040

5 5

7 07a4

a3-

1 1É, E2E, J_ 81 9

a2 -` 2

2T-~ 10al - 1 11~r4 12a0 Ser 13

6 !- 0147 -- 015

`-E, E2E3 011 ~-~- 162>-r 17

182

3~-~- 191

4° 200

5r-` 021822

T 23

Page 107: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P7 .- Para comparar dos números de 6 bits, con estos dispositivos, necesitaremoscomparar, bit a bit, los dos números . Utilizaremos, por ello, 6 comparadores :

C

C

C

C5

1

1

E5

E5 1

C

1

1

1

EO

El

E2A5 B 5

A4 B4

A3 B3

C

Ao BO

Al

C

E

C4

E4 1

SUBSISTEMAS COMBINACIONALES 101

C2

A2 B2

1

1

E4

E3

Supongamos que los bits A 0 y B0 son distintos. La salida E0 , evaluará 0 . Esto implicaque, independientemente de que los restantes bits sean iguales, la salida global debe evaluar 0 .Nos podemos valer de las entradas de habilitación de los restantes comparadores para que sussalidas también sean 0 . Extendemos este concepto a sólo 3 comparadores, para no superar lasrestricciones temporales .

B 1

A2

B21

C2

E

A4 B4

A3 B

C3

E3 1

Para las estructuras anteriores, E 2 y E3 serán distintos de 0, cuando los bits de los núme-ros A y B sean iguales . Si alguno de ellos varía, E 2 o/y E3 , pero al menos uno de los dos, será0. En efecto, supongamos que A 1 es distinto de B 1 , y todos los bits restantes son iguales . Lasalida del primer comparador, E 0 , será 1 (en el supuesto de que la entrada de habilitación sea1). Esto habilita la comparación del segundo comparador que, como sus bits de entrada difie-ren, generará un 0 en su salida E 1 . Esta salida inhibe al siguiente comparador, cuya salida tam-bién será 0, independientemente de A 2 y B2 .

Ci Ai B iA ;

BiEi

0 - - 01 0 0 11 0 1 0

11 1 0 01 1

1 1 Ei

Page 108: Electronica digital problemas_de_circuitos_y_sistemas_digitales

102 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Es importante destacar el hecho de que las respuestas de E 2 y E3 , se obtienen con untiempo de retraso de 3T .

Vamos a añadir, ahora, la señal de habilitación del comparador de 6 bits . Por la estruc-tura y funcionamiento mostrados anteriormente, podemos pensar que la mejor forma de intro-ducir esta señal, es utilizando las entradas de habilitación de los comparadores 0 y 5 . De estaforma se inhibe la operación de los 6 comparadores, generando, las dos ramas de comparado-res, un 0 lógico, en sus salidas respectivas (E2 y E3)-

A0 Bo

A1

B 1

A2 B2

Co

C5

EoEl

A5 B

A4 B4

E5

C 1

C4

C2

C3

E2

A3 B3

E4

E3

Nos falta, por último, generar una única salida E del comparador partir de E 2 y E3 y uti-lizando, como mucho, un comparador más, para no superar el tiempo de respuesta (4T) . Se hantabulado las posibles respuestas de E 2, E 3 y de la salida a generar, E, en función de los bits dedatos y habilitación

Podemos pensar que la forma de obtener la salida E, a partir de E2 y E3 , es introduciendoéstas en la entrada de un nuevo comparador, sin más . Esto no sería del todo correcto, porquecomo vemos en la tabla, cuando E2 y E3 valen 0, la salida debe ser 0. Esto se puede resolver,simplemente, utilizando como señal de habilitación cualquiera de las señales de entrada delcomparador, (E2 y E3 ), como muestra la figura :

C A,B E2 E3 E

0 xxxxxxxxxxxx 0 0 0

1 A0-2=B0-2 y A3-5=B3-5 1

1 1

1 A0-2=B0-2 y A3-5#B3-5 1

0 0

1 A0-2#B0-2 y A3-5=B3-5 0

1 0

1 A0-2#B0-2 y A3-5#B3-5 0 0 0

Page 109: Electronica digital problemas_de_circuitos_y_sistemas_digitales

E2

E3

C

SUBSISTEMAS COMBINACIONALES 103

1 E

Cuando E2=0 (ver tabla), la salida E vale 0, por estar este comparador inhabilitado .Cuando E2=1, el comparador está habilitado y sólo tenemos dos posibilidades, E 3=1 y E3=0 .

En la primera, el comparador activa su salida (E= 1) y en la segunda no .

Problema 8.-Realice las siguientes funciones haciendo uso de los dispositivos que se dan encada uno de los apartados:

a) Utilizando un decodificador con salidas activas en nivel alto y puertas OR .•

Utilizando un decodificador con salidas activas en nivel bajo y puertas AND .•

Utilizando un decodificador con salidas activas en alto y puertas NOR.•

Utilizando un decodificador con salidas activas en bajo y puertas NAND .•

E(0,9,11,15) + d(1,2,3)F= JJ (0, 3,5) • d(1,2)

Solución P8 .- Si se dispone de un decodificador con salidas activas en alta, la expresiónalgebraica que define cada una de éstas será el mintérmino correspondiente al número deentradas que tenga dicho decodificador. Por tanto, si usamos en cada apartado undecodificador con tantas entradas como variables tiene la función a diseñar, se dispondrá de

todos los mintérminos de ese número de variables, en cuyo caso sólo nos queda elegir entretodas las salidas cuáles son los mintérminos de la función y realizar la operación OR de todos .

De forma análoga, si el decodificador tiene las salidas activas en baja, la expresión para cadaun de ellas serán los maxtérminos del número de variables que posea el decodificador en suentrada. Siguiendo el mismo procedimiento, podemos conseguir todos los maxtérminosdistintos del número de variables que posea la función y elegir los que sean maxtérminos deésta. Bastaría después realizar la operación AND de éstos .

Pasamos a resolver el problema para cada una de las funciones del enunciadoF (a,b,c,d) = E(0,9,11,15) + d(1,2,3)a) utilizando decodificador salidas activas nivel alto y puertas OR :

012345

b 2

67

c 1

8d 9

10

11113DEC 144:16

15

Page 110: Electronica digital problemas_de_circuitos_y_sistemas_digitales

104 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

21

DEC4 :16

0a

c) utilizando decodificador salidas activas nivel alto y puertas NOR .Para este caso, dado que disponemos de una puerta NOR, tomaremos los maxtérminos

de la función complementaria a la que queremos diseñar . De esta forma, a la salida de la puertase obtiene la función del enunciado .

d) utilizando decodificador salidas activas nivel bajo y puertas NAND .Aplicando un razonamiento análogo al anterior dado que disponemos de una puerta

NAND, damos la siguiente solución al problema :

Para todos los apartados hemos despreciado la existencia de inespecificaciones .

012345

b 2

6 F71

8d 9

101112

DEC 13144:1615

012345

b 2

6 F7c 1

8d 9

101112

DEC 134:16

15

Page 111: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

b

012

1

30DEC 63 :8

7

SUBSISTEMAS COMBINACIONALES 105

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

012 2

1

30

4DEC 63 :8

7

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

F

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

Problema 9.-Encuentre un diseño mínimo para cada una de las siguientes funciones si sólodisponemos de un decodificador 3:8 y de puertas de dos entradas .

a) F= E(0,9,11,15) + d(1,2,3)b) F= fi (0, 3,5) - d(1,2)c) F = n (1, 3,4, 6, 9,11) • d(7,12,14)d) F = n (1,2,3,7,8,9)

Solución P9.- Para dar solución a este problema, en el apartado b) se sigue el mismo proce-dimiento que en el Problema 8, pero para los otros tres apartados, las funciones son de cuatrovariables y el decodificador del que se dispone sólo posee tres entradas . Con ello, de las salidasde éste, se obtienen los mintérminos o maxtérminos de tres variables (dependiendo del tipo desalida del decodificador), 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 .

012

b 3I-

0 DEC 63:8

7

Page 112: Electronica digital problemas_de_circuitos_y_sistemas_digitales

106 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

abc

1

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

cd

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

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

m6 + m7

abcd

abcd

210DEC3 :8

1a 2b 1

3 /

40

5DEC 63 :8

7

Page 113: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Hemos elegido la salida Z 1 Z0 = 0 0 para indicar que el circuito está no activo puesto queera la combinación de salida no utilizada en el enunciado .

Para diseñar el circuito, primero consideraremos que no tenemos señal de habilitación,y como segundo paso añadiremos ésta al circuito ya diseñado previamente .

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 . Mostramos este resultado en el siguiente mapa de Karnaugh :

Y00011110

00 01

SUBSISTEMAS COMBINACIONALES 107

Problema 10.- Un circuito tiene como entradas dos números binarios de dos bits cada uno :Y= y,yo; X= x,xo . Se desea que tenga salidas 11 si Y=X, 10 si Y>X y 01 si Y<X . Diseñe uncircuito con un decodificador de 3 a 8 con salidas activas en alto, un número no determinadode puertas NAND de dos entradas y dos puertas NAND de un número de entradas no limitado .Añada una señal de habilitación (enable). Las entradas están en único raíl. Utilice obligatoria-mente el decodificador.

Solución P10.-Las funciones del circuito, considerando E como señal de habilitación, estánrepresentadas en la siguiente tabla :

Z 1 Zo

11 10

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

Ambas funciones dependen de cuatro variables . Como el decodificador es de tres entra-das y ocho salidas activas en alta, en cada salida aparece uno de los ocho mintérminos de lastres variables que actúan como entradas en el decodificador. Esto es, dado que las salidas deldecodificador no proporcionan directamente los mintérminos de las funciones, tendremos querealizar la operación AND de la salida del decodificador con la cuarta variable con o sin com-plementar, según corresponda . Así tendremos :

11 01 01 01

10 11 01 01

10 10 11 10

10 10 01 11

E X Y Z i

Zo

0 0

0

1 X=Y 1

11 X>Y 1

01 X<Y 0

1

Z1 (x1 ,x0 ,y1 ,yo) = (0,1,2,3,5,6,7,10,11,15)=fl (4,8,9,12,13,14) .Zo (x1 ,x0 , y1 ,yo) = (0,4,5,8,9,10,12,13,14,15) =11(1,2,3,6,7,11) .

Page 114: Electronica digital problemas_de_circuitos_y_sistemas_digitales

108 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

DEC3 :8

Yo

xl'x0

xl'x0'Y]

x1 Xo ' Yl

x1'xo'Y]x1 Xo' Yi

xl'x0'Yi

xl'xo . Y

Yo

Yl

1

o - Y1

miMi. . . Mk

Mi +mj + . ..mk

Como se puede ver en el gráfico anterior, a la salida de la primera puerta NAND pode-mos obtener la función como suma (operación OR) de sus mintérminos, y a la salida de la se-gunda puerta NAND se expresaría la función como producto (operación AND) de los maxtér-minos .

Si pasamos a dar la solución para cada una de las funciones obteniéndolas como salidasde las puertas NAND de número variable de entradas, tendrías os que elegir como entradas dedicha puerta los maxtérminos de cuatro variables, cuyo subíndice sean las combinaciones bi-narias que hacen 1 a la función, así quedaría expresada ésta como suma de sus mintérminos .

Yo

Yo

xl'xo'Y¡ , Yo = mo

1' x0'Y1'Yo -M i

xl . x0' Y1' Yo - m14

miMi. . . Mk

1 » xo " Y F Yo = m15

Al disponer de puertas NAND de dos entradas, si las puertas AND anteriores son susti-tuidas por puertas NAND, a la salida de éstas dispondremos del complemento del mintérmino,es decir, maxtérmino correspondiente de cuatro variables .

Además, en el problema disponemos de dos puertas NAND de un número no limitadode entradas . Podemos realizar las dos funciones descritas por producto de sus maxtérminos .Como para ello tenemos dichas puertas NAND, este producto es negado a la salida, por lo quepodemos usar una puerta NAND de dos entradas actuando como inversor para conseguir lafunción final .

1

2

1 3xo

4Yl

56

Page 115: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Yo

x lxoY1

Yo

[ & •

Yo

10DEC3:8

Yo

Yo

Yo

c

SUBSISTEMAS COMBINACIONALES 109

Si elegimos expresar la función como producto (operación AND) de sus maxtérminosy utilizamos una puerta NAND actuando como inversor a la salida, el circuito final sería elmostrado a continuación :

M 1

M

M .MM

M8 M9_J

M12•M 13

M 1

MoiM1

M2•M 3M5

M M7M10M11

M15

ZI

Yo

Si incluimos la señal de habilitación E que se definió en una tabla anterior, una de lasopciones para resolverlo sería añadirle al decodificador una entrada de habilitación definida dela siguiente forma :

Yo - • &Mo

Yo -

Yo M

Yo M

l2

oM

X I1

3 M 14

0

5 YoY1 M 1

DEC 63:8 M 1

M1

M1

Page 116: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 11.- Diseñe un circuito de 4 entradas y 3 salidas, z0, z,, z2 que realice las siguientesfunciones :

zo vale 1 cuando tres o más entradas sean 1 .z, vale 1 cuando haya el mismo número de unos que de ceros .z2 vale 0 cuando dos o más entradas sean 1 .Para ello se dispone de :a) Un decodificador con salidas activas en nivel alto y puertas NOR.b) Un decodificador con salidas activas en bajo y puertas NAND .

Solución P11 .- El mapa de Karnaugh para las tres funciones de salidas y el circuito final se

muestra a continuación :

00

01

11

10

00 01 11 10zO=E (7,11,13,14,15)

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

z 2 = E (0,1,2,4,8)

zo z t z2

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

z0 = II (0,1,2,3,4,5,6,8,9,10,12) .

z 1 = 11 (0,1,2,4,7,8,11,13,14,15) .

Z2 = fI (3,5,6,7,9,10,11,12,13,14,15) .

001 001 010 001

001 010 100 010

010 100 100 100

001 010 100 010

110 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

001 01

E O; (cada salida del decodificador) 2 02X1

0 todas las salidas a 0 1 34

0304X o

1 sólo una de las salidas activa y 1 0 5 05DEC 6 06

3 :8 07

Page 117: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 12.- Diseñe los siguientes convertidores de código :

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

SUBSISTEMAS COMBINACIONALES 111

M7MilM13M14M15

M °M 1M2M4M8

m m°1m m2m3 m4

zp

m5

68

m10 12

m9

l m24

8

7

zl11

m10

9

z2m

m12

m14 15

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

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

m14

m6

M l113

zp

z1

z2

0 Mo1 M12 r--- M23 ) M34 M45 ) 5

b 2

67

M6M7

M5,

c 1

8 M8 M99 M910 Mi0 M1211 ' M1112 ' M12

DEC 13 M13~--4:16

14' -- M1415 , M15

1mpml

2 m23 m34 m45 m5

b 2

6 m67 m71

8 m8--9 m910 mip11 mil12 m12

DEC 1314

M134:16 m14

15 m 1 5

Page 118: Electronica digital problemas_de_circuitos_y_sistemas_digitales

112 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P12 .a) Estructura general :

Convertidor BCD/ 2 de 5

A

0 d o

1d 1

1DECOD2

d 2 CODIF2

3d3

3 ZB 2

4d4

4 21

5d 5

5 Decimal/ 1Z 2z iC

D 6d 6

67

d, Exceso3 07

ZodR 8BCD/Decimal 8 d9

9

Convertidor BCD/ Exceso-3

BCD Exceso -3

ABCD Z3 Z2 z 1 Zo0 0 0 1 1 Z3 = E (5,6,7,8,9) = d5+d6+d7+d8+d91 o 1 0 0

2 0 1 0 1 Z2 = E (1,2,3,4,9) = d l +d 2+d 3+d4+d93 o 1 1 0

4 0 1 1 1 Z 1 = E (0,3,4,7,8) = d0+d3+d4+d 7+d85 1 0 0 06 1 0 0 1 Zo = E (0,2,4,6,8) = d0+d2+d4+d6+d87 1 0 1 08 1 0 1 1

9 1 1 0 0

b) Estructura general :

o

DECOD 1

do ,

1 CODIFd,d 22 2d 3

A- 3 3 Zd4B 2

4 d 5 4

3 Z3C 1

5 5 Decimal/ 2 Z2D 6

d66 2de5 1 Z I

7d7 7

0 Zd R 8BCD/Decimal 9 d

Page 119: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Cada una de las funciones de salida se realizarían con puertas OR cuyas entradas seríanlas salidas correspondientes del decodificador BCD/Decimal .

Problema 13.- En un determinado sistema microcomputador, existen 3 subsistemas queprocesan la información de forma independiente a través de cuatro fases de operación . Porpropósitos de control, es necesario conocer :

a) Cuándo dos o más subsistemas están en la misma fase .b) Cuándo exactamente dos subsistemas están en la misma fase .

Cada subsistema genera una señal de dos bits para indicar en qué fase se encuentra(00, 01,10,11) . Diseñe un circuito que permita conocer cuándo el conjunto de subsistemas seencuentra en alguna de las situaciones a) y b) .

Solución P13.- Sean A, B y C los tres subsistemas que generan las señales A 1 A0, B1B0 yC 1 CO, que indican la fase de operación de los tres subsistemas respectivamente .

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 .G=1 si hay exactamente dos subsistemas en la misma fase .G=F=O en otros casos .

Para conocer si dos sistemas están en fase o no, utilizamos un comparador demagnitudes de 2 bits :

A lA OB,BO

IAB

Si la salida 'AB =1 , los subsitemas A y B están en fase .Necesitaremos un total de 3 comparadores, a cuyas salidas las llamaremos

IAB, IAC e IBC . Con estas salidas, diseñamos un circuito con puertas lógicas que genere las

SUBSISTEMAS COMBINACIONALES 113

BCD 2 de 5ABCD Z4 Z3 Z2 Z 1 ZO Z4 = E (6,7,8,9) = d6+d7+d8+d9

0 0 0 0 1 11 0 0 1 0 1 Z3 = E (3,4,5,9)= d 3+d4+d5+d92 0 0 1 1 03 0 1 0 0 1 Z2 = E (1,2,5,8)= d 1 +d2+d5+d84 0 1 0 1 05 0 1 1 0 0 Z 1 = E (0,2,4,7)= d0+d2+d4+d76 1 0 0 0 1

ZO = E (0,1,3,6)= d0+d 1+d3+d67 1 0 0 1 08 1 0 1 0 09 1 1 0 0 0

Page 120: Electronica digital problemas_de_circuitos_y_sistemas_digitales

114 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

salidas F y G . En el siguiente K-mapa vienen representadas las salidas F y G en función de lassalidas de los comparadores :

IAB 'AC

Tan sólo comentar que existen casos que no pueden darse como entrada del circuito adiseñar con puertas . Uno de estos casos es IAB IAC e IBC = 011 . En efecto, si el subsistema Aestá en fase con el C (I AC = 1), y el subsistema C está, a su vez, en fase con el subsitema B(IBC = 1) es imposible que el subsistema A está en desfase con B .

Las ecuaciones para las funciones F y G son :

F = IAB +IAC + IBC

G = IAB - IAC + IAC • IAB + IBC • IAB

AAo

BIB0AI-Ao

CICO-

C,CoB,-B0

ENama

10 a

IA

1

IB

FG

G

Problema 14.- Diseñe un circuito que a la salida de un multiplexor 8 :1 realice la función:F=1 (3,4,5,11,12,13,14,15,16,17,24,26,28,29,31) .Para el diseño se pueden usar, además de dicho multiplexor, un máximo de 8 puertas

de 2 entradas.

Solución P14.- Dada la función a implementar, el proceso es el siguiente . Basta con elegir tresvariables de la función para las señales de selección del multiplexor . De esta forma, los resi-duos que deben entrar por cada uno de los canales de éste son funciones de las otras dos varia-bles, y estos se implementarán con las puertas que disponemos . Una de las posibles solucioneses la que se muestra :

Page 121: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

00011011

000 001 010 011

F

SUBSISTEMAS COMBINACIONALES 115

100 101 110 111

Problema 15.- Un desplazador a la derecha de n bits, es un circuito combinacional que tienecomo entrada un número A, de n bits, m señales de control sm_ 1 , . . .so que indican el númerode posiciones que se desplazará a la derecha el número de entrada A, y genera la salida Zde n bits, correspondiente al número A desplazado . Así por ejemplo, para un desplazador de8 bits, cuya entrada sea 10010101 y las señales de control s 2 s1 so = 0 1 0, se genera undesplazamiento de dos posiciones a la derecha dando, como resultado, la salida XX100101 .Si s2 s, so = 0 0 0, no hay desplazamiento.

a) Diseñe un desplazador a la derecha de n=4 bits y m=2 bits, utilizando 4 MUX's de 4canales. Suponga que los bits más significativos del resultado, X. ., se llenan con 0's .

b) Dibuje las formas de onda de las salidas, cuando A3 A2 A, Ao = 1011 y las señaless, s o cambian según la secuencia 00,01,00,11,00,10 con una frecuencia de 1kHz .

c) Indique una aplicación aritmética para el desplazador.

Solución P15 .a) Dibujamos el diagrama de bloque del desplazador combinacional y su tabla de

verdad :

0 1 0 1 1 0 1 10 1 0 1 1 0 0 10 0 0 1 0 0 1 01 0 1 1 0 0 0 1

A3 A2 A 1 Ao1 SI SO Z3 Z2 Z1 Zp

0 0 A3 A2 A1 AoSiSO 0 1 0 A3 A2 Al

y 1 0 0 0 A3 A2Z3 Z2 Z 1 Zp 1 1 0 0 0 A3

Page 122: Electronica digital problemas_de_circuitos_y_sistemas_digitales

116 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Cada Zi se obtiene de un MUX-2, donde cada fila s1 s 0 es un canal de entrada . Realizan-do el diseño quedaría :

S ISo

A3A2A I A0

0 A3A2A1

1 Il ü

4

I J1

Z3 Z

b) Para el caso A3 A2 A1 A0 = 1 0 1 1 y las líneas s 1 s0 cambiando a una frecuencia de1 KHz según la secuencia :

s 1 s o : 00 01 00 11 00 10Se obtienen las siguientes formas de ondas :

lms= 1/1KHz

S I

so00

01

00

11

00

10

Z3

z2J

IZI

zo1011 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, resultando :

1

I

Ia b d

0 0 A3A2

donde s es el número s 1 s0 y Lx] es el entero por defecto de x .

Problema 16.- Rediseñe el circuito de la figura, utilizando sólo MUX s 2 :1 . Deberá reducirseen los posible el número de multiplexores . La única entrada disponible en doble raíl es e .

0 0 0 A3

Zo

1 00 1e 2 o0 3 F 1 se 41 5 ce 61 7 2 1 0

Page 123: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P16.- Para resolver este problema determinaremos, en primer lugar, el K-mapa dela función F .

00011110

FPara obtener el circuito de menor coste que implemente la función F, utilizando

multiplexores de 2 canales, sólo podemos ir probando las diferentes realizaciones que surgande suponer a, b, d ó e, como variables de selección del primer multiplexor ( el que genera Fen su salida) . De todas ellas, la mejor es :

1 sib

e ls1a

a -

SUBSISTEMAS COMBINACIONALES 117

ls1

d

Z

Problema 17.- Empleando un multiplexor de tres entradas de selección y todos losmultiplexores que hagan falta de dos entradas de selección, realice la función lógicaf(x 1 ,x2 , . . .x6) que se caracteriza por tomar el valor '1' si y sólo si se cumple :

x1+x2+x3+2x4+2x5+3x6 _> 4

donde x; = (0,1) para i = (1,2, . .,6) y las operaciones de adición y multiplicación indicadas sonaritméticas.

Solución P17 .- La desigualdad del enunciado describe una función booleana de 6 variablesf(x1,x2,x3,x4,x5,x6 ), que toma el valor 1 cuando las asignaciones binarias de las variables(x 1 , . .x6 ) , satisfacen la expresión anterior, y 0, cuando no. Esta función booleana puededesarrollarse según el teorema de expansión de Shannon :

f(x1,x2,x3,x4,x5,x6) =x4 x5 x6 f(x1 ,x2 ,x3,0,0,0 ) + x4 x5 x6 f(x1 ,x2,x3,0,0,1 ) +

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

+ x4 x5 x6 f(x1,x2,x3,1,0,0) + x4 x5 x6 f(x 1 ,x2,x3,1,0,1) +

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

Hemos expandido las variables x4, x 5 y x6 , por ser las más relevantes de la desigualdad .Esta expansión se puede implementar con un multiplexor, cuyas señales de control son x4, x 5y x6, y los canales, las funciones residuo . A partir de ahora, tenemos que determinar laexpresión de las funciones residuo .

Page 124: Electronica digital problemas_de_circuitos_y_sistemas_digitales

118 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

independientemente de los valores binarios que tomen las variables x1, x 2 y x3 , la desigualdadno se cumple . Por tanto, la función booleana vale 0 .

f(XI, x2 , x 3 , 0, 0, 0) = 0Las siguientes funciones residuo, evalúan siempre 1, ya que la desigualdad se cumple

siempre, independientemente de los valores de x 1 , x2 y x 3 .f (x 1 , x2 , x 3, 1, 1, 1) = 1

f (x 1 , x 2 , x 3 , 0, 1, 1) = 1

f (XI, x2 , x3 , 1, 0, 1) = 1

f (x 1 , x 2 , x 3 , 1, 1, 0) = 1

Para implementar estas funciones residuo, podemos utilizar multiplexores de 4 canalesescogiendo, como señales de control, las variables (x1, x2 ) . A continuación se muestra elcircuito resultante :

x 311

0x3x3

1

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

De las restantes 3 funciones residuo, podemos deducir que :

f (X1, X2, X3, 0, 1, 0) = f ( x 1, X2, X 3, 1 , 0 , 0 )por lo que sólo tenemos que obtener las funciones residuo f(x 1 , x2 , x3 , 0, 0, 1) yf(x 1 , x2 , x3 , 0, 1, 0) . Los mapas correspondientes son :

--x _1x2 00 01

11

10

00 01

11

10x 2X3 3

0 0 1 1 1 0 0 0 1 0

1 1 1 1 1 1 1 1

f(x l , x2 , x3 , 0, 0, 1)

f(x 1 , x2 , x3 , 0, 1, 0)

Page 125: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

IG

1

~>1- D - < >F-

L

L

F-

>101101111Solución P18 .- Sea F(a,b,c,d) la función a implementar cuyo mapa se muestra a continuación :

abd 00

01

00

011 1

10

F

La expresión algebraica de F y de la función complementaria F será :

F = a •c + a b•d + á•b•d + b •c•d + a•b •cF = a.b •c.d + b .-.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 :

c

SUBSISTEMAS COMBINACIONALES 119

11 1001010010

Page 126: Electronica digital problemas_de_circuitos_y_sistemas_digitales

120 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

&

&L

F

>1E}<>

X X

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

X•X = 0

d

PAL:

G

Finalmente, tras las consideraciones anteriores se muestra la configuración final del

o» F

.9

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 deellas, 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 = á •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 .

G

Page 127: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ccbbaaddGG

SUBSISTEMAS COMBINACIONALES 121

bcd

ac

G

bcd

acd

abc

C.C = 0

d

>F

Problema 19.- Se desea diseñar un circuito que tenga como entradas dos números de dosbits a=(a, a 0) b=(b, b 0) y un bit de paridad par correspondiente a los cuatro bits anteriores . Elcircuito indicará en una salida si a>b, y en otra si se ha producido una entrada ilegal (con elbit de paridad mal) . El circuito deberá realizarse con multiplexores de dos entradas de selec-ción y una ROM de 8 posiciones de memoria .

Solución P19.- El circuito a diseñar posee cinco entradas, P, a1, a0, b 1, b0 y dos salidas . Lla-

maremos G a la salida que indica cuándo el número a = al a0 es mayor o igual que el b = b 1bo,

y salida 1 cuando se produce una entrada con el bit de paridad P erróneo .

Page 128: Electronica digital problemas_de_circuitos_y_sistemas_digitales

122 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Para resolver el problema disponemos de dos multiplexores de dos entradas de seleccióny una ROM de 8 posiciones de memoria. El proceso será el siguiente : de la salida de cada unode 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 implementadascon la memoria, que al ser un módulo lógico universal, en este caso de tres entradas, podemosimplementar 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 Karnaugh de las cinco variables para lasdos funciones, G e 1, y sobre él se marcarán los residuos correspondientes a cada multiplexor .

ob e bo0001

10

11

001

001

010

011

010

011

G

I

100

101

100 101

110

110

111

111

GoG 1G2

G3

loI I

1 213

Eligiendo b 1 y b0 como entradas de selección de los multiplexores, y por tanto, P a l a0como entrada de la memoria, se observa que algunos de los residuos de las funciones de salidatienen una expresión muy simplificada, bien una constante o una variable de entrada . En esoscasos, 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 salidasde la ROM. Estas son :

G0=1

'G2=a1

13 =10

11= 12

a > b G=1a<b G=0

error en P I = 1

P correcto 1 = 0

1 1 1 1 1 1 1 10 1 1 1 0 1 1 10 0 1 1 0 0 1 1

0 0 0 1 0 0 0 1

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

Page 129: Electronica digital problemas_de_circuitos_y_sistemas_digitales

X4X3X2

XIXO

00

01

1011

000

Problema 20.- Se desea realizar un convertidor de código, de entrada 2-out-of-5 y de salidaBCD. Además, este circuito deberá poseer otra salida que detecte un error en la entrada . Enel caso de que ocurra tal error, las salidas BCD se pondrán en alta impedancia .

a) Realice el detector de error usando un MUX 8 :1 y puertas.b) Realice el convertidor 2-out-of-5 a BCD usando un PLA de no 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 X4 - X, , por donde se expresa el

código 2 de 5, y cinco salidas, cuatro de las cuales Z 3 - Z0 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 .

001 010 011

E

100 101 110

a) Definimos la señal de error E de la siguiente forma :E = 0 si X4 - X0 es código correcto .E = 1 si X4 - X0 es código incorrecto .De esta forma se puede presentar el mapa de Karnaugh para la función E :

1111 1 0 1 0 1

1 0 1 0 1 1 1

1 0 0 1 0 1 1 10 1 1 1 1 1 1

X4 - X0Convertidor de código

2de5/BCDBuffers3-estados

7 0 Z3 Z0~-4-r

-

EDetector de error •

SUBSISTEMAS COMBINACIONALES 123

A continuación se muestra el contenido de la memoria y el esquema final del circuito :

[$1 1 0P 1

al 1 0 1G

al- 2lo

a0 o ROM 1 A P G323x4 2 A 1

2al 1 I0

b Ib03 2 1 0 3 D a0 0 ROM 0 o1 2

4 2 23x4 1- 2

I1111 5 9GIG310 1 2

3

I16 97 E

b Ib0

Page 130: Electronica digital problemas_de_circuitos_y_sistemas_digitales

124 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Una vez conocido el mapa de la función E, dado que se dispone de un multiplexor de3 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 muestrael circuito resultante .

X 4X 3X2

b) Para realizar el convertidor de código 2 de 5 a código BCD natural, se muestra la tablade conversión para cada una de las diez combinaciones :

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ódigo2 de 5 no ocurren nunca, y asignando un término producto para cada una de las combinacionesde 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 hará la operación OR de aquellos términos pro-ducto de los que participa . Siendo P0, P 1 , P2 , . . .P9 cada uno de estos términos, las funcionesserán :

03 = P8 + P902 = P4 + P5 + P6 + P70 1 = P2 + P3 + P6 + P700=P1 +P3 +P5 +P7 +P9

El esquema del PLA será el que se muestra :

X4 X 3 X2 x 1 Xo 03 0 2 01 000 0 0 1 1 0 0 0 00 0 1 0 1 0 0 0 10 0 1 1 0 0 0 1 00 1 0 0 1 0 0 1 10 1 0 1 0 0 1 0 00 1 1 0 0 0 1 0 11 0 0 0 1 0 1 1 01 0 0 1 0 0 1 1 11 0 1 0 0 1 0 0 01 1 0 0 0 1 0 0 1

X

x o

XI - o2

Xo- 345

X 67 2 1 0

Page 131: Electronica digital problemas_de_circuitos_y_sistemas_digitales

X4 X3 X2 X 1 XO

03 02 0 1 00

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

X4X3X2x lxo

Y3Y2

YoX3x2x lxO

•PI•P,).

•P3P4P5P6P7PAPq

PLA

Convertidor código

2de5/BCD ~EN

MERIMIO

E~

ILL Detector de error

Problema 21 .- Analice el circuito de la figura describiendo con palabras la función que reali-za. ¿ Puede diseñarse con una ROM un circuito que realice la misma tarea? En caso afirma-tivo, indique cómo se haría, así como el contenido de la ROM para los siguientes valores enhexadecimal de X e Y:

XY: 10, 11, 12, 67, 84, AA,DF

A3A2A1AoB3B2B1BO

A>B

A=B

A<B

SUBSISTEMAS COMBINACIONALES 125

z3

z2

zl

zo

z3

zO

Page 132: Electronica digital problemas_de_circuitos_y_sistemas_digitales

126 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P21 .- Si el número X>Y, la salida A<B del comparador de magnitudes, se activa .

Esto provoca que, en la batería de multiplexores, se escoja el canal 1 . Por tanto, el conjunto de

las salidas de estos multiplexores, contiene el número x. La salida del sistema dependerá de la

salida A=B del comparador . Como ésta se encuentra a 0 lógico, las salidas Z 3 _0 contienen el

número X .De igual modo razonamos cuando el número X<Y. La salida A<B del comparador se

encuentra a O lógico, lo que provoca que en la batería de multiplexores se escoja el canal 0 .

Las salidas Z3 _0 , contienen, en este caso, el número Y .Por último, cuando X=Y, la salida A=B del comparador se encuentra a 1 lógico, por lo

que el inversor provocará que las salidas Z 3 _0 se encuentren a O lógico .La función de salida de este circuito puede representarse mediante una ROM, que se

dimensiona con 8 líneas en su bus de direcciones (correspondientes a los 4 bits de los 2números), y 4 bits por palabra . En la tabla siguiente, se han representado los contenidos de laROM para las direcciones indicadas en el enunciado :

De los 2 dígitos que forma la dirección, el primero hace referencia al número A, y elsegundo, al B . En el caso de que los dígitos sean iguales, la salida es 0, si son distintos, la salidaes el mayor de los dos .

Problema 22.- Necesitamos un circuito lógico con cuatro entradas que genere una salida zque se activa cuando se satisface una de las dos condiciones siguientes, pero no las dos :

1) Ambas entradas, a y b, son activas .2) o bien c o d o ambas son activas .

Diseñe este circuito en cada uno de los casos siguientes :

a) Con MUX s de 4 canales, suponiendo que a y b son activas en nivel alto, c y d activasen bajo y z activa en bajo .

b) Con un DEC 3:8 con salidas activas en alto, una puerta NAND de 6 entradas y unnúmero no mayor de 8 puertas NAND de dos entradas, suponiendo que todas las entradas ysalidas son activas en alto .

Solución P22 .- Definamos las variables booleanas C ; (i = 1, 2), de forma que tomen el valor

lógico 1 cuando la condición i se cumple y 0, en caso contrario . La salida z se puede expresaren función de estas variables booleanas, como :

z = C 1 O C 2

Y3 A 7

POS CONT

Y2 A6 $10 1

Yl A5

D 3 $11 0

Yo $12 2D2A 4 $67 7X3 A3

D 1 $84 8A2

Do $AA 0x2

A l

Ao ROM$CB$DF$FF

BF0

XIxo

Page 133: Electronica digital problemas_de_circuitos_y_sistemas_digitales

La salida z vendrá dada por la expresión

d

b) Ahora, todas las variables de entrada y la salida, son activas en alto . Procediendo deforma similar al apartado anterior, obtendremos :

z = (a - b) ® (c + d) cuyo K-mapa es :

cdab00 01 11 10

ZEsta función la implementaremos como producto de maxtérminos . Si escogemos a, b, c,

como entradas del decodificador y las salidas de este se llaman O ;, tenemos que :

M o = a+b+c+d = á • b . d = 0 0 . d

M 4 = a+b+c+d = á •b .J .d = 0 2 •d

000 000 000 0

SUBSISTEMAS COMBINACIONALES 127

en el caso de que la salida sea activa en alto, o como :z = C 1 00C2

en el caso de que sea activa en bajo .a) Debemos obtener, ahora, la relación entre las variables C ; y las entradas a, b, c, d .Condición 1 : C, tomará el valor lógico 1 cuando a y b están activas ( en alto ) :

C1 = a •bCondición 2 : C2 tomará el valor lógico 1, cuando c o d estén activas ( c = 0 o d = 0) :

C2 = c+d

z= (a - b) © (c + d), y su K-mapa es :

ZSi implementamos la función Z con multiplexores de 4 canales, nos queda :

0001

1110

cdab00 01 11 1000 0 001 0 0 1 011 1 1 0 110 0 0 1 0

Page 134: Electronica digital problemas_de_circuitos_y_sistemas_digitales

128 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

DEC3:8

M 8 = á+b+c+d = a .b .c .d = 04 •d

M13 = á+b+c+d = a •b •c •d = 0 6 •d

M 14 = á+b+c+d = a •b •c •d = 07 .d

M 15 = á+b+c+d = a •b •c •d = 0 7 •d

1

PROBLEMAS CON SOLUCIÓN RESUMIDA

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

~M •M 15 1 -

Solución P23.- Las salidas f1 y f2, tienen las siguientes expresiones, donde se han sustituidolas señales de selección del demultiplexor, sl y s o , por las salidas de la ROM D 1 , y Do, respec-tivamente .

f1 = D 3 s 1 • so +D 3 • s 1 • so +D 3 s 1 • so = D3+D1 • Do

yf3 = D 3 ' SI ' SO = D3 ' D1 . Do

Nos falta, por tanto, determinar las relaciones entre las salidas de la ROM (D3 , D 1 y Do ),y las variables de entrada a, b y c. De la tabla de programación de la ROM, deducimos lossiguientes K-mapas para D3, D 1 y Do :

POS CONTROM _

fi0 A

b- A

D3 12

~-2 20

a - Al

D2f2 3 B

c- sisó 4 CAó

D15 76 37 7

El producto de los maxtérminos M14 Y M15 puede simplificarseM14 •M 15 = á+b+c = 5 7

El circuito queda como :

M

1 M

a 2b 3 Mc 1

4 1 3-- Z5 M16

Page 135: Electronica digital problemas_de_circuitos_y_sistemas_digitales

f,

De donde deducimos que :

f, = a+cyf2 = b •a •c

amaamaA partir de estos K-mapas , podemos obtener los K-mapas de las funciones f l y f2 :

00 01 11 10

Problema 24.- Analice el circuito de la figura .

DI

SUBSISTEMAS COMBINACIONALES 129

o

o

o

1

o

o

o

o0

1

s

Solución P24.- Las ecuaciones de salida del multiplexor son :do = y+x+E d, = y+x+E d2 = y+x+E d3 = y+x+E

donde el enable E, se expresa como :E = ú •y +u •xSustituyendo en las expresiones anteriores y simplificando, queda :do = 1

d, = y+x+ú

d2 = y+x+u

d3 = y+xPor otro lado, las funciones f 1 y fo se expresan como :fo = do -d2 = y+x+u

f, = d i x d 3 = x •yPor último, la función de salida f que se obtiene, una vez reducida, es :f = y •ú +x •Y

f2

auna11

Do

s 1fo

1 su dD fd isy 1

d 212 0

3 d fi u

Page 136: Electronica digital problemas_de_circuitos_y_sistemas_digitales

130 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 25.- Diseñe un convertidor de código Gray a binario natural de 4 bits utilizandosólo tres puertas EXOR de tres entradas .

Solución P25.- Llamaremos g3 g2 g1 go a las variables de entrada (código Gray) y b 3 b2 b 1 bo

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

A partir de esta tabla pueden deducirse las relaciones :

b3 = 93

Por simple inspección observamos que b 2 vale 0 si g3 = g2 y vale 1 en caso contrario,de donde :

b2 = g3 E+ 92

Por otra parte, recordemos que z = x E+ y p v se hace 1 si y sólo si el número total deunos en x, y, v es impar . Observamos que b 1 vale 1 cuando g 3 g2 g1 tiene un número impar deunos, de donde :

b1 = g3EOg2Og1O bien, b 1 se hace 1 cuando g 1 :# b2 y se hace 0 cuando g 1 = b2 de donde:

b1 = g1 E+ b2 = g30g20g1

Análogamente, bo es 1 cuando es impar el número de unos en 93929190 o, alternativa-mente, cuando go :# b 1 , de donde :

bo = goOb1 = g3 +Eg20g10g0Para hacer el diseño con puertas EXOR de tres entradas, basta tener en cuenta que

x O+ y = x p y Ep 0, con lo que se muestra un posible diseño :

g3 g2 g1 g0 b3 b2 b 1 bo g3 g2 g1 g0 b3 b 2 b 1 b o

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

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

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

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

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

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

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

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

Page 137: Electronica digital problemas_de_circuitos_y_sistemas_digitales

g392-o -

ao

b

91-

10

2

DEC2:4 3

=DEC

1---:2-

SUBSISTEMAS COMBINACIONALES 131

b

go -0 -

- bo

Problema 26.- Se dispone de decodificadores 2 a 4 con señal de habilitación activa en nivelalto. Diseñe, con las mismas características:

a) Un decodificador 1 :2 .b) Un decodificador 3:8 .c) Un decodificador de 4 :16 .

o-al-a0-0

Solución P26.a) Se quiere diseñar un decodificador 1 :2 con señal de habilitación activa en alta. Para

ello se dispone de uno de esas características pero con dos entradas y cuatro salidas . Una delas posibles soluciones sería elegir una de las dos variables de entradas que tiene el decodifi-cador dado y fijarla a un valor constante . De esta forma sólo dos de las salidas podrán activarse,y serán éstas las salidas del decodificador que buscamos .

Disponemos del siguiente decodificador :

E

m01

m10

2

m2

DEC2:4 3 m3

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

E };

m0m1

Page 138: Electronica digital problemas_de_circuitos_y_sistemas_digitales

132 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) Se quiere conseguir ahora un decodificador 3 :8 a partir de decodificadores 2 :4 .Tendremos que introducir una nueva variable de entrada, y en función de la combinaciónbinaria de las tres entradas se activará una y sólo una de las ocho salidas de las que dispone eldecodificador (si éste está habilitado, E = 1) .

Para ello, asociamos tres decodificadores de forma que las salidas de uno de ellos seancuatro de las del nuevo decodificador, por ejemplo, las cuatro menos significativas, las cuatrosalidas del segundo formarán las otras cuatro salidas, y el tercer decodificador servirá para se-leccionar a uno u otro de los anteriores según el valor lógico de la tercera variable de entradaque hemos incorporado. A continuación se muestra el esquema :

E

DEC 3:8 '

c) Con un razonamiento análogo al del apartado anterior, se quiere undecodificador 4:16. Para ello asociaremos cinco decodificadores 2 :4, uno de ellos irá seleccio-nando uno a uno los cuatro decodificadores restantes, proporcionando cada uno cuatro de lasdieciséis salidas que tiene el decodificador que se busca . En la siguiente figura se muestra elesquema :

------

11

m0

2

MI

0

3

m2

DEC 2 :4m3

1a22

3DEC 2:4 E 0

m4a l m5

ao m6

3DEC 2:4

m7

Page 139: Electronica digital problemas_de_circuitos_y_sistemas_digitales

10

2

DEC2:4

1

10

2

DEC 2:4

DEC 4:16'

YM8m9m10Mil

m12m13m14m15

Problema 27.- Utilizando multiplexores de menos entradas de selección que el dado, se pide :

a) ¿Cómo implementaría un MUX de 3 entradas de selección?b) ¿Cómo implementaría un MUX de 2 entradas de selección?c) ¿Cómo implementaría un MUX de 4 entradas de selección?

E

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

SUBSISTEMAS COMBINACIONALES 133

1

1mo

0

2MI

-'r--

DEC2:4 3m2m3

a30

2a2 -

DEC 2:43 m4m5al

2 - m6ao

m7DEC 2:4

Page 140: Electronica digital problemas_de_circuitos_y_sistemas_digitales

134 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P27.- Multiplexor de 3 entradas de selección a partir de MUX-2 y MUX- 1 :

CoC 1C2C3

C4C5C6C7

S is o

Multiplexor de 2 entradas de selección a partir de MUX-1 :

CC

CC

Multiplexor de 4 entradas de selección a partir de MUX-2 :

CoC1C2C3

C4C5C6C7

CgC9C 10C11

C12C13C14C15

S I SO

Problema 28.- Se dispone de ROMs den líneas de dirección y m bits por palabra, todas ellascon CS. Diseñe una ROM con CS, n líneas de dirección y 2m bits por palabra.

Page 141: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P28.- Disponemos de dispositivos como los que se muestran a continuación :cs

A(n-1) - 0

y se desea obtener una memoria del mismo número de líneas en el bus de dirección pero conel doble número de líneas en el bus de datos, es decir, que cada palabra contenga 2m bits . Paraello asociamos en paralelo dos memorias de las iniciales . De esta forma, cuando ambas seanseleccionadas simultáneamente, para una misma dirección de palabra, (el bus de direccioneses común para ambas), se accede a una palabra de cada memoria leyendo su contenido . Bastasólo reunir los m bits de cada uno de los contenidos en un bus común que será el de datos dela memoria final que se busca . A continuación se muestra el esquema de conexionado :

cs

A(n-1)-0- , :\ ', on

n

1 41

. $2m

Problema 29.- Se dispone de circuitos comparadores de magnitud de 4 bits y puertaslógicas. Diséñese un comparador de números de 16 bits .

Solución P29 .- Este problema puede tener diferentes soluciones . Presentamos, aquí, lasolución más simple . Para consturir un comparador de 16 bits haremos comparaciones agrupos de 4 bits . Comenzaremos por los 4 bits de mayor peso de los números A y B :

A15-12

B15-12

ROM2"* m

cs

m

SUBSISTEMAS COMBINACIONALES 135

A>BA=BA<B

n

csROM2n*m

m

Page 142: Electronica digital problemas_de_circuitos_y_sistemas_digitales

136 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Si de este grupo de 4, los bits del número A son mayores que los del B, no haría faltacomparar los restantes bits; el número A es mayor que el B . De igual modo razonamos cuandolos 4 bits del número B son mayores que los respectivos del A. Podemos ver, entonces, que lassalidas de este primer comparador, pueden utilizarse como salidas del comparador de 16 bits .

Sólo en el caso en que los 4 bits más significativos de los dos números sean iguales, senecesitará comparar los restantes bits .

Si los bits A15-12, son iguales a los bits B15-12 , Y los bits A11- 8 son mayores que B11-8 ,la salida G del segundo comparador, está activa, y provocará que se active la salida G delcomparador primero . De igual modo, si los bits A15-12 son iguales a los bits B15-12 Y los bitsA 11 -8 son menores a los bits B11 -8 , la salida L del comprador número 2, se encontrará activa,y provocaría la activación de la salida L del comparador 1 . Sólo en el caso de que el conjuntode los 8 bits A15-8 y B 15-8 sean iguales, habrá que comparar el siguiente grupo de 4bits de los2 números. La estructura del comparador de 16 bits se obtendría extendiendo el esquemaanterior para el grupo de 8 bits restante .

A11-s AG'E'

EL'

LB 2

AG'E'

EL'

LB 4

A15-12>

B 15-12

A7-4

DI

B7-4-~

A

G'E'

EL'

LB 1

AG'E'

EL'

LB 3

A>BA=BA<B

Se resalta el hecho de que el comparador 4 ( el que actúa sobre los bits de menor peso),tiene en sus entradas G',E', L', la terna (0,1,0) . Esto es necesario para el caso en que los dosnúmeros, A y B, sean iguales, para activar la salida A=B.

Problema 30.- Sea F = E (1,3,11,13,21,23,25,31) + d(5,19,27) . Implemente esta función conun único demultiplexor 1 :8, una puerta NAND de ocho entradas y puertas NAND de dos en-tradas .

4 4A11-8 -x-30 A A15-12 -/_ A

G'

B 2

EG'

B 1

GEL

A>BA=BA<BB11-8 B15-12 f~-1 ->

4

Page 143: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

L&

o12

e3456

2107IIIabc

0 00 11 01

1

SUBSISTEMAS COMBINACIONALES 137

F

Problema 31.- Una llamada de teléfono puede dirigirse a cuatro secretarias. (Nunca hay másde una llamada simultáneamente) . La recepcionista distribuirá las llamadas según el siguientecriterio:

Si la llamada procede de empresas de alimentación o de ropa, se pasa a la secretarianúmero 4.

Si procede de una empresa de venta de ordenadores, o de un banco, se pasará a lasecretaria número 3.

Si se trata de una llamada procedente de una empresa de viajes o del aeropuerto, de-berá sonar el teléfono de la secretaria número 2 .

En cualquier otro caso se enviará a la secretaria número 1 .Diseñe un circuito que indique el número de la secretaria que deberá recibir la llamada,

utilizando un único codificador 8:3, una NOR de 2 entradas y una NOR de 6 entradas.

Solución P31 .- Interpretamos cuáles serán las variables de entrada y de salida del problema .Variables de salida :Z 1Zp: indican la secretaria a la que va dirigida la llamada :

Z 1 Zosecretaria n 4 1secretaria n °- 2secretaria n °- 3secretaria n °- 4

Variables de entradas : Se nombrarán con X0, X 1 , . . . a las distintas llamadas de empresas .Xk = 1 indicará que hay llamada de la empresa "k" (ver tabla) .

Hay siete procedencias distintas de las llamadas, organizadas en cuatro grupos depen-diendo de la secretaria que la reciba . Utilizando un codificador 8 :3 se transforman estos 8 casosen código de tres variables de las que dependerán las variables de salida . A continuación semuestra la tabla :

Page 144: Electronica digital problemas_de_circuitos_y_sistemas_digitales

138 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Por último basta obtener las expresiones de Z 1 y Z0 en función de las salidas del codi-ficador .

C2 C 1

C C00

O1

1 1 10C

C

00 010

0

1

X0X 1X2

X3X4X 5X 6

NC

Z

Z 1 = U 2

0

1

067 COD 8:3

>1

C

C

11

1

1

0

0

0 1

1

Zo

Zo = C1

10

La realización del circuito utilizando los dispositivos de los que disponemos quedaríacomo se muestra a continuación :

NC: no conectada

Problema 32.- Un sistema que mide periódicamente la temperatura de un experimento delaboratorio, da la información utilizando números de 4 bits en notación complemento a dos .Diseñe un circuito que detecte el intervalo cerrado de códigos [-5,41, utilizando,exclusivamente, comparadores de magnitud de cualquier número de bits y puertas de dosentradas que no sean operadores lógicos universales .

Llamada Xo XI X2 X3 X4 X5 X6 X7 C2 C1 C0 Z1 Z0Alimentación 1 0 0 0 0 0 0 0 0 0 0 1 1

Ropa 0 1 0 0 0 0 0 0 0 0 1 1 1

Ordenadores 0 0 1 0 0 0 0 0 0 1 0 1 0

Banco 0 0 0 1 0 0 0 0 0 1 1 1 0

Viajes 0 0 0 0 1 0 0 0 1 0 0 0 1Aeropuerto 0 0 0 0 0 1 0 0 1 0 1 0 1

Otras 0 0 0 0 0 0 1 0 1 1 0 0 0

0 0 0 0 0 0 0 1 1 1 1

Page 145: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P32.

Todas las salidas que genera el sistema de medida, se representan en la siguiente tabla .Asimismo, se ha representado el equivalente en notación Ca2, y la salida Z .

Sistemade

medida 4

1 3-0 C.C .

Para el diseño con comparadores, procedemos de la siguiente manera:a) Todas las magnitudes menores de 0101, activarán la salida .b) Las magnitudes mayores de 1010 activarán, también, la salida .c) La unión de los casos a) y b), genera la salida Z .El circuito resultante es :

40101 - ' 1A A>B -

A=B -13-0 '90 B A<B

41010 f)

1 3-0

4

A A>BA=B -

B A<B-

SUBSISTEMAS COMBINACIONALES 1 39

Z

Z

Como puede observarse, el operador utilizado, el OR, no es universal, puesto que no sepuede generar cualquier función utilizando, exclusivamente, este tipo de puerta .

Problema 33.- El bloque A de la figura pone su salida yk=1 sí y sólo si hay k entradas a 1 .Diseñe la unidad B de forma que el bloque completo C ponga z=1 si y sólo si hay j entradasa 1. Utilice sólo MUX 2 :1 .

---------------------------------------C

XO

>

YO

.J- > ZOX1

Z 1

X - 1 -

B

-

Z22> Z3

X3 _ > Z4

T 13 12 1 1 10 Z T 13 12 11 10 Z

+0 0 0 0 0 1 -8 1 0 0 0 0+1 0 0 0 1 1 -7 1 0 0 1 0+2 0 0 1 0 1 -6 1010 0+3 0 0 1 1 1 -5 1 0 1 1 1+4 0 1 0 0 1 -4 1 1 0 0 1+5 0 1 0 1 0 -3 1 1 0 1 1+6 0 1 1 0 0 -2 1 1 1 0 1+7 0111 0 -1 1 1 1 1 1

Page 146: Electronica digital problemas_de_circuitos_y_sistemas_digitales

140 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P33.- Construyamos la tabla de verdad para este problema :

con lo que se obtiene el circuito que se muestra a continuación :

X 3

Xo XI X2 Yo Yi Y2 Y3 X3 zo z Z2 Z3 Z40 0 0 1 0 0 0 0 1 0 0 0 00 0 1 0 1 0 0 0 0 1 0 0 00 1 0 0 1 0 0 0 0 1 0 0 00 1 1 0 0 1 0 0 0 0 1 0 01 0 0 0 1 0 0 0 0 1 0 0 0

1 0 1 0 0 1 0 0 0 0 1 0 01 1 0 0 0 1 0 0 0 0 1 0 01 1 1 0 0 1 0 0 0 0 0 1 00 0 0 1 0 0 0 1 0 1 0 0 00 0 1 0 1 0 0 1 0 0 1 0 00 1 0 0 1 0 0 1 0 0 1 0 00 1 1 0 0 1 0 1 0 0 0 1 0

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

De aquí se deduce que :X3 =0=Zi =¡ (i = 0, 1,2,3 y Z4 = 0)

X3 - 1 = Zi = Y¡-1 (i = 1 ,2 ,3 ,4 y Z0 = 0)

Page 147: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 cada columna se suman los bits de esa columna (A i y B i ) y el acarreo generado previamenteo carry, (Ci ) ; del resultado de la suma (A i+Bi+Ci = 0,1,2 ó 3) se genera el bit del resultado deesa columna (F i ) y el acarreo a la siguiente columna (Ci+1) : Ci+1Fi = 00, 01, 10 o 11,respectivamente. En el siguiente ejemplo se representa la suma de dos números y los acarreosque se generan 1 :

Capítulo 6

CIRCUITOS ARITMÉTICOS

La resta de dos magnitudes binarias, A-B, también es similar al caso decimal . En cadacolumna existe un bit de pedir prestado (borrow, Bwi ) generado en la etapa previa y cuyosignificado para Bwi = 1 es el cotidiano "me llevo uno" . En cada columna se hace la operaciónAi - (B1 + Bwi ) generándose Bwi+1 = 0, o (2 + A i) - (B i + Bwi) generándose Bw1+ ,=1 .A continuación se presentan dos ejemplos . En el primero se cumple que A>B y en F se obtieneel resultado correcto A-B . En el segundo, A<B, se genera Bwn =1 y en F no está el resultadocorrecto :

No presentaremos, en esta introducción, otras operaciones aritméticas como lamultiplicación y división entre números binarios . Remitimos al lector a los problemas 1, 4, 5y 15 de este Capítulo .1 . En adelante se sobreentenderá que los números como A, B o F están en base 10 sin necesidad deexplicarlo, tal como aparecen en las operaciones de más abajo .

141

11

111 Acarreos01101110 A=1100000100011 B=35(1010010001 F=A+13=145 (10

1 1

1 Borrows 1 Borrows11010 A=26 000100 A=41101 B=13 - 110000 B=48

01101 F=13 110100 F=52

Page 148: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 denúmeros con signo, la suma y resta binarias puede obtenerse usando, exclusivamente, circuitossumadores de magnitud . A continuación se presenta esta operación .

La suma de dos números binarios con signo en notación Cal y en notación Ca2 se basaen la suma de magnitudes binarias . En el caso de que A y B estén en Cal, a la suma de A y B,como si fueran magnitudes, se le suma el bit de acarreo de salida que haya sido generado . Elresultado último es el valor de la suma F=A+B escrito en notación Cal . Análogamente serealiza la suma en el caso del Ca2, salvo que aquí el resultado final se obtiene directamentetras la primera suma .

Cal

Ca2

5ét A + B

F

FDesbordamiento (overflow )

La suma de dos números binarios con signo de n bits, expresados en cualquier notación, puedetener un resultado erróneo en el caso de que ambos tengan el mismo signo y el valor de la sumano pueda ser expresado en n bits. En estos casos diremos que se ha generado undesbordamiento (overflow) . En el siguiente ejemplo se muestran dos casos de overflow . En elprimero, tenemos dos números en Cal positivos de magnitudes 13 y 8 . El resultado de la sumaes un número negativo lo cual es incorrecto . El segundo ejemplo representa la suma de dosnúmeros negativos expresados en Ca2 . De idéntica forma, el resultado obtenido es positivo, locual no representa el valor correcto :

DISEÑO DE CIRCUITOS ARITMÉTICOS

Las celdas básicas de los circuitos sumadores habituales realizan la suma de dos bits . Existendos tipos : los semisumadores (Half Adder, HA) y los sumadores completos (Full Adder, FA) .

SemisumadoresTienen dos entradas A ; y B ;, y dos salidas S; y C ;+1 que se corresponden con el bit de suma yde acarreo, respectivamente . El esquema de un semisumador- HA-, su tabla de verdad y suestructura interna son :

Cal Ca2

01101+13 10001 -1501000+8 11000 - 810101 -10 01001 +9

Page 149: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Ai

BiHA

Ci+I Si

y

B3-014

A3-014

Cout Sumador

Cinde 4 bits

A i Bi00011011

Si Ci+l00101001

Sumadores completosTienen tres entradas A; , B i y Ci que se corresponden, las dos primeras, con los bits de losnúmeros A y B y, la última, a la entrada de acarreo, y dos salidas, S i y Ci+l , con idéntico

significado que en los semisumadores . El esquema, tabla de verdad y estructura interna de un

sumador completo son : .

CIRCUITOS ARITMÉTICOS 143

i1

Sumador de n bitsLos semisumadores y sumadores completos pueden unirse para formar sumadores de

2 números de n bits . Esto se consigue mediante el empleo de n sumadores completos en losque la entrada de acarreo del sumador j+1 se conecta a la salida de acarreo del sumador j . En

la siguiente figura se muestra el esquema de bloques y constitución interna de un sumador de

4 bits .

A3 B3 A2 B2 A l B 1 A0 B0

1 1 1 1 1 1 1 1a b

a b

a b

a bFA

FA

FA

FACi+l Ci Ci+l Ci Ci+l Ci Ci+l Ci

S .

S

S.

S-

4

Cout

ZZ3-0

3

2

1

0

Sumador BCDUn tipo particular de sumadores binarios lo constituyen aquellos que aceptan números BCDen sus entradas y generan el resultado también en BCD . El sumador BCD más básico es el que

realiza la suma de dos dígitos BCD, A y B, junto con un posible acarreo de entrada, K;,, y

genera un acarreo de salida, Kot, t , y el resultado BCD de la suma, Z. Su estructura interna está

basada en sumadores binarios de 4 bits . Existe un circuito combinacional que detecta si elresultado del primer sumador es un número BCD y un segundo sumador, que añade lamagnitud 6 ó 0, según corresponda, para convertir la suma binaria al valor BCD de la salida :

Cin

A i B i C i Si Ci+l

CiBi

000 00

Ai001 10010 10011 01 Ci+I100 10101 01110 01

11111

Page 150: Electronica digital problemas_de_circuitos_y_sistemas_digitales

144 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

SumadorKout BCD K'n

s2SISO

iz

E-

Kont <

t

coV

E-,

0 01 r1

Sumador c,,,, -0de 4 bits CinE0

Encadenando en serie "K" de estos sumadores, se construyen sumadores BCD paralelosde K dígitos decimales .

Sumador-restador de números con signo en Ca2Un circuito sumador-restador de números con signo en Ca2 consta, básicamente, de un

sumador binario de magnitud y un circuito que deja pasar, o complementa, el dato que actúade sustraendo, según se muestra en la figura . Si se ordena la suma (s/r=0), Y=B y F=A+B ; sise ordena la resta Y = B y F = A + B + 1 = A + Ca2(B) = A - B . El desbordamiento serepresenta mediante el bit V y se puede implementar de varias formas como, por ejemplo,V = Exor(Cn,Cn- 1) :

t Sumadorbinario

I BTransfiere/ F

Complementa4Y

in

000001010011100101110111

s/r

Sumador- Cout de 4 bits -in n:-,-

inf

i

Detector errorBCD

UNIDAD ARITMÉTICO-LÓGICA (ALU)

Una ALU de n bits es un circuito combinacional que realiza operaciones lógicas y aritméticassobre 2 datos de entrada de n bits cada uno . En la siguiente figura se presenta el esquema ytabla funcional de una ALU de 4 bits, donde existen 3 señales de selección que permitenescoger entre 4 operaciones lógicas y 4 operaciones aritméticas, además de acarreo de entraday salida para las operaciones aritméticas :

A3-

B3-0

s2 s1 SO OperaciónF = AND(A,B)F = OR(A,B)F = EXOR(A,B)F = NOT(A)F = A+B+C¡ nF = A- B+C nF=A-1+ C;nF=A+C;n

Page 151: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Índice del CapítuloEste Capítulo desarrolla problemas de las siguientes materias :

- Aritmética binaria .- Diseño de subsistemas aritméticos .- Manejo de circuitos y subsistemas aritméticos .

PROBLEMAS RESUELTOS

Problema 1.-Sean A y B dos números binarios . a) Determinar en función del número de bitsde A y B el mayor números de bits de A + B y A*B . b) Realice en binario las sumas 110 + 35y 110 +73 suponiendo que se dispone de un solo byte .

Solución Pl .a) Supongamos que los números A y B tienen el mismo número de bits na n b=n.

Pongámonos, a su vez, en el peor de los casos a la hora de realizar la suma, esto es, los númerosA y B son todo 1's . El resultado de la suma provocará un acarreo en los bits más significativos,por lo que necesitaremos 1 bit más para almacenar el resultado, n+1 .

1 11 1 1

A1 11 1 1

B

CIRCUITOS ARITMÉTICOS 145

1 1 11 1 0

Si el número de bits de A es mayor que el de B, en el peor de los casos, se puede generarun acarreo en el último bit del número A que provoque un resultado de n a+1 bits .

1 11 1 1 A111 B

100110En general, podemos concluir que el número de bits del resultado vendrá dado por la

siguiente expresión :

na+b = max (na, nb ) + 1

nEsta misma expresión se obtiene razonando sobre los valores máximos : A<- 2 a - 1 y

B<-2nb -1 ->A+B<-2na+2nh -2<2max(n a +nb+l)

-1Para la multiplicación también debemos ponernos en el peor de los casos : todos los bits

de A y B son 1's .11 . ..11 A

1 . . .11

B11 . ..11

S O11 . ..110 si

1 1 . . . 1 1 0 0 0 0 snb-I. . . 0 1

Supongamos que el número A tiene más bits que el B (na > nb). Llamemos S i , a los

Page 152: Electronica digital problemas_de_circuitos_y_sistemas_digitales

146 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

resultados parciales procedentes de multiplicar el bit i del número B, por el número A (verfigura anterior) .

El número de bits del resultado parcial S0 es de na ; el de S 1,n a+1 ; en general, el del S i ,es na + i. El resultado parcial con mayor número de bits es Snb-1, con na + nb - 1 bits .

Por el apartado a) sabemos que la suma de los resultados parciales S 0 y SI, necesitaránun resultado de na +2 bits . Este resultado, sumado con S 2 ( que tiene na +2 bits), producirá unnuevo resultado que necesitará n a+3 bits. De forma sucesiva, llegamos sumando las resultadosparciales, hasta el último, Snb-1 . El tamaño del resultado de esta última suma, se necesitaráalmacenar con un bit más de los que posee Snb-1, es decir, n a + nb -1 + 1 .

En resumen, el resultado de la multiplicación de dos números A y B de n a y nb bits,respectivamentes es :

na x n = n a + n,

b) Convertimos los números 110 (10, 35 (1 0 y 73(10 en binario

110 12Jb 5 5 12j 2712

131 21

6 ( 2v,312

v 112.

35 10 = 00100011(2Las sumas son :

v 0110(10 = 1101110(2 , o bien , si utilizamos un byte para almacenar el número

110(10 = 01101110(2-

73 12`D 3 6 12

`0 181 2`0 91 2

j 412`0 2 2

`0 11 2

73(10 = 01001001 (2 . Por último :

j 0

35 12.,U 17 12v 81 2v 41 2v 2 1 2

`0 1 1 2v 0

Page 153: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 2.- Realice la substracción de los siguientes números binarios usando

CIRCUITOS ARITMÉTICOS 147

(i) el complemento a dos(fi) el complemento a 1

Compruébese la respuesta por substracción directa .

a) 11010- 1101b)11010-10000c) 10010 - 10011d) 100 - 110000

Solución P2 .a) Por substracción directa

1 1010 261101 13

01101 13Por el complemento a 1

01 1010 +26+ 110010 -131001100L-->

1+001101 +13

Por el complemento a 2

011010 +26+110011 -13í.00 1 1 0 1 +13

b) Por substracción directa

11010 +26- 1 0000 -1601010 +10

Por el complemento a 1

011010 +26+ 101111 -161001001L--> + 1001010 +10

01101110 110+ 00100011 35

10010001 145

01101110 110+ 01001001 73

10110111 183

Page 154: Electronica digital problemas_de_circuitos_y_sistemas_digitales

148 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Por el complemento a 2

01 1010 +26_ + 110000 -16

>40010l0 +10

c) Por substracción directa. En este caso se genera un acarreo de salida ya que elsubstraendo es mayor que el minuendo . Sabemos que el resultado debe ser un número negativocuya magnitud se puede obtener restando al número mayor, el menor .

Existe Borrow final

110010 18 10011 19

10011 19- 10010 181 1 1 1 1 =9

0 0 0 0 1 1

Resultado -1

Existe Borrow 1final .

_ 000100 41 10000 48

110000 48000100 4

1 1 0 1 0 0 =?

1 0 1 1 0 0 44 Resultado -44

Problema 3 .- Sea una ALU de 8 bits que entre otras operaciones realiza la suma sin signo(SSS) y la suma en complemento a dos (SC2) . Indique justificadamente :

a) Dados dos números positivos A y B, ¿ da igual sumarlos mediante SSS que medianteSC2?.

b) ¿En qué consisten y cómo se reconocen los errores de desbordamiento (oven7ow)?En su caso, ¿cómo puede obtenerse el resultado correcto? .

c) Realice, si es posible, las siguientes operaciones indicando si es con SSS o SC2 .1 . (-75) + 1252. (-75) +(-125)3. 75 + (-125)4.75+125

Por el complemento a 1

010010 +18+ 101100 -19

111110 -1

Por el complemento a 2

010010 +18+ 101101 -19

111111 -1d) Por substracción directa

Por el complemento a 1

0000100 +4+ 1001111 -48

1010011 -44Por el complemento a 2

0000100 +4+ 1010000 -48

1010100 -44

Page 155: Electronica digital problemas_de_circuitos_y_sistemas_digitales

CIRCUITOS ARITMÉTICOS 149

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 Brepresentan valores positivos y negativos, existe un bit de signo y sus valores van del -128

al +127 .Para la comparación de las operaciones SSS y SC2 cabe distinguir varios rangos :

1) A+B < 127, esto es, la magnitud que representa la suma de los dos 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 las8 salidas de la ALU son insuficientes para representar la magnitud de la suma .

b) Los errores de desbordamiento ocurren cuando se sobrepasa la capacidad derepresentación de los sistemas, produciendo estos, resultados incorrectos . Para reconocer eldesbordamiento, disponemos de la señal de acarreo C 8 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 C7 y el acarreo de salida C8 : V=Exor(C7,C8) . Aclaremos este aspecto .

Supongamos que tenemos dos números positivos de 8 bits expresados en Ca2 . Si la suma delos bits A6-0 y B6-0, es menor de 128, no se produce ningún acarreo C7=C8=O, y el resultado

es correcto, tal como muestra la figura :

C8=O C7=O- ---------------

0 A6 A5 . . .0 : B 6 B5 .

0 : F6 F5 . . .----------- -----------

Si la suma de los bits A6-0 y B6-0 es mayor de 127, se produce un acarreo C7=1 que

provocará que el resultado se interprete como un número negativo . Existe overflow o

desbordamiento. En este caso, como se puede observar, no existe acarreo de salida C 8=O .

C8=0 C7=1

0 A6 A5 . . .0 B6 B5 . . .

0 F6 F5 . . .

Cuando los dos números son negativos, se produce siempre un acarreo de salida que sedesprecia. En tal situación se producirá un overflow cuando, al producirse un C 7=O, se obtiene

un resultado positivo :

Page 156: Electronica digital problemas_de_circuitos_y_sistemas_digitales

150 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

C8=1 C7=0: 111-,1

0' A6 A5 . . .0 B6 B5 . . .

0 F6 F5 . . .

La situación siguiente es correcta y en ella no se produce overflow :

C8=1 C7=1`~` r- -1~0 A6 A5 . . .0 B6 B5 . . .

0 F6 F5 . . .------------------------

Si damos un rápido repaso a las condiciones que producen desbordamiento V=1 enfunción de C7 y C8, 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 C 8 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 C 8 :

C8F7F6F 5F4F3FZF 1Fo

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(A7 = B7 = 0) o si ambos son negativos (A7 = B7 = 1). Como el desbordamiento se elimina alcontar con suficiente número de bits, imaginemos que existe un noveno bit en la posición mássignificativa (columna 8) . El valor de este hipotético bit será el del signo de los númerosA8 = B8 = 0 en el primer caso y A 8 = B 8 = 1 en el segundo . Entonces, al sumar la columna 8se tendrá 0 + 0 + C8 o 1 + 1 + C 8 , por lo que en ambos casos el hipotético bit de signo delresultado correcto es F8 = C8 .

c) Los tres primeros casos sólo pueden realizarse con SC2 ya que se trata de númeroscon signo, mientras que el último se realizará con SSS .

1) SC2(101 10101 + 01111101) . Las salidas de la ALU son 00110010, que representanel número +50 . Se produce acarreo, C8 = 1 que se desprecia en la aritmética en Ca2, y el bit deoverflow, V, se encuentra a 0 porque los acarreos C 8 y C7 están a 1 .

2) SC2(10110101 + 10000011) . Las salidas de la ALU son 00111000, que representanel número +56. Pero el bit V está a 1 (C 7 = 0, C 8 = 1) indicando que existe un error dedesbordamiento . El resultado correcto se puede obtener formando un número de 9 bits,constituido por el bit de acarreo C8 como bit de signo, y los 8 bits del resultado,A+B = 100111000. Esto representa el número -200, lo cual es correcto .

Page 157: Electronica digital problemas_de_circuitos_y_sistemas_digitales

x2 S c 0

CIRCUITOS ARITMÉTICOS 151

3) SC2(01001011 + 10000011) . Las salidas de la ALU son 1100 1110, que representanel número -50. No se produce acarreo C8 y V=O .

4) SSS(01001011 + 01111101) . Las salidas de la ALU son 11001000, que representanla magnitud correcta, 200 . No se produce acarreo de salida C 8=0. Si se hubiese realizadoSC2(01001011 + 01111101) las salidas de la ALU también son 11001000, pero V = 1indicando desbordamiento .

Problema 4.-Muestre la palabra de 8 bits que representan los números +36 y -36 en las tresnotaciones (S-M, Cal, Ca2). Represente también el resultado de multiplicar por dos y dedividir por 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 = +72 - 01001000(+36) _ 2 = +18 -3 00010010 .

En general, la multiplicación por 2 equivale a desplazar el número hacia la izquierdaintroduciendo un 0 como bit menos significativo y conservando el bit de signo ; esto puedecomprobarse comparando las representaciones de +36 y +72 . Análogamente, la división por 2equivale a desplazar hacia la derecha introduciendo un 0 como bit más significativo de lamagnitud y conservando el bit de signo ; se puede comprobar con +36 y +18 . Gráficamenteestas operaciones admiten la siguiente ilustración :

=20S?

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 :bl) Signo-magnitud : -36 - 10100100

U,,

0(-36) x 2 = -72 - 11001000; en general, x 2 x 2

Uo

(-36) - 2 =-18 - 10010010; en general,- 2 = 2

b2) Complemento a : -36 -> 11011011

UN

1(-36) x 2 = -72 --> 10110111 ; en general, x 2 2 S c

Ur1

(-36) - 2 = -18 - 11101101 ; en general, - 2 = 2 S~

Page 158: Electronica digital problemas_de_circuitos_y_sistemas_digitales

152 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b3) Complento a 2: -36 -* 11011100

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

x 2

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

--.2

b) Desplazamos a la izquierda tres veces los bits del número 75 e introducimos un 0 porla derecha cada vez que realicemos un desplazamiento .

S

Ur

Problema 5.- Realice las siguientes operaciones en binario, comprobando el resultado :• 22 x 18b) 75 x 8• 18x40d)61=16• 168 x-140168--. 20

Solución P5.a) 22 x 18 = 396

1

0

d) Dividir un número A entre una potencia de dos equivale a desplazar hacia la derechalos bits del número A . Así 61 _ 16 = 111101 - 10000 = 11 .1101 . Este resultado representa elnúmero 3 .8125 .

e) 168 _ 14 = 12

1010100011110-1110

110001110- 1110

0

10110 22x10010 18101100

101100000

110001100 396

75 = 1001011 ; 75 x 8 =c) 18 x 40 = 720

1001011000

101000 40x10010 18

10100001010000000

1011010000 720

Page 159: Electronica digital problemas_de_circuitos_y_sistemas_digitales

f) 168=20=8 .4

10101000 110100-10100

1000 .0110 . . .100000- 10100

11000-10100

01000

El resultado exacto es 8 .4; el obtenido hasta el cuarto dígito decimal es 8 .375 .

Problema 6.-Las sumas y restas en complemento a 10 tienen las mismas reglas que lassumas y restas en complemento a 2 .

a) Represente +149 y -178 en complemento a 10 con 4 dígitos, el más significativo delos cuales actúa como "dígito de signo" .

b) Sume (+ 149) +(-178) en complemento a 10 .c) Represente+ 149 y -179 en BCD bajo complemento a 10, usando un bit como signo .d) Sume en BCD y complemento a 10 (+ 149) + (-178), interpretando la respuesta .

Solución P6.a) El complemento a 10 de un número A, para n dígitos, viene determinado por la

expresión CalO(A) = 10° - A. Por ejemplo, para n = 4 el Cal0(9876) = 104 - 9876 = 0124 ; yel Cal0(4342) = 5658 . Para representar números decimales con signo en el convenio basadoen el Cal 0 se procede como en el caso del Ca2 ; esto es, +N se representa como N(10 y -N, comoCalO(N). 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, ahora, la suma. Con idéntico criterio que en Ca2, si se produce un

acarreo, se desprecia .

0149+98229971

En nuestro caso el primer dígito es 9 lo que significa que el resultado es negativo. Paraconocer la magnitud del resultado aplicamos, nuevamente, la definición del Calo :

Cal 0(9971) = 0 0 2 9 . El resultado, por tanto, es el -29 .c) Si representamos los valores anteriores codificados en BCD, utilizando un único bit

para el signo (0 para los positivos y 1 seguido del Calo para los negativos), nos queda :+ 149 - 0(149)BCD = 0000101001001- 178 -* 1 Ca 10(178)BCD = 1(822) = 1100000100010

CIRCUITOS ARITMÉTICOS 153

Page 160: Electronica digital problemas_de_circuitos_y_sistemas_digitales

154 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

d) La suma de los valores anteriores será :

Obsérvese que, al sumar los 4 bits del dígito menos significativo, se produce unresultado que no es BCD . La aritmética BCD exige en estos casos que se añada la cantidad 6para obtener el resultado correcto . Esto provoca un acarreo hacia el siguiente dígito BCD . Elresultado final es 1100 10 111000 1, que corresponde a -029 (el primer bit 1 indica que esnegativo y los otros 12 bits, en BCD, equivalen a 971 por lo que el resultado es-Ca 10(971) = -29 .

Problema 7.-La substracción binaria directa F=A-B produce una diferencia correcta si A esmayor o igual que B. ¿ Cuál podría ser e/ resultado sí A es menor que B ? . Determine la relaciónentre el resultado obtenido en F y el bit de borrow en la posición más significativa .

Solución P7.- Para determinar el resultado, investiguemos con un ejemplo sencillo quénúmero obtenemos al realizar la resta binaria F = A - B . Supongamos que realizamos lasiguiente operación (A = 10(10 y B = 15(1 0) :

Borrow final=l1010 A

-1111 B

1011 F

Como se observa, 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). Supongamos querealizamos la operación 2 ° + A - B, donde n representa el número de bits de los números A yB . La nueva operación sería :

Borrow final=011010 A

-01111 B

01011: F

En este caso no se genera borrow y el resultado es el correcto ( 26 - 15 = 11). Como sepuede observar, el resultado F de esta operación es el mismo que el de la anterior, con lasalvedad que la cantidad 2" es suficiente para cubir el arrastre final . Entonces, F = 2n - (B - A)lo que significa que el resultado del restador de magnitud proporciona el número A - B en lanotación Ca2. Así, 1011 como número con signo en Ca2 es -Ca2(1011) = -(0101) = -5 .

Por último podemos decir que el número formado por el borrow y los bits del resultado,representa siempre A-B en Ca2 . Si A>B, no se produce arrastre, por lo que tenemos un bit designo positivo (borrow=0), y si A<B, se produce arrastre (borrow=l), por lo que tenemos unnúmero negativo expresado en notación de complemento a 2 .

1<0 0001 0100 1001

+ 1 1000 0010 0010

1 1001 0111 10110110

0001

Page 161: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Xj

yi

zlcocl

. . .. ..11101

Como puede observarse, en el peor de los casos cada celda sumadora de 3 bits debesumar los tres l's de los números, y añadirles un acarreo de como mucho 2 . Para codificar losposibles acarreos, necesitaremos dos bits . Por tanto la celda a diseñar tiene 5 entradas y3 salidas. Nótese que es imposible que se genere, en ningún momento, como acarreo, lamagnitud 3 :

Sumador

completo

La salida Fp responde al siguiente K-mapa :

Xi Yj Zi

c l co00

01

11

10

F ;CoC l

000 001 011 010 110 111 101 100

Fj = x, O+y, ®z, (D c o

CIRCUITOS ARITMÉTICOS 155

Problema 8.-Diseñe a nivel de puertas un sumador completo de tres bits (además de posiblesacarreos). Utilizando el diseño anterior, realice un sumador paralelo de 3 números de n bits .

Solución P8 .- El sumador completo a diseñar debe tener como entradas en cada etapa los bitsde los tres números y el acarreo generado en la etapa anterior . Debe generar la suma de lasentradas anteriores y el acarreo de salida hacia la siguiente etapa . Para determinar el númerode bits que será necesario utilizar para el acarreo, vamos a realizar una suma de tres númerosque son todos 1's :

Acarreo

2 2 2 1

1111111111

Fj

En este caso, en lugar de minimizar la salida, vamos a acomodarla a las expresiones desalida que conocemos para los sumadores convencionales . Como puede observarse en elK-mapa, las ecuación de salida es la función Exor de las variables de entrada, salvo c l que, siescogemos adecuadamente las inespecificaciones, no afecta :

0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1

Page 162: Electronica digital problemas_de_circuitos_y_sistemas_digitales

156 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

Zn-1 yn-1 xn-1

Co E

xi yi Zi000 001 011 010 110 111 101 100

CICO

00

01

11

10

de donde se obtienen las siguientes ecuaciones :C, = y_ZiC 1 +-iy C~ +X-i ZfC~ +x, y ziCoCo = XA C 1 +x1z1c 1 +y~z1 c 1 +xAC0+xjz1c0+y~z1c0+XAc1c0+x1z1c 1 C 0 +yjz1c 1 C 0

b) Para el sumador paralelo de n bits, utilizaremos n unidades sumadoras, realizando unaconexión de acarreo en serie entre ellas .

A3 A2 A Ao B

ALU

F3 F2 FI Fo

Z1 Y1 X1

C' Co

ZO Yo x0

Problema 9.-La ALU de 4 bits de la figura se incluye dentro de un Cl . Muestre las conexionesentre 3 Cl pra formar una ALU de 12 bits . Asigne los arrastres de entrada y salida en la ALUde 12 bits .

1111 1111

W W W

Solución P9 .- Para formar una ALU de 12 bits nos basta con 3 ALU's de 4 bits . En ellasconectaremos los distintos grupos de 4 bits de las entradas A y B de 12 bits . Por otro lado, lasseñales de control de las tres deben ser idénticas, por lo que irán interconectadas . Por último,cuando se realicen operaciones aritméticas, será necesario que cada ALU conozca si la ALUanterior ha generado un acarreo o no para añadírselo a su suma parcial . Por tanto se sugiereuna estructura de acarreo en serie . El circuito resultante sería :

B B, Bo s2SISOCi

00 00 01 00 01 01 01 00

00 01 01 01 01 10 01 01

01 01 10 01 10 10 10 01

Page 163: Electronica digital problemas_de_circuitos_y_sistemas_digitales

A11-8

B11-8

11111111ALU

2S 1So

Ci

1111Cout

F11-8

A7 -

B

11111111ALU

1111F7-4

S2

SI

SO

Ci

Problema 10.- Diseñe un circuito aritmético con dos variables de selección s, ys o que realice

las siguientes operaciones aritméticas. Indique una solución para una etapa típica .

Solución P10.- Daremos una solución basada en un sumador de n bits con entrada de acarreo,a cuyas entradas a y b habrá que conectar los datos adecuados en función de s1 y so . En

concreto, si sls0 = 00, las entradas a y b tendrán los números A y B respectivamente ; si

s1s0=01,a=Ayb=0; si s1s0=10,a=Oyb=B;ysislso=11,a=Ayb=B.

Una solución con subsistema consiste en utiliza dos grupos de multiplexores de4 canales cuyas salidas se conectarán con la entrada a o b y, en función de sus señales decontrol, se escogerá el canal que tenga el dato apropiado para la operación :

AAO A B O B B

S 1SO

F

A continuación haremos el diseño interno de la etapa típica de un sumador que respondaal conjunto de operaciones especificadas . Mediante la repetición e interconexión de etapas

típicas se obtendrá el sumador entero . Utilizaremos como base del diseño un sumador

CIRCUITOS ARITMÉTICOS 157

A

B

11111111ALU

1111F3-o

S2

SI

SO

C,

S2S1So

Cin

S 1 SO Ciñ 0 C¡'=1

0 0 F=A+B F=A+B+10 1 F=A F=A+ 11 0 F=B F=B+11

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

Page 164: Electronica digital problemas_de_circuitos_y_sistemas_digitales

158 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

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

B iS ISO

Hay que diseñar el circuito combinacional (C .C.) de modo que, en función de los valoresde control s i s0 , y los bits i de los números A y B, permita suministrar las entradas adecuadasa; y b i del sumador completo, para que su salida se corresponda con la operación especificada .Podemos obtener, sin mayor dificultad, el K-mapa del C .C . :

B is 1 s0

00

00

01

11

10

01 11 10

a l b i

de donde obtenemos las siguientes ecuaciones :

a ¡ = A i s, +A is 0

b . = B is l s„ + b i s 1

Problema 11.- Se desea obtener el valor de un número binario sin signo A, de 8 bits (A=A7_ 0),multiplicado por 129.

a) Obtenga un circuito que lo realice . No pueden utilizarse circuitos aritméticos de n bits(n > 1), pero sí semisumadores (HA), sumadores completos(FA) y puertas .

b) Repita para Ax40 .

Solución P11 .a) Realizaremos, en primer lugar, la multiplicación entre los dos números :

A7 A6 A5 A4 A3 A2 A l A01 0 0 0 0 0 0 1

A7 A6 A5 A4 A3 A2 A l A0A7 A6 A5 A4 A3 A2 Al A0

a;=A; b;=B¡

a;=A; b1 =0

a;=A; b;=B1

a;=0

b1 =Bi

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

00 01 11 10

00 00 10 10

01 00 10 11

01 00 00 01

Page 165: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Z15 Z14

b) Operamos de forma similar al apartado anterior . Realicemos en primer lugar lamultiplicación para conocer qué elementos debemos utilizar en el circuito .

b

HACo

s

b

HACo

s

Z13

Z13 Z12ZIIZIOZ9 Z8 Z7 Z6 Z5Z4 Z3 0 0 0

Los tres bits menos significativos del resultado son 0 . Los dos bits siguientes, coincidencon los bits menos significativos del número A . A partir de aquí, el bit Z5 debe obtenersesumando A0 con A2, lo cual puede obtenerse con semisumador ; el bit Z6 , sumando A 1 con A3más el posible acarreo anterior, lo cual debe hacerse con un sumador completo . Utilizaremossumadores completos para obtener los bits Z 5 hasta Z10 . Los bits Z11 y Z12 pueden obtenersecon semisumadores y el bit Z 13 corresponderá con el acarreo del último semisumador . Elcircuito resultante es :

A7 A A6 A4 A5 A3 A4 A 2 A3 A1 A2 A0A 1 A0

b

FACo Cis

Z13 Z12

Z11

Z10

b

FA _Co Cis

b b

FA

FACo Ci _ Co Cis

s

Z7

CIRCUITOS ARITMÉTICOS 159

Comprobamos que los 7 bits menos significativos del resultado se obtienendirectamente de los 7 bits menos significativos del número A . A partir de aquí, el siguiente bitdel resultado, Z 8 , debe calcularse sumando A 7 con A0 . Si esta suma genera un acarreo, sedeberá añadir al siguiente bit (A 1 ) para obtener Z g . Así se procede sucesivamente . Para ello,como estas sumas son sólo entre dos bits, bastará usar semisumadores (HA) . El acarreo de laúltima unidad, es el bit de mayor peso del resultado, Z15 . El circuito resultante es :

b

Z6

b

FA

HACo Ci - Cos

s 0 0 0

IIIZ5 Z4 Z3 Z2 Z I Z0

A7 A6 A5 A4 A3 A2 A l Ao1 0 1 0 0 0

A7 A6 A5 A4 A3 A2 A l A0 0 0 0A7 A6 A5 A4 A3 A2 A 1 A0

Page 166: Electronica digital problemas_de_circuitos_y_sistemas_digitales

160 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 12.- Se dispone de una ALU de 8 bits muy simple, ya que sólo hace lasoperaciones de "suma " y " transfiere el complemento", como se indica en la figura adjunta :

A

B

FCout

VA+BA+B+1A

FConsidere dos números con signo de 16 bits (K y L), representados en complemento

a dos. Cada uno está escrito en dos palabras de 8 bits, una con la parte más significativa (H)y otra con la menos significativa (L), es decir, (K= KHKL y L=LHLD.

a) Utilizando una sola AL U, indique justificadamente, qué hay que realizar para obtenerM=K+L (M=MHMÜ incluyendo la posibilidad de desbordamiento (overflow) . No hay queexplicar cómo se almacenan los resultados intermedios, sino que, simplemente, hay que decirque se almacenan .

b) Repita el apartado anterior para obtener M=K-L .c) Diseñe la ALU con puertas y sumadores completos (FA) de 1 bit .

Solución P12 .a) Para realizar la suma de los dos números de 16 bits, tendremos que hacerlo en dos

etapas: primero la parte menos significativa y, segundo, la parte más significativa . Losnúmeros pueden ser positivos o negativos, puesto que están representados en Ca2 . Por tanto esla salida V de la suma más significativa la que nos determinará la existencia o no de unoverflow .

1) Introducimos por las entradas A y B los bytes KL y LL, respectivamente. Las señalesde control de la ALU deben ser XC in = 00. Por la salida F, obtendremos el byte menossignificativo del resultado, ML que se almacenará. Lo mismo se hará con el acarreo de salidagenerado Cout = C8-

2) Introducimos por las entradas A y B los bytes K H y LH, respectivamente . Las señalesde control de la ALU son XCin = OC8 , de forma que si en la etapa anterior se generó acarreo,C8 = 1, se calcula la operación A+B+1 y en caso contrario, A+B . La salida F corresponderácon el byte significativo del resultado MH . Llamemos C 16 , al acarreo que se haya generado enCout .

3) Es en este momento cuando debemos evaluar la salida V de la ALU para determinarla existencia de overflow :

Si V=0, no existe overflow y el resultado correcto de la suma K+L está en M .Si V=1, existe overflow y el resultado correcto de la suma K+L está en el número de 17

bits formado por C 16M .b) Para realizar la diferencia K-L, calculamos previamente el complemento a 2 del

número L, el cual se lo sumamos a K . La ALU no permite calcular el Ca2 de un número, sólo

Page 167: Electronica digital problemas_de_circuitos_y_sistemas_digitales

dispone de la operación A, que se corresponde con el complemento a 1 del número A . Sabemosque el complemento a dos puede ser obtenido fácilmente a partir del complemento a 1, sin másque añadirle la unidad. Por tanto, primero procederemos a calcular el complemento a 1 delnúmero L y posteriormente, realizaremos la operación K+L+1 . Esto determina la diferenciaK-L .

1) Introducimos el byte menos significativo de L (L L ), por la entrada A . Las señales decontrol de ALU deben ser XC i„=1- . Por la salida F, obtenemos EL y se almacena.

2) Introducimos ahora el byte significativo, L H , por la entrada A . Las señales de controlde la ALU deben ser XC iñ 1-. A la salida obtenemos F=L H y se almacena .

3) Introducimos KL y LL por las entradas A y B de la ALU . Las señales de control debenestar a XC in=01 . Por la salida F, obtenemos ML y se almacena .

4) Repetimos, por último, los pasos 2 y 3 del apartado anterior .c) Los sumadores permiten realizar las operaciones F=A+B cuando el acarreo de

entrada está a 0 lógico, y F=A+B+l, cuando está a 1 lógico . Construimos, por tanto', unsumador de 8 bits utilizando sumadores completos de 1 bit . Por otro lado utilizaremosinversores para implementar la única función lógica de esta ALU, F=A . La unión entre la partelógica y la aritmética se puede realizar mediante multiplexores controlados por la variable X .La señal de overflow, puede ser obtenida mediante la Exor del acarreo de salida (C 8 ) y elacarreo de la etapa anterior (C7) .

Cout

V

SISO

Problema 13.- Sean X e Y dos números binarios positivos expresados en notacióncomplemento a 2. Utilizando la ALU de la siguiente figura, indique las operaciones a realizaren la ALU para que sus salidas representen el módulo del resultado de la diferencia entre losnúmeros X e Y.

3

t

CIRCUITOS ARITMÉTICOS 1 6 1

S I SO

Operación

00011011

F = AND(A,B)F = A+Ci nF = A+B+C inF = A+B+Cin

Page 168: Electronica digital problemas_de_circuitos_y_sistemas_digitales

162 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P13 .-El valor pedido, IX - YI, se obtiene con X - Y si X > Y y con Y - X = -(X -Y)si X < Y. Para obtenerlo hacemos A = X, B = Y, C i„ = 1 y s i so = 11 . Así se realiza laoperación F = X + Y + 1 = X + Ca2(Y) = X - Y. Como ambos números son positivos no haydesbordamiento aunque existen dos opciones : X > Y, en cuyo caso F muestra IX - YI, yC0,t = 1 ; y X < Y, en cuyo caso F = X - Y es un número negativo y C o„t = 0. Por tanto, siC0,t = 1, la salida F proporciona directamente el módulo de la diferencia y si C o„ t = 0 habráque realizar algunos pasos adicionales para obtener la salida deseada. Aquí presentamos dosopciones :

a) Repetir el proceso anterior pero cambiando las entradas, esto es, A = Y, B = X,C;,,=1ys 1 so =11 .

b) Reintroducir el resultado anterior F = X - Y por A y aplicar las entradas C i „ = 1 ys 1 so = 01, en cuyo caso obtendremos a la salida F = A+1 = Ca2(A) = Y - X.

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 14.- Realice las siguientes sumas sin pasar a la base decimal:a)1110(2 +1001 (2b) 100.1(2 + 111(2c) F02B(16 +1021(16d) 1230(4 + 23(4

Solución P14.a)

b)

1011 .1c)

1F02B(16

+ 1021 (161 0 0 4 C06

d)1wn

1230 (4+ 23 (4

1313 (4

Page 169: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 15.- Multiplique los números del problema anterior sin pasar a la base decimal .

Solución P15 .a)

b)100 .1

x1111001

1001100111111 .1

c) Debe utilizarse la "tabla de multiplicar" en base 16, de la que se ilustranalgunos casos :

F02B(1 6x

1021(16F 0 2 B

1E056F02B

CIRCUITOS ARITMÉTICOS 163

F21 A 58 B(16

d) Debe utilizarse la "tabla de multiplicar" en base 4, de la que se ilustran algunos casos

1230 (4

3x3=21 (4+

23(4

3x2=12(411010

2x2=10(43120102210 (4

Problema 16.- Realice las operaciones aritméticas siguientes en binario utilizando :

a) la notación en complemento a 1b) la notación en complemento a 2

y compruebe el resultado usando la aritmética decimal :1) (+42) + (-13)2) (+42) - (-13)3) (-42) + (-13)4) (-42) - (-13)

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

Page 170: Electronica digital problemas_de_circuitos_y_sistemas_digitales

164 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P16.1)

a)

2) En este caso y en el siguiente la magnitud del resultado es mayor que la magnitud decada operando . Aunque en este problema no ocurre, en situaciones similares puede haberdesbordamiento por lo que hay que verificar si V = 0 antes de validar el resultado :

10101010 42

1110010 -130011100

• > 10011101

29

b)

0101010

42+ 1110011 -130011101

29

Problema 17.- Realice las siguientes operaciones utilizando 10 bits, 3 de ellos para la partefraccionaria, usando la notación en complemento a 2 . Compruebe el resultado verificando losposibles errores.

(+22.25) + (+13.13)•

(+22.25) - (+13.13)•

(-22.25) + (+13.13)•

(-22.25) - (+13.13)

Solución P17.- La cantidad 22.25 se representa en binario como 10110 .01 . La cantidad 13 .13se representa como 1101 .00100010 . . . Puesto que sólo tenemos 7 bits para almacenar la parteentera y 3 para la parte fraccionaria de los números, su representación será22.25 = 0010110 .010 y 13.13 = 0001101 .001 .

a)

0101010 42 b)

0101010 42+0001101 13 + 0001 101 130110111 55 0110111 55

3)

1a)

1010101 -42 b) X1010110 -421110010 -13 + 1110011 -131000111 1001001 -55

> 11001000 -55

4)

a)

1010101+

-42 b) 1010110 -420001101 13 + 0001 101 131100010 29 1100011 29

Page 171: Electronica digital problemas_de_circuitos_y_sistemas_digitales

a)

0010110.010

22.25+ 0 0 0 1 1 0 1 .0 0 113 .130100011 .011

35.375

El resultado correcto sería 35,38. Se ha producido un error de 0,005 .b) Para realizar la resta sumaremos el Ca2 de 13 .13 .

El resultado que se lee tiene un error de 0,005 con respecto al resultado correcto, 9 .12 .c) Determinaremos, primero, el Ca2 de 22 .25Ca2(0010110.010) = 1101001 .110

1101001 .110

-22.25+ 0 0 0 1 1 0 1 .0 0 113.131110110.111

-9.125

El resultado se obtiene con un error de 0 .005 .d)

Se produce un error de 0 .005 .

Problema 18.- Se dispone de circuitos lógicos ITE. Estos circuitos poseen tres entradas yuna salida, y realizan la siguiente función de conmutación ITE(f,g, h)=f g + Th. Realice la etapatípica de una unidad lógica que responde a la siguiente tabla, según la organización indicadaen la figura y utilizando, exclusivamente, MUX 4:1 en el C. C. . Las entradas se disponen enraíl doble.

CIRCUITOS ARITMÉTICOS 165

x 1101001 .110 -22 .25+ 1 1 1 0 0 10.1 1 1 -13.131011100.101 -35 .375

Ca2(0001101 .001) = 1110010.111

0010110.010 22.25+ 1 1 1 0 0 10.1 1 1 -13.130001001 .001 9.125

S2 S i So F¡0 0 0 A¡

A¡0 0 1 B_0 1 00 1 1

B ¡A ¡B iAi+B ¡

S2 C.C.I

g T1 0 0 A¡B i E Fi1 0 1 S iA¡+B i1 1 0 Exor(A¡,B ¡ )

S1 1 1 Nexor(A¡,Bi )

Page 172: Electronica digital problemas_de_circuitos_y_sistemas_digitales

166 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P18 .- Se pueden dar múltiples soluciones a este problema. La que presentamosconsiste en hacer g = 1 y h = 0 en el ITE de salida, con lo que F i = f es la única función quedebe realizarse con el C .C. Para diseñar C .C. con multiplexores representamos F; en un mapabinario natural :

s2 SI s0

A¡Bi

000 001 010 011 100 101 110 11100

01

10

11

11s2 s1

Problema 19.- Diseñe un circuito aritmético con una variable de selección s y dos entradasde datos A y B de 4 bits. Cuando s = 0 el circuito realiza la operación de suma F= A+B.Cuando s = 1, el circuito realiza la operación de incremento F=A +1 .

Solución P19 .- Utilizaremos un sumador de 4 bits, en el que una de las entradas será elnúmero A y en la otra el número B para s = 0 y el número 0 para s = 1 . Asimismo conectaremosS al acarreo de entrada C i „ para generar F = A+ 1 cuando s = 1 . El circuito de la figura siguiente

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

12310

11

f = F¡

Como se observa, cada columna de la función f corresponde a la operación lógicaespecificada en el enunciado . El circuito resultante, utilizando multiplexores de cuatro canales,es :

A ¡ B ¡

1

0

g

0 1 0 1 0 1

0 0 0 1 0 1 1 0

1 1 0 1 1 0 1 0

1 0 0 1 0 1 0 1

Page 173: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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

&

&

&

&tttr

El circuito final será :

3-

SS

I1.Sumador C; n4 bits

3

CIRCUITOS ARITMÉTICOS 167

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

Problema 20.- Para la ALU de 8 bits de la figura, determine la salida F para todas las com-binaciones posibles de s2 s, so si las entradas A y B contienen los números binarios $23 y$FO, respectivamente, y el acarreo de entrada es 0 .

s2SISO

A7-o B7-0 s2 s1 s0

000001010

t 011100101110111

OperaciónF = AND(A,B)F = OR(A,B)F = EXOR(A,B)F = NOT(A)F = A+B+C ;,,F = A+ B+C ;,,F = A+ $FF +C;,,F=A+Cin

Solución P20 .a) s 2 S 1 so = 000. F = AND($23,$F0) = $20 .b) s2 S 1 so = 001 . F = OR($23,$F0) = $F3 .c) s 2 s 1 so = 010 . F = EXOR($23,$F0) = $D3d) s2 s 1 s o = 011 . F = NOT(A)=$DC .e)s2 s 1 so=100.F=A+B+C;,,=$23+$F0=$13yC o„ t=1 .f) S 2 S 1 s o = 101 . F = A + B + C ;,, = $23 + $OF = $32 y Cout=0 .g) s2 s 1 s o = 110. F = A + $FF+ C;,, = $23 + $FF = $22 y Cout=1h) s2 s 1 s o = 111 . F = A + C i „ = $23 y Cout=0 .

Page 174: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 7

ANÁLISIS DE CIRCUITOS SECUENCIALES

Los circuitos combinacionales no tienen capacidad de almacenamiento de información por loque su salida está perfectamente determinada a partir de los valores presentes en las entradas .En múltiples e interesantes casos, por el contrario, la salida Z del sistema en un instante to de-pende no sólo del valor de las entradas X en t0 sino de la evolución del sistema hasta t0 ; esto es :

Z(t0) = Z((X(t0), X(t < to))Este tipo de función corresponde a las denominadas funciones secuenciales, autómatas

o máquinas de estados finitos . Su estudio para el caso de realizaciones con circuitos digitaleses el propósito de este Capítulo .

MODELOS SECUENCIALES Y REPRESENTACIONES

Las "situaciones" en las que puede estar un circuito secuencial no son ilimitadas . Entonces,para caracterizar al circuito es posible establecer un conjunto finito de estados internos (o sim-plemente estados), S 1 , S 2 , . . . S k , cada uno de los cuales representa una de las "situaciones" delcircuito . La salida y la evolución del sistema quedan bien establecidas si se conoce el valor delas entradas (estado de entradas Ij) y el estado presente (S i ). El valor de la salida O admite dosmodelos :

- De Mealy, en el que la salida depende tanto de la entrada como del estado presente,cumpliéndose que O = O(h, S i ) .- De Moore, en el que la salida depende sólo del estado presente, O = O(S i ) .La evolución del sistema viene marcada por el cambio desde el estado presente S i al

próximo estado NS que en ambos modelos depende de la entrada y del estado presente :NS = NS(Ip S i) .

La representación de una máquina secuencial suele hacerse mediante grafos o tablas deestados/salida, de la forma siguiente :

169

Page 175: Electronica digital problemas_de_circuitos_y_sistemas_digitales

170 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Mealy

CIRCUITOS SECUENCIALES

NSSi

Ii

Moore

La realización de máquinas secuenciales con circuitos digitales es lo que se conoce como cir-cuitos secuenciales . En ellos, los estados de entrada 1 corresponden a valores de las señales deentrada X, los de salida O a las señales de salida Z y, también, los estados internos correspon-den a valores "0" y "1" sobre un conjunto de variables llamadas de estado . Esto es, cada estadotiene asignado un código binario sobre las variables de estado del circuito . Éste se representamediante la denominada tabla de transición de estados/salida, la cual es similar a las anteriores(de estados/salida) sin más que sustituir cada estado por el código binario asignado (S i -~ q,donde q = q l . . . qn ; análogamente, NS -> Q) .

La evolución desde un estado presente a un próximo estado, lo que simplemente es pasarde un valor a otro en las variables de estado, puede realizarse de múltiples formas . La máscomún es disponer de un circuito específico, llamado biestable porque tiene dos estadosestables (el 0 y el 1), que implementa una variable de estado .

Cada biestable muestra en su salida el estado 0 ó 1 almacenado, que corresponde al valorpresente en la variable de estado implementada en ese biestable . Para cambiar de valor alma-cenado y así poder hacer el cambio al próximo estado, los biestables poseen unas entradas deexcitación (normalmente llamadas SR, JK, D o T) . A su vez, este cambio de estado puede ha-cerse de forma asíncrona o síncrona, en cuyo caso el cambio de estado es controlado por unaseñal de reloj (clk) . Una vez elegido el tipo de biestable, la máquina se describe por la deno-minada tabla de excitación/salida . En esta tabla, la representación de los cambios de estado sehace mediante el valor de las entradas de excitación que hay que poner en cada biestable paraque cambie adecuadamente su valor almacenado ; por ej ., para biestables T, la tabla de excita-ción tiene la forma :

X

Ii

Ti junto con el estado presente q i

producen el adecuado Q i

NSO(NS)

O

O(S i )

Las funciones de excitación (por ej . Ti ) y de salida (Z) son funciones combinacionalesde las entradas (X) y de las variables de estado presente (q) . Así, el esquema general de un cir-cuito secuencia) síncrono es :

Page 176: Electronica digital problemas_de_circuitos_y_sistemas_digitales

BIESTABLES

En esta breve introducción nos centraremos únicamente en los biestables más comunes . Desdeel punto de vista lógico los cuatro biestables más usuales son :

aaa aaTabla de transición biestable SR

D01

0 01

QTabla de transición biestable D

Desde el punto de vista temporal, las formas síncronas de los biestables son :- 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 delbiestable), mientras que durante el otro nivel no hay cambio de estados (Q = q) .

- Disparados por flancos (a veces llamados flipflops) : en estos biestables los cambiosde estado se producen siempre tras uno de los flancos de la señal de reloj . Existen dos estruc-turas :

- Master-Slave en la que el biestable puede captar valores de entrada durante el ni-vel previo al flanco activo .

- Edge-triggered, en el que las entradas sólo afectan en el entorno del flancoactivo .

q

q

X

q

Circuitocombinacional

Bancode

biestables Excitacioclk11

(por ej T

900 01 11 l0

110

11

01

QTabla de transición biestable JK

Tabla de transición biestable T

ANÁLISIS DE CIRCUITOS SECUENCIALES 171

aa

Z

nes de los biestables

SóJ -

RóK-

DóT -

q

q

Símbolo lógico

q

q

Símbolo lógico

clk1

clk

clk

(Latch, nivel H) (Master-Slave, flanco bajada) (Edge-triggered, flanco subida)

Page 177: Electronica digital problemas_de_circuitos_y_sistemas_digitales

172 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

La mayoría de los biestables síncronos incorporan una o dos señales de excitación asín-cronas para la puesta a 1 (preset) o a 0 (clear) del biestable . Operan de forma similar a las se-

ñales S y R . El biestable debe tener las entradas asíncronas desactivadas para poder operar sín-cronamente .

ANÁLISIS DE CIRCUITOS SECUENCIALES

El problema del análisis de un circuito secuencial tiene como dato el circuito y, a veces, lasecuencia de valores de entrada . Como objetivo, hay que determinar la tabla o grafo de

estados/salida ; a veces, también una descripción verbal de la operación que realiza y, en otros

casos, un diagrama temporal de la evolución entrada-salida .Si el circuito secuencial obedece al esquema general presentado previamente, (síncrono

con una sola señal de reloj), 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 ; 22) se represen-

tan esas funciones en forma de tabla (de excitación y de salida) ; 32) a partir de ésta, se obtiene

la tabla de transición sin más que tener en cuenta la tabla de estados de los biestables involu-

crados; 42) se obtiene la tabla de estados/salida, sin más que asociar un símbolo de estado acada código de las variables de estado ; en su caso ; 52) se dibuja el grafo y se interpreta, y 6r° )

se determina la secuencia entrada-salida .Si el circuito secuencial no obedece al esquema general, el análisis se debe llevar a cabo

mediante la obtención de cronogramas de las señales de estado y de salida .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :

- Diseño de un biestable a partir de otro .

- Análisis temporal de un biestable .- Análisis de circuitos secuenciales .

- Análisis de circuitos secuenciales sin el esquema general .

PROBLEMAS RESUELTOS

Problema 1.-Obtenga los biestables JK y T a partir de un biestable D .

Solución Pl.- Este problema se reduce a obtener un circuito combinacional CC que, paracualquier combinación de entradas JK y estado presente q, genere una entrada en el biestableD que provoque, en éste, la transición de estado que correspondería al biestable JK paraidénticas condiciones de entrada y estado .

Para construir la solución, comenzaremos por presentar la tabla de transición del

Page 178: Electronica digital problemas_de_circuitos_y_sistemas_digitales

biestable JK y la tabla de excitación del biestable D .JK

00 01 11 10

QPara cada transición del biestable JK se puede encontrar la excitación en el biestable D

que la lleve a efecto . Expresándolo en el siguiente mapa de Karnaugh se tiene :JK

aa

00 01 1

DDe aquí obtenemos la expresión para D : D = J • q + K q . El circuito correspondiente

se muestra en la figura :

LK-

J-

F

r&

&&

ANÁLISIS DE CIRCUITOS SECUENCIALES 173

-1--

Para el biestable T procedemos de idéntica manera .

elh D 9q

A partir de la tabla de transición del biestable T y de la de excitación para el biestableD, se llega al mapa que se muestra a continuación de donde se obtiene la ecuación lógica parala línea D y asimismo se muestra el circuito resultante :

QLa ecuación de entrada al biestable D es : D = T - q + T • q

Lq_q

9-> Q0-311-401-910-30

1

D1010

uE

Page 179: Electronica digital problemas_de_circuitos_y_sistemas_digitales

174 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 2.-Se pretende construir un circuito como el de la figura, el cual podrá actuar comoRS, D, T o JK dependiendo del valor de C, y Co (ver tabla). Diséñelo utilizando como únicoelemento de memoria un biestable tipo T.

Solución P2.- Este problema se reduce a obtener los distintos tipos de biestables a partir delT. Procediendo de forma similar a como se hizo en el emblema 1, obtenemos las siguientesecuaciones de entrada :

T = S q + R qT = J q+K qT = DOq

Asociando cada ecuación con el caso correspondiente C 1 Co e identificando las entradas1 1 e lo con las del biestable en cada caso, se tiene :

C 1 Co =00

T = l o • q+1, qC 1Co=01

T = I, O+ qCICO = 10

T = TC 1Co =11

T=1, •q +lo •qCombinando estas expresiones en una sola :

T= (I, •q +I,, •q ) •C , •C„+(I,O+q) •C , •C„+T •C, •C„+(1, •q +l„ •q ) •C , •COEsta expresión, nos permite realizar el circuito utilizando un multiplexor, cuyas entradas

de selección son C 1 y Co .

Problema 3.-a) Encuentre la forma de onda de salida de un biestable RS Master-Slave parala siguiente secuencia de entrada :

clk

S

R

1

1 n1

b) ¿Cómo sería la onda de salida si se tratara de un RS disparado por flancodescendente (negativo)?

c) ídem para flanco positivo .

Solución P3 .a) El biestable Master-Slave está formado internamente por dos latches SR, tal como se

muestra en la siguiente figura :

C, -Co -

C, Co- Q

I, lo

0 0 R S0 1 D -

1

1

1 0 TI1 l o

1 1 J K

Page 180: Electronica digital problemas_de_circuitos_y_sistemas_digitales

to

clk

A

S-

R-

ANÁLISIS DE CIRCUITOS SECUENCIALES 175

Master

Slave

SR

f

q S s

qs

s

qs

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 q s del esclavo son las salidas del conjunto Master-Slave .

Para resolver este problema, vamos a representar las formas de onda de salida del

biestable amo y del esclavo .

clk

S

R

qm

q = qs

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 elcambio ocurre como consecuencia del cambio en la señal S, dado que este valor de entrada

(Sm = 1) fuerza a que q,,, = 1 . En el intervalo [t 1 ,t2 ], clk = 0, con ello el biestable Master

mantiene su estado inalterable, y el Slave lee en sus excitaciones los valores 10

(SsRs = gmgm = 10) por lo que q s toma el valor lógico 1 . En el intervalo [t 2 ,t3 ], clk = 1 .

A principio del intervalo, SR = 00 por lo que el Master mantiene el valor del estado en el que

estaba, pero el cambio que ocurre en Rm provoca un cambio en q,,, que toma el valor 0 . Durante

[t 3 ,t4 ] 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

Master-Slave la cual se muestra en la figura .b) En los biestables disparados por flanco el proceso es diferente . Sólo se tiene en cuenta

las entradas existentes en el momento que se genera un flanco activo en la 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 .

t1

t2

t3

t4

t5

1 E-

Page 181: Electronica digital problemas_de_circuitos_y_sistemas_digitales

176 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk

S

Hasta el instante to , el estado del biestable es desconocido . En ese instante, las entradasal biestable son SR = 10 por lo que, en el próximo ciclo de reloj, la salida del biestable se ponea 1 .

En el instante t 1 , las entradas son SR = 01, esto implica que, durante el siguiente ciclode 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

q

R

q

S

R

L

to

t31

1

1

1

to

3I

I

1

Podemos observar en el cronograma que se mantiene el estado desconocido inicialdurante muchos ciclos, porque en los flancos ascendentes, que ocurren en los instantes to y t l ,las entradas son SR = 00 .

En el instante t2 la entrada es SR = 01 por lo que se almacena un 0 en el biestable. Lallegada del siguiente flanco, en t 3 , no altera el contenido del biestable ya que SR = 00 .

Problema 4.-Para cada uno de los circuitos de la figura, justifique razonadamente si es válidocomo biestable para realizar cualquier circuito secuencial .

a

&q

a

_1 a

1

r= &

(a)

(b)

(c)

1

Solución P4.- Para que los circuitos de la figura puedan ser utilizados como elementos dememoria en los circuitos secuenciales, deben ser capaces de almacenar dos estado estables : el0 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 ---3 0, 1 -3 1, 1 -> 0,0 --> 1 .

El circuito de la figura (a) presenta el siguiente K-mapa, donde se puede observar queno existe la transición 0 -3 1 .

Page 182: Electronica digital problemas_de_circuitos_y_sistemas_digitales

ab

Problema 5.-Analice el circuito de la figura :

clk

Solución P5.- Cuando se analiza un circuito secuencial se tiene como objetivo determinar suoperació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 (excitacio-

nes) de los biestables así como las distintas salidas que posea el circuito se expresan medianteecuaciones algebraicas cuyas variables son las de entrada al circuito y las variables de salidade cada uno de los biestables (variables de estado presente) . En nuestro caso :

ANÁLISIS DE CIRCUITOS SECUENCIALES 177

00 Ql 11 10

0

0

0

0

0

1

0

0

0

1

QSI obtenemos el K-mapa para el circuito de la figura (b), podemos observar que no

existe transición de 1 - > 0 :

Q

El circuito de la figura (c), es el único que permite las cuatro transiciones posibles, porlo que puede ser utilizado, como elemento de memoria . Su k-mapa se muestra a continuación :

MEama

1 q22

Y- T_q2n

D3 ci

0- 1 q31

J qX

YX- K q

Page 183: Electronica digital problemas_de_circuitos_y_sistemas_digitales

178 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

J, = Y • q3

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

Z=X+q 3 +X •q2 +X .q, =X+q2(+q3

b) Escribir la tabla de excitación/salida . Las ecuaciones antes obtenidas se expresan me-diante un mapa de Karnaugh . En nuestro caso :

q 1q 2q 3XY

000

001

011010

110

111101

100

J IK 1 ,T2,D3, Z

c) Determinar la tabla de transición/salida . La tabla de excitación se traduce a otra, la detransición donde aparecen los próximos estados .

Para ello se procede de la siguiente forma . En cada celda de la tabla de excitación seobserva el valor de las excitaciones del biestable considerado, por ejemplo, para el biestable 1,en la celda XY = 00, q1q2q3 = 000, se tiene J 1 K1 = 00. Apoyándonos en la tabla de estados delbiestable JK, esas excitaciones dan lugar a un cierto próximo estado ; así, para JK = 00 se daQ = q. Entonces, como en la celda considerada q 1 = 0, en la misma celda de la tabla de transi-ción pondremos Q 1 = 0. Análogamente, en esa celda Q 2 = 0 (ya que T 2 = 0) y Q3 = 1 (ya queD3 = 1 y, por tanto, Q 3 = D3 = 1) . La tabla resultante es :

XYg1g2q3

000001011010110111101100

K,=X

T2 = Y .(X+Og3 ) = X .Y .g3 +X .Y .g 3

00

00

01

01 11

11

10

10

Q1Q2Q3,Z

d) Obtener la tabla de estados/salida. Cada estado de la tabla de transición está dado por

001,1 001,1 011,1 001,1001, 1 111, 1 101, 1 001, 1

011,0 101,0 110,1 010, 1011,1 011, 1 000, 1 010,1111, 1 111,1 001,1 011,1111,0 101,0 011,1 011, 1101, 1 111, 1 001, 1 001,1101, 1 101,1 011,1 001, 1

00,0,1,

00,0,1,

00,0,1,

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

00,0,1,

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

1

1

0

11

0

11

00,0,1,

10,1,1,

10,1,1,

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

10,1,1,

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

1

1

0

11

0

11

01,1,1,

11,0,1,

11,0,0,

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

11,0,1,

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

11

1

11

1

11

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

01,0,0,

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

01,0,1,

01,0,1,

01,0,1,

11

1

11

1

1

1

Page 184: Electronica digital problemas_de_circuitos_y_sistemas_digitales

las variables de cada uno de los biestables . Ahora, asignaremos a cada combinación binaria deesas 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 g1g2q3 = 000, 001, 010, • • • , 111, se obtienela tabla de estados/salida que se muestra a continuación :

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 :

7

00

ANÁLISIS DE CIRCUITOS SECUENCIALES 179

01 11 10

n n

10,1

01,1

J

1-,1

00,1

01,0

1, 1 1, 1 3, 1 1, 11,1 7,1 51 1,13,1 3,1 01 2,13,0 5,0 6, 1 2, 15, 1 5, 1 3, 1 1,15, 1 7, 1 1,1 1,17,1 7,1 1,1 317,0 5,0 3, 1 3, 1

Page 185: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 .

Problema 6.-Un circuito secuencial síncrono se ha obtenido de acuerdo con el esquema dela figura. ¿Correspondería este circuito a la estructura general de los circuitos secuencialessíncronos?. Analícelo hasta obtener su tabla de estados . (La ROM ha sido programada deacuerdo con la tabla adjunta, donde $ representa posición y [$] su contenido) .

g3g2q1XA3A2A 1 Ao

D3D2D1 Dod3d2d 1do

g3g2q1XA3A2A1Ao

D3D2D 1Dod3d2d 1 d o

Solución P6.- 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ónde la entrada y del estado presente, y D 3 , D2 y D 1 pueden ser cualquier función de excitaciónde las mismas variables .

Analizamos el circuito identificando la variable asociada a cada línea de entrada y salidade la ROM. Así, tenemos :

A3A2A1 = q3q2q1, Ao = X, D 3D2D 1 = d3d2d 1 y Z = Doy podemos reescribir la tabla de contenido de la ROM :

A continuación escribimos la tabla de excitación y salida del circuito que coincide conla de transición, ya que estamos utilizando biestables tipo D para los cuales se cumple Qi = Di :

0000 10100001 10110010 01100011 10000100 01100101 11000110 01110111 0110

1000 01001001 01111010 11011011 00011100 10001101 01001110 10101111 1001

> Ao

do Z

$ [$]

$ [$]XAl

dl 0 A

8 4> A2

d2 1 B

9 7A3 ROMd3 2 6

A D3 8

B 1D3 4 6

C 85 C

D 4D 6 7

E A7 6

F 9

D

Page 186: Electronica digital problemas_de_circuitos_y_sistemas_digitales

939291000001010011100101110111

ANÁLISIS DE CIRCUITOS SECUENCIALES 181

0 1

D3D2D1,Z = Q3Q2Q1,Z

Pasamos a la tabla de estados y salida llamando 0, 1, 2, 3, 4, 5, 6 y 7 a los estados cuyacodificación es g3g2q 1 = 000,001,010,011, . . .,111 . El resultado es el siguiente :

clkxY 1

XY

0 1

NS, Z

Problema7.-Analice el circuito de la figura . Encuentre la forma de onda de la salida para lasecuencia de entradas dada .

>1

lk

J2 q2K~92

>1 z

5,0 5, 13,0 4,03,0 6,03, 1 3,02,0 3, 16, 1 0,14,0 2,05,0 4,1

101,0 101,1011,0 100,0011,0 110,0011,1 011,0010,0 011,1110,1 000,1100,0 010,0101,0 100,1

Page 187: Electronica digital problemas_de_circuitos_y_sistemas_digitales

182 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P7.- Análisis del circuito :a) Ecuaciones de excitación y salida :D 1 =X+Y

J2 =X

K2 =Yb) Tabla de excitación y salida:

q1 q200011110

00

c) Tabla de transición y salida :

II0q

\YS

00

01

11a,0b, 1b, 1a,0

d, 1d, 1d, 1d, 0

c, 1d, 1d, 1c, 0

NS, Z

Obtención de la forma de onda para la señal de salida :Utilizando la tabla de estados anterior, encontremos la secuencia de estados . Para ello,

en cada flanco de reloj activo (en nuestro caso, el negativo) se considera cuál es el estado pre-sente y las entradas existentes justo antes del flanco ; para ese par de valores, se observa en latabla cuál es el próximo estado . Éste es el estado del circuito durante el próximo ciclo de reloj .

La solución, en nuestro caso, la mostramos en la siguiente figura : Como inicialmente noconocemos el estado presente, hemos dejado como interrogante cuál es ese estado (otra solu-ción podría ser suponer un estado inicial cualquiera) .

01

D1 , J2K2 , Z

Z=q2+Y.q1

11

00

XY

01

10

QiQ2, Z

d) Llamando a = 00, b = 01, c = 11 y d = 10 obtenemos la siguiente tabla de estados ysalida. Esta tabla puede ser reducida en un estado, ya que b es equivalente a c :

11 10

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

00,0 lo, 1 1 1, 1 1 1,001,1 10,1 10,1 11,101,1 10,1 10,1 11,100,0 10,0 11,0 11,0

10 00

01

11

10c, 0 a a, 0 d, 1 c, 1 c, 0c, 1 c c, 1 d, 1 d, 1 c, 1c, 1 d a,0 d, 0 c, 0 c, 0c, 0 NS, Z

Page 188: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 . Para determinarla, basta conocer el estado presente total (XY, S) y

mirar en la tabla de salida cuál es el valor de ésta . Como es un circuito de Mealy, la salida pue-de cambiar, tanto cuando cambie el estado (flanco negativo de clk), como cuando cambien

cualquiera de las entradas X e Y .

clk

X

__

Y

S

?

d

c

c

c

c

c

d

c

Z

1

clk 1

clk2

Y

X

Solución P8.- Para conocer la forma de onda de la señal de salida Z obtenemos previamente

la forma de las señales ql, q2 y q3 .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 .

Problema 8.-Para el circuito de la figura, dibuje la forma de onda de la salida para las secuen-cias que se muestran. Supongamos que el sistema parte del estado (q1,g2,q3,) = (0,0,0) .

y l

Page 189: Electronica digital problemas_de_circuitos_y_sistemas_digitales

184 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk 1

clk2

Y

1

X

q1

q2

Fo

J1>clk

Kl CL

1

0

o

F® Fo0

q3

F oz

o4eo

Fo F

J2

clkK

Cu

o

S

o

~ OO

Dado que J j K1 = 11 e Y = 1, se cumple Q 1 = q 1 en el flanco negativo de clkl .

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

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

Dado que Y = 1 y D2 = X y D3 = X, según sea el valor de X se cumplirá que Q 2 óQ3 = 1 en el flanco negativo de clk2 .

Dado que Y = 1 y D2 = X y D3 = X, según sea el valor de X se cumplirá que Q 2 ó Q3 = 0en el flanco negativo de clk2 .Z se obtiene como resultado de evaluar en el tiempo la ecuación : Z = Y ql q2 q3 .

Problema 9.-En el circuito de la figura, las entradas A, 8, y C están todas inicialmente a cero .La salida Y también está inicialmente a cero (0) y pasa a uno (1) después de una ciertasecuencia en el cambio de A, B y C a uno (1) .

a) Determine la secuencia que hará que Y pase a uno (1).b) Explique por qué se necesita el pulso de Start.

Start

o

Page 190: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Cuando Y = 1, como J2K2 = 00 ó 10, no puede cambiarse el estado del biestable "Y"mediante las entradas síncronas . De aquí que sea necesario ponerlo a 0 asíncronamente (Start)cada vez que se desee que la entrada "Y" tenga un flanco de subida .

Problema 10.- Analice el circuito de la figura donde los biestables son disparados por flancoy obtenga la secuencia que genera partiendo del estado inicial q1q2q3q4 = 1000 .

Este circuito posee bloqueo. Usando puertas lógicas, modifique el circuito (añadiendolo necesario) de forma que se evite el bloqueo :

1. Utilizando las señales asíncronas de los biestables (no mostradas en la figura) .2. Sin utilizar las señales asíncronas de los biestables .¿ Qué ocurriría en el caso de que los biestables fuesen disparados por nivel?

Solución P10.- Analizamos el circuito aplicando el método habitual de análisis de circuitossecuenciales síncronos . Obtenemos en primer lugar las ecuaciones de excitación :

D1 = q10+ q4D2 = q1D3 - q2D4 = q3

D i

q1A

D q2

ANÁLISIS DE CIRCUITOS SECUENCIALES 185

Solución P9 .- Como K2 = 0, las entradas del biestable Y sólo pueden ser J 2K2 = 00, en cuyocaso el biestable no cambia de estado, o J 2K2 = 10, en cuyo caso Y = 1 .

Si inicialmente Y = 0 y se desea que pase a 1 necesitamos :1-O) que J 2 = X sea 122) que el reloj del biestable X : C, suba a 1 (tenga un flanco de subida) .

Para cumplir la condición primera, de forma análoga, A debe subir a 1 y, después, B (re-loj del biestable X) también debe subir a 1 .

Por tanto, la secuencia de cambios a seguir por las señales A, B y C es :

q2

D3q3

D

clk

q4

Page 191: Electronica digital problemas_de_circuitos_y_sistemas_digitales

186 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Dado que en biestables tipo D se cumple D i = Q, tenemos la siguiente tabla de estadospara el circuito :

CI

q2q3q400

01

1110

00 01 11 lo

Q1Q2Q3Q4

De la tabla anterior, llamando cada estado por la representación decimal de la palabra

binaria ql q2 q3 q4 se obtiene el grafo de estados que se muestra :

09009000Goce***

Existe bloqueo en el funcionamiento del circuito, ya que si el circuito entrase en el es-tado 0 nunca saldría de él .

Para eliminar el bloqueo basta detectar cuándo el sistema se encuentra en dicho estado,y realizar alguna acción que lo fuerce a salir de él .

Planteamos dos soluciones distintas :1) Solución asíncrona :Activar la señal de preset PR de cualquiera de los biestables . De esta forma obligamos

a que el sistema cambie de estado asíncronamente .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 .Para detectar que nos encontramos en el estado 0 definimos una señal Z como :

Z = q l q2 . q 3 . q4

De esta forma las soluciones asíncrona y síncrona aplicadas al biestable 1 son respecti-vamente :

PRD 1 q1

Z q4- q3- q2

Solución asíncrona

D

- q4- q3- q2

Solución síncrona

0000 0010 1110 1100

1000 1010 0110 0100

1001 1011 0111 0101

0001 0011 1111 1101

Page 192: Electronica digital problemas_de_circuitos_y_sistemas_digitales

clk

S

13

6

9

4

4

4

2

1

8

12

12

Como el tiempo de propagación es difícilmente controlable (cambia de un biestable aotro, varía con la temperatura, etc . . .), la secuencia de estados no podría ser determinada .

No obstante, sí se puede controlar la anchura del pulso clk =1 y hacerla suficientementegrande como para que haya un cambio de estado y suficientemente pequeña como para que nohaya dos. Así, el comportamiento del circuito con latches sería equivalente al del circuito conflip f lops .

Problema 11.- Para el circuito de la figura se pide :a) Analizarlo .b) Indicar la secuencia de salida que se obtiene si inicialmente los tres biestables tienen

salida cero.c) Indicar cómo pueden sustituirse los biestables D y JK por biestables PM sin tener que

rediseñar el circuito.

PM

0 0011 01

1

clk

P q

Q(t+1)Q(t)10Q(t)

ANÁLISIS DE CIRCUITOS SECUENCIALES 187

Analicemos qué sucede si los biestables son disparados por nivel (por ejemplo, por elnivel alto del reloj) . Cuando clk = 0 se mantendría estable el último estado almacenado ycuando clk = 1 iría modificándose el estado de acuerdo con el grafo de estados . Esto se haríaal ritmo fijado por los tiempos de propagación de los biestables y puertas . Así, por ejemplo, siclk = 1 durante 4 veces el tiempo de propagación de los biestables tendríamos que en cadapulso habría 4 cambios de estados :

qD2

q2 q3 -

K q3

Page 193: Electronica digital problemas_de_circuitos_y_sistemas_digitales

188 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P11 .a) Ecuaciones de excitación :P1 = q3

M1 = q1 +q3

Z = g2-g3De las ecuaciones de excitación pasamos a la tabla de excitación y salida :

Q

A continuación la tabla de transición y salida :

D2 = q1 ED q3

J 3K3,D2,P 1 MI, Z

Pasamos a la tabla de excitación, a partir de las tablas de transición de cada uno de losdistintos biestables :

0

Q

Q3Q2Q1 , ZY como último paso del análisis la tabla de estados y salida, donde hemos llamado a los

estados 0, 1, 2, 3, 4, 5, 6 y 7 según la codificación de las variables de estado que se muestra :q3q2q 1 = 000, 001, 010, 011,111

J3 - g2'g3

K3 = 1

S NS Z0 1 01 3 02 5 13 7 14 2 05 0 06 2 07 0 0

9392

00

01

11

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

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

q3q2 00 01 11 10q1 0 001, 0 101, 1 010, 0 010, 0

1 011, 0 111, 1 000, 0 000, 0

Page 194: Electronica digital problemas_de_circuitos_y_sistemas_digitales

a0

b) Inicialmente g3g2q1 = 000 (S = 0)

S: 0 -> 1 -~ 3 - 7 lo 0' - 1 -o 3 -> 7 -

Z:0

0

1

0

0

1

0

T Tsecuencia 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 PMse obtiene la tabla para PM en función de D y q . Las tres tablas se muestran en la figura :

Q

Una solución es :P=J •qM=K .q

q -~> Q

Una solución es :P=DM=D

JKq

ANÁLISIS DE CIRCUITOS SECUENCIALES 189

PM

_0 ó .-1 _

q

01

o1 0

10-6,-1

01

00

J

0

-0 ó 1-10

0 10 - ó - 1

PM

P q

PM

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

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

1

- Respecto al biestable JK : A partir de la tabla de excitación del biestable JK (que semuestra en la siguiente figura) y de la del PM se obtiene la tabla para PM en función de JK yq (que también se muestra en la figura) :

- 0 ó 1 -0 - ó - 1

- 0 ó 1 -1 0

011 0

010 - ó - 1

q

Page 195: Electronica digital problemas_de_circuitos_y_sistemas_digitales

190 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 12.- Obtenga los biestables JK, T y D a partir del biestable RS.

Solución P12 .

Problema 13 .- Obtenga los biestables JK y D a partir del biestable T .

Solución P13.

J -

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

Solución P14 .

99

T

D-

99

Problema 15.- Para las secuencias de entrada de la figura, encuentre la forma de onda desalida para el caso de un biestable JK disparado por flanco negativo . Repítalo para el caso deser disparado por flanco positivo.

clk

J

K

Page 196: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P15 .- Biestable disparado por el flanco positivo de clk .

clk

q

clk

q

00/1

Biestable disparado por el flanco negativo de clk .

T2

ANÁLISIS DE CIRCUITOS SECUENCIALES 191

Problema 16.- Analice el circuito secuencial síncrono de la siguiente figura :

clk

1

Solución P16.- Si denominamos a los distintos estados por los que pasa la máquina como semuestra a continuación, podemos dar la tabla de estados correspondiente a este circuito se-cuencial síncrono .

qSd3 -A K q $ (A l A0) f$1d2

0 FA0

d,1 0d D3

ROM 2 23 B

Page 197: Electronica digital problemas_de_circuitos_y_sistemas_digitales

192 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

g1g2q3= 000

g1g2q3= 001

q1 q2 q3= 01 0

q1 q2 q3= 01 1

g1g2q3 =100

q1 q2 q3 = 1 0 1q 1 q2 q3 = 1 1 0ql q2 q3 = 1 1 1

q1 q0 =00

g1g0= 01

q1 q0 = 10

g1g0 =11

S=0S=1S=2S=3S=4S=5S=6S=7

Problema 17.- Para el circuito secuencial de la figura, obtenga la forma de onda de la salidaZ correspondiente a la forma de onda X mostrada también en la figura . Parta del estado inicialq1 q0 = 00.

X -

q0 -

X -

q0 -

-L_

q0 -

X -

J

S=0S=1S=2S=3

q

K q

q0

q1

q0 -

q1 -

clk

x

Solución P17.-Nombraremos a los estados del circuito de la forma mostrada a continuación,y a partir de la tabla de estados obtenida deduciremos la secuencia de salida .

X

Tp _q0

0

NS, Z

clk

NS, Z

17,0 7, 10,0 0,02,0 2,05,0 5, 13,0 6,04,0 7,16,0 5, 11,0 4,0

Page 198: Electronica digital problemas_de_circuitos_y_sistemas_digitales

clk

Solución P18.- Tras el análisis del circuito obtenemos el diagrama de estados al que respondela máquina secuencial . La codificación que se ha usado para cada uno de los estados es :

g1g2q3=000 S=Ag1g2q3= 001 S=B919293=01 1 S=Cg1g2q3=010 S=Dg1g2q3=110 S=Eglg2g3=111 S=Fg1g2q3=101 S=Gg1g2q3=100 S=H

1

Problema 18.- Analice el circuito de la figura . Si inicialmente los biestables están a 0, indiquela secuencia de salida para la siguiente secuencia de entrada :

1

3

ANÁLISIS DE CIRCUITOS SECUENCIALES 193

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

clk

0

1

3

0

O 0;0 O 0;0 01,0 O0,1

1,0,

0,1 O 0,0

0,01,1

00101,1

Para dar la secuencia de salida partiremos del estado inicial A (q1q2q3 = 000) y aplica-remos la secuencia de entrada .

x: 1 1 1 0 0 0 (cada bit corresponde a un ciclo de reloj)

_Xq1 -q2

X - xJ3 qq1 -

q2 -X - K3 q 1q1 -q2

q J2 q2

K K2

Page 199: Electronica digital problemas_de_circuitos_y_sistemas_digitales

194 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk

xS A

C

H

E

A

D

G

Z

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

Y

i

clk

Y

Solución P19 .

clk

x

Y

Zi

Z2

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

__r-

ML

1

L

Page 200: Electronica digital problemas_de_circuitos_y_sistemas_digitales

clk

clk

I

I

I

I

1

I

I1IIIIIIIII1

D q1

qi

q1 q2= 00

q1 q2= 0 1

q1 q2= 10

q1 q2 =11

S=0S=1S=2S=3

ANÁLISIS DE CIRCUITOS SECUENCIALES 195

D q2

q2

Solución P20 .- Tras el análisis del circuito secuencial síncrono se obtiene la siguiente tabla deestados como resultado . La codificación de los estados de la máquina secuencia) es :

NS, Z

Aplicando la secuencia de entrada que propone el problema se obtiene la siguiente sali-da. Suponemos que inicialmente la máquina se encuentra en el estado 0 .

clk

x

S

0 0 0 2 1 2 3 1 0 0 2 3 3 1 2 3 1 0 0 0 0 0 0 0

Z

Si los biestables fuesen disparados por nivel se podrían dar múltiples cambios de estadodurante el nivel activo del reloj . El circuito funcionaría respondiendo a la tabla de estados dadaen la solución si se diseña el reloj clk con una anchura de pulso suficientemente grande paraque el biestable cambie una vez por ciclo del reloj, y suficientemente estrecha para que no cam-bie más de una vez .

Page 201: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 8

DISEÑO DE CIRCUITOS SECUENCIALES

El análisis de circuitos secuenciales básicamente consiste en lo siguiente : dado un circuito hayque describir su comportamiento verbalmente o, al menos, mediante la tabla o el diagrama deestados. Este Capítulo esta dedicado al proceso inverso, esto es, dada una función secuencialhay que obtener un circuito que la implemente . A este proceso es lo que se le llama el diseñode circuitos secuenciales . Más concretamente, en este Capítulo se va a tratar el proceso dediseño de circuitos secuenciales síncronos .

PASOS DEL PROCESO DE DISEÑO

Existe un procedimiento formado por un conjunto de pasos que permite realizar este procesode una forma lo más sistemática posible . Este conjunto de pasos es el que se muestra en lafigura:

Descripciónverball

Descripción formal :Tabla o Diagrama de estados/salida

l Reducción de

Tabla mínima de estados/salida

1 Asignación de

Tabla de transición/salida

1 Elección de bi

Tabla de excitación/salida

l Síntesis de funEcuaciones de excitación y de salida

iCircuito

estados

estados

estables

ciones combinacionales

197

Page 202: Electronica digital problemas_de_circuitos_y_sistemas_digitales

198 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

A continuación se describe en qué consiste cada uno de estos de pasos .1 . El primer paso consiste en generar una descripción formal del comportamiento a par-

tir del enunciado de la función secuencial . La descripción formal consiste en la tabla o eldiagrama de estados siguiendo alguno de los dos modelos de máquina secuencial, el de Mealyo el de Moore. La forma de obtenerla depende en gran medida de la función secuencial, de for-ma que no existe un único método que sea válido para cualquier enunciado de función secuen-cial. Es un paso no sistemático. Por este motivo es el paso más difícil de realizar y de lo bienque se haga depende en gran medida el buen desarrollo del resto del proceso de diseño .

2. El segundo paso consiste en obtener la tabla de estados mínima. Esta es una nuevatabla de estados equivalente con la obtenida en el paso anterior (i .e ., dan lugar al mismo com-portamiento de entrada-salida) con el menor número de estados posible . Este paso se llama dereducción de estados y existe un método sistemático que permite realizar dicha reducción entablas de estados completamente especificadas . Este método se presenta en el problema 6 .

3 . De la tabla mínima de estados hay que pasar a la tabla de transición/salida . En estanueva tabla se representan los estados por un código binario . Este código binario debe ser al-macenado por el circuito y para ello se utilizan un conjunto de biestables, tantos como bits ten-ga el código . Esta asociación de un código binario a cada estado es lo que se llama la asigna-ción de estados . La asignación determina cómo va a ser la tabla de excitación y de salida y, portanto, afecta al coste del circuito. Como criterio básico, en este Capítulo se va a utilizar el me-nor número posible de variables de estados, lo que significa diseñar circuitos con el menor nú-mero de biestables posibles . Por otra parte, para hacer la asignación concreta en los problemascorrespondientes se van a utilizar dos métodos diferentes . 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 . Paratablas con mayor número de estados se aplicará el método basado en las reglas de adyacencia .Este método da lugar a asignaciones de buen coste pero no necesariamente el óptimo . Se de-sarrolla con detalle en el problema 11 .

4. De la tabla de transición hay que pasar a la tabla de excitación del circuito . En ella serepresenta 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 . Este paso exige que previamente se haga la elec-ción del tipo de biestables que se van a usar en el circuito .

5. A partir de la tabla de excitación/salida se obtienen las ecuaciones de excitación (i .e .,ecuaciones de entrada de los biestables) y de salida mediante métodos de síntesis de funcionescombinacionales, ya considerados en el Capítulo 4 .

6. Por último, a partir de las ecuaciones se obtiene el circuito .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Construcción de diagramas/tablas de estados .- Reducción de tablas de estado .- Asignación de estados .- Proceso de diseño completo .

Page 203: Electronica digital problemas_de_circuitos_y_sistemas_digitales

4991

W0/100/00/0

/0

Diagrama de estados

DISEÑO DE CIRCUITOS SECUENCIALES 199

PROBLEMAS RESUELTOS

Problema 1.-Construya la tabla de estados para una máquina de Mealy con una entrada X yuna salida Z, que detecte la llegada de tres ceros o tres unos consecutivos, dando una salidaZ = 1 coincidiendo con la aparición del tercer bit .

Solución Pl.- Para construir la tabla de estados vamos a partir de un estado conocido como,por ejemplo, aquél que representa la llegada de 2 ceros consecutivos (llamémosle estado A) .

En A :- Si X = 0: el próximo estado es A y la salida vale 1 .

- Si X = 1 : se pasa a un nuevo estado, que llamamos B . La salida es 0 .

B es un estado que representa el comienzo de una secuencia de 1's . En B :

Si X = 0: se pasa a un nuevo estado, C . La salida es 0 .

Si X = 1 : se pasa a un nuevo estado, D . La salida es 0 .

C es el estado que representa el comienzo de una secuencia de 0's . Por otra parte, D es

el estado que representa la llegada de 2 unos consecutivos . En C :

- Si X = 0: se pasa al estado A. La salida es 0 .

- Si X = 1 : se pasa al estado B . La salida es 0 .

En D :- Si X = 0 : se pasa al estado C. La salida es 0 .

- Si X = 1 : se pasa al estado D . La salida es 1 .De esta forma, el diagrama y la tabla de estados quedan como se observa :

Tabla de estados

Obsérvese que el estado A realmente es el estado que resulta tras detectar 2 o más ceros ;

análogamente, la detección de 2 o más unos conduce al estado D .

Problema 2.-Obtenga el diagrama de estados de un circuito con dos entradas, X e Y, que désalida Z= 1 cuando en los cuatro últimos ciclos de reloj, las entradas hayan sido 11, 01, 01, 11 .

Solución P2 .- 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. En A :

- Cuando XY = 11, se pasa a un estado nuevo : B. Z = 0 .

- Con cualquier otro valor en XY se permanece en el estado A . Z = 0 .

X

Estados

0

1

A A, 1 B,0

B C,0 D,0

C A,0 B,0

D C,0 D, 1

Page 204: Electronica digital problemas_de_circuitos_y_sistemas_digitales

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 lasecuencia (XY = 11) . En B :

- Cuando XY = 01, se pasa a un estado nuevo : C. Z = 0 .- Cuando XY = 11, se permanece en B . Z = 0 .- Con cualquier otro valor se pasa al estado A . Z = 0 .

C es el estado que guarda la información de que ha sido detectado el segundo valor dela secuencia (XY = 01) tras el 11 . En C :

- Cuando XY = 01, se pasa a otro estado : D. Z = 0 .- Cuando XY = 11, se pasa al estado B . Z = 0 .- Con cualquier otro valor se pasa al estado A . Z = 0 .

D es el estado que guarda la información de que se ha detectado el tercer valor de la se-cuencia (XY = 01) tras el 11 y 01 . En D :

- Cuando XY = 11, se completa la secuencia . Z = 1 . Se pasa a B .- Con cualquier otro valor se pasa al estado A . Z = 0 .

El diagrama de estados queda de la siguiente manera :

0-/0 11/0

11/1

10/0

/0

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 . En A, la salida vale 0 (Z = 0) :- Cuando XY = 11, se pasa a un estado nuevo : B .- Con cualquier otro valor en XY, se permanece en el estado A .

B es el estado que guarda la información de que ha sido detectado el valor (XY = 11) .En B,Z=0:

- Cuando XY = 01, se pasa a un estado nuevo : C .- Cuando XY = 11, se permanece en B .- Con cualquier otro valor se pasa al estado A .

C es el estado que guarda la información de que ha sido detectado el 01 tras el 11 . En C,Z=0:

- Cuando XY = 01, se pasa a otro estado : D .- Cuando XY = 11, se pasa al estado B .- Con cualquier otro valor se pasa al estado A .

D es el estado que guarda la información de que se ha detectado el 01 tras el 11 y 01 . EnD,Z=0:

- Cuando XY = 11, se pasa a un nuevo estado E .Con cualquier otro valor se pasa al estado A .

Page 205: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE CIRCUITOS SECUENCIALES 201

E es el estado que guarda la información de que se ha detectado la secuencia completa .Por tanto, Z = 1 . Tras E :

- Cuando XY = 00 ó 10, se pasa al estado A .- Cuando XY = 11, se pasa al estado B .- Cuando XY = 01, se pasa al estado C .

El diagrama de estados queda de la siguiente manera :

11

Problema 3.-Ha recibido de un viejo amigo la siguiente carta :"Querido amigo:Al poco tiempo de comprar esta vieja mansión tuve la desagradable sorpresa de com-

probar que está hechizada con dos sonidos de ultratumba que la hacen prácticamente inha-bitable: un canto picaresco y una risa sardónica .

Aún conservo sin embargo cierta esperanza, pues la experiencia me ha demostradoque su comportamiento obedece ciertas leyes, oscuras pero infalibles, y que puede modifi-carse tocando el órgano o quemando incienso .

cada minuto, cada sonido está presente o ausente . Lo que cada uno de ellos haráen el minuto siguiente depende de lo que pasa en el minuto actual, de la siguiente manera :

El canto conservará el mismo estado (presente o ausente) salvo si durante el minutoactual no se oye risa y toco el órgano, en cuyo caso el canto toma el estado opuesto .

• cuanto a la risa, si no quemo incienso se oirá o no según el canto esté presente oausente (de modo que la risa imita el canto con un minuto de retardo) . Ahora bien, si quemoincienso la risa hará justamente lo contrario de lo que hacía el canto .

• el momento en que te escribo, estoy oyendo a la vez la risa y el canto . Te quedarémuy agradecido si me dices qué manipulaciones de órgano e incienso debo seguir para res-tablecer definitivamente la calma ."

Conteste la carta .

Solución P3 .- Los sucesos de la vieja mansión obedecen a una máquina secuencia], de la si-guiente forma :

- Valores (o estados) de entradaSon las acciones que realiza "nuestro viejo amigo" . Existen 4 posibles estados de

entrada :

Page 206: Electronica digital problemas_de_circuitos_y_sistemas_digitales

202 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

In : Ni toca el órgano ni quema incienso .Ii : Quema incienso (pero sin tocar el órgano) .Io : Toca el órgano (pero sin quemar incienso) .Iio : Quema incienso y toca el órgano simultáneamente .

- Valores (o estados) de salidaSon las posibles situaciones de sonido en la casa :

On : No se oye nada (¡situación de tranquilidad!) .Oc : Se oye el canto picaresco (pero no la risa) .Or : Se oye la risa sardónica (pero no el canto) .Ocr : Se oye la risa y el canto .

- Estados de la MáquinaComo la salida cambia con "la señal de reloj" (esto es, cada minuto), cambia con el es-

tado por lo que es una máquina de Moore. En principio, pues, asociamos 4 estados, uno porcada una de las salidas (Sn -* On ; Sc -4 Oc ; Sr - Or; Scr - Ocr). Estos estados están de-terminados por el valor (SÍ, NO) de dos variables de estados que, por conveniencia, denomi-naremos "c" (canto) y "r" (risa) . .

OPERACIÓN: Representaremos con minúsculas (c, r) el valor presente y con mayús-culas (C, R) el valor próximo .

i) Canto : Si no se oye la risa, r = NO, y se toca el órgano, lo ó I io , cambia deestado : C = c .

En cualquier otro caso, el canto no cambia de valor : C = c .ü) Risa: Si no se quema incienso (valores de entrada In ó Io) sigue al canto, C, con un

minuto de retraso : R = c .Si se quema incienso, (valores de entrada I i ó Iio ), la risa hace lo opuesto al canto con

un minuto de retraso : R = cDe esta forma la tabla de estados queda como sigue :

c

r

Sn NO NO

Sc SÍ NO

Sr NO SÍ

Scr SÍ SÍ

I n 1 0 Ii

CR

ha

On

OcOr

Ocr

La respuesta a la carta debe decir lo siguiente : l ,r minuto : Se oye risa y canto por lo quedebe quemar incienso; 2° minuto : Se oye canto pero no risa, por lo que debe quemar inciensoy tocar el órgano ; 3` minuto : No se oye nada por lo que no debe hacer nada .

NONO SÍ NO NO SÍ SÍ SÍ

SÍ SÍ NO SÍ SÍ NO NONO

NONO NONO NO SÍ NO SÍ

SÍ SÍ SÍ SÍ SÍ NO SÍ NO

Page 207: Electronica digital problemas_de_circuitos_y_sistemas_digitales

s0 0/0

DISEÑO DE CIRCUITOS SECUENCIALES 203

Problema 4.-Sobre una única línea X se envía una información sincronizada con una señalde reloj Ck. Se ha convenido que la información sea correcta siempre que no haya dos o másunos consecutivos o cuatro o más ceros consecutivos. Obtenga el diagrama de estados deun circuito cuya salida sea uno si se detecta un error en la transmisión y que permanezca enese valor en tanto dure el error.

Solución P4 .- Para que la salida (señal Z) sólo indique error (con Z=1) mientras éste perma-nezca, haremos que Z dependa de X (máquina de Mealy) .

Para construir el diagrama de estados se parte de un estado conocido, por ejemplo : seaA el estado que indica que el último valor de X almacenado es 1 . Estando en A :

Si X=1, hay error (dos 1's consecutivos) por lo que Z=1 y el próximo estado es A ya queel último valor recibido es 1 .

Si X=0, no hay error (Z=0) y el próximo estado será B .El estado B indica que el último valor recibido es 0 (mientras que el penúltimo era 1) .

Estando en B :Si X=1, no hay error (Z=0) y el próximo estado es A .Si X=O, no hay error (sólo dos O's consecutivos) y el próximo estado es C .El estado C corresponde a haber recibido dos ceros consecutivos . Estando en C :Si X=1, no hay error y el próximo estado es A .Si X=O, no hay error (sería el 3 cero) y el próximo estado es D .El estado D refleja la existencia de tres ceros consecutivos . Estando en D :Si X=1, no hay error y el próximo estado es A .Si X=0 sería el cuarto 0 consecutivo con lo que hay error (Z=1) y el próximo estado es el

propio estado D .El diagrama de estados completo es el siguiente :

1/0

OVIAM

Problema 5.-Un circuito secuencial tiene dos entradas (X1 , X2) y dos salidas (Z 1 , Z2) . Las en-

tradas representan un número binario natural de dos bits, N. Si el valor presente de N es ma-yor que el valor inmediatamente anterior, entonces, Z 1 = 1. Si dicho valor es menor, entonces

la salida Z2 = 1 . En cualquier otro caso, Z1 = Z2 = 0. Se pide :1) Escribir la tabla de estados correspondiente del circuito, como autómata de Mealy.2) ¿Cuántos estados tendría el circuito como autómata de Moore?

Solución P5 .- 1 .- El funcionamiento del circuito es el siguiente : si y sólo si(XIX2)N > (X 1 X2 )N - 1 entonces, Z 1 = 1 ; por otra parte, si y sólo si (X 1 X2)N < (XIX2)N-1

entonces, Z 2 = 1 ; si (X1X2)N = (X1X2)N_1, entonces Z 1Z2 = 00 .

Page 208: Electronica digital problemas_de_circuitos_y_sistemas_digitales

204 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Para comparar el valor actual con el anterior se necesita almacenar ese último valor .Por tanto, la máquina debe tener un estado por cada posible valor de X 1 X2 :

A estado que almacena que el último valor recibido de X 1 X2 = 00B estado que almacena que el último valor recibido de X 1X2 = 01C estado que almacena que el último valor recibido de XI X2 = 10D estado que almacena que el último valor recibido de X 1 X2 = 11

Con esto se puede construir directamente la tabla de estados, que queda de la siguientemanera :

Est .

Ao

A1

A2

A3

Bo

B 1

B 2

B 3

Co

C 1C2

C3

00

B

CD

01

00

10

01

11

10 11

NS, Z 1 Z2

2.- Como máquina de Moore, en principio se necesita un estado que almacene el últimovalor recibido y si era mayor (salidas Z 1Z2 = 10), igual (salidas Z 1Z2 = 00), o menor (salidasZ 1Z2 = 01) que el anterior. En total, como pueden lleg~wl4 valores diferentes 100, 01, 10, 111,son 4x3 = 12 estados distintos . La tabla de estados queda de la siguiente manera :

SIGNIFICADO DE LOS ESTADOS

NOTA: Se comprueba que la tabla es irreducible salvo por la posible eliminación de los esta-dos Ao y B3 que sólo pueden alcanzarse si son estado inicial .

Co A1 A2 A3Bo C 1 A2 A3

Bo B 1 C2 A3

Bo B 1 B2 C3

Co A1 A2 A3

Bo C1 A2 A3

Bo B 1 C2 A3

Bo B 1 B2 C3

Co A 1 A2 A3

Bo C1 A2 A3

Bo B 1 C2 A3

Bo B 1 B2 C3

A,00 B, 10 C, 10 D, 10

A,01 B, 00 C, 10 D, 10

A,01 B, 01 C, 00 D, 10

A,01 B, 01 C, 01 D, 00

Z1Z2 Último valor recibido

10 0010 0110 1010 1101 0001 0101 1001 1100 0000 0100 1000 11

Page 209: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 6.-Muestre la tabla de estados mínima de una máquina secuencial síncrona conuna entrada X y una salida Z que opera de la siguiente forma : cuando se detecta la llegadade 110 (primero 1,después 1, después 0), Z se pone a 1, manteniendo este valor hasta de-tectar la secuencia 010, en cuyo caso Z pasa a tomar valor 0 manteniendo este valor hastaque llegue una nueva secuencia 110 .

Solución P6.- Partimos de un estado conocido para construir el diagrama de estados . Por ej .sea A el estado que se alcanza al detectarse la secuencia 110, por lo que la salida será 1 hastaque se detecte 010. Consideramos que la máquina es de Mealy . El diagrama de estados con elsignificado de cada estado y la tabla de estados son los siguientes :

0/1á%- 1/0

DISEÑO DE CIRCUITOS SECUENCIALES 205

Para obtener la tabla de estados mínima debemos comprobar si se pueden reducir o eli-minar estados . Para ello seguimos el proceso de reducción de estados, que consta de los si-guientes pasos :

1 . Formar la lista de estados con salidas diferentes (son estados incompatibles) :

{ A,C; A,D ; A,F; A,G ; A,H; B,C ; 13,13 ; B,F; B,G; B,H; C,D; C,E; C,F; C,G; C, H; D,E ;D,H; E,F ; E,G; E,H; F,H; G,H} .

2. Construir la tabla de pares compatibles o de reducción, que es una tabla en forma deescalera asignando un escalón a cada estado como se observa en la figura del paso siguiente .

3 . En esa tabla, marcar las casillas de los pares de la lista del paso 1 . (Es obvio que estatabla se puede obtener sin necesidad de haber listado los estados incompatibles) :

0/1 ©'Q 1/0

1/1 S

0

1~Q 1/1

w1/1 O` 1/1 1/0 A B1 C10/0

00/0 B B1 C1C DO El

Significado de cada estadoDE

FO GOA1 El

Est .A

Recibido. . . .110 F FO GO

B . . . .00

(con Z = 1) G DO HO

C . . . .01

(con Z = 1) A1 HOE . . . .11

(con Z = 1)D . . . .010 NS, ZF . . . .00

(con Z = 0)G . . . .1

(con Z = 0)H . . . .11

(con Z = 0)

Page 210: Electronica digital problemas_de_circuitos_y_sistemas_digitales

206 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a

.Z'~.1,-091

EN 09

C

X

XX X H

4. Observando la tabla de estados, escribir dentro de cada casilla de la tabla de reducciónlos estados que deben ser compatibles para que el par que corresponde a dicha casilla lo seatambién :

HA,

011

FAP,al

XXABCEXXX

XXXX E

X

X

D

H

un©-©LWI ©©w=, aun©.~'©.Z'©©--©

G

Tabla de reducciónFase inicial

Tabla de reducción

5 . En la tabla de reducción tachar aquellas casillas en las que exista escrito algún par deestados incompatibles. Repetir este paso de forma iterativa hasta que se hallan marcado todoslos pares incompatibles :

Tabla de reducciónFase final

Al final de este punto, todas las celdas sin tachar corresponden a parejas de estados com-patibles (o equivalentes si, como en este caso, la tabla de estados/salida está completamenteespecificada) .

6. Construir la lista de compatibles . Para ello hay que formar una tabla con tres colum-nas: en la primera anotar un estado (se empieza por el del escalón más bajo) ; en la segunda seanotan los estados equivalentes del primero (aquellos cuyas casillas no estén marcadas) ; en latercera se anotan los compatibles . En máquinas completamente especificadas, los compatiblesse agrupan por clases de equivalencia, por lo que la lista final de compatibles se forma fácil-mente, agrupando todos los estados que sean compatibles entre sí.

Page 211: Electronica digital problemas_de_circuitos_y_sistemas_digitales

SEquivalentes

CompatiblesH

{H}•

{H,G}F

{H,G,F}•

{H,G,F,E}•

F {H,G,DF,E}C

{ H,G,DF,E,C}B

{ H,G,DF,E,C,B }A

B

(H, G, DF, E, C, AB)rrTrr~Nuevos estados :

H, G, D, E, C, A

Problema 7.-Un circuito secuencial tiene una entrada X y una salida Z Por X se transmitenpulsos positivos de 1, 2 ó 3 ciclos de duración . Desde un pulso al siguiente X permanece a 0un mínimo de 10 ciclos. La salida Z se pondrá a 1 tras terminar el pulso de entrada y perma-necerá en 1 durante 3 ciclos si el pulso de X duró un ciclo, durante 2 ciclos si X duró 2 y du-rante 1 ciclo si X duró 3. En otros asos Z es cero.

Obtenga la tabla de estado /salida mínima según el modelo de máquina de Mealy .

Solución P7 .- Del enunciado se deduce el comportamiento del circuito, que es el siguiente :

3

DISEÑO DE CIRCUITOS SECUENCIALES 207

2

A partir de loscompatibles seconstruye lanueva tablade estados :

0 1

NS, Z

Partamos de un estado conocido . Sea el estado A aquel en el que no se ha detectado nin-

gún pulso. En A :

- Si X= 1 se detecta el primer ciclo del pulso en X . Se pasa al estado B . Z=O .

- Si X=0 se permanece en A. Z=O .En B :- Si X=1 se detecta el segundo ciclo del pulso en X . Se pasa a C. Z=O .

- Si X=0 fin del pulso de un ciclo de duración . Se pasa a D . Z=1 .

En C :- Si X=1 se detecta el tercer ciclo del pulso en X . Se pasa a E. Z=O .

- Si X=0 fin del pulso de dos ciclos de duración . Se pasa a F . Z=1 .En D, E y F, X no puede valer 1 porque, según se dice en el enunciado, el pulso mayor

es de tres ciclos y, tras finalizar un pulso, la entrada permanece a 0 un mínimo de 10 ciclos dereloj .

En D, Z debe durar 1 durante dos ciclos más de reloj . Se pasa a G . Por tanto, Z=1 en el

estado D y en el estado G .

A1 C 1

D 0 E 1

D 0 G 0

A 1 E 1

D 0 H 0

A 1 H 0

Page 212: Electronica digital problemas_de_circuitos_y_sistemas_digitales

208 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

En E, se pasa directamente a A y se da el único pulso de salida . Z=1 .En F: Z debe durar 1 durante un ciclo más de reloj . Se pasa a A . y se da Z=1 .El diagrama de estados/salidas de Mealy y la correspondiente tabla de estados son los

siguientes :

e0

0/1

0/1 0/1

1/0

0/1

NS, Z

Siguiendo el proceso de reducción de estados obtenemos la tabla mínima :

PRMOMM

wwdmwTabla de reducción

0 1

Tabla de estados mínima

Problema 8.-Por una línea X se recibe, bit a bit, un número binario N, empezando por el me-nos significativo.

a) Obtenga la tabla de estados mínima correspondiente al circuito que permite generaruna única salida Z con el valor Z = 2 x N .

b) Repita el apartado a) para obtener Z = 3 x N .Comience por un estado de reset. No tenga en cuenta cuándo acaba N .

A,0 B,0

D,1 C,0

F,1 E,0

G,1

A,1

A,1

A,1

S

0

1COMPATIBLES

A A,0 B,0

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

{A, B, C, D}D A,1

NS, Z

Page 213: Electronica digital problemas_de_circuitos_y_sistemas_digitales

0/1

Diagrama de estados

X

Estado`

RE

A

B

NS, Z(Como antes, RE y A son el mismo estado) .

DISEÑO DE CIRCUITOS SECUENCIALES 209

Solución P8.a) Sea el número binario N = . .. N3 N2 N 1 No . Entonces, el número binario

Z = 2 x N = . . . N3 N2 N 1 No 0, pues multiplicar en binario por 2 equivale a "poner un 0 a laderecha". En nuestro caso, N viene por la línea X y 2 x N sale por Z . Esto es, se cumplirá :

Ciclo 1 : En X está X0, por Z sale Z0 = 0Ciclo 2 : En X está X 1 , por Z sale Z l = XOCiclo 3 : En X está X2, por Z sale Z2 = X1Ciclo 4: En X está X3 , por Z sale Z3 = X2

Ciclo j+1 : En X está Xj , por Z sale Zj = Xj _ 1Para obtener Zj , basta conocer el valor de Xj _ 1 que sólo puede ser 0 (estado A) ó 1

(estado B) . Con ello, el diagrama y la tabla de estados son :

A,0

A,0

A,1

B,0

B,0

B,1

0

NS, ZNS, Z

Tabla de estados

En la tabla de estados se observa que : A y RE son el mismo estado ; A y B son incom-patibles. La tabla de estados mínima consta de sólo dos estados, pero el inicial debe ser A .

b) En el primer ciclo (el estado presente es el de reses RE) hay que sumar N 0 + N0 + N0 ;el resultado será Z0 = 0 (y acarreo 0) si N0 = 0 y Z0 = 1 junto con un acarreo de 1 si No = 1 .En el segundo ciclo deberemos sumar N 1 + N 1 + N1 con el acarreo (0 o 1) anterior ; el resul-tado de esta suma puede ser Z 1 = 0 o Z1 = 1 con acarreos de 0, 1 o 2 .

En general, en el ciclo j-ésimo hay que sumar tres veces el bit presente en X (0 01) juntocon el acarreo generado anteriormente, para lo cual dicho acarreo deberá estar "almacenado"en un estado (A si el acarreo es 0, B si es 1 y C si es 2) . La salida Z mostrará el bit de la suma,mientras que el próximo estado informará de cuál ha sido el acarreo generado .

Con este razonamiento se obtiene la tabla de estado siguiente :

1X

Estado\

A

B

NS, Z

A,0

A,1

B,0

13,1

0

1

Tabla de estados mínima

Tabla de estados

Tabla de estados mínimaX

S\ 0 1\S~

0 1RE A,0 B, 1

A A,0 B, 1A A,0 13,1

B A,1 C,0B A,1 C,0

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

Page 214: Electronica digital problemas_de_circuitos_y_sistemas_digitales

210 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 9.-Diseñe un circuito secuencia) síncrono con dos entradas X 1 y X2 y dos salidasZ1 yZ2 . Por las entradas se reciben bit a bit dos números de n bits, N 1 y N2 , comenzando porel bit más significativo . Las salidas deben representar lo siguiente :

Z2 = mayor(N2,N1)Z1 = menor(N2, N1)

Obtenga la tabla de estados/salida mínima, suponiendo el siguiente comportamiento :X2 : 0 0 1 0 0 1 . . . .X1 : 0 0 1 1 0 0 . . . .Z2 : 0 0 1 1 0 0 . . . .Z1 : 001001 . . . .

Nota. Obsérvese que en el ejemplo N 1 > N2 por lo que X1 sale por Z2 yX2 lo hace por Z1 .

Solución P9.- El número mayor entre N 1 y N2 es aquél por el que se recibe el primer 1 mien-

tras que se recibe un 0 por el otro. Así, en el ejemplo del enunciado, el 4° bit de X 1 es 1 mientras

que el de X2 es 0. A partir ¿It este momento y con independencia de los bits que se reciban, el

número mayor (N I en el ejemplo) saldrá por Z2 y el menor por Z1 . Hasta que ocurra eso

(X 1 X2=10 ó 01) por primera vez, los bits son iguales de forma que tanto por Z 1 como por Z2

sale el bit de entrada recibido .En el comportamiento dado en el enunciado, las salidas cambian en el mismo ciclo que

ocurre el cambio de entrada, lo que indica que Z1,2 dependen de X1,2 y, por tanto, es una má-quina de Mealy .

Sea A el estado inicial . Al no haberse recibido ningún bit los números son "hasta esemomento" iguales. Las posibles entradas y la respuesta del circuito son :

X1 = X2 : Los números continúan siendo iguales . No hay cambio de estado . Las salidasserán: Z1 = Z2 = X1 = X2 .

X 1X2 = 10 : El número N 1 es mayor que el número N 2 , por lo que se pasará a un nuevoestado B. Las salidas serán : Z2 = X1 Y Z 1 = X2 .

X 1 X2 = 01 : El número N 2 es mayor que el número N 1 , por lo que se pasará a un nuevoestado C. Las salidas serán : Z 2 = X2 Y Z 1 = X 1 .

El estado B representa el caso en que N 1 >N2, y por tanto, Z2 = X1 Y Z 1 = X2 hasta elfinal . El próximo estado de B, es B . Lo mismo ocurre para C estado en el que N 2 > N 1 . La tablade estado queda como sigue :

00 01 11 lo

NS, Z2 , Z i

Los estados son

incompatibles : la tablaes irreducible

A,00 B,10 A,11 C,10

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

C,00 C,01 C,11 C,10

Page 215: Electronica digital problemas_de_circuitos_y_sistemas_digitales

X

Ck

Q 1 Q2, Z

DISEÑO DE CIRCUITOS SECUENCIALES 211

Problema 10.- Diseñe una máquina secuencial que responda a la tabla de estados siguiente.Diséñela con biestables JK atendiendo a las siguientes asignaciones :

a) Asignación 1 : A = 00, B = 01, C = 11, D = 10b) Asignación 2: A = 00, B = 11, C = 01, D = 10

X

NS, Z

Solución P10.a) Dada la asignación y la tabla de estados, se obtiene la tabla' de transición/salida sin

más que sustituir los estados por los códigos que se han asignado . De esta tabla ya se puedenobtener las ecuaciones de salida . Además, de la tabla de transición junto a la de excitación delbiestable JK, se pasa a la de excitación del circuito . De esta tabla obtenemos la ecuaciones deexcitación :

Tabla de excitación

J 1 K 1 , J 2 K2Tabla de transición/salida

del biestable JK

El circuito queda como se muestra :

D

1

Tabla de excitación

2KA

q

Ecuaciones deexcitación y de

salida

1 Por simplicidad, en las distintas tablas sólo pondremos los mintérminos de las salidas (celdas conZ= 1) .

S\ 0

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

X

q1 9\ 0 1X J 1 =X

K1 =q2q -3Q JK q 1 q2

0 1A 00 00 11 0-*0 0- 00 0-,0_ 1-, 1- J2 = Xq1B 01 00 10, 1 0-31 1-

01 0-, -1 1-, -1 K2 = Xq11 ->0 -1C 11 00 01,1 11 -1, -1 -I,-01 --3 1 -0 Z = Xq2D 10 10 10 10 -0,0_ -0,0_

Page 216: Electronica digital problemas_de_circuitos_y_sistemas_digitales

212 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) Para la segunda asignación, las tablas de transición/salida y de excitación y las ecua-ciones de excitación y de salida son las siguientes :

Q I Q2, Z

NS, Z

J1 K1 , J2 K2

Problema 11 .- Obtenga una buena asignación para las siguientes tablas de estado :

NS, Z

Solución Pll .- Para obtener "una buena" asignación basta con aplicar las reglas de adyacen-cias. Estas reglas son las siguientes :

1 .- Hacer adyacentes los estados cuyos próximos estados sean iguales para cada valorde entrada .

2 .- Hacer adyacentes los estados cuyos próximos estados sean los mismos aunque en di-ferentes valores de entrada, siempre que esos próximos estados también se hagan adyacentes .

3.- Hacer adyacentes los estados cuyos próximos estados sean los mismos para algúnvalor de entrada .

4.- Hacer adyacentes los próximos estados de cada estado .5.- Hacer adyacentes los estados que tengan los mismos valores de salida .Aplicando las reglas a las tablas de estado obtenemos lo siguiente :

REGLAS Tabla a Tabla b1 (A,B) (A,B)2 -- (C,D) si (A,C)3 (A,C),(A,D), (B,C), (B,D),

(C, D)

--

4 2x(A,D), (B,D), (C,D) 2x(B,D), 2x(A,C)5 (B,C) (B,D) (C,D) (B,D)

\q

XJ1 = X92

91 0

1 q 1 92

0

1K1 = X q2

00 00 01 q-*Q JK 00 0-,0_ 0-, 0-0 -* 0 0- J2 = X9101 00 1 1, 1 01 0-, -1 J-1_,_00-41 1-

10,111 00 1 -~ 0 -1 11 -1, -1 -0 , _1 K2 = X+q1

10 10 10 1 -* 1 -0 10 -0,0_ -0,0_ Z = X92

Tabla a : Tabla b : X

S

0 1 0

1

A A, 1 D A D, 1 B

B A D B D B

C B D C C A, 1

D C D D A C

Page 217: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Tabla a Reglas que cumple :

1 . 1 (Todas)2 . -- (Todas)3 . 3 (de 5)4 . 3 (de 4)5 .

3 (Todas)

sCOB,0

-00

DISEÑO DE CIRCUITOS SECUENCIALES 213

Una vez aplicadas las reglas, se forma un mapa de Karnaugh en el que las variables sonlas variables de estado necesarias para la asignación . En este caso, en ambas tablas se necesitan

dos variables de estado y l e Y 2 . En este K-mapa, asignamos a cada estado un código tratando,por prueba y error, de cumplir el máximo número posible de las reglas de adyacencia :

Tabla b

Problema 12.- Un sistema recibe secuencialmente datos de 1 bit a través de su entrada X .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. Dé dos diseños alternativos: a) como autómata de Moore ;b) como autómata de Mealy. Discuta ventajas e inconvenientes de ambos diseños .

Solución P12 .- Un ejemplo del comportamiento que describe el enunciado es el siguiente :

X :011001011101111110

Z:000000000100011110

De este comportamiento se obtienen los diagramas de estado, siguiendo el modelo deMoore o el modelo de Mealy :

0

Reglas que cumple :

1 . 1 (Todas)2 . 1 (Todas)3 . -- (Todas)4 . 4 (Todas)5 .

1 (Todas)

OLAM

SIGNIFICADO DE CADA ESTADO

MealyA: no se ha recibido ningún 1 .

B : se ha recibido el primer 1 .C : se ha recibido el segundo 1 . (En Máquina de Mealy, si X=1, es el tercer 1 y Z=1 .

En máquina de Moore, si X=1 se pasa a un nuevo estado D .)D (exclusivo de la máquina de Moore) : se ha recibido el tercer 1 ; Z=1

Para observar las diferencias entre las máquinas de Moore y de Mealy, en la figurasiguiente se muestra un diagrama de tiempo donde se observa la secuencia de estados y desalida de cada tipo de máquina para una misma secuencia de entrada .

Page 218: Electronica digital problemas_de_circuitos_y_sistemas_digitales

214 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Ck

X

ZMoore A

ZMeaJy A

A! B C A A': B : A B C

A B C A' A B A B C

D A 13 C D D D D

C A 1 13 C C C C C A

A A A

Las características de cada tipo de máquina son la siguientes :Moore :

Z=1 durante períodos de reloj completos .Z=1 después de detectar la llegada de 3 unos .Posee más estados que la máquina de Mealy .

Mealy :

Z=1 después de detectar 2 unos y siempre que X siga siendo 1 .Posee menos estados que la máquina de Moore .

Se pueden presentar algunas diferencias temporales entre ambas salidas si las entradascambian en instantes arbitrarios, como los que se muestran a continuación :

Ck _

La máquina de Moore da salida 1 durante 1 ciclo tantosi X permanece en 1 durante poco más de 2 ciclos

X

(siempre que X = 1 en 3 flancos activos) como si Xprácticamente permanece en 1 durante 3 ciclos . La

ZMooreA B C D A A

máquina de Mealy puede dar Z = 1 durante intervalosarbitrarios de tiempo, según cuándo cambia X en

ZMealyA! A B C A A

relación a Ck .

El resto del proceso de síntesis es el siguiente :1) Reducción de las tablas de estado : en este caso son irreducibles .2) Asignación de códigos : como son máquinas de 3 ó 4 estados se utiliza el método

exhaustivo :

3) Obtenención de las ecuaciones mínimas de excitación y de salida : se aplica el proce-dimiento de diseño mínimo para funciones combinacionales .

Aplicando este proceso a la solución como máquina de Moore :

ESTADOS ASIGNACIONES DE COSTE DISTINTO1 II 111

A 00 00 00B 01 01 11C 10 11 01(D) 11 10 10

Page 219: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Q1Q0=D1D0

D

1

DISEÑO DE CIRCUITOS SECUENCIALES 215

QIQ0=D1 D0

filo": 3,DunaTabla de reducción

ASIGNACIÓN III

Q1Q0=D1D0

Las ecuaciones de excitación y salida para cada asignación se muestran a continuación :

DI = Xq 1 +Xq0

DI = Xq1 +Xq0

DI = Xq 1 +Xqo

L IDO = Xq 1 + Xqo

II :

Do = Xq 1

III: Do = X (q1 G) q0)

Z = g1g0

Z = g1g0

Z = g1g0

La solución de menor coste es la segunda (II) y el circuito el siguiente :

0

Problema 13.- Diseñe un chequeador de paridad para caracteres de 4 bits enviados en serie .El circuito recibirá, partiendo de un estado inicial, 4 bits en serie por una línea de entrada, X ;coincidiendo con el cuarto bit, la salida del circuito será 1, si y sólo si el número total de unosrecibidos ha sido par. Tras la recepción del cuarto bit, el circuito volverá a aceptar en la entra-da un nuevo carácter de 4 bits . Utilice en el diseño biestables D .

S 0 1 Z

A 0Tabla de estados

A B

B A C 0

C A D 0

D A D 1

X

q 1 90

0

1

Z

A=0 0 00 11 0C=0 1 00 10 0B=1 1 00 01 0D=1 0 00 10 1

NS

ASIGNACIÓN I ASIGNACIÓN IIX X

91 90

0

1

Z 91 90

0

1

ZA=0 0 00 01 0 A=0 0 00 01 0B=0 1 00 10 0 B=01 00 11 0D=1 1 00 11 1 C=11 00 10 0C=1 0 00 11 0 D=1 0 00 10 1

Page 220: Electronica digital problemas_de_circuitos_y_sistemas_digitales

216 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P13 .- Del enunciado se puede concluir lo siguiente :1 .- La secuencia viene en grupos de 4 bits, por lo que la máquina debe reconocer si un

valor de X corresponde al primer, segundo, tercer o cuarto bit . Esto es, no hay solapamiento .2.- Se trata de una máquina de Mealy, ya que la salida se hace 1 "coincidiendo" con el

cuarto bit .3.- Existe un estado inicial (R) . 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 .Puesto .que debemos detectar la paridad par de la secuencia, los estados de la máquina

deben guardar información del número de 1's que van, y del lugar que ocupa el bit en la se-cuencia. Por tanto, el diagrama de estado queda como se muestra :

El resto del proceso de síntesis es el siguiente :1 á- Reducción de la tabla de estados :

0 1

NS, Z

NÚMERO DE UNOS

PAR

IMPAR

0/0

1/1W- 30

Orden del bit que se espera1 0

Ma

∎1ai-i.o"

©©©VIERV

A

B

C

40

D

Tabla de reducciónFase final : es irreducible .

A B

C D

D C

E F

F E

R,1 R

R R,1

Page 221: Electronica digital problemas_de_circuitos_y_sistemas_digitales

2 .- Asignación . Construcción de la tabla de transición/salida .

REGLASTabla1

(E,F)

Y2,Y¡ ,YO2

(A,B) si (C,D), (C,D) si

A=000(E,F)

B=0013

D=0114

(A,B), 2(C,D), 2(E,F)5

(R,A,B,C,D)

C=010

Reglas de adyacencia

E=110

F=111

101

R=100ama®N

3 .- Ecuaciones de excitación/salida. Se utilizan biestables D que cumplen : D; = Y 1 . De

esta forma la tabla de transición/salida coincide con la tabla de excitación . De esta :

D2 = Y i

Di = Y2

Do = x Y2Yo + xy2yo + xyi yo

Z = X Y2Ytyo + Y2Yo

El diagrama de circuito se obtiene directamente de las ecuaciones de excitación y salida .

Problema 14.- Se pretende diseñar un circuito secuencia) síncrono con una entrada X y dossalidas Y, Z que cumpla la siguiente tabla de estados/salida :

X

La asignación cumpletodas las reglas menos3 de la regla 5

DISEÑO DE CIRCUITOS SECUENCIALES 217

0 1

Y2Y l Yo, Z

Tabla de transición

NS, Y,Z

Utilizando el diagrama de bloques de la figura :a) Calcule el número de biestables tipo D que se necesitan .b) Dé el tamaño y contenido de la ROM.

010 011

011 010

111 110

110 111

100,1 100

100 100,1

000 001

0

1

Eo E0,00 13 1 ,00

E l E2,00 E1,01

E2 E2,10 E3,10

E3 E0,10 E3 ,11

Page 222: Electronica digital problemas_de_circuitos_y_sistemas_digitales

218 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

YZ

Solución P14.- Es una tabla con cuatro estados, todos incompatibles, por lo que es irreducible .Se necesitan dos variables de estado. Por lo tanto, siguiendo el esquema de la figura del enun-ciado se necesitan dos biestables D .

El tamaño de la ROM depende del número de entradas y salidas . Como entradas de di-rección se tienen : X, entrada de datos, y q l y q0 variables de estado (salidas de los biestablestipo D). Como salidas se tienen : Y y Z, salidas del circuito, y D I y D0 entradas a los biestables .Por tanto se necesita una ROM de 8x4 (8 palabras de 4 bits cada una) .

Utilizando un asignamiento cualquiera, se obtiene la tabla de transición/salida y de ellael contenido de la ROM :

Problema 15.- Se desean obtener 4 señales Z 1 , Z2, Z3, Z4 a partir de una señal de reloj Ckdisponible en un determinado sistema . Realice el circuito correspondiente utilizando exclusi-vamente: 2 biestables JK, un DEC 2 :4 y 4 puertas AND.

Ck

Z1

Z2

Z3

Z4

XX ql q0 Do D 1 Y Z

X A2

H > Z> Y0 0 0 0 0 0 >0

A 1ROM H1

8x4 2q 1 qo

0

1 0 0 1 0 1 0 0010 0 1 1 0 Ao

HEo =00 00,00 01,00 011 0 0 1 0El =01 10,00 01,01 100 1 0 0 0 q0

1 0 1 1 0 0 1 DE2= 10 10,10 11,10 110 1 1 1 0E3= 11 00,10 11,11 111 1 1 1 1 q1

Q 1Qo=D 1Do , Y Z A2A1 Ao H3 H2H1 Ho Ck

Tabla de transición/salidas Contenido de la ROM Circuito final

Page 223: Electronica digital problemas_de_circuitos_y_sistemas_digitales

QiQo

Tabla de transición/salida

NS

Utilizando la asignación habitual en los contadores (asignar códigos consecutivos a es-tados consecutivos) obtenemos la siguiente tabla de transición :

DISEÑO DE CIRCUITOS SECUENCIALES 219

Solución P15 .-En el diagrama temporal observamos dos hechos :1 .- Cada 4 ciclos de reloj se repiten las señales . De aquí que el sistema tenga 4 estados

(llamémosles A, B, C y D), cuya secuencia es :

Se trata de un contador módulo 4 .2.- Cada salida se hace 1 durante un semiperiodo de reloj, concretamente con Ck = 1 .

Así, si llamamos Za, Zb, Zc y Zd a una señal que se hace 1 cuando estamos en el estado A, B,C y D, respectivamente, se cumplirá :

Z, = Z„Ck

Z2 = Z,,Ck

z3 = Z,.Ck

Z4 - ZdCk

En consecuencia, aplicando el proceso sistemático de diseño de circuitos secuenciales :

J 1 K1, JOKO

Tabla de excitación Ecuaciones de excitación

Las funciones Za, Zb, Zc y Zd se obtienen como las salidas de un decodificador 2 :4 consalidas activas en nivel alto, cuyas entradas son q 1 y q0 . El circuito es el siguiente :

q í q0\ Za Zb Zc Zd q 1 qo\A=0 0 01 1 0 0 0 A=0 0 0-, 1-B=0 1 10 0 1 0 0 B=0 1 1-, -1 JO =Ko = 1C=1 0 11 0 0 1 0 D=1 1 -1, -1 J,=K,=q0D=1 1 00 0 0 0 1 C=1 0 -0,1_

Za Zb Z, Zd Tabla de estados(es irreducible)

1 0 0 00 1 0 00 0 1 0

Con Z1 , Z2 , Z3 Y Z4tomando el valor

0 0 0 1 indicado en el punto 2 .

Page 224: Electronica digital problemas_de_circuitos_y_sistemas_digitales

220 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

1

01/1

0K

Solución P16.- El diagrama de estados es el siguiente :XY/Z :

00/1

SIGNIFICADO DE CADA ESTADO10/1 1~9

01/1

0/0

K1

DEC2 :4

12

Z4

Ck

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 16.- Construya el diagrama de transición de estados simplificado de un autómatade Mealy con dos entradas X, Y y una salida Z que cumpla las siguientes características :

a) cuando Xpasa de 1 a 0, Z=1 .b) cuando Y pasa de 1 a 0, Z=O.c) en otro caso Z no cambia de valor .

X e Y no pueden valer simultáneamente 1 . De un ciclo al siguiente, sólo puede cambiaruna variable de entrada, no las dos a la vez.

A: El último flanco negativo en llegar ha sido en X(Z=1) y con las entradas actuales es imposible queY cambie de 1 a 0, porque Y=0

B : Recoge que Y ha subido : cuando vuelva a bajar,habrá cambio en Z .

C: El último flanco negativo ha sido el de Y (Z=0) .Similar al estado A pero para Z --O .

D: Similar a B, pero para el caso de que X suba, siendoZ=O .

Problema 17.- Desarrolle un diagrama de estados para un circuito de Moore que genere sa-lida Z= 1, durante un ciclo de reloj, cuando a la línea de entrada X se han suministrado exac-tamente tres "1 " durante los tres intervalos precedentes del reloj . Si durante cuatro o más ci-clos del reloj hubiese "1 ", la salida será Z = 0.

Page 225: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P17 .- El diagrama de estados es el siguiente :

A,0

Problema 18.- Diseñe un circuito secuencia) síncrono con una entrada de datos X, que pro-duzca salida "1 " durante un ciclo de reloj cuando la secuencia de los tres últimos valores dela entrada sean : 111, 110 ó 000.

Solución P18 .- Realizando el circuito mediante el modelo de máquina de Moore, la tabla deestados queda de la siguiente manera:

SIGNIFICADO DE CADA ESTADO

NS

A partir de la tabla de estados se continúa el proceso de diseño normal : reducción deestados (son equivalentes S y S 5 ) ; asignación; elección de biestable ; ecuaciones de excitación .

Problema 19.- Diseñe un autómata de Mealy que detecte la secuencia 1, 0, 0, 1, 0; esto es,el circuito debe tener una única entrada X y una única salida Z En los intervalos de reloj enlos que X=0, la salida será Z= 1 si en los cuatro intervalos de reloj precedentes la entrada hasido 1, 0, 0, 1 .

DISEÑO DE CIRCUITOS SECUENCIALES 221

SIGNIFICADO DE CADA ESTADOA: No se ha recibido ningún 1 .

B : Recibido el primer 1 .

C: Recibido el segundo 1 .

D: Recibido el tercer 1 .

E: Recibido el cuarto o más 1 .

Estado últimos 3 bits recibidos

s o 000SI 001

S2 010S 3 0 1 1S4 100S5 101S6 110S7 111

Page 226: Electronica digital problemas_de_circuitos_y_sistemas_digitales

222 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P19 .- El diagrama de estados es el siguiente :

1/0

1/0

1/0

SIGNIFICADO DE CADA ESTADO

Estado

RecibidoA

1•

10C 100• 1001•

Nada de la secuencia

Problema 20.- Diseñe un circuito secuencial síncrono que reciba una entrada X y produzcauna salida Z=1 después de que haya recibido las secuencias de entrada 0, 0, 1 ó 1, 0, 0 .Comience el diseño por un estado de reset.

Solución P20 .- Es una máquina de Moore y hay solapamiento en la secuencia. El diagrama deestados queda de la siguiente manera :

SIGNIFICADO DE CADA ESTADO

Estado

RecibidoR

No se ha recibido nadaA

Primer 0 de la secuencia 0 0 1B

Primer 1 de la secuencia 1 0 0C

Segundo 0 de la secuencia 0 0 1•

Recibido 0, 0, 1•

Recibido 1, 0F

Recibido 1, 0, 0

A partir del diagrama de estados se continua el proceso normal de diseño .

Problema 21.- Diseñe un autómata de Mealy con dos entradas X, Y y una salida Z cuyo fun-cionamiento sea el siguiente :

a) si XY = 00, entonces Z = 0 .b) si XY = 11, después de que las entradas hayan sido durante dos ciclos de reloj

XY= 01, entonces Z= 1.En el resto de los casos se mantiene la salida .

Nota: en cada ciclo sólo puede cambiar una variable de entrada, no las dos a la vez .

Page 227: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P21.- El diagrama de estados reducido queda de la siguiente manera :

-0/01-/0

11/000/0

DISEÑO DE CIRCUITOS SECUENCIALES 223

SIGNIFICADO DE CADA ESTADO

A: Estado en el que la salida es 0 y recoge se-cuencias de entrada distintas de 01, 01, 11 .

B : Recoge el primer valor de la secuencia quegenera Z = 1 .

C : Recoge el segundo valor.D : Se alcanza tras recibirse la secuencia que

genera Z = 1 .

Problema 22.- Se desea diseñar un autómata de Mealy con dos entradas (X1 ,X2) y una sali-da Z, que obedezca al siguiente comportamiento :

1) En ningún caso ambas entradas pueden estar a 1 simultáneamente .2) La salida Z alcanzará el valor 1 si y sólo si aparecen dos unos consecutivos en la

misma línea de entrada, pasando a dicho valor cuando se detecte el segundo 1 .

Solución P22.- El diagrama de estados queda de la siguiente manera :

00/0

00/0

01/1 10/0

10/1

SIGNIFICADO DE CADA ESTADO

A : Estado que indica que el último valor re-cibido es 00.

B : Se recibe 1 en la variable Y .C : Se recibe 1 en la variable X .

Problema 23.- Por una línea se envían (bit a bit) grupos de cuatro bits. Obtenga el diagramade estados de un circuito secuencial síncrono de Mealy que produzca una salida Z = 1 cuandodetecte las secuencias de entradas 1100 ó 0011 . Comience por un estado de reset.

Solución P23.- El enunciado dice que la máquina es de Mealy . El diagrama de estados quedade la siguiente manera :

Page 228: Electronica digital problemas_de_circuitos_y_sistemas_digitales

224 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

0/0

1/00/0

1/0

/0

0/0

/0

-/0y

-/0

NS, Z

NS, Z

S

s i

S 2

S 3

S4S 5

S6

S7

S8

Si S2 , S3 , S4 -S5, S6 , S7, Ss

NS, Z

0

NS, Z

1

A, C, D - Estados que detectan la secuencia 0 0 1B, E, F - Estados que detectan la secuencia 1 1 0

Problema 24.- Reduzca las máquinas cuyas tablas son las de la figura . ¿Se trata de máqui-nas de Mealy o de Moore?

S I

s i

S 2

S 2

S 3

S 3

S4S4

S 5

S 5

S6

S6

S7,1

S7,1

S8 ,1

S8,1

Solución P24.-Las dos son máquinas de Mealy . Tras el proceso de reducción las tablas resul-tantes son :

Orden del bit que se espera1°

2 01/00/1

Page 229: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 25.- Obtenga una buena asignación para la siguiente tabla de estados . .

Dos asignaciones posibles para esta tabla son las siguientes :

Tabla 1

a so maS6®®®

DISEÑO DE CIRCUITOS SECUENCIALES 225

NS, Z

Solución P25.-La tabla no puede reducirse . Aplicando las reglas de adyacencia se obtiene :

Reglas que cumple :1 . 2 (Todas)2 .

-3 .

5 (de 10)4 . 4 (de 5)5 .

3

REGLAS123

45

Tabla(S4,S6), ( S3,S5)

--(S0,S1),(S0,S2), (S0,S3) , (SO,S4), (S0 ,S5), (SO,S6) , ( S1 , S3) ,

(S1 ,S5) , (S2,S4), (S2,S6)(S1 ,S2) , (S2,S3),(S1,S4), 2x(S2 ,S5) , 2x(S1,S6)

(SO,S 1 ,S2 ,S3 , S4)

NS, Z

Tabla 2 Reglas que cumple :Y2Y 1 1 . 2 (Todas)

Yo

00 01 11 10 2 . -3 . 4 (de 10)

0 S4 S2 4 . 4 (de 5)1 S6 So S i 5 . 3

NS, Z

Page 230: Electronica digital problemas_de_circuitos_y_sistemas_digitales

226 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 26.- a) Para la tabla de estados siguiente, determine cuál de las tres asignacionesque se dan es la que cumple mejor las reglas de adyacencias .

b) Para la asignación número 1, realice el circuito utilizando biestables JK y puertas .

NS

Solución P26 .

a) Las reglas de adyacencia que debe cumplir la tabla de estado son :Reglas 1 y 2 : -Regla 3 : (A,B), 2x(A,D), (B,C) .Regla 4 : 2x(A,C), 4x(A,D), (C,D), 2x(A,B), (B,C), (B,D) .Regla 5 : (A,D), (B,C)

En la siguiente tabla se muestra cuántas reglas cumple cada asignación :

La asignación que más reglas cumple es la número 1 .b) Con la asignación 1, siguiendo el proceso de diseño (tabla de transición, tabla de

excitación, ecuaciones de excitación) las ecuaciones que se obtienen son :

Z = q2

Asignación Adyacencias que cumple REGLAS QUE CUMPLE

R3 R4 R51 AB, AD, BC, CD 4 8 22 AB, AC, BD, CD 1 6 -3 AC, AD, BC, BD 3 8 2

ESTADO ASIGNACIONES (q1 q2)1 2 3

A 00 00 00B 01 01 11C 11 10 01D 10 II 10

J 1 = X2 +X1 g 2 K 1 = X2 +X1 g 2 +X1 g 2

J2 -X 2 K2 -q 2 +X1 X2

Page 231: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 27.- En un analizador lógico se observa el siguiente comportamiento :

Ck _JX

9i

q2

Z aZb

Realice el circuito con biestables T y puertas NAND .

Solución P27 .- Vamos a obtener directamente la tabla de transición/salida . Como las varia-bles de estado q 1 q2 cambian con el flanco de bajada de Ck, los biestbles serán tipo flip flopdisparados por el flanco de bajada . En cada ciclo de Ck, estamos viendo el estado presente(q1 q2) y el valor actual de la entrada X : también el de las salidas Z a Zb se ven en ese mismociclo, mientras que el valor del próximo estado se determina viendo cuánto valen q 1 y q2 en elciclo siguiente . Las tablas de transición y de salida quedan de la siguiente manera :

Q1 Q2Tabla de transición

Las ecuaciones de salida y excitación son las siguientes :

T, = 1

To = Xq 1 +Xq 2

DISEÑO DE CIRCUITOS SECUENCIALES 227

Za = Xq0+g1g2+Xq2

Zn = g1g2 + g2g1

ZaZbTabla de salida

X9 i \q

0

191 92

0

100 10 11

00 10 0001 11 10 01 01 1111 01 01 11 00 1010 00 01

10 11 11

Page 232: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 9

SUBSISTEMAS SECUENCIALES

Las operaciones secuenciales más comunes están en circuitos integrados con una complejidadsuperior a la del biestable . Así podemos encontrar contadores de n bits que incrementan odecrementan su contenido, además de otras operaciones ; registros, como elementosalmacenadores de palabras de n bits; PLD secuenciales que básicamente son PAL y PLA queincluyen algunos biestables y que permiten programar funciones secuenciales ; etc. En esteCapítulo se estudiarán, fundamentalemente, los contadores y los registros, ya que la técnica deanálisis y de diseño con PLD es la de circuitos secuenciales genéricos .

CONTADORES

Los contadores son circuitos que tienen la propiedad de incrementar su contenido(ascendentes), decrementarlo (descendentes) o ambas (reversibles) . Un contador módulo Kcuenta K valores de forma cíclica, normalmente entre 0 y el K-1 (p .ej ., si es ascendente, del 0pasa al 1, del 1 al 2, y así hasta el K-1, a partir del cual se pasa nuevamente al 0, etc) . Además,estos dispositivos pueden tener operaciones que permitan cargar un estado inicial de cuenta,(carga o load) y restablecer el estado inicial de cuenta, ya sea el cero para contadoresascendentes (clear) o todos los bits a 1 (estado 2"-1) para los descendentes (preset) . En cuantoa las salidas, además de las que indican el estado de cuenta, se incorporan las que avisan quese ha alcanzado el estado de cuenta final : todo 1 para los ascendentes y 0 para los descendentes .Existe gran diversidad de contadores dependiendo del tipo de operaciones que realizan y deltamaño del contador. El tamaño se especifica por el módulo (p.ej . : módulo 10) o por el númerode bits en caso de módulos 2" . Por ejemplo, en la siguiente figura se muestra el esquema de uncontador síncrono ascendente de módulo 8 (3 bits) con las operaciones de cuenta arriba, carga,puesta a 0 e inhibición .

229

Page 233: Electronica digital problemas_de_circuitos_y_sistemas_digitales

230 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Up

CI

Ld

clk

Up

D D DClear

Loadn

q2 q1 qo

En la siguiente figura aparece la secuencia de salidas de un contador módulo 8 ascen-dente. Como se observa, el periodo de las señales de salida va duplicándose, lo que motiva quea los contadores se les denomine, también, divisores de frecuencia .

clk

q0

q1

q2

[cont]

DISEÑO DE CONTADORES

Hay dos formas de realizar contadores : 1) los de rizado (ripple-counter) o contadores asín-cronos; y 2) los síncronos. En los contadores de rizado la salida de cada biestable se utilizacomo señal de reloj del siguiente . El contador tiene bajo coste, pero debido al diferente instantede tiempo en que cambia cada biestable, a veces presenta estados incorrectos transitorios .

clk

En la siguiente figura se muestra una estructura alternativa, la del contador síncrono . Enella, todos los biestables tienen la misma señal de reloj por lo que no presentan estadosincorrectos .

clk

1 O~© ©^.O

111TC

Up Cl Ld

000100x10xxl

1

L

Operación

InhibiciónCuentaPuesta a ceroCarga dato

T

q

TC=Terminal CountTC=1 si q2 q 1 q o =111TC=O en otros casos

Page 234: Electronica digital problemas_de_circuitos_y_sistemas_digitales

clk

X

[cont]

En la siguiente figura se muestra la estructura de un contador de similares característicasque el anterior pero con un clear en modo síncrono . Como se observa en las formas de onda,el contador se pone a 0 cuando, tras estar activa la orden de borrado, recibe el flanco activo enla entrada de reloj .

SUBSISTEMAS SECUENCIALES 231

Las entradas de control de los biestables, descritas con anterioridad (clear, carga oinhibición), pueden tener dos modos de operación, síncrono o asíncrono, en función de si parasu ejecución esperan o no la llegada de un flanco de reloj . En la siguiente figura se representala estructura interna de un contador síncrono ascendente de módulo 4, con operación de clearasíncrono y la respuesta temporal para una secuencia de entrada de control . En ella se observaque, inmediatamente después de que se activa clear, el contador se pone en el estado decuenta 0, sin esperar la llegada de un flanco activo de reloj .

To q0 T q1-.

clk

clk

X

[cont]

l

2

1

2

REGISTROS

Los registros son circuitos capaces de almacenar palabras de n bits . Existen dos operacionesbásicas :

- Escritura (write) o carga (load) en paralelo, mediante la que los n bits del datoson almacenados a la vez, introduciéndose por n entradas In-, -10 .

- Desplazamiento (shift), mediante la que los n bits del dato son almacenados en

X OperaciónX Up/Clear 0 Puesta a cero

1 Cuenta arriban

q 1 q0

clk

Q

clk

Page 235: Electronica digital problemas_de_circuitos_y_sistemas_digitales

232 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

serie, uno a uno . Esta operación puede ser a derecha (shift right) introduciéndose el dato poruna entrada Rin, o a izquierda (shift left) entrando el dato por la entrada L i ,, . En la siguientefigura se muestra el esquema y estructra interna de un registro universal de 4 bits, llamado asíporque incluye todos los modos de escritura posibles .

(L ;,, si i = o)

q;-1 -

(Rin si i = 3)

q;+,

Rinc2C1co

1 3

Lin

clk

SOlg3 q2 q q0 SOr

Para el diseño de registros hay que tener en cuenta el modo de funcionamiento asíncronoo síncrono que pueden tener algunas entradas de control. En la siguiente figura se muestra laestructura de una celda genérica para el registro de la figura anterior, donde se ha supuesto quetodas las operaciones, salvo la de borrar, clear, son síncronas .

DISEÑO DE FUNCIONES CON SUBSISTEMAS SECUENCIALES

Los contadores y registros pueden usarse, además de para sus propias tareas específicas, en larealización de máquinas secuenciales cualesquiera . 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 ; así, el subsistemasustituye a los biestables en el esquema general de circuito secuencial . Además, podemos citarotras dos aplicaciones :

- Los registros de desplazamiento se usan para generar secuencias cíclicas . Para ello, elregistro es cargado a un valor inicial ; con este valor se determina qué bit hay que introducir enel siguiente desplazamiento para aportar otro bit de la secuencia, y así sucesivamente .

- Los contadores (p .ej . los ascendentes) implementan los cambios de estado con la fun-ción de cuenta siempre que esos estados tengan asignados códigos de estado ascendente . Tam-bién incorporan la funcionalidad de "pasar al estado de código 0" (mediante la acción declear), de "permanecer en el estado actual" (acción de inhibición), etc . Si se puede realizar uncircuito combinacional que genere las señales de entrada del contador (control y datos)adecuadas, el contador podrá ser el dispositivo de memoria de ese circuito secuencial .

c2 c l Co Operación

0 0 0 SHL0 0 1 SHR0 1 1 LOAD0 1 0 INH1 - CLEAR

Page 236: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Análisis de circuitos con contadores y registros .- Diseño de subsistemas secuenciales : contadores y registros .- Diseño de funciones secuenciales con subsistemas .

PROBLEMAS RESUELTOS

Problema 1.- Determine la secuencia de salida del contador módulo-5 de la figura en funciónde la evolución de las entradas x, y.

ContadorY módulo-5n

sll-

xy00011011

operaciónupdownclear asíncronoinhibición

SUBSISTEMAS SECUENCIALES 233

clk11 +-]

~I ~l fi~ l ~ln ~Fl

l x nn n,y

Solución Pl .- Sea So el intervalo de tiempo comprendido entre t = 0 y el primer flancoascendente de reloj (ver siguiente figura), SI el intervalo comprendido entre el primer flancoascendente y el segundo, y así sucesivamente . En el intervalo So tenemos dos combinacionesde entrada, (xy = 10 y 00) . Para la primera, se produce un clear asíncrono que provoca que lassalidas del contador se pongan a 0 . De este modo, y durante el resto del intervalo, el contadorestará a 0 puesto que la siguiente combinación, xy = 00, es síncrona y depende del flanco dereloj para su ejecución .

Para el ciclo S I se ha producido un incremento del estado de cuenta, causado por lasseñales de control x e y en el instante en que se generó el primer flanco ascendente . Duranteeste ciclo las entradas se mantienen a 0 lógico, por tanto la operación seleccionada es la cuentaascendente .

El valor de cuenta en el ciclo S 2 es el 2 . En él se producen transiciones en las entradasx e y que se encuentran a 1 lógico al final del ciclo . Esto provoca una inhibición para elsiguiente ciclo .

Para el ciclo S 3 el estado de cuenta es el 2, y se produce una transición en la entrada x,lo que provoca que se seleccione la operación de cuenta descendente .

En el ciclo S4 se produce el decremento, por lo que el estado de cuenta actual es el 1 .Durante este ciclo y los dos siguientes, S 5 y S6 , las entradas se mantienen con el mismo valor,lo que provoca el decremento del estado de cuenta en estos ciclos y, a su vez, en el S 7 .

En el ciclo S 7 se produce un clear asíncrono que pone el contador a 0 . Esta situación seprolonga hasta el final del ciclo S 8 .

Por último, en el ciclo S9, se produce una situación de incremento del contador . Esto esdebido a que las entradas al final del ciclo anterior estaban a 0 lógico .

Page 237: Electronica digital problemas_de_circuitos_y_sistemas_digitales

234 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

clk

x

y

[CONTI

clk

Solución P2.-El contador sólo tiene dos modos de operación : cuenta ascendente, Up/Clear=l,y puesta a cero síncrona, Up/Clear=0 . Como se observa en la siguiente figura, la operación depuesta a cero se activa para los valores de cuenta 6 y 7. Para el resto de los estados tenemos laoperación de cuenta ascendente . Se trata de un contador módulo 7 sin bloqueo .

CONT[3] Up/Clear

q2 q 1q0

0

Problema 2.- Analice el circuito de la siguiente figura, considerando que la operación de cleares síncrona .

91

11

1 1

1 '

Problema 3.- Diseñe un contador módulo 4 que tenga las siguientes características :•

Ser síncrono y disparado por flanco de subida .•

Ser puesto a 0 de manera asíncrona .c) Inhibirse de la cuenta, manteniendo el estado almacenado .•

Contar hacia arriba.•

Contar hacia abajo .f) Cargar datos en paralelo .

Solución P3.- Al ser un contador de módulo 4, sólo necesitaremos para su realización dos bi-estables . Estos deberán ser disparados por flanco ascendente, tener entrada asíncrona de clear

Page 238: Electronica digital problemas_de_circuitos_y_sistemas_digitales

SUBSISTEMAS SECUENCIALES 235

y disponer de una señal de reloj común . Vamos a plantear a continuación una posible solución .Supongamos que la carga en paralelo y la inhibición son operaciones síncronas; esto

hace un total de 4 operaciones síncronas (contando la cuenta ascendente y descendente) . Parano tener demasiadas líneas de control, es conveniente codificar las operaciones, por lo que treslíneas serán suficientes (2 para las operaciones síncronas y 1 para la asíncrona) . Una posiblecodificación es la mostrada en la siguiente tabla :

Esta codificación permite utilizar c 2 , directamente, como línea de activación de lasentradas de clear de los biestables, reduciendo así el circuito de decodificación. Para cada unade las operaciones restantes habrá que determinar las expresiones de entrada de cada uno delos biestables, para que se genere el funcionamiento global especificado .

Si clcp = 00, tenemos cuenta ascendente y, si los biestables son de tipo T, las entradasserán :

To = 1

TI = q0

Si clcp = 01, tenemos cuenta descendente, por tanto las entradas serán :To = 1

Ti = qo

Si c1cp=10, tenemos inhibición . Los biestables no deben cambiar de estado, por lo quesus entradas deben ser 0 :

To =O

T, = 0

Si c 1cp=11, tenemos la carga y para determinar las entradas de los biestables T i (i =0,1)nos basamos en la siguiente estructura, siendo D i el dato a cargar en cada biestable .

Di

D i

c2 cl co Operación0 0 0 Up0 0 1 Down0 1 1 Load0 1 0 Inh1 - - Clear

Page 239: Electronica digital problemas_de_circuitos_y_sistemas_digitales

236 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Si el dato a cargar coincide con el estado del biestable, éste no debe cambiar de valor,

por lo que su entrada será 0 . En el caso en que difieran, la entrada será 1 .

To = q0 e Do

T1 = q 1 ,913 1

La solución, para la parte síncrona, será la unión de las entradas de los biestables para

cada señal de control :

To = l .c 1 .c o+1 .c 1 .c o +0 .c 1 .co +(g 0 eD0) c 1 co

T1 = qo c1 co+go c 1 - c o +0 c 1 c o + (q 1 eD1)c 1 * co

clk

Problema 4.- Diseñe un contador módulo-60 (0-59) utilizando dos contadores, uno de loscuales es módulo 10. Realice el segundo contador con biestables JK y puertas lógicas .

Solución P4.- El contador que tenemos que diseñar con biestables JK debe ser de módulo 6 eincrementarse cada vez que el contador de módulo 10 alcance su último estado de cuenta .

Vamos a suponer que el contador de módulo 10 dispone de señal de carry (Cy) . Daremos dossoluciones al problema . En la primera, el carry del contador de módulo 10 se utiliza comoseñal de up del segundo contador

Cymod. 10

clk1up

mod. 6

En esta solución no influye el tipo de flanco que se escoja para los contadores, eso sí,los dos deben ser iguales .

En la segunda solución, la señal de carry del primero se emplea como reloj del segundo .

Aquí, sí es necesario, para asegurar que los contadores cambien al mismo tiempo que el flancode disparo sea de bajada .

El circuito resultante es :

1 - 0 C1 q0 - 0 Cl

1- 1 q q0 - 1 q0 - 2 T 0 - 2 T1

Do- q 3 qqo - 3 1 0

D 1 -1q1 10 A

II II1, 1 COc 1 CO

Page 240: Electronica digital problemas_de_circuitos_y_sistemas_digitales

clk

En cualquier caso, nuestro problema ahora se reduce a obtener el contador de módulo 6con biestables JK . El diagrama de estados para el contador de la primera solución es :

0

0

0

0

0

mod. 10Cy 1

SUBSISTEMAS SECUENCIALES 237

Pmod. 6

1Para la segunda solución, el diagrama de estados es aún más simple, ya que desaparece

la dependencia con la señal de entrada (siempre está cambiando de estado) .

111

11

1 1

1 1e0

Obviaremos los pasos para la obtención del circuito secuencia¡, puesto que ya existe unCapítulo entero dedicado a este propósito .

Problema 5.- Se dispone de un contador mod-16 con las siguientes señales de control :CUENTA, CARGA y CLEAR .

a) Si CUENTA = 1 y CARGA = 0, el contador cuenta hacia arriba .b) Si CARGA = 1, el contador se carga con datos en paralelo .c) Tiene también salida de CARRY.Construya, utilizando como dispositivo básico dicho contador-

1 . - Un contador mód. 6 que cuente de 0 a 5.2.- Un contador mód. 6 que cuente de 10 a 15 .3.- Un contador mód. 6 que cuente de 4 a 9.4.- Un contador que cuente de 0 a 34 .

Solución P5 .- A partir de las especificaciones del enunciado y deduciendo que si no está activaninguna de las 3 señales de control existe una inhibición, obtenemos la siguiente tabla deoperación :

Page 241: Electronica digital problemas_de_circuitos_y_sistemas_digitales

238 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

CARGA CUENTA CLEAR Operación

Suponemos que todas las operaciones son síncronas .

1 .- Para realizar un contador de 0-5 utilizando este dispositivo debemos interrumpir lasecuencia normal de funcionamiento del mismo, forzándolo a que pasado el estado 5 vuelva

al estado inicial, el 0 .Para ello tenemos dos posibilidades : la primera, generar un clear ; la segunda, una carga

en paralelo donde, previamente, las líneas de carga se hayan puesto a valor lógico 0 . El modo

más natural, en este caso, sería el utilizar la señal de clear.

Las operaciones a realizar con este contador son dos : cuenta y clear ; para lo que las

señales de control deberán ser (CARGA, CUENTA, CLEAR) = (0, 1, -) y (0, 0, 1)

respectivamente. Esto hace que la señal de CARGA siempre esté a 0 y, puesto que CUENTA

es prioritaria, la señal de CLEAR puede estar a 1 . La solución a este apartado se reduce aobtener un circuito combinacional que en función del estado del contador genere la señal de

CUENTA.

CARGACUENTACLEAR 3210

r-W-1LWIEWCUENTA

CUENTA = q2 q0

clk

Dado que las operaciones son síncronas, deberemos generar la operación de clear en el

estado 5, para que, cuando se reciba el siguiente flanco de reloj, el próximo estado sea el 0 .

1 Carga

0 1 Cuenta

0 0 1 Clear

0 0 0 Inhibición

Page 242: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El K-mapa para la función carga es :

q3 q2q0

00

01

11

101 4

00011110

CARGA

CARGA = q2 - q, - q 0

3 . Este apartado es igual que el anterior, salvo que ahora se activa la señal de CARGAen el estado de cuenta 9, y el dato a cargar es el 0100 .

CARGA = q3 - q 0

4. Para este apartado es necesario utilizar al menos dos contadores . La señal de carrydel primer contador la utilizaremos para incrementar al segundo . Asimismo, generamos unclear cuando el valor del conjunto de las líneas que forman los dos contadores sea 34 o lo quees equivalente, que las líneas q 1 de los dos contadores sean 1 y el resto 0 . Podemos deducirdirectamente la expresión de la señal de clear como :

CLEAR = q¡ q

donde el superíndice distingue el contador .

SUBSISTEMAS SECUENCIALES 239

Como anexo al apartado, podemos decir que este circuito no sufre situación de bloqueo,porque si inicialmente se da un estado fuera del rango, sus líneas de control provocarán unacuenta ascendente o un reset . Por tanto, siempre se llegará a la secuencia de estados prevista .

2 .- Para diseñar un contador que cuente de 10 a 15, utilizaremos las operaciones de cargay cuenta. Las líneas de carga del contador deberán tener el número 1010 correspondiente alestado inicial . Las señales de control deben ser : (CARGA, CUENTA, CLEAR) = (1,-,-) paracarga y (0,1,-) para cuenta ascendente . Por tanto, la línea de CUENTA la dejamos a 1, la deCLEAR puede tomar cualquier valor y la señal de CARGA la generamos en función del estadode cuenta del contador .

clk

Page 243: Electronica digital problemas_de_circuitos_y_sistemas_digitales

240 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Las operaciones a realizar por el contador dos son : inhibición, cuenta ascendente yclear, para lo que las entradas de control (CARGA,CUENTA,CLEAR) deben tomar losvalores (0,0,0), (0,1,-) y (0,0,1) . Para ello CARGA se puede poner a 0, CUENTA se conectacon la señal de carry del primer contador y clear se activa en el estado de cuenta 34 .

Para el contador CONTI, las operaciones a realizar son : cuenta ascendente y clear, paralo que las entradas de control deben ser (0,1,-) y (0,0,1) . Para ello podemos dejar CARGA a 0,CLEAR a 1 y controlamos la entrada de CUENTA, de modo que cuando esté a 1, se realizarácuenta ascendente y cuando esté a 0 un clear. La señal de CUENTA la obtendremosinvirtiendo la señal que se activa cuando se alcance el estado de cuenta 34 . En la siguientefigura se muestra el resultado final :

CARGACONT 2 CUENTA

CLEAR3210

Problema 6.- Diseñe un registro universal de 4 bits . En particular, debe cumplirlas siguientesespecificaciones :

a) Ser síncrono y disparado por flanco positivo de reloj.b) Tener entrada de puesta a cero asíncrona .c) Tenerlas cuatro formas de operación siguientes :

- Inhibición- Desplazamiento a la izquierda .- Desplazamiento a la derecha .- Carga de datos en paralelo .

Solución P6.- Utilizaremos 4 biestables tipo D, disparados por flanco de subida y con entradaasíncrona de Cl activa en alto . Todos los biestables van a utilizar la misma señal de reloj . Lacodificación que podemos realizar para las 5 operaciones de control es :

1

- 0 Cy

CARGACONT 1 CUENTA

CLEAR3210

1

0

1

clk

Supongamos que salvo el CLEAR, el resto de las operaciones son síncronas . Entonces,para cada biestable D tenemos que :

c2 cl co OperaciónL3 L2 L 1. Lo

0 0 0 SHL Rin Lin0 0 1 SHR C2 R[4] r0 1 1 LOAD

C1co

0 1 0 INH11 xx CLEAR SOI q3 q2 ql

Iq0

I Sor

Page 244: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Si c2c1c0 = 000 (desplazamiento a la izquierda), las entradas son :

Do = Lin

Si c2c1c0 = 001 (desplazamiento a la derecha), las entradas son :

D3 = Rin

Si c2c 1 c0 = 010 (inhibición), se conectará la entrada a la salida q del biestable :

D i =qi

Si c2c1c0 = 011 (carga), las entradas corresponderán con las líneas de carga :

Di =LiLa expresión para la entrada de cada biestable se obtiene uniendo las expresiones

anteriores para cada entrada de control .

Do = Lin C 1 co+q1 c1 .co+go .c1 0 +Lo .c 1 .c o

D1 = go . c1 . co + q2 C1 co+q1 c 1 .co +L1 .c 1 c o

D2-q1 -cl .co+q3 - 1 .co+g2 .C1 .co+L2 c l co

D3 = q2 c, co +Rin C 1 Co+q3 c 1 c o +L3 c 1 c o

En las expresiones anteriores se ha eliminado la variable c 2 . Esto se puede hacer si

utilizamos c 2 exclusivamente como señal que actúa sobre las entradas clear de los biestables .Cuando c2 = 1, el biestable se pone a 0 independientemente del valor de su entrada síncrona .Si c2 = 0, el estado futuro del biestable depende del valor de su entrada y del estado presente .En la siguiente figura aparece el circuito correspondiente a la celda i del registro .

c2

(Li n si i = 0)

qi-I(Rin si i = 3)

qi+1

qiLi

Di = qi-1

Di = qi .1

SUBSISTEMAS SECUENCIALES 241

i = 1, 2,3

i=0,1,2

Problema 7.- La figura muestra un registro de cuatro bits y sus operaciones . Utilizandoconexiones y circuitería externa adicional a ese registro :

Page 245: Electronica digital problemas_de_circuitos_y_sistemas_digitales

242 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a) Obtenga un registro universal de cuatro bits ; esto es, tendrá carga en paralelo,desplazamiento a derecha e izquierda, y "no-cambio" (inhibición) .

SI: Entrada en serie .clkSH: Desplazamiento a la derecha .L: Carga en paralelo .SO: Salida serie.

3 2 1 0REG

3 2 1 0

SOq3 q2 q1 q0

b) Construya un registro con desplazamiento circular a la derecha y complete eldiagrama temporal mostrado si cuando se activa la señal de carga (L) el valor de las entradases X3X2XjXo = 1010.

clk

L J

SH

SO

Solución P7 .a) Para conseguir la única operación no disponible, el desplazamiento a la izquierda,

utilizaremos la operación de carga de forma que mediante un cableado apropiado entre lassalidas del registro con las entradas de carga se simule este desplazamiento . El registro a

diseñar debe tener dos señales de control que permitan la realización de cuatro operacionesdistintas . Llamemos a estas señales 11 e lo . En la siguiente tabla, aparece una posiblecodificación de éstas y su relación con las señales a activar en el registro .

Asimismo, necesitamos controlar los datos de carga en el registro .Si I 1 I o = 01, los datos de entrada al registro deben ser los propios de la carga, o sea,

X; = D i para i = 0, 1, 2, 3 .Si 1,10 = 11, se debe realizar el desplazamiento a la izquierda, para lo cual tenemos que

X; = q;_ 1 para (i = 1, 2, 3) y X o = SIL. ( Esta es una entrada adicional que añadiremos para larealización del registro universal . La salida del desplazamiento a la izquierda será SOL= q3) .

1 1 Io SH L Operación

0 0 0 0 Inhibición0 1 0 1 Carga1 0 1 - SHR1

1 0 1 SHL

SH L REG 4- SI

0 0 REG0 1 X3-Xo SH

1 - SHR(REG,SI) L

Ck

Page 246: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Uniendo las expresiones anteriores, nos quedan las ecuaciones siguientes :

X 3 - D 3 . 1 +q2 1

X2 = D2 11 +q, . 1 1

X 1 = D 1 . 1 1 +q0 . 1 1

Xo =DO* I I + S IL . 1Puede observarse que en las expresiones anteriores se ha eliminado la dependencia de

lo. Esta entrada sólo sirve para distinguir entre la operación interna de carga, y las restantes(desplazamiento a derecha e inhibición) . Cuando estas últimas están activas, los valores de lasentradas de carga son indiferentes, por lo que la ausencia de I o no afecta a la operación deldispositivo .

Nos queda, por último, diseñar el circuito que adapte las señales de control I 1 l o a las delregistro SH y L. De la tabla inicial, podemos sacar las expresiones algebraicas siguientes :

SH =1 1 ,1 0

L=I 1 +I 0

El circuito resultante es :

SHL

Ck

b) El registro circular se construye realimentando la salida q 0 con la entrada SI .

- X2 X 1 Xo

SI 3 2 1 0REG

3 2 1 0

SUBSISTEMAS SECUENCIALES 243

1

L=10

SO

I

q3 q2 q1 q0

Por último, nos falta obtener la forma de onda de la salida cuando se somete al circuitoa la secuencia de operación mostradas en la figura del enunciado .

Page 247: Electronica digital problemas_de_circuitos_y_sistemas_digitales

244 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

X2 XI Xo

0 0 10 1 00 1 10 0 01

-

-

11 11 •< 11 .4QIj> •1 1IIIII

Para dibujar la forma de onda de la salida del registro debemos tener en cuenta que loscambios en la salida suceden en los flancos de bajada de la señal de reloj . Supongamos que

inicialmente el contenido del registro es desconocido . Cuando se recibe el primer flancoactivo, las señales de control L y SH están respectivamente a 1 y O lógicos . Esto provoca una

carga en paralelo . A partir de este ciclo ya es conocido el contenido del registro . En los cinco

flancos siguientes las señales de control provocan el desplazamiento sucesivo del contenidodel registro . La salida SO se corresponde, en cada momento con el bit menos significativo .Para los últimos tres ciclos, el registro se inhibe por lo que no se altera el contenido .

Problema 8 .- La figura representa un registro de 8 bits cuyas funciones son las especificadasen la tabla . Las salidas DZ deben ir conectadas a un BUS compartido . El BUS EB esbidireccional.

a) Diseñe el registro utilizando puertas y biestables de tipo T con entradas de PRESETy CLEAR activas en alto (H).

b) Añada al diseño realizado en el apartado anterior un circuito para que cada funcióndel registro se ejecute activando una única línea . En esta parte pueden utilizarsesubsistemas como elementos de diseño .

Operación sobre REG[8]

Lectura desde DZEscritura en REG

Lectura desde EBPuesta a cero síncronaPuesta a cero asíncrona

X2X1xo

Solución P8.- Diseñamos una celda de este registro . Las salidas al bus DZ deben soportar altaimpedancia por ser este un bus compartido . Para esta salida utilizamos buffers triestados .Estos buffers se usan también en la salida EB, para evitar las colisiones entre la salida delbiestable y el dato de entrada . Partimos de la siguiente estructura :

Page 248: Electronica digital problemas_de_circuitos_y_sistemas_digitales

X2_o

q,

SUBSISTEMAS SECUENCIALES 245

EB i

A; y B i son las entradas de control de los buffers triestado y D i la entrada de datos quese obtiene del bus bidireccional . El circuito combinacional C .C. debe generar las señales Ti ,A i, B i , Cl i y Pri , en función de las señales de control Xi , del estado actual y el dato de entradaDi . Para no extender demasiado el diseño, vamos a utilizar para el circuito C .C subsistemascombinacionales . La tabla de funcionamiento para C .C . es :

Hemos supuesto que los buses se encuentran en alta impedancia siempre que no se hagauna operación de lectura que los afecte . En cuanto a las señales asíncronas, Pr, como seobserva, no se utiliza por lo que podemos fijarlo a 0 . A la señal Cl podemos asignarledirectamente la variable X 2 . Cuando X2 tome el valor 1, el registro se pone a 0independientemente de las restantes señales de control . Esto nos sirve para independizar laexpresión de Ti de la variable X2 . Por tanto, podemos deducir que :

T i =q;-X, Xo +Di og i .X 1 .XO

Esto se podrá realizar con un multiplexor de 4 canales . Para las entradas de control delos buffers tenemos :

A;=X2 . X, .Xo

B; = X2 X, Xo

En este caso hemos preferido no eliminar la dependencia de X2 para asegurar que seproduce la lectura sólamente en los casos que se especifican en el enunciado . El circuitoresultante queda como :

XAX0 Ti Ai Bi Cli Pri Operación0 0 0 qi 0 0 0 0 Cero síncrono0 0 1 0 1 0 0 0 Lectura DZ0 1 0 Di@ qi 0 0 0 0 Escritura0 1 1 0 0 1 0 0 Lectura EB1 - - 0 0 0 1 0 Cero asíncrono

Page 249: Electronica digital problemas_de_circuitos_y_sistemas_digitales

246 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 9 .- a) Diseñe un contador síncrono con una entrada X, de forma que sea uncontador de mod-16 para X = 0 y de mod-12 para X = 1 .

b) Diseñe un circuito que genere la secuencia de palabras dadas en el diagrama detiempo de la figura utilizando el contador anterior y una ROM .

16

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 1

secuencia para X = 1secuencia para X = 0

Solución P9.a) Utilizaremos un contador módulo 16 con puesta a cero síncrona . Si la entrada X está

a 0, lo dejaremos recorrer los 16 estados ; si X está a 1, sólo le dejaremos recorrer los 12primeros estados, para lo cual generaremos un clear cuando el estado de cuenta sea el 11 en

decimal . Si suponemos que la señal de clear (Cl) es activa en alta, tenemos :

X=1

C1

8392q\ 00 01 11 10

00 o o 0

01 0 0 o

11 0 o

10 0 o o

Page 250: Electronica digital problemas_de_circuitos_y_sistemas_digitales

La expresión algebraica para Cl es :

C1 = g 3 q 1 qo .X

El circuito resultante es :

ZdZ cZbZ a

clk

ROM

0

01 12

23

3

CIq0 q q q3

clk

En cada ciclo de reloj tenemos un estado de cuenta para el contador y una direcciónactiva de la ROM cuyo contenido se mostrará en las salidas z a, . . ., zd . Si para el ciclo 0 ( estadode cuenta 0), las salidas (za, zb, zc, zd) = (1, 0, 1, 0), la dirección 0 de la ROM deberá tenerprecisamente este contenido, o sea, (1, 0, 1, 0) . Repitiendo este paso para todos los ciclos,tenemos la siguiente tabla de programación de la ROM :

X

b) Para generar la secuencia deseada utilizaremos el circuito anterior y una ROM . Conesta última será posible generar, para los 16 posibles estados, las salidas za, Zb , Zc Y zdcorrespondientes. Por tanto, exigiremos que la ROM posea 16 posiciones de memoria (4 líneasde dirección, que corresponderán con las líneas de salida del contador) y cuatro bits en cadaposición (valores de las salidas z a , . . . para cada ciclo de reloj o estado del contador) .

SUBSISTEMAS SECUENCIALES 247

mód. 12/16A q q1 q q3

Dirección Contenido$0 A

E$2 $5$3 $1$4 $4$5 $6$6 $6$7 $F$8 $B$9 $9$A $5$B $3$C$D

$A$0

$E$F

$C$3

Page 251: Electronica digital problemas_de_circuitos_y_sistemas_digitales

248 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 10.- El circuito integrado 74LS 193 es un contador síncrono de 4 bits con carga enparalelo, señal de puesta a 0 (clear), también síncrona, e inhibición . Utilice un 74LS 193 y laspuertas necesarias para realizar el diagrama de estados de la figura .

0o~~o0

0eSolución P10.- Cualquier diagrama de estados puede realizarse físicamente mediante elempleo de contadores. Un valor de cuenta en el contador representa un estado del diagrama yel cambio de cuenta una transición entre estados . La particularidad de implementar diagramasutilizando estos dispositivos está en la posibilidad de "adaptar el diagrama" al funcionamientonatural del contador. Esto conlleva un estudio preliminar del diagrama con el objeto de hacerun asignamiento de estados apropiado y una simplificación de las señales de controlnecesarias .

Para implementar una transición entre estados tenemos distintas opciones : a) generaruna carga con el código del estado próximo ; b) activar una cuenta ascendente ó descendentesi, previamente, hemos asignado códigos consecutivos a los estados presente y próximo ; yc) una puesta a cero, cuando el código del estado próximo sea el cero .

En general, podemos decir que, en la mayoría de los casos, será necesario que elcontador realice las transiciones utilizando tanto la operación de carga como las de cuenta ypuesta a cero. Si utilizáramos sólo la operación de cuenta (up/down) y la de puesta a cero(clear), no podríamos implementar cualquier diagrama de estados, ya que pueden presentarsecasos de transiciones no realizables . Sin embargo, utilizando únicamente la operación de cargasí sería posible realizar cualquier transición entre estados aunque a costa de un circuito algomás complejo. Por esto último, eliminaremos en lo posible la operación de carga .

El primer paso consiste en asignar códigos consecutivos a los estados, de forma quelas transiciones entre ellos puedan ser descritas mediante operaciones de cuenta. Para nuestroproblema, asignaremos códigos consecutivos a la secuencia de estados A-B-C-D-E-F-G . De

Clear Load

P. T Operación

0 P

D D DoCONT = 01

0 CONT = D T1

1

0 CONT = CONT

o Clear1

1

1 cCONT = CONT + 1 Load

q3 q2 qi q0

I I I

I

Page 252: Electronica digital problemas_de_circuitos_y_sistemas_digitales

SUBSISTEMAS SECUENCIALES 249

esta forma, salvo el paso del estado G al A, todas las transiciones (A-B, B-C, . . .) pueden serrealizadas sin más que activar la señal de cuenta .

El segundo paso consiste en asignar el estado de cuenta cero . En general, escogeremosaquel estado que simplifique el número de operaciones de carga . Para nuestro ejemplo, existenvarias soluciones ; asignar la cuenta 0 al estado A, al D o al G. De este modo, el número deoperaciones de carga distintas, es de dos, mientras que, si hubiéramos escogido cualquier otroestado, el número de estas operaciones sería mayor (esto es equivalente a elegir como estado 0a aquel estado que reciba el mayor número de transiciones) . Si escogemos, por ejemplo el A,la tabla de asignación de códigos queda :

Estado

Una vez elegida la asignación, recorremos nuevamente el diagrama de estados paraconocer las operaciones que se necesitan en el contador :

Estado A.- Sólo tiene una transición hacia el estado B . Esto se consigue con operaciónde cuenta ascendente (up) .

Estado B .- Sólo tiene una transición hacia el estado C . Operación de cuenta ascendente(up) .

Estado C.- Tiene una transición hacia el estado A que realizaremos con clear y otrahacia el estado D que haremos con up .

Estado D.- Tiene una transición hacia el estado E que realizaremos con up y otra haciael G en la que tendremos que utilizar la señal de carga . El valor que pondremos en la entradaparalelo es el 0110 (6 en decimal ) .

Estado E .- Una transición hacia el F mediante operación de up y otra hacia sí mismo querealizaremos con operación de inhibición (o bien de carga) .

Estado F.- Una transición hacia el G mediante up y otra hacia el estado D mediante unaoperación de carga con el valor 0011 (3 en decimal) .

Estado G.- Una única transición hacia el estado A que realizaremos con clear.

Podemos deducir que el contador debe disponer, para realizar el diagrama, de las señalesde control anteriores y de un mínimo de 7 estados de cuenta . Como podemos ver, el contadorde la figura cumple con todos estos requisitos . El siguiente paso consiste en obtener lasexpresiones algebraicas que relacionen las señales de control a activar y datos de carga con elestado presente del contador y la entrada X . Para simplificar esta tarea, vamos a hacer unareducción previa ; el contador dispone de cuatro salidas, de las cuales sólo nos son útiles tres,ya que el diagrama tiene siete estados . Vamos a hacer la asignación, por tanto, ignorando elvalor de q 3 .

Page 253: Electronica digital problemas_de_circuitos_y_sistemas_digitales

250 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Partiendo de esta asignación y teniendo en cuenta la entrada X, queremos diseñar uncircuito combinacional que active las señales de control apropiadas para generar lastransiciones de estado representadas en el diagrama de estados .

X q2 q1 q0

PTClearLoad

D3 D2 D1D0

q q q q

C.C .

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

En la figura, hemos fijado D 3 y D 1 a 0 y 1 lógicos respectivamente, puesto que los datosque cargamos son, o bien -011 (estado D), o bien -110 (estado G) . La tabla de verdad delcircuito combinacional se muestra a continuación :

Clear Load P T

X

D2 D0

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

Estado q3 q2 q1 q0

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

Page 254: Electronica digital problemas_de_circuitos_y_sistemas_digitales

CONT4 CONT3

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

CONT2

CONT1

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

clk

Y

CONT 1 CL 1q3 q2 q 1 q0

SUBSISTEMAS SECUENCIALES 251

En la tabla anterior, para la entrada 0100 del circuito combinacional, se han escogidopara P y T los valores 0 y - respectivamente, de forma que P .T = 0. Las ecuaciones de salida

para el circuito combinacional son :

P=q2+X

T= 1

Do =q2

D2=q1

CLEAR = q, +qo q2 +X q2

LOAD = qo +q, q 2 +X

Problema 11.- Se dispone de una señal binaria con periodo de 1 minuto, contadores demódulo 10 disparados por flanco negativo, con entrada de clear síncrona activa en alta ysalida de acarreo (carry), visualizadores de 7 segmentos con entradas BCD y puertas lógicas .

Diseñe un reloj digital que muestre las horas y minutos .

Solución P11.-Podemos deducir, a partir del funcionamiento del reloj, que necesitaremos doscontadores para los minutos y otros dos para las horas . La salida binaria de estos contadorespuede 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 cadaminuto o ciclo de reloj .

clk ('imin")

El contador CONT2, debe cambiar de estado cada 10 minutos . Los estados que puederecorrer van desde e10 al 5 . Como las únicas operaciones que pueden realizar estos contadoresson la cuenta arriba y el clear, nos vemos obligados a dotar a este contador de una señal dereloj de 10 minutos . Ésta la podemos conseguir a partir del carry del contador CONT1 .Además, cuando el estado de cuenta alcance el valor cinco, activaremos la señal de clear .

CL2 = qi qó

Page 255: Electronica digital problemas_de_circuitos_y_sistemas_digitales

252 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

El superíndice de la expresión anterior hace referencia al contador del que extraemos lassalidas q ; . En este caso, el contador CONT2.

clk

CY1

CL2

CONT1

CONT2

CY2 CONT2

CL2q3 q2 q1 q0

0

CY 1 CONT 1q3 q2 q1 q0

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

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

. . . . . . . . . . Z

EX C:

>C4

0

clk

La siguiente figura representa un análisis temporal de las señales que intervienen en elminutero .

5 iC

El diseño del contador CONT3 es algo más complejo . Éste debe cambiar de estado cada60 minutos y, en función del estado del contador CONT4, debe alcanzar hasta el valor nueve(cuando [CONT4] < 2 ), o sólo hasta el tres (cuando [CONT4] = 2) . Para su entrada de reloj,utilizaremos la señal de clear del contador CONT2. Si nos fijamos en la ilustración anterior,esta señal genera un flanco negativo, cada 60 minutos, sincronizado con la señal clk . Por otrolado, debemos activar la señal de clear (CL3) cuando [CONT4] = 2 y [CONT3] = 3 . Laecuación para la señal CL 3 es :

CL3 = qi • qi . qó

Por último, el contador CONT4 debe tener una señal de reloj que lo haga cambiar deestado cada diez horas, cuando [CONT4] < 2 ; o bien cuando el reloj se encuentre en lasituación 23:59 . Esta señal de reloj la podemos obtener uniendo mediante operación OR, unaseñal binaria con periodo de diez horas, con otra con periodo de cuatro cuando el[CONT4] = 2 . Para la primera, utilizaremos la salida de carry del contador CONT3 . Para lasegunda, utilizaremos la salida q 1 del contador CONT3 (ya que las salidas de un contadoractuán como divisores de frecuencia y, por tanto, como la entrada de reloj del contadorCONT3 tiene un periodo de una hora, la señal q0 tendrá un periodo de dos horas y la q l , decuatro) .

Page 256: Electronica digital problemas_de_circuitos_y_sistemas_digitales

La señal del clear la activaremos cuando [CONT4] = 2 .

CLK4 = qi q1 +CY 3

CL4=qEl circuito resultante se representa en la siguiente figura :

CY4 CONT 4 CL4q q qi q

CY33

q1

[CONT4]_ 0

Z

1

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

1

>c

110010

shllloadg5g4q3q2qiq0

Lin

A

SUBSISTEMAS SECUENCIALES 253

CY3 CONT 3

CL3q3 q2 qi q

La siguiente figura ilustra el comportamiento temporal de esta parte del circuito .

clk3

[CONT3]

Problema 12.- Diseñe un circuito que genere la secuencia : 1, 1, 0, 0, 1, 0.

Solución P12.-Existen múltiples soluciones a este problema. Vamos a plantear algunas .a) A partir del diagrama de estados . Obteniendo el circuito utilizando el método

sistemático de síntesis de circuitos secuenciales .b) Basado en un registro de desplazamiento, donde la salida q5 se conecta a la entrada

Lir , para la generación periódica de la secuencia .

clk

Clk

T=1 hora

En este caso, el registro necesita ser cargado con la secuencia . Esto se consigue con laseñal de control X, y colocando en las entradas de carga los bits de la secuencia . Si X = 0 se

Page 257: Electronica digital problemas_de_circuitos_y_sistemas_digitales

254 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

carga el dato externo, y si X = 1, se realiza el desplazamiento a la izquierda en cada ciclo dereloj . La secuencia normal de funcionamiento para este registro, se muestra en la siguientefigura, donde se ha supuesto que la carga es asíncrona .

q5

c) Usando un registro de desplazamiento, pero con un número de biestables infertoralos bits de la secuencia a generar .

Como mínimo, el registro de desplazamiento debe tener 3 biestables ya que se necesita,al menos, 6 estados .

r

S.R[3]

Lin

q2 q1 q0

C.C .

Puesto que este registro no puede almacenar la secuencia entera, tendremos que diseñarun circuito combinacional que en función de los bits de la secuencia parcial que se encuentranen el registro, introduzca el próximo bit de la secuencia por Li n .

Para determinar el circuito se procede de la siguiente manera . Supongamos queinicialmente se encuentran almacenados en el registro los tres primeros bits de la secuencia, osea, g2g 1 q0 = (1,1,0) . El próximo bit de la secuencia que debe ser introducido por Li n es el 0,por lo que el circuito combinacional debe generar salida 0 para entrada (1,1,0) . Supongamosahora que se recibe un flanco de reloj . El contenido del registro se desplaza hacia la izquierday el valor de L in pasa a ocupar la posición menos significativa, g 2g l q0 = (1,0,0) . El próximobit a introducir por L in será ahora 1 . Por tanto, C.C . generará salida 1 para entrada (1,0,0) . Sirepetimos este proceso, obtendremos la tabla siguiente :

q2 q1 q0

1 00 00 11 00 1111

0

Lin

Page 258: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Como puede observarse, para cada entrada obtenemos un único valor de Li,,, por tantopodremos generar esta función mediante un circuito combinacional . Es probable que enmuchos diseños aparezcan entradas idénticas que generen salidas distintas para Li,, . En talcaso, deberemos aumentar progresivamente el tamaño del registro de desplazamiento hastaque a cada entrada sólo le corresponda una única salida del circuito a diseñar . Es entonces,cuando obtendremos el circuito asociado .

El K-mapa para nuestro problema es :

clk

e

de donde obtenemos la siguiente expresión :

L,~ = q2 q0+q2 q1

En este tipo de soluciones se pueden plantear problemas de bloqueo . Inicialmente, elestado del registro es indeterminado . Esto puede originar situaciones de entrada para el C .C .que no estén contempladas . Estas entradas pueden llegar a provocar una secuencia de salidaque no coincide con la prevista . Para solucionar este problema existen varios métodos : uno deellos es el de generar una carga inicial con parte de los bits de la secuencia ; otro método seríaasignar a aquellas entradas inespecificadas valores de salida que provoquen la incorporación ala secuencia válida .

En nuestro ejemplo no existe bloqueo. Las únicas dos entradas que no estáncontempladas son la g2g1q0 = 000 y la 42g1g0 = 111 . Si inicialmente se da el estado 000, elpróximo estado, el 001, sí pertenece a la secuencia y a partir de aquí, el funcionamiento escorrecto . Igualmente, si se da el estado 111, el próximo estado, el 110, también pertenece a lasecuencia.

d) Utilizando contadores y lógica combinacional (MUX, ROM, PLA, . . .) .El contador se utiliza para generar la secuencia de estados . La lógica combinacional se

usa para asignar el valor de salida a cada estado del contador de forma que a cada uno de losestados corresponda un bit de la secuencia de salida . Por ejemplo, si se utiliza un multiplexor,el generador quedaría como se muestra :

Lin

A qo qi q22 1 011

SUBSISTEMAS SECUENCIALES 255

1

01

10

20

31

40

56mod-6 7

Page 259: Electronica digital problemas_de_circuitos_y_sistemas_digitales

256 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 13.- Utilizando como base un registro de desplazamiento, diseñe un autómata deMealy que funcione como detector de las secuencias: 1111, 0110 ó 0001 .

Solución P13.- Este problema utiliza el registro como elemento almacenador de los bits de lasecuencia a detectar. En un diseño de Mealy podemos emplear la variable de entrada X en laexpresión de la salida, reduciendo el tamaño del registro a tres bits .

X

clk

ShR REG1

q2 qi q

C.C .

,-----------------

De este modo, el registro almacena los valores de la entrada en los últimos tres ciclos y,junto con el valor actual de X, el C .C. puede generar la salida Z . La expresión algebraica paraZ es la misma que la del problema anterior pero cambiando q3 por X .

Z=X . g2 . g1 . q0+X q2 . g1- go+X g2 . g1 •q 0

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 14 .- Represente la salida del circuito de la figura siguiente durante 5 ciclos de relojsuponiendo que el registro tiene almacenada la palabra 110 inicialmente y que la únicaoperación disponible para el registro es el desplazamiento a la derecha.

La q2 q t qoD O°t

I

I

Z

Solución P14.- 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 . De igual manera, el valor deZ se toma como entrada de desplazamiento del registro . En la siguiente figura se representa lasecuencia de salida para los primeros 5 ciclos de reloj .

Aclk

[reg]

z

Problema 15.- Diseñe un contador de 4 bits (módulo 16) que permita carga de datos enparalelo. El contador debe ser slncrono y podrá ser puesto a 0 (clear) . Diséñelo con biestablesJK y puertas lógicas .

Page 260: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Clear

1

clk

CI

PrJ

q0C1

PrJ

q,

SUBSISTEMAS SECUENCIALES 257

Solución P15.- En esta solución se ha supuesto que el clear y el load son asíncronos y activos

en alta .Load

C1

PrJ

q2CI

PrJ

q3

V

vq0

q,

q2

q3

Problema 16.- Se desea disponer de un contador con dos entradas de control (1 y D) querealice las siguientes funciones :

a) Si I=D=O, el contador está inactivo (no cuenta) .b) Si 1=1, el contador se incrementa (cuenta hacia arriba) .c) Si D=1, el contador se decrementa (cuenta hacia abajo) .Se prohibe que las entradas l y D sean simultáneamente 1 .1 . Diseñe uno de 4 bits, síncrono, con biestables tipo T (no utilice la tabla de estados

global pues tiene 16 estados) .2. Indique qué ocurre si por error u otra causa hay entradas ID= 11 .3. Generalice el diseño para n bits .

Solución P16.1) Las ecuaciones para las entradas de los cuatro biestables son :

To =I+D

T, = I' qo+D' qo

T2 = 1 . q, .go+D - go'q,

T3 = I . g2 . q, .go+D . g2 . q, .go

2) Si en las expresiones anteriores sustituimos 1 y D por el valor 1, y obtenemos losvalores de entrada T i para cada estado presente % el diagrama de estados, para este contador,es el representado en la siguiente figura :

Page 261: Electronica digital problemas_de_circuitos_y_sistemas_digitales

258 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

affs o3) Generalizando para n bits :

n-1

n-1

T; = I . flg i + D . [J q;

(i= 1, . . .,n)i=0

i=0

To = I+D

Problema 17.- Se dispone de contadores módulo 16 con dos señales X, y X 2 que controlansu funcionamiento :

clk

x, Xp

0 00 11

-

Operación

Puesta a ceroCarga en paraleloCuenta ascendente

Tomando como base este tipo de contadores, realice los diseños siguientes :a) Un contador mod-7 que cuente de 0 a 6 .b) Un contador mod-7 que cuente de 9 a 15 .c) Un contador mod-7 que cuente de 4 a 10 .d) Un contador que cuente de 2 a 34.

Solución P17 .- En las siguientes soluciones no se han tenido en cuenta los problemas debloqueo y además, se ha supuesto que las operaciones de clear y carga son asíncronas .

a) Contador módulo 7 (de 0 a 6) :

11113 2 1 0

CONT[41xo

q3 q2 q1 q 0

Page 262: Electronica digital problemas_de_circuitos_y_sistemas_digitales

b) Contador módulo 7 (de 9 a 15) :

clk

c) Contador módulo 7 (de 4 a 10) :

0 1 0 0 1111

3 2 1 0CONT[4] xóq3 q2 q 1 90

clk

d) Contador de 2 a 34 :

11113 2 1 0

CONT[4] Xó93 q2 9 i qo

A

1 0 0 1IIII

3 2 1 0CONT[41

1q3 q2 9 i q0

SUBSISTEMAS SECUENCIALES 259

0 0 1 0I111

3 2 1 0 XCONT[4] Xó

A 93 q2 q190I

clk

Problema 18.- Se dispone de un circuito integrado 74198 cuya descripción es la mostrada :

Operación

Puesta a 0 asíncronaInhibiciónDesplazamiento a izquierdaDesplazamiento a derechaCarga en paralelo

Page 263: Electronica digital problemas_de_circuitos_y_sistemas_digitales

RA 1 Ao 0-0

[CONTI 10101010

Z[7-01 ( 01010101)

Problema 19.- Un sistema tiene una única entrada y dos salidas. El sistema puede estarfuera de servicio o en servicio . Entra en servicio tras recibir la secuencia 1, 1, 1 y se pone fuerade servicio tras 0, 0, 0. Una vez que está en servicio, el sistema detecta la secuencia 1, 0, 1

y que posea una señal de lectura (R) activa en alta, de forma que, cuando no esté activaponga al dispositivo en alta impedancia .

1) Diseñe el registro utilizando las puertas necesarias y el 74198 .2) Suponiendo que inicialmente el registro contiene el dato 10101010, indique qué

ocurre para la siguiente secuencia de entradas (cada valor corresponde a un ciclo de reloj) .R A,A0 : 0-0, 110, 011, 001, 100 .

Solución P18 .

Ap

07

A1 -

00 -

A1Ao

110

clk

c

011

Dsr

I[7-0]

MR1

74198

%~

[8]

RVY

Z[7-0]

001

O[7-0]

8

Ds1

1

( 11010101

260 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Hay que diseñar un registro de 8 bits con las siguientes operaciones :

A 1 Ao Operación

0 0 Desplazar a derecha introduciendo un 00 1 Desplazar a derecha introduciendo el bit de signo1 0 Desplazar a derecha introduciendo el bit menos significativo1 1 No desplazar

Page 264: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Con la asignación anterior, se requieren las señales de control que aparecen codificadasen la siguiente tabla :

ROM:

O

clk

0/10

Za=l, fuera de servicio

0/00Zb=1, detecta la secuencia

Se ha escogido la siguiente asignación :

c 1 co00011011

SUBSISTEMAS SECUENCIALES 261

(con solapamiento) ; el último 1 de la secuencia de puesta en servicio no vale como primer 1de la secuencia a detectar . Una salida debe indicar si el sistema está o no en servicio y la otraindicará cuándo se ha detectado la secuencia .

Haga un circuito de Mealy utilizando un contador y una ROM .

Solución P19 .

OperaciónUpInhClearLoad

1/00

2 1 0CONT[31q2 ql q0

clco

X

ROM00 Zb

Za

En la siguiente figura se ilustra el circuito resultante y la tabla de programación de la

Estado q2 qt q0

a 0 0 0b 0 0 1c 0 1 0d 0 1 1e 1 0 0f 1 1 1

1 0 1h1 1 1 0

Page 265: Electronica digital problemas_de_circuitos_y_sistemas_digitales

262 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

X q2 ql q0 D i c i c0 Za Zb

Problema 20.- Se desea detectar el envío del número diez que llega por una única líneacomenzando por el bit LSB. Suponemos el caso de existencia de solapamiento en la cadenade bits. De un diseño con módulos combinacionales, módulos secuenciales y el menor núme-ro de puertas lógicas posibles .

Solución P20 .Con un registro de desplazamiento a la derecha y una puerta AND de tres entradas :

X

clk

Rin SHR[3] ShR

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

Page 266: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 10

MEMORIAS SEMICONDUCTORAS

En este Capítulo se trata el uso de las memorias semiconductoras, fundamentalmente las deacceso aleatorio, tanto de lectura y escritura (RAM) como las de sólo lectura (ROM) paraformar unidades de memorias multichip . Los problemas se dedican a analizar o diseñar loscircuitos de decodificación que permiten acceder a los distintos chips de memoria . En estasaplicaciones no tienen importancia las cuestiones tecnológicas (si se trata de RAM estáticas,SRAM, o dinámicas, DRAM ; si son ROM o EPROM ; etc) . De forma más marginal se tratantambi1n algunas memorias de acceso secuencial .

UNIDAD DE MEMORIA MULTICHIP

Una unidad de memoria multichip forma la memoria principal de un computador . Su organi-zación se establece en tomo al procesador y, más concretamente, al espacio de direcciones y ala 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 ; en este Capítulo, salvo expresaindicación en contra, se asume que el procesador posee un registro de direcciones de 16 líneas(A15—— A0), lo que da un espacio de 64K palabras (desde la $0000 a la $FFFF, que en decimalabarca desde la 0(10 a la 65535 (10) . Por otra parte, la anchura del bus de datos da el número debits de las líneas de datos, que en este Capítulo será de 8 bits .

A nivel de bloques la conexión entre el procesador (CPU) y la unidad de memoria seilustra en la siguiente figura . Las señales de lectura-escritura R-W salen del procesador y seconectan a las correspondientes entradas de los chips tipo RAM (no ha lugar con los tipoROM) . El bus de datos se conecta con las salidas de todos los chips ROM y con lasentradas/salidas de todos los tipos RAM . Por último, el bus de direcciones está conectadodoblemente con cada chip (RAM o ROM) :

- Con sus líneas de dirección (A 9-A0 para memorias de 1 K ; A 12-A0 para las de 8K ; etc)- Con la entrada de selección de chip (CS), 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 direccioneshay colisiones entre dos chips de memoria . En el siguiente caso supondremos que el espacio

263

Page 267: Electronica digital problemas_de_circuitos_y_sistemas_digitales

264 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

de 64K se cubre mediante una combinación de 8 chips RAM y ROM .

16

Bus de direcciones

1cc

->

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .líneas de dirección de palabraselección física (en cada chip)de chip

EL MAPA DE MEMORIA

De las conexiones mencionadas entre la CPU y la unidad de memoria, las únicas que cambiande un problema multichip a otro son las del circuito de decodificación que selecciona cada

chip. Este circuito resulta de una u otra forma según se asocie cada chip con una región con-creta del espacio de direcciones . A esto nos referimos como "mapa de memoria" . Un ejemplo

de mapa es el que se ilustra a continuación . El él se observa que, si la palabra lógica (esto es,la direccionada por la CPU) es $A018, la palabra física a la que se accede es la $0018 del

chip 4, cuyo contenido es, en este caso $07 (00000111) . Dicha forma de representar mapas de

memoria es poco efectiva . En su lugar utilizaremos una 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 2 k palabras. En la figura que se presenta, además de esta forma de representar elmapa, hemos incluido cuáles son los valores de las salidas del circuito de decodificación

(CS 1 , CS2 , . . ., CS8) . Como se observa, en cada región sólo hay un chip seleccionado evitándo-

se así los problemas de colisión .

1I1Chip 2RAM16K

14 CC

Chip 3RAM8K

j.131éc1 13 1cC1 12 IccI 1211ccIyW

Chip 4 Chip 5 Chip 6 Chip 7ROM ROM RAM RAM8K

4K

4K

4K

12 CC 12

Chip 8RAM4K

Page 268: Electronica digital problemas_de_circuitos_y_sistemas_digitales

A 15 A14 A13 A 12 CS 1 CS2 CS3 CS4 CS5 CS6 CS7 CS8 Chip

0 0 - - 1 0 0 0 0 0 0 0 1 (16K)

0 1 - - 0 1 0 0 0 0 0 0 2(16K)

1 00 - 0 0 1 0 0 0 0 0 3(8K)

1 - 0 0 0 1 0 0 0 0 4 (8K)

0 1 0 0 0 0 1 0 0 0 5(4K)

0 1 0 0 0 0 0 1 0 0 6(4K)1 1

1 0 0 0 0 0 0 0 1 0 7 (4K)

1 1 0 0 0 0 0 0 0 1 8(4K)

MEMORIAS SEMICONDUCTORAS 265

0 0000 Chip 1} RAM 16K

16383 3FFF16384 4000

Chip 2} RAM 16K

Dirección Chip 4 Dirección32767 7FFF del mapa ROM 8K interna32768 8000

.de memoria del chip

} Chip 3

Registro de 40959RAM 8K A000 00009FFF

dirección 40960 A000 Chip 4A018 } ROM 8K A018 07 0018

49151 BFFF49152 0000 Chip 5 BFFF 1FFF

} ROM 4K53247 CFFF53248 D000

Chip 6} RAM 4K

57343 DFFF57344 E000 Chip 7

} RAM 4K61439 EFFF61440 F000

} Chip 8RAM 4K

65535 FFFF

Page 269: Electronica digital problemas_de_circuitos_y_sistemas_digitales

266 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

MEMORIAS TIPO LIFO Y FIFO

Hay, entre otros, dos tipos de memoria de acceso secuencial que son la memoria LIFO (LastIn First Out) y la memoria FIFO (First In First Out) . Ambas poseen, además de la "no opera-ción" (NOP), operaciones de escritura, por la que se almacena un nuevo dato en la memoria,y de lectura, que es una operación destructiva en el sentido de que desaparece el dato leído . Elorden de lectura de datos coincide con el orden de escritura en la FIFO y es al revés en lasLIFO. Con las memorias LIFO se hacen memorias tipo "pila" y las operaciones se llamanPUSH (escritura o apilamiento de un nuevo dato) y PULL o POP (lectura o extracción de undato apilado) .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Análisis de circuitos de decodificación .- Diseño de circuitos de decodificación .- Memorias de acceso secuencia] .

PROBLEMAS RESUELTOS

Problema 1 .- Dibuje el mapa de memoria para el circuito de la figura, indicando, razonada-mente, las posiciones ocupadas por las memorias RAM y ROM .

A151

A15

Solución Pl .

A15

A12 -A

A12-A0 ~9>13

ROM8Kx83

CS

A14 -A13 -

A15

012

DEC 2:4 30

a12-a0 g lo D7 -Do

ROM

o--

A 1 2-A0 -+~-~13

RAM -,--> D7 -Do8Kx8 8

CS

al 2-ao -,-> D7 - Do

RAM

Page 270: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Problema 2.- Determine el mapa de memoria correspondiente al circuito de la figura.

A15 -

A14-

10

2

DEC 2:43 D

z

A13-A12-

01

0

23DEC 2:4

0123

DEC 2 :4

MEMORIAS SEMICONDUCTORAS 267

Respecto a la memoria ROM tenemos :CS 1 = A 15 , por tanto, la memoria se selecciona cuando A 15 = 0 .En cuanto a sus líneas de dirección, a12-0 = A12-0, donde A 1 5-0 son las 16 líneas que for-

man el bus de direcciones externo .Respecto a la RAM :CS2 = d1 -d2 = (A15 + A14 + A13 ) (A15 + A14 + A13), es decir, la memoria se selecciona

cuando A15=0,A14=0yA13=1óA14=1yA13=0 .El bus de direcciones interno a la RAM está compuesto por las líneas a12-0 = A12-0, es

decir, las palabras de la memoria RAM se direccionan de igual forma que las de la ROM .Así, el mapa de memoria al que llegamos es :

A15 A14 A13

A11 -A0-2 }

Ajo-A0

Ajo-A0I1

CS 1

a l ,-a0

M

ato -a0

CS

ajo -a0

M3

8

8V

DO - D7

0 1 RAM (8Kx 8)01 0 RAM (8Kx 8)

1 -

- ROM (8Kx 8)

Page 271: Electronica digital problemas_de_circuitos_y_sistemas_digitales

268 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P2 .Sean CS 1 , CS2 y CS3 las señales de selección de chip correspondientes a ROM 1 , ROM2

y ROM3 respectivamente . Sean a; las líneas de dirección de las memorias M i .Directamente del diagrama del circuito :M1 (2 12 x 8) =M I (4K x 8)La ecuación para la señal de selección de la memoria es :CS1 = A 15+A 14 +A 13+A 1 2Las líneas que componen el bus de direcciones interno :

al,-, = A11-o

M2 (2'1 x 8) = M2 (2K x 8)Ecuación para la señal de selección :

CS 2 = (A13+A12+A,5+A14) • (A13+A„ + [A15+A,4] - [A15+A141) _

= (A 15 +A 14 +X 13 +A 12) ' (X,4 +A 13 +X 11)Líneas de dirección :

ato-o = Ato-o

M3 (2" x 8) = M3 (2K x 8)Señal de selección de chip :

_CS3 = (A 13 +A11 + [A 15 +A 141 . [A ,5+A141) _ (A14+A13+A11)Líneas de dirección :

a,o-o = Ato-oA partir de las ecuaciones obtenidas para CS i , podemos evaluar cuándo se selecciona

cada memoria . Para ello basta analizar para qué combinación de las líneas de dirección se tieneCS i = 0. Así obtenemos el mapa de memoria que se muestra a continuación . Como se observa,

M 1 (4Kx8) ocupa 4K posiciones en el espacio de memoria : $0000 - $OFFI-M2 (2Kx8) ocupa 12K posiciones en el espacio de memoria :

$2000 - $2FFF$4800 - $4FFF$5800 - $5F1-}$C800 - $CFFF$D800 - $DFFF

Esto quiere decir que aunque el chip físicamente sólo contiene 2K direcciones, existen12K direcciones del espacio de memoria que hacen que se seleccione el chip M2 . Por ejemplo,si en el bus de direcciones externo se fijan las direcciones $2000, $4800, $5800, $C800 ó$D800, estaremos leyendo una única dirección física en M 2 , la $0000 .

M3(2Kx8) ocupa 8K posiciones en el espacio de memoria :$6000 - $67FF$7000 - $77FF$E000 - $E7FF$F000 - $F7FF

Page 272: Electronica digital problemas_de_circuitos_y_sistemas_digitales

MEMORIAS SEMICONDUCTORAS 269

Problema 3.- En el mapa de memoria de un microcomputador de 16 líneas de dirección(A 15/A0) se han ubicado una memoria RAM de 8K en las primeras 8K posiciones de memoriay una memoria ROM de 8K en las últimas 8K posiciones de memoria . Se desea incluir unamemoria RAM de 32K, para lo que se han propuesto los 3 diseños de la figura . Indique en quémedida es correcto cada uno de los diseños y, si es posible, determine qué palabra de la RAMse direcciona cuando A 15-0= $ABCD (hexadecimal) en cada uno de los tres casos . ¿Qué di-rección hay que poner en el bus de direcciones para leer la posición $4680 de la RAM en cadacaso?

A15 A14 A13 A12 A11

0

01

00 (4K)

11

0 00

1 N0

01

1 (2K)1 0 M3 (2K)

01

10 M3 (2K)

11

0

00

1 M, (2 K)0

01

1 M, (2 K)1 1

0 M3 (2K)0

11

0 M3 (2K)1

1

Page 273: Electronica digital problemas_de_circuitos_y_sistemas_digitales

270 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

A 14$A 13

CS

a14-0

RAM

CSA 15,A13-A

D -D7 A 15 -A

DO-D7 A14 -A

D -D7

(a)

CS

a14-0

RAM

(b)

A15A14A13 + A15A14AI3

15

a14-0

8

RAM

(c)

Solución P3.Caso a)La RAM se selecciona cuando su señal de selección de chip CS = 0 .CS = A14 .A13 + A14.A13, por tanto se puede acceder a la memoria en las combinaciones

A14 A13 = 01 ó 10, y está no seleccionada cuando A14 A13 = 00 ó 11 .Se comprueba por tanto, que no hay conflicto de selección con las memorias RAM ni

ROM previamente posicionadas . En ninguna ocasión se selecciona más de una memoria si-multáneamente .

Las líneas de dirección de la RAM (a14-0) son : a14 = A15 , a13-0 = A13-0. Dado que lalínea A13 forma parte simultáneamente del conjunto de líneas de dirección de la memoria y delcircuito de selección de chip (CS = A140+A13) es necesario hacer ciertas consideraciones . Paralos 8K que ocupan las primeras posiciones de la RAM se tiene que a14 = A15 = 0 Ya13 = A13 = 0 . Para que CS = 0 será necesario A 14 = 1 . Por tanto, los primeros 8K de la RAMocupan las posiciones del mapa en que A15A14A13 = 010 . Los siguientes 8K son posicionesen las que de nuevo a14 = A15 = 0 pero a13 = A13 =, con lo que para que se cumpla CS = 0 seha de fijar A 14 = 0. En este caso se estarán ocupando las posiciones del mapa en que

A15A14A13 = 001 . Razonando de igual modo se concluye que los 16K de la RAM con las po-siciones más altas se direccionana para A15A14A13 = 101 y 110 .

El mapa, para el caso a) queda :

A15

A14

A13

$ABCD

0 RAM inicial del problema

0 1 Nueva RAM $RAM : $2000 - $3FFF

0 0 Nueva RAM $RAM: $0000 - $1FFF1 1

v

0

0 1 Nueva RAM $RAM: $6000 - $71717171 0 Nueva RAM $RAM : $4000 - $51.1.1

1 V1 ROM inicial del problema

Page 274: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Veamos qué palabra de la RAM se direcciona cuando A15-0= $ABCD .Para A15-0= $ABCD se cumple que A15-0= 1010 1011 1100 1101, entonces :A14A13 = 01 por tanto la memoria RAM está seleccionada . Por otra parte,

A15 A13 A12 = a14 a13 al2 = 110 = 6 y A11-0 = al 1-0 = BCD .Se direcciona, por tanto, la palabra a14-0 = $6BCD de la RAM .Para leer la dirección a14-0 = $4680 de la RAM, se procede como sigue :Para esta dirección se cumple a14-0 = 100 0110 1000 0000 . Entonces : a14 = A15 = 1 ;

a13 = A13 = 0 ; a12 = A12 = 0 ; al 1-0 = A11-0 = 680 . Dado que la RAM debe estar seleccionada

para poder acceder a una de sus direcciones internas, se tiene que garantizar que CS = 0, porlo que como A13 = 0, estamos obligados a que A14 = 1 . Concluyendo, para acceder a la direc-ción interna deseada, en el bus externo hay que fijar la dirección A15-0 = $C680 .

Caso b) :La señal de selección de la memoria es RAM : CS = A0, es decir, se selecciona para cual-

quier dirección del bus externo que tenga A0 = 0 . Esto implica que para todas las palabras delos primeros 8K y de los últimos 8K con A0 = 0, hay conflicto entre la nueva RAM y las me-morias (RAM y ROM) ya existentes . Por tanto, el diseño NO es conecto .

Caso c) :Señal de selección de chip :

_CS = A15 .A14-A13+A15'A14 .A13

por tanto la memoria RAM se selecciona para A15 A14 A13 = 0 - 1, 0 1 -, 1- 0 y 1 0 -, y estáno seleccionada para A15 A14 A13 = 000 ó 111 .

A partir de esos valores puede decirse que no habrá conflicto de selección con las me-morias ya colocadas (en los primeros 8K, A15 A14 A13 = 000 y en los últimos,A15 A14 A13 = 111) .

Las líneas de dirección de la nueva RAM (a14-0) son : a14-0 = A14-0Por conveniencia, llamaremos Ro a los primeros 8K de la RAM, que se direccionan con

a14 a13 = 00; R1 a los siguientes a14 ala = 01 ; R2 a los siguientes a14 ala = 10 y R3 a los últimosa14 a13 = 11 de donde se tiene el siguiente mapa :

A15

A14

A13

MEMORIAS SEMICONDUCTORAS 271

- $ABCD

Para A15-0 = $ABCD se selecciona la sección R1 de la RAM (A14 A13 = 01, y por tantoa14a13=01) .

Asimismo se tiene A14-0 = $2BCD, de donde se deduce que la dirección interna de lamemoria a la que podemos acceder es a14-0 = $2BCD .

RAM inicial del problema0 1 N

R10 0 U

R21 1 V

R0 A

Ro0 1 R1

1 0 RAM

R21 ROM inicial del problema

Page 275: Electronica digital problemas_de_circuitos_y_sistemas_digitales

272 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Por último, para acceder a la dirección interna de la memoria RAM a14-0 = $4680 quepertenece al tramo de R2 sólo hace falta determinar A15 , que puede valer 0 ó 1, como se quiera .Esto es, se accede a la dirección requerida tanto para A 15 -0 = $4680 como para A 15 -0 = $C680 .

Problema 4.- Se desea transferir el contenido de las memorias M2 y M3 a la memoria M, (verfigura). Se dispone de una instrucción :

TRANSFIERE ($N° de palabras, $Fuente, $Destino)Dicha instrucción transfiere un bloque, cuyo número de palabras es el indicado, desde

la dirección fuente hacia la dirección destino ; por ejemplo, para transferir 4K-palabras ($1000)que están escritas a partir de la posición $2000 a posiciones de memoria que comiencen en$7000 se pondría: TRANSFIERE ($1000, $2000, $7000) .

(El sistema interpreta y ejecuta esta instrucción) .Escriba el programa necesario para el circuito de la figura .

A13,A11 - A1 1013

8K

8

Do - D7

8K 8 Do - D7

Solución P4 .- Primero obtenemos el mapa de memoria para conocer las direcciones fuente (deM2 y M3) y destino (M 1 ) .

Analizando el circuito combinacional de decodificación :

A continuación formamos las instrucciones TRANSFIERE (, , ) necesarias . Para ellodibujamos el mapa de memoria .

A13 -Ao1lo

A

Do - D7

o 14 81 16K

A15 23

A14 45

A12 D - D76 A13,A11 A0--f-->DEC 3:8 7

13 8

A15A14A12 = 000 ó 001 selecciona M 1A15A14A12 = 011 selecciona M2A15A14A12 = 110 selecciona M3

Page 276: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Para transferir a M 1 la totalidad de M2 Y M3 hay que utilizar 4 veces la instrucciónTRANSFIERE :

1) La primera mitad de M2 (A13 = 0), que son 4K palabras y están ubicadas entre $5000y $5FFF, la llevaremos al primer cuarto de M 1 ($0000 a $OFFF) . Entonces :

TRANSFIERE ($1000, $5000, $0000) .2) La segunda mitad de M 2 al segundo cuarto de M I :

TRANSFIERE ($1000, $7000, $1000) .3) La primera mitad de M 3 al tercer cuarto de M I

TRANSFIERE ($1000, $0000, $2000) .4) La segunda mitad de M3 al último cuarto de M I

TRANSFIERE ($1000, $E000, $3000) .

Problema 5.- Utilizando circuitos de memoria de 8Kx8, realice una asociación de 32Ka partirde la posición $6000 .

Solución P5 .- Para ocupar 32K bytes de memoria con chips de memoria de 8Kx8 necesitamos4 de estos (M I , M2, M3, M4) . Sean CS i el terminal de selección de chip y a 12-0 sus líneas dedirección .

Conectaremos las líneas del bus de direcciones AB = A15-0 de forma que a12-0 = A12-0,y la selección de memoria la realizaremos con A15 , A14, A13. Repartiremos las posiciones delas distintas memorias como muestra la siguiente tabla :

MEMORIAS SEMICONDUCTORAS 273

A 15 A14 A13 A12 Memoria seleccionada0

01

0 0 m i 16K palabras

1 0 M I10

0 1 4K palabras (A13 = 0)0 1 M2

14K palabras (A 13 = 1)1

M21 0

0 4K palabras (A13 =0)0 1 M31 1

0 ~\\\\\\\~i~:\\\\"` 4K palabras (A13= 1)11 M3

Page 277: Electronica digital problemas_de_circuitos_y_sistemas_digitales

274 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Una solución para el circuito de decodificación es :

A15-A016 A12 - Ao

Problema 6.- Se desea diseñar un sistema microcomputador que tenga 64Kbytes de memo-ria, de los cuales, 40K sean RAM y 16K ROM . Se dispone de chips de los siguientes tipos :

ROM: 16Kx4RAM: 16Kx8RAM: 4Kx8

Diseñe el circuito de decodificación necesario.

A 1

A14

A10

123456

DEC 7

CS

a12-0M 1

D-

a

0 DI

13

CS2

a12-0M2 13

nn

CS4

a12-0M3

0 DI

13a12-0M4

A15 A14 A13 $comienzo

$final CS 1 CS2 CS3 CS40 0 0 0000

1FFF 1

1 1 10 0 1 2000

3FFF 1

1 1 10 1 0 4000

5FFF 1

1 1 10 1 1 6000

7FFF M 1 0

1 1 11 0 0 8000

9FFF M2 1

0 1 1

1 0 1 A000

BFFF M3 1

1 0 11 1 0 C000

DFFF M4 1

1 1 01 1 1 E000

FFFF 1

1 1 1

Page 278: Electronica digital problemas_de_circuitos_y_sistemas_digitales

MEMORIAS SEMICONDUCTORAS 275

Solución P6.- Lo primero que resolvemos en el problema es la forma de conseguir palabras de8 bits a partir de memorias de 4 bits por palabra .

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 .

El esquema es el siguiente :

cs

a13 0 a13-0

14 16Kx4

210

L 7161514

A15 A14 A13 A12

D7-0

Buscamos ahora la forma de situar 40K de memoria RAM y 16K de ROM en un mapacompleto que ocupa 64K .

De todas las posibles soluciones adoptamos aquella en la que se ocupa el espacio de me-moria desde las posiciones más bajas para la RAM y las últimas posiciones de memoria parala ROM. El mapa de memoria queda con la siguiente distribución :

16Kx43210

3)2)J0)

cs

16Kx8

7-0

CS 1 CS2 CS3 CS4 CS5

Las señales de selección de chip para cada una de las memorias las obtenemos con elsiguiente circuito de decodificación :

0 0 - - M 1 RAM 16Kx8 0 1 1 1 1

0 1 - - M2 RAM 16Kx8 1 0 1 1 1

1 0

0 0 M3 RAM 4Kx8 1 1 0 1 1

1 M4 RAM 4Kx8 1 1 1 0 1

1 Libre 1 1 1 1 1

1 1 - - M5 ROM 16Kx8 1 1 1 1 0

Page 279: Electronica digital problemas_de_circuitos_y_sistemas_digitales

276 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

A15

A14

01 10 2

DEC 2 :4 3

EN 0

DEC 2 :41

A15 A14 A13

0 0

0 1

0 1 0

1 1

1 0 0

1

0

1

1

1

0

1

1

1

8K de M1

Libre

32K de M 3

Libre

CS3

CS4

Problema 7.- Se dispone de 3 circuitos de memoria con entrada de selección activa en nivelbajo, dos son de 8K palabras y el tercero de 32K. Estos circuitos van a estar direccionadospor un procesador de 16 señales de dirección (A 15-0) . Se requiere que los circuitos de 8K ocu-pen las direcciones menores y las mayores .

a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K pa-labras de dirección sobrantes . Diseñe el circuito que realiza ese mapa .

b) Indique el circuito de memoria y la posición en dicho circuito que se activa con cadauna de las siguientes direcciones ($A 15-o, en hexadecimal) : $0123, $2345, $4567, $6789,$89AB, $ABCD, $CDEF y $EF01 .

Solución P7.-Descomponemos las 64K direcciones del bus de direcciones externo AB, engrupos de 8K, cada uno de los cuales está definido por uno de los posibles valores de A15 , A14 ,y A13 . La tabla indica una de las posibles soluciones, donde la memoria de 32K ocupa las po-siciones intermedias . Para realizar el circuito, describamos cómo son las memorias :

M 1 y M2 son de 8K, por tanto tienen 13 líneas en su bus de dirección (a12-0) .M3 es de 32K con 15 líneas de dirección (a14-0) . _Asumimos que todas tienen su señal de selección CS M; .

Damos dos soluciones para la decodificación. La primera utiliza un decodificador y lasegunda es un diseño a nivel de puertas .

Page 280: Electronica digital problemas_de_circuitos_y_sistemas_digitales

A15A14A13

Las líneas de dirección de M1 Y M2 (a12-0) se conectan directamente a las líneas A12-0 .Para M3 necesitamos 15 líneas A;. En principio hay dos soluciones (en todo caso además

de A13-0 hay que utilizar A15 ó A14) :a14-0 = A14-0

o

a14-0 = A15 A13-0-Elegimos la primera pues es la que cubre el mapa de memoria :

CSMI

CSM2

M l

a12-0

8K

$A

A15A14A13A12

A11-8 A7-4 A3-0

M2

a12-0

8K

CSM3

MEMORIAS SEMICONDUCTORAS 277

A15A14A13

>1

=1

o-

M3a12-0

32K

CSM3

De acuerdo con lo anterior, pasamos a solucionar el apartado b) . A partir de las direc-ciones A15-0 que se nos indicanm tendremos que deducir del valor de A15 A14 y A13 si se se-lecciona alguna memoria y cuál es . Posteriormente, analizamos el valor de la líneas de direc-ción de la memoria seleccionada (ale-0 para M1 Y M2 ; a14-0 para M3) para averiguar qué di-rección interna es activada . En la siguiente tabla se muestran los resultados de dicho análisis .

esMI

USM2

USM3

2 34 56

78 9A BC DE

F0

1

binario

hexadecimal

hexadecimal

0 0 0 0

10 0 1 0

30 1 0 0

50 1

1 0

71 0 0 0

91 0 1 0

B1 1 0 0

D1

1

1

0

F

Memoria

M 1

Palabra de memoria

2 3a12 al 1-8 a7-4 a 3 -0 = 0 1LibreM3 5 6 7a14-12 al 1-8 a7-4 a3-0 = 4M3 al 4-12 a11-8 a7 -4 a3-0 = 6 7 8 9M3 a14-12 a l 1 - 8 a7 -4 a3-0 = 0 9 A B

M3 a14-12 a11-8 a7-4 a3-0 = 2 B C DLibreM2 a12 a l 1 - 8 a7-4 a 3 -0 = 0 F 0 1

Page 281: Electronica digital problemas_de_circuitos_y_sistemas_digitales

278 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 8.- En una memoria LIFO de fondo 6 se va a realizar la siguiente secuencia de op-eraciones:

3 PUSH, 1 NOP', 1 PULL, 2 PUSH, 2 NOP, 1 PULL, 1 PUSH .La memoria está vacía en el instante inicial. La anchura de la memoria es de 8 bits . Por

su bus de entrada vienen caracteres ASCII con paridad par, concretamente, los valores du-rante las sucesivas operaciones de escritura son : N, E, G, 1, C, B.

a) Muestre el contenido de la LIFO al realizar la secuencia de operaciones.b) Supuesta vacía la LIFO y siguiendo un proceso de 2 operaciones de escritura y 1 de

lectura (después otras 2 de escritura y 1 de lectura, . . .), indique la secuencia de entradas a laLIFO para que en la pila esté escrita la palabra FINAL en algún momento .

Solución P8.- Para conocer el contenido final de la pila vamos a obtener los resultadosparciales después de cada operación de escritura (PUSH) o lectura (PULL) sobre la pila. En lasiguiente figura aparecen los distintos pasos; encima de la flecha se escribe el tipo de operacióny debajo el dato de entrada (X significa que no importa el dato) .

instante inicial

NOP

X

NOP

X

NOP: no operación .

-V--A--C-

PUSH

N

PULL

X

NOP

X

PUSH

E

PUSH

I

PULL

X

PUSH

G

PUSH

C

PUSH3

B

b) Resolvemos este apartado de forma equivalente al anterior aunque nos lo planteamosal revés, es decir, conocemos la palabra que debe estar almacenada como último paso de lasecuencia de operaciones y vamos hacia atrás evolucionando operación a operación . Sabemosque la secuencia de operaciones es alternativamente dos operaciones de PUSH y una de PULL .

Page 282: Electronica digital problemas_de_circuitos_y_sistemas_digitales

PUSHFINAL INAL

F

PUSH

PULL< AL

N

xPUSH

PUSHL < Vacía

A

LEn definitiva, la secuencia de datos necesaria para utilizar en la secuencia de operacio-

nes es : L, A, X, A, N, X, N, 1, X, 1, F . Y como resultado de la octava operación de escritura(PUSH), que es la 11 2 operación, se consigue tener la palabra "FINAL" en el contenido de laLIFO. Los caracteres ASCII con el bit paridad par como bit más significativo que aparecen eneste problema son (en hexadecimal) :

A : $41

B:$42

C: $C3

E: $C5

F: $C6G :$47

1: $C9

L: $CC

N: $4E

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 9.- Determine el mapa de memoria del circuito de la figura . Indique, si es posible,qué palabras de la RAM se direccionan cuando A 15/Ao = $4ABC y A 15 _o = $8000 .

A13

A15 -

A12 -

0

1

2

DEC 2 :43 :)

21

o

MUX 4 :1

A14 A11

MEMORIAS SEMICONDUCTORAS 279

PUSH~- NAL <

PULLINAL <

PUSHNAL XI

PUSH

PUSH

PULLNAL AL <L <AL E-

N

A

X

A ,A12,A1o- Aofi

13

0

cs

RAM

8Kx8

-- 90130-D7

Page 283: Electronica digital problemas_de_circuitos_y_sistemas_digitales

280 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P9.- El mapa de memoria del circuito es :

donde las líneas de entrada de la RAM, ale-0, son :

a12=A15 , al 1 = A12, ajo-0 = Ato-0 .Las palabras de la RAM que se direccionan cuando el bus externo A15-0 contiene las

direcciones $4ABC y $8000 son :

Si A15-0 = $4ABC

a12-0 = $02BCSi A15-0 = $8000

No se selecciona la memoria RAM, por lo que no se accede aninguna dirección de ésta .

Problema 10.- Para el circuito de la figura, determine las distintas secuencias de salida,indicando las direcciones en que ocurren cada una de ellas, dentro de un mapa de memoriade 64K.

A15

A14 A13 A12 A11

0

0 001 5

800-$4FFF a12-0= $0000'-$07FF0 011 $5800-$5FFF

0= $0800401-1-110

11

00 0 -$ 000-$9'/H a12-0 = $1800411`14;1

1 115.)=$9800-$9FFa'1~ a 0=$1800-$1FFF0

01

11 0 -$ 000-$C7FF a12-0=$1000-$17FF0

101

1

1

Page 284: Electronica digital problemas_de_circuitos_y_sistemas_digitales

MEMORIAS SEMICONDUCTORAS 281

Solución P10 .- Las secuencias que se obtienen a la salida de la ROM dependerán de los valo-

res de a3 _0. Las líneas a l y ao están fijas a A11 y Ajo mientras que a3 y a 2 , al estar conectadas

a las salidas del contador, van cambiando ciclo a ciclo . Analizando los distintos casos se ob-

tiene :Direcciones internas de la memoria RAM

Secuencia de Salida

d3 d2 d l doa3 a2 al ao

A11 Ajo = 00 0 0 0 0

0 1 0 0

1 0 0 0

1 1 0 0

A11 Ajo = 01 0 0 0 1

0 1 0 11 0 0 11 1 0 1

Al , Ajo - 10 0 0 1 0

0 1 1 01 0 1 01 1 1 0

A11 Ajo = 11 0 0 1 10 1 1 11 0 1 11 1 1 1

0 0 0 01 1 1

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

11 1 1

11 1 1 00 0 1 01 1 1

11 0 1

11 0 1

10 0 1

11 1 0 0

[$1

0 0A151 22 F3 B

1 4 FA14 2 5 D

3 CS 6 EA13

a3

d3 ->4 a2

d2 7 B>

A125

0 A11 - al 0d1-> 86

DEC3:8 7doAto -ao 1- >

9

ROM(24x4) A 2B 3

q C ACONTADORMOD-4 D BCLK

q1 EF

FC

Page 285: Electronica digital problemas_de_circuitos_y_sistemas_digitales

282 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 11.- Utilizando memorias 4Kx4, diseñe un circuito de decodificación que permitasituar 16 Kbytes a partir de la posición $1000.

Solución P11 .- Solucionamos primero la obtención de memoria de 8 bits por palabra a partir

de memorias de 4 bits por palabra .

CSCS

a13-0a13-0

14 16Kx43210

l7~6l5l4 3)2)1)C)

~ gD7-0

Las cuatro memorias se colocarán a partir de la dirección A15-0 = $ 1000, es decir :A 15 = 0, A14 = 0, A13 = 0, A12 = 1 y A11-0 = 000 (en hexadecimal) . De esta forma, las señalesCSi de cada memoria deberán activarse según la siguiente tabla :

a13-0/14

El circuito de decodificación es el siguiente :

A15

A14

A13

A12

DEC 3 :8

16Kx43210

CS1CS2CS3CS4

7-0

Problema 12.- Un sistema basado en el microprocesador R65C02, dispondrá de 3 RAM de8Kx8 y una EPROM de 8Kx8 . Diseñe el circuito de decodificación correspondiente .

A15 A14

A13 A12 CS1 CS2 CS3 CS4

0 0 0 0 1 1 1 1

0 0 0 1 MI 0 1 1 1

0 0 1 0 M2 1 0 1 1

0 0 1 1 M3 1 1 0 1

0 1 0 0 M4 1 1 1 0

restantes combinaciones 1 1 1 1

Page 286: Electronica digital problemas_de_circuitos_y_sistemas_digitales

MEMORIAS SEMICONDUCTORAS 283

Solución P12.- Tenemos que situar 3 memorias RAM de capacidad 8Kx8 y un EPROM de8Kx8 en un mapa de 64K. Para ello damos uno de los posibles circuitos de decodificación .Hemos colocado las cuatro memorias una a continuación de otra empezando desde la primeradirección del mapa completo .

A 12-A0

13

A

a 12-al)

ROM Do - D 7

Para este circuito de decodificación la mitad del mapa queda vacía . Sólo se ocupan losprimeros 32K del mapa . Otra opción en donde se ocuparía el mapa completo de los 64K, yaque cada una de las memorias cubre 16K, es la siguiente :

A

A12-A0 Do - D7a12-a,1

13RAM I

8

8Do - D7A12-A0

---o, > a12 -a00 13 8A15 - 1 RAM2

A14DEC 1 .2 3 _ó-

D -D7A 12-A0-- . a12 -a0 -01

13RAM3

8

ADo - D 7A12- /

a 12-a„13

ROM8 Do - D 7

A1 - Ap D -D7

13 1 a12-a0 8RAM I

8

A12- Í13

Da - D7a,2- a00

1 13A15 2 RAM2

3A14 4 A

5 Do - D7A13 - 06

A 12 -A0 .DI a12 -a, ) -r

DEC 3 :8 7 13 8RAM3

Page 287: Electronica digital problemas_de_circuitos_y_sistemas_digitales

284 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 13.- El mapa de memoria de un microprocesador con bus de direcciones de 16 bitsestá ocupado por 8K ROM y 20K RAM. Diseñe el circuito de decodificación necesario si sedispone de chips de 8Kx4 ROM, 16Kx4 RAM y 4Kx8 RAM .

Solución P13 .- En primer lugar, hay que obtener memorias de 8 bits/palabra a partir de las de4 bits/palabra (véase problema 11) .

Una de las posibles soluciones sería situar las 4 memorias de la siguiente forma :

A15

A14

A13

A12

0

1

restantes combinaciones

Circuito de decodificación :

A15A14

M1 : RAM (16Kx8)

M2 : RAM (4Kx8)

M3 : RAM (4Kx8)

M4 : ROM (8Kx8)

vacía

01 10

2

DEC 2 :4 3

EN 01 10

2

DEC 2 :4 3

EN0

1DEC 1 :2

CS2

CS3

CS4

Problema 14.- Utilizando circuitos de memoria 2Kx4, realice una configuración 8Kx8 queocupe 8K posiciones a partir de la 4096(10 en un mapa de memoria de 64K .

Solución P14 .- Una vez que tengamos todas las memorias de 8 bits por palabra para lo quehemos tenido que hacer una asociación de memorias de la forma en la que se hizo en problemasanteriores, hacemos la distribución de estas memorias a partir de la dirección 4096, es decir,

A15-0 = $ 1000 con lo que : A15 = 0, A14 = 0, A13 = 0, A12 = 1 y A 11 - 0 = 000 (en hexadecimal) .

El mapa de memoria es :

0 0

0 1

0

0 1

0

1 1

1

Page 288: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El circuito de decodificación :

CSi

CS 1CS2CS3CS4

MEMORIAS SEMICONDUCTORAS 285

Ajo-A0 -- 1 T->RAM¡

a10-a0

2Kx8

-yDo -D7

1

Problema 15.- Diseñe un circuito decodificador que permita situar 20Kbytes de RAM a partirde la dirección $5000 dentro de un mapa de memoria de 64K . Para ello se dispone de chipsde 8Kx8 y 4Kx4 .

Solución P15.- En primer lugar se obtienen todas las memorias de 8 bits por palabra realizan-do una asociación para los casos en los que sea necesario .

Damos a continuación, el mapa de la distribución de las memorias . Todas están conse-cutivamente dispuestas a partir de la dirección $5000 (A 15 = 0, A14 = 1, A 13 = 0, A 12 = 1y A11-0 = 000 (en hexadecimal)) .

Mapa de memoria :

A15 A14 A13 A12 CS l CS2 CS3

0 1 0 1 M1 (4Kx8) 0 1 1

al 1-0 = A11-00 1 1 M2 (8Kx8) 1 0 1

a12-0 = A12-01 0 0 M3 (8Kx8) 1 1 0

a12-0 = A12-0restantes combinaciones Libre 1 1 1

$A15-0 A,5 A14 A13 A12 A l , A10-0 CS 1 CS2 CS3 CS4

0--- 0 0

0 0 1 1 1 1

1000 0 0

0 1 0 a jo -0 M1 0 1 1 1

0 0

0 1 1 ato-0 M2 1 0 1 1a 0 0

1 0 0 a jo -0 M3 1 1 0 1

2FFF 0 0

1 0 1 ato-0 M4 1 1 1 0

3000a

HF1-F

restantes combinaciones 1 1 1 1

Page 289: Electronica digital problemas_de_circuitos_y_sistemas_digitales

286 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

CS

a11-0

Circuito de decodificación :

A15

A14

A13

all-0

12

C$a

4Kx4

I17t63210

4

Problema 16.- Se dispone de RAMs de 8Kx8 y de 4Kx4. En una CPU de 16 líneas de direc-ción y 8 de datos :

a) Diseñe con puertas lógicas un banco de memoria de 28K palabras, a partir de la di-rección $4000 del espacio de direcciones .

b) Indique la posición física correspondiente a las direcciones $4567 y $CAFE en el busde direcciones .

c) ¿ Qué dirección hay que poner en el bus de direcciones para leer la posición $0123de una de las memorias RAM de 4Kx4?

d) Indique los cambios que habría que hacer si el bus de datos fuera de 4 bits .

Solución P16 .a) Primero asociamos las memorias necesarias para tener todas las memorias de 8 bits

por palabra :

El mapa de memoria que proponemos es :

Cs n

4Kx43210

3)2)1)J

CS 1

CS

7-0

A15 A14 A13 A12 CSI CS2 CS3 CS40 0 Libre (16K) 1 1 1 10 1 0 M1 (8Kx8) 0 1 1 10 1 1 M2 (8Kx8) 1 0 1 11 0 0 M3 (8Kx8) 1 1 0 11 0 1 0 M4 (4Kx8) 1 1 1 0restantes combinaciones Libre (20K) 1 1 1 1

Page 290: Electronica digital problemas_de_circuitos_y_sistemas_digitales

A15

A15i

Al4i

A131

0

Al5i

A141

Alai

1

CSia

A14

CSM ia4Kx4

CSMib4Kx4

A15

A14

A13

A12

.

A13

A12M2a

CS iM2b

A12-0

MEMORIAS SEMICONDUCTORAS 287

El circuito de decodificación realizado con puertas se muestra a continuación :

CS1

CS2

CS 3

CS4

b) Las direcciones de memoria leídas para las direcciones propuestas en el bus exteriorde líneas A15 -0 son :

A15-0 = $4567A15-0 = $CAFE

Ninguna memoria seleccionadac) Para leer la dirección $0123 de de las memoria de 4Kx4 tendríamos que poner en el

bus de direcciones la palabra A15-0 = $A123 .d) Para tener un bus de datos de 4 bits por palabra, una solución es conectar al bus de

datos sólo 4 de los 8 bits que teníamos antes . El mapa anterior es válido pero se desaprovechala mitad de cada una de las memorias .

Otra opción es utilizar sólo memorias RAM de 4Kx4 . Así, para sustituir las memoriasM1, M2 Y M3 anteriores que eran de 8K, hacemos una asociación de dos RAM de 4K para cadauna de ellas Mi (con i=1, 2, 3) como se indica a continuación :

M 1 ha sido seleccionada

a12-0 = $0567

A12

7 CSib

3-

Page 291: Electronica digital problemas_de_circuitos_y_sistemas_digitales

288 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 17.- Diseñe una memoria tipo LIFO de 8 bits de anchura y un fondo de 6 en lossiguientes casos:

a) Con registros de carga en paralelo .b) Con registros de desplazamiento .

Solución P17 .a) Dado que la memoria LIFO tiene 8 bits de anchura y un fondo de 6, el sistema debe

disponer de 6 registros con carga en paralelo de 8 bits cada uno de ellos . La conexión que selleva a cabo entre los distintos subsistemas es la siguiente :

8

PUSH

8> OUT[81

a'ppw

1

b) Se usan 8 registros bidireccionales de 6 bits . Las operaciones de PUSH/PULL sonoperaciones de desplazamiento a derecha/izquierda, respectivamente, y la salida de la LIFO esla palabra formada por los bits situados en uno de los extremos de cada uno de los registros .

PUSH PULL LOAD Rx OUT

0 0 0 Rx - Rx HI0 1 1 Rx E- Rx+I, R6 - 0 [R1]1 0 1 Rx E- Rx-1, R6 <-- 1 HI

Page 292: Electronica digital problemas_de_circuitos_y_sistemas_digitales

PUSHPULL

MEMORIAS SEMICONDUCTORAS 289

OUT[8]

PUSH PULL LR Rx OUT

0 0 00 HI0 1 01 Rx F-- SHR(Rx,O) [R0 Ro . . . Rp] (desplazamiento a derecha)

1 0 10 Rx F- SHL(Rx>Ix) HI (desplazamiento a izquierda)

Page 293: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 11

INTRODUCCIÓN A LOS SISTEMAS DIGITALES

El incremento en la complejidad de los circuitos digitales, provoca que las técnicas de descrip-ción y diseño estudiadas hasta aquí (máquinas de estados finitos, K-mapa, . . .) sean poco útiles .Esto viene motivado, fundamentalmente, por el elevado número de estados y señales que po-seería un circuito de estas características . Por tanto hay que introducir herramientas alternati-vas que permitan el manejo de estos "circuitos complejos" a los que nos referiremos en ade-lante como sistemas digitales .

SISTEMAS DIGITALES A NIVEL RT

Un sistema digital se compone fundamentalmente de dos partes : unidad de proceso, donde serealizan operaciones sobre datos de entrada, y unidad de control, capaz de recibir informaciónsobre la operación a realizar y generar la secuencia de instrucciones que se deben acometer so-bre la unidad de proceso. En esta obra se tratarán sistemas digitales síncronos donde una solaseñal actúa de reloj de ambas unidades .

Unidadde

controlx

Unidadde

proceso

Zout)1

Dout

x : cualificadores oentradas de control

z: comandosD:datos

En la siguiente tabla aparece un estudio comparativo entre sistemas digitales (SD) y cir-cuitos digitales (CD) . La diferencia esencial entre ellos es la unidad de información : la palabra(o conjunto de bits) para los SD, y el bit para los CD . De aquí que el funcionamiento de los SDsea descrito mediante la transferencia de las palabras o datos a través de los elementos que losalmacenan (registros) . Para ello se utiliza el nivel de descripción llamado "nivel RT" (RegisterTransfer) .

291

Page 294: Electronica digital problemas_de_circuitos_y_sistemas_digitales

292 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

InformaciónNivel/LenguajeFuncionalidadComponentesConexión

Organización

Circuitos Sistemas

El nivel RT trata a todos los dispositivos capaces de almacenar información como regis-tros. Así, un biestable se considera como un registro de un bit ; un contador es un registro concapacidad de incrementar o decrementar su dato ; una memoria es un banco de registros cadauno identificado por un nombre lógico (dirección); y, propiamente, los registros se incluyendentro de este concepto .

Con el lenguaje RT podemos describir el contenido de un registro o las operaciones quese realizan sobre él . Estas últimas pueden ser de tres categorías :

- Escritura: cambio de dato almacenado en el registro (R) . Es una operaciónsecuencia) y se realiza cuando el reloj está activo . Su formato es :

R F- nuevo dato- Lectura: salida del dato almacenado . Es una operación combinacional . Suformato es :

Dout = dato presente- Control: establece cómo opera el registro (esto es, bajo qué valores lógicos de lasseñales de operación "s" se escribe y se lee) . Su formato es :

f(s) : operación

(f es combinacional)Las transferencias de datos entre los registros se realizan mediante líneas que los inter-

conectan. Este conjunto de líneas se denomina bus . En un bus se pueden realizar dos operacio-nes de interés :

- Lectura del bus, 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) .

- Escritura en el bus, en la que algún registro "vuelca" su contenido al mismo (ope-ración de lectura en el registro) .

Existen diversos métodos de interconexión para los registros, dependiendo de lascaracterísticas de lectura/escritura de estos . Principalmente los métodos son por multiplexado/demultiplexado y por conexión vía alta impedancia (buses triestado) . En los problemas sedetallan estos métodos .

DISEÑO DE SISTEMAS DIGITALES

El diseño de sistemas digitales es una tarea compleja para la que no existe ningún métodosistemático. Sin embargo, se pueden aplicar algunas guías de diseño que faciliten el trabajo,como la de seguir una metodología top-down . En primer lugar, se especifica el conjunto deinstrucciones que debe realizar el sistema . Se propone, seguidamente, una arquitectura para

0,1 palabrasde conmutación RT

FSM operacionespuertas y biest . MUX, registros, . . .

líneas busescombinacional yalmacenamiento

procesado de datosy control

Page 295: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Acciones

Accionesclones

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 293

la unidad de datos que permita realizar el conjunto de instrucciones anteriormenteespecificado . A partir de aquí, se obtienen los algoritmos que realicen cada una de lasinstrucciones en la unidad de datos propuesta, expresados en primitivas RT. Se ensamblantodos los algoritmos anteriores y se obtiene la secuencia de operación y control del sistemadigital. Por último se realiza la unidad de control que ejecute dicha secuencia .

En este tema de introducción no se trata el diseño de unidades de control complejas quees estudiado en el tema siguiente .

DESCRIPCIÓN FUNCIONAL DE SISTEMAS DIGITALES

La descripción funcional de los SI) requiere de herramientas que especifiquen la operación delos mismos . Una de estas herramientas es la carta ASM (Algorithmic State Machine) . Una car-ta ASM se compone de cajas de estados, cajas de acción condicional y cajas de decisión, agru-padas en bloques ASM . Cada bloque consta, al menos, de una caja de estado y puede poseerun número indeterminado de cajas de decisión y acción condicional . Tanto la caja de estadocomo la de acción condicional representan en su interior las acciones o salidas activas del SI) .La caja de decisión, en cambio, incluye las variables de entrada al SI) .

Caja de estados

Caja de decisión

Caja de accióncondicional

Acciones

(Acciones

De forma alternativa, se puede utilizar un lenguaje de descripción de hardware (HDL) .El HDL que utlizamos aquí es uno muy simple y tiene sólo propósitos docentes . El formatogeneral de instrucción consta de : un identificador (N) ; un campo de condiciones, donde se re-flejan las decisiones sobre las entradas (cualificadores) ; un campo de acciones, bien de trans-ferencias entre registros, bien de comandos y un campo de identificadores de próxima instruc-ción (J, K, . . .) . A este formato general pueden hacérsele algunas simplificaciones .

N

condición1 acción 1/ . . . Jcondición2 acción 2/ . . . K

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- El nivel RT .- Interconexión mediante buses .- Técnicas formales de descripción (cartas ASM y lenguaje HDL) .- Diseño de sistemas digitales (con unidades de datos simples o propuestas ) .

Page 296: Electronica digital problemas_de_circuitos_y_sistemas_digitales

294 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

PROBLEMAS RESUELTOS

Problema 1.-Compare las siguientes declaraciones RT .:

Solución Pl .- El convenio para declaraciones RT establece la forma general :f (X I ,X2 , . . .) : RD E- G(RFI , RF2, . . .),donde :

XI , X2 , . . . son variables lógicasf( ) es una función combinacional,RD, RF I , RF2, . . . son registros (destino, fuente 1, fuente 2 . . .)y G( ) es una operación aritmético-lógica entre los datos de los registrosfuentes .

Entonces :- 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, ó C y D en el caso c). Análogamente,representa la operación AND entre A y B en los casos d, e y f.

- A y B son variables lógicas en los casos a, b, d, e y f y son registros en el caso c . Alrevés ocurre con C y D (variables en c y registros en los demás casos) .

- Para distinguir entre suma aritmética y suma lógica (OR), se reserva "+" para el primercaso y "v" para el segundo (casos a y b respectivamente) . Análogamente, en caso necesario,

y/o "x" se reservan para la multiplicación aritmética y "A" para la operación AND. El va-lor almacenado en E es, por tanto,

a) E F- C + D con "+" como suma aritmética .b) E; 4- OR (C;, D i ) Vic) E 4- A + B con "+" como suma aritmética .d) E ; 4- AND (C;, D i ) Vie, f) E; 4- C x D con "x" como producto aritmético .

- Las dimensiones de los registros son :E[n], C[n] y D[n] en los casos a, b y d.E[n], A[n] y B[n] en el caso c .E[2n], C[n] y D[n] en los casos f y e, ya que el producto aritmético de dos

números de n bits, da como resultado un número de 2n bits .

Problema 2.- En la unidad de datos de la figura se activan las señales de acuerdo con lasiguiente secuencia de control:

ciclo EN d l do S I So

1 0 1 1 0 02 1 1 1 1 13 0 0 0 0 14 0 0 1 1 05 1 0 0 0 06 0 1 0 1 1

a)A+B: ESC+D d)A •8: E<-- CADb) A+ B: E<-- Cv D e) A • B: E<-- C • Dc)C+D: E4-A+B f)A •B: EF--CxD

Page 297: Electronica digital problemas_de_circuitos_y_sistemas_digitales

d 1

d

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 295

Describa qué operaciones se hacen (a nivel RT) así como la operación global en losseis ciclos de reloj .

o-

10

DEC 10 2

.4 2

3

1EN

w A

n/

S i-So

1 0

1

2 30 nxMUX4:1

n1-n1

n1

n1

n1

w B

n /

f n

w C

n

w D

n/ A 1

Solución P2.- Analicemos las operaciones realizadas en cada ciclo de reloj .Ciclo 1 . Como EN = 0 el decodificador está activo y por lo tanto se está seleccionando

uno de los registros para escritura . Como d 1 d0 = 11 el registro seleccionado es D . Por otra parteS I SO = 00 lo que implica que el dato que se encuentra en el bus de entrada es [A] . Así la ope-ración realizada en este ciclo de reloj es D 4- A.

Ciclo 2. En este ciclo EN = 1 lo que implica que nigún registro tiene activa la señal deescritura. No se realiza ninguna operación entre registros .

Ciclo 3 . En esta ocasión EN = 0 y d e do = 00 luego el registro seleccionado como destinoes el registro A . Como SISO = 01 el dato que se encuentra en el bus de entrada de los registroses [B] y la microoperación que se realiza es, por tanto, A 4- B.

Ciclo 4. Para este ciclo encontramos activas la señal EN y d ado = 01 (se selecciona comodestino el registro B), mientras que SISO = 10 y por tanto el dato en el bus será [C], la micro-operación entonces es B 4- C .

Ciclo 5. Al igual que en el ciclo 2, no se realiza operación alguna entre los registros .Ciclo 6. En el último ciclo la señal EN está activa y con d 1 do = 10 se activa escritura

de C. Como S I SO = 11 el dato en el bus es [D] y la microoperación realizada es C E- D .En resumen, la secuencia de microoperaciones es :

1 .D4-A2. NOP

Page 298: Electronica digital problemas_de_circuitos_y_sistemas_digitales

296 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

3 . A - B4.B-C5 . NOP6 .C<--D

Globalmente, por tanto, la operación realizada es : D F- A y A - B E- C

Problema 3.-Sobre un registro A deben realizarse las tres operaciones siguientes, siendo Bel contenido de n bits de un bus de datos :

TNOR: A - A + BTNAND: A F- A•BTEQ:

A<- A O+ B

Diseñe una etapa del registro A de n bits con biestables JK .

Solución P3 .- Las operaciones pueden traducirse a las de una sola etapa A j :

TNOR:

Aj

A¡ + B i

TNAND : Aj <-- A i • Bi

TEQ:

Aj - AJ O+ Bj

Entonces en función de los valores de TNOR, TNAND, TEQ y B j y del valor actual deAj , podemos escribir el mapa de Karnaugh para el valor próximo de Aj (tabla de estados de laetapa j) :

0 1 - 1 -

TNOR TNAND TEQAj B j

000 001 011 010 110(Aj = qj)

00

01

11

10

Jj Kj

111 101 100

Qj = Aj * Bj (* = NOR, NAND, 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 .

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

TNOR TNAND TEQAj i

000 001 011 010 110 111 101 100(Aj = %)

00

1

0- 0- -- 1- - 0-

-0 -0 -1 -1

-0 -1 -0 -1

1

0 0 - 1 - - - 0

1 1 - 0 - - - 0

1 0 - 1 - - - 0

Page 299: Electronica digital problemas_de_circuitos_y_sistemas_digitales

de donde deducimos las ecuaciones de excitación :Jj- = TNAND + TEQ • Bj. + TNOR B.Kj = TNOR + TNAND • Bj + TEQ Bj

Por tanto, el circuito correspondiente a la etapa j es :TNAND

TEQ

BjTNOR

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 297

Problema 4.-Se definen las siguientes operaciones de desplazamiento a la derecha :- LSR (Logic Shift Right) : Se trata del llamado desplazamiento lógico, en el que el bit

de entrada serie es 0.- ASR (Arithmetic Shift Right): Se trata del llamado desplazamiento aritmético, en el que

el bit de entrada serie es el bit de signo .- ROR (Rotation Right) : Se trata de la llamada rotación, en la que el bit de entrada serie

coincide con el bit de salida serie .a) Describa las tres operaciones a nivel RT para un registro de n bits, representando el

circuito correspondiente .b) Realice los tres circuitos anteriores para el caso n = 8 utilizando el registro 74198 .c) Realice un circuito basado en 74198 que permita realizar las siguientes funciones

07-0

Solución P4 .a) A nivel RT las operaciones son las siguientes (donde B es un registro de desplaza-

miento a la derecha) :LSR: SHR(B, 0)ASR : SHR(B, B,-i)ROR : SHR(B, B0)

q

1

X7-o18

AjA0 Operación00011-

LSRASRROR

MR S I So Operaciónsr

0-- Puesta a 0 asíncronaMR

74198c 100 InhibiciónSI

[81101 Desplazamiento izqda .S110 Desplazamiento dcha .111 Carga en paralelo

Ck

Page 300: Electronica digital problemas_de_circuitos_y_sistemas_digitales

298 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Los circuitos que corresponden a cada una de ellas son :

0

1n-1 B

LSR

ASR

ROR

b) En los tres casos será necesario utilizar el circuito 74198 en modo de desplazamientoa la derecha, para ello se fijarán las entradas MR, S 1 y So a 1, 1 y 0 respectivamente . La entradaDsr deberá ser conectada a 0, B i - 1 ó Bp según la operación que se desee realizar . En los circui-tos que se muestran a continuación, las siglas NC indican "no conectado" .

LSR: SHR(B, 0)

ROR: SHR(B, B0)

B

1

Ck

1

Ck

C

srMRS 1S

ASR: SHR(B, Bn-1)

NC

NC

7-0

B 74198

07-0

sr

7-0MRS 1S

B

NC

NC

B 74198

07 (- B7)

00 (= B0)

c) Ya que la única diferencia para los tres casos (apartado b) radica en la entrada Dsr ,bastará multiplexar a dicha entrada la señal correspondiente :

A1 A0

00011-

Dsr

007

00

r

Page 301: Electronica digital problemas_de_circuitos_y_sistemas_digitales

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 299

Alternativamente, podemos obtener DSr como función de A 1 , A0, 07 y 00

07 00A 1

00

01

11

10

10

DSr = A100 + Á1 Ao 07

Problema 5.-Se dispone de cuatro registros con datos (R o, R 1 , R2 y R3) y una ALU, todos den bits. Se desea diseñar un sistema que permita a cualquiera de los registros ser datos-ope-randos y/o destino del resultado . El registro fuente del dato A es seleccionado por dos bits, A 1y Ao; el de B, por 8 1 y BO; y el de destino, por D 1 y Do. Muestre la estructura del sistema eindique cómo se realiza una operación en los siguientes casos :

1) Un esquema de conexión basado en multiplexado, usando registros con terminalesde entrada y salida separados.

2) Un esquema de conexión basado en buses triestado, usando registros con termina-les de entrada y salida separados .

3) Usando registros con terminales de datos bidireccionales .Añada en cada caso los dispositivos que se necesiten . Indique, también en cada caso,

la secuencia de activación de las señales de control de los dispositivos indicando de dóndeprovienen.

Solución P5.1) Solución basada en multiplexores .Los registros utilizados son como el que se describe a continuación :

IN

w=1 :REG4-INw = 0 : REG E- REGOUT = [REG]

OUT

Los datos A y B se obtienen multiplexando los datos de los cuatro registros RO, R1, k2y R 3 . El destino se obtiene decodificando D 1 DO , lo que permite activar la escritura w de sólouno de los registros .

0

L

0

Page 302: Electronica digital problemas_de_circuitos_y_sistemas_digitales

300 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Entonces, la unidad de datos es :

EW

DI-

Do-

31DEC2

0 2:4 10

Al-A0-0

n/

yR0

n/

0 1 2 3n x MUX 4:1

n

B I-B0-

R2

10

R

0 1 2 3n x MUX 4:1

ALU

SEL OP

Cada operación aritmético-lógica se selecciona con SEL OP y se ejecuta en un ciclo dereloj (una microoperación) :

1 .RD -RA *RBLas señales a activar son SEL OP (que selecciona la operación *), y la combinación

adecuada en las señales A 1 , A0, B1, B0, D 1 y D0 para seleccionar los registros fuente y destinodeseados. 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 Ri cuando se desee .

2) Solución basada en buses triestado .Los registros que utilizamos en este caso son :

INw = 0 : REG - REGw=1 : REG-INr = O :OUT=HIr = 1 : OUT = [REG]Se permite r = w = 1

Page 303: Electronica digital problemas_de_circuitos_y_sistemas_digitales

EW

D i -

Do -

A l /13 1-

A0/130-

Entonces la unidad de procesado :

3

DEC 20 2 :4 1

0

2DEC

0 2 :4 10

> w3

> w2>w1

> wo

r3

r 2

r lro

n

woro Ro

n

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 301

El registro RT es necesario para almacenar el dato B temporalmente . Puede obtenerse apartir de los registros que estamos utilizando sin más que fijar a 1 la entrada de control delectura .

n

wr W ) R 1

n

w2r2

n

RT

wr3 3 R3

n

ALU SEL OP

Cada operación requiere dos ciclos (dos microoperaciones) :1 .RT4-RA2.RD 4-RB *RT

Es obligatorio usar EW, debe ser 0 en la primera microoperación y 1 en la segunda .Se necesitan tres buses de datos :

- Uno triestado, con n líneas, desde R; a RT y dato A .- Dos estándares, con n líneas, desde RT al dato B y desde la ALU a R; .

En cuanto a la generación de las señales de lectura, el controlador debe poner :A;/B i = B i en el ciclo 1A;/B i = A; en el ciclo 2 .

3) Solución basada en registros con UO .Utilizamos registros con terminales bidireccionales (I/O), por lo que la conexión es a

través de un bus triestado .

Page 304: Electronica digital problemas_de_circuitos_y_sistemas_digitales

302 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

DAT

Como por un bus sólo puede haber un dato y necesitamos tres (A, B y A * B), se nece-sitan dos registros más para el almacenamiento temporal . De estos, uno se destina a almacenar

un dato-operando (por ejemplo B) y el otro puede :

1) almacenar el otro dato-operando (A), en cuyo caso el resultado A * B puede almace-

narse en el registro de destino R D2) almacenar el resultado A*B, en cuyo caso el dato-operando A es suministrado

por RA .Solución 1) :

woro Ro

wr, R,

TA

n

wr22 R2

TB

B

ALU SEL OP

CB

Wr33 R3

A

La salida de la ALU debe poseer buffer triestado con el fin de que no haya problemas

de cableado con el bus triestado cuando RA o RB viertan datos . El control de los buffers (CB)

debe activarlo la unidad de control cuando realice la escritura en R D .

Una operación requiere tres microoperaciones :

1 . TA -RA2.TB <-- RB3.RD E-TA*TB

Es obligatorio incluir EW, que sólo se activaría en la microoperación 3 . En lo demás, la

generación de w es como en los casos anteriores .

rw REG E- DAT

0 0 REG HI

01 DAT entradas

10 REG [REG]

11 prohibida prohibida

Page 305: Electronica digital problemas_de_circuitos_y_sistemas_digitales

JK

00011011

Q

q01q

rwp RO

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 enbuses triestado .

Solución 2)w-wr~' R,

n

n

Ck

WB

Wr2 2 R2

TB

n

BALU SEL OP

-w- r33 R3

El registro TD debe tener salidas triestado para su conexión al bus .Una operación requiere tres microoperaciones :

1 . TB F- RB2 .TD <-- RA * TB3 . RD - TD

La generación de las señales de lectura rj y de escritura wj son como en el caso anterior,siendo obligatorio incluir EW (a activar en microoperación 3) .

Problema 6.-Obtenga la carta ASM para un biestable JK .

Solución P6.- Este es el caso más sencillo de realización de cartas ASM . Se trata de describirun biestable como un sistema con dos salidas (acciones en la carta) y dos entradas .

Page 306: Electronica digital problemas_de_circuitos_y_sistemas_digitales

304 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Como puede observarse en la figura anterior cuando el biestable almacena un 0, lasalida q se encuentra activa permaneciendo en esta situación mientras que J = 0 . Si J = 1 seproduce un cambio . Las entradas del biestable pueden ser ahora JK = 10 ó JK = 11, por lo que,en el ciclo siguiente, se activará la salida q (2° bloque ASM) . Esta nueva situación se manten-drá hasta que la entrada K se active .

Problema 7.-Construya la carta ASM del circuito secuencial dado en las siguientes tablas .Asimismo describa ambas máquinas usando el lenguaje HDL .

a)q1 q 0,, 01

Q]Q0, z

b)

X 1X 0q1

00

01

11

10

01

QlQo

11 10

Solución P7 .a) Cada estado de la tabla dará lugar a una caja de estado en la carta ASM ; las señales

de entrada al circuito (en este caso sólo hay una : X) darán lugar a posibles cajas condicionales ;las salidas tipo Moore serán señales a activar en las cajas de estado, mientras que las salidastipo Mealy se activarán en cajas de acción condicional .

Descripción HDL :

z 1 z2 z3

0 1 1

00 10 10 00

00 01 01 00

01 01 01 01

10 11 01 10

00 00,0 01,1

01 11,0 01,1

11 10,0 11,0

10 10,0 00,0

0 x 0

1xx

z3

x z

12 x 2

x 03 x -j

2x 3

Page 307: Electronica digital problemas_de_circuitos_y_sistemas_digitales

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 305

b) Es una máquina de Moore, por tanto todas las salidas se activarán en cajas de estado .

00

Descripción HDL :

RaWa~Za

t

1

Problema 8.-La figura muestra una carta ASM de un sistema así como la unidad de datos cor-respondiente . En dicha carta, x e y son entradas que pueden tener cualquier valor binario, per-maneciendo constantes desde que Xs se hace 1 .

Especifique todos los errores de esta carta comentándolos brevemente .

RbRc

A

Zb~B

Z~~ C

i

r

0 x0 Z 1 Z3

0x0 Z 1 Z3

21 XO Z I Z2

0XO Z1Z2

12 xO_ Z2Z3

2x0x1 Z2Z3xOx1 Z2Z3

13 t -

1

Page 308: Electronica digital problemas_de_circuitos_y_sistemas_digitales

306 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

1

A 4- BC4-0

Cf-A

no

v( B-AD

A~B

V

B 4- C

A4-C

Solución P8.- Hay cuatro errores en la carta ASM . Estos se muestran en la siguiente figuraen tramos más gruesos .

Error (1) : El camino "0" nunca se toma, ya que si x • y = 1, x + y no puede valer 0 .Error (2) : Se trata de un bucle infinito . La estructura de este bucle es, en general, correc-

ta aunque en este caso es errónea . Esto es debido a que según el enunciado del problema, losvalores de x e y permanecen consantes desde que X s se hace 1 . Así, en este caso, el sistema sequeda permanentemente en ese bucle (2) lo que es causa de error.

Error (3)_ : En este bucle no se pasa por ninguna caja de estado .Error (4) : Lectura simultánea de los registros A y B (no es posible pues hay un único

bus de datos) . Además, A es leído y escrito en el mismo ciclo ; esto es un error ya que A tieneI/O bidireccional .

Page 309: Electronica digital problemas_de_circuitos_y_sistemas_digitales

C - B

error (1)

1

A - BC<-0

C <- A

si

no

B <-A

A<-B

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 307

0

error (3)

1

error (4)

A C

error (2)

Problema 9.-Se desea construir un sistema digital que realice todas las operaciones posiblesde suma y resta entre dos números que se encuentran inicialmente en los registros A y B, yque almacene el resultado en cualquiera de ellos. (No hay que obtener la unidad de control,sólo la unidad de proceso y el conjunto de microoperaciones que realiza) .

Solución P9 .- Supongamos que el sistema inicia su operación cuando se activa la entrada X g ,

y, para avisar de la finalización, activa la salida FIN .Se puede entonces hacer una distinción clara entre la unidad de control y la unidad de

procesado del sistema digital. La primera recibe la señal de inicio, X S , 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 necesariaspara que la unidad de procesado ejecute la operación (Z) . La segunda procesa los datos A y B

y almacena el resultado .

Page 310: Electronica digital problemas_de_circuitos_y_sistemas_digitales

308 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

IR

[AC]

CONTROL

FIN->

Z

usuario

sistema

Como componentes claros de la unidad de proceso están los registros A y B, que con-tienen inicialmente los datos, y la ALU, que permite operar con estos . El conjunto de opera-

ciones que debe realizar este sistema son :• A E- A+B • B E- A+B • A E- A-B • B E- A-B• A E- -A+B • B E- -A+B • A E- -A-B • B E- -A-BPor lo que sólo se necesitan 3 bits para codificarlas .Una posible arquitectura de la unidad de proceso que posibilite la ejecución de estas ma-

crooperaciones se muestra en la siguiente figura . Todos los buses y componentes que aparecenson de n bits. Se han distinguido dos tipos de buses, los que se han dibujado en gris son unidi-reccionales y dedicados, mientras que los que se han dibujado en negro son bidireccionales,compartidos y triestado .

T

a±b

A-0- RAC

Q f- WACI -- ZAC

U. PROCESADO

A

B

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

DB: Bus de datos

A

B

RA: WA

RB: WB

UNIDAD DE PROCESADO

t

(delRA WA RB WB WT s r RAC WAC ZAC

controlador)

Page 311: Electronica digital problemas_de_circuitos_y_sistemas_digitales

OUT 1

IN,

OUT

Para la unidad de procesado propuesta y para cada una de las macrooperaciones defini-das, se obtiene el conjunto de microoperaciones o "pasos" necesarios a realizar en cada ciclode reloj, para obtener la ejecución de cada macrooperación . Por simplicidad, sólo se detallaráel caso de A - A+B.

Observando la arquitectura, deducimos que para obtener la suma de A y B, hay quesituar el primer operando en el registro AC, y sumarlo posteriormente con el segundo

Registro X (X es A o B)

Registro AC (ACumulador)

IN

IN2

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 309

Se realiza a continuación una descripción de todos los elementos que componen estaunidad con el objeto de eliminar posibles ambigüedades en el funcionamiento de los mismos .

Registro T

IN

ZAC RAC WAC AC - OUT] = OUT2 =0 0 0 AC [ACI HI1 0 0 0 [ACI HI

RAC0 1 0 AC [AC] [ACI

WAC0 0 1 IN [AC] HI

ZACOtras Prohibidas

s r OUT =0 0 (No importa)0 1 IN, - IN21 0 IN, + IN21 1 Prohibida

DD ~j XRx

E- Wx `«_ WTT

Rx Wx X- DD=OUT

0 0 X HI WT T<-- OUT=0 1 DD Entrada 0 T [T]1 0 X [X] 1 IN [T]1 1 Prohibida

Page 312: Electronica digital problemas_de_circuitos_y_sistemas_digitales

310 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

operando. Nótese, además, que el dato que se transfiere al acumulador es la suma o resta delcontenido del registro T con el contenido del propio acumulador . Por tanto, en primer lugar,se transfiere el contenido del registro A hacia el registro T y, simultáneamente, ponemos a 0el acumulador .

1 .T-A,AC-OEn el segundo ciclo de reloj, podemos transferir al acumulador el contenido de T

([TI = A), e incluso traernos el segundo operando al registro T .2. T<-B,ACE--AC+T

Sumamos a continuación los dos operandos :3.AC-AC+T

En el ciclo de reloj siguiente, podemos ordenar el almacenamiento del resultado en elregistro A .

4.A<--ACSi este proceso se repite para las macrooperaciones restantes obtenemos la siguiente

tabla :

De forma equivalente obtenemos la tabla que representa las señales de control a activarpor la unidad de control :

µOP A<-A+B B<--A+B A-A-B B-A-B

1 ZAC,WT,RA

2 WT, RB,WAC,s

3 WAC, s WAC, r

4 WA,RAC WB,RAC WA,RAC WB,RAC

tOP A-(-A)+B B<--(-A)+B A-(-A)-B B<-(-A)-B

1 AC-O, T<--A

2 TAB, AC-AC-T

3 AC-AC+T AC-AC-T

4 A<-AC B<-AC A-AC B-AC

.tOP A<-A+B B-A+B A-A-B B<-A-B

1 AC<-0, T<--A

2 T<--B, AC-AC+T

3 AC-AC+T AC<-AC-T

4 A<--AC B<-AC A-AC B-AC

Page 313: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Para diseñar el sistema digital completo necesitaríamos describir el comportamiento dela unidad de control y diseñarla . Esto lo dejaremos para el siguiente Capítulo, por lo que la so-lución mostrada hasta aquí es suficiente para este tema de introducción .

Problema 10 .- Considere un sistema con tres registros (A, B, C) de ocho bits . Ha de tenerlugar la siguiente secuencia de operaciones en el orden que se describen :

Cuando se activa una señal de comienzo (X5) los datos de entrada se cargan en A . Elcomplemento de los datos de A se cargan en C. Finalmente, los datos de C se almacenan enB. Con los datos de A y B se hace la operación OR y el resultado se almacena en C . Final-mente, los datos de C son situados en las líneas de salida, tras lo cual el sistema va al estadode espera .

a) Describa las operaciones a nivel RT.b) Diseñe la unidad de datos que pueda realizarlas .c) Haga la carta ASM de las señales a activar por el control.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, ¿cuáles son?

Solución P10 .a) La secuencia de operaciones descritas a nivel RT es la siguiente :

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 311

Los estados que aparecen entre paréntesis podrían suprimirse en notación RT .b) Para diseñar la unidad de datos debemos tener en cuenta que el registro A debe recibir

su entrada de DIN, el registro B debe recibir el contenido de C, el registro C debe recibir f1 yA+B . En la siguiente figura se muestra cómo hay que conectar los registros entre sí . Tambiénse describen los registros a nivel RT.

Los registros A, B y C son como el descrito a continuación :

.tOP A-(-A)+B B4-(-A)+B A-(-A)-B BE-(-A)-B

1 ZAC,WT,RA

2 WT, RB,WAC, r

3 WAC, s WAC, r

WA,RAC WB,RAC WA,RAC WB,RAC

0 . Xs 0Xs (1)

1 . A E- DIN (2)2 . C E- tk (3)3 . B E- C (4)4 . CE-A+B(5)5 . OUT = [C] (0)

Page 314: Electronica digital problemas_de_circuitos_y_sistemas_digitales

0

WA

1

WC

WB

1

SEL, WC

1

RC

1

So

S I

S 2

S4

S5

8 x BUF tri-estados

OUT

e) La carta ASM del controlador es inmediata . Basándonos en las soluciones obtenidaspara los apartados a) y b) obtenemos :

d) En nuestro caso ya hemos hecho que OUT = HI cuando no estemos en la microope-ración 5 mediante los 8 buffers triestado que sólo están activados en S 5 .

312 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

WAx

I DIN

WBA

8 88

WK x ORK 8 x INV

8

z 0

1SEL 8 x MUX 2 :1

WK K <-- z=

0 K [K]1 x [K] C

RC

Page 315: Electronica digital problemas_de_circuitos_y_sistemas_digitales

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 11 .- Describa a nivel RT un contador ascendente módulo 64 con puesta a cero,carga en paralelo e inhibición.

Solución P11 .- El contador ha de ser de 6 bits, una posible descripción a nivel RT sería la si-guiente :

DIN5-0

SSo

1

Ck

Solución P12 .Suponiendo

A;

Ck

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 313

Problema 12.- Un registro A con n etapas individuales se acopla a un bus cuyas líneas llevanlos bits B. Los componentes del registro A son biestables SR. Dibuje el diagrama lógico de uncircuito asociado a una etapa del registro que nos permita ordenar la transferencia A ; E- A;B; .

Repítalo para A;<-- A;+B¡ , A;F-A¡ BBB¡ , A;<-- A;+OB, .

T=0: A - AT = 1 : A - A * B

(* = AND, OR, XOR, XNOR), se obtiene :

B ;

0-

AND1

A;R

Ck

XOR

XNOR

S I SO Z5_0 = C E- Cy

Cy

00 [C] C01 [C] C+1 85949392919010 [C] DIN11 [C] 0

Page 316: Electronica digital problemas_de_circuitos_y_sistemas_digitales

314 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 13.- Un registro universal de 8 bits (RU8) tiene la siguiente descripción :- Entradas de datos : 8 en paralelo (X7-o) y dos en serie (XR y XL), una para desplaza-

miento a derecha (XR) y otra a izquierda (XL ) .- Salidas de datos: 8 en paralelo (Z7-0).- Entradas de control: la del reloj (Ck) y dos para las distintas operaciones (S 1So, con

00 para inhibición, 01 para desplazamiento a la derecha, 10 para desplazamiento a izquierday 11 para carga en paralelo) .

Descríbalo a nivel RT. Especifique un registro equivalente cuyo control se efectúe consólo una entrada activa por cada operación de cambio de datos . Diséñelo utilizando un RU8 .

El registro RU8 tiene la siguiente descripción RT..

SoCk

RE = Registro Equivalente

Problema 14.- Se dispone de un registro con terminales de entrada y salida separados queposee una única señal de control para escritura, W. Se pretende incorporar este registro a unsistema ya dado a través de un bus 3-estados bidireccional . Describa cómo se implementa laincorporación .

Solución P14.- Veamos dos posibles soluciones :- A: Solución con desconexión mínima .- B : Solución con desconexión total .

Solución P13.- El registro equivalente, RE[8], tendrá 3 señales de control, W para la carga enparalelo, SR para desplazamiento a la derecha y SL para desplazamiento a la izquierda . Su des-cripción y su diseño a partir del RU[8] se muestran a continuación :

DIN7_o L

1- RU8[8]

s i so Z7 -o = RU8 -

0 0 [RU8] RU80 1 [RU8] SHR (RU8,XR)10 [RU8] SHL (RU8,XL)11 [RU8] X7-o

W SR SL ZRE _ RE <r-

000 [RE] RE001 [RE] SHL (RE,L)010 [RE] SHR (RE,R)100 [RE] DINA - oOtras Prohibidas

Page 317: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Sol . A

Sol. B

W

R

H

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 315

a incluir

F

a incluir

DBo-

SISTEMA

SISTEMA

Problema 15.- En un sistema digital se desean implementar las siguientes microoperacionescondicionales :

W.• M F- MBR (El dato de MBR se escribe en memoria).R: MBR - M (Se lee de memoria un dato y se escribe en MBR) .E: MBR - EXR (Se carga en MBR el dato de un registro externo EXR).

La memoria M es RAM de 2k x n, con bus de datos de entrada y de salida separados,con una señal de habilitación activa en alta (EN) y señal de control de lectura-escritura (R/W) ;cuando no se lee de la memoria, sus salidas muestran un 0 lógico . El registro MBR es de nbits, con entradas y salidas separadas, señal de carga en paralelo (L) y salidas incondiciona-les. El registro EXR, de n bits, tiene salidas incondicionales .

Describa a nivel RT los dispositivos con memoria y construya la unidad de datos del sis-tema. Las señales W, R y E son generadas por el controlador . No importa cómo se generenlas señales de dirección de la memoria .

Solución P15.- En la figura se muestra cómo interconectar M, EXR y MBR para poder realizarlas microoperaciones que se piden . A la derecha del circuito se describen los tres dispositivosa nivel RT.

Page 318: Electronica digital problemas_de_circuitos_y_sistemas_digitales

316 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

R

kA

E

R/W

SEL

DIN

M

2k xn

DOUT

n x MUX 2:1

MBR[ ]

EXR[n]

1

n

Memoria :

EN R/W

MBR:

L

0 -1 01

1

01

DOUT =

00

[M($A)]

Salidas =

[MBRI[MBRI

EXR: Salidas = [EXRI

M-

M <- MM($A) F- DIN

M E- M

MBR -

MBREntradas

Problema 16.- Determine la carta ASM para un contador ascendente que dispone de unaentrada de control G que, cuando está activa, provoca que éste funcione como un contadorGray, y si está inactiva, como un contador binario . Describir como carta de Moore y comocarta de Mealy.

1

Solución P16 .- En una realización como máquina de Moore, no hay cajas de acción condicio-nal. Son necesarias ocho cajas de estados que representan todos los estados posibles del con-tador y un conjunto de cajas de decisión que, dependiendo del valor de G, marcarán el flujohacia los próximos estados . En la figura se puede observar que la evolución de estados corres-ponde a la de un contador binario para G=O, y a la de un contador Gray para G=1 .

Page 319: Electronica digital problemas_de_circuitos_y_sistemas_digitales

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 317

zo

z l

0

z 2 zo

z 2

zo

z2 zi

z 2 z 1 zo

Para obtener la carta como máquina de Mealy procedemos de la siguiente manera . En

primer lugar obtenemos las secuencias de los dos tipos de contador . Para cada estado o paso

de la secuencia, comparamos las salidas activas de ambos . Las comunes se colocan en la cajade 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 . Así obtenemos la siguiente carta :

Page 320: Electronica digital problemas_de_circuitos_y_sistemas_digitales

318 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Problema 17.- Construya la carta ASM correspondiente al circuito de la figura . Describa sufunción en lenguaje HDL .

x

Ck

Page 321: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Solución P17.- Los estados son : So (g1g2 = 00), SI (g1g0 = 01), S2 (g1g2 = 10),S3 (glg2 = 11) . Tras analizar el circuito y obtener su tabla de estados se obtiene la siguientecarta ASM :

Descripción HDL :

1 0

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 319

Problema 18.- Desarrolle una carta ASM y una tabla de transición para un generador deformas de onda controlable que dependiendo de dos entradas X, y X2 generará las cuatroformas de onda que se muestran en la figura . El periodo de las dos primeras formas de ondaes cuatro ciclos de reloj, el de la tercera es de dos ciclos de reloj y el de la cuarta es de tresciclos.

XIX20 0

0 1

0. x 0x z

21 . x Z

0

2.xx

Z1

3 .xx

zz

3x z

1

Page 322: Electronica digital problemas_de_circuitos_y_sistemas_digitales

320 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P18 .

z

1

Problema 19.- Se desea realizar la siguiente microoperación :K T0 A E- Bo

T1 A E- 81T2 A E- 82T3 A E- 83

NOR (T0+T1 +T3+T4)

NOPdonde K identifica esta microoperación, To-T3 son las variables de entrada, los registros sonde ocho bits y, en cada instante, hay como mucho una señal de entrada a 1 (esto es,Ti • T = 0 V i, j).

a) Represente el bloque ASM correspondiente .b) Muestre una implementación del circuito que realiza esta instrucción en los dos casos

siguientes :1. Los registros Bi tienen salida estándar en paralelo .2. Los registros Bi tienen salida triestado (alta impedancia) en paralelo .

D

01,1

X 1 X 2

9190

00

S 1 00

S2 01

S3 10

S4 11

01

11

10

Q1Q0 , z

01,1 01,1 01,1

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

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

00,0 00,0 00,0 00,0

Page 323: Electronica digital problemas_de_circuitos_y_sistemas_digitales

T

T1

T2

T3

To -

0

1 COD 1

3

4:2

Bo[81

a l

Bo[8]

B1 [81

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 321

Solución P19.a) En el bloque k se evalúan los valores de T0, T 1 , T 2, T3 y se realizan las transferencias

necesarias . Posteriormente se pasa al bloque k+1 .

b. 1) Las salidas de cada uno de los registros B i se conectan a las entradas de A mediantemultiplexores. Un codificador se encarga de seleccionar el registro B ; correspondiente al Ti ac-tivo .

B1[8]

8

b.2) En este caso la conexión se puede realizar mediante un único bus .

T2-

A[81

Problema 20.- Diseñe el sistema digital que permita realizar de la operación A <-- 4*(A+B) .(No diseñe la unidad de control) .

-~] f7,1 2 3

A[8]

B2[81

B2[81

8

8 x MUX 4:1

B3[81

B3[8]

Page 324: Electronica digital problemas_de_circuitos_y_sistemas_digitales

322 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P20.- En este caso, el sistema digital sólo tiene una macrooperación que realizar .Para ello se puede plantear una arquitectura similar a la del problema 9 :

SHL

[AC]

T

b

WT

AC f WACI

ZAC

RAC WAC SHL ZAC

0 0•

0 00

0

1•

1 01

0

0

DB : Bus de datos

A

B

UNIDAD DE PROCESADO

Sólo se ha añadido una señal al registro AC (SHL) que simplifica el proceso del cálculode la multiplicación por cuatro . Dos desplazamientos hacia la izquierda generan este productode forma rápida .

La descripción de los registros de esta unidad de proceso es idéntica a la realizada en elproblema 9 salvo por el registro acumulador, que ahora tiene una nueva señal de control . Portanto, obviamos la descripción de los demás registros y sólo presentamos la del acumulador .

ACE- OUT, OUT2AC

[ACI

HI0

[ACI

HI•

SHL [ACI HI•

IN [ACI HI•

AC [ACI [AC]

La secuencia de microoperaciones, se muestra a continuación :1 . TE-A,ACE-0;2.ACE-AC+T,TE-B ;3 . AC F- AC + T ;4. SHL ;5 . SHL ;6 .AE-AC.

RA

WA

RBf WB

Page 325: Electronica digital problemas_de_circuitos_y_sistemas_digitales

74298CIR[41

Q3-0

Nota: C. L 74198 ver problema 4 de la sección de problemas resueltos .

Solución P21 .a) Las transferencias hacia MAR y hacia IR a nivel RT :

LPC : MAR 4- PCLMDR: MAR 4- MDR15-0TMDR: IR 4- MDR23-16

El diagrama de bloques del procesador :

MDR[24]

23-0

INTRODUCCIÓN A LOS SISTEMAS DIGITALES 323

Problema 21.- Un procesador posee los siguientes registros : un contador de programa (PC),un registro de direcciones de memoria (MAR) de 16 bits, un registro de datos de memoria(MDR) de 24 bits y un registro de instrucciones (IR) de 8 bits . MAR podrá ser cargado con elcontenido de PC (cuando se activa una señal LPC) o con los 16 bits menos significativos deMDR (cuando se activa una señal LMDR). Los 8 bits más significativos de MDR se almace-narán en IR (cuando se active una señal TMDR) .

a) Indique a nivel RT las transferencias hacia MAR y hacia IR, y dibuje un diagrama debloques del procesador.

b) Se dispone de circuitos integrados, cada uno de los cuales incluye un registro o uncontador de 8 bits . Indique cuántos circuitos integrados se necesitan para construir el sistemaindicado, mostrando su ubicación en el diagrama de bloques anterior.

c) Diseñe MAR utilizando el Circuito Integrado 74198 .d) Diseñe MAR utilizando el C . l . 74298.

24 1

S

01

PC[ 16]

J16

4

823-16

15-0 .

. 15-0

TMDR IR[8]

LPCMAR[16]

LMDR

CIR

CIR 4- IACIR 4- IB

Page 326: Electronica digital problemas_de_circuitos_y_sistemas_digitales

324 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) 8 circuitos integrados (3 para MDR, 2 para PC, 2 para MAR y 1 para IR) .c) Diseño de MAR con el C .I. 74198

MDR 15-0 PC 15-0

LPC

LMDR

Ckint

d) Diseño de MAR con el C .I. 74298. Como el 74298 es de 4 bits, se necesitan 4 C .I .para hacer MAR .

MDR 15-0

4

/4

15-12 y

LPC ' S A

B74298

MAR15-12

MAR11-8

MAR7-4

MAR3-0--------------------------------------

CkMAR

LMDRLPC

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

4

1 -cr MRS1S,

8 MSB

MAR15-8

4

16 x MUX 2:1

16

/8 LSB

/4 /4

7-4

SA

B74298

--cMRS 1

74198S

4

MAR7- 0

PC 15-0

- c A74298 B

/4

- adapta flanco activo- realiza la NOP por parada del reloj interno Ck i „ t

Page 327: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Capítulo 12

DISEÑO DE UNIDADES DE CONTROL

Como ya exponíamos en el Capítulo anterior, los sistemas digitales se componen de dos partes :unidad de procesado y unidad de control . En éste se aborda fundamentalmente el diseño de estaúltima. En el Capítulo anterior se introdujeron las cartas ASM y los lenguajes de descripciónde hardware como herramientas para la descripción de sistemas digitales y se usaron para ladescripción de unidades de procesado . Las unidades de control también son descritas mediantecartas ASM o lenguajes de descripción de hardware de un modo análogo . La única diferenciaes que las acciones a realizar consisten, en este caso, en señales a activar por el controlador .En los problemas de este Capítulo, cuando se utilicen cartas ASM para describir controladoresse 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) .

Existen diversas estrategias para la realización de unidades de control, desde el diseñocomo máquinas de estados finitos, hasta estructuras microprogramadas que usan PLA o ROM .En esta obra nos centraremos básicamente en dos modalidades :

- Diseño con mínimo número de biestables .- Diseño con un biestable por estado .

DISEÑO DE CONTROLADORES COMO MÁQUINAS DE ESTADOS FINITOS

Esta estrategia se basa en considerar al controlador como una máquina secuencial síncrona ydiseñarla utilizando los métodos del Capítulo 8 . Para ello, es necesario obtener un diagrama deestados a partir de la carta ASM . La equivalencia entre ambas formas de descripción es la si-guiente: por cada caja de estados de la carta ASM se tiene un estado en la máquina ; por cadaseñal que aparezca en alguna caja de acción condicional se tiene una entrada de la máquina ;las salidas a activar por el controlador son las salidas de la máquina. Las salidas que aparecenen cajas de estado son salidas tipo Moore y las que aparecen en cajas de acción condicionalson salidas tipo Mealy . En los problemas 4 y 5 se detalla este método .

Si el proceso de síntesis se realiza minimizando el número de estados y utilizando unacodificación con el mínimo número de variables posible, se obtiene un diseño para el contro-

325

Page 328: Electronica digital problemas_de_circuitos_y_sistemas_digitales

326 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

lador que utiliza el número mínimo de biestables . Esta alternativa de diseño proporciona rea-lizaciones muy buenas (incluso óptimas) a costa de un proceso complejo, costoso en tiempo yquizá excesivamente específico .

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 cartaASM. Por cada elemento de la carta se obtiene un elemento de circuito . En concreto, por cadaestado se incluye un biestable, de ahí la denominación "un biestable por estado" . Este métodose basa en una codificación de los estados de la carta mediante el código 1-out-of-n (exceptopara el estado de espera al que se asigna el código 0) . Así, la codificación de estados es :

Con una codificación de este tipo la transición entre estados puede realizarse fácilmentemediante un registro de desplazamiento en el cual se introducen ciertas modificaciones . En lasiguiente figura se muestra el esquema básico de dicho registro . Se ha omitido la señal de relojque es común a todos los biestables . Por otra parte, en cada biestable aparece un número 'J"indicando que la variable de estado correspondiente es % . Esto se ha hecho por simplicidad yse mantiene en el resto del Capítulo .

Xs-D D

estado

SoS IS2S3S4

Sn

D

códigogog1q2q3 . . qn

0000 . . .01000 . . .00100 . . .00010 . . .00001 . . .0

0000 . . . 1

Dq -

4D

En el estado de espera todos los biestables almacenan el valor 0 . Cuando se produce unpulso de un ciclo de duración en X s , el primer biestable pasa a almacenar el estado q = 1 conlo que el estado del controlador será S I . Realizar una transición entre dos estados S i y S, con-sistirá en hacer pasar el "1" almacenado en el biestable "i" al biestable —f'. De ahí las modifi-caciones a realizar sobre el registro de desplazamiento : hay que establecer caminos entre losdistintos biestables de manera que se puedan realizar todas las transiciones contenidas en lacarta ASM. A continuación se muestran algunos ejemplos de transiciones en la carta ASM yla correspondiente modificación en el circuito básico :

Page 329: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Si

DISEÑO DE UNIDADES DE CONTROL 327

q

q q

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

qD

i

Dq

qD

k

q

k

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

Por último, las salidas de la unidad de control son señales que se activan bien en uno omás estados (salidas tipo Moore ; por ejemplo, una salida WAC que se activase en los estadosS2 y S 5 ), bien cuando ocurre cierta condición de entrada en un estado (salida tipo Mealy ; porejemplo, que WAC se activase para X 3 = 0 en S 3 ) . Como estas señales suelen estar accesiblesen el registro de desplazamiento modificado (en el ejemplo serían q2, q5 y la salida del canal 0del demultiplexor de q3: q30 ), para obtener la salida deseada WAC bastaría sumar (OR) esasseñales : WAC = q2 + q5 + q30 .

Aunque esta técnica de diseño no optimiza el coste en puertas y proporciona controla-dores específicos al problema, la técnica en sí es muy genérica, válida para todas las unidadesde control, y consiste en una mera traslación formal desde las cartas ASM o programas HDL .Por ello el tiempo diseño es muy corto .

Índice del Capítulo

Este Capítulo desarrolla problemas de las siguientes materias :- Diseño de unidades de control para casos específicos .- Realización completa de sistemas digitales .

PROBLEMAS RESUELTOS

Problema 1 .- Para la unidad de datos de la figura, diseñe un controlador que permita escribiren B el número de "1 " que hay en A. El contador C, es de tres bits (mod . 8) y el C2 de 8 bits(mod. 256). ¿ Qué cambio hay que introducir para escribir en 8 el número de "0" de A?

Nota:

Z; = Puesta a 0 síncrona,

1¡ = Incrementar, CY; = CARRY.

Page 330: Electronica digital problemas_de_circuitos_y_sistemas_digitales

328 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

RD

WDSHR-

REG. DESP.

BUS7-0

- Registros C 1 y C2 :

Wi R i I i Zi

SHR

- Registro de desplazamiento D :

WRD D[8]r R

7_

A[8]

A8

- WA

- RA

1

C 1

3

OR

R1 W1 11 Z1

Solución Pl.- La macrooperación a realizar es : B - n°- de 1 en A .

En primer lugar describiremos a nivel RT los registros de la unidad de datos .- Registros A y B :

CY 1

B[81

R2 W 2 12 Z2

C 2

- WB

- RB

CY 2

Wi R i Ii Zi CY i = BUSn-1,0 = Ci-

1000Yi0100

1 si [Ci ] _= 1 . . .11

entrada[Ci]

BUSn-1,0Ci

0010 HI C i + 10001 HI 00000 HI Ci

WDRDSHR BUS7-0 = D <--

100 entrada BUS7-0010 [D] D001 HI SHR(D,iR )

WxRx BUS7_0 = x E-

00 HI x01 [x] x10 entrada BUS7-011 prohibida prohibida

Page 331: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El número de "1" en A puede variar entre 0 y 8 . Para contarlos necesitamos 4 o más bits .C2[81 (módulo 256) realizará esta cuenta . La idea que sustenta la solución es :

a) Transferimos A a D, preguntando por OR sabremos si el bit más a la derecha es 1 o no .b) Si OR es 1 incrementamos C 2 .c) Desplazamos el registro D para acceder al siguiente bit del dato A original . Esto hay

que hacerlo 8 veces .d) Para conocer el número de desplazamientos, utilizamos el contador C 1 que es

módulo 8 .La carta ASM (incluyendo simultáneamente RT y control) es :

0

NOP

0

D-A,C 1 -O,C 2 <_0WD, RA, Z1, Z2

D f- SHR(D,0), C 1 - C +

SHR, I 1

CY1

B-C 2WB, R2

NOPFIN

S I

S 2

DISEÑO DE UNIDADES DE CONTROL 329

S 1 : Inicialización . Tras el primer ci-clo, C 1 y C2 están a 0 y D tiene escritoel dato A .

S2 : Es el núcleo de la solución .- Siempre se ordena el desplazamien-to de D y el incremento de C 1 , ya quesiempre vamos a evaluar un nuevo bit .- La primera vez que se alcanza S 2,se cumple : OR = A0, [C 1 ] = 0Según el resultado de la evaluación deOR , se incrementa o no C 2- La segunda vez que se alcanza S 2 ,se cumple : OR = A 1 , [C 1 ] = 1 .Así sucesivamente; la octava vez :OR = A7, [C 1 ] = 7 por lo que CY 1 =1saliendo hacia S 3 .

S 3 : Se escribe el número de 1's en B .(Al alcanzar S3, [D]=0 y [C 1]=0 puesel contador C 1 ha pasado de 7 a 0) .

Page 332: Electronica digital problemas_de_circuitos_y_sistemas_digitales

330 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

El controlador se obtiene directamente de la carta ASM :

XD

yWD, RA, Z 1 , Z 2

D

SHR, 1 1

1

CY 1

0

1

OR

D D

WB, R2 FIN

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 OR y el demultiplexor correspondientes a S 2 .

Problema 2.- La figura muestra la memoria (MEM) de un sistema : el registro de direcciones(MAR) puede ser cargado con el contador del programa (PC) o con el puntero de pila (SP), elregistro de datos (MDR) está conectado a un bus de datos internos (IDB), al que también seconecta el registro A, y otro externo (EDB) conectado con la memoria .

Se quiere incorporar las dos operaciones de pila : EMPUJAR (PUSH) y EXTRAER(PULL) que consisten respectivamente, en llevar A a la pila y en llevar de la pila a A (recuerdeque PUSH A implica MEM E- A y SP- SP + 1, mientras que PULL A implica SP f- SP - 1y A F- MEM(SP) ) . Cuando no hay operación de la pila, el puntero SP apunta a la primeradirección libre .

Diseñe el controlador que permita ejecutar las operaciones de PUSH (/,l o = 00) y PULL(t i l o = 01).Nota: los códigos 1,10 = lX están reservados para otras operaciones no definidas en elenunciado.

Page 333: Electronica digital problemas_de_circuitos_y_sistemas_digitales

IPC PC[ 161

WPC-WSP-

1

MAR[ 16]

1

AB [ 16]

SP[ 16]

1

microoperación

CS R W1

MEM

1 . MAR F- SP / MDR <-- A2.MEME-MDR/SPE-SP+1

1 .SPF-SP-12. MAR F- SP

3. MDR E- MEM4. A F MDR

DISEÑO DE UNIDADES DE CONTROL 331

- ISPDSP

EDB[8]

Solución P2 .- Según el enunciado, la pila se va llenando desde las direcciones más bajas a lasmás altas . Las dos operaciones de pila implican direccionar la memoria MEM con la direcciónque indica el puntero de pila, SP. De aquí que, tras apuntar SP a la dirección adecuada, habráque transferir SP hacia MAR. En ambas operaciones la transferencia entre MEM y A debe pa-sar por MDR .

Operación PUSH (1 1 lo = 00) : Como SP apunta a la dirección vacía, es ahí donde hay quetransferir A y, después, se incrementa SP para que continúe apuntando a la primera direcciónvacía .

MDR[81

WSP / RA / W ICS/W/RE /ISP

Operación PULL (I l Io = 01): Hay que decrementar SP para que apunte a la última di-rección llena . Sólo entonces se lleva SP a MAR para, después, leer de MEM hacia MDR y, deeste registro, llevar el dato leído hacia A .

microoperación

señales a activar

DSPWSP

CS/R/WERI /WA

IDB [8]A

8

RI WIRE

WE

señales a activar

A[8]-RA

1 WA

Page 334: Electronica digital problemas_de_circuitos_y_sistemas_digitales

332 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Representemos ahora una posible carta ASM para reunir ambas operaciones teniendoen cuenta que los códigos 1 1 = 1 x están reservados para otras operaciones :

MAR E- SP / MDR f- AWSP / RA / Wl

MEM <- MDR / SP f- SP +CS/W/RE /ISP

Otrasoperaciones

SP - SP -DSP

MDR - MEMCS/R/WE

A E- MDRR /W

El controlador correspondiente según la aproximación de "un biestable por estado" semuestra en la siguiente figura :

Page 335: Electronica digital problemas_de_circuitos_y_sistemas_digitales

XD

1

U

WSP' yWI DSPRA

(para otras operaciones)

qD

Dq

DISEÑO DE UNIDADES DE CONTROL 333

D

WREISP

D

U

WE CS WA

D

FIN

Problema 3.- Un número decimal de dos dígitos se almacena en dos registros de cuatro bitsen forma BCD. El registro M contiene los dígitos más significativos ; el L, los menos. Losnúmeros se transfieren para que aparezcan en un registro R de ocho bits . Para efectuar latransferencia se dispone de un bus de cuatro bits accesible a M y L, pero sólo a las cuatroposiciones de más a la derecha del registro R. La operación de transferencia se realizarespondiendo a un conmutador .

a) Establezca una arquitectura para el sistema especificando los terminales de controlde cada registro.

b) Construya la carta ASM.c) Diseñe el controlador del sistema usando el mínimo de biestables y dibuje el circuito

lógico .

Solución P3.- a) Para que M[4] y L[4] puedan escribir sus datos en el único bus de 4 bits(BUS) hay dos soluciones :

1 . Conexión por multiplexado : Las salidas de M y L son estándares (ZM = [M] yZL = [L]) por lo que no se necesitan señales de lectura de los registros .

Mediante 4 x MUX 2 :1 se escribe el contenido de L (para S = 0) ó de M (para S = 1) enel BUS .

S: BUS = [L]S : BUS = [M]

Page 336: Electronica digital problemas_de_circuitos_y_sistemas_digitales

334 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

2. Conexión de bus único (BUSU): Las salidas de M y L tienen HI por lo que se nece-sitan señales de lectura . Sólo una de ellas puede activarse en cada ciclo .

RM

WRSL

Xs

Ck

M[4]

. k

R[8]

ZM

ZL

1BUSU[41

RL

El registro R[8], además de la carga en paralelo de los 4 últimos bits, necesita estar do-tado de desplazamiento a la izquierda para transferir datos a sus 4 bits más significativos :

CONTROL

L[4]

4

RL

RM

WR

SL

R11

WRSL

00

10

01

Operación

Rf-R

RX: Zx = HI

RX: Zx = [X]

R3-0 - X3-0 , R7-4 E- R7-4R - SHL(R,0)

Observemos que :

- La carga en paralelo deja sin cambio a los 4 bits más significativos .- El bit serie que entra en el desplazamiento puede ser cualquiera aunque nosotros he-

mos optado por introducir un 0 .Con todo ello la arquitectura del sistema es :

M[4]

R[8]

L[4]

donde suponemos que Xs , salida del conmutador, es un pulso de duración 1 ciclo de reloj .

Page 337: Electronica digital problemas_de_circuitos_y_sistemas_digitales

1

NOP

0

R3 _0 4- M

RM, WR

R 4- SHL(R,0)SL

R 4- SHL(R,0)SL

1R E- SHL(R,O)

SL

R F- SHL(R,0)SL

R3_0 4- LRL, WR

1

So

S I

S2

S3

S4

S5

S6

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 X S se pasaa almacenar en R el dígito BCD más signifi-cativo, que es el almacenado en M . Después,mediante 4 desplazamientos a la izquierdase coloca ese dígito en la mitad más signifi-cativa del registro R .

Por último se escribe el dígito BCD me-nos significativo (el almacenado en L) en R .

Con esto el registro R[81 contiene el dígi-to BCD más significativo en sus 4 bits de laizquierda y el menos significativo en los 4bits de la derecha .

c) Para utilizar el menor número de biestables en el diseño de un controlador, el primerpaso es obtener la tabla de estados a partir de la carta ASM . Después se realiza el proceso yaconocido para el diseño de un circuito secuencial síncrono genérico . No haremos el desarrollodetallado 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, la codificaciónelegida para los estados y las ecuaciones resultantes . Se han utilizado biestables T para la rea-lización de la máquina de estados .

Page 338: Electronica digital problemas_de_circuitos_y_sistemas_digitales

336 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a®s®smu®Nss

So

S 6

so

Problema 4 .- Un sistema digital tiene como unidad de datos la representada en la figura . Ini-cialmente, al menos uno de los bits de A es un cero. El sistema debe dar como salida el núme-ro binario de la posición del "0" menos significativo de la palabra almacenada en el registro A .

a) Describa, a nivel RT, los componentes de esta unidad de datos .b) De la carta ASM y diseñe el controlador (basado en la técnica de un biestable por

estado).c) Si el valor inicial de A es: 10101011, represente en el tiempo (hasta que se ha gene-

rado la salida deseada) los siguientes parámetros : BUS, señales de control (RA , S,, So , CLC,UP) y las salidas del sistema digital . ¿ Cuál es el contenido de RU8 y de CONT tras regresaral estado de espera?

A[81

u=R RU8

CLCUP

Solución P4.a) Descripción de componentes :

0 2-0

CONT mod-8 CY

S I SO

00011011

operación

inhibicióncarga paralelodespl . izquierdadespl. derecha

RA BUS7_0 = A <--

0 HI A1 [A1 A

RLRMWR SL Ecuaciones de excitación :0000 T2 = 9190 + q2q 1

T 1 = g0 + 92910 1 1 0 Codificación _T0 = q0 + q2q1 + Xs + 9281g2g1q0

00 0 1 S0 : 000

00 0 1S1 : 0 0 1S2: 0 1 0 Ecuaciones de salida :

RL = 9291S3 : 0 1 100 0 1 S4: 1 0 0 RM = 829190- _

S5 : 1 0 1 WR =_g2g1+ g2g19000 0 1 S6: 1 1 0 SL = q2q1 + q2 q1

1 0 1 0

Page 339: Electronica digital problemas_de_circuitos_y_sistemas_digitales

CLCUP

u:R RU[81

L

CONT mod. 8

0

RU8 E- ACONT - 0RA, S 0 , CLC

1

02-0

b) Carta ASM .

NOP

SHR (RU8, BUS7CONT - CONT + 1S 1 , S0,UP

0

FIN1

S a S a : Estado de espera .

Sb : Puesta a cero del contador y transferenciadel dato A al registro universal RU8 . El con-trol activará RA, pondrá S I SO = 01 y activaráCLC.

SC : Al entrar en S., CONT = 0 y Z0 = A0. SiZ0 = 0, la posición del 0 menos significativode A está dada en CONT (02-0) ; si Z0 = 1,debemos pasar a evaluar A 1 (lo cual hacemosdesplazando a la derecha RU8) al mismotiempo que hacemos que se incremente elcontador para que señale la posición de Al .Esto lo repetimos hasta que por Z0 aparezca elprimer cero que necesariamente hay .

SF : Señala el final . La posición deseada estáescrita en binario en las salidas del CONT

(02, 01, 00) •

CLC UPCY

CY = 02-0 = CONT -

00 1 si [CONTI CONT01 [CONTI _ [CONTI CONT + 110 = 111 [CONTI 011 Prohibida Prohibida

DISEÑO

S I SO

DE UNIDADES

Z7-0 =

DE CONTROL 337

RU8 E-

00 [RU8] RU801 [RU8] BUS7- 010 [RU8] SHL(RU8, BUSO)11 [RU8] SHR(RU8, BUS7)

Page 340: Electronica digital problemas_de_circuitos_y_sistemas_digitales

338 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

SI

S o

CLC

UP

BUS7 _0

El controlador pedido es :

xs

Sa

Db

HI

10101011

L/ L D 0

zo

D

VRA

S

FINCLC

UP

c) BUS está en HI salvo en el ciclo del estado S b . Las señales de control R A , So y CLCse activan en S b y S 1 , So y UP en los ciclos de reloj en que se permanece en S c . [A] = 10101011siempre .

Sb

Se

Se

SC

SF

S a

Sa

Sa

HI

HI ; HI

HI ; HI

HI

[RU8]

?

?

10101011 91010101 :99101010 :

[CONTI

?

?

000

001

010

Ya no varían

1

2

3

1 . En el bit más significativo de RU8 (esto es, en RU87 ) se almacena un valor descono-cido, 0 ó 1, debido a que BUS 7 está en HI . (Otra solución posible es leer A, RA = 1, en la cajade acción condicional del estado S 2, en cuyo caso '7" se sustituye por "1" que es el valor deBUS 7 = A7)-

2. Como Zo = 0, no se activa ninguna señal y se pasa a SF .3. Al volver a S o (estado de espera), [RU8] = ??101010 con ? = 0 ó 1 .[CONTI = 010, que es la posición del cero menos significativo de A (A2) .

Page 341: Electronica digital problemas_de_circuitos_y_sistemas_digitales

9 q

X I .XZ

DISEÑO DE UNIDADES DE CONTROL 339

Problema 5.- Dado el controlador de la figura basado en un biestable por estado :a) Realice la carta ASM correspondiente a dicho controlador.b) Obtenga el controlador equivalente basado en lógica discreta utilizando biestables

tipo D y optimizando el coste .

1

Nota: Este controlador no tiene señal de comienzo ni estado de espera inicial . Resuelva elapartado (b) sin preocuparse de este hecho .

Solución P5 .a) La carta se obtiene directamente del controlador :

Page 342: Electronica digital problemas_de_circuitos_y_sistemas_digitales

340 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b) Para hacer el controlador en lógica discreta hemos de obtener a partir de la carta ASMla tabla de estados y seguir con los pasos del proceso de síntesis de circuitos secuenciales sín-cronos. 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 .

X 1X2S

S1

S2

S 3

S4

01

NS, z

11 10

01,1

X1X2q 1 q0

00

S1 00

S2 01

S3 11

S4 10

01 11

Q1Q0 , z

10

Utilizando biestables D, las ecuaciones de excitación y salida que resultan son :D1 = Q1 = glgo +Xeqo + X1g0Do = Q0 = q1z=X1g1 +glg0+X281 +X2glg0

Problema 6.- Un sistema digital debe analizar su línea de entrada X con objeto de contabilizarel número de pulsos de esa señal que tiene de anchura 1, 2 ó 3 ciclos de reloj . El sistemadispone de tres salidas (z 1 , z2, z3) con las que se indica cuál de los tres tipos de pulsos esmás numeroso. (Por ejemplo, si se han recibido siete pulsos de un ciclo de reloj, cuatro pulsosde dos ciclos y nueve pulsos de tres ciclos, el sistema generaría como salida z 1z2z3 = 001).Desde que se le da la orden de comienzo, se deberán analizar 256 ciclos de reloj, volviéndosedespués al estado inicial. Diseñe dicho sistema, utilizando los subsistemas habituales .

Nota 1: Nunca se recibirán pulsos de más de tres ciclos de reloj.Nota 2: En caso de igualdad se activan las salidas correspondientes .

Solución P6.- La organización del sistema es la mostrada, con una unidad de control y unaunidad de datos o de procesado :

S2,1 S2,1 S2,1 S2,1

S3 1 S3,1 S3,0 S3,1

S4,0 S4 ,1 S 4 ,1 S1 ,0

S 1 ,0 S 1 ,0 S 1 ,0 S 1 ,0

01,1 01,1 01,1

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

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

00,0 00,0 00,0 00,0

X ZI

unidadde

- .

z2unidadde

Ckcontrol datos

z3-.

Page 343: Electronica digital problemas_de_circuitos_y_sistemas_digitales

CL256Ck

CY

CL IUP I -Ck-

C1

7

a

a>b a=b a<b

1

G12 E12 L12

DISEÑO DE UNIDADES DE CONTROL 341

La unidad de procesado deberá contener los siguientes dispositivos :- Un contador (C256) de módulo 256 para contar los 256 ciclos .- Tres contadores (C 1 , C2 y C3) para contar los pulsos de duración de 1, 2 y 3 ciclos

respectivamente. El tamaño de estos contadores debe ser suficiente para contar el númeromáximo de pulsos posibles en cada caso ; esto es, en 256 ciclos de reloj puede haber hasta :

- 128 pulsos de 1 ciclo de duración (para X : 01010101 . . .) .- 85 pulsos de 2 ciclos de duración (para X : 011011011 . . .) .- 64 pulsos de 3 ciclos de duración (para X : 01110111 . . .) .

Así, estrictamente, el dimensionamiento mínimo es C I de módulo 256, C 2 de módulo128 y C3 de módulo 128 . Sin embargo, podemos utilizar únicamente contadores de módulo128, ya que en el caso de pulsos de 1 ciclo de duración basta contabilizar el pulso número 86para saber que forzosamente los pulsos más numerosos son los de 1 ciclo y no necesitamosseguir contándolos . Entonces C 1 , C2 y C3 serán de módulo 128 . El estado 86 en C 1 es el estado1010110, para detectarlo basta ver que para el contador C 1 se cumple g6g4q2q1 = 1

Todos los contadores tendrán una señal de puesta a 0 asíncrona (CL256, CL 1 , CL2 yCL3). Además C256 ha de tener una salida de acarreo (CY) que se activa (CY = 1) si[C256 } = 255 . Los contadores C 1 , C2 y C3 tienen entrada para contar hacia arriba (UP I , UP2 yUP3) mientras que C256 se incrementa con todos los pulsos del reloj Ck .

Se necesitan, además, tres comparadores de magnitud de 7 bits, con salidas G (mayor),E (igual), L (menor), para comparar las salidas de C 1 y C2, C 1 y C3 , y C2 y C3 . (Podría resol-verse el problema con un solo comparador, pero aumentado el número de estados y la comple-jidad de la interconexión) .

Con ello, la unidad de procesado es :

CL2-UP2-Ck

C2

a>b a=b a<b

CL3-UP3-Ck

C3

7

a>b a=b a<b

G23 E23 L23

G13 E13 L13

Una carta ASM para el sistema se muestra en la siguiente figura .El estado S 1 es el estado de inicialización de los contadores, a continuación los estados

S2, S 3 y S4 , nos permiten determinar si hay o no pulso y, en su caso, si la duración es de 1, 2ó 3 ciclos, incrementando el correspondiente contador.

Page 344: Electronica digital problemas_de_circuitos_y_sistemas_digitales

342 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

soNOP

0

FIN

1

C256 , C I, C2, C - 0CL256, CLI, CL2, CL3

1

COMP

C <_-

s i

C +1

Las salidas z 1 , z 2 y z3 son funciones combinacionales de G ;i , E ;i y L1:

zl =G12(G13+E13)+G13 (G12+E12)+E12E13 = G12L13+G13L12+E12E13z2 = L12 L23+G23 G 12+E12E13z3 = L13 G23 + L23 G13 + E12 E13La unidad de datos deberá incluir, por tanto, un circuito combinacional que realice estas

ecuaciones :

COMP

Circuito Combinacional

S3

C -

COMP

C +1 S4

> ZI> Z2> z3

Page 345: Electronica digital problemas_de_circuitos_y_sistemas_digitales

a) Diseñe la unidad de datos del sistema .b) Exprese el algoritmo de control mediante una carta ASM (no es necesario diseñar la

unidad de control) .

Solución P7.-Existen muchas posibles soluciones . De ellas, vamos a presentar una, en la quealmacenaremos los 8 bits en un registro de desplazamiento (A) y, tras activar la señal INTEN-TA, compararemos la palabra almacenada en A con la combinación correcta mediante un com-parador (COMP) de 8 bits. Un contador (CONT) módulo 8 con salida de carry (CY) contarálos 8 bits . En caso de que se introduzcan 9 bits o más se regresará al estado inicial sin activarla señal ABRE .

a) La arquitectura del sistema (unidades de control y de procesado) será :

RESET

U. de procesado

BITr

ABRELEE- SHLA[81

combinaciónUnidad correcta

INTENTAUP

CONT

COMP[81

I

SHL

de control

E

donde RESET se conecta a la puesta a 0 asíncrona de A, de CONT y de la unidad de control .Cuando esta puesta a 0 no está activa :

CY

DISEÑO DE UNIDADES DE CONTROL 343

Problema 7.- Un sistema digital (ver figura) consiste en una cerradura electrónica que seabre mediante una combinación adecuada de 8 bíts . La combinación está almacenada en elsistema. El modo de operación es como sigue . La señal RESET lleva al sistema al estado ini-cial (no hay que incluirla dentro de la carta ASM ya que se considera asíncrona) . La señal BITindica el bit correspondiente de la combinación (comenzando por el más significativo) . Laseñal LEE (al activarse) indica que se puede leer la entrada BIT. 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 ABRE a 1) .

RESET

LEEINTENTA

ABREBIT

SHL OA = A E-

0 [Al A1 [Al SHL(A, BIT)

Page 346: Electronica digital problemas_de_circuitos_y_sistemas_digitales

344 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

UP CONT

b) La carta ASM será :

0

ABRE

1

44*1y

CA - SHL(A, BIT): SHICONT <-- CONT + 1 : UP

0

S 1

-04WV

S2

Suponemos que al conectar el sistema por primera vez se activa RESET . Esto hace quese comience en So y que CONT = 0 (y A = 0) . Realizamos la carta para que, al volver, siempreCONT = 0 en S0.

Al avivarse "LEE" procedemos a almacenar BIT y a incrementar CONT . Esto puedehacerse en el mismo estado S O (por lo que es caja de acción condicional) .

UP CY = CONT E-

0 1 si CONT1 [CONTI = 111 CONT + 1

Page 347: Electronica digital problemas_de_circuitos_y_sistemas_digitales

DISEÑO DE UNIDADES DE CONTROL 345

Al mismo tiempo se pregunta por CY. Si CY no es 1, hay que seguir esperando un nuevobit. Si CY = 1, éste es el último bit almacenado y se va a S 1 . Como se activó SHL y UP, en S 1ya [A] = 8 bits y CONT = 0 de nuevo .

En S 1 , si LEE no es 1 se espera a que INTENTA = 1, en cuyo caso se mira en la salida Edel comparador (COMP) si la combinación es correcta (y se activa ABRE) o si es incorrecta(no se activa ABRE) regresando a S0.

En S 1 , se espera a que INTENTA = 1, en cuyo caso se mira en la salida E del compara-dor (COMP) si la combinación es correcta (y se activa ABRE) o si es incorrecta (no se activaABRE) regresando a S 0 .

Si en S 1 se activa nuevamente LEE (9 °- bit) se pasa a un estado S2 de espera, sin abrir lacerradura en ningún caso, ya que la combinación ha de ser forzosamente de 8 bits, y cualquiercombinación con más bits es incorrecta .

Como en S 1 y S2 CONT = 0, no hay que hacer un clear del contador al regresar a S 0 .

Problema 8.- Un sistema digital controla el proceso de llamadas telefónicas a través de la redtelefónica. Las llamadas pueden ser provinciales (7 dígitos) o nacionales (9 dígitos) . Tras ac-tivarse la señal de comienzo Xg, en cada ciclo de reloj llega el dígito correspondiente delnúmero marcado. El usuario activa una señal (YA) cuando termina de teclear . El sistema deberesponder de la siguiente forma : si el número de dígitos recibidos es incorrecto, durante unciclo de reloj debe activarse una señal de error (E) ; si el número de dígitos es correcto, duranteun 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) . El sistema recibe una señal, (COM), queindica si el teléfono de destino comunica . En este caso deberá volver a realizar la llamada has-ta tres veces sin necesidad de volver a marcar. Diseñe el sistema .

Nota: No se preocupe de cómo se almacena el número .

Solución P8 .- Vamos a necesitar tres contadores, uno de módulo 7 (C 1 ) y otro de módulo 9(C2) para contar el número de dígitos marcado y otro de módulo 3 (C 3) para contar las llamadas

en caso de que comunique . La descripción de estos contadores es la siguiente :

La carta ASM correspondiente a las unidades de datos y de control se muestra a conti-nuación .

CL C i CL UP CY = Ci dUP

00 C;W

01 1 si [Ci ] = 11 . . .l l C; + 1CY

1- 0

Page 348: Electronica digital problemas_de_circuitos_y_sistemas_digitales

346 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

So

0

LLAMA, P

Cl - Ci+l, C2 F- C2+1UP1 , UP2

1

C3 E- C3+1CLLAMA, UP

C2,C3 - 0C1L ,CL 2,CL

í

1

LLAMA, N

FIN

n

S3

S 1

(E)

1> a So

Page 349: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El controlador es :

ACL,,CL2,CL3

1

UP,UP2

YA cY,

1

CY

1

Dq

2p

qD2n

PROBLEMAS CON SOLUCIÓN RESUMIDA

Problema 9.- Para la unidad de datos de la figura, diseñe un controlador que permita realizarla operación de intercambio de información entre los registros A, B y C de la siguiente forma :

A-> B--3CT

Rt -w t-

AALU

RACWAC

ACZAC

SHL

RT

8

DISEÑO DE UNIDADES DE CONTROL 347

LLAMAP

i>

8

1

COM

A

B

C

CY

Ra

Rb

Wb

c

a

D

v

vLLAMA E

LLAMA

FIN

Page 350: Electronica digital problemas_de_circuitos_y_sistemas_digitales

348 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P9.- La carta ASM correspondiente a la operación solicitada se muestra a continua-ción junto con el controlador pedido .

X s = I1

AC E- 0 / RTF-A

AC E- AC + RT / A<-C

C E- B

1B E- AC

1FIN

S3

S I

S4

a So

Solución P10 .- Carta ASM :

Xs 1

ACE-0/RTE-A

Zac, Wt, Ra

AC E- AC + RT

Wac, A, R t

1RTE-BWt , Rb

AC E- AC + RT

Wac, A, Rt

S2

S1

S2

1 -.--

ZacRa

Wt

2

Rt

A Wac

Rc Wa

3 4

Rb

R ac

FIN

Wc

Wb

Problema 10.- Para la unidad de datos del problema anterior, diseñe un controlador basadoen registro de desplazamiento que permita realizar la operación C = 4 - (A + B) .Nota: La entrada SHL del acumulador produce un desplazamiento lógico hacia la izquierda,introduciendo un "0" por la derecha .

S7

S5

S6

a S o

5

Ck

Page 351: Electronica digital problemas_de_circuitos_y_sistemas_digitales

xs

C

RtWt -

Controlador :

-•--

ZacRa

RT

RacWacZac

2

wt RtAWac

3

SEL

MUX 1

ACUM

-1

Rb

Problema 11.- Para la unidad de datos de la figura, diseñe una unidad de control basada enregistro de desplazamiento de forma que, en función de dos bits de entrada 1 1 e lo, puedaelegirse entre una de las cuatro macrooperaciones siguientes :

1)A-A+28

3)CF-A-2B2) A*-A-2B

4)C<-- 2A+2B

SHIFT REG .

ALU a

4 -r- 5

Rsh Wsh

SHL

DISEÑO DE UNIDADES DE CONTROL 349

8

6

U

SHL

7

B

C

WcRac

F

FIN

Ra

a

Rb

Wb

C

1

c

Page 352: Electronica digital problemas_de_circuitos_y_sistemas_digitales

350 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución Pll .Si escogemos la siguiente codificación para cada una de las macrooperaciones :

1 1 10

macrooperación

ACUM 6-ACUM + RT

00011110

Esta solución corresponde a una unidad de control tipo Moore .Xs = 1

ACUM E- ACUM + RT / SR - B

ACUM 4-ACUM + SR

S5a

A-A+2BAE-A-2BCE-A-2BCE-2A+2B

ACUM E- 0 / RTE-A

SR <-- SHL(SR,O)

a

A E- ACUM

1

S I

1ACUM F-ACUM - SR

S5b

C - ACUM S6

FIN

S4

SF

a So

Page 353: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El controlador :

A[n]

B[n]

Ao

q3

1

q31

/ 1 B>

4b

DISEÑO DE UNIDADES DE CONTROL 3

10

RA = WT = ZAC = g1

RB=WSH = q2

SHL=q3S = q4b

WA = q5b

WC = q6RT=q2+q5a

A = RT+q4a

WAC = A+q4bRSH = SEL =q4a + q4b

RAC = q5b + q6

Problema 12.- En la unidad de datos de la figura se han representado todos los componentesy los caminos de datos. Suponga que, además, existe disponible una señal, FIN, que se ponea 1 cuando se han sumado n bits. Se desea realizar las tres macrooperaciones siguientes :

CE-A+B

CE-A CE-Ba) Especifique las señales de control y operaciones de los registros y el biestable .b) Diseñe el controlador .

in

Sumadorcompleto

bCout

INBiestableOUT

5b

q5a

q5b

C[n]

FIN

Page 354: Electronica digital problemas_de_circuitos_y_sistemas_digitales

352 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P12.a) Descripción de componentes :

Rin X = A, B

SRXCLX-

SRc = 1 : SHR(C, Rin)

CLX = 1 : X - 0SRX = 1 : SHR(X, d)

d=0ó 1 óX7óX0

b) Para la siguiente codificación de las operaciones, obtenemos la carta ASM y el con-trolador .

IR, IR0

0 00 11 01 1

microoperación

C-A+BC-AC E- Botras

xCLEAR

INBiestable

Wbiest

OUT

i cjCLEAR = 1 : Biestable E-- 0

Wbiest = 1 : Biestable - Ci+lsiempre C;= [Biestablel

Page 355: Electronica digital problemas_de_circuitos_y_sistemas_digitales

x s

Solución P13.a)

Rx

w

X = A,B

WxRx

00011011

A[81

B[8]

1

Z7_o =

X[81

HI[X]

entradasprohibida

I/O

jo

2

IR1IRoV

V VCLEAR CLB CLA

8

£

8

8

8

]1 / I•/ I8

X -

XX

entradasprohibida

DISEÑO DE UNIDADES DE CONTROL 353

FIN

Wbiest

SRASRC

SRB

Problema 13.- Para la unidad de datos que se presenta, se quiere realizar un sistema digitalcapaz de comparar dos números de 8 bits (A y B), y almacenar en A el mayor de ellos y en Bel menor. Tras finalizar la operación, el sistema generará una señal de FIN .

a) Defina correctamente las operaciones de los registros .b) Obtenga la carta ASM y el controlador .c) Sin añadir elementos nuevos, ¿se puede simplificar la arquitectura de

esta unidad de proceso? Razone la respuesta .

C[8]

D[8]

CONT. mod-8

UPCL

1

UP CL

00011011

CONT. mod-64

Cy =

1 sü[CONTI= 1 . . .11

E E>F -E=F

F E<F

CONT F-

CONT0

CONT + 1prohibida

HCY

Page 356: Electronica digital problemas_de_circuitos_y_sistemas_digitales

354 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

b)

C 4- AWc, RA

A4-BWA, RB

B 4- CWB, Rc

1

NOP

CONT4- 0 / C E-ACL / Wc, RA

vD 4- BWD, RB

t

so

S2

C 4- SHL(C, X) / D 4- SHL(D, X) / CONT4-CONT +Wc, SLc / WD, SLD / UP

FIN

1

S I

a S o

WTRySLy Y7-0 Y 4-

0 0 0 HI Y001 HI SHL (RU8,YL)010 [Y] Y1 0 0 entradas entradas

Page 357: Electronica digital problemas_de_circuitos_y_sistemas_digitales

X

CL RA

WC

c) Sí. Se resuelve en el siguiente problema .

Problema 14.- La figura muestra la solución al último apartado del problema anterior. Recor-demos que se trata de almacenar en A el mayor y en B el menor de los datos previamentealmacenados en A y B. Determine la carta ASM para esta unidad .

VWD

Ra -

Wa -SHLa-

Rb

Wb -SHLb

>,-T-VRB

A[8]

A

B[8]

SLCSLDUP

E>F E

8

F

A8

8me 11* I> q4

11 I>

8

UP

CL

y

DISEÑO DE UNIDADES DE CONTROL 355

1

C

RD=O

C[8]

WAVRC

WB

-__ Rc- Wc

CONT. mod-8

FIN

CY

Page 358: Electronica digital problemas_de_circuitos_y_sistemas_digitales

356 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P14.

00,11

A E- SHL(A,A 7) / SHL>B E- SHL(B,B 7) / SHLb

\ONT E- CONT + 1 / Ulj

0CY

NOP

vCONTÉ- 0 / C E-A

CL, W,RA

so

S2

B E- ARa,Wh

vB E- CRe, Wb

01,10

S I

B E- SHL(B,B 7)/ Wb,SHLbCONTÉ- CONT + 1 / UP

0

1CY

S3

vAE-CRe' Wa

NOP

1

Problema 15.- Diseñe un sistema digital (ver figura), que opere como sigue . Sincronizadocon Ck 1 , recibe por XS un pulso de un ciclo de duración y, a continuación, 8 bits de datos enserie por una línea Din.

SF

Page 359: Electronica digital problemas_de_circuitos_y_sistemas_digitales

R

SR

INC

CLEAR

CLK

Solución P15 .- Componentes de la unidad de datos :

DIN

1Ck

CONT mod.8

DOUT

xs

DinCk

Ck

DISEÑO DE UNIDADES DE CONTROL 357

El sistema, deforma sincronizada con Ck2, en primer lugar debe generar por Xo un pul-so de un ciclo de duración y, seguidamente, retransmitir por Dout los 8 bits de datos recibidos .

SR R

0 00 11 011

SISTEMADIGITAL

CY

INC CLEAR

x 11 00 0

DOUT =

HIREG0HI

REG0

CY =

1 sü[CONT]= 11 . .1

out

REG F-

REGREG

SHR (REG, DIN)SHR (REG, DIN)

CONT F-

0CONT + 1CONT

Componentes comunes a la unidad de datos y a la unidad de control :- Un biestable SR asíncrono y un multiplexor, 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 .

a los Ck

Page 360: Electronica digital problemas_de_circuitos_y_sistemas_digitales

358 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Las señales S y R serán activadas por el controlador .La carta ASM :

El controlador :

V

1

CLEAR

INCSR

%Biest 4- 0, CONT F- 0btest, CLEAR

NOP

REG F- SHR(REG, DIN ), CONT 4- CONT +SR, INC

y

\ICY

Biest E- 1XO, Sbiest

v

NOPFIN

1

REG E- SHR(REG, DIN), CONT F- CONT + 1, DOUT = REGSR, Rbiest, INC

0

Vxo

Sbiest

3

Xs---J

Rbiest

CY

4

FIN

Page 361: Electronica digital problemas_de_circuitos_y_sistemas_digitales

y

q

q

1

CkElemento de memoria y sutabla de comportamiento

y

01

0q

S

A

B

C

D

B

C

B

C

B

A,1

D

B, 1

Capítulo 13

MISCELÁNEA

Problema 1 .- Para el dispositivo de memoria que se muestra a continuación :a) Obtenga su tabla de excitación .b) Razone si es posible implementar cualquier máquina de estados utilizando este tipo

de dispositivo como elemento de memoria .c) Con dos de estos elementos de memoria y las puertas necesarias, realice un circuito

que implemente la tabla de estados. Elija una asignación de estados adecuada, sin conside-raciones de costes .

0

1

NS, Z

Tabla de estados

Problema 2.- En una práctica de laboratorio se pretende montar el circuito siguiente :

y

Sin embargo el laboratorio es un desastre .a) El día que va el grupo M resulta que no hay mu/tip/exores, con lo único que podemos

359

Page 362: Electronica digital problemas_de_circuitos_y_sistemas_digitales

360 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

contar es con una puerta NAND de ocho entradas además del decodificador previsto . Obten-ga el circuito equivalente al dado con el material disponible.

b) El día que va el grupo P ya disponemos de los multiplexores necesarios, pero ahorahan desaparecido los decodificadores . Obtenga un circuito equivalente al dado utilizando unsólo multiplexor como el previsto en la práctica .Nota 1: Disponemos de las variables en único raíl .Nota 2: La entrada de habilitación del multiplexor hace: F=0 si E=0 y F=MUX si E=1

Problema 3 .- Se pretende realizar un dispositivo como el mostrado en la figura :

> Z IC.C .

> Z2

CLAuP CONTCK > mod-16

4

La entrada CLA pone a cero el dispositivo de forma asíncrona . Por la línea X se recibenpulsos positivos de uno o más ciclos de reloj. Con independencia de la duración de cada pulsoy contando a partir de la última vez que se activó CLA, se desea activar Z, a partir del final delsegundo pulso recibido por X y activar Z2 a partir del comienzo del quinto pulso . Una vezactivada cada salida, se mantendrá activa hasta que se active CLA otra vez .

Diseñe el circuito combinacional (CC en la figura) utilizando exclusivamente puertasNAND y suponiendo variables en doble raíl .

Problema 4.- Considere la palabra 10100110 . Interprete, si es posible, la información de estapalabra según sea: número binario, representación signo-magnitud, representación comple-mento a 1, representación complemento a 2, código ASCII, código ASCII con paridad par, có-digo ASCII con paridad impar o código BCD .

Problema 5.- Se desea diseñar una calculadora que realice las siguientes operaciones :1.A-2A+B

3.B-2A+282.A'-A-B

4. BOA-28.

Page 363: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Para ello se dispone de la unidad de datos de la figura en la que todas las salidas delos registros son condicionales. Se pide:

a) Especificar completamente la unidad de datos .b) Diseñar la unidad de control correspondiente .

Problema 6 .- En el circuito de la figura hay, entre otros, un sumador paralelo de "n" bits y unbloque TRANSFIERE/COMPLEMENTA B (representado por n XOR) . Describa funcional-mente el circuito. (Esto es, represente formalmente su operación y explíquela verbalmente) .

A

B

x i

x 3

x2

MISCELÁNEA 361

Problema 7.- Un sistema digital de 4 entradas recibe sincronizado con una señal de reloj,caracteres de 4 bits . El sistema genera z = 1, durante un ciclo de reloj, tras recibir cuatrocaracteres seguidos idénticos .

¿ Cuántos elementos (bits) de memoria deberá tener, el sistema? Diseñe dicho sistemautilizando registros de 4 bits, comparadores de magnitud y puertas .

Problema 8.- 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 denomina autocomplementable siel complemento a 9 de cada dígito D = d3d2d1do es Ca9(D) =9;d-2d- El código 8CD naturales un ejemplo de código decimal pesado pero no autocomplementable . El código exceso-3es un ejemplo de código decimal no pesado pero es autocomplementable . Muestre que elsiguiente código es ambas cosas : pesado y autocomplementable y determine el peso decada bit.

0 = 0000 1 = 0001 2 = 0011 3 = 0100 4 = 10005=0111

6= 1011

7= 1100

8= 1110

9= 1111b) El circuito de la figura contiene una puerta de 5 entradas que puede ser una NAND5,

una NOR5 o una XNOR5. ¿Cuál es el test más simple que se podría aplicar para averiguaraqué puerta corresponde?

7

c) Sea la función z(x 1 , x2, . . ., x, .,) que se define como :z(x 1, x2, . . ., x„) = 1 si y sólo si x; * x1 para algún valor de (i, j) .

Page 364: Electronica digital problemas_de_circuitos_y_sistemas_digitales

362 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

- Si consideramos esta función como un operador de n variables, ¿podríamos decir quees funcionalmente completo?

- Dé una expresión algebraica para z .

Problema 9.- Sean A= A4A3A2A 1Ao y 8=B4B3B281B0 dos números binarios que nunca pue-den representar el valor "-0" . Hay dos señales S 1 y So, que indican el tipo de representaciónnumérica, de acuerdo con el siguiente código .

S 1 S0=00 A y B números sin signoS1 SO=01 A y B números en signo-magnitudS1 S0=10 A y 8 números en Ca2S1 S0=11 A y B números en Ca 1

Diseñe un comparador (A>B, A=B, A<B) utilizando un comparador de magnitudes de4 bits y los MUX 4 :1 que se necesiten .

Problema 10.- La siguiente figura muestra la unidad de procesado de datos de un micropro-cesador con bus de datos de 8 bits (D 7 - Do) y bus de direcciones de 16 bits (A 15 - A0) .

AB [16] (a Memoria)

A15 - A0

PCH[81

CONTROL

PCL[8]

IR[8]

MARH[8]

MDR[81

MARL[8]

RT[8]

ALU

AC[81

DB[81 (a/de Memoria)1-11

I> D7 - Do

Como puede observarse, el bus interno de comunicación es de 8 bits y dispone de lossiguientes registros:

- MAR (Memory Address Register): de 16 bits, está formado por la concatenación dedos registros de 8 bits : MARH y MARL .

Page 365: Electronica digital problemas_de_circuitos_y_sistemas_digitales

c

1 si A>i

OsiA<i

Figura 1

Figura 2

MISCELÁNEA 363

- MDR (Memory Data Register): de 8 bits, su finalidad es servir como registro interme-dio entre el procesador y la memoria externa . Todo dato que entre o salga del procesador de-berá ser almacenado previamente en MDR .

- IR (Instruction Register): es de 8 bits .- PC (Program Counter): es de 16 bits y está formado por la concatenación de dos

registros de 8 bits : PCH y PCL .- AC (Acumulador): es de 8 bits .- RT (Registro Tampón) : es de 8 bits y es utilizado para el cálculo de operaciones

intermedias .Obtenga la secuencia de microoperaciones necesarias para realizar la siguiente

instrucción indicando cuáles corresponden al ciclo de FETCH y cuáles al de EXECUTE :LDA $B043

Nota: Cada instrucción ocupa 3 palabras de 8 bits consecutivas de la memoria . En la primeraaparece el código de operación (LDA) ; en la segunda aparecen los 8 bits de dirección mássignificativos del operando (A 15 - A8); y en la tercera aparecen los 8 bits de dirección menossignificativos (A7 - A0) .

Problema 11 .- Una puerta umbral (ver figura 1) activa su salida, Z = 1, si el valor de susentradas tomadas como número binario A110 = (aí- 1 , . . .,a 1 , a0)(2 es mayor o igual al umbralinterno "i".

a) Diseñe una puerta umbral de n entradas, utilizando subsistemas combinacionales ypuertas lógicas .

En la figura 2, aparece un circuito formado, únicamente, por puertas umbrales .b) Analice dicho circuito.c) Rediséñelo utilizando, exclusivamente, MUX de 4 canales .

Problema 12.- En el diseño de la función : f = fl ( 4, 5, 6, 7, 8, 9) - d (0, 2, 13, 15) se hadado como solución el circuito de la figura . Las variables están en único raíl .

a) Determine, si los hay, todos los errores de la solución y corríjalos .b) Para el circuito de la figura, dibuje la forma de onda de salida si b es una señal

periódica de frecuencia 20 Mhz y acd=011 se mantienen constantes, suponiendo que todaslas puertas poseen un tiempo de retraso de 5ns .

Page 366: Electronica digital problemas_de_circuitos_y_sistemas_digitales

364 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

C

d

Problema 13.- Obtenga la carta ASM de un circuito secuencial síncrono con una entrada x .La única salida, z, es 0 a menos que la entrada x haya permanecido constante (a 1 ó a 0)durante los últimos cuatro ciclos de reloj. La salida se pondrá a 1 coincidiendo con el cuarto 1(ó 0) de la entrada. Suponiendo que el circuito se dispara en el flanco de bajada, dibuje laforma de onda de salida para la secuencia de entrada de la figura, indicando las cajas deestado por las que pasa .

Ck

x

Problema 14.- En la figura se muestra una tabla de implicantes primas para f(a,b,c,d) en laque se desconocen algunos de los encabezamientos de las filas y columnas. Se sabe quetodos los mintérminos y las implicantes primas de la función están en la tabla .

a) Determine los mintérminos e implicantes primas que corresponden a las filas ycolumnas desconocidas. ¿Es única la solución?

b) Escriba los maxtérminos de f y obtenga la expresión óptima para f .

Problema 15.- Un perro puede estar tranquilo, irritado, asustado o irritado y asustadosimultáneamente, con lo cual muerde . Si le damos un hueso se queda tranquilo. Si le

0 7 8 10 15 c l c 2

A=b d X X X

B= ? X X

C=bcd X X

D=? X XE=? XF=? X

Page 367: Electronica digital problemas_de_circuitos_y_sistemas_digitales

quitamos uno de sus huesos se pone irritado, y si ya estaba asustado, nos morderá . Si leamenazamos se asusta, y si ya estaba irritado también nos morderá . No es posible realizardos acciones simultáneamente sobre el perro . Obtenga el diagrama de Moore y realice uncircuito que simule la conducta del perro .

Problema 16.- Diseñe un circuito combinacional que tenga como entradas tres números sinsigno A, B y C de n bits cada uno, y una salida Z que indique cuál de los números B o C esmás próximo al número A . Haga un diseño con subsistemas combinacionales . Suponga queA# B, A#CyC ;, ,-- B.

Problema 17.- Considere el circuito de la figura . Inicialmente los biestables están en el esta-do 0. La operación del circuito empieza con un pulso de "Start" aplicado a las entradas dePRESET de los biestables X e Y. Determine las secuencias o las formas de onda en A, B, C,X, Y, A, Z y W para 20 ciclos de reloj después del comienzo de la operación .

C

K C

W

B

1-K B

PRX

J A-

K A X

CLK Y

PRD Y

MISCELÁNEA 365

ZrS tart

Problema 18.- Para un sistema con 16 líneas de dirección se necesitan 40K de memoria de-jando libre el resto . Se dispone de una_RAM de 32K y otra de 8K, ambas con señal de selec-ción de chip CS, de lectura/escritura R/W y buses compartidos . La memoria resultante deberátener señales de lectura R y de escritura W separadas y activas en alta, sin selección de chip .

a) Diseñe el circuito .b) Determine qué palabras de memoria se corresponden con las direcciones lógicas si-

guientes: $FOCA, $4342, $9CAD.c) ¿ Cuál es la dirección lógica que hay que poner para acceder a la palabra $7531 de

la RAM de 32K?. ¿ Cuál sería para la $0246 de la RAM de 8K? .

Page 368: Electronica digital problemas_de_circuitos_y_sistemas_digitales

366 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

SOLUCIONES A LOS PROBLEMAS PROPUESTOS

Solución Pl .a) Directamente de la tabla de estados del biestable se obtiene su tabla de excitación :

q-Q0->00-> 11-401-> 1

Q1 Q2Tabla de transición/salida

La transición 1 ---> 0 se puede conseguircon cualquier valor de y, 0 ó 1 .

b) Para una máquina de estados genérica, siempre habrá "transiciones" de algunavariable de estado desde 1 hacia 1 . Esta "transición" no puede ser llevada a cabo por elbiestable "y", al menos directamente . En consecuencia, en general no hay garantías de poderimplementar cualquier máquina con este tipo de biestable .

c) De acuerdo con el apartado b), para realizar la máquina del enunciado debemosencontrar una asignación para la que no ocurran transiciones de 1 a 1 .

Una asignación válida se puede encontrar bien razonando adecuadamente, bien por elmétodo de prueba y error . La opción razonada es como sigue :

El grafo de transición de estados, sin tener en cuenta ni el valor de X ni el de Z, es :

o ID 0 0

El estado B es el que más transiciones recibe (tres) . Teniendo en cuenta que en el ele-mento de memoria el problema es la transición q ; : 1 -> 1, le asignaremos el código glg2 = 00(de esta forma evitamos la transición problemática hacia el estado B) . La única transición queparte del estado A va hacia el estado B . Por tanto, no se produce la transición problemática sile asignamos a A: q1q2 = 11 . Por último, como C y D son próximos estados uno del otro, leasignamos códigos complementados, por ejemplo C : q1 q2 = 01 y D : q1 q2 = 10 .

Una vez realizada la asignación, de forma que se ha evitado que existan transiciones queno pueden implementarse con el elemento de memoria, el proceso de diseño continúa comosiempre .

YiY2Tabla de excitación

Ecuaciones de excitacióny salida

X

q 1 q\ 0

1X

q 1 q\ 0

1B=0 0 01,0 1 1,1 00

y1 =X01 11

C=O 1 00,0 10,0 01 Od ld y2 =X91A=1 1 00,0 00,0 11 dd dd Z=Xq2D=1 0 01,0 00,1 10 dl d0

Page 369: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El circuito final queda :

1 2

MISCELÁNEA 367

Z

Solución P2 .- El primer paso es calcular una expresión de la función F(x,y,z), para lo cual hayque analizar el circuito . Daremos nombre a cada una de las líneas .

Según la ecuación de salida del multiplexor tenemos :F = do ( d 2 •s 1 -s o + d 3 •s 1 •s0 + d4 •s 1 -SO + d5-s1 •s0 )-Cada una de esas señales son salidas del decodificador, por tanto :do =x+y+z d2 =x+y+z

d3 =x+y+z

d4 =x+y+zd5 =x+y+z

s1 =x+y+z

sp=x+y+zSustituyendo en la expresión anterior para F :F = II (0,5) = 1 (1,2,3,4,6) .a) Implementaremos esa misma función haciendo uso del decodificador anterior y una

puerta NAND de ocho entradas . Dado que por las salidas del decodificador tenemos las expre-siones de los maxtérminos de tres variables (las que actúan de entrada al decodificador), bastaelegir aquellas salidas del decodificador correspondientes a los mintérminos de F . Así, al usar-las como entradas de la puerta NAND, a la salida de ésta obtenemos la función deseada .

xyz

b) Para este apartado tenemos que usar el multiplexor que aparece en el enunciado .Como estamos en único raíl, vamos a buscar qué disposición de variables es válida para queno encontremos residuos de la función que posean variables complementadas .

Page 370: Electronica digital problemas_de_circuitos_y_sistemas_digitales

368 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Residuosde F :

Z 1 z 1Residuosde F :

y

De las tres disposiciones de variables anteriores, sólo la segunda permite resolvernuestro problema. Con ello, el diseño final del circuito sería :

1

1 1 y

0/00

1/00

0/00

1/00

0/ 0ó 1/00 ó411

0 0

0

lo0/00

0

¿0/10Ó0/10

lo

1/00

0/100

1 0

1/10

UP=O

xz

Solución P3.- Para contar los pulsos recibidos, como la duración de estos es variable, dos flan-cos consecutivos en la entrada (subida y bajada) representan un pulso . Cada pulso, pues, nece-sita dos estados : uno que reconoce el flanco de subida en X y otro, el de bajada. El diagramade estados para la máquina será :

UP =

donde el estado "0" es el de ausencia de pulso ; el estado "1" se alcanza cuando X = 1 (comien-zo de pulso) y en él se permanece hasta que X = 0 (final del pulso) ; tras este primer pulso sepermanece en un estado "2" hasta la llegada del nuevo pulso (X = 1) ; etc .

Para realizar estos cambios de estado utilizaremos el contador. Si asignamos los valores0000, 0001, 0010, . . . a los estados 0, 1, 2, . . ., respectivamente, el estado coincide con el valordel contador y los cambios de estado del grafo se llevan a cabo activando o no la entrada UPsegún :

Entonces, las ecuaciones de excitación del contador (UP) y de salida (Z 1 , Z 2) se obtie-

nen mediante el siguiente mapa de Karnaugh que representa la "tabla" de excitación-salida :

Page 371: Electronica digital problemas_de_circuitos_y_sistemas_digitales

000

100

110

000

q2

q1 q0

000

00

01

1110

001 011 010

UP Z 1 Z2

Las expresiones de las que se obtiene el circuito son :UP = X - qO+X . g3 . g0

Z1 = X'g1'g0 + q2 + q3

MISCELÁNEA 369

110

111

101

100

Z2 = g0 'g 3 +X •q 3

Solución P4.Como número binario : 10100110 = 166 (1 0Como signo-magnitud : 10100110 =- (0100110) =- 38(10Como complemento a l : 10100110 = - (01011001) = - 89(10Como complemento a 2: 10100110 = - (01011010) = - 90(10En código ASCII : problema mal formulado, pues el código ASCII es sólo de 7 bits .En código ASCII con paridad par : 10100110 - &.En código ASCII con paridad impar: 10100110 no puede estar escrito como código de

paridad impar pues tiene 4 unos .En código BCD : un dígito sería 1010 y otro 0110, pero como 1010 no es un dígito BCD,

el problema está mal formulado .

Solución P5 .a) Desarrollaremos las instrucciones mediante microoperaciones y, de aquí, iremos im-

plicando algunas necesidades de operaciones en los registros . Previamente, analizaremos launidad de datos de la que disponemos :

Hay dos buses compartidos (BI y BD), por lo tanto, las salidas de los registros A, B yAC son salidas con buffers triestado . Como las salidas son condicionales, los registros tienenseñales de lectura: única para RT (señal RT) y AC (señal RAC) y doble para A y B, según selea en BI (señales RA I , RBI ) o en BD (señales RAD, RB D) .

La ALU opera sumando o restando entre BD, con el que se pueden leer los contenidosde los registros A, o B, o AC, y el contenido de RT que puede ser cargado desde el registro Ao el B .

Hay que especificar cuál es el sustraendo en caso de resta ; en nuestro caso, elegimos RTcomo sustraendo. Con ello, la descripción de la ALU es :

010 --- 010 111 --- 110 100

110 --- 011 011 --- 010 000

110 --- --- --- 010 000

010 --- --- --- --- 110 100

Page 372: Electronica digital problemas_de_circuitos_y_sistemas_digitales

370 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

(RT)

out (BD)

Para obtener los valores 2A y 2B podrían utilizarse desplazamientos a la izquierda .

Aquí, sin embargo, se realizarán mediante sumas sucesivas :2A + B: se almacena A en RT y se suma RT dos veces .A - 2B: se almacena B en RT y se resta RT dos veces .2A + 2B : además de hacer lo mismo que 2A + B, se almacena

oportunamente B en RT y se vuelve a sumar .Con ello, basta que los registros posean señales de lectura y escritura, permitiendo que

ambas se activen simultáneamente (excepto en A y B para lectura sobre BD) . A y B son iguales

entre sí y RT y AC, también .

(BD)

s r0 00 11 011

out

a-ba+b

RA, RAD WA A<-- BI = BD =

RAC WAC AC4- out =

000 A HI HI

00 AC HI001 BD HI entrada

01 in HI010 A HI [A]

10 AC [ACI100 A [A] HI

11 in [AC]101 BD [A] entrada110 A [Al [Al-11 proh . proh . prohibida

Page 373: Electronica digital problemas_de_circuitos_y_sistemas_digitales

El desarrollo de cada macrooperación y su codificación es :

MISCELÁNEA 371

b) La carta ASM, señalando en ella tanto las microoperaciones como las señales a acti-var por el controlador, queda como sigue :

código X I Xp=00 XI Xp=01 X IX0 = 10 X I X0 = 11

OP . AE-2A+B AE-A-B BE-2A+2B BF-A-2B

µop l RTE-A RTE-B RTE-A RTE-B

µop2 ACE-B+RT ACF-B+RT

µop 3 AC E- AC + RT AC E- A - RT AC E-AC + RT, RTE- B AC E- A - RT

µop 4 A E- AC AC E- AC + RT AC E- AC - RT

µop 5 B E- AC

Page 374: Electronica digital problemas_de_circuitos_y_sistemas_digitales

372 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

También podrían haberse reunido los estados S3a Y S3b según se muestra :

Page 375: Electronica digital problemas_de_circuitos_y_sistemas_digitales

X

Obteniendo el controlador directamente de la carta ASM :

RBDA

Dq

91193a

q 193al

910

911

VRA I

D2

WT

q

q2q

D3a

q3b

9a

q2 1> RBI

93bq5

0

1

XI

XI x 2 x3

0 00 1

0 1 -1

1 -

XI93bC

93a0

93b1

93a1

93b D

q2951 > r

q50 -~s

F

A+13A+B+1A+BA+B+ 1

WAC

D

D

q

q q

D

93a93b

q6

MISCELÁNEA 373

q

0

WB

- q50

- q51

qDF

FIN

Solución P6 .- Si x2 = 0, tenemos que, independientemente de x 1 , se realizará la operación

F = A+B si x3 = 0, o F = A+B+1 si x3 = 1, ya que el canal seleccionado del multiplexor es el0, y éste controla la entrada de acarreo del sumador .

Si x2 = 1 y XI = 1, independientemente de x 3 , por la entrada b del sumador tenemos elcomplemento de B y la entrada de acarreo es 1 . Por tanto, la salida F = A+B+1, esto es F = A-Ben Ca2 .

Si x2 = 1 y x1 = 0, independientemente de x 3, la entrada de acarreo se encuentra a 0, yel circuito complementador deja pasar, tal cual, el dato B . Por tanto la operación de salida esF=A+B.

En resumen, si x 2 = 1 se trata de un sumador/restador según el valor de xl (0/1,respectivamente) y, si x 2 = 0, hace la suma con x 3 como acarreo de entrada .

Page 376: Electronica digital problemas_de_circuitos_y_sistemas_digitales

374 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P7.- Este sistema digital debe tener, por un lado, capacidad de almacenamiento paraun carácter de 4 bits, con el objeto de poder hacer comparaciones con los caracteres que

incidan en posteriores ciclos de reloj . Además, el sistema debe llevar la cuenta de lascoincidencias existentes, por lo que necesitaríamos un contador de cuatro estados o 2 bits . En

total, y como mínimo, necesitaremos seis biestables. No obstante, a la hora de implementar elsistema, no disponemos de contadores, sólo de registros. En este caso, utilizaremos losregistros para almacenar los caracteres en distintos ciclos de reloj . Los registros estánconectados entre sí de modo que en conjunto simulan un registro de desplazamiento de

caracteres. Sólo es necesario utilizar 3 registros ; con ellos y la entrada actual se conocen los

caracteres correspondientes a cuatro ciclos de reloj .

X3:0

R[4] R[4] R[4]

y

y

El sistema debe generar salida 1 durante un ciclo de reloj, cuando se detecte unasecuencia consecutiva de cuatro caracteres idénticos . Cuando se recibe esta secuencia, tantola entrada como los registros, contienen el mismo dato . Utilizando comparadores de magnitudse puede detectar cuándo se ha recibido la secuencia correcta . Estos dispositivos tomarán laentrada y el contenido de los distintos registros y los compara por parejas, de forma que en totalnecesitaremos 3 comparadores .

-1X3:0

a

b

R[4]

a>b a=b a<b

El

Cuando el contenido de los 3 registros y la entrada coinciden, las salidas E l , E 2 y E3

toman simultáneamente el valor 1 . La salida z la podemos construir mediante la operaciónAND de las tres salidas anteriores :

z = El . E2 • E3

Solución P8 .a) Los pesos son : d3 -* 4, d2 -* 3, d, -* 1, do -* 1 . (Se obtiene de forma inmediata : do

de código del 1 ; d 2 del 3; d3 del 4; y d l de, por ejemplo, el 2) .

R[41

b

b =b a<b

R[41

a

b

a>b a=b a<b

Page 377: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Además, el código es autocomplementable . :

SOLUCIÓN 1 :

a b c d e1100011100

b) La función XNOR(a, b, c, d, e) toma los siguientes valores :- 0 si el número de entradas a 1 es impar .- 1 si el número de entradas a 1 es par .Es suficiente con dos combinaciones de entrada para deducir qué tipo de puerta es :

NAND NOR XNORabcde

1

0

1

111111

0

0

01111

SOLUCIÓN 2

MISCELÁNEA 375

NAND NOR XNOR

0

0

11

0

0

dígito d3d2d 1dp Ca9 d3d2d ido

0 0000 9 1111

1 0001 8 1110

2 0011 7 1100

3 0100 6 1011

4 1000 5 0111

5 0111 4 1000

6 1011 3 0100

7 1100 2 0011

8 1110 1 0001

9 1111 0 0000

CÓDIGO VALOR DECIMAL

0000 0 = 0x4 + 0x3 + Ox 1 + Ox 1

0001 1 =0x4+0x3 +Ox1 + 1x1

0011 2=Ox4+Ox3+ Ixl + 1x1

0100 3=0x4+1x3+Ox1+Ox1

1000 4 = 1x4+0x3+Ox1 +Ox1

0111 5=0x4+1x3+ 1x1 + 1x1

1011 6= 1x4+Ox3+ 1x1 + 1x1

1100 7=1x4+1x3+Ox1+Ox1

1110 8=1x4+1x3+1x1+Ox1

1111 9= 1x4+ 1x3+ 1x1 + 1x1

Page 378: Electronica digital problemas_de_circuitos_y_sistemas_digitales

376 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

c) Sí, es funcionalmente completo porque se puede implementar la función NOR(NOT-OR) que lo es .

NOT (a) = á = z(a, 1, 1, . . .,1) ;

OR(a, b) = a + b = z(a, b, 0, 0, . . .,0) .Expresiones algebraicas de la función z pueden ser las siguientes :z = (x1(Dx2) + (x1Ox3 ) + (x1(Bx 4) ++ (x;Oxi) + . . .z = (x1+x2++xn)(x1+x2++xn)

Solución P9 .- En todas las representaciones númericas que se nombran en el enunciado, salvola de números sin signo, el bit de mayor peso representa el signo del número . Este bit de signopermite hacer una comparación rápida entre dos números, ya que los positivos son mayoresque los negativos . Esto, en principio, es válido si restringimos el uso del número - 0, que, exis-te en notaciones como Cal o S-M . Si comparamos el + 0 con el - 0, el resultado no debe darcomo mayor al primero, puesto que los dos números representan la misma cantidad .

Si comparamos dos números positivos o dos números negativos, tenemos que compararlas magnitudes de ambos, dando como mayor, en el primer caso, al de mayor magnitud y en elsegundo caso, al de menor magnitud .

En resumen, utilizaremos el comparador de magnitudes para los 4 bits menossignificativos de los números A y B, y nos serviremos de los bits más significativos paraactivar las salidas en caso de números de distinto signo .

Llamemos g, e y 1 a las salidas del comparador de las magnitudes A3-0 y B3-0 :

A3-0

B3-0

00

01

10

11

Sean G, E y L las señales que comparan los números con signo A4-0 y B4-0 . Podemosobtener, en función de S 1 , S0, A4 y B4 la siguiente tabla :

A4B4S~ 00

gel

gel

gel

gel

GEL

Para números sin signo, S I SO = 00, tenemos las siguientes posibilidades :a) A4B4 = 00 y A4B4 = 11 el resultado de la comparación depende de los 4 bits menos

significativos, esto es, GEL = gel.b) A4B4 = 01, el número B es mayor que el A, por tanto L = 1 .c) A4B4 = 10, el número A es mayor que el B, G = 1 .Para números en notación S-M, tenemos las siguientes posibilidades :a) A4B4 = 00, los dos números tienen el mismo signo y, por tanto, el resultado de la

01

10

11001 100 gel

100 001 leg

100 001 gel

100 001 gel

Page 379: Electronica digital problemas_de_circuitos_y_sistemas_digitales

comparación depende de la magnitud, de forma que el que tenga mayor magnitud, será el másgrande (GEL = gel) .

b) A4B4 = 01, el número A es positivo y el B, negativo, el mayor es el primero, G = 1 .c) A4B4 = 10, el mayor es el número B, por ser positivo, L = 1 .d) A4B4 = 11, los dos números son negativos y, por tanto, el mayor será el que tenga

menor magnitud, GEL = leg .Para números en notación Cal, tenemos las siguientes posibilidades .a) A4B4 = 00, los dos números son positivos: por tanto, el mayor de los dos será el que

tenga mayor magnitud, GEL = gel .b) A4B4 = 01, el número A es mayor por ser positivo, G = 1 .c) A4B4 = 10, el número B es el mayor por ser positivo, L = 1 .d) A4B4 = 11, los dos números son negativos . Hay que determinar la magnitud de ambos

para saber cuál es el mayor. Para resolver este caso, observemos primeramente un ejemplo denúmeros negativos de 4 bits en esta notación .

Apartando el bit de signo, las magnitudes de los bits restantes son tanto mayores cuandoel número es mayor . Por tanto, las salidas GEL = gel .

Por último, se puede demostrar que, para números en notación Ca2, obtenemos losmismos resultados que en Cal .

Podemos ya determinar el circuito resultante, utilizando MUX de 4 canales :go0 112

A3-0

B3-0

g

01g

3 10123 1001

3 1

0

0123 10

23 100123 10

II

0

0

3 1011

0

A4 B4

MISCELÁNEA 377

0123 10

l23 10

2

1

1

2

SISO

- 7 : 1000 - 3 : 1100- 6 : 1001 - 2: 1101- 5 : 1010 - 1 : 1110- 4 : 1011 - 0 : 1111

Page 380: Electronica digital problemas_de_circuitos_y_sistemas_digitales

378 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Solución P10 .- En el ciclo defetch (búsqueda) se debe encontrar la posición a la que apuntainicialmente el contador de programa (PC), (por ejemplo, la dirección $K) . A continuaciónbuscará la siguiente ($K+1) y, por último, la dirección $K+2 .

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 .

De esta forma, la secuencia de microoperaciones a realizar es :

Aquí termina el ciclo de fetch . Comienza, por tanto, el ciclo execute de la instrucciónLDA, que consiste en cargar el acumulador con la palabra de dirección $B043 :

AC 4- MEMORIA($B043)

Para ello :12. MARH E- RT

Pone la dirección de la palabra en el registro MAR .13. MARL 4- MDR

14. MDR 4- MEMORIA

El contenido de esa palabra se carga en MDR .

15. AC F- MDR

Desde MDR se transfiere al acumulador .

Con ello se termina la ejecución . Ahora volvería a iniciarse el siguiente ciclo de fetch .

1 . MARH - PCH

Almacena parte H de $K .

2 . MARL *- PCL

Almacena parte L de $K .

3 . MDR E- MEMORIA, PC - PC + 1

Carga "LDA" en MDR y pone PC aK+1 .

4 . IR E- MDR

Carga "LDA" en el registro IR .

5 . MARH 4- PCHSimilar a 1, 2 y 3, ahora para traer

6 . MARL F- PCL "BO" a MDR y poner PC a K+2 .

7 . MDR E- MEMORIA, PC 4- PC + 1

8 . RT 4- MDR

Almacena "BO" en el registro RT .

9 . MARH 4- PCHSimilar a 1, 2 y 3, ahora para traer

10. MARL F- PCL

11 . MDR 4- MEMORIA, PC E- PC + 1

"43" a MDR y dejar a PC apuntandoa la siguiente instrucción K+3 .

Page 381: Electronica digital problemas_de_circuitos_y_sistemas_digitales

b) Para analizar el circuito de la figura 2, construimos la tabla de verdad para cada unade las salidas de las puertas umbrales : Z2 es la de la puerta con umbral en 2, Z 1 la del umbralen 1, Z3 en 3 y F es la de la puerta con umbral en 5 y cuyas entradas son Z 2, Z 1 y Z3 . Partiendode estos datos se obtienen los siguientes resultados :

000 001

n

010

Comparados

de "n" bits

De estas tablas se puede obtener la función F(a, b, c, d, e) . Para ello, dada una combina-ción de las cinco variables, se evalúa cada una de las funciones Z2, Z 1 y Z3 y posteriormentese obtiene el valor de la función de salida del circuito F . Realizando este cálculo para todas

0 0 0 00 0 0 0

0 0 1 1

0 0 1 1

las combinaciones de entrada se obtiene el

ab 00

01

10

11

011

siguiente mapa binario :

100 101 110

MISCELÁNEA 379

Solución P11 .a) Dada la expresión de la puerta umbral en la figura 1, para su realización basta con un

comparador de magnitud de n bits que compare "A" e "i" y un inversor para obtener la salida Z .En la siguiente figura se muestra dicho esquema :

Z

111RO= 0

Ro = 0

R2 = R3R3

F

c) Del mapa anterior, usando "a, b" como entradas de selección del MUX-2 cuya salidaes la función F y diseñando el residuo R 2 con un MUX-2 de entradas de selección "c, d", sellega al circuito final que se muestra a continuación :

0 0 0 00 0 0 0

1 1 1 1

1 1 1 1

a b Z2 c d Zi e d Z3 Z2 Z1 Z3 F

0 0 0 0 0 0 0 0 0 0 0 0 0

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

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

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

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

Page 382: Electronica digital problemas_de_circuitos_y_sistemas_digitales

z

CIRCUITO

1

ac

Solución P12.a) En los mapas de Karnaugh se ven las diferencias entre la solución y la función :

FUNCIÓNESPECIFICADA

f

Los errores son que la solución considera que las posiciones 6 y 7 son mintérminos y enrealidad son maxtérminos . En cambio, en la solución las posiciones 10 y 11 son maxtérminoscuando deben ser mintérminos .

La función correcta es : f = a b + a c + á b . Por tanto, para corregir los errores, en la puer-ta central en vez de conectar b y c hay que conectar a y c . Por otra parte, es posible eliminar laconexión de la señal d en la puerta de más abajo del circuito, ya que las celdas 0 y 2 están ines-pecificadas .

ab ab

cd

00 01 11 10 cd\ 00 01 11 10

00 0 1 0 00 d 0

01 1 0 1 0 01 1 0 d 0

11 1 1 1 0 11 1 0 d 1

10 0 1 1 0 10 d 0 1 1

380 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

\d 00 01 10 11e 11 1

00 1 1 2

T 21

1 0 1 1 1 310 310

Residuosde R 2 :

0

1

1

1 IIaIIbc d

Otra solución de menor coste es :

0 00 1

Fd 2

Page 383: Electronica digital problemas_de_circuitos_y_sistemas_digitales

b) Llamando a las señales internas del circuito como se muestra en la figura :

c

d

1

1

L= bL-

M=b

N=L

El diagrama de ondas queda de la siguiente manera :

50 ns

b

M=L

~5 n$~

5nsi

N

-4 _4--

--4 '1--

- 4 1-5ns

5 n

n

z

s

MISCELÁNEA 381

z=MN

Esto es, z presenta un azar (estático) de 5ns de duración, que aparece l Ons después delcambio de bajada en b .

Solución P13 .- Los estados de la carta ASM serían los siguientes :Estado A: se han detectado tres o más "0" ; si x = 0 se activa "z" y se permanece en A ;

si x = 1 se pasa a B .Estado B : estado en el que se ha detectado el primer "1" .Estado C : estado en el que se ha detectado "11" .Estado D : estado en el que se ha detectado tres o más "1 " . Si x = 1 se activa z y se per-

manece en D; si x = 0 se pasa a B .Estado E : estado en el que se ha detectado el primer "0" .Estado F : estado en el que se ha detectado "00" .

Page 384: Electronica digital problemas_de_circuitos_y_sistemas_digitales

382 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Con lo que la carta ASM queda:

Ck

X

z

S

La forma de onda y la secuencia de estados son :

C ( . .11)

z

?

? B C D

0

A ( . . .000)

D ( . . .111)

B ( . . I )

E ( . . .0)

F ( . . .00)

F A

B C D D D E

Solución P14 .- La resolución del problema puede efectuarse utilizando una representación dela información que aporta la tabla del enunciado sobre un mapa de Karnaugh . En esta tablaaparecen expresiones de dos implicantes primas y faltan por conocer expresiones de las otrascuatro (B, D, E y F). Además, aparecen todos los mintérminos menos dos (c l y c2) . Con losmintérminos conocidos el mapa queda como sigue :

Page 385: Electronica digital problemas_de_circuitos_y_sistemas_digitales

=..o.....am....=

MISCELÁNEA 383

Implicante A = b d : Vale 1 cuando b = 0 y d = 0. Son las posiciones 0, 2, 8 y 10 sobreun mapa de Karnaugh . Como 0, 8 y 10 son mintérminos de f y esta implicante no cubre ni ác 1 ni a c 2 , en la posición 2 del mapa hay una inespecificación, d .

La implicante prima B cubre al mintérmino 0 y a c l . Además, B es la única implicanteque cubre al mintérmino c 1 , de forma que no puede agruparse con ningún otro mintérmino dis-tinto del 0 . Por tanto, el mintérmino c 1 sólo podría estar o en la posición 1 ó en la posición 4del mapa .

La implicante C = bcd cubre sólo a los mintérminos 7 y 15 .La implicante D cubre al 15 y a c2 . Por lo que c 2 tiene que ser adyacente al 15 y, por

tanto, sólo puede ser el 11 ó el 13 ó el 14 . Como no existe ninguna implicante prima que cubrani al mintérmino 10 ni a c2 , no pueden ser ni el 11 ni el 14 (ambos adyacentes del 10) . Portanto, c2 es el 13 .

La implicante E cubre al mintérmino 8 . Como es implicante prima debe cubrir, además,alguna inespecificación . Esta puede estar en celdas adyacentes al 8, esto es, en el 9 ó en el 12 .

La implicante F cubre a c2 = 13. Además, debe cubrir alguna inespecificación que podráestar situada en las celdas 5 ó 9 ó 12 . Si la celda 5 fuese inespecificación, la implicante C nosería prima. Por tanto, sólo puede estar en la 9 ó 12 .

Con lo que hemos deducido el mapa queda como sigue :

d?

UResta por determinar si el mintérmino c 1 es el 1 ó el 4 y si hay inespecificación en el 9

ó el 12 . Existen dos soluciones posibles .La primera es considerando que c 1 = 1 . En este caso, la inespecificación está situada en

la celda 12 . El mapa quedaría de la siguiente manera :

Page 386: Electronica digital problemas_de_circuitos_y_sistemas_digitales

384 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

a LU]

~..~La segunda es considerando que c 1 = 4 . En este caso, la inespecificación está situada en

la celda 9 . El mapa quedaría de la siguiente manera :

_L-0CJ

00 01

11

10B=(0,1) =aEcD=(13,15)=abdE=(8,12) =acdF=(12,13) = a b c

f =1(0,1,7,8,10,13,15)+ d(2,12)

B=(0,4) =ácdD=(13,15)=abdE = (8,9) = a E cF=(9,13) = a c d

f = 1(0,4,7,8,10,13,15)+ d(2,9)

b) Para la primera solución, las expresiones óptimas en forma sp y ps son :

fsp = bd + a-bc + bcd +abd

fps = ( b+d) (a+b+c) (a+b+c) (á+b+d)Como las expresiones mínimas sp y ps tienen el mismo coste, ambas son óptimas .

Solución P15.- El comportamiento del perro puede emularse mediante una máquina secuen-cial, de la siguiente forma :

- Estados de entrada .Son las acciones que se pueden hacer al perro . Existen 4 posibles estados de entrada :

Jo : Darle un hueso .1 1 : Quitarle un hueso .12 : Amenazarle .13 : Nada.

- Estados de salida .Son las posibles acciones del perro :

Op: No muerde .01 : Muerde.

Page 387: Electronica digital problemas_de_circuitos_y_sistemas_digitales

- Estados de la máquina .Son los estados del perro :

T: Tranquilo .1 : Irritado .A: Asustado .IA: Irritado y asustado .

Como el perro muerde (O 1 ) si y sólo si está irritado y asustado (IA), la tabla de estadossigue el modelo de Moore. La tabla se obtiene directamente del enunciado y se muestra en lafigura:

Q1Qo=D1D0

T

I

A

IA

lo 1 1 1 2 13

Se aplica el método exhaustivo para la asignación de estados ya que es una máquina desólo 4 estados . Las posibles asignaciones son las siguientes :

Los cuatro estados de entrada se codifican mediante dos entradas de forma que se tiene11 (13 ) . Entonces, las tablas de transición/salida :

ASIGNACIÓN II

NS

X I Xo

g1go

T=00I=01

IA=11

A=10

Q1Qo=D1Do

Z

00

00

00

01

ASIGNACIÓN III

MISCELÁNEA 385

Q1Qo=D1Do

T 1 A T

T I IA 1

T IA A A

T IA IA IA

00 01 11 10 Z

00 01 00 10 0

00 01 01 11 0

00 11 11 11 1

00 11 10 10 0

X1X0: 00 (I 0 ), 01 (I 1 ), 10 (I2 ),

ASIGNACIÓN 1X 1X 0

q1g

00 01 11 10 Z

T=00 01 11 0

I=01 00 01 01 10 0

A=11 00 10 11 11 0

IA= 10 00 10 10 10 1

X IXO

glgo

00 01 11 10 Z

T=00 00 11 00 10 0

IA=01 00 01 01 01 1

I=11 00 11 11 01 0

A=10 00 01 10 10 0

Estados Asignaciones de coste distinto1 II III

T 00 00 001 01 01 11A 11 10 10IA 10 11 01

Page 388: Electronica digital problemas_de_circuitos_y_sistemas_digitales

386 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Utilizando biestables D las tablas de excitación son las mismas que las de transición . Deellas se obtienen las ecuaciones de excitación/salida, para cada asignación :

Para la asignación 1 :

D 1 = Xog l + X1 X0

Do = X 1X0g 1 +X 1X0go +X 1 g 1 g0 +X 1XDg 1 g0

Z=g 1 go

Para la asignación II :

D 1 = X0g 1 +X 1 X0

Do =X 1 X0 +X 1 80Z= g1g0

Para la asignación III

XX

X

D 1 =X 1 X0 •g0 +X 1 .X0 .g 1 +X0 .g 1 •q0 +X 1

Do - X 1 X0 +X 180

Z=q 1 •q0

La solución de menor coste es la segunda (II) .

D1

xlX

X0 • q 1 •q0

Solución P16.- Supongamos que Z = 1 indica que el número B es más cercano que C, alnúmero A; y Z = 0, indica que C está más cerca .

La salida Z la podemos obtener a partir de un comparador de magnitudes, cuyas entradassean las distancias de los números B y C, al A .

IA-BI

IA-CI

D0

Page 389: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Ahora debemos obtener el circuito que realice las operaciones ¡A-B1 y ¡A-CI . Ladefinición del valor absoluto de A-B es la siguiente :

A - B si A>B

A --, -nB

Si el número A es mayor que el B, entonces ¡A-B1 = A-B . En el circuito anterior, si secumple esta condición, se escoge el canal 1 de los multiplexores, por lo que el restador den bitsrealiza la operación A-B .

Si el número A es menor que el B, ¡A-B¡= B-A . En el circuito anterior se escogen loscanales 0 de los multiplexores y el restador calcula B-A .

Repitiendo esta estructura para ¡A-CI, nos queda el circuito siguiente :

Y

x

y

x>yx=yx<y

IA-BI =B-AsiB>A

De interpretar la expresión anterior podemos deducir los elementos que necesitaremospara el diseño del circuito . Por un lado un restador que, en función de la comparación de losnúmeros A y B, realice A-B o B-A ; comparadores de n bits y multiplexores de buses para laselección del substraendo y el minuendo .

B

o

MinuendoA RESTADOR

Sustraen d o

MinuendoRESTADOR

Sustraendo

MinuendoRESTADOR

Sustraendo

¡A-B¡

¡A-Cl

MISCELÁNEA 387

y

IA-BI

x x>y--x=y-x<y

B

Solución P17 .- Cuando Start = O, los biestables D se ponen a 1 de forma asíncrona . Los biesta-bles D, tras un pulso Start, operarán con cada flanco negativo de W según la secuencia :

w

BAA

A

Bx x>y

x=yy x<y

-7n-

Cn

A

C

AAC

x>yx=yx<y

~-n

--/--n

Page 390: Electronica digital problemas_de_circuitos_y_sistemas_digitales

388 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

puesto que D x = Y y Dy = X .Si X + Y = 1, los tres biestables JK tienen como entradas JK = 1 1 y operan como un

contador de rizado (A es el menos significativo) .Si X + Y = 0, el biestable A tiene J AKA= 00 y no cambia de estado por lo que ningún

otro biestable JK cambia de estado .W = B + C produce un flanco negativo (de 1 a 0) cuando B •C pasa de 0 - ó - 0 a 11 .De todo lo anterior se obtiene la siguiente secuencia de señales :

Start L ICLK

A

B

C

X I

Y J

Z J

w

Solución P18 .a) Queremos conseguir una memoria de 16 líneas de entrada con dos señales de control

independientes para lectura y escritura. Para ello, tenemos que relacionar las nuevas señales decontrol con las correspondientes a cada una de las memorias de las que partimos por separado .Mostramos el siguiente diagrama de bloque y la relación entre las distintas señales :

a14-0

CS R/W

a12-0

CS RIW

32Kx8 8Kx8

Para resolver el problema, primero determinamos la relación entre las distintas señalesde control de cada una de las memorias . Para ello, seguimos la siguiente tabla :

R W

0 0 Inhibición

0 1 Escritura

1 0 Lectura

1 1 Prohibido

Page 391: Electronica digital problemas_de_circuitos_y_sistemas_digitales

De dicha tabla puede deducirse la siguiente relación :

R/W1 = R/W2 = R .

A continuación se resuelve el mapa de memoria . Para ello colocamos la memoria de32K en las primeras posiciones del mapa y la otra memoria de 8K a continuación de ésta . Así

ocupamos los 40K que nos pide el problema .

A15 A14 A13

Una posible solución para el circuito de decodificación es el que se muestra acontinuación :

MISCELÁNEA 389

La puerta NOR (R,W) habilita los decodificadores de memorias si hay acceso (RW = 01o 10) e inhabilita dichos decodificadores si no hay acceso (RW = 00) .

Para la señal CS2 se ha utilizado un decodificador 2:4 dejando así libres las líneas 1, 2y 3 de salida para posibles expansiones del circuito . Si se desea reducir el coste se puedeeliminar dicho decodificador y poner en su lugar una puerta OR (m, A14 , A13) donde m es lasalida 1 del decodificador 1 :2 .

0 - - Mi

1 0 0 M2

111

011

101

Vacío

R W CS CS2 R/W R/W2

0 0 1 1 * : según el mapa de diseño que haremos0 1 * * 0 0 a continuación .

1 0 * 1 1

1 1

Page 392: Electronica digital problemas_de_circuitos_y_sistemas_digitales

390 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

A14-A13

- CS2

b) Analizamos las palabras que se leerían de las memorias si en el bus externo de datoscolocamos las siguientes direcciones :

M2c) Para poder acceder a la dirección $7531 de M 1 tenemos que poner A 15 = 0 y así se-

leccionar dicha memoria . Para el resto de las líneas de entradas A 14 - A0 = $7531 . Por tanto,la dirección que se necesita fijar en el bus externo es A 15 - A0 = $7531 .

De forma análoga, para acceder a la palabra $0246 de M2 tenemos que fijarA15 A14 A13 = 100 y el resto de las líneas tomarían los valores siguientes :

A12=0yA 11 -A0 =$246 .Por tanto, uniendo todos los valores de las 16 líneas que componen el bus externo, la

dirección que necesitamos colocar en dicho bus para acceder a la que nos planteamos esA15 - A0 = $8246 .

A 15 - A0 = $FOCA A15 A14 A13 = 111 No hay palabra física seleccionada .A 15 - A0 = $4342 A15 =0 Acceso a M 1

A14 - A0 = $4342 Se accede a la palabra $4342 de M 1 .A15 - A0 = $9CAD A15 A14 A13 = 100

A12 Al 1 - A0 = $1 CADAcceso a M2Se accede a la palabra $1 CAD de

Page 393: Electronica digital problemas_de_circuitos_y_sistemas_digitales

BIBLIOGRAFÍA

Nuestro propósito aquí es citar un pequeño conjunto de textos, a través de los cuales se puedenalcanzar dos objetivos: 1) que el lector pueda estudiar en ellos la teoría de la materia que seaplica en este libro ; 2) que en ellos se aporten suficientes líneas y enfoques como para que ellector pueda profundizar en los aspectos que desee o necesite . Somos conscientes de que puedehaber otras selecciones apropiadas, pero confiamos en que la que ahora damos sea suficiente-mente adecuada.

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, lo que garantiza elprogreso en cualquier línea . Nosotros hemos tenido que seleccionar los que consideramos me-jores. En cuanto a la materia correspondiente al nivel RT la situación es bien distinta . Aunqueel número de autores que la tratan va aumentando cada vez más, todavía no está adecuadamen-te delimitado el cuerpo de doctrina . De aquí que esta materia se encuentre mucho menos es-tructurada en los libros existentes .

Los fundamentos matemáticos (Capítulos 1, 2 y, en parte, el 6) suelen estar bien presen-tados tanto en los textos más recientes [Garc92, Haye96, Llor96, Mano9l, Nels95, Sand90,Wake94], como en otros más clásicos [Cava86, Givo70, Haye86] . En cualquiera de ellos pue-den estudiarse la mayor parte de las cuestiones de estos temas . Para profundizar, en particular,la codificación binaria está ampliamente estudiada en [Garc92] ; un tratamiento elegante, sim-ple y riguroso del álgebra y de las funciones de conmutación se da en [Givo70] ; los aspectosrelacionados con la aritmética del computador se desarrollan ampliamente en [Cava86] ; y unbuen equilibrio se encuentra en [Haye86/96, Nels95, Wake94] . Además, para ampliar conoci-mientos sobre funciones especiales puede estudiarse [Unge89] .

En el bloque relativo a los circuitos combinacionales, nuestro Capítulo 3 dedicado alanálisis lógico (incluyendo circuitos sólo NAND (NOR)) y temporal (incluyendo azares) estábien tratado en [Garc92, Katz94, Mano91, Nels95, Wake94] . El diseño de circuitos a nivel depuertas (Capítulo 4) está tratado mediante mapas de Karnaugh en todos los textosmencionados; en [Givo70, Mano9l, Nels95, Wake94] se da una visión más acorde connuestros contenidos, incluyendo el método de Quine-McCluskey, las diferentes formas deimplementar expresiones sp o ps e incluso las realizaciones con puertas XOR . Para el lectorinteresado, el diseño ayudado por computador (CAD) puede encontrarse en [Haye96, Katz94,

391

Page 394: Electronica digital problemas_de_circuitos_y_sistemas_digitales

392 PROBLEMAS DE CIRCUITOS Y SISTEMAS DIGITALES

Nels95] y sobre todo [Hi1193] . Los distintos subsistemas combinacionales (Capítulo 5) sedesarrollan en [Garc92, Nels95, Sand90, Wake94] . En el Capítulo 6 se abordan los circuitosaritméticos, materia que está bien desarrollada en [Garc92, Katz94] y sobre todo en [Nels95,Wake94] .

Los circuitos y subsistemas secuenciales constituyen el siguiente bloque . En relación alCapítulo 7, los elementos más básicos (biestables) están muy bien tratados en [Haye96,Katz94, Nels95, Unge89, Wake94] ; la descripción mediante máquinas de estados finitos y elanálisis de circuitos tanto a nivel de estados como a nivel temporal se desarrollan en [Garc92,Haye96, Mano9l, Nels95, Wake94] . El diseño de circuitos secuenciales síncronos(Capítulo 8) está bien presentado en [Katz94, Nels95], los cuales incorporan técnicas de CAD,encontrándose los aspectos ligados a la optimización del circuito (reducción de estados,asignación, elección del biestable) en [Haye96, L1or96, Mano91, Sand90] . En cuanto alCapítulo 9, dedicado a los subsistemas secuenciales, estos se explican adecuadamente en[Katz94, Mano91, Nels95, Wake94], destacando su uso en el diseño en [A1mo94] . Por último,el tema de nuestro Capítulo 10, memorias semiconductoras, está muy bien presentado en[Haye86], teniendo también un adecuado desarrollo en [Garc92, Haye96, Mano9l l .

Los Capítulos 11 y 12 tratan los sistemas digitales a nivel RT. Las principalescuestiones, abordadas con un enfoque más o menos genérico, pueden estudiarse en [Gree86,Hi1193, Katz94, L1or96, Lync93, Mand9], Mano9l/91b, Pros87, Taub83, Unge89] .Concretando más, la descripción a nivel RT se presenta bien en [Mano9lb] ; la interconexiónentre registros, en [Katz94] ; las cartas ASM, en [Gree86, Mano9l] ; un lenguaje dedescripción, en [Hill93] ; estrategias de diseño de unidades de control, en [Gree86, Katz94,Mand91, Mano91, Taub83] ; y un enfoque general especialmente bueno en [Katz94, Lync93] .Además, se pueden encontrar ejemplos de sistemas digitales específicos en [Pros87, Unge89] .Asimismo, con un enfoque dirigido a los computadores, bien "sencillos" bien comerciales,están [Haye86/96, Llor96, Taub83] .

[A1mo94] G. Almonacid et al . : "Circuitos digitales programables por el usuario " . Univer-sidad de Granada, 1994 .

[Cava86] J.J.F. Cavanagh : "Digital computer arithmetic : Design and implementation ".McGraw-Hill, 1986 .

[Garc92] J .E. García et al . : "Circuitos y sistemas Digitales " . Tebar Flores, 1992 .

[Givo70] D.B. Givone : "Introduction to switching circuit theory " . McGraw-Hill, 1970 .

[Gree86] D. Green : "Modem logic design " . Addison-Wesley, 1986.

[Haye86] J.P. Hayes : "Diseño de sistemas digitales y microprocesadores " . McGraw-Hill,1986 .

[Haye96] J .P. Hayes : "Introducción al Diseño Lógico Digital " . Addison-Wesley, 1996 .

Page 395: Electronica digital problemas_de_circuitos_y_sistemas_digitales

BIBLIOGRAFÍA 393

[Hi1193]

F.J . Hill and G .R. Peterson : "Computer aided logical design with emphasis onVLSI " . Wiley, 1993 .

[Katz94] R.H. Katz: "Contemporary Logic Design " . The Benjamin/Cummings PublishingCompany, 1994.

[Llor96]

A. Lloris y A. Prieto : "Diseño Lógico" . McGraw-Hill Interamericana, 1996 .

[Lync93] M . A. Lynch : "Microprogrammed State Machine Design " . CRC Press, Inc ., 1993 .

[Mand91] E. Mandado et. al . : "Sistemas electrónicos digitales " . Marcombo, 1991 .

[Mano91 ] M.M. Mano : "Digital design " . Prentice-Hall, 1991 .

[Mano9l b] M.M . Mano : "Ingeniería computacional. Diseño del harware " . Prentice-Hall,1991 .

[Nels95] V.P. Nelson et al . : "Digital Logic Circuit Analysis and Design" . Prentice Hall,1995 .

[Pros87] F.P. Prosser and D.E. Winkel : "The art of digital design : An introduction totop - down design " . Prentice-Hall, 1987 .

[Sand90] R.S . Sandige : "Modem digital design " . McGraw-Hill, 1990 .

[Taub83] H. Taub : "Circuitos digitales y microprocesadores " . McGraw-Hill, 1983 .

[Unge89] S.H. Unger : "The essence of logic circuits " . Prentice-Hall, 1989 .

[Wake94] J .F. Wakerly : "Digital Design: Principies and Practices " . Prentice-Hall, 1994 .

Page 396: Electronica digital problemas_de_circuitos_y_sistemas_digitales

Se trata de un libro de problemas resueltos en el campodel Diseño Lógico . Ha sido diseñado para enseñar cómose aplican los conceptos y herramientas a casos concre-tos, empleando los conocimientos previos adquiridos porotras vías y resolver así problemas aplicados al respecto,potenciando las capacidades de aplicación de la teoría .

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,representaciones binarias de números y su aritmética,codificación binaria . . .

Presentación, análisis y diseño de circuitos combina-cionales y secuenciales, a nivel de conmutación .

• Descripción y realización de sistemas digitales a nivelde transferencias entre registros (RT), organizando elsistema de una unidad de procesado de datos y otrade control .

La metodología aplicada en el diseño del libro pasa porla inclusión de dos tipos de ejercicios: aproximadamente,la mitad de ellos están resueltos con detalle, sobre loscuales el lector aprenderá la metodología de su resolu-ción, y los restantes son ejercicios propuestos con la solu-ción indicada . Además se sigue una metodología bottom-up,es decir, los problemas se organizan en orden creciente dedificultad .

ISBN: 84-481788448 1096609