You are on page 1of 854
ANALISIS Y DISENO DE Circuttos LOGcicos DIGITALES Victor P. NELSON H. TROY NAGLE Bitt D. CARROLL Pe DAVID AVN “1DRA LIDA Tek 2k. WINE - Iégicos digitales Primera edicién >. Victor P. Nelson otk pasts Auburn University Lo] we S «.." H. Troy Nagle fy "-8'»* North Carolina State University ate” f "Bill D. Carroll 3 re University of Texas-Arlington i Bots. J. David Irwin wb +,e'-le* Auburn University \O te ae a a were. oD aa Ta . Pan ai aoe a ) a ' *y" “ ‘© ”~ * . eeu Traduccién: M en C, Oscar Alfredo Palmas Velasco Facultad de Ciencias, UNAM Revisor técnico Carlos Henandez Pérez Ingeniero Mecdnico Electricista UNAM Biblioteca Univ. Tecnologica de Perei de Pereira “a PRENTICE-HALL HISPANOAMERICANA, S.A. :. MEXICO * NUEVA YORK * BOGOTA * LONDRES * SYDNEY * PARIS * MUNICH * TORONTO NUEVA DELHI * TOKIO * SINGAPUR * RiO DE JANEIRO * ZURICH ® Prefacio ® 0 Introduccion 0.1 Historia de la computacién 0.1.1 Los inicios: Computadoras mecanicas 0.1.2 Primeras computadoras electrénicas 0.1.3 Las primeras cuatro generaciones de computadoras 0.1.4 La quinta generacién y mas alla 0.2 Sistemas digitales 0.2.1 Sistemas digitales y analégicos 0.2.2 Jerarquia de disefio de un sistema digital 0.3 Organizacion de una computadora digital de programa ailmacenado 0.3.1 Instrucciones de la computadora 0.3.2 Representacién de la informacién en las computadoras 0.3.3 Hardware de computadora 0.3.4 Software de computadora 0.4 Resumen ® 1 Sistemas numéricos y cédigos 1.1. Sistemas numéricos 1.1.1 Notacién posicional Lig Sistemas numéricos de uso comin XVII a YN = — up 12 13 13 15 17 19 20 21 21 22 vi Contenido 1.2 1.3 1.4 1.5 1.6 Aritmética 1.2.1 Aritmética binaria 1.2.2 Aritmética octal 1.2.3 Aritmética hexadecimal Conversiones de base 1.3.1 Métodos de conversién 1.3.2 Algoritmos generales de conversion 1.3.3 Conversién entre la base A y la base B cuando B=A‘ Representacion de numeros con signo 1.4.1 Numeros con magnitud y signo 1.4.2 Sistemas numéricos complementarios Codigos de computadora 1.5.1 Cédigos numéricos 1.5.2 Cédigos de caracteres y otros cédigos 1.5.3 Cédigos para deteccién y correccién de errores Resumen @ 2 Métodos algebraicos para el andlisis y sintesis de circuitos logicos 2.1 2.2 2.1.1 2.1.2 2.1.3 2.1.4 2.2.1 2.2.2 2.2.3 2.2.4 Fundamentos del algebra booleana Postulados basicos Diagramas de Venn para los postulados [2] Dualidad Teoremas fundamentales del algebra booleana Funciones de conmutacion Tablas de verdad Formas algebraicas de las funciones de conmutacién Deduccién de formas canénicas Funciones con especificacién incompleta ee 22 23 27 28 30 31 35 36 37 38 38 55 55 61 65 73 78 79 79 80 81 91 93 94 101 103 Pe —— DEDISDEDEDIIISSES SSS 79a Contenido vii 2.3 Circuitos de conmutacién 104 2.3.1 Compuertas légicas electrénicas 105 a2 Componentes funcionales basicos 108 2.4 Anilisis de circuitos combinatorios 120 aa Ue circunos Ccombinatorios 2.4.1 Método algebraico 120 2.4.2 Analisis de diagramas de tiem pos 123 2.5 Sintesis de circuitos lé6gicos combinatorios 128 2.5.1 Redes AND-OR y NAND 128 25.2 Redes OR-AND y NOR 130 2.5.3 Circuitos de dos niveles 131 2.5.4 Circuitos AND-OR-Inversor 133 2.5.5 Factorizacién 134 2.6 Aplicaciones 136 2.7 Disefo de circuitos légicos asistido por computadora 140 es 2.7.1 EI ciclo de disefio 140 2.7.2 Modelado de un circuito digital 140 2.7.3 Sintesis de disefio y herramientas de captura 148 2.7.4 Simulacién légica 152 2.8 Resumen 165 &® 3 Simplificacién de las funciones de conmutacion 172 3.1 Objetivos de la simplificacién 173 ee ET: 3.2 Caracteristicas de los métodos de minimizaci6n 174 —_——OA—E NU Metodos de minimizacion 3.3 Mapas de Karnaugh 175 3.3.1 Relacién con los diagramas de Venn y las tablas de verdad 176 4 3.3.2 Mapas K de cuatro 0 mis variables viii Contenido 3.4 3.5 Trazo de funciones en forma candénica sobre el mapa K Simplificaci6n de las funciones de conmutaci6on mediante los mapas K 3.5.1 Criterios para la simplificacion de funciones mediante mapas K 3.5.2 Terminologia general para la minimizacion de una funcién de conmutacién 3.5.3 Algoritmos para la deduccién de formas SOP minimales a partir de mapas K 3.6 Forma POS mediante mapas K 3.7 3.8 3.9 3.10 3.11 3.12 3.6.1 Terminologia general para las formas POS 3.6.2 | Algoritmos para la deduccién de formas POS minimales a partir de mapas K Funciones con especificacion incompleta Uso de mapas K para eliminar riesgos de tiempo Método de minimizacion tabular de Quine-McCluskey 3.9.1 Procedimiento de cubierta 3.9.2 Funciones con especificacién incompleta 3.9.3 Sistemas con miltiples salidas Algoritmo de Petrick Minimizacién de funciones de conmutaci6én asistida por computadora 3.11.1 Representacién cibica de las funciones de conmutacién 3.11.2 Métodos algebraicos para determinar implicantes primos 3.11.3 Identificacién de implicantes primos esenciales 3.11.4 Cémo completar una cubierta minima 3.11.5 Otros algoritmos de minimizacién Resumen 179 185 187 187 188 197 197 197 203 206 211 215 218 220 222 225 227 228 230 231 234 235 Contenido ix @® 4 Logica combinatoria modular 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Diseno modular descendente Decodificadores 4.2.1 Estructura de circuitos decodificadores 4.2.2 Implantacién de funciones légicas mediante decodificadores 4.2.3 Entradas para control de activacién 4.2.4 — Decodificadores MSI estandar 4.2.5 Aplicaciones de los decodificadores Codificadores 4.3.1 Estructuras de un circuito codificador 4,3.2 Codificadores MSI estandar Multiplexores/selectores de datos 4.4.1 Estructuras de circuitos multiplexores 4.4.2 Multiplexores MSI estandar 4.4.3 Aplicaciones de los multiplexores Demultiplexores/distribuidores de datos Elementos de aritmética binaria - 4.6.1 Circuitos sumadores binarios basicos 4.6.2 Modulos de sumador binario MSI 4.6.3 Unidades sumadoras de alta velocidad 4.6.4 Circuitos de resta binaria 4.6.5 Deteccién de un desbordamiento aritmético Comparadores Ejemplo de disefio: Una unidad aritmética-légica de computadora Disefio de sistemas modulares asistido por computadora 4.9.1 Bibliotecas de diseiio 4.9.2 Trazo de esquemas jerarquicos 242 243 245 246 247 249 252 253 259 260 264 268 268 270 277 280 283 283 285 289 294 295 298 302 312 312 314 ee ee x Contenido 4.10 Simulacion de sistemas jerarquicos 4.11 Resumen @® 5 Diseno de un circuito combinatorio con dispositivos logicos programables 5.1 5.2 5.3 5.4 5.5 Dispositivos logicos semiadaptados Circuitos de arreglos ldgicos 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.3.1 Sod Operacion de diodos en circuitos digitales Arreglos légicos AND y OR Arreglos AND-OR de dos niveles Arreglos AND y OR programables mediante campos Opciones de polaridad de salida Pines bidireccionales y lineas de retroalimentacién Dispositivos comerciales Arreglos logicos programables mediante campos Estructuras de circuitos FPLA Realizacion de funciones logicas con FPLA Memoria programable exclusiva para lectura 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 Estructuras de circuitos PROM Realizacion de funciones logicas con PROM Tablas de busqueda Aplicaciones generales de la memoria exclusiva para lectura Tecnologias de memorias exclusivas para lectura Logica de arreglos programables 5.5.1 5.5.2 $.5.3 Estructuras de circuitos PAL Realizacién de funciones logicas con PAL Opciones de salida y retroalimentacién de PAL 317 319 328 329 330 330 332 333 338 341 343 345 347 347 347 350 350 352 358 360 361 362 362 363 366 5.6 5.7 Contenido xi Herramientas de disefio asistido por computadora para el diseno PLD 5.6.1 Representacion de disefio con PDL 5.6.2 Procesamiento de un archivo de disefio PDL Resumen ® 6 Introduccién a los dispositivos secuenciales 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 Modelos para circuitos secuenciales 6.1.1 Representacién de diagrama de bloques 6.1.2 Tablas y diagramas de estados Dispositivos de memoria Latches 6.3.1 Latch set-reset 6.3.2 Latch SR con compuertas 6.3.3 Latch con retardo Flip-flops 6.4.1 Flip-flops SR maestro-esclavo 6.4.2 Flip-flops D maestro-esclavo 6.4.3 Flip-flops JK maestro-esclavo 6.4.4 Flip-flops D disparados por transicién 6.4.5 Flip-flops JK disparados por transicién 6.4.6 Flip-flops T 6.4.7 Resumen de latches y flip-flops Otros dispositivos de memoria Circuitos de tiempo 6.6.1 One-shots 6.6.2 El médulo temporizador 555 Creaci6n rapida de prototipos de circuitos secuenciales Resumen 371 373 378 380 382 383 383 385 387 389 389 396 398 403 404 406 407 409 413 415 417 418 418 418 418 421 425 xii Contenido ® 7 Logica secuencial modular — 432 7.1 Registros de corrimiento 433 me Un registro de corrimiento genérico 434 ee Modulos estandar TTL de registro de corrimiento 436 7.2 Ejemplos de disefio con registros 448 7.2.1 Unidad sumadora serial 448 7.2.2 Acumuladores seriales 449 7.2.3. Acumuladores paralelos 449 7.3 Contadores 449 7.3.1 Contadores binarios sincronos 451 TZ Contadores binarios asincronos 455 7.3.3 Contadores hacia abajo 460 7.3.4 Contadores hacia arriba/hacia abajo 461 7.4 Contadores modulo N 464 741 Contadores BCD siacronos 464 7.4.2 Contadores BCD asincronos 467 7.4.3 Contadores médulo 6 y médulo 12 471 7.4.4 Contadores médulo N con reset asincrono 475 745 Contadores médulo N con reset sincrono : 477 7.5 Registros de corrimiento como contadores 477 TS1 Contadores de anillo 478 TS2 Contadores de anillo trenzado 483 7.6 Contadores de secuencia multiple 489 7.7 Multiplicadores de razon fraccionaria digital 490 Tetk Médulos TTL 492 7.7.2 Multiplicadores de razén fraccionaria digital en cascada 496 7.8 Resumen 496 Contenido — xiii ® 8 Analisis y sintesis de circuitos secuenciales sincronos 8.1 8.2 8.3 Modelos de circuitos secuenciales sincronos 8.1.1 Modelo de Mealy 8.1.2 Modelo de Moore Analisis de un circuito secuencial 8.2.1 Analisis de los diagramas de estados de un circuito secuencial 8.2.2 Analisis de los diagramas légicos de un circuito secuencial 8.2.3 Resumen Sintesis de un circuito secuencial sincrono 8.3.1 Procedimiento de sintesis 8.3.2 Tablas de entrada de un flip-flop 8.3.3. Método de la ecuacién de aplicacién para los flip-flops JK 8.3.4 | Ejemplos de diseiio 8.3.5 Diagramas de maquina de estado algoritmico 8.3.6 Método de disefio de una maquina de estados 8.4 fay | 8.5 Se Bs 8.6 finitos one-hot Circuitos con especificacién incompleta 8.4.1 Asignacion de estados y realizacion de circuitos Diseno asistido por computadora de circuitos secuenciales 8.5.1 Captura y sintesis del diseiio 8.5.2 Analisis y verificacién del disefio Resumen ® 9 Simplificacion de circuitos secuenciales 9.1 9.2 Estados redundantes 9.1.1 Equivalencia de estados 9.1.2 Equivalencia y relaciones de compatibilidad Reducci6én de estados en circuitos con especificacion completa 9.2.1 Inspeccién 502 503 504 505 507 507 508 517 519 520 522 524 526 547 553 555 558 558 559 565 568 576 577 577 579 579 579 xiv Contenido 9.2.2 Particién 581 9.2.3 Tabla de implicacién 584 9.3 Reducci6on de estados en circuitos con especificacion incompleta 588 ee er 9.3.1 Compatibilidad de estados 589 93.2 Procedimiento de minimizacién 594 9.4 Métodos para una asignacién optima de estados 602 atti sienna. bicelles dobsta ll shone 9.4.1 Asignaciones de estados unicas 603 9.4.2 Criterios para la asignacién de estados 605 9.4.3 Particién 614 9.4.4 Asignaciones éptimas de estados 619 9.5 Resumen 620 ® 10 Circuitos secuenciales asincronos 624 10.1 Tipos de circuitos asincronos 625 10.2 Analisis de circuitos asincronos de modo pulso 627 Se es Sere es CO TOO PulsG 10.3 Sintesis de circuitos de modo pulso 632 10.3.1 Procedimiento de disefto para circuitos de modo pulso 632 10.4 Analisis de circuitos de modo fundamental 641 taste MS Circulntos Ge modo fundamental 10.4.1 Introduccién , 643 10.4.2 Representaciones tabulares 645 10.4.3 Procedimiento de andlisis 648 10.5 Sintesis de circuitos de modo fundamental 648 10.5.1 Procedimiento de sintesis 648 10.6 Introduccién a las competencias, ciclos y riesgos 659 aided cate aan acct 72 aidan Neale Mellie ocd 10.6.1 Competencias y ciclos 660 10.6.2 Cémo evitar condiciones de competencia 663 10.6.3 Asignaciones de estados libres de competencia 664 10.6.4 Riesgos 671 10.6.5 Analisis 673 Se Contenido xv 10.7 Resumen 673 ™® 11 Circuitos secuenciales con dispositivos logicos programables 686 11.1 Dispositivos logicos programables con registros 687 a eee EEE NOR Ag ELE ND 11.1.1 Secuenciadores légicos programables mediante campos 691 11.1.2 PAL con registro 696 11.1.3 PLD con macroceldas légicas programables 700 11.2 Arreglos programables de compuertas 702 11.2.1. Arreglos de celdas légicas 705 11.2.2 FPGA ACT 713 11.3 Diseno de circuitos secuenciales y seleccién de dispositivos PLD 715 i 11.4 Ejemplos de diseno de PLD 717 11.5 Diseno asistido por computadora de PLD secuenciales 723 11.5.1 Representacién del disefio de un circuito secuencial mediante PDL 723 11.5.2 Procesamiento de un archivo de disefio en PDL 729 11.6 Resumen 733 @ 12 Verificaci6én de circuitos logicos y diseno verificable 738 12.1 Verificacion de circuitos légicos digitales 739 ici ished nacelle a lel anil 12.2 Modelos de fallas 740 12.3 Verificacion de un circuito l6gico combinatorio 741 a ee EO 12.3.1 Generacién de pruebas 742 12.3.2 Fallas no verificables 751 12.3.3. Redes con varias salidas 752 12.3.4 Conjuntos de pruebas para deteccién de fallas 753 12.3.5 Localizacién y diagndstico de fallas 757 12.3.6 Verificacién aleatoria 758 a OTH == xvi Contenido 12.4 Verificacién de circuitos logicos secuenciales 12.5 Disefo para la verificabilidad 12.5.1 Disefio de una ruta de rastreo 12.6 Autoverificacion integrada 12.6.1 Generacién seudoaleatoria de vectores de prueba 12.6.2 Analisis de identificaciones 12.6.3 Observador integrado de bloque légico 12.7 Rastreo de frontera en el nivel de sistema y de tarjeta 12.8 Resumen ® 13 Ejemplos de diseno 13.1 Maquina tragamonedas electronica 13.1.1 Definicién del problema 13.1.2 Necesidades del sistema y plan de solucién 13.1.3 Diseiio légico 13.2 Sistema de entrada automatica sin llave 13.2.1 Definicién del problema 13.2.2 Necesidades del sistema 13.2.3. Disefio légico 13.3 Controlador de trafico de un carril 13.3.1 Necesidades del sistema 13.3.2 _Diseiio légico 13.4 Caja registradora de una tienda de abarrotes 13.4.1 Necesidades del sistema 13.4.2 Disefio légico ® indice 760 763 764 768 769 772 775 777 781 788 789 789 790 792 801 801 803 805 810 813 815 821 823 824 832 ' a los r a . oo 8 ¢ . 4 “© a ' . °° Prefacio- @ La necesidad de este libro Este texto tiene su origen en una obra anterior, An Introduction to Computer Logic (1974), de Nagle, Carroll ¢ Irwin, texto ampliamente adoptado que abarca los fundamentos del andlisis y sintesis de los circuitos légicos secuenciales y combinatorios. La obra original fue apreciada por su claridad y su eficacia en la ensefianza, y a pesar de los rapidos cambios que hubo en el campo a fines de la década de 1970 y principios de la de 1980, el libro fue utilizado durante muchos afios después de su fecha de publicacién inicial lo que pone de manifiesto el importante hecho de que en la mayor parte del periodo transcurrido desde la publicacién de ese libro, el punto de vista educativo general de los cursos introductorios al disefio digital evoluciond lentamente, al tiempo que los principales cambios tecnolégicos eran adoptados con rapidez por la industria. jCémo han cambiado las cosas! En fechas recientes, la proliferacién astronémica de las aplicaciones de los circuitos digitales y el fenomenal aumento en la complejidad de dichos circuitos han impulsado cambios significativos en los métodos y herramientas utilizados en el disefio digital. Los chips de circuitos integrados a gran escala (VLSI) contienen ahora, por lo general, millones de transistores; los métodos de disefio asistido por computadora (CAD), las celdas estandar, los dispositivos lé6gicos programables y los arreglos de compuertas han permitido el rapido paso del concepto al circuito terminado, con un énfasis cada vez mayor en los disefios modulares jerarquicos que utilizan bibliotecas de celdas estandar y otros médulos de circuitos predisefiados, Hemos desarrollado un texto que abarca todos estos cambios, pero también hemos tenido cuidado de conservar la amplia cobertura de la teoria y los fundamentos. Un buen ingeniero de disefio digital necesita bases sélidas de teoria fundamental, junto con un conocimiento de los principios de disefio del mundo real. Este texto abarca ambos aspectos, Mantiene la exhaustiva cobertura de la teoria fundamental de su predecesor. Pero, a fin de abordar los aspectos practicos del disefio, mas de la mitad del texto es material nuevo que refleja los numerosos cambios ocurridos en el pasado reciente, incluido el disefio modular, los métodos CAD y el uso de légica programable, asi como aspectos practicos, tales como las caracteristicas de tiempo de los dispositivos y los simbolos légicos estandar. xvii

You might also like