You are on page 1of 973
(ee PEARSON | ‘N43 8 eu 3 x Soe | Prentice | SEI , — ‘ DISENO DIGITAL Principios y practicas Tercera edicion John F. Wakerly Cisco Systems, Inc. Stanford University TRADUCCION: Efrén Alatorre Miguel Ingeniero Fisico REVISION TECNICA: Oscar Yiiez Susrez Profesor titular Departamento de Ingenieria Eléewrica Universidad Autonoma Metropolitana Piantel Iztapalapa Gonzalo Duchén Sénchez, Profesor Investigador Seccién de Estudios de Posgrado e Investigacién Escuela Superior de Ingenierfa Mecénica y Eléctrica Instituto Politécnico Nacional Unidad Culhuacén Reece © México + Argentina + Brasil ¢ Colombia * Costa Rica » Chile + Eewador Bspafia + Guatemala » Panam + Pert « Puerto Rico * Uruguay *Venecuela WAKERLY, JOHN F. Diseio digital: principics y précticas PEARSON EDUCACION, México, 2001 ISBN: 970-17-0401-5 Area: Universitarios Formate: 18.5 x23.5 em ‘Versi6n en espatiol de la obra titulada Digital design: principles and practices, shird edision de John F. Wakerly, publicada origi rnalmente en inglés por Prentice Hall Inc., Upper Saddle River, New Jersey, U.S.A. Esta edi in en espaol es Ia tiniea autorizada. Original English language ttle by Prentice Hail inc. Copyright ©2000 All rights reserved ISBN 0-13-769191-2 Eudicién en espaol: Egitor: José Tomés Pérez Bonilla Eitorde desarrollo: Felipe de Jestis Castro Pérez Supervisor de produccién: Enrique Trejo Hemninde2 Edicién en inglés: Publisher: Yom Robbins Director of production and menufacturin Editor-in-chief Marcia Horton Antdiector: Ann France Production editors win Zucker Associate creative dector: Amy Rosen Executive managing editor: Vice O'Brien Cover art: Robert MeFadden Assistant managing editor: Eileen Clark Cover designer: John Christiana Manafacturing buyer: Par Brown Interior designer: Doana Wickes Copy editor: Robert Lentz Editorial assistant: Dan Depasquale PRIMERA EDICION, 2001 D.R.© 2001 por Pearson Educacidin de México, S.A. de CV. Atlacomulco Nam. 500-5° Piso Col. Industrial Atoto $3519, Naucalpan de Juérez, Edo. d= México (Cémara Nacional de la Industria Editorial Mexicana. Registro No, 1031 : David W. Riccardi Reservados todos los derechos. Ni la totalidad ni parte de esta publicacidn pueden reproducirss, registrarse o transmitirse, porun sistema de recuperacién de informacicn, en ninguna forma ni por ningsin medio, sea electrénico, mecénico, fotoquimico, mag- Nético o electrocptico, por fotocopia, grabecién o cualquier otro, sin permiso previo por escrito del editor. El préstamo, alquiler 0 cualquier otra forma de cesién de uso de este ejemplar requerird también la autorizacién del editor o de ‘us representantes, ISBN: 970-17-0404-5 ae kenn| ESRD Impreso en México, Printed in Mexico Ore (tCeretw Coy 1234567890-030201 Amis maestros CONTENIDO PROLOGO xix PREFACIO xi 1 INTRODUCCION 1 1.1 Acerca del disefo digital 1 4.2 Analégico contra Digital 3 1.3 Dispositivos digitales 6 1.4 Aspectos electronicos de! disefo digital 7 1.5 Aspeclos de software del disefio digital 9 1.6 Circuitos integrados | 12 1.7. Dispositives de légica programable 15 1.8 Circuitos integrados (C!) de propdsitos o aplicaciones especificas 1,9 Tarjeta de circuito impreso 18 1.10 Niveles del disefio digital 19 1.11. El objetivo del juego 22 1.12 Un paso adelante 23 Problemas propuestos 24 SISTEMAS Y CODIGOS NUMERICOS 25 2.1. Sistemas numéricos posicionales 26 2.2 Numeros octales y hexadecimales 27 23 Conversiones generales de sistema numérico posicional 29 24 Sumay resta de nimetos no decimales 32 25 Representacién de nimeros negativos 34 25.1 Representacion de magnitud con signo 2.5.2 Sistemas nwnéricos de complemento 2.5.3 Representacién de complemento de base 2.5.4 Representacidn de complemento ados 25.5 Represeniacién de complemento de base reducida (2.5.6 Representacion de complemento a unos 25.7 Representaciones por exceso 16 vil vill Contenido 26 Sumay resta de complement ados 39 2.6.1 Reglas de ta suma 2.6.2 Una visidn gréfica 263 Desbordamiento 264 Reglas de ta resia 26.5 Niimeras binarios sin signo y complemenio a dos 27 Sumayrestade complementoauno 44 2.8 Multiplicacion binaria 45 2.9 Division binaria 47 2.10 Cédigos binarios para ntmeros decimales 48 241 Cédigo Gray 51 2.12 Cédigos de caracter 53 2.13 Cédigos para acciones, condiciones yestados 53 214 Cubos ny distancia 57 2.18 Cédigos para detectar y corregir errores 58 215.1 Céidigos de deteccién de error 2.152 Correccion de errores y céidigos de deteccidn de errores multiples 215.3 Cédigos de Hamming 2I5A Cédigos CRC 2.15.5 Cédigos bidimensionales 215.6 Cédigos de suma de verificacion 2157 Cédigos mde n 2.16 Cédigos para el almacenarriento y la transmisién de datos en serie 69 2.16.1 Datos en paraleto y en serie 216.2 Cédigos de linea en serie Referencias 73 Problemas propuestos 74 Ejercicios 76 CIRCUITOS DIGITALES 79 3.1 Compuertas y seftales iogicas 80 3.2 Familias logicas 84 33 Logica CMOS 86 3.3.1 Niveles légicos CMOS 53.2 Transistores MOS 3.3.3 Circuito delinversor bdsico CMOS 3.3.4 Compuertas CMOS NAND y NOR 3.3.5 Cargabilidad de entrada 33.6 Compuertas no inversoras 3.3.7 Compuertas CMOS AND-OR-INVERSORA y OR-AND-INVERSORA 3.4 Comportamiento eléctrico de los circuitos CMOS 96 3.4.1 Resumen 3.4.2 Hojas de datos y especificaciones 3.5 Comporiamiento eléctrico de estado estable delos dispositivos CMOS 99 3.5.1 Niveles logicos y mdrgenes de ruido 3.5.2 Comportamiento det eircuito con cargas resistivas 36 ar 38 3.9 3.10 344 3.12 3.13 5.3 Comporiamiento del cireuito con entradas no ideales 3.54 Fan out 3.55 Efectos de ta carga 3.5.6 Entradas que no se utilizan 3.5.7 Picos de corriente y capacttores de desacoplamiento 3.5.8 Cémo deseruir un dispositive CMOS Comportamiento eléctrico dinamico de los dispositivos CMOS 3.6.1 Tiempo de transicin 4.6.2 Retardo de propagacién 4.6.3 Consumo de energia Otras estructuras CMOS de entrada y salida 123 47.1 Compuerias de transmisién 3.7.2 Entradas de un disparador Schmiet 3.73 Salidas de tres estados 474 Salidas de drenaje abierto 3.75 Control de LED 5.7.6. Buses de fuente meitipte 377 Uigica alambrada 3.78 Resistores de arranque Familias légicas CMOS 135 381 HCy HCT 3.8.2 VHC y VACT 3.8.3 Caracteristicas eléctricas de HC, HCT, VHC y VHCT 3.84 FCT y FCT 3.8.5 Caracteristicas eléetricas del FCTT Logica bipolar 145 3.9.1 Diodos 3.9.2 Logica de diodos 3.9.3 Transistores bipolares de uniéa 3.94 Inversor en tégica de transistor 3.9.5 Transistores Schottky Légica transistor-transistor 156 3.10.1 Compuerta NAND TTL bisica 3.102 Niveles idgicos y margenes de ruido 3.10.3 Fan out 304 Entradas sin utilizar 3.105 Tipas adicionales de compuertas TTL, Familias TTL 166 3.11.1 Familias TTL iniciales 31.2 Familias TTL Schotiky 311.3 Caracteristicas de las familias TTL. 3.11.4 Una hoja de datos TTL Interfaz CMOS/TTL_ 170 Logica CMOS de bajo voltaja e interfaz 171 33.1 Légica LVCMOS y LVTTL de 3.3V 3.13.2 Bniradas tolerantes a5 V 333 Salidas tolerantes a5 113, Contenido ix % Contenido 3.13.4 Resumen de interfaces TTLILVITL SUS Ligica de 2.5 Vy de 1.8V 3.14 Logica de emisor acoplado 175 3141 Circuito bisico CUL 3.442 Familias ECL 10K/IOH 3.143 Familia ECL 100K 3.14.4 ECL positive (PECL) Referencias 183 Problemas propuestos 184 Ejeroicios 188 PRINCIPIOS DE DISENO LOGICO-COMBINACIONAL 193 4.1 Algebra de conmutacion 194 411 Axiomas 4.1.2 Teoremas de una sola variable 4.1.3 Teoremas de dos y res variables 4.14 Teoremas de 1 variables 4.1.5 Dualidad 4.1.6 Representaciones estindar de junciones tégicas 4.2 Analisis de circuitos combinacionales 209 43. Sintesis de circuitos combinacionales 215 4.3.1 DiseRos y descripciones de cireuito 43.2 Manipulaciones de circutto 43.3 Minimizacién del circuito combinacional 43.4 Mapas de Karnaugh 4.3.5 Mintmizacién de sumas 0 productos 4.3.6 Simplifcacion de productos de sumas 43.7 Combinaciones de entrada “sin importancia” 43.8 Minimizacién de salida raitiple 4.4 Métodos de minimizacion programados 236 44.1 Representacion de términos de producto 44.2 Caleulo de implicantes primes mediante la combinacién de términos de producto 4.43 Encontrando una cubierta minima empleando una tabla de implicantes primos 44-4 Otros métodos de minimizacicn 45 Riesgoseneltiompo 244 4.5.1 Riesgos estaticos 4.5.2 Hallando riesgos estéticos mediante el uso de mapas 452 Riesgos dindmicos 4.54 Diseiio de circuitos libres de riesgos 4.6 Ellenguaje de desoripcién de hardware ABEL 249 46.1 Estructura del programa ABEL 462 Funcionamiento del compilador de ABEL 4.6.3 Instrucciones WHEN y bloques de ecuaciones 464 Tablas de verdad 4.65 Intervatos, conjumos y relaciones 4.6.5 Entradas sin importancia 4.6.7 Vectores de prueba 4.7 Ellenguaje de descripcién de hardware VHDL 264 474 Flujo de diseto 4.7.2. Estructura de programa 4.7.3 Tipos y constantes 474 Funciones y procedimientos 4.7.5 Biblioteca y paguetes 4.76 Elementos de diseito estructural 4.77 Elementos de diseito de flujo de daos 4.78 Elementos de diseiio basado en el comporiamiento 4.7.9 La dimension tiempo y simalacion 47.10 Siatesis Referencias 298 Problemas propuestos 301 Ejercicios 304 PRACTICAS DE DISENO LOGICO COMBINACIONAL 5.1 Esténdares de documentacion 312 SuL1 Diagramas de blogues 5.12 Simbolos de las compueries 5.13 Nombres de seal y nivetes actives 5.14 Niveles actives para terminales SAS Diseno de togica burbuja-burbuja 516 Representacién de la ubicacién de los componentes SA7 Buses 5.18 informacion adicional del diagrama esquemético 5.2 Temporizacién del circuito 330 5.2.1 Diagramas de temporizacion 5.2.2 Retardo de propagacién 5.23 Especificaciones de temporizacién 5.24 Andilisis de temporizacion 5.2.5 Herramientas para anifisis de temporizacién 5.3 PLD combinacionales 337 53d Arreglos de légica programable 5.3.2 Dispositivos ligicos de arreglo programable 5.33 Dispositivos lgicos de arreglo genérico 5.34 Circuitos PLD bipotares 5.3.5: Circwitos PLD CMOS 5.3.6 Prueba y programacian del dispositive 5.4 Decodilicadores 351 S4.l Decodificadores binarios 54.2 Simbolos ldgicos para elementos de mayor escale 5.43 Eldecodificador de 2a 4 dual 74139 Sad Eldecodificador de 3.a8 748138 ant Contenido xi xii Contenido 55 58 57 58 59 5.10 IAS Decodificadores binarios en cascada 546 Decodificadores en ABEL y en los PLD 54.7 Decodificadores en VHDL. 54.8 Decodificadores de siete segmentos Codificadores 376 5.5.1 Codificadores de prioridad 5.5.2 El-codificador de prioridad 74148. 5.53. Codificadores en ABEL y PLD 5.54 Codificadores en VHDL Dispositivos de tres estados 985 5.6.1. Buffers de tres estados 562 Buffers de tres estados SSI_y MSI exténdar 5.6.3 Salidas de ives estados en ABEL y PLD 5.64 Salidas de tres estados en VHDL Multiplexores 398 5.7.1 Multiplexores MSI esténdar 5.7.2 Expansion de multiplexores 5.7.3 Multiplexores, demuliplexores y buses 5.74 Muattiplexores en ABEL y PLD 5.7.5 Multiplexores en VHDL Compuertas OR Exclusivas y circuitos de paridad 410 58.1 Compuertas OR Exclusivas y NOR Fxclusivas 58.2 Circuitos de paridad 5.8.3 El generador de paridad de 9 bits 74x280 584 Aplicaciones de verificacién de paridad I85 Compuertas OR Exclusiva y circuitos de paridad en ABELY PLD 586 Compuertas OR Exclusivo y circuitos de paridad en VEDL Comparadores 419 5.9.1 Estructura del comparador 5.9.2 Circuitos iterarivos 5.9.3 Uncircuito comparador iterative 5.9.4 Comparadores MSI estindar 5.9.5 Comparadores en ABEL y PLD 5.9.6 Comparadores en VHDL ‘Sumadores, restadores y ALU 430 5.10.1 Medio sumadores y sumadores completos 5.10.2 Sumadores iteractivas (“en rizo") 5.103 Sustractores (restadores) 5.104 Sumaddores de acarreo anticipado 5.40.5 Sumadores MST 5.10.6 Unidades légico-aritméticas MSI (ALU) 5.107 Acarreo de grupo anticipado 5.108 Sumadores en ABEL y PLD 5.10.9 Sumadores en VHDL Contenido xiii 5.11 Multiplicadores combinacionales 446 SLD Estructuras de muttiplicador combinacional 5.11.2 Multiplicacién en ABEL y PLD SL Multiplicaciin en VHDL Referencias 455 Problemas propuestos 456 Ejercicios 459 EJEMPLOS DE DISENO DE CIRCUITOS COMBINACIONALES 487 61 62 63 Ejomplos de disefio de bloques de construccién 468, 6.1.1 Desplazador répido (Barrel shifter) 6.1.2 Codificador de punto flotanie simple 6.1.3 Codificador de prioridad dual 6.14 Comparadores en cascada 6.1.5 Comparador dependiente det modo Ejemplos de disefio usando ABEL yPLO 479 62.1 Desplazador ripido 6.2.2 Codificador de punto flotante simple 6.23 Codificador de prioridad dual 6.2.4 Comparadores en cascada 6.2.5 Comparador dependiente del modo 6.2.6 Contador de unos 62.7 Juego de “Tres en raya” 0 “Gato Ejemplos de disefo utiizando VHDL 500 63.1 Desplacador ripido 6.3.2 Codificador de punto florance simple 6.3.3 Codificador de prioridad dual 6.34 Comparadores en cascada 6.3.5 Comparador dependiente dei modo 6.3.6 Contador de unos 6.3.7 Juego de “Tres en raya” 0 “Gato” Ejercicios 827 PRINCIPIOS DE DISENO LOGIGO SECUENCIAL 629 7A 72 Elementos biestabies 531 ZAI Andtisis digital 7.12 Andlisis analégico 7.1.3 Comportamiento metaestable Latchs y flip-flops 534 72.1 Latch -R 722 Latch SR 7.2.3 Latch $-R eon hebitiacion 7.24 Latch D 7.2.5 Flip flop D disparado por flanco 7.2.6. Flip-flop D disparado por flanco con habititacién 7.2.7 Plip.flop de exploracion xiv Contenido. 73 74 75 7.6 at 78 79 7.10 Ta 7.2.8 Flip-flop S-R maestrofesclavo 7.239 Flip-flop J-K maestrofesclayo 7.2.10 Flip flop J-K disparado por flanco 72.11 Flip-Flop T Anélisis de una maquina de estado sincrénica temporizada 550 73.1 Estructura de la maquina de estado 7.3.2 Logica de salida 7.3.3 Ecuaciones caracteristicas 7.3.4 Andlisis de mdquinas de estado con flip-flops D 7.35 Andlisis de mdquinas de estado con flip-flops IK Disefo de maquina de estado sincrénica temporizada §63 74.1 Ejemplo de disefio de tabla de esiado 7.4.3 Asignacion de estado 744 Sintesis utilizando flip-flops D 74.5 Sintesis uitizando flip-flops I-K 7.4.6 Més ejemplos de disefio que mitizan flip-flops D Disefo de maquinas de estado que utilizan diagramas de estado 584 Sintesis de una maquina de estado que utliza listas de transicién 591 76.1 Beuaciones de transicién i 7.6.2 Ecuactones de excitacion 7.6.3 Variaciones sobre el esquerna 2.64 Realizacién de la mdquina de estado Otto ejemplo de disefio de maquina de estado 504 7.7.1 El juego de tas adivinancas 7.7.2 Estados sin utilizar 7.7.3 Asignacién de estado codificado por satida 7.74 Codificaciones de estado “sin importancia” Descomposicién de las maquinas de estado 602 Circuitos secuenciales de retroalimentacion 604 7.9.1 Andlisis 7.9.2 Andlisis de eircuitos con lagos de retroalimentaci6n miltiple 7.9.3 Carreras 7.94 Tablas de estado y tablas de flujo 7.95 Anilisis de fip-flop D CMOS Digeno de circuito secuencial de retroaiimentacion 615 710.1 Laichs 7.10.2 Diseita de tabla ce flujo de modo fundamental 7.10.3 Minimizacién de la tabla de flujo 7.104 Asignacion de estado libre de carreras 7.105 Ecuaciones de excitacién 7.106 Riesgos esenciales 7.10.7 Resumen Caractoristicas do diseno de circuito secuencial ABEL 627 7.AILD Salidas registradas 7.11.2 Diagramas de estado Contenido xv 7.11.3 Memoria de estado externa 7.114 Especificacion de satidas de Moore 7.11.5 Especificacion de satidas Mealy y canalizedas con WITH 7.116 Vectores de prueba 7.42 Caractetisticas de disefio de circuito secuencial VHDL 641 7.42.4 Circuitos secuenciales de retroatimenacién 7.12.2 Circuitos temporizados Referencias 644 Problemas propuestos 646 Ejercicios 650 PRACTICAS DE DISENO LOGICO SECUENCIAL 659. 8.1 Esténdares de documentacién de circuitos secuenciales 660 8.1.1 Requerimientos generales 8.1.2 Simbolos Wgicos 8.1.3 Descripciones de maquina de estado 8.1.4 Especificaciones y diagramas de tiempo 8.2 Latchsy flipflops 666 8.2.1 Latchs y flip-flops SSt 8.2.2 Inibicién del rebote de wn imerruptor 8.2.3 El inhibidor de rebote para el taterruptor més simple 8.2.4 Circuito retenedor de bus 82.5 Registros y laichs de bits multiples 8.2.6 Registros y latchs en ABEL y PLD 8.2.7 Regisiros y laichs en VHDL 83 PLDsecuenciales 681 83.1 PLD secuenciales bipolares 8.3.2 Dispositivos GAL secuenciales 8.3.3 Especificaciones de temporizacién del PLD 84 Contadores 693 8.4.1 Contadores iteratives 8.4.2 Contadores sincrénicos 8.4.3 Contadores MSIy aplicaciones 844 Decodificacién de estados de contador binario 84.5 Comadores en ABEL y VHDL 84.6 Contadores en VHDL 85 Registros de corrimiento 712 8.5.1 Estructura det registro de corrimiento 8.5.2 Registros de corrimiento MSI 85.3 Lamds grande aplicacién de registro de corrimiento del mundo 85.4 Conversion serie/paralelo 8.5.5 Contadares de registro de corrimiento 8.5.6 Contador en anitio 85.7 Contadores Johnson xvi Contenido 10 36 a7 88 89 85.8 Contadores de registro de corrimiento con retroalimentacién lineal 859 Registros de corrimiento en ABEL y PLD 8.5.10 Registros de corrimiento en VHDL Citcuitos iterativos contra secuenciales 747 Metodologia de disefio sinerénico 750 8.7.1 Estructura del sistema sincrono 87.2 Un ejemplo de disefo de sistema sincrénico Impedimentos para el disefio sincrénico 757 88.1 Sesgo de reloj 8.8.2 Disparo del reloj 88.3 Entradas asincronas Falla del sincronizador y metaestabilidad 764 8.9.1 Falta de sincronizador 8.9.2 Tiempo de resolucién de la metaestabilidad 8.9.3 Diseiio de sincronizador confiable 8.9.4 Andiisis de la temporizacién metaestable 8.9.5 Mejores sincronizadores 8.9.6. Otros diseftos de sincronizador 8.9.7 Flip-flops meiaestables endurecidos 8.9.8 Sincronizacion de transferencias de datos de alta velocidad Referencias 784 Problemas propuestos 786 Ejercicios 788 EJEMPLOS DE DISENO DE CIRCUITOS SECUENCIALES 795 ot 92 Ejemplos de disefio que utilzan ABEL y PLD 796 9.1.1 Termporicacion y encapsulamiento de méquinas de estado basadas en PLD 941.2 Varias mdguinas simples 9.1.3 Las luces traseras del Ford Thunderbird 9.1.4 El juego de las adivinanzas 9.1.5. Reiavencidn de los controladores de seméforas Ejemplos de diserio que utiizan VHDL 813 9.2.1 Bjemplos de varias mdquinas simples 9.2.2 Las luces traseras del Thunderbird 9.2.3. El juego de las adivinancas 9.24 Reimencidn de los controladores de seméforos MEMORIAS. DISPOSITIVOS CPLD YFPGA 831 10.1 Memoria de s6lolectura 832 10.1.1 Uso de las memorias ROM para funciones ldgicas combinacionales “aleatorias” 10.1.2 Estructura interna de la ROM 10.1.3 Decodificacién bidimensional 10.14 Tipos comerciales de ROM 10.1.5 Temporizacién y entradas de control de ROM 10.1.6 Aplicaciones de ROM 10.2 103 104 10.5 106 Contenido xvii Memoria de lecturafescritura 854 RAMestética 854 10.3.1 Entradas y salidas de la RAM estética 10.3.2 Estructura ierna de fa RAM estdtica 10.3.3 Temporizacién de RAM esidtica 10.3.4 RAM estdricas estandar 10.3.5 SRAM sincrénica RAMdinémica 866 104.1 Estructura de una memoria dindmica tipo RAM 10.4.2 Temporizacién de la RAM dindmica 10.4.3 DRAM sinerénicas Dispositivos togicos programables complejos 872 10.5.1 La famitia CPLD XC9500 de Nifine 10.5.2 Arguitectura de bloque de funcion 10.5.3 Arquitectura de bloque le entracaisatide 10.54 Matriz de conmutacin Areglos de compuertas programable por campo 882 106.1 La familia FPGA XC4000 de Xitine 10.6.2 Bloque de tdgica configurable 10.6.3 Bloque de entradeisalida 10.64 Interconexién programable Ejercicios 892 11 TEMAS ADICIONALES DEL MUNDO REAL 895 Wa 112 13 14 Herramientas de diseno asistido por computadora 895 TLL Lenguajes de descripcién de hardware 111.2 Captura de diagramas esqueméticos ILI3 Especificaciones y diagramas de terporizacion IAA Audlisis y simulacién del cireuito ILLS Asignacién de componentes en la tarjeta de cireuito impreso Disefio para pruebas 902 21 Pruebas 11.2.2 Dispositivas de prueba y equipos de prueba en el circuito 11.2.3 Métodos de exploracién Estimacion de la confiabilidad del sistema digital 908 LB. Indice de fatias 113.2 Confabilidad y tiempo medio entre fallas 11.3.3 Confahilidad del sistema Lineas de transmision, reflexiones y terminaciones 912, 144.1 Teorta bésica de la tinea de transmision 114.2 Interconexiones de seftal légica como lineas de transmision 114.3 Terminaciones de seftal Ifgica Referencias 920 INDICE 923 PROLOGO La Ley de Moore, que estableve que la tecnologfa de los semiconductores avanza de mane- 1a exponencial, ha mantenido su validez por mas de tres décadas. Los expertos predicen que seguird asi durante otro decenio. Cuando se introdujeron por primera vez los circuitos integrados, los paquetes kigicos contenfan una docena o una cantidad similar de transistores. En la actualidad, debido a inerementos exponenciales en 1a densidad de los circuitos, los chips de microprocesadores han rebasado la barrera de los 10 millones de transistores. En menos de otra década alcanzarén los 100 millones de transistores por chip. Para seguir el ritmo de la Ley de Moore, las téenicas de disefio han cambiado drds- ticamente. Hubo una época en ta que 10s circuitos Iégicos fabricados a mano fueron la norma. En la actualidad los diseitadores desarrollan los circuitos a partir de deseripcio- nes de alto nivel. Las conexiones hacia las tarjetas de circuito impreso se realizan en el interior de los chips. Con la l6gica programable, las fumciones ldgicas y las conexiones enel chip pueden actualizarse dentro del ambiente del usuario, {.Cémo mantener al corricnte la educaciGn con la Ley de Moore? ;Qué podemos hhacer para permitir que los estudiantes practiquen hoy sus habilidades y las adapten mafia- naa las nuevas generaciones de dispositivos? Este es el reto que enfrenté John Wakerly cuando inicié este trabajo. Su enfoque es polifacético. Se basa en los principios fundamentales del disefio digital que no se modifican con la tecnologfa, como son la Idgiea combinacional, la légi- ca secuencial y las maquinas de estado. El autor une estrechamente estos principios con herramientas y técnicas précticas que enseiian cémo disefiar para la tecnologia actual, Estas incluyen cémo utilizar los lenguajes de diseio ABEL y VHDL, cdémo estructurar disefios con grandes bloques de construccién y edmo instrumentardisefios con disposi vos de ldgica programable. Estas técnicas son esenciales para obtener éxito en el diseiio. La meta més dificil es ayudar al estudiante para que se adapte a los cambios inevi- tables que estén por venir. Para lograr lo anterior el autor revela lo que ocurre bajo la Kigica. Por ejemplo, proporciona modelos de transistores para compuertas y los utiliza para exponer aspectos que estin relacionados con temporizacidn y ruido. Las compuer- tas pueden llegar a ser més répidas, mas densas y pueden utilizar diferentes voltajes de control, pero el hecho de asegurar un funcionamiento adecuado y confiable siempre ser xix a Prologo. una preocupacién constante. Aprenderemos Las caractertsticas, restriceiones y modos de falla y cOmo disefar para ellos, También aprenderemos mediante ejemplos con disefios alternativos, c6mo juzgarla calidad del disefio y evaluar los compromisos. A medida que Surgen nuevas tecnologfas, seremos capaces de disefiar para ellas. El autor mejora el enfoque con habilidades de presentacion que son raras en los textos universitarios. El lector apreciard répidamente Ia efectividad de las grficas, el estilo ‘ameno de la exposicién y lo instructivo de los ejercicios, La Ley de Moore condena a los libros de texto en este campo a tener una vida breve. No obstante, el texto de Wakerly ¢s un clisico. Harold S. Stone Princeton, New Jersey PREFACIO El presente libro esti dirigido a todas aquellas personas que desean disefiar y construir circuitos digitales reales. Esté basado en la idea que, a fin de hacer esto, usted tiene que ‘captar los fundamentos, pero al mismo tiempo necesita comprender cémo funcionan las ‘cosas en el mundo real. Esta es la razén por la cual se propone el tema de “principios y précticas”. El material en este libro es adecuado para cursos de introduccién de diseiio Iigico digital en ingenierfa eléctrica o en computacidn, asf como en ciencias de la compu Los estudiantes de ciencias de Ia computacién que no estén familiarizados con los concep- tos basicas de electiSnica 0 que sencillamente no estén interesados en ¢! comportamiento eléetrico de los dispositivos digitales pueden omitir el capitulo 3; el resto de la obra fue exeri- ta con In idea que fuera independiente de este capitulo tanto como fuera posible. Por otro lado, cualquier persona que tenga los fundamentos bisicos de electrénica y desee obtener ‘un mayor conocimiento de electrinica digital, puede hacerlo leyendo el capitulo 3. Aquellos estudiantes gue no cuenten con antecedentes de electrénica pueden obtener conocimientos basicos si consultan cl texto “Electrical Circuits Review”, de Bruce M. Fleischer, que es un tutorial eleetrénico de 20 paginas disponible en forma gratuita y en el sitio Web de este libro, www. ddpp.com. Aunque el nivel de este libro es introductorio, contiene mucho mas material del que puede impartirse en un curso tipico de introduccisn. Cuando comencé a escribirlo, encontré que habfa tantas cosas importantes por decir, que no cabrfan en un curso de un trimestre de Stanford o en um libro de 400 paginas. Por consiguiente, he seguido mi précti- ‘ca habitual de incluir por lo menos, todo lo que pienso que es medianamente importante yy dejar que el profesor o el lector decidan ellos mismos lo que es ms importante en un ambiente en particular. Para ayudar en la toma de estas decisiones, marqué con un asterisco los encabezados de las secciones opcionales. En general, estas secciones pueden omitirse sin riesgo de perder Ia continuidad en las secciones no opeionales posteriores. Sin duda algunas personas optarén por utilizar este libro en cursos avanzados y de laboratorio. Los estudiantes avanzados querrén saltarse los fundamentos e ir directa mente a los aspectos interesantes. Una vez que usted conozca los fundamentos, lo més importante e interesante en este libro radica en las secciones dedicadas a los lenguajes de cursos de introduccién conceptos basicos de elecirdnica seceienes opeionales cursos avancados y de Taborazorio aspectos interesantes xxi xxii Profacio diseriadores digitales ‘notas al margen descripcidn de hardware ABEL y VHDL, donde usted deseubrird que sus cursos de pro- gramacién en realidad le servirén como preparacién previa al disefio de hardware. Este libro también s¢ puede utilizar como referencia de estudio autodidacta para todos aquellos disefiadores digitales que trabajan a nivel profesional, quienes pueden pertenecer a cualesquiera de dos clases: Principiante Si usted acaba de incorporarse @ una empresa y se desempefia como disefiador de circuitos digitales, y tomé cursos de disefio que fueron muy “tedricos” en a universidad, deberia concentrarse en los capitu- los 3, 5,6, y del 8 al 11 para prepararse para el mundo real Profesionista —_Siusted tiene experiencia, tal ver no requiera todo el material de “pric- con experiencia ticas” de este libro, sin embargo, los que incluyen principios de los capitulos 2, 4 y 7 le serdn utiles para organizar sus pensamientos, y las discusiones que ahi se presentan sobre lo que se considera importante xy lo que no lo es podrfan mitigar su sentimiento de culpa por no haber utilizado un mapa de Kamaugh en 10 afos. Los ejemplos de los capitulos 6, 8 y 9 le proporcionarian ideas adicionales y la apreciacién ante una vatiedad de métodos de diseito. Por titimo, les descripciones de los lenguajes ABEL y VHDL, asf como los ejemplos dispersos a través de Jos capitulos que van desde el 4 hasta e! 9, pueden servirle como primera introduccién organizada al disefo basado en HDL. Todbs los lectores deberfan hacer buen uso del indice detallado y de las notas al ‘margen que aparecen en el texto porque dirigen su atencién hacia las definiciones y los temas importantes. Es probable que los temas que estén resaltados en esta seccién sean més marginales que importantes, pero querfa mosirar mi sistema de formateo de texto. Descripcién de los capitulos Lo que tenemos a continuacién es una lista de descripciones breves de los once capitulos y de este libro. Esto puede recordarle la seccién de las guias de software, titulada “Para aquellos que aborrecen leer manuales”. Si usted lee esta lista, tal vez no tenga que leer el resto del libro. ‘+ Elcapitulo 1 proporciona unas cuantas definiciones basicas y determina las reglas fundamentales para lo que pensamos que es 0 no es importante en este libro. ‘+ Elcapitulo 2 es una introduccién a los sistemas muméricos y eédigos binarios. Aun los lectores que ya se encuentren familiarizados con los sistemas numéricos bina- los por haber Ilevado algin curso de software, deberfan leer las secciones 2.10 a a.2.13 para obtener una idea de la forma en la que el hardware utiliza los eédigos binarios. Los estudiantes avanzados pueden conseguir una atractiva introduccion los c6digos de deteccion de errores al leer las secciones 2.14 2.15. Todos deberian leer el material de la seccién 2.16.1 que se emplea en algunos ejemplos de diseiio en_l capitulo 8. + Elcapitulo 3 describe “todo lo que usted siempre quiso saber acerca de” Ia operacién de un circuito digital, haciendo énfasis principal en las caracteristicas eléciricas extemas de los dispositivos ldgicos. El punto de partida son los fundamentos bésicos de clectrénica, incluyendo voltaje, comtiente y Ley de Ohm. A todos los lectores ‘que no estan familiatizados con estos concepios les recomendamos que consulten el libro “Electrical Circuits Review”, que se mencion6 anteriormente. Los lectores. que no estén interesados en la operacién de los circuitos reales, o que pueden darse el lujo de tener alguien més que les haga el trabajo sucio, pueden omitir este ‘capitulo. El capftulo 4 ensefia principios de disetio logico combinacional, incluyendo algebra de conmutacién, o dlgebra binaria y andlisis de circuito combinacional, sintesis y minimizacién. Las introducciones a ABEL y VHDL aparecen al final de este capitulo. El capitulo 5 comienza con el estudio de los esténdares para la documentacién del sistema digital, probablemente la practica mas importante para los diseiiadores ‘que aspiran a comenzar su formacién practica. En este mismo capitulo se presen- tan los dispositivos de légica programable (PLD), enfocéndose en su capacidad de evar a cabo funciones l6gicas combinacionales. El resto del capttulo describe las funciones Idgicas combinacionales mas comtinmente utilizadas y sus aplicaciones. Para cada funciGn, se describen los bloques estandar de construccién MSI, progra- mas ABEL para realizaciones PLD y modelos VHDL. El capitulo 6 es una coleccién de ejemplos m4s extensos de diseiio de circuitos combinacionales. En cada ejemplo, se muestra cémo puede efectuarse el disefio con Dlogues de construceién MSI (sies apropiado), ABEL y PLD, o VHDL. que pueden ser dirigidos tanto a un CPLD como a un FPGA. El capitulo 7 ensena los principios de diseno légico secuencial, comenzando con latchs y “flip-flops”. El énfasis principal en este capitulo radica en el andlisis y dise- fio de mquinas de estado sincrénicas en el tiempo. Sin embargo, para los audaces y valientes, este capttulo incluye una introduccién a los cireuitos de modo funda- mental y el anilisis y disefio de cireuitos secuenciales de retroalimentaciGn, El capitulo termina con secciones acerca de las caracterfsticas de ABEL y VHDL ‘que soportan el disefio de los circuitos combinacionales. El cap/tulo 8 irata en su totalidad del disefio practico de circuitos secuenciales. ‘Como se hizo en el capitulo 5, este capitulo se enfoca en las funciones mas co- miinmente empleadas y proporciona ejemplos haciendo uso de bloques de cons- truccién MSI, ABEL y PLO asi como VHDL. Las secciones 8.8 y 8.9 discuten Jos impedimentos inevitables para el disefio ideal o completamente sinerénico y abordan el problema de como vivir sincronicamente en un mundo asincrdaico. El capitulo 9 es una coleceién de méquinas de estado y ejemplos de disetto de cireuitos secuenciales més grandes. Cada ejemplo se realiza tanto usando ABEL para un PLD como empleando VHDL, el cual puede ser dirigido a un CPLD 0 FPGA. El capitulo 10 es una introducci6n alos dispositivos de memoria CPLD y FPGA. La cobertura de la memoria incluye la memoria sdlo de lectura, asi como las memorias de lectura-escritura estética y dinamica desde los puntos de vista de la circuiteria interna y el comportamiento funcional. Las éltimas dos secciones presentan ia arqui- tectura CPLD y FPGA. Prefacio xxiii xxiv Prefacio + Enel capitulo 11 se discuten varios temas misceléneos del mundo real que son de interés para los disefiadores digitales. Cuando comencé a escribir lo que yo pen- saba que seria un libro de 300 paginas, inclu este capitulo en Ia versiGn preliminar para reforzar el material “central” y cubrir més tépicos. Bueno, el libro es evidente- ‘mente lo suficientemente extenso sin ¢l, pero este material es itil a pesar de todo. La mayor parte de los capitulos contiene referencias, problemas propuestos y ejer- cicios. Los problemas propuestos son por lo regular preguntas de respuestas breves 0 preguntas que despiertan el interés en la préctica y que pueden responderse directamente ‘con base en el material del texto, mientras que los ejervicios requieren una mayor reflexién de parte del alumno. Los problemas propuestos en el capitulo 3 son particularmente extensos y estin diseitados para permitir que los tipos que no son eléctricamente borra- bles entren en el material. Xilinx Foundation Tools (solo para versi6n en inglés) Xilinx, Ine. (San Jose, CA 95124) gentilmente nos ha permitido incluir sus herramientas de disento digital “Foundation Express” en dos CD-ROM al final de este libro, s6lo para las ediciones en inglés de Estados Unidos. Estas herramientas son bastante detalladas, incluyen un compilador ABEL, procesadores de lenguaje Verilog y VEIDL, un paquete de ibujo esquematico y un simulador. Gran parte del software en este paquete se encuentra basado en las populares herramientas Active-CAD™ y Active-HDL™ de Aldec, Inc, El paquete incluye también el software FPGA Express™ de Sinopsis, que permite que los disefios en ABEL, VHDL y Verilog sean dirigidos a CPLD y FPGA. La versidn incluida apoya ciertas partes Xilinx populares, Aun cuando usted no esté listo para crear sus propios disefios originales, puede hacer uso de las herramientas Foundation para probar y modificar cualquiera de los ejem- plos en el texto, puesto que el cddigo fuente de todos ellos se encuentra disponible en el sitio Web del libro, el cual mencionaremos a continuaci6n. WWW.DDPP.COM Se tienen disponibles materiales de apoyo paraeste libro en el propio sitio Web dedicado al libro, wnw.ddpp..com. Un recurso clave para los estudiantes es el conjanto de listados fuente para todos los programas de ejemplo C, ABEL y VHDL del libro. También se encuentran disponibles directorios del proyecto Foundation en formato ZIP (comprimi- do), que incluyen, ademés de los archivos fuente ABEL y VHDL, algunos esquemas que sirvan para utilizar y estimular algunos de los ejemplos de disefio. Durante la preparacién de esta edicion, quedé sorprendido y encantado de ver eudinto material de referencia de dise‘io digital est4 disponible en la Web, especialmente de parte de los fabricantes de dispositivos. El sitio Web DDPP contiene una seccién de referencias “vivas” con enlaces a muchos sitios thtiles que usted puede emplear comoun punto de partida para su propio estudio independiente, Un par de apéndices de las ediciones anteriores estén disponibles en el sitio Web (“Electrical Circuits Review” por Bruce M. Fleischer, y “IEEE Standard Symbols”). Los estudiantes que toman cursos de laboratorio aprecianin las cuatro piginas que incluyen Jas guias de terminales de salida de circuitos integrados (CIs), que aparecen en las pagi- nas de forros de las ediciones anteriores. ‘Una cosa que a los estudiantes les puede gustaro no gustar, es una nueva coleecién de cjercicios nucvos que espero que se ineremente a medida que yo continic enseiiundo disefio digital en Stanford y a medida que reciba contribuciones de otros colegas. Como se preparé este libro El texto de esta tercera edicidn fue convertido de la versiGn TEX de la segunda edicién original en Adobe FrameMaker®, Las figuras que provienen de fas ediciones anteriores fueron convertidas desde Cricket Draw en archivos EPS de Adobe Illustrator®. Toda la escritura, edicién, dibujos y diseiio de circuitos fueron realizacios en una PC ejecutando Windows 95 0 98 con 384 Mbytes de memoria, la cual, lamentablemente, todavia se bloqueaba cuando se abrian al mismo tiempo demasiados programas o stchi- vos, Las buenas noticias son que este uso de la edicién de herramientas y programas cestindar, me ha permitido proporcionar a lectores y profesores una gran coleccién ‘de materiales itiles en el sitio Web del libro, como se indie anteriormente. Errores ‘Advertencia: Este libro puede contener errores, El autor no asume ninguna responsa- bilidad por cualquier daito (ya sea fortuito, cerebral o de otra indole) que ocasionen Jos errores. A propésito, esta advertencia harfa felices a los abogados. Pero para hacerlo feliz a usted permitame aseguratle que se ha puesto un enorme cuidado en la preparacién de este manuscrito para hacer que se encuentre tan libre de errores como sea posible. Estoy ansioso de aprender de los errores restantes de modo que puedan ser corregidos en futu- ras reimpresiones, ediciones y productos derivados. Por consiguiemte, pagaré $5 para el primer descubridor de cada error no deteetado, sea técnico, tipogratico o de otra natu- raleza. Por favor envie sus comentarios por correo electrénico utilizande cl vinculoen ¢l sitio Web, o escribiéndome a john@waker Ly .com. CCualquier lector puede obtener una lista aetualizada de los errores descubiertos empleando el vinculo en el sitio Web. Seré una transferencia de archivo muy breve, eso espero. Muchas personas me ayudaron a hacer posible este libro. La mayoria de ellas me ayu- daron en la edici6n anterior y se les agradece ahi. La preparacién de la tercera edicién ha sido una tarea mis solitaria, pero fue més ffeil gracias a mis colegas Mario Mazzola y Prem Jain de Cisco Systems. Ellos y la compafifa hicieron posible que acortara mis com- promisos en Cisco para laborar menos de medio tiempo durante los ocho meses que tom6 preparar esta edicién. Prefacio oxy xxvi Pretacio En cuanto a Jas ideas que atafien a 10s “principios” de-este libro, todavia le debo un gran agradecimiento a mi maestro, consejero de investigacién y amigo Ed McCluskey, Por el lado de las “prdcticas”, mi personal del “Saldn de la Fama de los Disefiadores Digitales” que incluye (en orden cronol6gico) a: Ed Davidson, Jim McClure, Courtenay Heater, Sain Wood, Curt Widdoes, Prem Tain, Ted Tracy, Dave Raum, Akhill Duggal, Des Young y Tom Edsall. La semilla que me condujo a comenzat Ia escritura de este libro y muchés otros fue plantada a principios de la década’ 1970 por Harold Stone en Stanford. Me puso a trabajar examinando ¢ indexando sus libros, y sus textos de organizacion de compu- tadoras me inspiraron a escribir mi primera obra de software. jAhora, me gustaria ofrecer a Harold mis gracias tardias por apoyarme en mis inicios y darle un agrade- cimiento especial por ayudarme a hacer jdos paginas mas de esta edicis Enel verano de 1997, durante las etapas tempranas de la planeacién de este libro, mi amigo y colega Jean-Pierre Steger tomé un aifo sabatico de la Escuela de Ingenieria de Burgdorf, cerca de Berna, en Suiza, para ayudarme a dar el primer paso con VHDL, las herramientas Foundation de Xilinx y otros temas. Varias personas contribuyeron revisando comentarios y materiales para esta edicidn, incluyendo a John Birkner, Rebecca Farley, Don Gaubatz, John Gill, Linley Gwennap, Jesse Jenkins y Jeff Purnell. Xilinx, Inc., naturalmente se merece e} crédito por suministrar las herramientas Foundation que son un importante accesorio de la edicidn en inglés. Por el lado de las personas, el director original de su University Program, Jason Feinsmith fue de mucha ayuda y su recientemente nombrado director Patrick Kane ha dado su apoyo entusiasta a nuestros esfuerzos Desde que fue publicada la edieién anterior, he recibido muchos comentarios amables de los lectores, Ademas de sugerir motivar muchas mejoras, los lectores han sefialado docenas de etrores tipograficos y técnicos cuyas correcciones se han incorpora- do en esta tercera edicidn Mieeditor patrocinador en Prentice Hall, Tom Robbins, ¢s digno de un gran agrade- cimiento por su paciencia, El es ¢l segundo editor que fue atrafdo a Prentice Hall en parte por la (falsamente atractiva) perspectiva de trabajar en un proyecto conmigo, solamente para descubrir en el momento de su llegada que el proyecto estaba muy atrasado, Sin embargo, yo conocia a Tom desde principios de Ia década de 1980 cuando él intenté contratarme para un proyecto con otro editor y, desde entonces, habfamos tratado de encontrar una manera de trabajar juntos; ahora, por fin, estamos aqui, comenzando la ter- cera década de nuestra amistad. El editor de produccién Irwin Zucker también merece crédito por proporcionar una interfaz sumamente tranquila con el departamento de produecién de la editorial y todes las horas de apoyo en las que me ayud6 durante la etapa final del proyecto. Si no fuora por él, no podria salir esta mafiana para tomar tres semanas de vacaciones que planee con tanta anticipacién (jlo que quiero decir es que si no hubiera terminado a tiem- po, nuestro perro de 90 libras habria ido 2 Europa en mi lugar!). Robert Lenz también hizo un gran trabajo como editor de! manuscrito con lo que yo podtia vivir :-) Le envio un especial agradecimiento al artista Robert McFadden, cuya imagen de portada se encuentra colgada en mi casa junto con varias otras de sus extravagantes obras, ‘La pintura que encargue y 61 realiz6 durante un afio, me proporcions Ja motivacién para abordar el iterior del libro. Parece como si algtin desastre siempre surgiera cuando estoy por completar uno de estos proyectos. En la edicién anterior, fue el terremoto de la Serie Mundial de 1989. Esta ver, parece que he esquivado la bala hasta este momento. En realidad, no estaré comple- tamente hecho hasta que haya terminado el fndice, el cual prepararé en mi computadora Pportatil mientras recorra sobre rieles el territorio europeo durante las proximas semanas. iEsperemos que no la olvide en alggin tren! Como siempre, debo agradecer a mi esposa Kate por soportar Jas horas de desve- Jo, frastracién, mal humor, preocupacién y lamadas telefnicas de gente extraiia que ocurren cuando estoy comprometido en un proyecto de publicacién como éste. (Espe- ramos que ustedes disfruten comenzar con este libro tanto como nosotros disfrutamos. terminarlo! John F. Wakerly Mountain View, California Pretacio xxvii will XILINX Edicion del estudiante Acceso a las Herramientas ISE-Webpack de Xilinx. Debido a la constante actualizacidn del software, es posible que usted no pueda hacer uso total de los CD ineluidos en este libro, sin embargo, puede aprovechar el acceso sin costo por internet que Xilinx Inc. lider ene] mercado de componentes electrOnicos para logica programable, oftece a las herramientas de diseio digital ISE-Webpack. Estas herramientas incluyen procesadores de Lenguaje VHDL o Verilog, un editor de programas esquemiéticos, un editor grafico de diagramas de transicion de estados, un gene- rador de bancos de prueba, y un simulador (ModelSim XE Il de Model Technology, Inc.), entre otras. Para acceder a los archivos de instalacidn de ISE-Webpack, siga los siguientes pas 1. Dirigir ¢] navegador a la direccién bhttp/Avwwxilinx.com/support/downlond. htm, 2. Seleccionar la opcién WebPack ISE / ModelSim XE 3. Pulsar el bot6n Order & Register y proporcionar la informaciéa solicitada, El re- gistro ¢s indispensable, no tiene costo, pero requiere una direccién valida de co- 1reo electrénico. 4. Al coneluir el registro, clegir la opeién Download ISE WebPack 5. Descargar los archivos Complete ISE WebPACK Software y Complete MXE Simulator 6. Proceder con la instalacién, primero de ISE y luego de MXE. Si requiere mayor informaci6n, envie in correo con sus observaciones a guillermo. trujanotpearsoned.com Estos CD-ROM estén disefiados para usarse con los productos educativos “Xilinx Design Series” de Prentice Hall. El software esté disefiado para instalar por primera vez la versién para estudiante del software Xilinx Foundation Series Express F1.5 y también para modemnizar el software Xilinx Foundation Series F1.3 y FI.4 a la versién FI.S, ademas de Proporcionar otros materiales electrénicos que podrian ser dtiles. Para ejecutar correcta- mente el médulo VHDL y cl software de sintesis Verilog (cl médulo Synopsys FPGA Express™ de Xilinx Foundation Series) se requiere un archivo “licence.dat”. Si va a moder nizar la versiOn 1.3 0 la 1.4, acceda a www.university.xilinx.com/univ/xsefagl.htm, donde se explica la pequefia modificacién que debe hacerse al archivo de licencia existente, Si se trata de una instalacién nueva, el archivo “licence.dat” se puede obtener en la pagina de ini: cio de Xilinx Design Series wtilizando el numero de serie impreso on Ia etiqueta que viene cn su paquete Xilinx Design Series de Prentice Hall Este documento contiene las instrucciones de instalacién basicas. Las instruccio- nes completas vienen en el CD-ROM Design Environment | de 2, en ¢l archivo D:\readme.wri. Dichas instrucciones estaban completas en el momento de imprimirse 1 documento, Se pueden obtener versiones actualizadas de las instrucciones en ‘www.university.xilinx.com/uniy/xdsl.htm Seccién I _ Xilinx Foundation Series Express F1.5 Seccién I_ Otras herramientas a. (Opcional) Xilinx CORE Generator 1.5 b. (Opcional) Herramientas XESS para tarjetas XS40 0 XS95 ¢. (Opcional) Simulador Active-VHDL 3.1 de Aldec (Version para estudiante) d. (Opcional) Simulador Verilog SILOSII] de SimuCad (Version para demostraci6n) Seccién Ill _ Configuracién del archivo de licencia XILINX Edicién del estudiante Seceién IV _ (Opeional) Adobe Acrobat y hojus de datos Para modernizar F1.3 0 F1.4 a FL, inicie en la Secci6n LA. Para instalar en una computadora nueva, inicie en la Secciéa LLB, Seccién I _ Xilinx Foundation Series Express F1S Seecién LA _ Desinstalar F1.3 0 Fl.4 1. Desinstale Foundation Project Manager (Design Environment): haga clic en Inicio, Configuracién, Pane! de control, Agregar 0 quitar programas 2, Desinstale Foundation Design Implementation Tools. 3. Si la desinstalucién no funciona, borre cl directorio C-\Xilinx, junto con todos ‘us subdirectorios y archivos (suponiendo que fue en ese directorio donde ins- talé sus Design Implementation Tools F1.3 0 FI.4). Seccién LB _ Instalar FLS 1, Inserte el Disco de Instalacién 1 de 2 de Design Environment. Inicie la instala- ccidn: haga clic en Inicio, Bjecutar y seleccione D:\setup.exe. Cuando se abra la ventana “Xilinx Foundation F1.5 Setup”, haga clic en “Siguiente” (Next) y lue- go siga las indicaciones. Su clave de CD (CD KEY) es: FXAA2743390, jNo ierda este niimero! Si esta efectuando una modemizacién, acuda a www.university.xilinx.comy uniy/xds|htm, donde se proporcionan instrucciones completas, Nota: Podria ser conveniente excluir los dispositivos XC4000E y SpartanXL, los cuales ocu- pan mis de 50 MB de espacio en disco. Si més adelante quiere afiadir estos dis- positivos, puede ejecutar setup.exe otra ver. 3, Inserte el Disco de Instalacién 2 de 2, Documentacién, Inicie la instalucién: haga clic en Inicio, Ejecutar y seleecione D:\setup.exe. Cuando se abra Ia ventana “ Jinx Foundation F1,5 Documentation Setup”, haga clic en “Siguiente” (Next) y si: agi las indicaciones. No se necesita la CD KEY en este paso, 4. Si desea ahorrar espacio en disco, puede excluir “Multimedia Foundation De- ‘mo” en el cuadro de didlogo Select Products to Install (Seleccione los produc- tos a instalar) 5. En “Registry Settings Options” (Opciones de registro), no modifique ninguna de las opciones. 6, Al terminar, reinicie su computadora para que entren en vigor los parimetros de Registro Seccién Il _ Otros archivos de herramientas para F1S El disco 2 contiene otras herramientas. En general, la instalacién es similar a la de las herramientas fundamentales. Ha- ga clic en el botén Inicio, luego en Ejecutar, y pase al directorio de la herramienta que desea instalar. Haga doble clic en el archivo “setup.exe” y siga las indicaciones. Las pricticas de laboratorio del Practical Xilinx Designer estén en el disco 2 en DAXESS\XLabs\... Hay un subdirectorio para cada prictica La informacién acerca de Jos requisitos del sistema esté en el CD-ROM Design Environment Disk, disco | de 2, en D:readme. wri, asi como en el paquete de software. La guta de instalacién completa viene en el disco 2, en D:\Finstallindinst pdf. Es preciso instalar Acrobat Reader para leer este archivo. Acrobat Reader se puede insta- lar desde el directorio ACROREAD en el disco 2 wai, XILINX Edicién del estudiante Seecién III _ Archivo de licencia para F1.S En el caso de la versién FL.S, se necesita el archivo “licence. dat” para ejecutar las he- rramientas de sintesis VEDL y Verilog Synopsys FPGA Express, Si esté modernizando una instalacién Xilinx Foundation Student Series F1.3 0 F144 FI.5, no necesita modificar su sistema. Es suficiente con su archivo “licence.dat” actual. Si va a usar la herramienta Express, vea el pérrafo siguente. Si vaa instalar el software Xilinx Foundation Series Express F1.5 en una compu- tadora nueva, o simplemente no obtuvo un archivo “licence.dat” antes, visite el sitio ‘Web para obtener su archivo de licencia y lea las instrucciones que se dan en ‘wor .university.xilinx.com/univ/xds I htm, Seccién IV _ (Opcional) Adobe Acrobat y hojas de datos Hay varios documentos en formato Adobe Acrobat que vienen incluidos en estos CD- ROM y que pueden servirle como referencia, Si desea obtener una documentacién més completa acerca del software Xilinx Foundation Series Express FI. y su instalacién, puede encontrar la F1.5 Quick Start Guide, versiGn comercial, en D:\installdoc\fn- dinst.pdf. Estos son los documentos clave que vienen incluidos en “Disco 2 de 2. Docu- mentacién de Foundation”: D.\Applinx\Databook.pdf Libro de datos 1998 de Xilinx DMpplinx\coregen.pdf Libro de datos de soluciones fundamentales Xilinx Otros documentos clave que pueden consultarse empleando el visor de documentos Dynatext en el directorio Xilinx Book: Foundation Series Quickstart Guide (Gufa de inicio répido) Foundation Series User Guide (Guta de usuario) Verilog Reference Guide (Guia de referencia de Verilog) VHDL Reference Guide (Gufa de referencia de VHDL) Si necesita instalar Acrobat Reader, ejecute D:\ACRORED\WIN32\A132e30.exe y siga las instrucciones para instalar el software Acrobat Reader. Ademés, hay varios proyectos de laboratorio en la pdgina de inicio del Xilinx University Program, en la seccién “Presentation Materials and Lab Files”. Visite www.university.xilinx.com Requisitos mfnimos para PC: Se recomienda procesador Pentium” Windows 95 0 NT 4.0 Se recomienda 48 MB de RAM y 350 MB de espacio desocupado en el disco du- ro (més 100 MB de espacio para intercambio) antes de la instalacién, Dependiendo de las opciones que escoja, la instalacién “Base” de Foundation Se- ries Express F.5 consumiré entre 250 y 500 MB de espacio en el disco duro, Es- to no incluye Active-HDL ni Silos IN. ‘Tenga presente que todo e! apoyo pars el software Xilinx Student Edition esté ba- sado en Web, Acceda a wwwauniversity.xilinx.com si desea informacién sobre resolu- ci6n de problemas 0 de otto tipo. capifulo Introduccién ienvenido al mundo del disefio digital. Tal vez usted sea un estudiante en ciencias de la computacidn que sabe todo acerca de programacién y soft- ware de computadoras, pero todavia se encuentre intentando averiguar c6mo es que todo ese intrincado hardware puede funcionar. O quizés sea un estudiante de ingenieria eléctrica que ya sabe algo acerca de elec- trénica analégica y disefo de cireuitos, pero no seria capaz de reconocer un bit aun ‘cuando lo tuviera enfrente. No importa. Comenzando desde un nivel bastante funda- mental, este libro le mostrar cémo discfiar circuitos y subsistemas digitales. Le proporcionaremos los principios basicos que necesitard para averiguar las cosas, y también le daremos muchos ejemplos. Junto con esos prineipios, intentare- mos transmitirle la intuicién que requiere el disciio digital del mundo real, discutiendo consideraciones précticas y actuales siempre que sea posible. ¥ yo, el autor, con frecuencia haré referencia a mi persona como “nosotros” con la esperan- za de que el lector se sienta guiado y tenga la impresin de que estamos caminando juntos a través del proceso de aprendizaje. 1.1 Acerca del disefio digital Algunos lo Haman “diselo l6gico”. Eso esté bien, pero al fin de cuentas el objetivo del diseiio es construir sistemas. Para ese fin, en este texto cubriremos mucho mas que tinicamente teoremas y ecuaciones I6gicas. Este libro estudia los principios y practicas. La mayoria de los principios que presentamos continuardn siendo importantes en los aflos que estén por venir; algu- nos podriin aplicarse en formas que no se han descubierto todavie. En cuanto a las, 2 Capitulo 1 Introduccién TEMAS IMPORTANTES ENEL DISENO DIGITAL précticas, éstas pueden ser un poco diferentes de lo que se presente aquien el momento que usted comience a trabajar en su ramo, y ciertamente continuarén cambiando a lo largo de su vida profesional. De modo que deberia tratar eon el material de “priicticas ‘en este libro como una manera de reforzar los principios, y como una forma de aprender Tos métodos de disefio. Uno de los objetivos del libro es presentar lo suficiente acerca de los prineipios basicos para que usted sepa qué es lo que ocurre cuando utiliza herramientas de software que hacen el trabajo por usted. Los mismos principios basics pueden ayudarle a llegar ala rafz de los problemas cuando las herramientas se cruzan en su camino. En el cuadro de esta pagina se enumeran varios puntos clave que deberian apren- derse a través del estudio con este texto. La mayor parte de estos temas probablemente no tengan sentido para usted en este momento, no obstante usied debers regresar y revisarlos posteriormente. El disetio digital es ingenieria, y la ingenictia significa “resolucién de problemas”, Miexperiencia indica que solamente un 5 a 10% del disefio digital conforma “el aspecto divertido”: la parte creativa del diseffo, el destello de inspiracién, Ia inveneién de un nuevo enfogue. Todo lo que resta es precisamente “trabajo pesado”. Cabe mencionarque en la actualidad el trabajo pesado es mucho ms ficil de realizar ahora, que hace 20 0 incluso 10 aiios, sin embargo no podré dedicar el 100% o incluso el 50% de su tiempo a trabajar en la parte divertida. ‘+ Eluso de buenas herramientss no garantize un buen diseflo, pero ayuda bastante 4 eliminar elesfuerzo y dolor que conlleva el hacer bien lis cosas. Los citouitos digitales tienen caracterfsticas anal6gicas, ‘* Saber cufindo preocuparse y cusindo no preocuparse con respecto a los aspectos analégicos del disefo digital, + Documentar siempre los disefos para hacerlos comprensibles tanto para uno mismo como para los demés. * Asociar niveles activos con nombres de seta y practicar el disefio de Logica burbuja- burbuja. © Comprender y hacer uso de bloques estindar de construccién funcional * Disefiar para un costo minimo al nivel del sistoma, inclayendo su propio esfuerzo ingenieril ‘como parte del costo. + Bl disefio de méquina de estado es como la programacin: abérdelo desde este punto de vista ‘+ Haga uso de Logica programable para simplificar dsefos, reducir costos y adaptar modifi- ceaciones de titimo momento. ‘© Evite el disefio asinerénico. Practique el disetio sincrénico hasta la Hegada de una nueva tecnologia, ‘+ Localice las incvitables interfaces asincrénicas entre diferentes subsistemas y el mundo - ‘exterior, y suministre sincronizadores confiables, | ita otras nueve. i ‘+ Bncontrar un “glitch” o interferencia a tiempo Seccién 1.2 Anal6gico contra Digital Ademés de la parte divertida y el trabajo pesado, existen otras muchas dreas en las cuales un diseiiador digital con éxito debe ser competente, incluyendo las siguientes: * Depuracion. Es casi imposible ser un buen disefiador sin ser un buen localizador de fallas. La depuracién acertada implica planeacién, un enfoque sistematico, paciencia y Idgica: jsi no puede descubrirdénde estd un problema, averigiie dénde no se encuentra’ + Requerimienios y pricticas de negacios. El trabajo de un profesional del disefio digital se ve afectado por un sinntimero de factores extemos a la ingenierfa, inclu- yendo estindares de documentacién, disponibilidad de componentes, definiciones de caracteristicas, especificaciones del objetivo, organizacién o programacin de tareas, politicas de oficina y comidas con los vendedores. + Toma de riesgos. Cuando se comienza un proyecto de diseiio deben evaluarse cuidadosamente los riesgos contra las consecuencias y recompensas potenciales, cn areas que abarcan desde la seleccidn de nuevos componentes (,estarén disponi- bles cuando yo esté listo para construir el primer prototipo?) hasta compromisos de programas de trabajo (;,conservaré mi empleo aunque me retrase en el proyecio?). + Comunicacién, Con el tiempo, usted ofrecerd sus disefios con éxito a otros inge- nieros, departamentos y clientes, Si no tiene buenas habilidades de comunicaci nunca completard esta etapa en forma satisfactoria, Tenga en mente que comunicacién no sélo incluye la transmisién, también incluye la recepeién de informacién; japrenda a escuchar! En el resto de este capitulo, y a lo largo del texto, continuané expresando algunas opiniones acerca de lo que es importante y lo que no lo es. Pienso que tengo derecho a hacerlo siendo yo mismo un practicante de éxito moderado del diseiio digital. Natural- ‘mente, siempre serdn bienvenidas sus opiniones y experiencias para compartir (para tal fin puede enviar un correo electrSnico a la siguiente direccién: john@wakerly.com 1.2 Analdgico contra Digital Los sistemas y dispositives analégicos procesan las sefiales variantes en el tiempo que pueden adquirir cualquier valora lo largo de un intervalo continuo de voltaje, corriente w otra ‘medida. Del mismo modo lo hacen los sistemas y circuitos dligitates: jla diferencia es que podemos aparentar que no 1o hacen! Una seftal digital se modela para tomar, en cualquier instante, solamente uno de dos valores diseretos, que denominamos 0 y 1 (0 BAJO y ALTO, FALSO y VERDADERO, negacién y afirmacidin, Samuel y Pedro. o cosas por el estilo). Las computadoras digitales han estado presentes desde los afios cuarenta y se ha extendido su uso comercial desde los sesemta. Apenas en estos ditimos 10 a 20 afios la “revolucién digital” se ha extendido a muchos otros aspectos de la vida. Ejemplos de aquellos sistemas analégicos que ahora se “han vuelto digitales” incluyen los siguientes: + Fotografias. La mayoria de las edimaras todavia hacen uso de peliculas que tienen tun recubrimiento de haluros de plata para grabar imagenes, Sin embargo. el incre- mento en la densidad de los microcireuitos o “chips” de memoria digital ha per= mitido el desarrollo de cimaras digitales que graban una imagen como una matriz de 640 x 480, 0 incluso arreglos mis extensos de pixeles donde cada pixel almacena anatigicos digitates 3 4 Capitulo 1 Introduccion Jas intensidades de sus componentes de color rojo, verde y azul, de 8 bits cada uno. Esta gran cantidad de datos, alrededor de siete millones de bits en este ejemplo, puede ser procesada y comprimida en un formato denominado JPEG y reducirse a tun tamafio tan pequetio come el equivalente al 5% del tamafie original de almacena~ rmiento, dependiendo de la cantidad de detalle de la imagen. De este modo, las cdmaras digitales dependen tanto del almacenamiento como del procesamiento digital. Grabacionesde video. Undisco versétil digital, de mltiples usos (DVD, por lassiglas de digital versaiite disc) almacena video en un formato digital altamente compri- mido denominado MPEG-2. Este estindar codifica una pequeia fraceién de los ‘cuadros individuales de video en un formato comprimido semejante al JPEG, ¥ codifica cada uno de los otros cuadros como la diferencia entre éste y el anterior. La ‘capacidad de un DVD de una sola capa y un solo lado es de aproximadamente 35 mil millones de bits, suficiente para grabar casi 2 horas de video de alta calidad, y un disco de doble capa y doble lado tiene cuatro veces esta capacidad. Grabaciones de audio. Alguna verse fabricaron exclusivamente mediante la impresi6n de formas de onda anal6gicas sobre cinta magnética o un acetato (LP), las grabacio- nes de audio utlizan en la actualidad dle manera ordinaria diseos compacts digitales (CD, Compact Discs). Un CD almacena la nisica como una serie de miimeros de 16 its que corresponden a muestras dela forma de onda analégica original, se realiza una muestra por canal estereofiinica cada 22.7 microsegundos. Una grabacidn en CD atoda su capacidad (73 minutos) contiene hasta seis mil millones de bits de informacién. Carburadores de automévites. Alguna ver controlados estrictamente por conexio~ nes mecénicas (incluyendo dispositivos mecdnicos “analégicos” inteligentes que ‘monitorean la temperatura, presidn, etc.), en la actualidad los motores de los auto- méviles estén controlados por microprocesadores integrados. Diversos sensores clectrinicos y electromecinicos convierten las condiciones de la maquina en ‘ximeros que el microprocesador puede examinar para determinar «6mo controlar el flujo de gasolina y oxigeno hacia e] motor. La salida de! microprocesador es una serie de numeros variante en el tiempo, que activa a transductores electromecdini- cos que. a su vez, controlan la maquina. El sistema selefonico, Comenz6 hace un siglo con mieréfonos y receptores analé- azicos que se conectaban en los extremos de un par de alambres de cobre (0, ¢ era luna cuerda”). Incluso en la actualicad, en la mayor parte de los bogares todavia se emplean teléfonos analigicos, los cuales transmiten sefiales analégicas hacia la {a telefénica. No obstante, en la mayorfa de nas centrales, estas sefiales analdgicas se convierten a un formato digital antes que sean enviadas a sus destinos, ya sea que se encuentten en la misma oficina central o en cualquier punto del planeta, Durante muchos afios los sistemas telef@ni- cos de conmutacién privados (PBX, private branch exchanges) que se utilizan en los negocios han transportado el formato digital todo el camino hacia los escritorios. En la actualidad, muchos negocios, oficinas centrales y los proveedores trad nales de servicios telefnicos, estén cambiando a sistemas integrados que combinan la voz digital con el trifico digital de datos sobre una sola red de Protocolo de Internet IP (por las siglas en inglés de Intemet Protocol). Seméforos, Para controlar los semforos se utilizaban temporizadores electrome- cfinicos que habilitaban la luz verde para cada una de Jas direeciones de cireulaciGn durante un intervalo predeterminado de tiempo. Posteriormente, s¢ uti Seecién 1.2 Analdgico contra Digital vadores en médulos controladores que podian activar los semaforos de acuerdo con ¢l pattdn del tréfico detectado mediante sensores que se incrustan en el pavi- mento. Los controladores de hoy en dia hacen uso de microprocesadores y pueden controlar los seméforos de modo que maximicen el flujo vehicular o, como sucede en algunas ciudades de California, sean un motivo de frustracién para los auto- movilistas en un sinndmero de creativas maneras. Efectos cinematogrdficos. Los efectos especiales creados exclusivamente para ser utilizados con modelos miniaturizados de arcilla, escenas de accién, trucos de Fotografia y numerosos traslapes de pelfcula cuadro por cuadro. En la actualidad, aves espaciales, insectos, otras escenas mundanas e incluso bebés (en la pro- duccién animada de Pixar, Tin Toy) se sintetizan por completo haciendo uso de computadoras digitales, ;Podrén algsin dia ya no ser necesarios ni los dobles cine- matograticos femeninos 0 masculinos? La revolucién electronica ha estado vigente bastante tiempo; la revolucién del “estado sGlido” comenzé con dispositivos analégicos y aplicaciones como os transis- tores y los radios transistorizados. Cabe preguntarse ;por qué ha surgido ahora una revolucién digital? De hecho, existen muchas razones para dar preferencia a los cireui- tos digitales sobre los circuitos analégicos: Reproducibitidad de resultados. Dado el mismo conjunto de entradas (lanto en valor como en serie de tiempo), cualquier circuito digital que hubiera sido disefia- do en Ja forma adecua smpre producird cxactamente los mismos resultados, Las salidas de un circuito analégico vartan con la temperatura, el voltaje de Ia fuente de alimentaci6n, la antigiedad de los componentes y otros factores, Facilidad de diseo, El diseito digital, a menudo denominado “diseilo légico”, es lgico. No se necesitan habilidacies mateméticas especiales, y el comportamiento de los pequefios circuitos lgicos puede visualizarse mentalmente sin tener alguna idea especial acerca del funcionamiento de capacitores, transistores u otros di positivos que requieren del célculo para modelarse. Flexibilidad y funcionatidad. Una vex que un problema se ha reducido a su forma digi- tal, podré resolverse utilizando un conjunto de pasos Kégicosen el espacio y el tiempo. Por ejemplo, se puede diseftar un circuito digital que mezcle o codifique su voz grabada de manera que sea absolutamente indescifrable para cualquiera que no tenga su “elave™ (contrasefia), pero ésta podré ser escuchada virtualmente sin distorsién por cualquier persona que posea la clave. Intente hacer lo mismo con un circuito analégico. Programabilidad. Usted probablemente ya esté farniliarizado con las computadoras digitales y Ia facilidad con la que se puede disefiar, escribir y depurar programas para Jas mismas. Pues bien, ;adivine qué? Una gran parte del disefio digital se lleva a cabo en Ia actualidad al escribir programas, también, en los lenguajes de descripcion de hardware (HDLs, pot sus siglas en inglés). Estos lenguajes le permiten especificar 0 modelar tanto la estructura como la funcién de un citeuito digital. Ademds de incluir tun compilador, un HDL tipico también tiene programas de simulacién y sintesis. Estas berramientas de programacién (software) se utilizan para verificar el comportamiento el modelo de hardware antes que sea construido, para posteriormente realizar la sfn- tesis del modelo en un cireuito, aplicando una tecnologfa de componente en particular Velocidad. Los dispositivos digitales de la actualidad son muy veloces, Los tran- sistores individuales en los circuitos integrados més répidos pueden conmutarse Fenguaje de descripci6n de hardware (HDL) ‘modelo de hardware 5 6 Capitulo 1 Introduccion OURO = PEQUENOS —Unmicrosegundo (j1seg) es igual a 10-* segundos. Un nanasegundo (ns) cyuivale a 10 segundos INTERVALOS yunpicosegundo (ps) represenia 10" segundos. En ef vacio, la luz recorre aproximadamente DETIEMPO una longitud de | pie en un nanosegundo, y una pulgada en 85 picosegundos. Con los transis- ‘ores individuals en los cicuitos integrados mis répidos. en los que la conmutacién o cambio de estado se realiza en menos de 10 picosegundos, el etardo de la velocidad de la luz entre esos transistores lo largo de un chip de silicio de media pulgada cuadrada ha egado a ser tun Factor limitante en el disefio de citcuitos en menos de 10 picosegundos, un dispositive completo y complejo construido a partir de estos transistores puede examinar sus entradas y producir una salida en menos de 2 nanosegundos. Esto significa que un dispositive de esta naturaleza puede producir 500 millones o més resultados por segundo. © Economia. Los circuitos digitales pueden proporcionar mucha funcionalidad en pequefio, Los circuitos que se emplean de manera repetitiva pueden ~integrarse” en un solo “chip” y fabricarse en masa a un costo muy bajo, haciendo posible In fabricacién de productos desechables como son las caleuladoras, relojes igitales y tarjetas musicales de felicitacién, (Usted podria preguntarse, “;aeaso tales cosas son algo bueno?” |No importa!) + Avance seenoldgico constante. Cuando se disefia un sistema digital, casi siempre se sabe que habré una tecnologia més répida, més econdmica o en todo caso una tecnologia superior para éste en poco tiempo, Los disenadores inteligentes pueden adaptar estos avances futuros durante el disefio inicial de un sistema, para arse a la obsolescencia del sistema y para oftecer un valor agregado a los consumidores. Por ejemplo, las computadoras portdtiles a menudo tienen ranuras de expansién para adaptar procesadores mis ripidos o memorias més grandes que las que se encuentran disponibles en el momento de su presentacién en el mercado. De este modo, esto es suficiente para un matiz de mercadotecnia acerea del disefio di- gital. El resto de este capitulo proporcionaré una base un poco més técnica pars prepararlo con miras al resto del libro, 1.3 Dispositivos digitales compuerta Los dispositivos digitales mas elementales se conocen con el nombre de compuertas (del inglés gates, y no, no fueron precisamente bautizadas asf en honor al fundador de cierta compaiiia prominente de software). Las compuertas originalmente deben su nombre @ su capacidad de permitir 0 retardar (como lo haria una “compuerta") el flujo de la info macidn digital. En general, una compuerta tiene una o més entradas y produce una sa que es una funcién del (los) valor(es) de la corriente de entrada. Mientras que lus entra~ das y salidas pueden ser condiciones analégicas como voltaje, corriente, incluso presién hidrdulica, se modelan de modo que tomen solamente dos valores diseretos. ) y 1. La figura 1-1 muestra los simbolos para las tres clases mas importantes de compuer- compuerta AND tas, Una compuerta AND de 2 entradas, como la que muestra la parte (a) de Ja figura, produce una safida de | si sus dos entradas son iguales a |; de otro modo produce wna sali da igual a 0. La figura muestra la misma compuerta cuatro veces, con las cuatro posibles Seccién 1.4 — Aspectos electronicos del disefio digital -le @ ‘D* ) © rY9 ry = Figura 1-1 Dispositives digitales: a) compuerta AND; b) compuerta OR; ¢) compuerta NOT 0 inversor. combinaciones de entrada que pueden aplicarse ala misma y las salidas resultantes. Una com- puerta también se conoce como circaito combinacional debido a que su salida depende solamente de Ia combinacién de li corriente de entrada. Una compuerta OR de 2 entradas, como la que se indica en fa parte (b) de la figura 1-1, produce una salida I si una o més de sus entradas son 1; produce una salida 0 sola- mente si ambas entradas son). Una vez mds, existen cuatro posibles combinaciones de entrada, cuyas salidas resultantes se ilustran en la figura, Una compuerta NOT, mis cominmente conocida como un inversor, produce un valor de salida que esel opuesto al valor de entrada, come se ilustra en la parte (c) de la figura. ‘Afirmamos que estas tres compuertas son las més importantes por una buena ran, Se puede realizar cualquier funcién digital haciendo uso s6lo de estas tres clases. de compuertas. En el capitulo 3 mostraremos c6mo se realizan las compuertas empleando circuitos transistorizados. Sin embargo, usted deberia saber que las compuertas han sido construidas o propuestas utilizando otras tecnologfas, tales como relevadores, tubos de vacio, dispositivos hidraulicos y estructuras moleculares. Un flip-flop (o biestable) es un dispositivo que almacena ya sea un 0 oun 1. El estado de un flip-flop es el valor que almacena actwalmente. El valor almacenado puede modifi- ccarse solamente en ciertos instantes que estén determinados por una entrada de “reloj”, ye! ruevo valor puede depender adicionalmente del estado I6gico de la corriente del flip-flop y sus entradus de “control”. Se puede construir un flip-flop a partir de una coleccién de com- puertas que se conectan en forma inteligente, como lo demostraremos en la seccisn 7.2. Un citcuito digital que contiene flip-flops se conoce como un circuito secuencial, porque su safida en cualquier momento depende no s6lo de su corriente de entrada, sino también de la secuencia anterior de entradas que se han aplicado al mismo. En otras palabras, un circuito secuencial tiene memoria (recuerda) de los eventos pasados 1.4 Aspectos electrénicos del disefio digital Los circuitos digitales no son precisamente una versién binaria de sopa alfabética—con el debido respeto a la figura 1-l—, no tenemos ceros y unos pequefios flotando en tomo a los circuitos. Como veremos en el capitulo 3, los cireuitos digitales mangjan voltajes y corrientes anal6gicos y se fabrican a partir de componentes analigicos. La “abstrac- ‘ci6n digital” permite que el comportamiento analdgico sea ignorado en la mayoria de Jos casos, de manera que los circuitos puedan ser modelados como si en realidad proce- saran ceros y unos circulto combinacional compuerta OR compuerta NOT inversor Hip-flop estado cineuito secuencial 7 8 Capitulo 1 ‘margen de ruido expecificaciones Introduccién angen voiae # Seices de rude —Enradas Figura 1-2 Valores légioos y margenes de ruido. Un aspecto importante de la abstraccién digital es la asociacién de un intervalo de valores analigicos para cada valor 1égico (0.0 1). Como se ilustra en la figura 1-2, no se garantiza que una compuerta tipica tenga un nivel de yoltaje preciso para una salida que corresponde al cero logico, En lugar de ello, puede producir un voltaje dentro de un sub- intervalo del rango en el que se garantiza que va a ser reconocido como un 0 por k demés entradas de las compuertas, La diferencia entre las fronteras del imtervalo se co- noce como el margen de ruido: en un circuito real, la salida de una compuerta puede corromperse debido a este ruido excesivo, de cualquier forma su valor sera interpreta- do correctamente en las entradas de otras compuertas. Este comportamiento es similar para las salidas que corresponden al I légieo. Notese en la figura 1-2 que existe una regién invélida entre los intervalos de entrada para el 0 l6gico y el I 16gico. Aunque cualquier dispositivo digital que funciona a un voltaje y temperatura particulates tendré una frontera (0 umbral) bastante bien definida entre ambos intervalos, otros dispositivos pueden tener diferentes fronteras. Mas alin, todos los dispositivos que funcionan en forma adecuada tienen sus fronteras en algiin lugaren el intervalo “invélido”. Por tanto, cualquier sefial que se encuentre dentro de Jos interva- Jos definidos para 0 y 1, sera interpretada en forma idéntica por diferentes dispositivos. Esta caracteristica es esencial para la reproducibilidad de los resultados. La labor de un disefiador de citcuitos electrénicas consiste en asegurarse que las ‘compuertas légicas produzcan y reconozcan las sefiales I6gicas que se encuentran dentro de los intervalos apropiados. Este es un problema de disefto de circuitos analégicos: abordaremos algunos de sus aspeeios en el capftulo 3. No es posible diseflar un circuito que tengael comportamiento deseado bajo cualquier condicién de voltaje de alimentacién, temperatura, carga y otros factores. En su lugar, el diseftador del circuito electrénico 0 fabricante del dispositive proporciona especificaciones que definen las condiciones bajo as cuales se garantiza el comportamiento adecuado del dispositivo. Por consiguiente, un disefiador digital no necesita hurgar en detalle en el compor- tamiento analdgico de un dispositivo digital para verificar que funcione correctamente, En vez de ello, solamente necesita examinar e] ambiente de operacidn del dispositive para determinar que esté funcionando dentro de sus especificaciones. En efecto, se necesita cierto conocimiento analdgico para realizar este examen, pero ni ain exagerando se compara con lo que necesitarfa saber para disefiar un dispositive digital partiendo desde cero. En el cupitulo 3 daremos justamente lo que usted necesita. Seccién 1.5 Aspectos de software del disefio digital Figura 1-3 Una plantilla de disefio. légico. 1.5 Aspectos de software del disefio digital Eldisefio digital tradicional no necesita involucrara ninguna de las herramientas de soft- ware, Por ejemplo, la figura 1-3 muestra Ia herramienta principal de la “vieja escuela” del disefio digital: una plantlla de plastico que se utiliza para dibujar simbolos légicos cen diagramas esqueméticos hechos a mano (el nombre del disefiador se grababa en la plantilla con la punta de un cautin). ‘Sin embargo, en la actualidad, las herramientas de software son una parte esencial del diseiio digital. En efecto, la disponibilidad y Ia factibilidad de los lenguajes de des- cripcién de hardware (HDL, por sus siglas en inglés) y las herramientas de sintesis y simulacién de circuitos que los acompaitan han cambiado todo el panorama de! diseito digital durante estos tltimos afios. Haremos un uso abundante de los lenguajes de des- cripeién de hardware (HDL) a lo largo de este libro. Enel disefto asistido por computadora (CAD. por sus siglas en inglés) varias berra- ‘mientas de software mejoran Ia productividad del disefiador y le ayudan a perfeccionar la exactitud y calidad de los diseiios. En un mundo competitivo, el uso de herramientas de software es obligatorio para obtener resultados de alta calidad en programas de tra- bajo agresivos. A comtinuacién se enumeran ejemplos importantes de herramientas de software para el diseiio digital: © Capura del diagrama esquemedtico. Para el discfiador digital, éste es e! equiva- lente de un procesador de texto, Permite dibujar los diagramas esquematicos “en linea”, en lugar de hacerlo con papel y lépiz. Los programas de captura de diagra- mas esquematicos més avanzados también verifican errores comunes, ficiles de localizar, como son: salidas en corto, sefales que no van a ninguna parte, y ast sucesiva- mente, Tales programas se discutirin con mayor detalle en la seecién 11.1.2, + HDL. Los lenguajes de descripci6n de hardware, originalmente fueron desarrollados para modelar circuitos, en la actualidad se utilizan cada vez mas para el disevio de hardware. También se pueden utilizar para disefiar cualquier cosa, desde médulos de funciones individuales hasta grandes sistemas digitales con mihiples microcir- Ccuitos o chips. Presentaremos dos lenguajes de descripciGn de hardware ABEL y VHDL, al final del capitulo 4, y proporcionaremos ejemplos en ambos lenguajes tn los siguientes capitulos. + Herramientas de sintesis, simutadores y compiladores HDL. Un paguete tipico de programas (software) HDL contiene varios componentes. En un ambiente tipico, el diseho asistide por ‘campuiadora (CAD) 9 10 Capitulo 1 Introduccién disefiador escribe un “programa” basado en texto, y el compilador HDL analiza el programa en busca de errores de sintaxis. Si se compila comectamente, el disefiador tiene la opcidn de entregario a una herramienta de sfntesis que crea un disefio de cir- cuito comespondiente enfocado a una tecnologia de hardware en particular. Con mas frecuencia, antes de la sintesis,e] disefador usard los resultados de! compilador como Ja entrada de un “simulador” para verificar el comportamiento del disetio. Simuladores. E} ciclo de disefto para un circuito integrado digital (que proviene de una oblea de silicio) es largo y costoso, Una vez que se ha construido el primer cir- ccuito integrado es muy dificil, sino imposible, depurarlo mediante la realizacidn de pruebas en sus conexiones internas (Estas son realmente.) © modificar las compuerias ¢ interconexiones, Por lo regular, los cambios deben hacerse en la base de datos del disofo original, y por lo tanto, se debe fabricar un nuevo citcuito integra- do 0 “chip” para incorporar las modificaciones necesarias. Puesto que este proceso puede durar meses, los disefladores de circuitos integrados estin sumamente moti- vados para “hacerlo comectamente” (0 casi comrectamente) al primer intento. Los simuladores ayudan a los disefiadores a predecir el comportamiento eléetrico y fun- ional de un chip, sin ener que construirlo en realidad, no reconociendo asi la mayor parte, si no es que todos los errores, antes de iniciar la fabricacién del circuito. Los simuladores tambien se utilizan en el diseflo de “dispositivos de I6gica pro- gramable”, que estudiaremos mas adelante, y en el diseiio total de sistemas que incorporan muchos componentes individuales. Estos Gltimos son menos criticos porque es més féicil para el disefiador efectuar cambios en los componentes ¢ inter- conexiones de una tarjeta de circuito impreso. Sin embargo, aun un poco de simulacién puede ahorrar tiempo al detectar errores simples pero estipidos, Bancos de prueba. Los diseftadores digitales han aprendido eémo formalizar la prue- ba y simulacién de circuitos en ambientes de software denominadas “bancos de pruebas”. La idea consiste en construir un conjunto de programas en torno a un disenio, para ejercitar de manera automiitica sus funciones y verificar su desempeiio y el mancjo de las scfiales en el tiempo. Esto es especialmente titil cuando se reali- zan cambios pequefios en el disefio: el banco de pruebas puede utilizarse para asegurar que las correcciones de los errores o “mejoras™ que se aplican en un drea no arruinen alguna otra. Los programas de los bancos de pruebas pueden escribirse en el mismo lenguaje de descripeidn de hardware que utiliza e! disefio, en Co en C++, 0 en una combinacién de lenguajes incluyendo lenguajes de “scripts” como PERL. Verificadores y analizadores de temporizacién. La dimensién de tiempo es muy importante en el diseio digital, Todos los circuitos digitales necesitan tiempo para producir un nuevo valor de salida en respuesta a un cambio en la entrada, y gran parte del esfuuerzo del disefiador se emplea para asegurar que tales cambios en la salida sucedan con la rapidez suficiente (0, en algunos easos, no demasiado ripi- do). Los programas especializados pueden automatizar las tediosas tareas de dibujar diagramas de tiempo, especificar y verificar las relaciones de tiempo en- tre las diferentes sefiales que maneja un sistema complejo. Procesadores de palabras. No olvidemnos el humilde editor de texto y el procesador de palabras, Estas herramientas obviamente son titiles en la creacién del cédigo fuente para los disefios basados en HDL, pero tienen una aplicacién importante en todo diseifo. ila ereacién de documentacisn! DISPosinIVos DE LOGICA PROGRAMABLE VERSUS SIMULACION Seccién 1.5 Aspectos de software del disefio digital 11 En las siguientes secciones de este libro, usted encontraré que el uso de dispositivos de Iégica programable (PLD) y arreglos de compuertas programable in situ (FPGA) le permitirén disefar un circuito o subsistema al escribir cierta clase de programa. Los dispositivos PLD y FPGA que estén disponibles en la actualidad contienen varios millones de compuertas, y las capacidedes de estas tecnologtas siguen creciendo. Si un diseflo basacio en FPGA 0 PLD no trabaja en la forma adecuiada la primera vee, usted puede optar por realizar cambios en el pro- grama y reprogramar fisicamente el dispositive, sin tener que cambiar algtn componente 0 interconexi6n a nivel sistema. La facilidad de experimentacidn y modificacién que tienen los, dispositivos PLD y FPGA puede eliminar la necesicad de realizar simulaciones a nivel disefio de tarjeta; la simulacin se requiere solamente en Jos disefios a nivel chip. ‘La visi6n que goza de mayor aceptacién en las tendencias de la industria indica que con- forme avanza la tecnologia de fabricacién de los chips, el disefio a nivel chip aumenta cada ‘vez mids, no asi el disefio a nivel tarjete, Por lo tanto, la capacidad para realizar una simulacion ‘completa y exacta adquiere una mayor importancia para el disefiador digital tipico, ‘Sin embargo, existe otra visién. Si extrapolamos las tendencias en las capacidades de los dispositives PLD y FPGA, en la préxima década scremos testigos del nacimiento de dispositivos que incluirén, ademas de compucrtas flip-flops y bloques de construccién, Fun ciones de alto nivel como en el caso de los microprocesadores, memorias y controladores de centrada/salida. En este punto, la mayorfa de los discfiadores digitales utilizarén componentes, interconexiones complejas que estarén integradas en Los chips, cuyas funciones basicas ‘habrdn sido verificadas previamente por el fabricante de los dispositivos. En esta visién del fituro, es posible que ciettas funciones programables de alto nivel no fen correctamente, pero también la posiblidad de arreglar los errores realizan- do un cambio sencillo en el programa; la simulacicn detallada del diseno antes de realizar el rototipo send una pérdida de tiempo. Otra visién compatible indica que los dispasitivos PLD. FPGA serdn simplemente un simblador de alta velocidad para el programa, jy este simulador $erd lo gue se incluird en el producto! Acaso esta-visiOn extrema tiene alglina Validez? Para encontrar la respuesta, formilese Ja siguiente pregunta: ¢Conoce algtin programador (o programadores) de software que pueda depurar un programa nuevo con el simple hecho de “simular” su operaciGn corriendo el programa? En cullquier easo, los sistemas digitales modemos son bastante eomplejos como para permitir que ef diseador marque todas las condiciones posibles de entrada, con 6 sin la ayuda de las técnicas de simulacién, Como sucede en el software, la operacién adecuada de Jos sistemas digitales se logra aplicando pricticas que aseguren que los sistemas provienen de un “disefio sin errores”. El propésito de esta obra es lograr este objetivo.

You might also like