You are on page 1of 477
Principios de Diseno Digital rh -. a te a se Sc ju aceal sos eee me Principios de disejfio digital Daniel D. Gajski Traduccién: Carlos Garefa Puntonet Julio Ortega Lopera Francisco José Pelayo Valle Beatriz Prieto Campos Departamento de Electronica y Tecnologia de Computadores Universidad de Granada Coordinacién de la traduccion: Alberto Prieto Espinosa Catedrdtico de Arquitectura y Tecnologia de Computadores Universidad de Granada Revisién técnica: Mateo Valero Cortés Antonio Gonzalez Colas Departamento de Arguitectura y Tecnologia de Computadores Universidad Politécnica de Cataluia PRENTICE HALL Madrid * México + Santalé de Bogota * Buenos Aires # Caracas Lima # Montevideo San Juan ¢ San José + Santiago * Sao Paulo * White Plains Dats sataopicionboegsane DANIEL D. GAJSKT Principins de diseio digital PRENTICE HALL IBERIA, Madeid, 1997, ISBN: 84-8322.004.0 MATERIA: Informics 631 Fermato 195x250 Piginas 488 DANIEL D. GAJSKI Principios de disefio digital [No esté permitida la reproduccién total o parcial de esta obra, ni su trasmisidn o tratamiento por cualquier medio 0 método sin autorizacidn escrita de la Editorial DERECHOS RESERVADOS © 1007 respecte a la primera edicién en espatol por: PEARSON EDUCACION, 8. A. C/ Nisiee de Balboa, 120 23006 Mati ISBN: 84-8322-004-0 Depdsito Legal: TO.- 1103-2000 2.* reimpresién: 2000 Traducido de: PRINCIPLES OF DIGITAL DESIGN PRENTICE HALL, INC. - Simon & Schuster International Group ‘A Viacom Company Copyright © MCMXCVIL ISBN: 0-13-301141-5 Baicién en espaitol Editor, Andrés Otero Disefio de cubierta: DIGRAF ‘Composicién: REPROGRAFICAS MALPE, S.A. Impreso per: GRAFILLES IMPRESO EN ESPANA - PRINTED IN SPAIN. Este bob io peso con pape as ees Este libro estd dedicado a mi esposa ANA por su paciencia y su apoyo incondicional tanto en los momentos fiiciles como en los dificiles durante este proyecto. Contenido PROLOGO AGRADECIMIENTOS 1. INTRODUCTION 1 1 1 14, eran Representaciones del disefio Niveles de abstraccién Proceso de disefio 1.3.1, Especificaciones del disefio 1.3.2, Desarrollo de un biblioteca de componentes 1.33. Sintesis del diseno 1.3.4. Anilisis del disefto 13.5. Documentacién 1.3.6. Fabricacion Herramientas CAD 14.1. Captura y modelado del diseito 1.4.2. Herramientas de sintesis 1.43. Verificacién y simulacién 1.4.4. Disenio fisico 145. Test Proceso tipico de disefio Organizacién del libro Resumen del capitulo Lecturas adicionales xiii xix Vili Principios de disefo digital 1.9. Problemas 2. TIPOS DE DATOS Y REPRESENTACIONES 1. Sistemas numéricos posicionales Numeros hexadecimales y octales Conversiones entre sistemas numéricos Suma y resta de nameros binarios Representacién de nimeros negativos 2.5.1. Representacién en signo y magnitud 5.2. Sistema numérico en complemento 2.6. Suma y resta en complemento a dos 2.6.1. Reglas para sumar 2.6.2. Reglas para restar Multiplicaci6n binaria Divisién binaria Niimeros en coma flotante Cédigos binarios para mimeros decimales Codigos de caracteres Cédigos para deteccién y correccién de errores 2.12.1. Cédigos de deteccién de errores 12.2. Cédigos de correcci6n de errores 2.13. Cédigos Hamming 2.14. Resumen del capitulo 2.15. Lecturas adicionales 2.16. Problemas PVNNN 3, ALGEBRA BOOLEANA Y DISENO LOGICO Propiedades algebraicas Definicién axiomética del Algebra booleana Teoremas bisicos del Algebra booleana Funciones booleanas 3.4.1. Complemento de una funcién: 3.4.2. Manipulaciones algebraicas Formas canénicas Formas normalizadas Otras operaciones légicas Puerias légicas digitales Ampliaci6n a varias entradas y varios operadores, Implementaciones de puertas 3.10.1. Niveles légicos 3.10.2. Mérgenes de ruido 30 3 33 36 39 30 41 43 45 47 50 51 54 56 57 59 OL 62 65 66 67 70 2 B 16 79 80 81 83 89 92 103 104 105 5 Conectividad de salida Disipacién de potencia Retardo de propagaci6a Familias l6gicas bipolares Familias lé6gicas MOS: Tecnologia VLSI Resumen del capitulo Lecturas adicionales Problemas SIMPLIFICACION DE FUNCIONES BOOLEANAS 4. 4.2, 43 44. 45 46 47. 48. 49. 4.10. Representacién con mapas Método de simplificacion con mapas Condiciones de indiferencia Método de tabulacién 4.4.1, Generacion de implicantes primos 442. Generacién de la cobertura minima Traslaci6n a la tecnologia de arrays de puertas Traslacidn a la tecnologia de bibliotecas espeesficas Disefio libre de riesgos Resumen del capitulo Lecturas adicionales Problemas COMPONENTES COMBINACIONALES Sumadores con acarreo en cascada Sumadores con acarreo anticipado Sumadores/restadores Unidad légiea Unidad aritmético- légica Decodificadores Seleciores Buses Codificadores de prioridad Comparadores de magnitud Rotadores y desplazadores Memorias de s6lo lectura Arrays logicos programables Resumen del capitulo Lecturas adivionales Problemas Contenido ix 107 109) 109) i 114 117 125 126 127 130 133 143 147 150 150 153 157 166 170 174 175 175 178, 180 182 187 188 189 193 195 199 208 206 209 212 214. 216 216 % _Principios de disefio digital 6. LOGICA SECUENCIAL 6.1, Latch SR 6.2. Latch SR sineronizado 6.3. Latch D sineronizado 6.4. Biestables 6.5. Tipos de biestables 66. Anilisis légico secuencial 6.7. Modelo de méquina de estados finitos 6.8. Sintesis l6gica secuencial 6.9. Reproduccién del modelo FSM 6.10. Minimizacién de estados 6.11, Codificacién de estados 6.12. Elecci6n de los elementos de memoria 6.13. Optimizacién y temporizacién 6.14, Resumen del capitulo 6.15. Lecturas adicionales 6.16. Problemas 7. COMPONENTES DE MEMORIZACION 71. Registros 7.2. Registros de desplazamiento 7.3. Contadores 7.4, Contador BCD 75. Contador asinerono 7.6. Bancos de registros Memorias de acceso aleatorio Pilas de insercién/extraccién Colas primero en entrar, primero en salir Caminos de datos sencillos ‘Caminos de datos generales Disefio de la unidad de control Resumen del capitulo Lecturas adicionales Problemas 8. DISENO DE TRANSFERENCIA ENTRE REGISTROS 8.1. Modelo de disefio. 8.2. Definicién FSMD 8.3. Bsquema de la méquina algoritmica de estados 8.4, Esquema de sintesis ASM 220 23 226 227 229 235 240 247 249 252 254 258, 265 268 270 271 2m 276 278 281 283 286 287 290 293 302 306 31 318 322 324 325 325 328 330 332 338 346 8.5. 8.6. 8.7. 88. 8.9, 8.10, 8.1L. 8.12, 8.13 814. 8.15, 8.16, Comparticién de registro (asociacién de variables) Comparticién de la unidad funcional (asociacién de operadores) Comparticién de bus (asociacién de conexiones) Asociacidn de registros Encadenamiento y multiciclo Segmentaci6n de la unidad funcional Segmentacién del camino de datos Segmentacién de control Planificacién Resumen del capitulo Lecturas adicionales Problemas 9. DISENO DEL PROCESADOR 9.1. 9.2. 9.3. Conjuntos de instrucciones Modbos de direccionamiento fio del procesador io del conjunto de instrucciones Disefio CISC Conjunto reducido de instrucciones Diseiio RISC Avance de datos Prediccién de saltos Resumen del capitulo Lecturas adicionales Problemas APENDICE: EXPERIMENTOS DE LABORATORIO. INDICE Contenido xi 353 361 370 323 376 379 382 386 380 399 400 400 404 407 412 416 417 421 430 434 438 442 446 446 447 449 461 Prdlogo Situaci6n actual del disefio digital Con los avances de Ia tecnologfa VLSI, se pueden fabricar microchips que con- tienen cada uno varios millones de transistores. Como el disefio a mano de estos microchips es casi imposible, ha surgido la industria CAD para proporcionar herramientas software con objeto de disefiar estos complejos microchips. Por con- siguiente, la mayorfa de las téenicas de diseio digital que se enseitaban, estén ahora encapsuladas en herramientas CAD, y en la actualidad los disefiadores pue- den concentrarse en el proceso de disefio global, como un todo, desde la defini- cién del producto hasta su fabricacién, Por todo esto, los diseftadores tienen que dominar varias técnicas de andlisis de requisitos, especificaciones de reproduc- cién, modelado del disefio, co-disefio sofiware/hardware, sintesis del microchip, verificaciGn, simulacién, y tesis. En este sentido, se ha introducido la nocién de disefio experto, dando un vuelco desde un conocimiento exhaustivo de las posi- bles técnicas de disefto, hacia el conocimiento de los principios, y la eapacidad de usar herramientas CAD para explorar las diversas altemativas de disefio y téeni- cas de implementacién, Objetivos dol texto Principios de diseito, Este libro esta concebido para proporcionar una compren- sién detallada de los principios fundamentales del disefio sin exigir a los estu- diantes la memorizacién de muchos detalles tecnolégicos potencialmente confu- sos. Hemos conseguido esta simplificacién introduciendo bibliotecas de compo- xiv Principios de diseito digital nentes genéricos que reflejan restricciones pricticas de disefio, tales como coste y retardo. Esta biblioteca genérica se usa para explicar todos los conceptos que se presentan y para implementar todos los ejemplos que estin resueltos en el texto. Proceso de diseiio. Tomado como un todo, este libro esta estructurado en tomo al proceso de diseflo global en vez de dirigirse particularmente a las técni- cas de disefio relevantes dentro de una fase conereta del mismo. Por esta razn, explicamos el proceso de disefio digital tanto al principio como a lo largo del libro, enfatizando el papel de cada tarea dentro del contexto de los amplios pro- cesos de disenio, Relacién entre teoria y préctica. Desgraciadamente, muchos textos sobre diseo digital tienden a destacar los principios bisicos, 0, inversamente, a discu- tir con gran detalle teorfas que raramente se usan. Para contrarrestar estas del ¢ ha planificado este libro de forma que desde el principio haya una r ci6n clara entre los principios y el disefio practico. Los fundamentos te6ricos se introducen s6lo cuando ayudan a simplificar ciertas explicaciones 0 téenicas de Aisefto. :jemplos detallados. En cada Capitulo se presenta varios ejemplos claros que muesiran cada paso del proceso de disefio. Creemos que los ejemplos deta lados son la mejor forma de aprendizaje, ya que los estudiantes pueden deducir todos los pasos del disefio, evaluar las alternativas y cuestionarse las razones que hay tras todas las decisiones. Los estudiantes también prefieren ejemplos detalla- dos a lo largo del texto, ya que a través de ellos pueden comprender Ficilmente el significado de los nuevos conceptos. De esta manera, se evitan los errores en la definicion de conceptos que se encuentran frecuentemente en los ejemplos trivia- les: sin embargo, los ejemplos detallados dejan al estudiante combinar los con- ceptos del proceso de disefio y deducir por qué y cémo ir de un paso 2 otro del disefio, Disefio de transferencia entre registros. Ademas de los fines generales indi- cados, el libro tiene una meta mis espec‘fica, el aprendizaje de la metodologia de disefio, més alld de los niveles secuencial y ldgico, abordando las técnicas de dise- iio de transferencia entie registros como método general de disefo y también de procesadores y microchips de aplicaciGn especffica. La finalidad de la exposicién del disefio de transferencia entre registros, es mostrar el vinculo perdido entre el sefio ldgico y secuencial, que se ve en el primer afio de disefio de computadores y la organizaci6n de computadores, usualmente contemplada en un segundo curso de diseiio de computadores. Esta materia se omite en mucho libros de texto, dejando al estudiante que adivine cémo se usan los sumadores, contadores.y memorias en el disefio de los procesadores y otros microchips. Temas destacados Proceso moderno de diseiio. En el primer capitulo se introduce la disciplina de diseito de sistemas, definiendo el proceso de disefio y sus tareas principales. Este capitulo sirve como base de exposiciones posteriores mis detalladas asi como Prologo xv para proporcionar un esquema de la organizacién de todo el libro, También se dis- cute la tecnologia de un diseflo modemo y las herramientas CAD que facilitan su uso. Se presenta una breve visién del proceso de fabricaci6n y se discute la rela- cidn entre disefio y fabricacién, Fl objetivo del Capitulo 1 es motivar al estudian- te a comprender el disefio de sistemas diindole una visién amplia del papel de la ciencia del disefto en ef mundo real Nuimeros binarios y representaciones de datos. En el Capitulo 2 se presen- tan modelos de dates usados por los sistemas digitales. Como es crucial una tepre~ sentacién binaria inteligible para comprender cémo funcionan los sistemas digi tales, se explican minuciosamente los ntimeros binarios (tanto en punto flotante como fijo) asf como varios algoritmos para implementar operaciones aritméticas, que se usardn en capitulos posteriores. También se explican varios tipos de mode- los de datos y cémo usarlos cficientemente. Impacto de Ia tecnologia VLSI. Las técnicas de diseio siempre deben poder adaptarse_a ciertos compromisos entre los requisitos de un sistema dado y Ia tec- nologia disponible para su implementscién. Por esta raz6n se introducen muy pronto los principios y restricciones de la tecnologia VLSI y se discute en casi cada capitulo su impacto sobre varias técnicas de disefto. Sin embargo, este libro no requiere un conocimiento de electtSnica, ni trata de circuitos eléciricos. En su lugar, se usan componentes que representan operadores aritméticos y booleanos estdndar asi como estructuras de datos tanto sencillas como complejas. El libro no utiliza bibliotecas de componentes concretas como TTL o bibliotecas CMOS comercialmente disponibles, porque el libro se ha escrito bajo la suposicién de que comprender los principios de varios componentes y conocer cémo usatlos es mis importante que saber los nombres exactos y tipos de encapsulados de todos los circuitos comercialmente disponibles. Por este motivo se usan componentes genéricos independientes de cualquier tecnologia patentada. Enfoque actual del disefio l6gico y secuencial. Las bibliotecas de disefio actuales intentan ser pequeflas para simplificar tanto su mantenimiento como los algoritmos de disefio y las herramientas CAD. A través de este libro, se usa una sencilla biblioteca de puertas y se construyen todos los componentes de alto nivel ‘que se necesitan a partir de esta biblioteca basics. Los Capitulos 5 y 7, por ejem- plo, introducen todos Jos componentes secuenciales y combinacionales gue necesitan para el disefio de procesadores y circuitos integrados de aplicaci6n especifica. Al mismo tiempo, creo que el hecho de que existan herramientas CAD adecuadas, no debe hacer pasar por alto que estas también pueden aliviar a los disenadores de 1a necesidad de tratar con técnicas de optimizacién manual com- plejas. Por esta raz6n, se enfatizan los fines basicos y principios de optimizacion y se muestra el proceso de disefio moderno. Enfoque formal al diseiio de transferencia entre registros. En el pasado, las téenicas de diseito por encima del nivel de sintesis secuencial se han conside- rado un arie y han ocupado muy poco espacio en los textos de disefio. Para cubrir este hueco, en el Capitulo & se introduce el concepto de maquina de estados fini- tos con un camino de datos. Una vez definido este concepto, se muestra cémo ‘materializar los algoritmos arbitrarios, expresados en términos de un diagrama de xvi Principios de disefio digital flujo o de diagramas de wansferencia entre registros, en un hardware constituido por un camino de datos y una unidad de control, formados por componentes secuenciales y combinacionales determinados, definidos en los Capitulos 5 y 7. Diseiio del procesador. En el Capitulo 9 se muestra eémo se puede disefiar una CPU usando el formalismo y los métodos de diseiio del nivel de registros que se inirodyjeron en el Capitulo 8. Ademas, este capitulo ofrece una introduecion a los conjuntos de insirucciones, la arquitectura de] computador, y la metodologia de dise’io del procesador. Para mostrar estos conceptos, en el Capitulo 9 se carac~ teriza el disefio de procesadores CISC de 16 bits y RISC de 32 bits con avance de datos y prediceién de saltos. Caracteristicas editoriales Esquema de organizacién del libro. Para orientar al estudiante, se utilizan dia- gramas de bloques tépicos que resumen los temas presentados en el libro y que definen sus interconexiones. Cada capitulo comienza con un pérrafo introducto- rio que resume los objetivas de! capitulo y los temas que cubre. Esta vision ayu- dard al estudiante a relacionar los conceptos presentados en capitulos anteriores con los nuevos concepios que se van introduciendo. Procedimientos de disefio. Caca técnica de disefo se presenta paso a paso, resumida en forma de diagrama de flujo. El diagrama de flujo permite al estudian- te resolver problemas de forma ordenada, asf como sugerir cémo ampliar una téc- nica determinada nuevos problemas o a tecnologfas que aparezcan en el futuro. Ejemplos comprensibles. El libro incluye ejemplos resucltos para ilustrar principios y procedimientos de disefio que son relevantes en ciertas aplicaciones. En cada capitulo se utiliza un pequefto ntimero de estos ejemplos comprensibles para mosirar varias alternativas de disefio, guiando al lector a través de todos los pasos necesarios del disefio, desde Ia definicién hasta el esquema final. Manual del profesor y transparencias para clases. Se ha desarrollado un manual de soluciones que contiene los resultados de cada problema del final de cada capitulo, El manual también incluye problemas originales para comodidad del profesor. También se ofrecen transparencias de las clases dadas por el autor cuando usa el libro, El manual y el conjunto de transparencias estaran disponibles para los profesores que usen este libro como texto en sus clases Opciones del curso Basdindonos en su organizaci6n, este libro deberfa ser igualmente cfectivo cn dos tipos de cursos. En un curso introductorio al diseno I6gico, por ejemplo, el libro se puede usar para enfatizar el disefio secuencial y combinacional tradicional, cubierto en los estudios de ciencia ¢ ingenieria informatica tanto en Estados Unidos como fuera. La materia para estos cursos corresponde a los Capitulos del 1 al 7. Ademis, se incluye materia sobre diseno de transferencia entre registros, para sistemas de uso general y para provesadores de aplicacién espec‘fica, usual- ‘mente cubiertos en un segundo curso de disefto digital o en un curso de introduc- cidn a la arquitectura de computadores. En este curso, el estudiante aprenderia primero los componentes basicos de transferencia entre registros: componentes combinacionales en el Capftulo 5 y secuenciales en el Capitulo 7. La mayor parte del curso consistirfa en el aprendi- zaje de técnicas de diseno a nivel de registro y procesos de disefio para sintesis de procesadores especificos de aplicacién arbitraria, que estin en el Capitulo 8. Finalmente, en el Capitulo 9, el estudiante aprenderia el diseio de conjuntos de instrucciones modernos y de procesadores RISC y CISC de uso general. En cualquier caso, se sugiere complementar las clases con pricticas en las que los estudiantes trabajarian con problemas reales de disefio usando herramientas CAD modemas para reproduccién del disefio, modelado, simulaci6n, verifica- cidn, sintesis, andlisis del ticmpo, planteamicntos de base, disefio fisico y otros aspectos del proceso de disefio. En nuestra experiencia, las précticas han tenido mucho éxito entre los estudiantes, ya que les permite relacionar los conceptos aprendidos, con los disefios pricticos en un entomno de trabajo real. Se deseriben, para ayuda del profesor, varios montajes de laboratorio y se dan varios ejemplos de experimentos en el Apéndice Daniel Gajski Irvine, California Agradecimientos Primero, me gustaria agradecer a todos los estudiantes que han seguido mis cla- ses y preguntado cientos de cuestiones, haciendo que me diera cuenta del proce- so de aprendizaje y forzéndome a experimentar con varios métodos para replan- tear el conocimiento sobre la ciencia del disefio. Me gustaria agradecer a Nikil Dutt, Alex Orailoglu, Fadi Kurdahi, Youn-Long Steve Lin, y a Allen C. H. Wu, que han probado en clase una primera version de este libro proporciondndome muchas sugerencias titiles sobre como mejorar el contexto y la presentzcidn de los temas. También aprecio mucho las titiles suge- rencias de revisores anénimos sobre el material seleccionado y la calidad de la presentacion. Me gustarfa también mostrar mi agradecimiento a las personas que me han ayudado en la produccién del libro. Jon Kleinsmith hizo las figuras, mecanogra- fi6 y formates el texto. Sin su paciencia y dedicacién este libro nunca hubiera lle- gado al editor. También estoy agradecido a Sarah Wilde por la edicién delicada y minuciosa del manuscrito. Gracias también a los miembros del CAD LAB que me ayudaron con las correcciones y lecturas de prueba de la versi6n final del texto : Tedd Hadley, Jie Gong, Hsiao-Ping Juan, Smita Bakshi, Alfred Thordarson, David Kolson, Pracip Jha, Preeti Panda, Jianwen Zhu, Min Xu, Laurent Choura- ki, Marie-Lise Flottes, Nong Fan, Joanna Kang. Wawei Pan, Viraphol Chaiyakul, y Poonan Agrawal. También estoy muy agradecido a Gerry Johnson y Don Fowley de Prentice Hall, que me convencieron de que escribir este libro serfa un reto adecuado ¢ interesante en este momento de mi vida. Me gustaria también agradecer a Tom Robbins, Barhara Cappucio, Irwin Zucker, y al personal de Prentice Hall su gran profesionalidad en la produceién del libro. Principios de disejio digital CAPITULO Introduccion ee Disefiar no es silo un conjunto de téenicas 0 cémo hacer una receta, es un proceso en el que contribuyen nuchas personas en fos diferentes aspectos que dan lugar al producto final. Cada una de estas personas ve el produc to desde un punto de vista distinto, tlene una experiencia diferente, y usa herramientas distintas. Juntos, convierten un concepto en un producto real. 4 14. Principios de disefio digital En cualquier producto, el proceso de disefto abarca desde la manera de concebir su funcionamiento hasta el desarrollo de un esquema de fabricacién. Muchas per- sonas estén implicadas en este proceso, desempefiando cada uno una tarea espe- cifica, El departamento de ventas, por ejemplo, estudia las necesidades de mercado y determina los requisitos de un nuevo producto, Los tecnélogos seleccionan la tecnologia, y los proveedores los posibles componentes, mientras un grupo de apoyo adquiere o desarrolla herramientas software que puedan Facilitar el diseiio del producto y de cada una de sus partes. Los diseniadores del producto convier- ten los requisitos del producto en esquemas para la fabricacién. Los ingenieros de tests desarrollan estrategias de test para verificar la correccién del disefio y prue- ban los productos fabricados por si no funcionan, mientras que los ingenicros de bbricaci6n desarrollan planes de construcciGn y produccién. REPRESENTACIONES DEL DISENO En la definicién del producto, en el disefio y en el proceso de fabricacién, cada persona ve el producto desde un punto de vista ligeramente diferente y necesita informacién espectfica para realizar su trabajo. Por este motivo, cada producto, y consecuentemente cada disefio, requiere varias representaciones o puntos de vista diferentes, que difieren en el tipo de informacién que se destaca. Ademas, la misma representacién requiere a menudo distintos niveles de detalle en las distin- tas fases del diseno 0 del ciclo de fabricacién. Los tres tipos de representaciones mas comunes que se usan son las representaciones de comportamiento, estructu- ral y fisiea. Una representacién de comportamiento o funcional ve cl disciio como una caja negra y se centra en especificar su comportamiento en funcién de los valores de entrada y restricciones de tiempo. En otras palabras, una representacién de comportamiento describe el funcionamiento pero no la implementacién de un disefio dado, definiendo la respuesta de la caja negra para cualquier combinacién de valores de entrada, pero sin describir la forma de disefiar o construir la caja negra con unos componentes dados ‘Una representacién estructural, por cl contrario, es aquella en la que se defi- ne la caja negra como un conjunto de componentes y sus conexiones. A diferencia de una representacién de comportamiento, se especifica la implementacién del producto sin hacer referencia explicita a su funcionamiento. En algunos casos, por supuesto, el funcionamiento se puede deducir a partir de sus component nectados. Sin embargo, es dificil deducir el funcionamiento de un disefio de esta forma y es propenso aerrores, ya que las funciones de algunos componentes puede {que no se usen con todo su potencial, 0 pueden ser modificadas codificando las entradas y salidas de los componentes. Ademds, en casos en los que el ntimero de componentes es muy grande, digamos unos 10,000, seria imposible descubrir su funcionamiento, especialmente porque la tecnologia de hoy permite fabricar microchips excesivamente complejos, con varios millones de componentes. Introduccion § Finalmente, una representacién fisica es aquella que especitica las caracte- risticas fisicas de la caja negra, dando las dimensiones y situacién de cada com- ponente y las conexiones contenidas en la descripci6n estructural. Obsérvese que mientras la representaci6n estructural proporciona la conectividad del disenio, sélamente la representacidn fisica describe las conexiones espaciales concretas entre varios componentes. En otras palabras, la representaci6n fisiea se usa para describir el disefio después de haber sido fabricado, especificando su peso, tama- fio, disipacion de calor, consumo de energia, y la posicién de cada conector de entrada o salida, EJEMPLO PROBLEMA Reloj despertador Desarrollar las representaciones de comportamiento, estructural y fisica del diseto de un reloj despertader sencillo, SOLUCION Un reloj despertador sencillo consia de un visualizador de cristal Hiquido (LCD, Liquid Crystal Display) que visualiza los segundos, minutos y horas, ¥ cinco conmutadores dite- rentes para ajustar la hora (5, ), la alarma (S,), el avance de los minutos (S,), el avance de ka hora (S,), y la conexi6n de lt alarma (S,). Cuando S, esti activado (cerrado), se puede ajus- tarcl tiempo presionando S, 6 S,. Cada vez que se pulsa S, 6 S,, el ajuste de los minutos 0 Ja hora avanza { y el cambio en los minutes © la hora aparece cn el visualizador del reloj Cuando S, esta activado, se puede ajustarla alarma de manera similar, pulsando S, 6.8, para avanzar los minutos 0 la hora. Siempre que se esté ajustando la alarma, la hora y los minu- tos aparecen en el LCD. Finalmente, cuando el conmuador S, esta activado (cerrado), Ia alaema est habilitada, y se genera un sonido que dura 5 segundos cuando el reloj llega al instante de alarma. El comportamiento de este reloj despertador se puede representar mediante tres tareas 0 procesos concurrentes: reloj, ajuste, y alarma, Cada uno de estos procesos, a su vez, Se puede describir mediante un diagrama de flujo sencillo, que consiste en cajas en forma de pentiigono para indicar preguntas y cajas rectangulares para indicar céleulos. En las Figuras 1.1 1.3 se muestran los diagramas de flujo que representan el comportamiento de cada uno de estos tres procesos. Como se puede ver en la Figur 1.1, el proceso del reloj tiene una sefal de entrada, Pulso, y seis variables imemas: Segundes, Minuros, Horas, Spanuatia, Mpantatta y Hpantalta. La Seal Pulso, que se usa para contar los segundos en la alarma, dura 1 segundo, siendo 1 la primera mitad del segundo y 0 el resto. Tres de las variables internas (Segundos, Minutos y Horas) se usan para contabilizar los segundos, minutos y horas. Los Segundes y Minutos se contabilizan en médulo 60 (es decir, se pone a 0 siempre después de que Ia cventa aleance 59). Las Horas se contabilizan en médulo 12, empezanéo por 1 y volviendo a I después de Icgar a 12. En funcionamiento, los Seguntdas se incrementan en { siempre que la seftal Puiso pase de Oa 1, lo que se indica en el diagrama de flujo con una flecha hacia arriba, *. De forma similar, siempre que los Segundos alcancen 0, los Minutos se incrementan en 1, y siempre que los Minutos legan a0, las Horas se incremenian en 1 Las ottas tres variables internas (Spantall, Mpantalla y Hpantalla) se usan para vista lizar los segundos, minutos y horas, Hay que destacar que cada una de estas variables de 6 Principios de disefio digital visualizaciOn se actualizan individualmente siempre que hay un cambio en las correspon- dientes variables de reloj (es decir, en Segundos, Minutos y Horas), 28 pag fof Sezer = Sezer 1 ‘Spantalia = Segundor FIGURA 1.1 Representacién del comportamiento del reloj despertador: proceso cel rel A diferencia del proceso del reloj, el proceso de ajuste (Figura 1.2) describe como ajus tar la hora del reloj 0 de la alarma, como se desce. Se usan dos variables internas adiciona- les, Malarma y Hlarma, para almacenar los minutos y la hora de Ia alarma. Activando los conmutadores S; y 5,, se pueden incrementar los minutos y la hora de la alarma, que estén ‘almacenados en Malarma y Halarma respectivamente. Entonces, se ajusta el tiempo correc to primero activando el conmutador S, 6 S,, segtin se quiera ajustar la hora de! reloj o de la alarma, y después se pulsan repetidamente los conmutadores 5, y S,. Obsérvese que no se pueden accionar 5, y S, ala vez. Obsérvese también que la hora que se ajusta accionando 5,65, se visualiza inmiediatamente en el visualizador del relo ET ultimo de los tes provesos, el proceso de la alarma, (Figura 1.3), se ha diseftado para activar la alarma poniendo la variable de salida, Pitido, a 1 en el momento en el que la hora del reloj se iguale a la de la alarma, suponiendo que el conmutador de alarma, S,, esté acti vado. En otras palabras, siempre que Minutos = Malarma, Horas = Halarma, y 8, esté acti vado, Pitido tomaré el valor 1 Para una descripcin del comportamicnto del relo} despertador como la que acabamos de realizar, podria haber varias descripciones estructurales ya que una descripcin del compor- tamiento no determina una estructura exacta, Sin embargo, especitica una serie de variables intermas que se pueden usar para almacenar datos y una serie de declaraciones de asigna nes utilizadas para transformaciéa de datos. A partir de esta informacién, se pueden conver- tirlas variables en componentes de memoria y deducir los componentes aritméticos adecua- dos para realizar las transformaciones de datos especificadas en las declaraciones de asigna- cion, Esta conversion da lugar a la representaciOn mds obvia, aunque no Optima, que se muestra en la Figura 1 4, Obsérvese que, segtin la Figura 1.4, el reloj despertador lo dirige el oscilador, que pro- dduce una onda senoidal con una frecuencia de un ciclo por segundo, como se ve en la Figura 1.5(a). El generador de pulsos convierte la onda senoidal en un tren de pulsos, ver Figura Introduccién 7 1.5(b), de la misma frecuencia que el seno, pero toma solo dos valores : 0 y 1. Esta seftal, con solo des valores posibles, se denomina sefial digital, y a culaquier sistema que proce- sa sefiales digitales se le denomina sistema digital. [a Es ‘ Syecvaiet Sree { 1 Tolima ~Marsas Moos = Minos Horta Nt poate in aa “alerma = Halarma Horas = Horas + | ‘waa tm Hpamalie = Heras FIGURA 1.2 Poprosortacién del comportamiento del rele] despertador: proceso de alusto. Pid =1 oT FIGURA 1.3 Represertacién del comporiamiento del reloj despertadar: proseso de alarma. ipios de disefio digital (aust de ahora) Sen ape Sens 5 Contr co =F es Well See

You might also like