sta obra mmce una clara inwodaKcibn a ios pmmpmdel diseño lógico digital. A diferencia de otras &ras simiiares, la mayor parte de los temas se presentan desde una perd ploratoria a semejanza de u de investigacibn, cuyo o b j tivo cmsiste en descubrir y conocimientos sobra el tema expuesto. Asi, a t abordar un 1 0, siempre se intenta que los estudiantes comprendan su importancia y se invducren en el descubrimiento de los conceptos. Características Se incluyen abundantes ilustraciones, ejemplos y ejercicios para cada tema con los cuales el estudiante puede reforzar y aplicar
los conceptos vistos en la obra. Al final de cada capitulo, el lector encontrara una serie de pro-
: S b l e m a s que van desde una aplicacien. muy rencilla de los proce.s5imMtos formulen e! t4xb hasta la soluci6n de otros m6s = comphjos y de mayar difi-qttad, 5e ha elegido el kngtiajc:&~€~ pwa presentar lar tenguaj~cda dascripEioln en hardware (HDL) como una herramienta de diJcm8 Cgt esto se r0dYáf4l esfuerzo de los estudiantes para aprender 6jl&-i In p r d e concentrarse en los tbtireptor rubyaantes d r'--"-con -- HDL.
-.
Principios de diseño lógico digital
Principios de Diseño Lógico Digital Norman Balabanian Universidad de Florida
Bradley Carlson Symbol Technologies, Inc.
Grupo k-t-dro Diogonai B5A l io 26-115Polc C'iib Far (57 1 1 1187627 Telefonos 2570895 63581 37 * A P g3925 Bcgo'o D TColombia a e-mail.info!>r-l-dru ........., .....
...................................
.
www.k-t-dra.com
\
Para establecer comunicaclón con nosotros puede hacerlo por:
m
correo:
Rmnacimlinto 180. Col. San luan
nihui-, h c a p o m l c o , 09100, MBxlco, D.F.
fax pedldos: (OIS] 561 4063 561 5231
Tttulo original de la obra: Di~itaILogic Dmign Principles / Norman Balabanian. Bradley Carlson
1SBN:0-471-2935 1-2 Copyright O 2001, John Wiley & Sons, lnc. Al1 Rights Reserved Traducción autorizada de la edici6n en inglts publicada por John Wiley & Sons, Inc.
Direcci6n editorial: Javier Enrique Callejas Coordinadora editorial: Elisa Pecina Rosas Diseño de interiores: Guillermo Roddguez Luna Diseño de portada: Perla U p e z Romo Traducci6n: Ing. Gabriel Nagore Cdzares Revisión técnica:
Dr. CuauhtCmoc Carbajai Fernhndez Profesor investigador del Depto. de Eltctrica y Electrhnica ITESM-Campus Estado de Mbxico Principios de didio lógico digitol Derechos reservados respecto a la edici6n en espaíiol: 8 2002, GRUPO PATRIA CULTURAL, S.A. DE C.V. bajo el sello & Compañia Editorial Continental Renacimiento 180, Colonia San Juan Tlihuaca, Delegaci6n Azcapotzalco, Código Postal 02400, Mtxico, D.F.
Miembro de la Cirnara Nacional de la Indiistna Editorial Registro núm. 43 ISBN 970-74-0256-5 Queda proliibida la reprtiduccihn ii rdnsniisi6n total o parcial del contenido de la presenle obro en culiirsquiea formas, sean electr6nicas o mecánicas. sin el consenijmiento previo y por escnto del editor.
Impreso en México Printed in Mexico
Primera edicihn: U)U2
Esta obra se krmini5 de imprimir en marzo del 7002 en los talleres de Litugrifica INGRAMEX, S A . de C.V Centeno No.162 Local 1, CuI. Granjas Eirneraldd C.P.098
10. Mtnico. D.F.
-- ---
....*--.
l... X u..
-__
-
Prefacio
LS32ikIN.1:
3 EL LIBRO
~ Q -1 3a ~ avals*nrilP.ln s
v 3 3 ~ 0 1 1 a i a
Éste es un libro de nivel introductorio sobre los priticipios de diseño 16gico digjtal. Se dirige a estudiantes de primero y segundo año de ingeniería elkctrica, ingeniería electrónica, ingeniería en computación o ciencias computacionales. Nu se requieren conocimientos previos de circuitos eltctricos o de electrónica. También lo enconbwhn Útil los lectores que necesiten abordar p r primera vez o revisar los principios del diseño digital.
Aspectos pedagógicos
n mano del
:M)?
iMEX,S.A. de C.V. ranjas Esmeralda
D.E
El proceso deductivo -la aplicacilin de principios generales a casos específicos- siiele ilustrarse adecuadamente en los libros de texto. A menudo, el autor aniincia un concepto general ci un upecto de un tema o resultado, seguido de ejemplos de aplicación del concepto. Cuando los estudiantes inician un tema, ni) tienen muy claras las ideas que iiiotivan una definicidn o un procedimiento general. Tampoco comprenden la utilidad o interés que reviste un tema, o su trascendencia. En este libro, adriptamos un enfoque inductivo en la presentaci6n del material, que incluye la formulación de un resultado generalmente vilido a partir del estudio de casos específicos, como el ptncedirniento que sc seguiría en un proyecto de irivestigación. Un investigador llega a un resultado por lo general valido después de varios experimentos o cáiculos específicos. Algunas veces el estudio de uno o inás casos específicos cnnduce a una conjetura generalmente válida. Postenormente, la conjeturri se analiza y justifica utilizando resultados establecidos con anterioridad. De modo siniilar, presentamos la mayor parte de los temas desde una perspectiva exploratoria, en vez de ofrecerlos a1 lector sin ninguna justificación. La exposición del texto se asemeja a un proyecto de investigación, cuyo objetivo consiste en descubrir y asimilar conocimiemos sobre 21 terna que se estudia. Al abordar un tema, se realiza un esfuerzo considerable para contribuir a que los estudianres eiitjeniiiin por qué le debemos dedicar tiempo. Una vez qiie se agota uri tenia (esto es, cuando necesitamos p a r al siguiente), se analizan las alternativas: "Podemos hacer esto o aquello", y el comentario pridría prosegiiir: "intentemos priinero lo siguiente, por las siguientes razones". Por yu& seguir un hilo particular y cúmo podría presentarse un proccdimiento, son cuestiones tan importantes como aclarar al estudiante los detalles del procedimiento o de la aplicacihn de cierto algoritmo. Cuando un teinri. como el de las circuitos digitales, alcanza un nivel avanzado un libro de texto tiende a adquirir caracten'siicas enciclopédicas: se abnrdn todo tenia concebible. Estc cnfrique oculta al estudiante el juego del descubrimiento. Se le brinda la historia completa y se le iiidica qué aprender de ella, practicando cori los ejercicios y prohleinas plaritzados en et libro. En este texto. riatamos de evitar el rrrrii de catalogar todo lo que sabemos sobre el tema. En los problemas planteados en el texto, drj;irni)sa los estudiantes el placer de generar (de manera guiiida) resultadcis que no son esenciales para continuar con el tema. por lo que no es necesario que foririen panc de la exposición. Sabemos que los estudiantes aprenden mejor si están cctiniprometidos. No hay rnuchii que los autores puedan hacer para rnnntenerlris así, aunque insistimos en que participen en la deducción de una ecuacirSn cornplelando pasos omitidris, pidiéndoles que ohcerven los rasgos relevantes de un diagrama o tabla que e1105 describzn de manera cuidadosa, o solicitándoles que analicen un plan propuesto antes de llevarlo a cabo con detaile. Con Frecuencia recurrimos a estos procedimientos.
v
VI
Prefacio
Nivel de presentación El material de este libro es introductorio, para priiiiero o segundo año de universidad. Sin cmbargo, et nivel de un libro no debe dictar el grado de rigor en la presentación. Todo tema del l i bro se trata rigurosamente.
Selección de temas La seleccidn de los temas fue la usual. La selecci6n y el orden de los temas facilita el uso del libro en instituciones con diferentes calendarios y una diversidad de enfoques. El libro puede utilizarse en cursos que abarcan un año académico, ya sea de dos semestres o tres cuatrimestres, especialmente si se presia aienci6n a la sección relativa al laboratorio (vea la descripción del manual del laboratorio). Mediante la selecci6n adecuada de capítulos y temas de cada capitulo, es posible adaptar un curso de un semestre. Los temas "supleiiientarios" se presentan en secciones que los profesores pueden omitir sin que incurran en una falta. Las secciones o problemas finales que se hrisan en este material se pueden omitir también si se desea. La inclusibn de material de este tipo permite a los estudiantes con mAs tiempo o iiiteres beneficiarse sin iifectar n los demás. La elecci6n de ABEL para aprender un lenguaje de descripci6ii de hardware (HDL) corno herramienta de diwño, reduce el esfuerzo de los estudiantes para aprenderse el lenguaje, lo que les permite concentrarse en los conceptos de diseño con un HDL. Todos los conceptos de la especificación, simulaci6n y sintesis HDL pueden enseñarse utilizando ABEL; así, el estudiante no tiene necesidad de aprenderse la sintaxis y la semhntica de un lenguaje complejo como VHDL o Verilog.
Esquema de numeración de ecuaciones y figuras En ocasiones es posible que algunos esqiicmiis de numeracion de secciones, ecuaciones y figuras, ¿\sicomo las remisiones a ellas, distraigan al estudiante que dedica tiempo de manera improductiva a la búsqueda y lectura de los números. En este libm utiljzunos un sistema de numeracihn iecuencial, que se inicia en cada capítiilci, tanto para las ecuaciones como para las figuras. (Cuando se haga referencia a una ecuación de un capitulo anterior, también se indíca el número de capitulo.) De manera similar, las secciones principaIes de un capitulo se enumeran de mane ra consecutiva, sin indicar el capítulo, pem las secciones secundarias y tercianas no se enumzran; a\< se evita la lectura improduciiva de números de sección tales como 4.3-5, que identificiin la subsecciún 5 de la sección 3 del capítulo 4. Es rara la referencia a una de estas siibseccioncs particulares. si es que se llega a hacer en algún libro; por consiguiente, no se otorga valor alguno a un esquema de numeración de este tipo. No se enumeran todas las ecuadones. sino slili) tac importantes o a las ilur se hace referencia más tarde. Cuando nos referimos iina ecu~cihno a una figura, la indic;unuc con cl tdmiino ecuación oj5gura.
Ilustraciones, ejemplos, ejercicios y problemas Al explicar un tema, se emplean ilustraciones para aclarar,lo. En reatidad. una ilustración podría preceder a la explicación del tema como parte del proceso de inducciiin. Las ilustracion~sse incorporan de ese modo en la presentación del material. %mbidn hay ejeniplos numerados, separados del teato y ficilmente distinguibles, los cuales sr. abordan utilizando los conceptos que acaban de pliintearse, junto con otras ideas recientemente asimiladas. A lo largo de la exposición y con un formato que 10s distingue del texto. se encuentran los ejercicios nunierados que los estudiantes deben resolver en el tiempo en que estudian las seccio-
;in em-
del li-
i
uso del puede tnmesripción a capíltan en o pro1
:lusión n afeccomo
lo que e la esidtante 1 como
iguras.
iroduc-
:ración iguras. itimero manemnume-
.tifican ciones r algiid o las hn ii a
pdria . sc in-
sepa3s que
,
Iris rccio-
nes iinprtantes. El objetivo de estos ejercicios consiste en reforzar los conceptos que se estudian, invitando a los estudiantes a que efectúen algunos cBlculos sitriples y apliqueii después los resultados explicados. Éstos forman parte de la idea del proy~crode investigaciriri. Los requerimientos de excitación para un tipo de Mp-flop prdrían formularse dentro del rextri, por ejemplo: Iiis requerimientos de exciiación para otros tipos de flip-flops se dejan como ejercicio a los esiudian[cs. Cuando resulte de utilidad. se ofrecen las respuestas a fin de que los estudiantes confirmen los rcsuLtados de sus esfuerzos. (Lil mayoría de las veces. en especial si las respuestds son breves y por ello fáciles para que los estudiantes les den un vistazo dentro del texto, éstas ie presentan al pie de Itls páginas.) Los ejercicios na sólo requiere11 la repeticihn de los pasos de un ejemplo analizado, cambiando valores » cnrifiguraciones de circuito. Por consiguiente, no hay necesidad de ofrecer ejeniplos analizados antes de soliciti a los estudiantes que resuelvan iin ejercicio. Al final de cada capitulo se incluye una serie de prahl~tnas.Los problemas de cada serie van desde la simple aplicación de prricedimientos formulada e n el libro, hasta la solucióii de problemas mis crimplejos, o de gran utilidad. Algunas veces un problema requiere que los estudimtes apliquen una técnica específica. En otros casus se les pide que resuelvan un problema utilizando dos o rnás enfoques y que comparen el grado de dificultad. En anibos casos, practican técnicas específicas y refuerzan el dominio de ellas. A veces el prublema es abierto de nianera que los estiidinnres tomen decisiones en torno a los métodos que aplicaran.
Complementos del texto Hay dos paquetes de complementos. Uno se facilitii ii los profesores que adoptan el libro en sus cursor. el cual no se encuentra disponible para los estiidiantes. Incluye un manual que contiene las sc~luciciriescompletas de los problcmas eii el libro. También incluye un cniijunto de transpiirencias de figuras de la obra. Éstas se amplían de manera que los profesores. tengan la posibilidad de utilizadas e n el salón de clases. El otro paqiiete corista de un manual de laboratorio. Aunque en iicaairities el libro se hace rrfrrencia a familias específicas de circuitos digitales (por ejemplo, 73LSO7), el interés principal se centra en los principios de diseño. El maniinl de laboratorio persigue involucrar a los esrudiantes en la ~ r á c t i mdel disefiu digital, utilizando lo último en la tecnología de qiie se dispone en la actualidad. En algunas paries del libro, indicamos la forma de incorporar proyectos de diseño específicos del manual. Aunque algunos estudiantes quizá aprendan diseño digital con otros textos, también pucden utilizar este manual de laboratorio para adquirir experiencia en la prActi
rclativa al manual del Iabnratono, visítese el sica del diseño digital. Si sc desea más inforriiacion t ir) web del texto (http://www.wilcy.c~mícollege/eleclhalabania293S 12).
SOFTWARE Kecomendainos desde
el principio el usa de entradas esquemáticas. asi como dc simulación temporal y funcional en el labriratcirici (incluso con rxprtimentos o prScticas de laboratorio simples). Se puede ~itilizarel softwxc Yilinx WebPack, el cual se obtiene gratuitarnenir e n el sitio web Este software apoya la versión mris reciente de AB EL, de rnoXiliiix ~hrtp:llwww.xilinx.com). do que al llegar al capítulo 8 los estiidiantzs estarán f a m i l ~ u ~ ~ i icon d o sla intcrfm de usuario.
RECONOCIMIENTOS Quisiéramos dar nuestro agradecimiento a varias personas que han contribuidu de diversas maneras n la realización de estc libro. Norman Balahanian dzsca agradecer al doctcii- Vijuy Pitchumani (ahora con Intel) y al doctor Dikran Meliksetian (ahora coii IBM), de la Iliiiveriiilad de
r
V I I ~ Prefacio
Siracmse. En diferentes etapas fueron coautores de este libro e hicieron iniportantes contribuciones en la creación del texto. Algunas de las personas que ofrecieron comentanos y observacioneb invaluables cuando se revisó el manuscrito en diferentes etapas de su creacidn fueron:
Yu Hen Hu, University of Wisconsin-Madisoii David R. K~eteli.Northeastem University Juanita DeLoach, University of Wisconsin-Milwaukee Mehmet Celenk, Ohio Uiiiversity Iames C. Harris, Cdifomia Polytechnic State University, San Luis Obispo Sotinos G. Ziavras, New Jersey Institute of Technoliigy Jaoies H. Aylor, University af Virginia Ward D. Getty, Univeruity oi' Michigan, Ann Arbor Alexandros Eleftheriadis, Columbia University in the City of New York Ike Evans, The University of Iowa y Evolutionary Heuristics Shahram Latifi, University of Nevada. Las Vegas Gregory B. Lush, University of Texas en EL Paso Por último, deseamos agradecer a Ko-Chi Kuo,quien elaboró las solucjoncs de los problemas
ibuciomdo se
Contenido
l . Sistemas digitales y analógicos 1 2. Hardware, software y firmwarc 3
3. Sistemas numéricos 4
El sistemu binurio y ntms sistemas numéricos 5 Conver5 iones de buse 6
Conversión al sistema decimal 6
Conversión a partir del sistema decimal 7
Del octal o hexadecimal al binarir) 8 Aritmética biauria 9
4.
Suma 9 Resta 10
Multiplicación 10
Divisi611 10
Complementos: a dos y a uno 11
Suma de números binarios 13
Códigos y conversión de código 15
Decimal codificado en el sisremu binarin 16
Códigos ponderado5 16
Cridigo Cruy 18
Ccjdrgo de ~ i e t ewgmentus 1 8 C ~ ~ d i ~rr!funumr'ricu~ iis 19
5 . Detecrióii y corrección de errores 20
Cridigos dr~d r r ~ c r i d nde errores 2 1 Córiigcls ti(:r!c-orn~l~cidii (le errt~res 22 Códigos tic Hrii~iiiiirig 7 3 Resumen y repaso de1 capítulo 75 Problemas 26
X
Contenido
Ca pítUIO 2.
ÁLGEBRADE CoNMuTADoREs Y COMPUERTAS L ~ G I C A S 32
1. Álgebra bouleana 3 2 Principio de dualidud 33 Erwernus ,fiinJamentules 34
Álgrbra de ronmutacidn 37
2. Operaciones de conmutación 38 La operuci6nAND 38 Lu operucibn OR 39 ,!h operucirin NOT 39 Comentario 39
3 . Expresiones de conmutación 40
Minitéminos, maxirérminos y formu~canhnicas 4 1 Generalizucicin dtl la ley de De Morgriri 43 4. Funciories de conniutaciún 45 Opemr*ioriesde conmutación sobre jufiiricinnesde conmutaciba 46 Numrm de téntiiticis en formus can6ni~iicas 47 Teorftnu de expan.qirinde Shannon 47 Forma de suma de prtiductos 48
Forma de producto dc sumas 4'1 5 . Otrüs operaciones de conmutacióti 49 OR exclusiva 50
Oprruciones NAND, NOK
p XNOR 50 h. Crinjutitos de operaciones universales 5 1 7. Compuertas lógicas 5 2 Formus rilternarii~crsde las compuertas Ni4ND y NllR 53 Compurrtrrs OR erc-litsivas 54 Comentario 55 Lógica positiva, negativa y combinada 55 9. Algunas cuestiones prácticas relativas a cotnpuertas 57 Familirrs ldgiccis 58 Carricr~rísricasde entradds,-tlirirrdtj critnpuertas lcigiras 59 Facror de carga de salida ytbc-tur d~ c,tiwrade entrada 61 Búfers o reforzadores 63
Consumo de potencia 63
Margen de ruido 64
Velocidad y rt~rnrdode propagaciría 64 10. Circuitos integrados 66 Algunus rumt~rrrí~tiror ~ f los t ~ CI 66 Economíu de dii.eño 68 Cl de aplicación especijica 69 1 1. Lógica alarnbr~da 69 Compuet?us Irjgicas de tres estlrdo,i írrltci ittipedadancia) 69 rrirnp~ltrfrislógicas de colector ({hierroy dr drenaje ubirrbo 7íl Resumen y repdw del capitulo 71 Probleiiias 72
8.
Listas de minitérminos y rnmaritkminos 76 Listas de minitémi~iusy fortnu de suma de prud~drro~77 Listas de rnaxitérmitrt)~y foiwuis de producto de sumas 78 2. Mapas lógicos 79 Adyucenciu l#gica y udyacencia geométrica 79 Cubos de orden k 84 3. Realizaciones míninias de funciones de cniirnutaciiin 87 Expresiuries irrcdircibles y mínimas 87
Implicciiiir~primos 88
Expresiones minima~de suma de productos 89 Expresiones mírtirnas dr producto de sumw 9 1 Implenlentucioaes de dos niib~les 92 Irnplementaci6n AND-OR 92 Irnplementacidn NAND 93 Iiiiplementaci6n OR-AND 94 4. Implementación de exprehiones lógicas 94 Análisis 97 Caracterfstir-a~ d p citrriiros de compuerta 97 5. Diagramas de tempurizacicin 98
6. Funciones inconipletamente especificadas 100 Valores irrelpvantes 100 7. Comparadores 102 Comparadot.es de 2 bits 102 Generalizcichi6n 104 Cnmparadores de 4 bits 104 Cnmparadores de números pares de bits 105 Comparadores de números impares de bits 105 8. Determinación del implicante ptitno: método tabular 105 Representaciones rlt. cu hos k udyacente.~ 106 Clasificación por índice 107 Funciones incompletamente especificadas 10$ Selección de unu tlxpresiijn mínima 109 Fuiiciones complclamente especificada% 109 Maiiejv de vaidres irrelevantes 112
9. Circuitos de salida múltiple t 12 Resumen y repaso del cupítulo 113 Problemas 114 l.
r
XII
Contenido
Sumadores binarios 125
Sumodor completo 126
Sumador de acarreo propagado 128
Surnadnr de acarreo anticipado 128
Rrstudor hinario 132
Sumador y restador de complemento a dos 132
Sumador y restador de complemento a uno 133
2. Multiplexores 134
Multiplexure.7 como circuiros lógicos de propdsito genera/ 136
3. Decodificadores y codificadores 139
Drsmultiplexore.~ 1 39
Decodificdor de n a 2" líneas 139
Decodijicador de &bol 14 1 DecodiJ~~udures corno circuito.^ lógicos de propdsiro getiernl: cnnver.~irirt de código 142
4. Memoria sólo de lectura (ROM) 143
5. Otros dispositivos 16gicus programables LSI t 4h Arreglo Idgico pr-ogmiiialjo (PLA) 146
Lógica de a r ~ g l pmgrniiiodo o ( PALI 148
Resumen y repaso del capítulo 150
Problemas 15 1
1.
Capítulo 5 .
CoMPoNENTEsDEclRculTos SECUENCIALES 159
l . Definiciones y conceptos bhaiciis 159
2. Cerrojos y flip-flops 1 62
Cerrojos SR 163
Problemas de temporizacllírt y cerrojos SR ron rekoj
166
Cerrojo JK 168
Cerrojo muesrro-esc¿avn 168
Un diseño posible 169
Un diseño rnaesmn-esclavo alternativo 170
Parametros de iictivaciiin por pulso 171
F¿ip-flt~p.ide retrirdo ( D) 17 1 Flip-flop D activado por flanco 172
F l i ~ ~ - f lT c ~ p 1 74 Requerimirtitt~sde e.rcitri<-ióndel flip-jlop
175
3. Registros 176
Registni de r o r r i m i e ~ i t o t.nrga en serie 176
Repi,~rm tft1~'t)rrimieti[o I I ~>orgu ~ en piirulelo 177
Conver.rión prirnlelo serir 178
R c ~ i s t m suniversnIes 180
Resumen y repaso del capítulo 18 1
Problrmaa 182
Conceptcis básicos 187 Diagramu de estados 189 Tcibla de estados 191 Construcción de una tabla de estados a partir de un diagrama de estados 192 2. Asignaciones de estado 194 1.
3.
Análisis 196 Reglas prdctit-as pura asignar esrados 198 Procedimiento de diseño general 201 Máquina de Mraly 201 Máquina de Moore 206
Equivalencia de estados y minimizxidn de máquina 207 Distinguibilidudy equivalencia 208 Minimimcicin de mdquina 209 5 . M6quinas cori rangos de memoria finita 2 11 Máquinas con memoria de entrada finita 211 Máquinas con memoria de sali&$nita 213 Máquinas de memoria finita 214 6 . Contadores sincronos 7 1 5 Contadores de modo simp /e 2 15 Contadores de distancia unitaria 216 Contadores de anillo 2 17 Estados indeterminados 2 1 8 Cotircrdores multimodo 219 Contador ascendente-descendente de módulo 6 22 1 7. Máquinas de estado nlgorítmicas 22 1 Principios básico.^ 22 1 8. Entradas asincronas 226 Cotnunicacidn asíncroiw f p r o t o ~ ~de i b"apretón de munt>,s") 226 Resumen y repaso del capítulo 278 Problenias 229 4.
Representacicin e implementacion de tunciones lógicas
121
45. a. Un circuito combinatorio de cuatro entradas, una halida, va ii ser un dciectrir de números primos BCD.Siguiendo los procedimientos en el ejercicio 18 del texto. ~btengauii circuito mínimo de S de p. b. Obtenga también un circuito minimo p de s. 46. Dos números binarios de 2 bits A = alaoy B = b,b, constituyen las eiitrndas a uii sircuiio Icigico de cuatro entradas. La salida es un número bin'ario de 4 bits C = rl,c,c,c,, que va a ser cl pniductu dc A y B.
a. Construya mapas 16gicos para cada salida en términos de las cuatm variables de entrada. (Podría ayudar construir primero una tabla de verdad, aunquc csro no es ncccsano.) b. A partir de los mapas, encuentre expresicines mínimas s de p para cndn r,. c. Construya una realizaci6n de circuitu de cada salida; elabore una ilota acerca de la coiiipie~idad del circuito. 47. La tabla de implicantes primos para una función incompletamente especificada se inuesira en la figura P47.
a. Determine los implicantes primos esenciales, si los hay; construya después und liihla reducida si es necesario. b. Si algunos renglones son dominados por otros, especifíquelos y eliminelos. Determine luego los implicantes primos ehenciales secundarios, si los hay. c. Se dice que una columna mi driminari a otra columna m, si ni, es dominada por todos los implicantes primos que cubre m,,y posiblemente también por otros implicantes primos. Por ejemplo, la columna 24 domina a la columna 17. Demuestre que. ci un implicante primo en la cxpresiiin mínima de s de p cubre la columna dominada, Csie neczsanamcnte cubrirá la columna dominmte. Eii consecuencia. es posible eliminar la columna dorninüntz. d. Utilice el resultado dc la parte c para determinar una tabla reducida adicionalmente. e. Crimpleie lii detemiinación de una expresión miriitiia de S de p
Figura P47 48. Un comprador de k bits se representa mediante C, en la figura P48. Compare dos nirmeros de k bits Xk= .r1x2... xk y Yk = y,?.: . .. vh,con las salidas G, y S, de la mancra siguiente:
Se va a disetiar un comparador de (k + 1) bits utilizando un CI de comparadores de k bits y otra un;dad 16yica L wnici sc muestra cn la figura. (Esto es, G,,, y S,,, cumplen las condiciones precedentes stihre G, y S, ccin k reemplazada por k + 1.) a. Encuentre expresiones ldgicas para las salidas G,,, y S,,, en términos de todas las entradas a L. (Sugrrrticid: ciitisidere los valores positiles de G , y S, y los valores resultantes dc Gkily Sk+l.) h. Supotiga que zsrin disponibles Ins CIs que implementan L, así como las constantes O y 1. Demuestre que las entradas a un CI L tendrían que ser de modo tal que servirían coiiio un comparador dc tiuiiicros de 1 bit. c. Muzstrc un diagratna de bloques que implemente C, (un comparador de 3 bits) utilizando únicamente paquetes L.
122
Principios de diseño lógico digital
""4-rY,+
Ik+'
1
Figura Y48
49. Un circuito de coniiiutación va a tener cuatro liiieas de entrada. Se sabe que lo que reciben esiás líneas serán palabras decimales codificadas en binario. La salida ser6 I siempre que I n palabra BCD rccihida corresponda a 0,2, 3, 5 u 8; en otro caso la salida es O. Diseñe un circuiio mínimo de dos nivclcs. 50. El diagrama de la figura P50 representa uti circuito lógico impleinentado de inancra parcial. La.; salidas son:
a. Construya un mapa lógico de la función x(A, B, C, DI= x,,,,, quc va a tcncr cl riuriicrti riiihirnti de minitérminos mientras siga pcrrniticndo las salidü\ f , y f , dadas. b. Construya mapas de y y z correspondientes ü x,, dejando 111sviiliireh Cin c~pzcific.xr.;izrnpre que sea posible.
Figura P50 51. Suponga que las idida<en el cir~uilrilógico crimhinaliiriii de la figura P50 van a ser:
a. De todns 13s funcione^ inlcmerliür x po~ihle\.encuentre una xminque tenga e1 menor nurrierti de iiiiiiitéi-milios. b, Muesire los nilipas 16plr0h civ-respcindienies para y y z,suponiendo que cada uno tiene el número rnliximn de minittrminiis. 51. La Lrmvn Logii: Corporaiiun ha disetiado un CI con copias múltiplcs dc un circuito, denominado compuerta Pll. coii ciialro variables de entrada -A, R,C, 13- y una salida marcada ctimci PU. Esta cu~iiyuertniiiiyleiiieiita la funcicin.
Los iiigeiiieros de diseño en Lernon están investigando la posible implementación de funciones de conmuiacion, utilizando lógica PU-OR. Para ayudarles, diseiíe un circuito que implementa la siguiente función, utilizando ~xclusivamcntctrci cornpucrtas PU y una crirnpuertli OR. (Suponga q u e i a n t la variable ciitno su compleinento re disponen criinri entrad~spara PU.)
53. Llrvc a cabo uti proyecto de investigación para descubrir algunas propiedades de la funcirin OR exclusiva dc. tres vxiahlrs: J = .r @ ). @ z.
a. Encuentre una expresión booleana para f cti tirminos de x , y y 2 . b. .4 p;inir de tsta, escriba f como und lista de iniiiitérininos. c. Escriba 10s rtrminus en la lista de minittrminos conio núrnero.; binarios. A partir de iiii rxameri de esros níimems, extraiga dos conclusiones generalc': accrcñ de los minitérminos dc r rD ,y t 3 :.
54. Repita el prrihlema 53 para la OR suclusiva de cuatro variable<, = @ A @yJ @ .: 55. El objetivo de exte prohlciiia es direfiar un circuito quc utilice un sumad~rcompleto scricillo más alguti otro elemento pdra sumar dos nuriizros hinanoi dc n bits, un bit a la vez De\criba lo que sería ece "algún otro elemento", y ejemylifique con los núrnerri\ 1 101 y 0 110 56. Lir! niultiplicador tiene dos pares de líneas de entrada. ola,,y b,b,,.Las eritraddc de di)\ dígitos en esI;r\ líneas representan p:ilabrah binarias de dos digiroh. El multiplicador cuenta crin cuairu liiitas de salida; la palzbra p g $ , p , , que aparece cn estas Iíiiea~rrprrienta el producto de esos números.
U. Escriba rlxpresicinel; lógicas para cada uno de los digitos de producto p,. b. Obtenga una real1'1lición para cada dígiro. c. En la nicdida posible, utilice compuertas comunes compartidas pur riias de una salida.
máximo mpre quc
57. Un circuito se conhtruyc con dos compiizrrah XOR de la manera siguienle. La primera compuertii liene dos entradas externas, x , y .r,. La< rntrddüs a la segunda XOR ron la entrada externa x, y Ili salida dc la primera XOR. Recuerdc la relación de Ids entradas necesarias para que una compuerta SOR produzca ii1i.i salida l . a. Dibuje e! circuito rcsultqnte y especifique las relacione.; clr las treq entradas necesnriar par4 producir una h 3 \ \ d ü 1 b. Amplíe el Circuiio agregando unn cuanli cumpucna XOR, una de cuyas entradas es externa y la otra es la conehpcindistitr a la salida del circuito previo. Especifique iarnhikn en este caso la relación entre las tntradtic ncccsarias para prriducir una salida l .
Las XOR adicionales pueden sumarse de la inisriw manera, dando lugar :i1:i misinñ reIaci6n entre las entradas necesarias para producir una salida l. Esta estructura se conoce como carlen~ripo murgurircl (rlrr¿.\y rhaiti], v sirve como un detector de paridad impar. Verifique esto para los caso:: en u y h. 58. Alguiias vccrs un circuito tendrá varias salidas, dependiente\ todas del mistnu conjunio dc ~ai-iab1c.r de e n i r d a . El procedimiento que se us6 cn este capíiulii puede aplicarse para implementar cada una de las lunciones de snlida independientemcnte de las otras. Sin etiihargo, a veces es posible utilizar implicantes pritnos que son comuneh entre dos o mis de las funciiine\ diz salida. En esos casos la misma compuena se usa en las ~rnyectoriasdesde las entradas hasia diis o más de las salidas. En realidad, podría resulvar rentable elegir implicdntes que son comunes entre vanas de la5 salidas iricluso si &tos r tio son implicantes primo.<. El compromiso aquí es aceptar entradas adicionales a c i r n ~ compuertas coti rl beneficio de un número total de cnmpuertüs inferior. Los siguientes conjuntos de funciones scln halidas que dependen de los mismns conjuntos de entradas. Eii cada casti. ~cinsidercdos implementarinne< dikrentes: norninado i PU. Esta
Las sumas dc p d ~ i c t o sminimas impleiiientan de manera independiente cada funcihn. Las implemcn~acion~s de suma de p d u c t o s que utilizan cornpuertíis c.orriunes entre las tres tu11~ i u n c so, entre pares de ellai. Compare los números de compuertas. entradas y CIs SS1 necesarios para implcmentar de manera iiidependirtite cada una de las funciones.
iciones de la siguienque tanto
a. j,= TO, 1, 8,9, 14, 15) f, = Tth, 7, 12, 13. 14, 15) f,= I(8,Y, 12, 13. 14. 15) b. f ,= Z(O, 1.4. R,10, 15) .f2= Z(0, 1, 5. h. 7) ,fi = Z(1,
6, 9. 1 .;, 14) c. f I = Z ( l , 3 , 4 . 5 , 7 . 9 , 13,!8,19,20,21,2h.27) f,= 2(4,5.6. 9, 12, 13. 14, 20.21. 22, 23. I R . 29)
5, = Z46. 7.9, 11, 12, 13, 14, 15. 18. 19. 20. 11, 22, 23)
124
Principios de disetiu Iúgicu digital
d. J , = C í 0 . 4 . 5 . 11. 111+W(6,10) j , = Lí4, S. 10. 12) -tM(O, I4) 1, = X(4, 10, l?+ 14) + 5 4 6 . 7 <3) e. /, =E(\.5 , 7.4. 20. 71,29. 30) + U(3.4, 13, 21, 25, 28)
f2 =E(?,6, 7. 14, 21. 15. 28. 30, 311 +M(],
12, 23,27, 24) f, = I(6. 8, 17. 14. 12. 24, 16.
30)+ M(4, 10, 17, IR, 28)
Diseño lógico combinatorio
En los capítulos anteriores se establecieron los fundamentos para el diseño de los circuitos Iógicos digitales. Los elementns del hlgebra booleana (álgebra de conmutucidn de dos elementos) y la forma de representar con ella las operaciones de manera esquemática mediante compuerias (dispositivos primitivos) se analizaron en el capítulo 2. Cómo manipular y representar Iüs expresiones de conmuiacirín de diferentes maneras constituyó el tema del capitulo 3, el cual rnosttlii diversas formas de efectiiar dichas representaciones en una diversidad de circujtns que utiliza11 compuertas primitivas. Con todas esas herramientas disponibles para cunipljr con el objetivo presente, en este capitulri nos interesa el diseño dr circiiitus lógicos inás coniplejos. Los circuitos en los que todas las salidas en un tiempo deleminado drpendrn sólo de Ins entradas en ese tiempo reciben el nombre de circuitos 16gicos cornhiiiarr~rios.Los prucediinicntos de diseño se ilustrarin con clases importantes de circuitos que ahora son iiniversales en los sistemas digitales. El métridri aplicado consiste en examinar las tareas que pretende que efectúe un circuito 16gico cornbinaiorio y en identificar despiiés uno o más circuitos que puedan ejecutar la tarea. Es probable que un circuiro tenga algunas ventajas especíticas robre otros, aunque también puede incluir cierta* deficiencia$. A meniido es factible mejorar un factor, pero sólo a expensas de citros. Entre Iiis factores importdntes se encuentra la velocidad de operación, la complejidad o el costci del hardware, la disipación de potencia y la disponibilidad de las unidades prefabricadas. Consideraremos viririas cipecficionrs diilrre~itesque resultan útiles en distintos contextos y mostraremos crima diseniir los circiiitou apropiados para efectuar estas operaciones.
1
SUMADORES BINARIOS Una de las operaciones mfis importantes que llcv6 a cabo una computadora digital es la suma de dos números binarios'. Una medida Útil del desenipeño es la velocidad. Desde luego, ésta se incrementa utilixando familias thgicas de crirnpuertus que la favorecen a costa de otras medidas, como el consumo de potencia (utilizando la familia Schottky avanzada, por ejemplo, en vez de la Schottky de baja potencia). Sin embargo, para el diseñador Irigico, la pregunta importante consiste en como diseñar un sumador para incrementar la velocidad, prescindiendo del tipo de compuerta utilizada. Es factible que esa velocidad incrementda ce alcance n expensas de una mayor Cvrnv se explic6 e n e l capílulo 1 , la resta de dos núnicros se incluye en el significad^ de la sunia. ya que Id recta ce realiza primero efectuando alguna operaci6n en el sustraendo y sumando después el rerultadri (Cu61 de las iiperaiiiines se cfcctúa primero depende del tipo d e cvmputudom, y~sea invirtiendo rl subirarridri r i iiimaiidri >u ~ n i i i ~ ~ l c ~ i i c t i i n a dos, como se indica en el capítulo 1 .)
126
Principiri~de diseño lógico digital
Figura 1. Suma binariv nl Sumador general, h ) Sumador completo de dos palabras de un bit.
complejidad del circuito. Esta ES, habría vanos diseños, cada uno caracterizado por cierta velocidad y cierta coniplejidad de circuito. Es necesario efectuar una valoración en cuanto a Ins crimpmmisos aceptables entre ellas. En la figura 1o se muestra un diagrama simbólico que representa un sumador binario. Cada flecha abirria representa miiltjples variables; en este caso las entradas son dos números binarios. Si cada niimero tiene n digitos, entonces cada línea indicada representa realmente n líneas. LUsuma dc dos números de n bits es un número de ( i i + 1) bits. De tal maiiera, S (suma) representa r~ + I líneas de salida. Si el circuito se diseñara por medir) de los mitodos del capitulo 3 , requeriría un circuito con n + I funciones de salida cada urio dependerfa de 2n variables. La tabla de verdad para cada utiri de los cuales de la\ funciones de salida tendría 224renglones. Puesto que n podrla estar fácilmente en la gama de 20-40, es obvio que se necesita un metodo diferente.
Sumador completo Otro método para sumar dos núriieros de n bits consiste en utilizar circuitos separados para
ca-
da par correspondiente de bits. U n circuito de estas caracceristicas aceptaría loa 2 bits que se van a suniar, junto cori el acarrea resultante de la suma de los bits menos sigiijficativos. Se ~iroducirían como salidas un hit de la suma y un hit del i i c m e a de salida del bit más significat~vo.Un circuito como éste se canucc como suwdr;rr completo. En la figura l b si: presenta un diagríima esquem8tico. Los 2 bits por sumar son x, e y,, y el ocarreo de e n t r d u es Ci. Las saldas son la suma Si y el (dcurreo de salidn Ci,,. La tabla de verdad para c l sumador compleio y los mapas lógicos para las dos salidas ce iliistran en la figura 7. Las expresiones mínimas de suma de producius para las dos salidas obtenidas de los mapas son: Si = xi'yiCir.t l-,yl'C;'+ xityilr,+ .T,?+~C~
C,, = xi4'i + .ric1 + yici = .rp,+ Ci (xl + y,)
(Asegúrese de verificar esio.) Cada minitérmiiio eIi el mapa de S, ccinstiluye un implicante priniu. En consecuencia, una expresión de suma de productos requerir6 cuatro compuerias AND de 3 enuadas y una compuerta OR de 4 entradas. El acarreo requeritg tres compuertas AND y una compuerta OR. Si suponemos que cada compuerta tiene el mismo retardo de propagación 5, entonces una implementación de dos niveles tendrh un retardo de propagación de 2t,. En el mapa del acarreo, el rninitkrmino pn7 se cubrz por medio de cada uno de los tres implicantes primos. Esto es excesivo; puesto que i i i , se cubre mediante el iniplicante primo x,y,, no hay necesidad de cubrirlo otra vez utilizándolo para formar implicantes primos con m, y m6. Si existe algún beneficio al respecto, podríamos utilizar los Últimos dos minitkminos como implicantes sin formar implicantes prirnijs con m,. La expresihn resultarite para C,,, se vuelve
Diseño Irigico coiiiliinatorio
c i . y i y ,
o
0
0
1
1
0
1
1
1
sici+, O O
1 O
10
1
1
X
,T
O
1
O
127
1O
1
1Ci
6)
c)
Figura 2. Tabla de verdad y mapas ldgicos del suinador comptzto. a ) Tabla de verdad;
I
velo;com-
b ) mapa S,:. c) mapa L;,,.
. Cada
(roiifirrne este resultado.) Ya tenemos una expresiiin para Si en 1 n. pero está en forma canónica de suma de prdiictas. Resultm'a útil buscar uiia forma alternativa para una implementacióri m á s útil.
narios. Ln sujenta n queri-
Ejercicio l. Confrii-me,con álgebra de conmutación. confirme que La expresión parU la suma en la puede convert irce en
de verque
si= xi @ y, @ e,
ri
te.
para ca-
e se van ~ducitivo. Un .iagramd 1s
IS
Empleando las expresiones piird Siy C,,,. que contienen operaciones XOR, confirme que s i es posible obtener la implementacidn del sumador coiiipleto que se muestra en la figura 3u. Advierta que el circuito consta de dos combinacionrs XOR y AND, y una compuerta OR adicioriiil. La figura 3b muestra el circuito dentro de cada caja punteada. que recibe el nombre de srmisiinaadrir. Sus únicas entradas son Iris 2 bjts que se van a sumar.sin un dcarreo de entrada. Las dos salidiis son: I ) la suma de los 2 bit5 y 2j el acarreo de salida. Supuniendo que una compuerla XOR (realizada mediante un circuito de dos niveles) tcnga un retardo de propagación de 2tp, el sumsdor completo en la figura 3a tiene un retardo de propagacidn de JI,,, tdnto para la suma como para el acarreci (verifique estas afirttiaciones).
son la mapas
: \OS
ma(la)
:ante
pri-
; AND de
I$ tres imno x ~ ; no , t, p m,. Si mo inipli:Ive
(2)
b)
rl
Figura 3. Sumador cumplcto iiiiplerrirriiado ctin sumadores medios. a ) Suiiiador complcto. b) Sernisuniador. c ) Diagrarnd esqustiiátíco del serriisum~dor.
128
Principios de distiiiu 16gico digital
En la siguiente secci6n observaremos que la velocidad total en la suma de dos núniercr~binarios de n bits depende principalmente de la velocidad con la que se propaga el acarreo desde el bit menos significativo hasta el más significativo. Por consíguientr, reílucir el rctardo experinientado por el acarreo de un sumador crimpleto es una mejora importante. Esto es un incentivo en la búsqueda de otras reatizaciorres del runilzdor conipIecu. En alguno? dc los casos en el prohlema 1 al final del capítulo, se prnpoiien realizacioiies adicionales del sumador crimpletu en las que el retardo de propagacidn para el acarreo es 25 cn lugar de 45. De zqcliií e n adelante. paru un suindor coinpleto. rupandrernos que el retartiu de prop~gacióndel acarreo corresponde a It,,.
Sumador de acarreo propagado El problema de sumar dos números binanos rnultidígito se formula de la siguiente manen. Se dispone de dos niimeros trinarius de n bits, con todos las dígitcrs en paralelo. La suma se lleva a ciibo realizando un sumador cornpletv para sutnar cada par correspondiente de dígitos, uno a partir de cada iiúinero. Los sumadores compleim se conecbn eii tándem de manera que el a c m w de salida de una etapa viene a ser el acarreo de entrada de la siguiente. como se ilustra en la figura 4 puro d caso de números clc: cuatro dígitos. Así, el acarreo se propaga a lo largo de cada etapa. En la suma binaria. el acarreo en l a primera etapa (menos significativa) es O. El acarreo final (el acarrem dti~shordadoJ se convierte en el bit mas significativo de la suma de (n + 1) bits. Puesto que el acarreo de cada su~iiadorconipIetci tieiie u11 retardo de propagacien de 2sp,el retardo total al efectuar la suma de dos númems de n.biis es 2ni, No lodos los pares de das números de n bits experimentarán este gran retra5o. Considere como ejemplo lvs siguientes dos números;
Suponiendo que el acarreo de entrada a la prirriera etapa sea ceru, al efectuar la suma no se genera ningún acarreo en ninguna etapa. En conswuencia. no habrá acarreo pmpagada y, por ello, ningún retardo de propagación zi lu largo de h caderia de acnrrco. Sin embargo, para tnanejar el caw general, debe anticiparse el peor caso; ningún número nue,vo debe presentarse para la surna arites que el rctnrdo total repres~ntadnpor el peor caso. La máxinia velocidad de suma, por tanto, está limitada por el peor caso del retardo de la propapación del acarreu.
Siirnador de acarreo anticipado A l considerar la suma de dos númcros binLuiosde n dígiios, no( pasnió Ia idla de un soIii cir.cuito cornbinatorio de todas esas entradas. Por ello coiisideramns el uso propagada de un circuito niás siriiplr, un sumiidor completo, con el menor número posible de entradas.Sin embargo, lo que se gana en simplicidad del circuito can este mktodo se pierde en velcwidad. Puesto que a €sta La limita el retado en la fiincihn de acarreo. parte de la velocidad perdida p d r i a volverse a ganar si pudieramoi diseñar un circuito -justo para el acarreo- con m i s de 2 entridas, pero no tatitas crimo ? T I . Siipnnpa que varia^ etapas del suniador completo se tratar] como una unidad. Las eiitradas a la unidad son el acarreo de entrada a la unidad, así como los dígitos de entrada a iiidos los
Figura 4. Surriiiciui de acarrc~i propagado de 4 bits.
Diseño 16gico combinatorio
129
emh bio desde experiicentivo i el proo en las para un : a 2tp.
Figura 5. Diagrama esquemático del circuito de acarreo anticipado. nera. Se
:lleva a io a paracarreo en la fide cada acarreo - 1) bits. !$, el renumeros
meros:
lo
sumadores completos en dicha unidad. Entonces quizh el acarreo de salida podria obtenerse más rápido que el acarreo propagado a través del mismo niimero de sumadores completos. Estos conceptos se ilustran en la figura 5 con una unidad que apenas conata de dos sumadores completos y un circuito de acarreo anticipado. Los cuatro digitos que se van a sumar. asi como el acarreo de entrada Ci, se presentan en forma simulthea. Es posible obtener lina expresian para el acarreo de salida, CitZ,de la unidad utilizando la expresilin para el acarreo del suniador completo en 2). Por razones que se aclararhn mhs adelante, vamos a asignar nombres ü los dcis tkmiinos en la expresi6n de acarreo en 2), cambiando los nombres de las variables en A y 3 de .r c y de acuzrdo con la figura 5. Definimos el acarreo generado Gi y el ararreri ~iroptqriiioP, para el i-tsinia sumador completo de la manera siguiente:
se ge-
por ello, número caso. La propaga-
lo circuiI circuito ;o, lo que a ésta la i ganar si no tantas .as entratodos los
Al insertar éstos en la expresión para el acarreo de salida en 2), obtenemos
Un acarreo se pencrurá en e1 i-ésimo sumador completo (esto es, Gi = 1) si Ai y Bi son ambos iguales a l . Pero si sólo lino de ello': es 1. no se generará un acarreo de salida. En ese caso, sin embargo. P, serii 1 (confirme esto). En consecuencia, el acarreo de salida será C,, = Ci. Decimos que el a c m r o se prr)pagarrí hacia adelante. La expresión p m el acarreo de salida en 5) puede actualizarse cambiando el índice i a i + 1:
Es posible iiiterpretar la última expresión de la siguiente forma. Un acarreo aparecerá en la salida de la unidad de acuerdo con tres circunstancias:
En
la ultima etapa se genera: G,,, = 1 . En In primera etapa se genera, G,= 1, y se propaga hacia adelante: Pi+l= 1 . El licmeci de entrada C, se propaga a travks de ambas etapas: Pi = Pi+,= 1. Evidcntemente, este resultado puede extenderse a cualquier número de etapas, aunque el circuito se volvzri progresivamente más complicado.
Ejercicio 2. Extienda el resultado previo una etapa más y escriba la expresi6n para C,,,. Escriba despuis Las formas en las cuales este acarreo de salida puede ser L . Confirme su resultado utilizando el resultado general que se da a continuación.
130
r
Principios de diheñri lógico digital
Extendiendo d diseño a j etapas, la expresirin en 6) se transforma en G,+,+,= G , , , P,+,G,+,-,+ Pi+,Piii-l~i+j-2+ -.. +~P#,P,,, +
... Pi)C,
(71
Esta expresión se ve rhomplicada, pero es fscil de interpretar. Puesto qiie el acarreo de siilida C1+,+,= 1 si cudqiiieni dc lus términos aditivos ii la derecha es 1 , el acarreo de salida de la unidad seri 1 para diversas posibilidades. Se gencra ya sea en la últiinü etapa (r-~sirna)de la unidad o en la etapa anterior, y se propaga a tl.iivts de las etapas sucesivas, o cl n c ~ m e ode entrada de la unidad se propaga por todas las etapa.+hacia Ia salida.
Cuarito rnayor sea el númern de etapas de sumador cniiipleto incluidas en una unidad, tanto mayor seri la mejora en la vtlocidad -aunque también m i s grande la complejidad del circuito de acarreo aiiiicipadri. Existe un compromiso obvio entre Icis dos. Considere una ~inidadde cuatro etapas, la cual va a sumar dos palahras dr 4 bits A y B. Tal ccapa puede c o n s i r l e ~ s tco: mo si tuviera u n circ.uitu de suma (S) y un circiiiio de acarreo sepürarl» (0.El circuito de suma dr cada etapa tierie conio entradas el acarrco d e la etapa anterior y los bits correspondientes de las palabras A y R. Todas las entradas a la red de acarreo de cada crapa son todos los bits de las palabras A y B basta esa etapa y el acarreo no s61o de la etapa preccdznte. sino de 1ü entrada a la unidad completa. Así, si la priniera etüpa es la i, las rritradas al circuito de acarreo dc la etapa i
+ 2 son: Ai.
A,,,, B1,B:+,, Bi+?.y Ci.
Ejercicio 3. Diiiuje u n diagrama esquemático para iina utiiciüd dc tres etapas utiliziindo rectángulos para representar los circuitos de suma y acarreo de cada etapa (suponga que la primera etapa es designada cori 1 en vez d e la i general). La figura 6 muestra iinn realizaci~iride circuito de la red de acarreo de la ultima etapa en uiia unidad de cuatro etapas. Sal\;n por L;., el acarreo de entrada de la uiiid~d,las otras entradas a las ciimpuertas AND son acarreos generados y acarreos yrripag;ldos desde las diversas etapas de Id unidad. Estos acarreos generados y propagados los producen los circuitos de seiiiisuinador de la figura 7. La figura S ilustra iin diagrama de semibloques del siiniador de acarreo anticipado de cuatro etapas. (Ncite que se supone que l a s ierminales que Ilevaii I;i misma etiqueta en diferentes subcircuitos estin conectadas.) Puesto que cada acarreo propagado Pl+,es la salida de una com-
Figura 6. Circuitn de acdmo anticipado dr cuatro etapas.
G, = A,'Li,
Figura 7.Semi~uriudorpara acarreos generado y propagado.
Diseño lógico com blnatorio
131
de biilidn
je Iii unila unidad d a de la idlid. tand dcl cirinidad de
; r m e co-
de suma lientes de iiis de las ~tradaa la la etapa i
i
io rectánmeta eta-
pa en una adas a las
lo de cua-
diferentes
Figura 8. Diagrama esquemitico del sumador de acarreo anticipadi) de 4 hiis.
puerta XOR, el retardo total de la propagaci6n del circuito de acarreo que tiene el diseño de la figura 7 corresponde a alp. Sin embargo, todos los acarreos ge tirtüdos y propagados, Gi+jy Pi+? de todas las unidades qiiedan dispimililes dentro de 2t,, despuis de que las dos palabras se presentan primero para la siimu. 'umu lu indica la figura 6. Por taiito, en todas las unidades de acarreo anticipado ridemfis dr la primera. el retardo de propagaci6n de la red de acarreo es únicamente 21,.
Ejercicio 4. Suponga que uii suniiid(ir de acarreo anticipado va a tener k unidade5 de 3 bits para efectuar la suma de dos
palabra\ de 4k bits. De la explicación anterior, a partir del diiigrnirin de
13 fip~rn8 yiie implementa cadri lino. y de la consideración de la primera y Última unidades, deieminr el retardo de propagación de este sumador en términos de ,,[ el retardi) de propagacion O traves de una compuerta. (No consulte la respuesta hasta que realice el ejerciciri.~ Respuesta2 Si un sumador tiene ocho unidades de 4 biis, el retardo de propagación a travts de un sumadcir de acarreo anticipado será 20$. El sumador de acarreo correspondiente propagada tendrá un retardo de propagación igual a 4 X 8 X 21, = 641,. Dc esta manera, el surnador de acarreo anticipado tendrá una ventaja de 320% en velocidad snbre el de acarreo propagado. Sin embargo, no todo es ganancia fácil: la ventaja de velocidad se ha pagado a costa de hardware adicionai.
Ejercicio S.
A partir del conteo del número de coinpuertas en cada implementación, estime Iii desventaja de hardware en porcenta,je del sumador de acarreo anticipado en comparación con el sumador d e acarreo propagado. Compare la desventaja con la ventaja de velocidad de 320 por ciento.
4
Los circuitos que se describen aquí se obtienen en CI monolíticos. Un sumador completa sencillo, por ejztnplo. se dispone como una unidad. Un sumador dc acarreo propagado, como se ilustra en la figura 1.y uno de acarreo anticipado para palabras d e 4 hits. como se indica en la Figura 8, se consiguen como CI MSI.
"a
suma de los retardus a triii.6~de a! e1 circuito de acarreo de cada unicid (2: cads unol. b) e l circuito de suma de la Ú l t i n u i unidad (21,) puesio que C
1
Figura 9. Sumad~irde alta velocidad, palabras de 4 bits.
Externamente, un C1 consistente en un sumndar de acarreo propagado de palabras de 4 b i t h se vería ipiial que un paquete qtie consta de un sumadiir de acarreo aniicipado de palabras de 4 hits. El diagrama de bloques de la figura 9 ilustra un CI de este tipo. Hay nueve entradas: el acarreo de entrada y cuatro entradas por palabra. Son cinco \es salidas: el acarreo de salicla y los 4 bits de la sunia. (El acarreo de salida se vuelve el bit miis significativo de la suma si el circuito sc usa justo para suinar palabras de 4 bi ts. y tio como parte de un sumador de palabras más largas.)
Restador binario En el capitulo I se estudiaron dos representaciones de números binarios con signo: compleniento a uno y complemento a dos. Recuerde que ciimdo los números w representan en iina de las formas de complemento. el único tratamiento especial que se necesita en la suma de un núrnero negativo con otro núinero positivo o negativo se encuentra en el acarreo de salida final. De tal manera, los sumadores que se estudiaron en la secci6n anterior resultan adecuados para la suma de números representados en una de estas formas si se usa alguna circuiteria adicional para procesar el acarreo de salida final. Adetiiás. la resta binaria puede efectuarse utilizando los mismti~ circuitos siimadores al negar el sustraeiido.
Sumador y restador en complemento a dos Recuerde del capitulo 1 y ~ cuando e la suma de 2 niirtieros binaricis con complemei~toü dos produce iin acarreo final, ésic puede ignorarse.
qiie tal vez ocurra ciiando el resultaSin embargo, es necesario detectar el desbordamierilu do de la suma está fuera de rango.> En 21 capitulo I se concluyo que un desbordamiento aritmética pudría detectarre si resultan diferentes el acarreo de entrada y el acarreo de salida de la posición del bit mhs significativo. Así, es posible detectar el desbordamieniri con una compuerta OR exclusiva adicional. El sumador de comylemcnto a dos no es rniiy diferente del surnndnr binario para números sin signo. i.Que ocurre crin la i-esta'? Ya sugerimos que ésta debe efectuarse complementando el sustwendo y sumando. Por ello la tarea consiste en diseñar un circuito cuya salida es el complemento a dos de la entrada. y en utilizar SU salida como una entrada para un sumadur. Lln circuir0 de estas caractefisticah se diseña sin dificultad. pero ;por qué un sisrema debe contener parte del tiardware dedicado a la suma y otra püne destinado a la resta? Si la única diferencia entre estos dos circuitos er un circuito que calcula el complemento a dos, entonces ~ p oqué i no diseñar un circuito en el que cualquier suma o resta pueda elegii.se con una entrada adicional'? Cuando es-
' El intervalo de números binanos que iienen n dígitos hinarios representados en fnma de complementv a dris cs -?"-' < m < 2"'- 1.
de 4 bits labras de 4
u5
deikirdamiento
Figura 10. Sutnridorlrestador de ctiniplemcnto a do< con detección de dzshrdamiento.
le salida se is de 4 bits,
limplemenI una de las un núrnero
inal. De tal ;ira 13 suma al para prolos mismos Figura 11. Sumlidorlrcstadcx de complemento a uno
pro-
j
L1 dos
)
el resulta-
mto aritmé-
;alida de la a compuerle1 suniador indo el sus-
omplemencircuito de er parte del entre estos I diseñar un Cuando es-
ta ulrima es, digamos. 0, el circuito efectúa la suma, y cuando la entrada corresponde a 1, cjecuta la resta. Pai-ece sericiIlo: una representaci6n del circuito puede obtenerse utilizando las técnicas del capítulo 3. riutique existe una solución elegante que describirtios a continurición. Examine la tabla dc verdad de la operacihn OR exclusiva y advierta que es posible considerarla como un inversor condicional. Si una enlr~daes O, entonces la salida es idéntica a la sepunda entrada. Si una entrada cs 1, entonces la salida corresponde al complemento de la segunda entrada. Esto es conveniente para producir e1 complemento de una entrada para tiuestro circuito sumador/restador cuando queremos e i ' e c i u ~la resta. Sin embrirgo, para calcular el complemenio a dos de I número binario tenemos que sumar 1. ¿Alguna idea acerca de ccimo efectuar lo anterior sin compuertas adicionalesa? (Piense en ello antes de continuar.) El sumadvr completo para el bit menos significativo tiene una sena1 de entrada de acarreo que puede utilizarse para sumar el 1 requerido. El diseno de nuestro circuito sumador/restüdor de complemento a dos est5 completo; una versión para sumar núnieros de 4 bits se muestra en la figura 10. Si la señal de coiitrol M es 0, entonces el circuito efectúa ,4 + B; sin embarpu, si M es 1, el circuito reaiiza A - B.
Sumador y restador de complemento a uno Para efectuar la resta en complrmento ü uno es posible utilizar el circuito OR exclusivo que se empleii en el suinfidorlrestador de caniplemento a dos. La iinica diferencia es que no dcscümos
134
1
Principios de diseño lágico digital
inyectar un acarreo en el hit meniis ~ignificaiivo.La siima de complemento a uno requiere añadir 1 a la suma cuando ocurrc un acarreo de salida a partir de la posición del bit mas significa~ivo.Esto puede conseguirsc utilizando ~emisumadoresmúltiples como se niuestra en la figura 11. La deteccion de desbordamiento para la suma de coniplemento a uno se deja coma problema al lector. La suma de complemento s dos es el niétodo más común que se implemenla en las computadora~modernas debido a su reducida coniplejidad de circuitri cn comparación con el compleinentri a unti. Éste cr el plinto hastd donde Ilzga~nioseti la suma de palahra~multibit; otros circuitos sumadorcs se dejan para los problemas de fin de cüpltulo.
2
MULTIPLEXORES Eri las comunicaciones, crintrol y sistemas de computadora puedeii ejecutarse muchas operacioties nizdiatite circuitos ldgicos combinatorios. Cuando un circuito se ha di.ceñadri para efectuar algutia tarea eti una aplicacidn, a menudo también encuentra empleri eii diferentes aplicaciones. De este modo, adquiere diferentes nombres a partir de sus diversos usos. En esta y en las secciones siguientes desctihiremris varias de estos circuitos y sus empleos. Explicaremos sus principios de operación, especificando sus implementaciones MSl o LS1. Una operacivn comiin se ilustra en la figura 12. Los datos que se generan en una localidad se van a usar en otra. Se necrsita un método para transmitirlos de una localidad a otra a través de algún canal de ciimunic;iciones. Los datos están disponibles. en paralelo, en muchas líneas diferentes, p"ro deben transmitirse por un solo enlace de comunicación. Se necesita un mecanismo para elegir en forma secuencial cada una de las linziis de datos de manera que los datos que la linca seleccionada porta. puedan transmitirse en ese niomento. Este proceso recibe el nombre de multil~lexado.U n ejernplo es el multiplexiido de conversaciones en el sistema telefhnico. Varias conversaciones 211la línea telefónica se conmutan dc manera alternada muchas veces por segundo. Debido a I n iraturaleza del sistema auditivo humana. lcis oyentes no pueden detectar lo que escuchan si hay interrupciones y las conversaciones de otras personas se mezclan con las propias en e1 proceso de transmisión.
En el otro extremo dcl enlace de comunicación está un dispositivti ncccsiuio qiie d e s h u i el rnultiplexado: un desrnultiplexor. Éste debe aceptar los datos eii seiie entrantes y dirigirlos en paralelo a una de muchas líneas de salida. Los trozos interinezcladob de las conversaciones telefonicas, por ejemplo, deben sepwarse y envime a los oyeiites correctos. Un multiplexor digital es un circuito con 2" líneas de entrada de datos y una línea de salida; tanibién debe tener una manera de determinar la línea de entrada de datos cspecífica que se va a seleccionar en cualquier momento. Esto se efectiía con otras n líneas de entrada, denominadas entradas de seleccibn, cuya funci6n ec elegir una de las 2" entradas de datos para la conexión con
canal de comunicaciones
U multrplexor
Figura 12. Un problema de comiinicación de datos.
.
I
salida de dalos -
desmultiplexrir
Diseño lógico
cornhinatorio
135
iadir I. ESa de-
ifur. mpucom1s SU-
Figura 13. h~liiliiple\orw i i rishil eiitradas de datos.
la wlida. I!n ~*irciiiti) pai-a rr = 3 ac murdrii cn la rigura 13. Las n líneas de selección tienen 2" = 8 combiiiacicines de valo~+cs ~ U coiisti C tuycn números de .wlrccirin binarios.
Ejercicio 6. Esci-ibaexyi-esiiinehpara cada una de la5 5alidus de compuerm AND en términos de las entradas S, y il,, ccwfim~andoque el multiplicadrir de D,cs cl equivalente binario de k. Cuando las entradas de selecciiin tienen la comhinacirín . F ~ ~ =. FO1~1 , por ejemplo, las salidas de todas las compuertas AND serhn 0, excepto aquélla a la cual se ctinecian la línea de datos D,.Las otras entradas a la compuerta AND diferentes de D, serin l . Por consiguiente, D, aparece a la salida del circuito. De este modo, las entradas de selecciún cuya combinaci6n binaria corresponde al dzcinial 3 han elegido la entrada de datos D3 para transmitirse a la salida. Es posihle ohtetirr C I MSI estandar como multiplexores. La figura 14a muestra el circiiito para uti C1 que contietie dos riiultiplrxures independientes paran = 2. Las consideraciones prácticas no iticluidas ?ti la figura t3 explican algunos de los rasgos dc este circuito. La entrada hat~ilrta
136
I
Principios de diseño Iúgico digital
i k salida 1
1
Figura 14. t i l Multiplexor dual de cuatro entradai con hühilitador.b ) Multiplexor dunl de cuatro cntradas con habilitdor sencillo.
iiiversionei, lo cual resulta especialmente Útil si n es grande. En esta fornia, el circuito que produce las entradas de >elección tiene como carga s610 una compuerta simple (e1 inversor) en vez de varias compuertas AND. En la figura 14a las entradas de srlecci6n son comunes a ambos multiplexores, aunque cada una tiene su propio habilitador. En otros diseños, el habilitador tarnbien puede ser ciimún. Eii la figura I4b se muestra el diagrama esquematico de un inultiplexor dual de cuatro entradas IMUX) con un solo habilitador.
La NAND es la forma de compuerta preferida para muchos CI (por ejemplo, el 74LSOO y el 74LS10). Puesto que el diseño del multiplexnr en la figura 13 o 14 es un circuito AND-OR de dos niveles. la sustitución directa de todas las conipuertas AND y OR por compuertas NAND mantendrá la funcioti lógica, como se explicó en el capitulo anterior. De este modo, la implementación real del niultiplexor se efectúa con coinpuerias NAND.
Multiplexores como circuitos lógicos de propósito general Es claro que la estructura de un inultiple.rar en las figuras 1 3 y 14 es la de un circuito Idgico AND-OR de dos niveles, teniendo cada compuerta AND n + 1 entradas. donde n ec el número de entradas de selecci6n. Parece que el multiplexor constituiría una implementacihn cancínica de suma de productos de una función de conmuiaci6n si todas las líneas de datos en conjunto
Diseño lógico combinalurio
137
reprel;entan jiisto una variable de conmutación (o su complemento) y cada una di: las entradas de selecciún. una variable de conmutación. Vamos a trabajar hacia atrás desde una función especificada de m variables de cunmu tación para l a cual tenemos escrita una expresión canónica de suma de productos. El iamañu del rnultiplexor nccesmio (numero de entradas de selecciiin) no es evidente. Suponga que elesirnos un multiple~orqiie tiene m - 1 entradas de selección, dejando Gnicamente otra variable rnas para acomodar tociris lar; entradas de datos. Escribimos una funcirin de salida de esiai entradas de selecciiin y las ? m - 1 entradas de datos Di. Ahora planeamos asignar na - 1 de estas variables a las entradas de selección; ¿pero cómo hacer la a~ignacidn?~ Realmente no hay restricciones, por lo que puede realizarse de manera arbitraria. El siguiente paso es escribir la wlida del multiplexor despiigs de las entradas de selección con m - 1 de las variables de la funcirín dada. Comparando Ins dos expresiones término por término, las entradas Di pueden determinarse cn términos de la variable restante.
EJEMPLO 1 Una funci6n de conmutaci6n que
va a implrmentar con un multiplexor es:
S(X, Y, Z) = E{1, 2. 4, 7) = .r',vl: + -r'yz' + q ' ~ + xys ' Puesto que la funci6n tiene tres variables, el niultiplexor dcseado tendrri 3 - 1 = 2 entradas de selecci6n: la mitad del MüX dual de cuatro entradas de la figura 14 realizarfi la tarea. La expresi6n para la salida del rnultiplexor es: f = s ~ ~ s +~. 'FD~~ '+ s ~~ s~~ +.' slsnD2 D ~
N o hay restricciones acerca de cOmo asignar las entradas de selector a las voriablzs dr la tunción dada; dejemos arbitrariamente que S, = x y S, = y. Entonces f = x ' y r D o + x ' y D ,+x.ylv'D, +xyD3 Cotnpmtidt>ésta con la expresión original para la función dada llegamos u
Do = 0, = z DI=DZ=zl l en vez
Así, la función original se implementa con iin miiltiple.ror de cuatro entradas.
¤
Existen otras cinco maneras mediante las cuales Ias dos entradas de selecci6n podrían haber sido asignadas a dos de las tres variables de cunniutación. Ninguna condición necesita cumplirse para la elección, por lo que Csia es arbitraria. Sin embargo, el resultado especifico obtenido para las entradas Di depende de esa elecci6n inicial.
Ejercicio 7. En el problema del ejenipla 1 , elija .r = z y Respuesta5
so = x.
Determine las Di.
Ejercicw 8. Como practica, elija cada una de las restantes maneras posibles de asignar entradas de selección a las variables de conmutación, y dztrrniine despuks las Direqueridas; especifique
las compuertas externas necesarias. Para
1111soiijunto de
m - 1 variables, ¡hay in maneras de asignar m - I canlidadcs a variables esgeiíficiis'
D,=D,=y.U, =U,=!'
P ! ! I
138
Principios de diseno logico digi:al
(u1
(f))
Figura 15.Itiiplemeiit.i~iónrlc multiplexor dr f = Z(O, 1 , 6, 7, 1 I ).
Para implcmentar una función de conmutación de m variables, hemos vlstn que un ~riulliplzxor de tn - 1 cntradas de st.lzcciiin puede realizar la fiiricihn. Podría ser posible en algunos casos c l empleo de un multiplexor incluso más pequeño. Debe esperarse que estris ahorros en la crimplejidad del MUX debe11uiigiiiarsc a cxpcnsas dc :iI gún otro CON.
EJEMPLO 2
Demu
La función dc cualro variables cuyo mapa se muestra en la figura 1 5 , he v a a implemeni:ir rnediante u11 miiltiplexor. Sicrn~rr-ees posi bIe uno con 4 - I = 3 variables de selcccrdn. Sin cmbargo, varnns a explorar la posibilidad de utilizar un multiplexur con sólo dos variables de selrcción para implemeritar esta funci6n. Arbitrüriarnentr asignamas las dos zntradas dc selección .Y, y sn e w y x. La expresilin para la salida dcl muitiplexor es la n-iisiiia que la que se indich en el e j e m p ! ~1. ya que ksta tirne Iris misriifis dimensiones. Pwu nJx= A l,so = UO, csa expresicín se teduce a Do.Pcro pata lus valores IYX = 0,la expresidn que cubre los 1 en el maya cs 4'':' + y ' : = y'. Por coiisigujente, 12, = ? ' . De manera sii~rilar.eri la column,~O ! de1 mapa. la expresión se reduce a B , y el mapa produce v: + y;' = y ; por corisiguiente, U , = y. De la, misma Iriatieia, de la columna 11 cnrrintranios D , = O y de la columna 10, DI = y ? . [Confirn~e esto.) En la figl.ira l5b se muestra este circuito que es bastank simple. Enccintramos que para implenientar cierta funciiin específica dc cüairo vurzab1e.q.puede ernplcarrjc u i i i~ivliiplexordc ordcii menor qEe 3, ri costa de tina :iirnpiisrta AND adiciiinal. (El inversor seria necesario incluso con un multiplexor de orderi superior, por lo que D no cuenta como costo agregado.) Ejercicio 9. En el qemplo anterior, suponga que 7, y s, se identifican como y g .: en vez dc itby i.Deierrnine esprcciunes para 1x5 eiitmdas dc datris eri ténrinos de w y x, y especifique el hardw x e externo que se necesitriri iidemás del multiplexor. Advierta 1;i diferencia cn complejidad para las dos elccciones de entradas de seleccihn. Respiiestah 6
0 ,= DI = W ' I'. [J: = W'X. D3 = tr @ A , tres cciiipuertas AND y iina compuerta XOR, d e m i s & un MUX de cuatro b entradas.
Decod
Diseño 16gico combinatorio
139
En la implementación de una funciiin de conmutacihn arhitrana, distiiitas elecciones de las entradas de selección conducen a cantidades diferentes de hardware externo paizi un inultiplexor más pequeño que lo normal. Desaforiunadamentc, a pesar de hüberlas probado, IIO Iiay [orina de determinar cuál elección será la más econtímica.
3 DECODIFICADORES Y CODIFICADORES
ío.
i
De-
dc ü1-
La sección anterior cc iniciú explicando una aplicación: dadas 2" señales de daros, el probleriia es elegir, bajo el control de a entradas de selección, secuencias de estas 2" senales de daros p;ira enviarlas serialmente por un enlace de comunicaciones. La operaciíin invetqa en el extremo receptor del enlace de comunicación consiste en recibir los datos serialinenie en uno sula linra y transmitirlos a una de 2" líneas de salida. Esto se controla de nuevo por medio de un conjunto de entradas de control. Esta aplicación es la que necesita únicamente una linea dz enrrada; otras aplicaciones quizá requieran más de una. A continuüciiin investigaremos un CITL'UIIO genrralizado de este tipo. De modo concebible, podtfa haber un circuito combinntoio qiie acepta n aitradas lnn necesariamente 1, aunque un número pequeíio) y que ocasiona que Iris datos he dirzccionen hacia iiria de muchas, digamos hasta 2" salidas. Estos circuitos tienen el nombre genérico dr dcr,odiji~,ridor. Al menos semánticamente, si algo se va a decodificar, previamente debe haberse rodijich
Demultiplexores tar meembarlección j n para
ene las valorcs lo = y ' .
'rcducc nos D, ito que frv va3 AND
lo q u e
Refiérase al diagiama dr la fígin 12. El deniultjplexor que se muestra ahí corresponde a un circuito de una sola enirada y de salida ~iiúltiple.Sjii embargo, además de la entrada de datos debe haber utras cnrr;idns p.m coiitrolar la transriiisión de ertos Últimos hacia la línea de salida de datos apropiada cn algiin tiempo determinado. En la figura 16a se presenta un circuito demultiplexor de este tipo que tiene clchv líneas de salida. Es instructivo comparar este circuito dcmultiplexor con el circuiiii multiplexor de In fígiin 13. Para el mismo número de entradas de control (selección), exisie el micmo numero de conipuertas AND. Pero en este caso cada salida de ctimpuerta AND es una salida dc circuiio. En vez de que cada compuerta tenga su propia entrada dc datos independiente, la linea dc dato$ iinica constituye ahora una de las entradas de cada compuerta AND. Las otras ent r ~ d a de s la\ tsompuzna~XND son líneas de control. Cuando la palabra fonnadii por las entradas de control C,C,C,, es el equivalenle binario del decimal k, entonces la entradii de datos x se dirige a la salida D,.ViéncIolo de otrü fuma, en un demultipkxor con ti c n u d i s de control, cada salida de compuerta AND corresponde a l minitérmino de ti bxiables. Pard una combinación determinada de entradas de control, s61o un minitkrrnino puede tonlar el valor 1: la e n t ~ c l ade datos se dirige a la compuerta A N D correspr)ndienie a este niitiit2t-tninri. Por ejemplo. la e~prruiónlógica para ia salida D,es xC2'C,C,. En consecuencia, cuaiidci C,C,Co= fl 1 1 , entonces D,= A y todas las otras Di son 0. La tabla de verdad completa para el desmultiplexor de ocho sdiias se rnueAtm en la tigura 16b.
Decodificador de n a 2" lineas Suponga que se elimina la linea de entrada de datos en el circuito demultiplexor de la figura 16. (Dibuje el circuito usted mismo.) Cada compuerta AND ciirnta ahora con sólo n (en este caso tres) entradas, y hay 2" (en este caso ocho) salidas. Puesto 4i1r no hay una linea de entrada de
140
Principios de diseño lógico digitsl
Salida de datus
Entrada de contrul c2
CI
co
o o
0 0 1 1
0 1
1 1
0
0
0
1 1
1 1
1 0 1
O O
O 1
Figura 16. Un circuiio demuliiplexor ( 1 ) y su tabla de verdad b )
dato%que controlar, In que usatnus como cntradas de control ya no sirven para esa función. En ve7 de e w , éstas son la5 entrdrih de datcw que se van a decodificar. Este circuito es un ejemplo de lo que $e llama un decod$c.ci¿iir de n a Zn 1ínea.i. Cada salida representa un minitérmino. LR salida k es 1 sienipre que 1ü ccitnbinacibn de los valores de las variables de entrada covesponde al equivalente biiiririo del deciinril k. Ahnrri suliutiga que tio se rlitniiiri la línea de entrada de r'atcis del demultiplr uor de la figura 16 sitio que se retiene y se cihservü como una entrada habilitadora. El decodificador opcra en este caso solo cuando la x habilitadati es 1 . Visto de manera inversa, un decodificador de n a 2" lineas cnti ut13. eti~riilaliahili tadara tanihiiti puede utilizarse coma un demultiplexor, donde el habilitador se convierte eri la etittada de datos en serie y las entradas de datas del decodificador vienen a ser las entradas de control del dernultiplex~r.~ Los decodificadores del tipo que acaba de describirse se disponen como circuitos integrados (MSL); n = 3 y n = 4 son bastante comunes. 7
En la práctica, la implcmcntación física dcl dccodificdor con habiliiador s r efectúa con compuertas NAND. En ese caso, lo que se obticnc son los cornpleinentos de las salidas en eI circuiio (pie be antiliza, y la entrada h~biliiridurase invierte antes si se aplica a las coinpuertas NAND. Éstos son detalles pricticiis que nu cdmbian los principios descti-
tos aquí.
ihn. En bjemplo ¡no. La sponde
-
Diheñri 16gico combinatorio
I
arreglo de 64 compuertas AND Ao'A 'A2LioB,B,'
rL A o A l 'AIB,IB,E?'
I I
BOBlB2'
~ - - - - - _
- - - -
0 1 2 3 4 5 6 7
dwdificdor 3 x 1'
-' I I I I I
:
141
D,, DI
U14
:
-
D41,
1 . I
--
-
TJ,,
B
t 1 ,
B,Rl
A?
Figura 17. Diseño de un decodificador dr 6 á 2h Iíncüs a partir de dos decodificadores de 3 coti tina matriz de intercunexióii de 64 compuertas AND.
a Z3líneas
No hay razón teórica por la que n no pueda aumentrirsr a valtires superiores. Sin embargo. puesto que siempre habrii limitaciones prácticas en e1 faciur de carga de entrada (el número de entradas que una compiierta física puede soportar), los decodificadores de orden superior se diseñan muchas veces utilizando decodificadores de orden inferior interconectados con una red de otras compuertas. En la figura 17 se presenta una ilustración del diseño de un decodificador de 6 a Zh líneas construido a partir de dos decodificddores de 3 a z3líneas. Cada uno de estos últimos tiene ocho salidas. Cada una de las salidas proveiiientes del decodificador A debe ser mul~iplicadacon C ~ I da una de las salidas del decodificador B para producir una de las 64 salidas del decodjiicador completo mediante compuertas AND. De ese niodo. además de las 8 compuertas AND de tres entradas eti cada decodificador de 3 a 2.7 líneas, hay 63 compuertas AND de dos entradas en la red de interconexión. S610 dos de éstas se indican explícitamente en la figura 17. Ejercicio 10. Diseñe un decndificridor de 6 a 26 líneas utiliz~ndula estructura de la figura 16. Especifique el niirnero de compuertas AND y el número total de líneas de entrada de todas las 4 compuertas. Comparc con el diseño de la figura 17.
Decodificadorde árbol Cuando se diseñan decodificadores de orden superior en una jerarquía de varias etapas de orden inferior, se produce una dificultad practica con el factor de carga de salida (número de coinpiiertas alimentadas por una terminal). (Por una jerarquía de rt~ipasentendemos, por ejemplo, dos etapas de 3 X 8 para formar un codificador de 6 X 64, como en la figura 17; después dos etapas 6 X 64 para formar un decodificador de 12 X 7':; tic.) Vd en la figura 17, cada compiieria en componentes actúa sobre otras ocho compuertas. En el siguiente nivel de la 10s decodifi~~iilorrs jerarquía. cada una de las salidas de las compuertas desde el nivel siguiente hasta el último tendrá que actuar sobre otras 64 compuertas.
Este problema se supera, aunque solo parcialmente, mediante el diseno del decodificador tal como se ilustra en la figura 18. Esta contiguraci6n se conoce como derr)dificadoclr dtl árbol. La primera etapa es un decodjficador de 2 a 4 líneas. Se introduce una nueva variable en cada etapa
142
Priiicipins de diseño lógico digiral
'-
A - t
2x4 4
conipuenos AND de dos
, 5/32
3x8 8
4x16 16
entradah
AND de do^ entrddüs
cottipucrtai . ' AND de dos
entr;iJ;is
C
: ,
t
E uii
-
r.i*rnpiirris> AND Jc d~ns enuad;ir
ctimpueri;ih
D
Figura 18. Disefio de
72
d
---+
t
-t
decodificador de árbol
sucesiva; ésta o su inversa se vuelve una entrada para cada una de las cninpurnas A N D de dos entradas en esta etapa. La hegunda salida a cada compuerta AND ~irijvienede la etüpü precedente. Por ejemplo, una de las salidas dc la segunda etapa serA AB'C. Esiii dai-i origen a dos salidas de la siguiente etapa, AB'CD y AB'CD'. Este diseño evitü el probleiiia del factor de carga de salida en las primera etapas, pero no en las últimas. A pesar de eso. el problenia ex isle ~ ó l npara las variables que se introdujeron en quellas etapas, Todos los remedios que se requieran tendrán que utilizarse para un número relativamente pequeño de variables. eii oposición al niimero considerable que requiere el diseño de la figura 17.
Decodificadores como circuitos lógicos de propósito general: conversión de código Puesto que cada salida de un deccditicador de n a 2" líneas es iin producto canónico de literales,
nónica de prudiictos, se concluye que toda funci6n de ~onmuti1ci6npuede iinplementarse mediante uti codificador dr n a 2" líneas seguido por una cciriipiicrtii OR. (Si 2n excede la limitacidn del factor de carga de eiitnda de la compuerta OR. wrán necesaios niveles adicionales dc compucrtas OR.) En realidad. si se va a irnplemencar mds de tina fi~ncicínciz las mismas variables, es posible utilizar el mismo drcmlificador. teniendo c d i i fuiicibn su piiipici conjuntri de compuertas OR. Una clase fiiiidnriiziitnl de circiiito lógico se conoce como cwni.ertidnrde cridigo. Se trata de un circuito que acepta como cntrridn los dtgiios lid iina pülühra qiir expresa alguna información en un código particular y qiir prndiice como sa!ilias los dígitos de una palabra en un código diferente. (Véase el capftiilo 1 para iina introducciiin a los ciidigos.) llustraremos el uso de un decodificador como u n ciinveriillor de c6digi) Jiceñando un circui tu para convertir del código de exceso 3 al c6digo dc sictc segmento%.(Estos códigos se presentan eti la figura 4 y en el ejercicio 12 del capítulo 1: se repiten aquí en la figura 19.) Suponga que se dispoiie de un decodificador de 4 a 16 lineas. Puesto iliie sólo hay 10 palabras válidas de cdigv de exceso 3, únicamente 1 I) de las 16 salidas de las compurms AND adquieren alguna vez el valor de 1. De modo que sób se usarán aquellas 10 salidas de un decodificador de 4 a 16 líneas. Éstas se iiidican en la figura 19 mediante sus equivalentes decimales.
compuertas OR, una para cada segmento. Sólo necesita tomarse una decisihn: ~ c u A I ~ salidas s del decodificador deben convertirse en las entradas a cada compuerta OR? Esto se responde pai-a cada seenlento listando los números de minitérminos correspondienles a cada palabra de cbdigi) para la cual esa salida de segmento tiene el valor 1. Las listas de minitkrminos para las ~iilillii~ correspondientes a algunos de los segmentos son las siguientes:
Diseño lógiiii ~.oiiihinatorio 1.U
Entrada..,: Exceso 3
Salidas: Siete segmentos
S,
s4 s5
-7-3
n
o
1
1
1
1
O O 0 O 1 1 1 l I
1 0 1 O 1 1 1 1 0 0 0 0 0 1 O t I O
0 1 0 1 0 1 0 l O
O
0
o
1 0 0 0 1 0 1 0
0 0 1 1 1 0 1 1
1 1 0 1 0 1 1 1
1
Sb
1 1 1 I 1 o 1 0 1 1 1 I 1 1 0 0 1 1 O 1 I 1 1 0
1 1
1 1
1 0
s7 0 O
I I 1 1 l 0 1 1
F i ~ u r u19. Cocverriijti de código de exceso 3 a siete scgmcntris.
)
con-
na ca-
Figura 20. Cvn\ ertidor dc código ~ t exceso r 3 a siete segmentos.
S, = C(3, 5 , 6 , 8, 10, 11, 12) .Y4 = Z(3, 4, 5, 6, 7, 10, 11, 12) S,=C(3,4,6,7,8,9,
10, 1 1 , 17)
S, = E(3, 5. h, P. 9, 1 1 )
S610 una de las compuertas OR (la corres~undi~n!~ a S,I se ttiuestra en la figura 20; debe haber otras seis. En ese caso. cuando una palabra d r c6digo de 2 ~ ~ 3 2correspondiente ~ 0 a un digito decimal aparece a la entrada, se iluminarh los sesinentns apropiados, exhibiendo el digito.
Ejercicio 11. Escriba la lista de minitérminos para los ires segmentos cuyas listas de minitérrninos
no se iriclicriron en 8). Confirme las entradas a la compuerta OR en la figura 20. ara ca-
4 MEMORLA SOLO DE LECTURA (ROM) U n circuito para implenientar uiia o más furicioties de conmutacidn de varias variables se describió en la secci6n precedente y se ilustró en lii figura 20. Los componentes del circuiio son:
I
x2-
-y3 VI
-z1
-
22
-
z3 mi
10n tntradas
2"X m
2" arreglo JC interconexióii
decodificador
n X 2"
-& m SAliJas
2"X m
Figura 21. Estructura básica de una ROM.
Un decodificador de n X 2: con n lineas dc entrada y 2" líneas de salida. Una o tnás cnmpuenas OR, cuyas salidas son las salidas del circuito.
Una red d e intercontxiiin entre salidas del decodifícüdur y entradas de comptrerta
OR.
El decodificador es un circiiito MSI, compuesto pnr 2" compuertas A N D de a entradas. que produce torjns Inc minitkrrninus de n variabies. Este proporciona cierta econcimí3. de realizacióri, debido a que el tnismo decodificador puede usarse para cualquier aplicación que iimplique el misnio núniero de bariables. Para un~iapIicación particular sdlo carnhia el núrnero de conipuertas OR y las $alidas cspccificns deldecodificador qiie se convierten en entradas para dichas compuertas OR. Será bienvenido todo [oque se haga para producir un circuito de prtipósito geiieral. El método de propósito general rnás común consiste en iiicluir el núinero iniixjmo de compcierta OR, toniando provisiones para interconecrar CI total de las 2" salidns dcl decodificador crin las entradas de cada uria de las compuertas OR. En esa situaciiin. para cualquier aplicación &ida, podrían presentarse dos cosas:
El número de compuerias OR utilj7adas pcidríri ser menor que el número mixirnci, quedando las restantes sin uso. No toda
En hez de eso, suponga que se selecciona un número más pequeño. iii, para el iiiimeia de compuenns OR que se van a incluir, y que w establece una red de interconexión para interconectar las 2" salidas del decodificador a la$ m entradasde las compuerias OR. Esta estnicruia se ilustra en la figura 21; corresponde a un circuito conibinatorio LSI con n entradas y m salidas que, por razones qut. ~ i i i i clxiis i rná? adelante, be conoce como meiiiorin I ~ Pr h k r ~ u r u (ROM].Una ROM conhta de dos partes:
Un decodificador d e
ti
2*.
Un arreglo de S* X m dispositivos de conmutacíiin que forman interconexiones entre las 2n líneas del decdificador y las m líneas de salida Las 2" Iiiieas de salida del decodificador se denoiilinan lineiis & palabra. Cada una de las 2" corn hiniiciones que constituyen las eniradas al arreglo de interconexi6n corresponden al minitérmino y especifican una diwcciún: t n c m o ~ i cconsta ~ de aqiiellas conexiones que se efectúa1 realmente en la matriz de conexión entre las líneas de palabra y las líneas de salida. Una vez hechas. las conexiones en el arreglo de niemoria son p r m a ~ e n t e s . ~ Eii
ciertss disciios. es posiiile que 1% cwexiones sean horrriblea; csto se descrilnri
m i s adelante.
Diseno 16gico cotnhitiatorio
f 45
3% Figura 22. Una tabla de verdad ROM y su programa.
ierta OR.
,s. que prozación, demplique el :compuerichas com-
De niodo que ?sin memoria no es una cuyos contenidos puedan cambiarse con facilidad de un tiempo a otro: s61o "escribimos" en esta memoria una vez. Sin embargo, es posible "leer" la información ya almacenada (las conexiones ya hechas) tan a menudo conio se desee, aplicando palabras de entrada y observando las palahras.de salida. Ésta es la razón por la que el circuito recibe el nombre de mrmorin dr ,sn'lo1et.t~rri.~ Antes de continuar, piense en dos nianeras posibles de fabricar una ROM de modo qiie un conjunto de conexiones pueda efectuarse y E I otro conjunto quede descoiiectado. Continúe dtspués de haber pensado acerca de ello. La "escritura" de un iiempii en la memoria puede ejecutarse del modo siguiente: Una ROM puede fabricarse casi por completo. dejando pendiente solamente la realizaciiin de m i a s las conexiones. Se dice que una ROM de este tipo es~,u;i en blmco. La formación dr las conexionts para una aplicaci6n particular se denclinitiri ~ i t r lrumucicla y de la ROM. En el proceso de progrrirnación de la ROM, se prodiice una muscaru para cubrir aquellas conexiones q i r no se van a efectuar. Por esta razón, la forma en blanco de la ROM se conoce ccimo rrri,rcara
progrut~iable.lo Una ROM puede fahricarse completamente de modo tal que todas las conexiones pciteticiales se hayan realizado. Una ROM de este tipo estará en blanco. La pmgramaciiiti de la ROM para una aplicacjbn especifica consiste en abrir aquellas conexiones qiie son indeseables. En este caso, la ROM en btancti se dice que seráprogmmublr~cri rampo (denominada PROM). Las conexiones se eilectkan colocando un Jusible o enldce en cada punto de conexión. En cualquier aplicacidn específica, se abren o "apagan" las conexiones indeseables haciendo pasar pulqos de corriente a través de ellas. Una medida del costo de la PROM es el niimero de enlaces de fusible. 2" X w.l1
¡ti) general. no de com-
dificador aplicnciijn
ximo. que-adas de las
número de interconec-
:ura se ilus;alida que,
3OM). Una
Una vez que se ha programado 1~ ROM, una palabra de entrada xl, x Z . ..r,, activa una Iínca de palabra especifica crirrespondietite al minitérmino formado por los valores rrpecíficos de las x ~ . Las conexiones en la matriz de salida producen la palabra de salida dzseada.
EJEMPLO 3 es entre las de las 2"
al miniterse efectlian Jna vez heia
La figura 22a presenta una tabla de verdad para la matriz de interconexión de una ROM de 22 X 3. La tabla de verdad implica el programa ROM representado mediante los puntos en la:, iii-
I
aparece en su nombre la palabra "inenioria". una ROhI nu cuenta con una memoria en el sentido u~wlTninn se dcsznbrd en los capítulos 5 y 6,la memona se cará~ieri~a por ~ i ~ u i t secuenciales, os mas no combiiiaioriric '"a m a s c x ~que , requiere aknciíln minuciosa, implica uiia Lnsirica pruducci6n. Por consiguiente. las ROhl de programación por tiihsc~ra.se usan shlo cuando un número muy granda de lotes de produccidn justifica el cristo. l ' Alpunas PROM SI. fabrican de manera que sea posible restituirla
"unque
146
Principios de discño lógico digitdl
lersecciories de las líneis de paiabras de entrada y salida e n la figura 22b. Cada palabra de enrrodo define Lina palabra d~ salida. conii) l o requiere la tabIa dr verdad. Si la palabra de entrada es 01 (correspondiendo al minitérmino m , ), por ejeinplo, soli, se íictivnrá la línea de salida 2:. pues ex la única conexión con m , en la rnatrlz de cotiexirin. Por consiguiente, lía palabra de salida sera 01 0. como se coiifirma también en la labla dt: berdad. (Verifqu~ d pai-iii dc la tabla ila • verdad que el resto del programa es ccirrecto.) Ejercicw 12. Sc va a prrigramar una ROM para irnplementar la conversilin del c8digri de cxce30 3 al dc sietc segmentcis cuya r:ihia Fe indicii en la figura 19. Las ROM se presentan en lamanos ehtánd'u. y m = 7 nno es urio de ellvs. El sigu~enlctamaño esi5ndar iitds grande es nr = H. En c.unsrciieiicia. la tabla de verdad tendrá seis renglones mas y una columna m8s que lo que se indica en la figura 19. (Ehpecifique c d l e c e r á n [as entradas en la tdbla de verdad p r . i est0.i renglones y columnas adiciunalcs.) Dibuje el númrro apropiado de líneas de cruce para las paiabras de entrada y salida. Recurricndri a ia tabla de verdad, prograiiit. la ROM poniendo puntos en las interseccioiies aprtipiad35 de estns dos palabr-as.
Etr cl ejercicici 17 21 numero de entradas eti In tabla de verdad (que correspond~al número 13%palabras dc entrada y de salida) es 2" X M = I h X 8 = 128. De Cstris. la mirad representa valores rlo relevatitcs. Hay casos bastante peores que este; en ricasiones be usa Apenas 1 O& de )os e11)aces.lo que origina un "dvsperdiciu" c.unsicierah[e en estc tipo de irnplernentaciones ROM. Una implementacirin que exite este desperdiciu ht.1 í a hienvciiidu, lo cual er ril terna de la szccion siguiente.
de enlaces entre
1
U n a forma de consideru ir& ROM que se dxplicrí en la secciOn ariterior corscsponde 3 un dispíikitivn con iina cstructurd especifica (un ci>iijliritc?de compuertas AND y en cnnjun~nde compiieitas O R ) que el diseñador puede utilizar para obteticr las salida> deseadas efrctuandri unas cuantas rnudificaciunc.~.Podríitmos decir que 1a ROM ha .;ido "ptogrdrnadii" pira producir sus %alidasespecíficas. Existen otrds estructuras que tienen esta prvpiedad, a sabcr, programabilidau. Un iiomhre gcnirico para ellas es dis~oritivaluxico progrunruhle (o prciprímadci) (PLD). La ROM implcmenta funciones liigivas conio suiiia de niii?itirniinos. Pira n variables de ect d i i hay 2" minitenninris Y, en consccuencia, 2" climpuertas AND, cada una con eiitradaf. Crinio ilcab;\ de explicarse, ccln i'recueiizia en muchas de las funcionei lógicas, no iit: umri niuchcs de lax compuertas AND ni los eniaces que las COnCCtan a las compucnris OR de
Arregla lógico programado (PLA) Lü irtiplc1tient~1ci6n can6nica de suma dc prtiducros dc uiia función 16gica constituye iin desperdicio eri do
ira de en-
A 'C'
e entrada d i d a z2, -a de salii tabla de
AB'
m AC I
de exceen tamii-
71=8.
B'C
En
1
1
fl
fi
que se inestos ren;palahrns
tos en las t
iI
núniero
:as, la miles se usa
de implelo cual es
un dispocompuerindo unas xiucir sus nabilidad. LD). )les de enradas. Coin
muchas
1.
A conti-
prdicio.
desperdin ~ i ~ lqiic ~is r51110S U113 :ihi Iógiw producto3 i
el prcible,or CASO de
:stc atiorro
eras AND Ir ortr>glo e 11 = 3 va-
A
B
C'
.f,
f4
Figura 23. Estructura dc un PLA.
El diagrama en lii figiird 23 no corresponde al diagrama clásico de un circuito. Se niurstriü una scila línea para representar i»dnx las entradas a cada compuerta AND y OR. El núniero d2 lineas de entrada a cada conipiierta AND dehe ser Za, el doble del número de entradas. para itjustar la posibilidad de ciinectw 'ada viviable o $11 ccimplrmentu n cada compuerta AND. El numero de líneas de entrada U cada compiicrin OR dcbr srr igual a1 tiúmero de compuertas ANU, digamos p. (Por simplicidad y sin peligro de confiisiiín. los símbolos de compuerta pueden omitirse.) Las conexinnes prngramiidiih entre las entradas las compuertas AND, y entre las salidas de las compuertas A N D y de las ciiinpiiei-tiisOR para un conjuniu específico de funciones de salida, se muestran por medio de lo+ piiiitos cn las intersecciones. Los mapas de las cuatro funciuncs de salida y de las expresiones mínimas de suma de productos se presentan en 13 figura 24. En ehte ejemplu, un total de s d o cuatro términos producto abarca todas Iüs funciones, de mciJo que \e necehitan únicamente cuatro compuertas AND en la realización. Dos conjuntos de linea3 deben prcigrarnarsc: las líneas de entrada y las líneas de salida. Para efectuar esto. construinios una tril~ladv pro,qramacirin coma sigue: Los impliciinlch (t&miino<producto) 5~ Iistan como encabezados de rengloner;. En iin conjunto dc columnas, los rn~~ibtírados son las variables de entrada; esta parte de la tribla debe prciparcioniir 13 inforninciiin que indica cuáles variables o (sus complementos) son factores en cada iniplicante. En un segundo conjunto de ctiluninn~.Iiis encabezados son las funciones de salida; esta parte de la tabla debe dar la inforni~c-i6nquc indica la compuerta de salida a la cual se dirige cada implicante (salida de compucrta AND).
En el primer conjunto de columnas, si ésta presenta una variable (no compleineiitada) en un reng16n particular, la entrada correspondiente es 1 ; si su coriiplemento está presente, la entrada es O. Si ninguno aparece, la entrada puede dejarse en blanco. aunque es preferible mostrar algún sírnholo sustituto; a menudo se emplea una raya. En el segundo ctinjuntci de columnas, que corresponde a las fiinciunes de salida, si una fuiici6n particular cubre un implicante particular, entonces la entrada correspoiidjeiite es I : en otro caso podria dejarse en blanca, pero suele anotarse un punto. Como qiemplu. considere el reiiglílii 4. Puesto que el iinplicante es y':, la entrada en la columna z es 1, In currrspundirnte en I n columna y es O, y la relativa a x es una raya. En las columnac dc calidiis. íiniciirnenir f , iiri ciitirr
r 148
Pr~ncipiosde diseñc: lógico ciigital
Ti
-
Núm I
7 3 4
5 h
7
8 Y
Entradas
TPrminri
produc'~
.
3.
10 11 12
Salidas ?.
j, f
J;
,f4
13 14
1s 16
Figura ; Figura 24. t'rogrumicilin del PLA.
,.
al implicante y ' z ; por tanto, la entrada sera 1 en toda columna en el renglhn 4 excrpto la f donde la entrada es *. Confirme lri que ncurre en e1 restu de los rengl(~nes. Uiia kez que se efectúa la progmmacil?n, la fabricaciiin de los enlaces (puntns de coiiexión: en un PLA se lleva a cabo de manera similiii-a la de la ROhl. El PLA es prugizimabie por mdscara o program~blerti campo (FPLA). En el caso dcl FPLA. con p = el número de campuerti AND, existirán 2np enlaces en las entradrs y rnp enlaces eii las salidas.
Para el ejeiliplo de la tigui-~23, el núriiero de rrilaces e!, igual ii 4(6 + -1) = 40. Sólo 16 de éstos se conservan, lo que significa que 24 cnlaces tienen que abrirsr durante la programación de campo. Los PL.4 tip:co> tienen más entradas, salidük y compumas ANU que Iiii que se indicar. en el qemplo de la figura 23. (El C1 tipo 825 100, por ejemplo, incluye n = 16, m = 8 y p = 48.)
Cuando un conjunto de fiinciones de coilmutacihn se presenta para implemcntarse con un
PLA, unii mera d e diseiin
sena la rediircidti de p (el número de compuerta5 AND). La economía que se dcanza nu proviene de una reducción en los rostos de producción dc las ciinipuenas. (El
costo de producción de un C1 r s prácticamentc el mismo pai-auno con M cornpiicnas que para unu coti 50.) En vez de eso, la elimiri;ición de una compuertu AND hace a un lado 2n = m enlaces; la principal fuente de ahorros es la clirninacion del sustancial iiúr~irio tic riilaczs debido a la eliminacihn de cd;i conipiierta AND. Por otro hdo, la reduccihn del númcro de cotnpuertaj AND h,ista un mínimo nu significa que cada función se minin-iieari o que todos los implicrintei scrún primos. Los implicantes deben elegirw de maiiera que la maycir caltidad prisible de ello> sea común a niuchas de las hinciones de salida.
Lúgica de arreglo programado (PAL) Una ROM tiene gran núniero de enlaces de fiisibIe (rn X 2") debidci al gran númeru (Sn)de compuertas ;lND. La programacirin de loa enlaces se efectúa siilo sobre las salidas dc las conipuertds AN U. En un PLX, el numero de enlaces ir I ~ d u c cconsidcrablcmcntc al dis~iiinuire [ númeru dc coriipuertas AND. Lo últiriio se lleva a caho carnhiando la expresi6n que representa a la furcicín de conmutüciún de una foirna can6nica di: suma de productos a una suma de productos cm
Diseño lógico cumhinarorio
Tkrmino producto
Enrradüs
f 49
Salidas
- -
Numero
Función
i 2 3 4 5 b 7 8 9 1 O i l l 2 1 2 3 4 5 b
Figura 25. Tabla de prograiiiaciijn pard un cjcmplo de PAL.
e conexión) ile por mis-
: corripuerta
ilo 16 de ks-
*amación de e se indican
3yp
=
4s.)
:JTW ~ iun i~i
,a economía ipuertas. (El ras que para !II = ?n enla-
:es debido a compucrtiih implicantes iblc de ellos
(27de comcompuermímero nia ~i la Fun-oductoscon
as
ir e l
menor tiiinierii de términnq. El costo está en la necesidad de programar no si510 las salidas de las compuertas AND. sino tambitn las entrad,is a estar rnisrnas compuertas. ~ Q u utra 6 posibilidad de programación existe n i b allá de los dos ciisos relativos a u) PrOFrWtIar las salidas de las compuertas AND y 6 ) prtyi-anix tanto las entradas como las salidas? Estamos segurtis de que respondcrá: "programar exclusivamente lac; entradas". Ésta e5 una posihilidad. ¿pero vale la pena'! En el caso de la ROM, no hay necesidad de programar las entradas debido ü que, para ~ ~ 7 quier func16n de n variables, existirá el mismti (gran) númcro de cornpuerbs AND. De la misnia manera, ii pudiera fijarse el numero dc compuertas OR a la salida, enlonces sería posible evitar la progrnmal.iiin de las salidas de las Compuertas ANI). Eii muchos circuitos con salidas rnultiplcs. aun ciiarido las süljdas son funciones de un númcir> niriyor de variables de entrada. el número de térrtiinos producto en cada salida es pequeñci. Por ello es pequeño el número de compuertas AND que llegan a cada compuerta OR. En talch casos, fijar pematientemente 1.1 número de compuertas OR y dejar Únicamente lü programaci6n de las entradai de las compuertas AND para 21 diseño individuiil podría tener sentido en cuanto a la economía. El circuir0 rcsul tante recibe el ntirnbre de I d ~ i c adel irrreqlu programud~)(PAL).'? Existen PL4Lestándar para un número de valores bajos de p. Por ejernplo, el PAI,IóLa titnci un mixiino dz 16 entradas y 8 salidas. Una tabla de pmgramacidn para iin PAL es siriiilar a la c~rrespondicntea un PLA. Un Caso cori seis salidas se ilustra en la figura 25. Una KOhl con 12 variables de entrada riiquzriria 212= 4096 compuerta.; AND.
Sin embrirgci, vamos a suponer que en algunilis casos posibles, la expresihn canónica dc sirmil de productos puede reducirse hasta 16 implicmtes, indicandrise sólo uno dc ellos en la tigura 25. Las entradas en la tabla tendrían el mismu significado qiic siquellas para el PLA. Sin embargii, para el PAL, las cnlumnas de salida las fiarla el fabricante ccgiia el número de coinpiiertas AND ya conectadas a cada compiierta OR. Eri el caso presente, dos de las compiiertns OR de salida son activadas cada una por cuatro compuertas AND; a cada tina de las cuairri coiiipuertas restantrs las activan dcis compuei-tas AND. En cualqiiier problemii de diseño detenninado, el primer paso es obtener una expresitin l2
PAL es una niarci coinercial registrada de AJ?ai~c.dMicro Uevices.
1 -
apropiada de suma de productos. igual que en el caso de imylementación PLA. Las conexiones de entrada se indicar1 en la tabla cvmo en el caso de1 PAL: una cnunda es I si una vanahle a p m c2 iio complementada en un implicante, un O si aparece ~ompIemen:ntada, y una raya si no a p m e en lo absoluto. Esto se ilustra para un rengl6n en la figura 25. El númcro de enlaces de fu~ible:e n este ejemplo es 2 ii 12 X 16 = 384. Esto es 20% menor que el númerri de enlaces de un PLA que tiene las misma.+dimensiones. Por 10 corniui. sin er~iliargo,los P L h tienen mas cornpiiertas AND y por ello, para un PAL, el rihmrro de enlaccs comúnmente seria muchas veces superior que el ntímero correspondiente a un PLA coniparable.
PRC
Ejercicio 13. Siiponga qiie d a de 10s renglones de entradas en la figura 25 san del sigujeiite modo;
010-0--]---1 1 1- - 0- - 11- -
¡,Cuáles soii los términos producln correspondienres?
*
EII el capitulo 8 sc dedicarj. un puco mil; de atencih in 10s PLD. Igualmente se considerar-j ahí el uso de lenguajes de descripcibn de hardware en los diseños utilizando dispositivos 16gicos
prograrnab tes.
RESUMEN Y REPASO DEL CAP~TULO En e1 capituio 3, Los diseños ;;e efectuaron con compuertah priiriitivas en circuitos SSI. Este capitulo avanz6 el prmeso de diseiío hacia circuitos mfis ctmplejos irnplementados en uniddes
MSI. Los temas incluidos fueron Sumador birimio.
* Surnador completo. Sumador de acurco prupagado. Surnador de acarreo anticipado. Kestador binario. * Surnador y rewador dn compIemento a dos. Sumador y restador rri coiilpleincnto a uno. Multiplexor. Entrada de datos. Entrada de selección. Imptementación de circuito Iúgico de piupósito general con multipllexrires. Deinultiplexores. Líneas de entrada de datos. Lineas d e entrada de control. Decodi ticador. Decodificador de n X 2" Iiueas. Decodificador dc árbol.
Implernentación de circuitos lógicos de prop6sito general con decodificadores. Conversión de caigo. Menioria de sóln lecriira (ROM). Decodificador de n X 2". Arreglo de intercwenión de 2" X m.
Programación de una ROM. ROM de máscara priigrarnable. ROM de campo prograniable.
1
Diseno liigico combinatorio
Dispositivo lijgico programable (PLD). Arreglo lógico programado (PLA). Lógica del arreglo programado (PAL).
unexiones ible apareno aparece : fusible en
ie un PLA compuereces supe-
PROBLEMAS L.
;onsiderará
SI. Este ca:n unidades
a. Analice cada lino de los circuitos dc suinadrir completo que se miiestran en la tiguri PI
j r\c.ri-
ba exprecioiies para la salida de cada compuerta iniemiedia. b. Obienga expresiones líigicas para lac salidas del circuito siiira y acarreo. c. Confirriie que estas expresiones son equivalentes a las fuiicioncs dc >urna y acarreo en las ecuacionrr ( L i dcl textu.
l siguiente
vos lógicos
151
t. a. Diseñe un sumadar de acai-reo anticipado de 4 bitc. En la eciiación (,7)del tcxtu para la funcibn de acarreo, sea i = O y deje que j varíe de O a 4. Escriba las expresiones resultantes para C,, C1, C, Y c4. b. Construya el diagrama IOgicii para el ricamo anticipado de 4 bits cuyo diagrama esquemático sc presenta en la figura 8. 3, Multiplique un numero binario de 4 bits Y = y f i p l v o por mediii de un número biiiario de 3 bits X = xp,x,. Utilice dos sumadores ir 4 bit5 y las coiiipuerta3 que sean necesarias para iiiiplementar esta operacidn, y dibuje el diagrama corrzspndiente. 4. Derriiiestre formalrnencc que si la variable pnipagada P, para un suinador de acarrso anticipado se define coiiio A, + B,en lugar de A i @ Bi, la salida de la suma y el acarreo del sutniidor se seguirán calculando de manera correcta. (De tambikn una de~iiosiracióninformal.) ~Cuh1detinicilliti rs tnejnr con fines de implementacihn? 5. Disciie uri circuiio para la detección del desbordamiento eii el hurnad
6. a. Miirsrre las conexiones en un diagrama esquem5iirio de un rnultiplexor dual de cuatro entradas i completo. para realizar las funciones de suma y acarreo de i i ~ sutiiador b. Repita utilizando un decodificador de 3 s 2' líneas. 7, Realice cada una de las sigiiieiiies fiinciones utilizando un multiplexor 8 X 1
8. Realice cada iiiia de las funciunes del problema 7 utilizando la mitad de un niultiplsxor dual de 4 X 1 y el iiiíniero mínimo de compuertas externas. 9. Repita el problema 7 utilizando un decdificador de 3 a z3 lineaa. 10. Utilice un rnultiplextir dual de cuatro entradas pnra imyleiiientar cada uno de las siguientes pares de fiiticiones con el menur número de Cíimpuerias exlernas.
11.
a. Muestre climo conectar un sumador MS[ de cuatru bita que sirva como un convertidor de cdigci BCD de exceso f . b. Repita uiili~andriu11 decodificador de 4 a 10 líneas (BCD a decimal) y cuatro compucnüs AND.
12. Diseñe un decodificadur BCD a decimiil utilizando dos decodificadores de 2 a 3. Jrneas y un mínimo de coinpuems AND ititerconectadas.
152
Principios de diseño Iúgico digital
Figura P1 13. Un circuito aceptar8 dos números binwos de 2 biti xlx,, e y1y, y emitirá Iris productos como números binarios de 4 bits z,z,z,z,- (Si es necesario. revise la multiplicaci6n hinaria en el ~apítuloI .)
a. El resultado se cunveguira (pusiblemente) mediante un circuito multinivel con compuertas de dos entradas. Determine expresiunes apropiadas para cada salida. ¿Cuántos niveles de compuertas tiene cada salida? b. Diseiíe un C ~ T C U ~utilizando ~O un decodificiidor de 4 a z4 líneas con compuertas OR cxtcmas.
14. Examine ediciones recientes de libros de datos de fabricantes. a. ;Cuál es el valor de n en los decodificadores de n a 2" líneas mis grandes'! b. Indique cuáles son los tamaños estándar de las ROM. c. ~Cuáiesson algunas dimensiones representativas de un chip PLA? d. ;Cuáles son algunas de las dimensiones representativas de un PAL? e. iHay un sumador BCD en uii CI MSI sencillo?
15. Una funci6n de conmutación de n variables se va a implementar mediante un decodificador de n a 2" líneas seguido por una compuerta OR externa. La compuerta física que se dispone para esle propbsito tiene salida tanto OR como NOR. (Es una compuerta ECL.) Por razones prácticas (para evitar pmblcmas de1 factor de carga de entrada), seria mejor tratar de reducir el número de entradas a una compuerta externa.
Diseño IGgico conibinatorio
153
a. Dcscriba cómo implementar la funci6n iitilizando la compuerta física disponible si el número de minitérminos contenido en la funcidn es mayor que 2"-l = 2"12. h. Ejemplifique con la siguiente función:
a. Diseñe un decodificador BCD a decimal iitili~andi>el núnizrii inininin de compuertas AND de dos entradas. b. Repita, utili~andodo& dwriditicatlures de C a 4 lineas y algunas compuestas AND de interconexión. a. Utilicc dos decodificadores idénticas de n a 2" líneas con entr~dashabilitaduras para constmir un decodificador de (n+ 1) a 2" líneas sin habilitador. Mueske c6mri se obtienen la'; \alida\. b. E,iemplit'¡que con dos decodificadores de 2 a 4 líneas.
Diseñe u11codificador de octal a binariii. Esie es un circuito con 8 entradas. x, y tres salidns. ;,. S610 una de Ii salidas es 1 en cualquier rtiorntnto. El dígilo cictal k se representa mediante xk = 1. Diseñe un crin\-ertidor dc código de digitiis decimales de un cúdigo 2 de 5 a siete segnicntos ( 7 ) Sr van a expliiror iariw posibilidades diferentes, suponiendo que 5610 palabras de código vilidas sc prcsentarán crimo eniridas. a. Dibuje iin diagrama de circciro utilizatido un diseno cornplcto de decodificador de 5 x f r . b. Supoiiieiido iiii diseño que uiiliza ciirnpuems discretas: i. Dibuje un tircuitu para el discfiode suma de minitéminos. (6ste constituina un dz~ixlificador parcial J ii. Las compuertas A N D en el diseño precedente son de cinco entradas. ;Es posible usar la misma estructura pera con compuertas de d w entradas? Justifique su respuest.1. iii. Efectúe un diseño mínimo de suma de productua quc usa 11 cornpucrtas ANO y 7 compuertas OR, cada una con no mis de Lres entmd;is. iv. Considere un diseño mínimo de producto de bumas. , , k ~ te> e I I I ~ \r.c.onbiiiicii que el diseño mínimo de suma de productos? v. Suponga ahora que, además de las palabras de cúdigcl vhlidas, titriihitn pucdcn ocurrir palahrah inválidas. Modifique lo mejor de los disenos anleriilrei d r rnunera que cada que haya una palabra de código inválida, se exhiba el sírrihlu E icorre~piincliznlra error).
lo números 1 .) :nas de dos
:ornpuertas
~r dc n a 2
;te prrip6~ievitar pro-
.a&s a una
El ciitivertidor de código del problema 19 se va a dicriar con una ROM. La ROM disponible de taniaiio inás cercano es una de 2% 8. Construya la tahla (le prijgraniacinn requerida. Especifique el núniero de enlaccs. El convertidor dc código en el problema 19 se va a implementar con un PLA. Se cuenta con un PLA de 5 X X cun 12 compuertas AND. Dibuje un diagrama de pr,rogr~mwi6npard implemcntar cl convcrtidvr de cíKligo que se desea. Especitique el núrtiero de enlaces.
a. Suponga que el circuito del prohlemii 13 sc va a implcmentar con una PROM de z4 x 4. Muestre la tabla de pnigrarnacihn y dihujc un cliügraiiia apropiado. b. Suponga ahora qiir. el circuitci se La ü inililcmentar iiiediante un PLA de 4 X 4 curi 10 conipiirrtas AND. Miiestrr FI diayrama dc proprnrnxi6n (en la forma dc la figura 23 del kxto). C0inp.lre el núinem de enlaces con qukllos de implementacicín PROM. Construya la tahla de programacioii eii la furiiia de l a figura 25 del iexki. c. Suponga ahrii-a quc el circuito se va a implementar mediante un PAL. Elabore la tabla de progi-amaciún cn la foi-ma de la figura 25 del texto Se va a diseñar un circuiio combinatnrin que ticnc ttzs entradas y seis salidas. La palabra de salidd k d a ser el cuadrado de la palabra de entrada.
a. Diseñe el circuito utilizando una ROM que tenga Id.. dimensiones más pequeñas pnsibtt.. Elaborc la tabla de verdad y especifique el número de enlaceh.
h. Disctii: cl circuito utilizando un PLA con el menor numerii de térinincis producto Blaborc el diagrünia de programación y especifique el niimero de enlace5 I,o\ d i ~ g r ~ m dc ü s programación para dos PLA se muestran en la l i g u r ~P24.
154
Prrncipios de diseño
lógico digital
1
2 3 4 5
6 7
8 9
10
I
I
;:
iiaBivv
.:
1 1 1 .f:
f
f,
I
S,
b)
Figura P24
a. Escriba l a eiuaciunes de las salidas realizadas por cada PLA. Especifique el número de enlaces. b. Las mismas funcione': sc van a redizar con una ROM. Especifique las dimensirines de esta misma y el niíniero de enlacca. Integre su tabla de programación. c. Lac mismas furiciones se van a realizar con un PAL. ¿Es posible hacerlo de ese modo? Si es así, elabore la tabla de programacidn y especifique el número de enlares. Si no es posible, explique por q u i . 25. (Si lo tuquizrs. re$ ibr el capitulo 1 acerca de los c6digos de Hamming.)Uiilizando un deccidificador ti a 7" (para una t i apropiada) y cualquier 16gica adicional: a. Diseiíe la 16gica de corrección de errurcs para un c6digu de Hamming de currecci6n de error simple suponiendo 3 bits de mensaje en cada palabra de c6digo. Las salidas del circuito deberán ser:
dc
E, indicando que se ha detectado un error.
iero de
Diseño Iógicu cvmhinatcirio
155
[V. indicando que l a salida MSG es iiivilida (evideiitementc, IV es 0 cuarido ningún errur. o sólo un error simple, ha ocurrido). MSG, una salida de 3 bits que conticnc cl menaiije transmitido corregido en liir cairis de ceni y un error.
b. Diseñe la Iogica de correccidn de error siniplr y de deterrihn dc ermr doble (SEC-DET)) para un código de Hamming de corrección de errores cittendidri mediante la suma & un bit de paridad por todas lac piisiciiinrs (estoes, meiisajc y paridad). Suponga 3 bits de mensaje en cadd pAabra de código. La< senales de salida y sus significados serán las mismas quc cn la pane ti
26. Explique en palabras cl curnpirlamiento del diagrama de la figurü P2b. (Las flechas abiertas representan entradas y salidas ds niultiples bits.)
arguiiieiiiri 2
B
-
I
suma
cuando: C = O: pasa
cuando: C = 1: cwmplemenln bit p r hit
wunicnui I
sumador binario
Figura P26
27. Un micropriices.irlor (pp) produce una salida de trec sehales de coiitml que tienen el significado indicado .en la siguirtitc tabla. (No se necesita ningdn conociiiiienio de pp para resolver este probleiii~.i
O
1
I
O
O I
1
1 1 O
O
O
1
I
x
a.
el pp quiere leer In memoria el pp quiere escribir rn la memoria e l pp quiere leer un dispohitivo de entradalsalida el pp quiere eccnbir un dispositivo de entradii/salilida el pp no quiere ninguna de las operaciones anteriores
Disefir un circuito lógico utilizando un multiplexor adecuado y lógica adicional mínima para iraniifimnar estas tres scñales en las siguientes cuatro señales, cadii una representando una ope-
ración:
(MR)', (MW)', (IOR)', (IOW)' Cuando se desee (o no se desee) cualquiera de las operaciones, el valor de la señal correrpondien-
te sera O (1). b. Diseñe una implementación de multiplexor para efectuar la transformaci6n inversa. enlaces.
les de esta
mis-
~odri? Si es así.
isible. explique
jn de error iimito deberán e r :
28. La unidad de anticipacihn dr 4 birs que se muestra cn Iü hgura P28u recilie variables genera&$ y pmpagadas de las unidaries O a la 3 constituyendo un grupo similar. También recibe C. la entruda de acarreo a la unidad O del pxpo. Calcule Co, C , y C,, que son las salidas de acarreo ds la.; unidalizv O. 1 y 2, respectivamente. Calcule además las variables generada y propagada. G' y P, para todo el grupo. Las salidas de ncnmo se generan en paralelo, no en el modo de propapaci6n en cascada. a. Obtenga ecuaciones pwü todas las salidas, y muestre la implernentaci~n. b. Urilizando unidades de anticipación de 4 bits de tipo antcrior y >urnadoresde 4 bits del tipo que se muestra en la figura P28h. dibuje el diagrama lógico para un sumador de 48 bits utilizando un nivel de anticipacihn. (Las flechas abiertas representan entradas y s ~ l i d a sde múltiples bits -en este caso, 4 bits, A, por ejemplo, representando un vector de 4 bits: Aw A,, A,, A,.)
156
Principirir dc Ltiseñci lbgico digital
I
unidad iie anticipacilin dt. c bils
Figura F28 c. Rcyita l a parte h utilizando dos tiivelzs de anticipacirin, eri los yut: 'as sdlidas C; y 1' dc las unid ~ l l r sde anti~ipariiindel primer iiivcl nlimentan las entradas G, y P,de Id* unidridcc de anticipaciiin de segundo nivel. Comparc iesliccto a la vclocidnd con el diseñn dr 13 parte h
29. Este probleiiiü tiene quc ver con el diseño dc un teitador de anticipaciáti de 4 bits (figura P29). El vector de 4 hifs B !,'B,BLRIBo) se resiari del vccior de 4 bits A . La e r i t i ~ d d~kprist~niuL> ea I si y scilo si l a siguiente unidad n i i s baja pide un 1 de esta unidad. E1 vectw I> de 4 bits es la salida de In direrzticia, y ,C es la salida dcl. quc >e Ilcva. C y P son variables genrradii y propagadas de la unidad cumplei;i.
Figura P29 a. Proporcione un2 expreliún para cada salida o muestrc implernentacicin. b. Coiiio eii el pi-rihleina 28, eri.irira mis Je uca manera rlc definir la variahle ptcipapiida. Proporcione eSBs dcfinicicines y coinpare las difertnciax uu iii.pleincntación. c. Sdpringa quc ie va a zrectux resta dr: múltiples bin. Con este tin, Les piisiblc ~tiliaar~nidüdes dz anticipaciiiii dc 4 bith. dcl tipo que se detcribt' en PI priiblema 28 r n CI contexto de la ruma. con resradorer de anticipncihn de 4 birs dcl ripri definido aquí? Justifique &urespuesta. d. r t i l i z a n d u ~ c i n d o r e qde 3 bits del tipo del;c:ito eit crte problcrna, y tarnhten irnidides Jz anricipicion de 4 bits adecuadas, diseñe un restador de anticipdción de 24 hits. 3U. Un ~(diricadiiide prioridad d c 8 entradas (figura P7n1 tiene ocho entr~daisolicitadas: I ( 7 . . 01. Un 1 lógrcr; en zu.ilquicra de esrah Iirird> dcnnta la presencia dc una ~olicitudde la fuente coriespnndicn~e
e n cuanto a cie,rtrrn hervicio. La priclridad rada decde l n m i \ alta para el 7 hasta In rnA5 baja p u n cl O. La salida SL,ísolic.itud local) es I ii y 3010 si ha! al menos una solicitud critie las ciciiv ziitr~das1. Si EH (entrada habilitadal es 1 . el cridific,ridor idcn¿ifica la snlisitud que tiene la prioridad mas alta y pencra como salida su direccirrn de 3 bita en A(O ... 7 ) .Si iiiiipune solicitud esth activa. prodiir c tina salida de dirccciijn cero. Si el codilicador nn está hdbiIitado (EH = l}, prriciucc cero.; de salidaeri A . EH
1
Diseño lógico combinatoriu
157
(salida habilitada) es I si y s611i si e1 coriificador esti habilitado (EH = 1) y no hay solicitud eiitrr las ocho entrddac I.
+L
coditicador
(le pi-ioridd
' de las unide anticipa-
'29). El vec5 I si y 5610 a de la difsle la unidad
SH Figura P30
a. Obtenga expresiones para cada salida y siiiiplifique. h. Ciiuetk un coditicador dc prioridad de 48 entradas utilizando cudifisadores de prioridad de X hils dei tipo descrihi en estc problema y Iligica adicional mínima. Use una configurxion repetida. C. Considerando las señales habilitadoras, E H y SH. coiiio los equivalenie< dc lar rcñales de acarrco, obtenga expresiones para las variable. gelirrada y propagada relalivas al codificador de prioridad di ocho entradas. Como en el problema 19.proporcione dos exl~resionespara la variable propagada \: r x o l a la "me,jnrV.¿Esto rrquirrz liigica adicional para calcular las variables generada y propagada, ii estas sc consiguen de las s a l i d ~ sdel codific~diirde pncirid~dde ocho entradas dcscriro aqul? d. Ulilifiindu unidades de anticip,aciGn clr: 4 bits adecuadas. diseoc utia i tiiplementación de anticipacidn psrü uii codificador de prii>ridüdde 48 entradas y compare su velocidad con el diseño dc la parir /). e. Supong.~q u e el codificndor dr prioridad de ocho entradas tiene señales dt. de~huhilituririríia.El y SI, en \t./. d e las scfiales de habiliiacián EH y SH. Repica las partes c y d consideründo las señales de deshahilit~cióncottio el equivaleiite dc ~.eiinlcsde acarreo. 31. I!n decuditlcador BCD a .;ist< scgmcntos tiene sehales "de litnpieza", B1 y 30,para ayudar n supriniir los priiiierns O a la irquicrdx para exhibidores de enteros y los Últimos O a la derecha para exliibidores de fracciones. Cuando B1 es 1 , si el dígito de entrada es 0, tcidns las salidas deben ser 0; csiri es. el digilo seri climinado. Cuandu B1 cs O. no tiabrá eliminaciíin, si110qiie eri ese cahci BO es una hcnal de limyie-la para el siguiente dígitu. Eii i a figiir,~P3 I r l se iiiuestra uii diagr~rn~i.
7iir 1
unidades
de la sunia,
ita.
les de atitici-
:7... 0). Un 1
respondiente aja para el O. :nvadas 1. Si 18salta y gcduce una saida en A. E1 I
Figura P31
a. F'ropaganda expresioiir~pard la5 i ~ l i d a sBO, a y f. b. Diseñe un exhibidor de 8 biii cada uno con cuatro iiigiio~para las partes enteras y fraccicinariah. El digito entero menos significati~ununca debe ser elirniiiadu, incluso si la parie enitird del núiiizni es O. c. Considerandri Ir!\ ticiiipos lentos de rrspiicsb hiitiinna, la implemcntaciíiii mediante repetici6n en la parte b dehe iet adecuada. Sin embirgci. pot propósitos pedagfigicoh, suponga que desea diseñar una implznictitación con anticipac~riiidcl cxliibidor, de manera que cada dígito se estlihle~ca con nia! rir rapide7 cn el estado di: eliminación o en el de no eliminación. Al considerar E1 y BC)
1%
hincipiiia de diseiiii Lúgicr! digital
coinn seiiales de acarreo. propi~rcioneexpresicineg para lús vanabieh generada y prupdgiidü dc este decodificarlor. e d. Stiponga quc. en lugar de 10s patiltas BI y BO. e [ decndific:ulor ti ne patillas DBI (entrada "no" cn blanco) y DBO (salida "no" e l hlanco). En este esso considere ésrtih como seiialcs de üI.arreri
y repit.~la pdnc c.
32. Dernucctre tiirrnriIniec.tz quc >ila variable prepagda Pipara tI su~nadoranticipado x define cornii 11 suma Sritileana de A, y RI en Iiigar de su OR rxclu~ira,las salidas de la s i i m y el ;i:arren del yumaJor se
Dibuje
un diagrama ANU-OR d;l selecirir de datcis.
entradas :I XORI son dos st.ñalcs A y B. Lri% entradas U XOR2 son la salida de XORI y una terccra señal C. Dibuje ette c i r ~ u i ~y oescriba
circuito conhistc en clac cornpiirrla< XOR. Lac
;i6nin, mu&strclu~todas.
34.
a. Diseñe un s u m d o r BCD utilizando unJ ROM (y cualquier otra lógica necesaria), rtinsiderandri que s610 sc usan corno cntri~iapalabra+ BCD lrgalc.; las dimensiones de la ROM y miiestre un diagrama e~quemiitico. h. Lic\~riliala tabla prograniacióti e iluitrela (al nienos parcialniente.) c. Especifique cl número de enlaces.
igadl de es-
ritrada "no" S
de acarreo
inc como la o dcl surna11. ;,Cuál de-
Componentes de circuitos secuenciales
A, B y C de de una elec-
Las salidas en cunlqiiiri- tiempo determinado dependen siila de las entradas precisainente en ese tiempo, no de la historia dc las entradas pasadas. E ~ t oiriiplica:
Que las coiripuertas en el circuito reslinnden a lar; rnundas sin reiardo, o Que Icis intervalos de tiempo entre eiitradas sucesivns son tan largos comparados con el tiempo Jr respuesta de las compuertis. de modo que las respuestas de salida para un conjiintci de eiitradas pasadas haya ya ocurrido antes de que se produzca la siguiente entrada.
;onsiderando de la ROM y
Existeii situaciorizs. sin embargo, en las que una salida depende iio únicamente clz las cntradas presriites sino t~rnbiiridel eslado del circuito en el momento en que llegan esas entradas. El estado del circuito en cualquicr tiempo dado. a su vez, depende de la Iijstoria de 1'1s eniradas pasadas. Esto quiere decir que debe haber iin niecanismti para alt?iucenui.la informaci6n transmitida pcit la secuencia de eniradas pasadas. Este capítulo [rata de los dispositivos que alm~ccnanentwdas pasadas -ya sca una enti-ada pasdda simple o una secuencia de ellas.
1 DEFINICIONES Y CONCEPTOS BASICOS El almxenainiento de intorrnacihn en relació~icon eiiiradm pühadas implica la mernorizacibii de dichas enti-das pasadas. En este capitulo presentareiiios varios circuitos específicos que sirven como celdiis (Iliirnadas a menudo celdas primitivas) para el almacenamiento de una entrada pasada simple. La inte~onexicinde estas celdas de tnenioria, junto con los circuitos combinatorios. puede tener que ver con sitiiiiciones donde una salida depende de la entrada presente y dr una cadena finita de enrradas pasadas. Esta explicación da origen a la siguiente definición:
Un circrrirn
disitul es s~cueac,iciis i .rus ~aIid(15tw c ~ i u l q u i momento ~r d~~er/~iiiio ~d o trJ/i i i n ciorie~tanto L!C tus ~ n t r u ~ 1 u~ .A~I-C I - I en ; ~ .ri.r ~ triiimenro conau de las secucrrrru.r df ~ n i r u l l ~ o
'
pu.,~,llll.Y.
Crin esta liase. es posible construir niodrlos de un circuito secuencial, como se indica eii la figura 1 .
Hay dos tipos de entradas al bloque de lógica combinatoria del circuir0 secuencial. Hay entradas provenicinics del mundo externo, denominadas yrinicri.iris.Tanibiin existen entradas .secundarius que describen la condición (o estado) en el cual se ericiientra el
I
' IJna vririación de cstc carii genera) se expticsrá 211 e1 capíIu1o 7.
160
Priticipiris dc diseño 16gicii digital
eiitreda\ primarias entradas
m Iiigica ciimbinaliiria
sdiCLí~ externyb
I
mcniiria
saJiiiit?i dt: la iiictiiuiia
salida5 de In rnenioria
Figura 1. Modelos de un circuiio secuencial. u ) Mridelc dr Meall. b) M d e l i i dr. Miure.
hos conjuntos de entradas se prucesarr i~icdianteIógicii combinatoria. Eri el modelo conocido como ~náquinude Meuly. liay dus tipos de salidas del bloque de 16gica cnnihinalnria: calidas hacia el exterior y salidas que representan iiueva iriformaciijn que se almacena en 1s rnerrioria. La memona incorpora la nueva información, generada pnr las últimas entradas, a la infonr,aciiiii previamente alinaceiiada. Las salidas Jz inrirrulin se rctroal imentan como cntr~idas.s~r!rndtirrlir a la 16gica combinatoria. El prriceso de mndificaciijn dc lvs rrat!enidusde la unidad de memoria rrcibc EI nonilire de escrirura en menioria. El proceso inverso-adquirir curiiu uiiii salidíi la inf(irmaci6n nctualmente alnincenada cn una unidad de mernoriz- sc Ilamii Icr:iui.u de nnieinoriu. En el modela de klealy
yue se niuesira en la figura la, las salidas externas dependen tanto de las entradas del mundo exterinr como de las enrradüs de reirurilirnrtiraciiiri dc la mctiioria. Hay, sin eiiibargii, circuitos digitüles en los cuales la salida rio depende de manera directa de las entr:id?s externas. En VPZ de eso. las entradas errernai, prnvncui carnbius en la menioria, dzspuis de Iii cual h e emiten salidas externas desde ella. Como en la máquina d e Mealy. otro cotijuiiiu dz salidrir;de la memoria se convierte en enhidas de retrnalimcntaciiin para la 16gica comhinator:a. El mrulelo de un circuito secuencia1 de estas cüracterísticas se ilustra en la figura I h se conrxe como múquinu de Moort,. En cqitulos subsecucnrec abordaremos aainbcis niadelos. Las dificultades de tempcirizacirin soti inherentes en los circuitos de conmutaciún. Con \-ariabilidad tanto en pl tieinpn dc Ilegiida de las entrndah como en el retardo dz tiempo inhi'renle a las cnnipuertas, quiz5 r e d t e diticil seguir cl rastro a lo que es una entrada pasada y a 10 qiie es una presente. Conici ejemplo. suponga qlie iina entrada variable cambia su valor en dgun
tienipo. Dcspuds dz cierto mardo dc prnpagscirín, 1ü respuesta a este cambio se percibirá tanto en la entrada a la memoria como en las terminalrs de calida. Por cunsiguienfe, cambiar5 cl contenido de Iu memoria. Puesto que hay retroalimentación hacia la entrada e n ambos modelos este cambiri l;il vez ucasione una modificución adicional en la <:alida. A panir del tiempo del camhio iriicial en la entrada y el cdrnbio final en la sdlida ocurre un periodo de inestabilidad. Si un cambio adicional en la cntrada primaria ocurre durante este perido dc: inehtabilidad, el circuito pidriii fallar en dar una respucsta confiahlc debido 3 la crinfusiiin en los cnntenidns de la menioria c u ~ do arribó la segunda entrada. (Existir6 una .~eñolespurin.) Un rndrodo zorníin para siiperar este prnhlerna radicaen introducir una señal adicional en la forina de un tren de rindas de pulso yei.iúclicas &iiorniii~dor ~ l o j como . se muestra e n la figiira
Cumponcntes cir citcuitos secuenciales
1 1
nai:io , , i c > n r o de ascenso
activado
/" nancu f i n i odc desenso desacribadn
del pulso
1 j
161
1
Figura 2. a ) Un tren de pulsos peri6dico. b ) Un pulso de reloj "realista"
>nocid» coalidas hacia ~ n aLa . niz-
nombre de actualmenendrn tanto .a meiiioria.
irecta de las
irnbinatoiia.
ón. Con vainherente a
I
á lantci en la el contenido ns este cam~ ~ ~ n iinihio ;i un crinibio :mona cuan-
iicional en la
2a. (Esta señal de reloj se genera mediante lo que se conoce como oscilador, por lo general dc cristal de cuarzo.) La parte de memoria del circuito en la figura 1 se construye de modo tal que está deshabilitada durante el tiempo que el pulso de reloj esta ausente; la actividad en el circuito se produce sólo en la presencia del pulso de reloj. S i este es suficientemente estrecho, es improbable que ocurra m8s de un cambio de entrada durante el tiempo en que el pulso de reloj está ucti~,luio.'En realidad, en muchos circuitos, el inicio del pulso de reloj (el flanco de ascenso) habilitará al circuito se trata de la llamada activación por flanco, que se describirá en la última sección. Ninguna actividad subsecuente se producirá en el circuito, no importa cuál sea el ancha del pulso de reloj, hasta el iiiicio del siguiente pulso de reloj. (La activaci6n por flanco tambiCn puede hacerse mediante el flanco de descenso del pulso de reloj.) El tipo de circuito que acaba de describirse se conoce como circuito secuencia1 con rrloi. Es posible interconectar varios circuitos secuenciales con reloj, aunque seria muy confuso si fueran diferentes los relojes que habilitan a los circuitos, respectivos. Si todos los relojes habilitadores en un circuito intercnnectiido de este tipo son iguales, entonces la actividad en todos 10s circuitos ocurrirá de manera sínciana. El resultado recibe el nombre de circiiito secuencia1 síncrono, debido a que todas las partes del ircuito están sincronizadas por el mismo reloj del sistema.
Un periodo de la forma de onda del reloj incluye un intervalo dr tiempo en el que el pulso del reloj es 1 ("alto" en lógica positi~a,alguno diría "activo en nivel alto") y otro intervalo de tiempo cuando éste es O ("baju" en Iógicii positiva). Si son igualec estos dos intervalos, la señal es una onda cuadrada. (Resulta difícil concebir una onda cuadrada como tina secuencia de pulsos.) Si el intervalo alto es mucho más corto que el intervalo bajo, la señal corresponde a un tren de pulsos que se hacen positivos. Por otro lado, si el intervalo de tiempo en esudo alto es mucho m h largo que E I intervalo bajo, la señal es un tren de pulsos que se hacen negativos. (Para tener una perccpcion dr. lo anterior, antes de continuar. dibuje una forma de onda en la que Ia duracidn del intervalo bajo sea 10 veces la correspandiznte al intervaio alto y viceversa.)
Los rasgos importantes de 1s señal de reloj son los siguientes:
Ciclo de trabajo.
Frecuencia de reloj.
La pendiente de los flancos. Estabilidad de la frecuenciu y la roma de onda. La figura 2 es apnipialla para el si~tema"activo en alio" utilizad[. aquí. para el sistema "activo en bajo", lur pulsus iniciarian con una iransiciilinnegativa.
162
Principios de disefio Ihgico digital
El cicio de trlilliujo es la fracción del periodo de reloj en el que la señal de relri es alta. En el ca-
so de una onda cuadrada, el ciclo de trabajo es igual a 0.5:es comíin un ciclri de trabajo menor que 0.01 ( 1 %,). La frecueiicia es p~rticularinenteimportatite. Puesto que la temporización de tu&a la actividad eri uri circuito con rcloj si: basa cn lu
ocurrencia de un pulso de reloj. la rapide7
con la cual el circuito efectúa sus operacirines depende de la frecuencia. En Ins opei-acionesde compuiíidora se ccinsiderdn bajas las frecuencias del urde11de I MHz (un millón de operaciones por segundo); es común el valor de 5 a 50 MHz. Los micriiprocesadores de hoy día presentan frecuencia de reloj tan altas corriu 600 MHz. Las dos últimas caracteristicas de la senil de reloj drpendzn Jr: la calidad y el diseño del oscilador. Aunque &as son importantes, los diseñadores de 16gica n o tienen control sobre este tipo de características; debcn aceptar lo que proporcionan los diseñadores del oscilidor. Eii una siluación idcal, los I;idos del pulso de reluj üurrienian y disminuycn
cn un tiempo nulo. Sir1 embargo, la vida real se diferencia de la ideal en dos formas: a) los Idos aumentan y caen en un tiempo distinto de cero, y b) las pendientes d r los lados no cambian ~ l cero c a u11 valnr distinto de él (o viceversa) cn un tiempo cero; b) da lugar a pulsos que son trapezoidales en vez de rectatigulares, como en la figurü 2b. De manera rn8s realista, las peridieiiks de las cqquinas tnnto de ascenso como de descenso del pulso de reloj cambian de modo gradual, por lo que las "esquinas" son
curvas. (Véase la figura 22 del capítulo 2.) Ignorarenias esta curvatura en el reloj y otras señales en la explicación que sigue.
Ejercicio
J a.
Estinie el valor aproximado del ciclo de trabajo en la figura 2a.
b. Suponga que el ciclo de trabajo de un tren de pulsos es 1 % y que su frectiericia rs 10 MHz. ~ C u h t o dura un periodo en nanuscgundos'? Supwga que un periodo ocupa 4 cm sobre un eje horizontal; dibuje a escala un tren de pulsos de estas características. ~Cuáiito dura en nanusegundos el pulso de relo,;? ;Cuántos centimetros mide el ancho del pulso de reloj '? +
En este capitulii, se presenta un niímero considerable de circiiitos que s i r r ~ ncoino irlwnentiis de celdas de memutia, enipezando con el ni& simplr. Cada nuevo circuito que se introduzca se justificard señalando las deficiencias del anterior e indicando cómo el nueva circuito lo mejora n tiene una característica útil de la qiie los anteriores carecen. Por la naturale~ade este material, el capítulo es bastante descriptivo, y tambikn encontraremos un poco de matemáticas y análisis. El propósito aquí no es facultar10 para que sc embarque en el diseño de tales dispositivris. sino ayudarlo para que aprenda lo suficiente de sus característjcas y las use con facilidad en cl diseño de sistemas mis srandes.
2 CERROJOS Y FLIP-FLOPS Una de las necesidades en un circuito secuenci~lr s el almacenamiento de informacióii en memoria respecto a la condición presente del circuito como rcsultüdri de entradas pasadas. Un dispositivv biesrahle, que puede encontrarse en una de dos condiciones estables, puede almacenar un bit de información. Un interruptor de iina lhriipara, pul ejzinpln, cstará cn cualquiera de dos posiciones. La infomacir5n relativa a que la luz este actii,adu o drsactivada, está contenida en la posicihn del interruptor. En circuitos digitales, los elementos m h comunes de memoria son dispositivos electrlinicos conocidos como ,flip-j%ps. Consideraremos varias ~iuiedadesde ellosis, cada uiia íitil en ciertas circunstancias.
El tema se presentara utilizando el circuito de la figura 3a, el cual muestra 2 inversores dr acriplamiento cruzado. Advierta que la intercrinexión de apariencia compleja en la figura 3u pucde volverse a dibujar conio en Ia figura 3b. ("Dzuenrolie" el circuito anterior y confirmelo.) La entrada de cada inversor es la salida del otro, sin ninguna entrada externa. Éste es u r i ejeiiiplii
Cerrojos Si
Componentes de circuitos secuenciales
163
En el cajo menor
6n de toa rapidez :ione~de :raciones resentan
Figura 3. Un circuito de inversores biestable. io del osre ehte ti-
:mpu nuan y caen valor dis;n vez de iinas tane las "esel reloj y
0)
6)
Figura 4. Discño de un cerrojo SR. a ) Con NAND. b ) Símbolo esqucmitico.
icia es 10 :upa 4 cm S. iCuBno del pul-
*
nentos de
ca se jusmejora o aterial, el 18lisis. El sino ayudiseño de
in en me5. Un disilmacenar :ra de dos itenida en noria soii ;de ellos.
mores de :a 3a puemelo.) La -i ejemplo
digital de un disposilivo hiestable. Para confirmar esta nfirmxihn. suponga que la salida superior Q en la figura 3ri tieiie u11 valor lógico 1. Puesto qiie esta es la entrada para el inversor de abajo, el último tendrá la salida .r = O. Pero x es tanibién la entrada al inversor superior, lo que confirma la salida supuesta Q = 1 . (Efectúe usted ahora la siguiente t m a : supongü que x = I y confirme que Q = x' = 0, verificando que x = (x'j' = 1. como s r supiisri.) De tal modo. la salida de este circuito puede permanecer estable en cualesquiera de los valores Q = O o Q = 1 . De ahí proviene la terminología biestuble. El valor que la salida toma en realidad depende de una posible entrada externa, conio se muestra en la figura 3c. Cada una de estas dos salidas de inversor es el complenientn de la otra.
Cerrojos SR El circuitci biestable en la figura 3c tiene dos fuentes de datos para la entrada al primer inversor: la entrada externa y la retroalimentación desde la salida del segundo inversor. Resulta difícil escribir un nuevo valor en el circuito debido a que la retroalimentacihn se diseña para manteiiei- el valor existente. La retroalimentación y la entrada externa pelean por determinar el valor alinacenado en el elemento de memoria. La figura 4a muestra el diseño de un elemento de memoria que recibe el nombre de cerrojo SR. El diseño recurre a dos compuertas NAND precedidas por inversores..' (Analice en un ejercicio otro diseño con dos compuertas NOR.) Lo que ocurre en este circuito sin los inversores. La ventaja del circuito de la figura 4u comparado con el de la figura 3c es que las entradas externas pueden influir en el estado de la memoria sin pelear con la rz:roalimentaci6n en el circuito. La característica novedosa, diferente de todo lo que usted ha visto en circuitos combinatorios pero que se encurritra en el circuito de la figura h.es el acoplamiento cruzado, o retroalirnentacihn, de la salida de cada compuerta hasta una entrada de otra compuerta. Las dos entradas externas (primarias) reciben el nombre de estublecimiento (S} y restablecimientr) (Rj. Nn halin'a inversores si se usiirii lógica negativa o si las entradas S y R fueran activas en nivel bajo en la Irigica me-/.clada; vCaw tl capiruln 2
164
Principios de diseño lógico digital
Figura 5. Cerrojo SR con retroalimcntacion y rctardo enfauzado.
Con base en la experiencia relativa a dispositivos de acoplamiento cruzado de la figura 3, suponemos que cada salida de cotnpuerta NAND es el complemento de la otra. Estas salidas se designan universalmente 0. Sin embargo, cuando se realizan conexiones externas de una salida dc celda de memoria a otros dispositivos, es posible dar otras designaciones a estas variables extemas. A menudo las usaremos y con este fin, incluso cuando expliquemos una celda de memoria simple. En la figura 4h se muestra un diagrama esquetnático. La burbuja en la salida inferior implica que esta señal es el complemento de la denominada Q. Si se muestra la burbuja, en realidad no es necesario proporcionar cualquier otra indicación, tal como la Q' que se muestra en la figura 4h. Se podría incluso mal interpretar esto como una doble negación." Se suponen reales las compuertas físicas que se muestran en la figura 4, no siinpleinente reprcseniiiciones grhficas de la operacion h(wleana NAND. En un principio podría pürecer sorpresivo que una mera interconexi6n de un par de compuertas pueda conducir a otra cosa que no sea un circuito estrictamente combinatorio. La respuesta radica a) en la retroalimentación proporcionada por el acriplamientr, cruzado, y b) en el retardn de las señales al recorrer las conipuertas reales. Es posible subrayar la característica de retroalimentación redibujando el cerrojo de la mancra que se indica en la figura 5a.
A pesar de que existe un retardo de propagación a través de cada compuerta física real, vanios a suponer pur el momento -romo una digresión s61o en rsw párrufrl- que todos los retardos del circuito de la figura 5a se agrupan en un lugar, como se indica en la figura 5b; liu: compuertas en el último circuito se consideran ideales y, por tanto, responden de manera instanthnca. Un modelo con tales características para tratar los retardos de propagación de compuertas cifreceria resultados bastante precisos. El efecto de un canibio en la eiitrada S o R se percibe de inmediato en la salida marcada q (paradistinguirla de la salida final, 0 )en la figura 56. No es hasta después de un retardo, sin embargo, que este evento llega a Q y se retroülimenta a la entrada. En explicaciones subsecuentes, el bloque de retardo en la figura 5b no se mostrara de manera explícita. Todas las compuertas se considerarán físicas y reales; así, la presencia de retardo de propagación en cualquier compuerta se supondrá implícitamente. Donde exista diferencia, el análisis tomará en cuenta este retardo. Cuando el cerrojo SR no esta excitado (esto es, tanto S como R son iguales a O). éste se comporta como un dispositivo biestable, capaz de mantener la salida Q en 1 o en O de manera indefinida, de iguiil niodo que los inversores de acoplamiento cruzado de la figura 3. Cambiar la saIida del cerrojo requiere que la señal de entrada S o R se vuelva 1. La condicirin del cerrojo, indicando si la salida es O o 1 , se denomina su estado. (Esta terminología se extenderá después a circuitos que contienen cualquier número de elementos de almacenamiento: el estado del circuito se referirA a la colección de valores dc salida de todos los dispositivos de almacenamiento de memoria.)
Consulte vanos libros de diseño lúgicii y advierta que algunos de ellos ponen las literale$ y Q' dentro del rectángulo quc rcprcxnta al dispositivo. iQuC picnsa ustcd dc la propiedad dc utilizar una litcral Q'y scguirla con una burbiija'?
Coinponentes de circuitos secuenciales
la figui-ii 3, S
o
n
o
o
0
0
1
1
1
0
0
1
0
1
0
1
I
1 I
1 l
0 l
1
0 1
x
l
(a)
0 1
Y
0
1
165
O
i x (6)
Figura 6. Tabla de Irancicihn püta cl cerrojo SR.
salidas .se
:ujia salida arjable~ex-
memolida inferior iuja, en rea.uestra e n la 1 de
ilemenle re-
:er sorpresiie no sea un
oporcionada as reales. io de 13 ma-
,ica real. valos Icis rrtargura 5b: las merd instancoinpuertas e percibe de 5. No es hasi la entrada. irari de maid de retardo
:mojo SR n o i dispmitivo al modii que -ojo requiere a salida es O ue contienen r i a la colecl.)
Ejercicio 2. Uno a la vez, suponga que el cerrojo esta en cada uno de los dos estados (Q= 1 , Q = O). En cada estado, considere entradas SR = 00 (anibiis entradas O) y confirme qiiz rl cerrvlo
SR pernianecerá en cualquier estado en el cual se e n c ~ e n t r e . ~ Suponga que el cerrojo se encuentra eii uno de siis dos cstados Q = O o Q = 1. llamado el estlicio presente. Despuds de esto las eiitradas S y10 R cambian en una nueva combinnsión dr valores; luzgo de un retardo correspondjeiite al retardo de propagacicin a través de las compuertas físicas, dzhe haber una transiciiin a un nuevo (pero no neccsnriamcnte diferente) estado, denoniinado ~srtldos i g ~ i r n t eSi . el tienipo presente se indica medinnrc tn. cl tiempo en la ocurrencia de una transición se marca como r,i+,. La correspondiente secuencia de ertados se indicará mediante una de las siguientes notaciones:
La última de Sitas es la niás simple, y la usarcmos con frecuencia. Lo que necesitümos ahora es t r a b a j ~ Iti quc aerP el estado siguiente del cerrtio SK para cualquicr cornbiriücion de entradas y cualquier estado prereritc. Varnos a iniciar crin el estado jii-e\eiite @ = O y SR = 00 en la figura 41.(El ejer~icio2 dehe haberlo convencido de quc cs posible esta crimbin:i~hi6nde entradas y estado prcscnic.) Sul-iiinganios ahora que SR se convicrtc en 10; esiu CS, l i ~entriidü S cambia en 1. Una de las entradas de compueria I pasa a ser 0: en curisecuenciii, Q se vuelve l . En este caco ambas entradas de la compuerta 2 siin 1 ; así que 0' se vuelve O. Puestri que ésta es la retrualiinentacióii para la compuerta 1, u.;ted debe determinar si afecta la salida de la compuerta 1. (No lo hace.) Por consiguiente. el estado siguiente es e+ = 1. La enirada S ha pasado ri la salida. Afirmamos que e1 cerrqio se ha esrahlecido. Ejercicio 3. Sigue el iiiisirio proccw que acaba de describirse para deirrminw el estado siguiente Q+ cuando SR se convierte en O i '1 p : ~ i rdel valor precedente de 00. La rcspueita se da en la denominada rrahla de m;rrsi~,i¿ln que sr niiicstm en la figura 6a. Advierta que cuando R = l irnientras S = O ) la salidd se ha ri-ünsformadoen O; firmamos que el cerrojo se ha reestablecido.
El caso SR = 1 I es anómalo. En esta situacicjn, cada una de las dos compuertas NAND tiene una entrada qiic es O. Resultaría que tanto Q como Q' se cotivertirian en 1, iun resultado iiiconsistente! AclcinSs, jcuil sería la cunsecuenciii si SR \~ibsecuenternentepasa dc 1 1 a 00? Advicria 4uc' 13 niiiiici6n SR no pretende ser la AND dr las m i r a d a s .5' y R. 5ino que sólo es una rnanera sencilla (Ir ideiirificñr la s t c u ¿ r i ~ i ade valores que sigue. esto es. UU. E\ra prictica p u d e r e d t a r confusa: reducirtrno~la cririiuriujn sienipre que colivcnga rnoctrar dt: manerii explícita la cipcraciiin AND de 1á manera ukual: S.K.
166
r
Principios de disc~ioLogicu digml
R
Figura 7. Diseiio de coniprrcrra NOR del ~ e r r ~ jSh' ii
Las rntrndas para cada compuerta serían 1 J . por consiguiente, ambas sdidas se. har'an O. otra incoiisisrencja. Przro, más importante. si las entradas yurliri.irn incluso cambiar exactamente al misnio tiempo. puesto que es jni~irobahlcque. los rrtardiis de propagación de )as dos crimpuertüs .sean cxactamcntc iguales. iina iie las salidas alcmzaríri priniero el 0.b Debido a la retroalimeniacibn. la salida de la otra compuerta se convertiria entonces en 1. Asi, en dgiinas circunstancias Q
= 1 y en otras, ij = 0, una incerticlunibrequr resulta inaceptable. En conscuen
cia, la combinrici~nde entrada SR = 1 I no puede tolerane. Es prisiblt: climinar la conclici6n SR = 11 inipoiiiendoe1 rquenrniento 16gico de que S=H= 0. Puesto qiie ,TR = 1 2 no va a w u ~ r11.1-1 rius preocup;rtrias de lo que sera la salita para una contbinacijn Ck3 enfradas de este tipci, coriio se indica eri la figura G. Por consiguiente, la ecriacióii de tmsición cornpleu pwd el cerrojo SR obtznido n partir de la iabla h transición en la Figura 6il es:
tCr!nfirrne este resultado escribieridri una sunia de rnitiitt;rminos. incluyerido vaIorcs irrelevantes, y reduciesidvla utilizando Algehra briolearia i,Ld notaci8n SR = O en (2) implica de manen inambigua la AND booleana, y no una yuxtapmición de S y R?} Examinarnos ahora la tabla de transicijn de la figura úu desde un puriio de vista diferente. Cuando ya sea S = 1 ti K = 1 , pero ~ i oarnbuc, el estado siguiente toma el valor O o 1 indepenrlient~menteIlrl e.i-ladoprrdsente. Estri es. el estado siguiente depende sólo de las entradas. no del estado prespnte. Esto significa que. pam estas combinaciones de entrada partjcu1art.s. el circuito
se compcirta como 1 cornhinatiirio Sin embargo, advierta tamhikii quc para l n conihinacidn SR = 00. el si~uienteestado depende del eciado prescntc. Toda ecta infnrmacih en las tr~nsicicinessz presenta sin ambigüedad er l a tabla de transiciiin reducida de la figura 6b.
Ejercicio 4. LTnaesiudiante de Ifigicii digjral, al advertir que e; djseñci del cerrojo SR que ctilize compuerias NAND rcquicre inveworei en las enirddas, iiene la .siguiente idw: ¿Qué siicederia 9 las ciirnpuertsl; N.%NDse siisiiiuyeraii por compuertas NOR, pero siii los iiivcr>i)rr.s?Construyi e; diagrama de 1i figura 7. Elabore una tabla de transicibii para esrc circuito similar a la de la figura 6. C~rnparmdolas dos triblah, ~rriifirnrcque este diseño produce también un cerrojo ,TR.
Problemas de temporizacidn y cerrojos SR con reloj El diseñii del cerrojo SR de la figiira 4a no incliiyc un r ~ l u jLa . inclusi6n de un relnj como una entrada independiente podríi! ocasioriai- quc todos 10s camhiris de estado en un circuito se llevaran a cabo dr iiriiriera simultjnea. Elln pndria resultar también en que todas las uansicirms d~ cstado se efrctiiaran de manera confiable, sin la incertidumbre de la ullda que se dtrhc.1-il~iiicnln
Idos dos cornpilrrtar parccx cslv canpitjcndo 11 "cririiendo" una en coptra dz otra pura ver cual de cllds kiidrii pi meni una salida I . Piir esta raz,iín. este c a se~ concyíe cuiiio una condicibn rle r.nrrerri. Este asunto se analizari .:M iIiiiqur dctnlla en eci capítiilii 7 .
1
l
I
r
se harían O, Zxactamente os compuer3 la retroalien algunas i consecuen-
que S-R = 0. i uiia cotnbición de tranara 6a es:
Ctiiiipotientes de circuitos secuznciales
Figurs 8. Un cerrojo SR con reloj y su
167
tabla de transición
En la figura 8a se muestra el diseño de u11 c ~ ~ . m ?SR j o con relni utilizando cunipuertas NAND. La5 dos compiicnüs a la izquierda del cerrojo reciben el nonitrrc dr conapuertas de r-ontml. La señal de reloj es una de las dos entradas a cada compuerta giiia. Cuando ILi señal de reloj C e5 O, las entradas S y R nu tienen inilucncia en el estado @. En este caso, el circuito es equivalente a uii crrrojri con S = R = O. (Compruébelo.) Cuando la señal de reloj cs 1 , por otra parie, el compcirtamienio del circuito se rtduce al del cerrojti SR de la tigura 4a. Confirme la tabla de traiisicion que se mueqira en la figura Pc. Ejercicio 5
es irrelevan.a de manera
;ta diferente. o 1 indupenradas. no del : S , el circuito
s. Utilizando la tabla de transici6n de 13 figura Sc, construya un mapa de cuatro variables con C y como dos dr d l a s , y SR como las otras das. hs entradas en el mara %eránlos estados siguientes. (Cornpletc su propio mapa antes de verificarl(i ~itilizanducl niapa terminado que se indica en la respuesta.) b. A partir del niapa, obtenga una exyresidn mínima para el estado siguiente.
Respuesta
stado depe11ihigüedad en
R que utiliza sucedena si ;'? Consimyó
a la de la tierrojo SR. 4
oj como una iito se Ilevansi~iqiriesde :scfibió en la
:Ilas tciidrd prie analizrirb con
Advierta que para C = O, la expresi5n para en la respuzsra para el ejercicio 5 se reduce a Q+ = Q;esto nos indica que el nllevo estado cq e1 mismt, que el es1:ido presente. Sietripre y cuando el rclrj permanezca en O, ni) ocurrirá niiiguna transirih de estado. Para C = 1 , por otro lado Q+ se rcduce a la expresión del estado sigiiiente para el cerrojo SR en (S).cornti debe scr. Se dice que el cerrojo sera traiisprirente cuando C = 1, debido a qiie las salidas responden a cambios r ti las entradas. Para referencia futurd, la exprrribn correspondiente a Q+en cl ejercicio 5 ae da a coniinuación.
En la figiira 8h se prcscntü un símbolo, o diagrama de hluques, para el cerrojo SR con reloj. Observe que la presencia del reloj no cambia la indetcrmiiiación de la salida pdra la condicihn S = R = l.
168
Principios de diseno lógico digital
0)
Figura 9. Cerrojo J K .
Cerrojo JK La operación adecuada del cerrojo SR requiere que ambas entradas no sean 1
en forma simultánea. Esto constituye un dolor de cabeza y provoca problemas prácticos. Un cambio de diseño que supera esta dificultad sena más que bienvenido. En la figura 9a se muestra un diseño niodificado utilizando dos compuertas AND cuyas salidas desempeñan el papel de S y R. Una de las dos entradas a cada una de estas compuertas AND se retroalimenta a panir de las salidas del cerrojo SR. Las otras dos eiiti-adas (externas) se marcan, respectivamente, ccinio J y K. Las expresiones para S y R son S = JQ' y R = KQ. (Confírmelo.) La inserción de 2stas en (3) produce la zcuaci6n de transición.
Q+ = C 'Q+ C(JQ')+Q(KQ) = CQ + CJQ' + K'Q = JQ' t- ií'Q
'
por C = I
El uso de Iris expresiones S = JQ'y R = KQ conduce a S'R = JKQQ- = O: de este modo, se sntisface de manera automática la condicidn de que S y R nunca scan simiiltáneamente l . Es evidentc [pie el cerrojo SR con reloj no tiene ventaja sobre el J K en circuitos sfncronos, por lo que estos se us,m rara vez como dispositivos de memoria r n tales ci~cuitos.~
Cerrojo maestro-esclavo El cerrojo JK con reloj supera algunos de los problenias de tempurización y la proliibicicjn Conua entradas simultáneamente altas en el cerrojo SR, aunque permanecen otros prohiemai de temporiznción. Es cierto que la ocurreiicio de un pulso de reloj inicia una trandcióti de ehtado sobre la baw de las señales J y K presentes en ese tiempo. Suponga que ianto J como K son 1 cuando llega un pulso de reloj. De aciierclo con (3) o la tabla de transición d e la figura 8c, la tran
' Sin embarp. esios encuentran aplicación cn sistemas de control ) otros circuitos secuencides que no como cc explicara en el capfiuln 7.
Gen
aiiicnnu>
Poner en 1 J
siniuldo de diseño ¡seno m d i Una de las idas del ce, Las exprei produce la
*
m3
C
Y
-1
Y' K Poner en U
Un diseño posible
do, se satisl.
s síncronos.
ibición con-
miis de tem:stado sobre I n 1 cuando
a transición nuevo estaue
presentc,
i continuará
Iepcndiendu Éstc cs ouci o es poxihlr
¿C(ímo se puede resolver estc prohlenia? Lo que necesitamos, una vez. que u n pulso de reloj ha iniciado una transición, es evitar de alguria manera que la transiciiin se complete hasta que d pulso haya terminado. Existen varios disetios que ejecutan esta funcion; u n o de ellos se prcscnia en 21 diagrama esquemático de lii figura 10'1. Este circuito recibe el nombre de cerrojo maestru-escluvn. La unidad a la derecha (IIamaJa el esclavo) tiene una señal de reloj invertida comparada ccin la de la izquierda (denominada el maeftro). Esto es, cuando el reloj maestro es 1 el reloj esclavo rs O, y viceversa.
En el diseño real qiie se indica e n la figura 10P. el rnacwci es similar al diseño JK de la 1igura 9, salvo en que la retroalimentaci6n en las cornpuerias dc cciritrol del maestro se toma desdc la salida del esclavo y no desdc su propia salida. Esrudie con cuidado este diagrama ! lidvierla
sus características en coniparacicín con las del cerrojo JK. Cuando la señal del reltij de entrada cambia a1 nivel bajo, el maestro qiieda deshabilitado pero el esclavo se habilita (su reloj pasa a altoj. Durante este intervalo, la salida del n i x s t r i i n o cambia, aunque la salida dcl e~clavoefec tiia una triinsicirin hacia cualquiera qiir hay3 cidti la salida del maestro al principio de este iiiterualo. .41 final del intervalo bajo del reloj, las saliclac dcl maertra v el esclavo se encuentran eii el iiiisnia ~5[3d0.e1 presente. Luego. cuando llega cl siguiente piilso de reloj, el esclavo se deshabilita y su salida no cambia. t ; iecuaciori (3) sigue siendo valida para la transicihn de estado del niaestro. Sin embargo, puestu que no está cnmbiando la salida del esclavo, eI estado presente. retroaiimcntiidu al maestro, permarizce fijo, sin inipr)rkar cuanto haya estado d reloj en el nivel alto. Al final del pulso de reloj, se habilita el esclavri y el estado del maestro (el estado siguiente) se rraiisfiere al esclavo. jParece ser que el problema de ternporización está resuelto! En ocasiones es iiecewrin, 1'1 principio de una operación (tal como cl ciinteo). fijar los estados iniciales de Ios cen-oios y flip-tlops cn el circuito con ayuda de medios exteriios, Un mecanismo para llevarlo a cabo se presenta en la figura 106 en la forma de dos entrada< directas 31
170
Principios de diseño 16gicti digilal
maehtri)
esclavu
Figura 11. Cerr~jcialternativo maestrti-e5clavo.
esclavu desde el exterior (puesta a 1 y puesta n 0). anteriores a las entradas usuales. Nunca se permite cpie estas entradas sean O de modo simi~ltáneo.~
Ejercicio 6. Determine el estado Q,dcl esclavo pdra las combinaciones de entradas de puesta a 1 (PS) y puesta a O (3)aparte de 00.
Un diseño maestro-es~.laroalternativo El diseño e n la figuw 10 no es la única posibilidad; en la figura 1 1 se incluye otro para el cerrojo JK maestro-esclavo.1UEn este circuito, se eliminan las enrradns de reloj invertidas para las compuertas de control de! ssclavo en el circuito preccdente y se sustituyen por las salidas de las coiiipuei-tas de control del maestro. Éste es el único cambio. Confirme que no ocurre transición de estado en el esclavo cuando C = 1 y que Qt,,,,,,, - Q,[,. Eti c.iinsecuencia, el circuito se cornporta como un cerrojo maestro-esclavo. Advierta la secuencia de eventos en el circuito. Los cambios de valores (niveles) lógicos ocurren en tas líneas J y K de tiempo en tiei-iipo.En el flanco inicial de un pulso de rcloj se inicia uria transiciiin de estado. La salida del mae\trti toma un valor apropiado paia cl tstado presente del esclavo y los valores J y K en este tiempo. Nada ocurre a la salida del cscl;ivi> hasta el flanco final del pulso de reloj. Cuando eso sucede, después de un retardo de priipagación adecuado, la salida del esclavo adquiere su nuevo valor. Puesto que el piilsu de reloj activa la transici6n de estado completa (inicio y terminación), decimos que este cerrujo se activa por pulsos. Desaforiunrilianicnte, aún queda un problema con cl crrrujci J K maestro-esclavti activado por pulso. Aun cuiincio la salida del esclavo no puedc cambiar en la presencia del pulso de reloj. sí debe ocurrir un clinibicl en la entrada J o K durante evte tiempo; la salida del maestro exprrirrzentarú otra transiciiin. Entonces, después del flanci, filial tiel pulso de reloj, este valor sera enviado al esclavo. Por tanto, la transición efectuada por el ccrrdju quizh no sea la efectuada por el maestro luego del arriba del pulso de reloj -como dcbe ser- sino una trmsiciún subsccucnte. Esta situación tamprico puede tolernrse. Una soluci6n posible coniiste eii reducir Io mis pcibible el ciclo de trabajo de la señal de reloj (el ancho del pulso de reloj para iina frecuencia determinada). La viabilidad de un cambio en "1
alguiius casiir. la habiii:aciún y la destiabilitacion se llevan a cabo al ir hacia el valor negativo lar Xeñales de rcstablecimicnii, Y h<)rrado. Ln tales casos estas seflaleh externas entrantes deben invenirse prirnrrci Elici se iiidicii mediante una hurbiiln a lz cntriida. Q, = 1 para PS = O. CL = 1: Q, = O para PS = 1, CL = 0.operacirin normal p r a PS = 1 , CL = I .
'O
direios que se presentan aquí se incluyen por razones pedapbgicas: a menudo se producen consideraciones p k ricas c ~disríios i reales diferentes que se di~poncnconiercialnienic
Componenies dr circuitcis \ecuenciales
171
Figura 12. Símbolo esquemático de un flip-flop activado por flanco.
J o K durante este corto tiempo se reducir&de manera corrcspondiente. En cudquier caso, para evitar la incertidumbre en la salida, los valores de entrada J y k' deben mantenerse estables durante el intervalo cortipleto del pulso de reloj. Parámetros de activación por pulso Junca se
puesta a
el Cerropara las as de las ansición rcuito se
lhgicos oj se initado prei hasrn el :¡fin ade-
)
a~.iiv:ido de reloj, o expe"- será enuada por bsecuen-
ial de reambio en
Uiia solución a los prriblemas anteriores de temporizacióti y cütTera es abandonar la activacidn por pulso en conjunto y diseñar eleiiieiitus de meinoria que Fe activen s61o mediante un flanco del pulso de reloj. Se dice que estos cleinentos serán activados p o r j u n c o y reciben el nombre deJip-Jop. En un flip-flop activado por flaiico, una vez que se carga la inforniacióln necesaria para la transicion de esiado (los valores presentes de J, K y el estado), duranrr iiii iiitervalo de tiempo en tomo a un flanco (ya sea iniciiil u final), no tendrán efectci cualesquiera caiiiliios adicionales; afirmamos que estos eiec toj hati sido bloqueados. En otras palabras. un flip-flnp n o exhibe tran5paitncia en cualquier estado de reloj: las salidas del flip-flop responden üI estado de las entradas en un flanco de reloj.
En la figura 2h se muestra una forma realista pai-a un piilsti de reloj. (Observela d r tiuevo.) Se muestran dos intervalos de tiempo en el flanco inicial: El tirrnlin de estciblrci~ni~nto y el tiempo de rerenrbiti. (Ocurren evidentemente intervalos similwcs cn cl flanco final.) El tirnipri de establecimiento se extiende desde algún instante anterior a la iniciacidn del pulso de reloj hasta el inicio de este mismo. El iiempti de reienciíin se extiende desde el fin31 del pulso de! r e h j hasta algiin tiempo posterior luego ilr que la caída de éste se ha completadi). Para la operacidn adecuada del flip-flop activado por flanco, los valores de las entradas J y K deben permanecer estables desde rl inicio del tiempo de establecimiento hasta e1 final del tiempii de retenci6n. Puesto que este jniervalo es mucho más curto que el propio ancho del pulso, resulta mucho m8s fAcil asegurar que no ocurrirá ningún cambio en J o K durante este iiitervalo. La activaciiin por flanco S< indica en un diagrama esquemiitico mediante un pequeño trihngulo. denominado indir.ad(~rllrtiamic-u,ubicado en la terminal del reloj, como se ilustra en la Figura 17. Si 1ü i t ~ t i v i ~ ~ocurre i d n en el flanco inicial, el símbolo es el que se muestra en la figura 12u; la burbuja cn la figura 12b indica que la activación ocurre en cl flanco finill. Aunque no se dará aquí iiingun diagrama de circuito para un fljp-flop JK activado por flanco, existen este tipo de circuiins (su existencia se supone en lo que sigue y eii los problemas.) En lugar de eso, explicaremos uti diseñu activado por flanco para el tipo de flip-flop que se describirá a continuación."
Füp-flops de retardo (D) La condición que se requiere en (2) pdra la opcraciiin adecuada de un cerrojo SR, que S*R = O siempre, puede conseguirse de iniinera automática si ia entrada R se obtiene de la entraiiii S nirdiante un inversor de maiiei-a que R = S'. El resultado es un circuito con una enviida externa simple cn la cual S se marca ahora con la letra D (representando rirrrri). Una versión simple se muestra en la figura 130. El pulso de reloj actúa como una compuerta que, cuando está en el estado alto, permite q u t los datos en il pasen hacia la salida. Visto de este mudo, esie circuito
'' Un tlip-?lopJK caractensticu i i c t i v d u por flanco es el SN74 1 1 1. Éste riene iin tiempo de establecimiento dc O y un tienipo de rerencivn de 30 ns. Los tiarnpof i n t a l e ~de estsblecimiento 4 retenciun psri Iw ciirtis flip-Bops en la tecnulogia TTL ccimspunden tanibién a alrededor dc 30 iis.
f 72
Principios de diseño lógico digiml
U)
Figura 13. Cerrojo D.
Figura 14. Diseño del flip-flop D activado por flanco.
algunas veces se denomina cerrojo de compuertrr. ("Cerrojo" debido a que cl reloj sc considera como una compuerta que deja pasar los datos a través de ella cuando se habilita.) La ecuación de transición para el cerrojo D puede obtenerse de la correspondienle al cerrojo SR dejando a R = S ' y luego renonibrando S como D en (2). El resultado es
Lo que nos indica esta expresión es que el estado siguiente será cualquiera que correhponda a la entrada D durante el intervalo del pulso de reloj. (En consecuencia. D tambikn puedc indicar rrtardo.) O, mirando hacia atrás en el tiempo a partir del presente, cualquiera que sea el estado del cerrojo D en el tiempo del pulso de reloj presente, ése es el que correspondía a su entrada durante la aparición del pulso de reloj previo. Advierta que, mientras que cada uno de los cerrojos SR y JK tienen dos entradas (excitaciones), sin contar el reloj, el cerrojo D s61o tiene una.
Ejercicio 7. Utilizando la ecuación de transición para el cerrojo SR, confirme la tabla de transi+ ción dada en la Figura 136. Aunque el cerrqjo D se crea a partir del SR en la figura 13, es posible obtener el mismo comportamiento si el cerrojo SR se sustituye por uno .lK. Esto es, se fuerza a quc K sea igual a J ' rnediarite un inversor. (Compruebe que = D si J se renoinbra como U . ) El cerrojo iipri U tiene los misrnos problemas de temponznción qiie cl cerrojo J K . Sin cmbargci, cs un dispositivo simple y económico que encuentra aplicaciones cuando no es necesario sincronizar todas las transiciones de cerrojo en un sistema.
e+
Flip-flop D activado por flanco
La solución que se mencionó para el problema de temporización de cerrojos activados por pulso es la activacihn por flanco. Esto es, en un flip-flop D, los cambios en el valor de entrada
D
no afectüriin el estado salvo en el flanco del pulso de reloj, ya sea éste el ascendente o el desceridente, dependiendo del diseño. En 1ü figura 14 se presenta e1 diseño de un flip-flop D activado por flanco. Las compuertas 5 y 6 constituyen un cerrojo SR básico.
: considera
;ponda a la indicar rcestüdo del -adü duran:errojos SR la.
a de transi-
las pcir pul-
: carr,i~laD i el descrn11 activeido
Coiiiponsritcs de s i ~ utos i iecuenciales
11
/:fl
r4
fs th
17 IH 19
173
l t o 111
Figura 15. Frirmas de onda del flip-flop D activado por flanco.
Las expresiones para las entradas S y R para este cerrojo pueden obienerse analizando el resto Jrl circuito, consistente en las compuertas de la 1 a la 4. Analice el circuito para confirmar lo
siguiztite:
Cuando la seiial de reloj esta en el estado bajo (C = O), estas expresiones muestran que t~intoS como R+ son 0, independie,ntemente de la entrada D. De acuerdo con (21, Q+ = Q,rio ~ i i r r e r i transiciones, e ,S miiiitiene cualquiera que haya sido cl valor quc tenia: y+ = J . Suponga ahora que el reloj a'icicndc 3 1: de acuerdo con (6) y debido 3 qiie S y R fiitron anibas O justo antes de ese hecho. ,S+ = i l y K+ = Dr. Drspuis de que ocurre un retardo necesario para esta transiciijn, el usii de e s i i , ~v:ilort.b pxii S p R cn (7)prvduce Q+= D + DQ = D. Resumiendo, en el flaiicri ascendente del piilso dc rcloj (despds de un retardo apropiado), la salida del circuito se corivieiie eii cualquiein que haya >ido la entrada D en el momento del flanco ascendente.'* Suponga ahora que finaliza el liiilsti de reloj: C = [J. Ya vimos que los valores de S y R se volverán O pero que no ocurriri iiinguna tran>iciGncn la salida: Qt= Q.No ocurrirá otro cambio adicional en la salida hasta el flanco ascendente del siguiente pulso de reloj. La salida subsecuente (después de un retardo) s e r i cualquiera que >ea el valor de entrada en ese tiempo. En la figura 15 se niuestrari fortiiaa de onda posibles para la señal de entrada (D)y el reloj ( C ) .También se indica la forriiü de orida de aalida que resulta, bajo la suposición de que el flipflop estaba itiicidltrieritz rstabltcido (0 = 1). La no idealiziicihn del pulso de reloj se omite en esta figurd. (Teriga presrrite la situacioti atiterior.) Tanto U criino Q son 1 en el primer tlanco asceticlrtitc clrl rrinj ( 1 , ) . por lo que. ya que Q+= U = 1, no ocurre transicicín. (Compruebe cada punto en éste y en 21 siguirtitr pirrafo.) En el siguiente flanco asceriderite ti,), @+ = D = O, y se produce una transicidn. En el siguienie flanco ascendente (r,), D es otra vez O. por 10 que no ocurrir5 transicihn en la salida. Cuando se aproxima t,,, Q = O y D = 1, de manera que una transición hacia 1 ocurre de nuevo en el íianco ascendente del pulso de reloj. En todos los tiempos precedentes cuando cambia cl valor de D (t5, tb, tg, a,, t,,), e1 re1o.j está estable, por lo que no se producen transiciones en la salida. Como comentario final, iquk pasaría si fuera a cambiar la entrada D durante el intervalo sobrc cl cual sube el pulso de reloj? La respuesta es. ;el caos! Esto se debe a que el "flanco" tiene una pendiente finita. No seria del todo claro qué valor tendría la entrada durante este "flanco" lentri, por lo que la salida sería incierta. Ésta es la
razón del reyueriniieiito de que la entrada pcrmanezca estable (sin cambio) durante un intervalo de rieiiipo qiie abarque los tienipos de esta-
''I'uncioiialnieiite, '*el valor de Li eii el flaiico asceiidente" significa que Li debe mantrnrr +u i ~ l i diir.iiiit v uii iiciiipo no menor que el tiempo de e\t~hlecimientrimis el tiempri de reiencibn dlredrdiir del ll.incii d t a~-ciisi7.
174
Principios de diseiio 16gico digital
Requen
a)
b)
C)
Figura 16. Diferentes disefios para un flip-flop biestable "T'. blecimiento y retención del flip-flop. En la figura 15, por ejemplo, no se puede permitir el cambio en D de O a 1 cerca de t, si el aumento en el pulso de reloj no ha terminado.
Un dispositivo que sería útil en sistemas digitales es aquél cuya salida se alterne. Esto es, cuya salida se sustituya por su complemento siempre que haya una señal entrante. Un dispositivo de este tipo sería inherentemente de entrada simple. El dispositivo que presenta este comportamirtitri se conoce como,fiip:fiop hiestuble (T). No hay necesidad de un diseño independiente debido a que un fiip-flop de este tipo se obtiene con facilidad a partir del flip-flop JK con ciertas conexiones en las terminales. En la figura 16n se muestra un diseño posible. Las enwadas J y K de un flip-flop JK se conectan entre
sí y se reiinnibran T. La tabla de kansición se obtiene sin dificultad a partir de la correspondiente al flip-flop J K eii la figuia 9. Pai-a C = 1, la ecuacióii de transición en (4) se reduce a:
Para T = 1 (cuando C = l), n+ = Q ; esio es. el nuevo estado es el complemento del estado anterior. El estado se alterna. Pero si T = O cuando I: = 1 , entonces Q+= Q; no hay alternancia. Puesto que. en la presencia de un pulso de reloj, la alternancia ocurre sólo cuando T = I y no cuando T = O, este circuito es uii poco deficiente.
Ejerckio 8. Otro diseño para un flip-flap T síncrono se ilustra en la figura I Bc La señal J se retroalimenta desde Q' y K se retroalimenta desde Q. (Recuerde que éste es un diagrama de bloques; en el drcuiio de flip-tiop JK real de la figura 9,esto equivale a conectar las terminales J y K a un 1 lógico.) Determine la ecuacidn de transición para este circuito y compárelo con el de la figura 1 ba tanto para C = O como para C = 1. Respuesta
'
Una mídificücidn del discñci de la figura 16a que supera la deficiencia se muestra en la figu16b. Las terniinales J y K se conectan de nuevo, peru ahora se dejan permanentemente en 1. La entrüdü T se liniitu en estc caso a ser un pulso y se introduce en la terminal del reloj en lugar del teinj. El flip-tlop ttsultütite es asino.nn(i. sir) reloj. Para determinar la ecuaci6n de transición, se fija J = K = 1 y C = T eti (4) el trsuludo 2s e1 tilismo que (8). También en este caso, la alternancia ocurre cuando T = 1, pero ahora éste es prirü t(da ocurrencia del pulso T. Esto es, cada vez que el pulso de entrada T pasa al estado alto, la srilidri se alterna. Hemos considerado brevemente dos diseños de flip-flop T. Uno es síncrono pero no se alterna en cada pulso de reloj; el otro se alterna en cada pulso de entrada pero no es síncrona. ra
l3
La misma
Componenlet. de circuitos secuenciales
175
Requerimientos de excitación del flip-flop Las partes previas de esle capítulo pueden resumirse de la tiianera siguiente. A pariir de un diseño dado de flip-flop, es posible determinar una tabla de traiisición de estados, o la equivalente ecuacibn de transición, mediante el anhlisis del circuito. A panir de cualquiera de éstas, se puede determinar el estado siguiente para cada estado presente y cada combinlici6n de entradas. En un diseño de circuito secuencial. el cual que explicarfi en el capítiilo 6, no se contxeii las excitaciones del flip-fiop. En vez de eso, para cada diseño y cada combinación dc entradas, lo que se conoce son taritci el estado presente como 21 estado siguiente. A partir de esta información, debemos ~lrducirlos valores de excitación requeridos que se producirán en una tratisición determinada.
el cam-
EJEMPLO 1
es, cuya
;itivo dc rtarnien-
o se ob-
e ciineccorres-
Suponga que se rcquiere uria transición de Q = I a Qt= O para un flip-flop JK. Si estos valores se insertan en la eciiaciiin de transicicin (41, el resultado será Q+= JQ' + K'Q o O = I'*J + 1-K' = K'. Por lo que K = 1. independientemente de J. Esto es, si se desea la transición Q = 1 + Q+= 0, ¤ Iris entradas requeridas del fligtlop J K son K = 1, J = la que sea.
Los requeriniientos de excitaciicin para las otras transiciones pueden determinarse de manera similar. las resultados para los flip-flups que se estan considerando se ilustran en las tablas de excitadon de la figura 17.
ii
uce a:
Transiciún
Entradas
Transicidn
Entradas
r~quzrida
neceqaria?.
requerida
necesarias
e n
J
-
itado an,rnancia. =lyno
e
Q+
o o
O 1
S R O x I O
O 0
.1 J se rede blonales J y n el de la
3
-ansición, altercada vez
, la
no se al:rano.
K
o
O
x
1
1
x
Q+ = J ' Q + K ' Q h ) Flip-flap JK
Transición requcrida
n la Figunle en l. rn lugar
i
Entradas
Transición
Entradas
necesarias
requei-ida
iiecesarias
.
Q
a+
D
-
Q
8 '
J
176
Principios dc disciio Iíigico digitiil
Figura 18. Rcgistro de corrimientv hacia la derecha. TON -
de relojff
C4' '
J
b'l
Figura 19. Control de enirada de registro de corrirniento.
Ejercicio 9. Utilizando las ecuaciones de transición apropiadas para cada uno de los tlip-flops considerados, confirme cada una de las tablas de requerimientos de excitación de la figura 17. *
3
REGISTROS Las siguientes caractensticas disijnpuen un circuito secuencia1 de uno ~ombinaiorio: La capacidad para almacenar. en mrinoria. información acerca del estado del circuito debido a entradas pasadas. La utilización de esla infurmacibn para producir iina salida en respuesta a nuevas entradas. Las iinidades bAsica5 para el almacenariiieiiio de 1 bit de inforinacirin son flip-flops o cerrojos. Del mismo modo que las compuenas Iijgicas pueden in terccinectarse rara constituir unidades mhs grandes como mult~plexores,decodificadores y sumadores completos, así los flip-flops se organizan en grupos llamados registros. Un registro de n bits e%un conjunto de n flip-flops (casi siempre del tipo Li), todos con un reloj coniliti. No sólo dehe ser común la señal de relqj, sino que todos los flip-flops deben respridrr al reloj cle la misma manera: tudos activados pcir el Banco ascendcntc o por el flanco descendente.
Es posible alrnxtniir ti bit5 dz informdcicin que pueda o no relacionarse. La transferencia de inf(irmucihn it Lin registro se conoce conio L,argo del registro. En tkrrninos conceptuales, es posible transferir Iü infcirmiic.icin ii todos los tlip-tlop zti un regiitro de manera simultrinea (en p n 1-aleh)o un bit a la vez (en serie). De modo siniil'u. lla intormación puede trünsferirse hacia fuera del registro en paralelo o en forma serial. ResultLin viLibleslas cuatro combinaciones de carga y lectura: Paralelo-entraddpa~alelo-salida, Pxalelo-entriicIiUsene-salida (liste usted las demás). Los registros se pucdcn obtener en circiiitos MSI. La iriformación se procesa en unidades de 2" bits. (Cuanto más alto este número, tanto más rápido el procesamiento.) Con fines ilustrütivos y facilidad de visualización en lo
que sigue, se utilizarán registros con menos de 8 (2" flipflops.
Registro de corrimiento de carga en serie El diagrama esquemático para un registro en serie de 4 bits se muestra en la fisura 18. Los flipflops indicados son del tipo D, aunque también podrían ser JK. El indicadiir Jinhmicu (iriángulo) indica un flip-flop activado por flanco, y la burbuja sobre la terminal de enirnda dc rcloj
Regist
7
Componentes de ~irtuiiossecuenciales
177
quicre decir que la activación ocurre en el f l ~ n c idescendente i del pulso de reloj. Vamos a haccr v i i i i : ~observaciones ~ luego de examinar cl diagrama. En ciid;i flanco descendente del pulso de reloj, la entrada en la línea x se transfiere a la saIida del primer flip-flop. Cualquiera que seii la salida del primer flip-flop en ese tieriipu s r irnnsfiere a la salida del segundo flip-tlop. y de manera similar, en una cadena hacia la derecha. haua el último Ilip-flop. (¿.Funcionaría este esquema si hubicra habido mis flip-flops en esta cadena?) Esto es, los datos SP COITCII con cada pulso de reloj, de ahí el nombre registro de corr.irnit,riru. Si la única salida dispoiiihle externamente ru la última a la derecha (o a la izquierda eii el caso de corrimiento izquier~lrd.eiitonces el registro recibe el nombre de regibtro de corrimieiito de solidu r n serie. Sin emb:irgo. 51 cada salida de tlip-flop (cada Q, no s610 Q,) está disponible para leerse externamente. Pste es lambién un regisuo de salida en paraklo. A menudo están disponibles ambas posibilidadec, y se usan señales de control especificas para cnntrolar cuál de estas formas se utilizarh en una aplicación particular. En virtud de que la Lransferencia de datos ocurre con cada pulso dc relcij, eii el circuito de la figura 18 no hiiy control sobre la temporización de la irnnsferencia de Jütt)s. Dicho control se puede conseguir en una de dos formas. Una posibilidad s r iliistrii en la figura 19~1,donde CON es la señal de enrrada del control de corrimiento. Debido a qiie CON \e iiitroduce ü una compuerta AND con el reloj, Iris flip-flops en el registro de ccirrimicnto ce hribilitriri sólo cuando CON = l. Eti uti registro de k bits, CON debe pasar al estado alio justo después de uri flanco posierior del pulso de reloj y permanecer en el nivel alto durante f- periodiis de reloj. El registro operüi-ií como se describió antes s61o en estos k periodos de reloj.
Por tanto, i i ~ palabra i ~ de k bits se transferirá al registro. La señal de control de curriiniento cambia para CON = O en el extremo de la palabra de k bits, deshabilitando dc ese modo Iris flipflops en el registro hasta que la señal de control vuelva de nuevo al esiado alto. La principal desventaja de este e5quema es que Id lógica se efectúa con la señal de relrc. Puesto que las cornpuerias c.cm las cuales se efectúa [J. lógica (una compucrta AND en este caso) tienen retardo de propagaci6n. la señal de reloj tio llegará a todos los flip-flops en e! sistenia al mismo tiempo. Por consiguiente. el sistema quizd L~lleal efectuar todas las funciones del sistema en forma síncrona -un resultado riltanietiti: itideseable. Una rnanera simple de suprar esta dificultad dz control de la entrada sc muestra en la figura 146. En vez de hacer pasar la seiial de control por una compuerta AND con el reloj, la señal se hace pasar por una AND coi] la entrada x. También en este caso, CON debe pasar al estado alto justo después de un flanco pusterior del pulso de reloj, permaneciendo en ese misrnci zstüdo alto durante k periridos de reloj, y luego pasar al estado bajo. De esta manera, sólo se transferirá una palabra dc k bits al registro de corrimiento. Este método para el control de carga se ilustra a continuaci6n.
circuito de-
nuevas en. o cerrojos. .ir unidades
lip-flr)ps se 3flrips (casi loj, sino que el flanco assferencia de iales, es poinea (en pa:hacia fuera s de carga y 5 demis). tinidades de ir5 ilustrati8 (7" flip-
18. Los tlipico (tnángua&¿ de reloj
1
Registro de corrimiento de carga en paralelo El diagrariia esquernitico de un registro de entrada en paralelo, salida en piiriilrlu, se precenta eti la figura 70. Se disetia con flip-flops dK de activación por flanco y utiliza el mftodo de control de carga que 5e explicó antes. Obszrvarcmos algunas de sus caracteristicas estudiando el diagrama.
I . El pulso de reloj se aplica a cada uno de los flip-flops a través de un inversor, de manera tal que la activación se efectúa sobre el flanco final del pulso de reloj. El propósito principal del inversor, sin embargo, cs proporcionar un reforzamiento de la señal, reduciendo de ese modo la carga sobre la fuente de reloj: el reloj no tendrá que accionar todos Icis flip-flops, Únicamente al inventlr. 2. El esquema de control de entrada en la figura 20 se usa ~ 0 1 cada 1 seiial de control. Esta vez, para evitar la carga de la fuente de control. la setial se introduce a travks de un búfer.
178
Principicis de diseño lógico digital
Figura 20. Registrii de 4 hits cargado cti paralelo can control de carya.
3. Por últiiiio. existe una entrada de BORRAR (CLR) operada de maticra independiente que se aplica a cada Rip-flop en el registro; éht;i debe esiar en alto eri la cipcrac.irín normal del registro. Sin embargo. cuando es necesariri iiiiuliir 13 función que se esta efcziuando y borrar los coritenidas del registro, ello se Iiigrn. cn forma asíncrona, fijando CLR = 0. (¿Cual es la funcicín del búfer en esta línea?] Aunque los flip-flops son JK. cuando en la etittacla de ccintrul de carga es 1, = 1 , estos re eslán utilizando como flip-flopc D debido 3 que en ese caso K = J'.(Compruébelo.) Cuando L = O. sin embargo, J = K = O; en coniccuencia, no ocurrirán transicionrs de flip-flop. Las cnirad:is 1, se cargan de manera siinultanea en 10s flip-tlops correspondientes en rl flnricu final del pulso de reInj. siempre y cuando la entrad3 CLR sea 1 en ese tiempo y iambikn srn 1 el contml dc carga. Tiid:is las salidas del flip-flop cstaii disponibles exLernamente, dc manera que éste es un registru de enirada en paralelo, salida en paralelo. Por simplicidad, los rcgisirot;que se muestran aquí son de 4 h i t h . Evidentemente, es posible realizürliis Far;i inás bi ts agregando uii níimero mayor de flipflnps. El ~iúmerode flip-flops es la Única diftrencia entre los registros que procesan 16(2" bits -?12(2~)ri 2" para un valor superior de ti - y 10s más simples que se exponen ayiii. La totalidad de este tipo de registros se cihticnen en CI MSI. Ida figura 21 miisstrn un siiirbolo esquemático para un registro de entrada piiralelo, salida paralelo, de 8 hii\ utili~niidoflipflops D y etitrada CLR.
Conversión paralelo-serie Aunque todos los bits de una palabra est6n quizá disponibles al mismo tiempo, tal vez resiille deseable convertir esta información en la forma serie. Esie es el cain, por ejemplo, si los datos se van a transmitir serialmente a otra localidad por un ~ 3 1 1de ~ 1comunicaciiin de una sola línea.
Componentes de circuitos secuenciales
179
00 Qo CLR
Figura 21. Síinbolo para un registro de 8 bits.
h JPR Q
o-
1
4
I
CLR
-
K
A
''
J P R Q 2
-4
~ O~
J
4
KCLR
~
A
"2
PR 3
Q
4
4
KCI.R
Y
?
?
A
A
A
hit 1
hit 2
hit 3
CI,R
"
P 1
bit 4
Figura 22. Registro de cnrrimiento de 4 bits para la conversión paralelo-serie.
I"",'c Pulso dcrcloj OS
ia
se están
1
2 3 4
jl
y2
y3
(palabra de entrada) I 1 o O 1 1 0 o
0 0
1 0
palabra de salida
sola línea.
S C ~ C
y4+( 1 sb de entrada)
1
7
O (lsb de salida) 1
i
Figura 23. Conversión de datos paralelo-serie .
Con este fin, se necesita que un registro de corrimiento pucda cargarsc en paralelo. Una pcisibilidad se presenta en la figura 22. El registro de corrimiento de 4 bits está conformado por flipflops JK, aunque éstos actúan como tlip-flops D, pues K,= ./;-. Cada flip-flop tiene también tertnitiales asíncronas BORRAR O PONER A O (CLR) y PRESTABLECER O PONER A 1 (PR). Los datos entran al registro a travCs de las terminales PRESTABLECER l . (No se indican las unidades de control de carga cn cada entrada PRESTABLECER A 1 .) Las entradas J y K a1 primer flip-flop a la izquierda se fijan de manera permanente en los estados bajo (O) y alto ( 1 ) . respectivamente. Eslo garantiza que después de cada pulso de reloj, la salida del primer flip-tlop pasará al estado bajo. A menos que los estados del flip-flop se fijen asincrónjcrtmente, este valor bajo se propagará hacia la derecha y, luego de tres pulsos de reloj más, todos los flip-flops se borrarán. En un tiempo determinado por la entrada de control de carga, el registro se carga a través de las terminales PRESTABLECER A l.
1Rfi
Principios de diseño Iijgico digital
regisirti de
de 4 bits
1
2
~rliq
validas de ccrado paralelas
Figura 24. Registro universal
Suponga que la palabra qiie se va a transniitir cs I 101. En un pulso di: reloj determinado, IR cntrada de control de carga habilita las terniinales PRESTABLECER A 1 , y to~loslos bits dc la pa-
labra se c.;irgan d e nianera simultáriea en el registro. El rrsiiltado \e indica en e1 pritner rengl6n de la tabla en la figura 23. PRESTABLECEH A 1 csili ahora deshahilitadü. En cada ~iulsnde re-
loj sucesivo, los contenidtis del rzgistro se corren hacia la derecha, dejando O a la 17.qiiiei-Jii,~ o mo se muestra en Iiis i.englones sucesivns de la tabla. La salida. que aparece en Iri úlrima columna, se toma deqdc cl flip-tlop mis a 13 dei.cch;i, el primer bit menos significativo. Otra aplicacióti de cste tipo d e registro dc conversión paralelo-cr-rie es la siguieiite: supon-
ga que se disporizri di13 números binarios (que i e sumará) en forma paralela. pero que se procesarin ~nedianteun sumadcir en serie. Los nlinieros pueden convertirse en la forma scrial y
aplicarse como entradas scrialzs
rii el sumador.
Registros universales Cada tipo de rcgi stru descrito en las secciones anteiicir es (corrimiento a la derec h:~. m-riniiento a la i~quierda.c q a en paralelo. lectura en paralelo) tienc aplicaciones iinprii 1:inlzs. El que %ería de un viilor incliiso mayor es un regictro que con1bina algunas de todas esiiis características.
un tiyi) de registro universal.
En la figura 24 se prcseiitri el diagrama esqiiernático para u n rrgictrn de 4 bits de este tipo Hay cuatro terininales para la carga en paralelo y la lectiirii cn paralelo, así
ctiniri cniradas rn fen e de corrimiento i~quierdoy crirrimienlo derecho. El prtiplisito del decodificador exaerrio es producir los bits que se corrrrin y crintrolar la direccióii en la cual se efectuará r l corrimiento. Una de la5 aplicaciones de este tipo de circuiio es Iü qiie corresponde a un contador. Puesto
qiie los bits O y I piieden correrse hariii cualquier direcciiin en el pulso de relcij, e i prisible ge-
nerar un gran
tiúmerti de códigos diferentrc de longitud variable. Los problemas para Ilcvar a ccaho tales disenos se exponen en el capítiilri 6.
Para ilustrar, suponga que se va ri utilizar un registro universal dc 3 bits para diseñar un c ' i n iador de niódulo 3 de aciirrdci con el siguienti: cridigo. (¿En éste iin c6digo de distancia unii:irrdaJ)
Suponga qiie las variables de estado se denoininün y , , y2 y,, coi1 J., reprcscntando el bit m& significativo. Empezando con el estado i.,xly = 000, un hit 1 se corre hacia la izquierda, luepo u11bii I hacia la derecha, despuzs uii bit O hacia la izquierda. Los mapas liigicos para las datos que se van a correr a la izquierda y a la derecha se consiniyen en la forma quz se indica cn la figura 75n.
RESUME
del número binario es menor que su valor inrnedraiainenle aiiteriijr, entoncrc las salidas son : , z , = \O. Si el vairir presents es niayor que el valor precedente, entonces r,:, = 01. Si es e! inismo, z l t 2= 00.
a. Diseñe el circuito. b. Dibuje di~grama:.de temyurización pa:a lus tres cwos. 51. Se espera que palehral: de cinco bits qiir llegan a iina iínea sean nirr.%es eri cíulipo 7 rlc 5. Sin eiiibargo, quizá existan errores. Diseñe una miquina sfncrciiin cuyo. salida es 1 sOlo ;untido x r re2ibe rl quinto bit v la palabra sumpletadñ no una palabra vilida en aídigo 2 dc 5 . Las palabras de 5 hit< soti cirnseciilivas; tan pronto ci?mo utid p~l;ibradc 5 biis se complet~.el circuito d e k cstar listo pala recibir el primer bit d e la palabra siguiente.
a. b.
c. d. e.
52.
rcin,~iriiyaiiti di:igrama dc cstadct.. ( Sugcrc,nchid:;, h ~ u i n i o scstadui Jistiriti,i piiede hacer el circuito una transiciiiii para ~ ü d bit a cntraate después del primero?) C
a. t:nn rnhquina secuencia1 siiicron~ticne tina línea de entrada x y una línea de iülida I. Se pelende que la m á q u i n ~ rcciba un número binariri d e longitud desconocida en la línca d e entrada. siendri el primero el bit rneiio.r ~igiiifi~ativo, y quc indiquc e n z su divisibiIidad entre S . Estu es. en cualquier tiempo t. ;(t) = 1 si y sólo si el número binario x ( r )... x(O) es divisible entre S. Coiistrdya una rnbla de estados para una rnáquina de cstas caracteristi~xsy minimice el número de estos misiiios. b. Generalice la parte a: hi se va a dctectar la divihibilidad entre un númerop, dcinde p es una criiistarite conocida. dctrrmiiic un Iírnirr siipzririr en térnitins de { i del númem dc estados nece-sarios cn la miquina. c. Repita la parte a suponiendo que se recibe primero el bit mus significativo. d. Rcpirii la parte h huponienclo qiie \e recibe primerri cl bit más significativo.
53. La figurii P57 mueskra u n diagrama csquemliticu de un contador siiicrcino de múdiilo 10 cuyos estados srin 0-9 La\ salidas Qj-Qu represeiitan el ccinteci. Si CH rhhabilitar coi~teo")es 1, mtonccs el contador se incremeiita a1 c i ~ i i i ~ . nri:ado ic eii el pulso de reliij que sigue. En otro cnho retiztiz el cuiictili prcsente. La salida TC es 1 si y sólo si el conteo es 9. Elobjetivo de este pmhletria es diseñar un contador dz mlidulo 1016eticadenwdoen conjunio vsrios contadores d e mikiulo 10. Se afirma que 1üb enrradas CH a loc contadores h nl0dulci I O en la cadena son anhlogas a las entradas de acdrren dr los sumadores cuinpletos dc un suinnd~irmiiltibit y, C I ~ crinstcuencia,i14 pohihlz utilidilr los principios de acarreo anlicipado al diseñar el mntador de rnrídulo 1 0 ' ~ .
a. Deduzca las e~prcsionesdr generxibn y propagavifin para un contador de rnildulo 10. b. Srponga que se dispone con unidades de anticipacihn de 4 bits del tipo que se muestra en IU tipura 8 del capitulci 4, con entradas P,-P,,G,-G, y C, y salida< rzr,.Iltiliz~ndo&ctas y ioe ~unm dores de mMulcr IIi (y nin y n a citra 1 6 g ~ adiseñe ) un contador c m atiticipación de rn6dulo 10''. c. Obtenga un contadur dz rn6dulo !OL6 sustituyendo ias unidades de anticipación rn ia respuesta para b por únicamente corpuertas AND. 54. y .?. En presente
u11 coiirndur Liiriiil
a. Discñc
228
Principios de diseño liigico digital
5 .
L r t i i i iiiitquiiia de estados tendrá una sola línea d e entrada ! i i i i ~
.
\r ~ u e l i I t
Consinya uri diagrama de estados y una tabla de estados; reduzca entonces la tabla hasta uiln que icnga cl mcnor número de estados. h. Construya un diagminii MEA. C. Considerando la iniplemcnwci6ri cciri Flip-flops U, conslruya las VahIai de tranxiciiin y. a p;irtii rlc estas. construya iiii,i implemcntacion dcl circuito. P.
56. Ciertii iiiáyuina de estados teiidrh Iii funciirn ciz dttenniiiür cuando una secuencia entrante de 7 bit5 iio es un c d i g o biquinario para iiri dígito decinial. La niAquiiia tieiie dos entradas: DATO y CONTROL. DATO consta dc palabras dc 7 bits quc representan los dígilos deciinales en el ciidigo biquinario. CONTROI. es una scñal qiic i1iici.i 1ii incpeccici~idel D.41'0. Cuando CONTROL = O pard uno o niú.; pulsos del reloj, la salidü pciiii;iiiccc cii O. Cuaiido CONTROL se vuelve 1 y se manliene en 1, la mhquina va a examinar los $i=iiicnies 7 biis cii DATO. Mictirras tanto la salida se mantiene eii O: se convieiqe eti I sólo si el skpiiinri hii crimplctii u i i ~palabra qiie no es un digito decimal en chdigo biquiriario.
a. Construya una tabla de estados para esta máquina. h. Suponiendo e l cniplco dc flip-flops D ,constriiyn las tablas de tran\ici
Medilintc chtm tablas. diseñe una iiripleineiitaciBn del circuito.
57. íli.icnc cnnip;ir:idor czciieticial. con dos líneas de enuadn w y y y una ~ 1 i Iíiic~ 1 dc siilida ,-. .Y(.r,,.t,,.,.rw.,j e> uiia palahtn tic 3 bits en la lítiea .r y. de maner~ixiinilar, Y(ynyn.Y,: _ I c:. iiiia piilahrn de 3 bits en la línea y. Cciiisidc.taritlo ."I y Y corno números binarios de 3 hits, la salida x 1 - á I srilo si X 2 Y.
,
_
a. Lnnatrtii;a k i r i diLigr;lrniide esbadoh y uiia tiihlii de estiidos para rsia m6íluiiia. b. Suponga 4112se van a utilizar flip-flops 0. Construya tablas de ti-ansicióii y, a partir de éstas, una implcmentacioti del circuito. C. Repita h utiliz:indo tlip-flops .lK. d. Alguien siigiere 1'1 iiiiplerrienlacihn del circuitci con dau registros de corriiniento que leen en paralelo y cicrta 16gica coriibinaturia. Lleve ü ~iihrie\ta iugsi,enci;i.
58. El objetivo rle erte problema es dixeñiir un coiit;idnr mcidelii de Moore ascendetite-descendenlt.de mádulo 8.(MCidulo 8 sigiiifica que la i i i i y u i i i a cuenta de O a 7 eri biriario. "Ahceridenle-descendente" hignifica qiie cuando el conteo avansii desde 7 ( 1 1 1 ) va 3 0 (000) y cuando desciende desde O va a 7.) Ade~iiásdel reloj. la mdquina lendrh una .calida. x . Cuarido .r = O, el conteo disminuirs en 1 desde su valor presetite y, cuandox = 1, se incrrmentarj en I drstlr sil v d o r presente. ocurriendo iimbos con el pulso del reloj. Suponga que se van a iitiIi7iii- tlip-tlops D y qiiz rici liay decodificador de salida, xiendo los estados de Ins salidas del flip-flor 13k quc kc toman coi~iouti número binario.
a. Dibuje un diagriima que inuesti-c ires flip-fliipi r. 21 Clt~oLliíi~üJ~~r dc CS~~ILIUS conlo iin rectángu10. (,,Es pusiblc identificar la nniiiralez:~de esta máquina?) Construya clircctaincnte una tabla de transici6n en vez de utilizar nombrcs arbitrarim para los esiatirii y rcali7:ir uii;i posterior asigriaciori de estiirlos; uiilice Iris valores bii~dririrdcl ccinteri para identificar lus estados prcstiite y siguiente. c. Construya rnapai I<jgicua piua cada cstado siguiente. d. Llixene e l decodi ficadtii Jc. crtadus y cuinplete la irnplementaci6n. e. LIiilir,andri iiernpcii iirbittliriris de cambios de entrada relativiir UI relrij, dihule diüpi-iiiiiiis dc tcnipori~aciijnque rnucstrsti los pulsos de reloj, la entrada y las saliclas de Ili]?-tliip.
11.
59. El ol,jctivo e:: di::enar
iiri ciintadiir ascendenle-dcsccndcntc de módiilo 8 con unn soln enrr:iri;i i. g trer líneas dc ~ci1id.i.El iiúiiierci binariii reprexentarici pur 1:i \alida z,z,q es el conteu. Eirr incrrmtniará eii I cuaiido A- = 1 y disminuid en I cuando A = O. Diseñe el circuito.
60. El priipi jsitii r \ d i ~ r i l d ruii contador iiscendente binario de 3 biis sin riir;is entrdda\ iiiás quc cl rcluj. En cada pul\ii del rzlul. el conwdur rcaliza ciclur a Iii largo de la xecuenci~(%)O. (K) l . O I 1 , 1 1 1 , 101, 100. luego (le lo ciial repite lri iccucncia. Los otros dos estadlis pcisihles no ocurren.