dise o digital john f. wakerly

Download Dise o Digital John F. Wakerly

If you can't read please download the document

Upload: morgan-hill

Post on 08-Aug-2015

348 views

Category:

Documents


25 download

TRANSCRIPT

y

..

'

.

,

-

'~

CONTENIDO

P R! OGO

xixxxi

P REFAC IO1

INTAODUCCIN1.1

1

1.21.3

Acerca del disei'lo digital 1 Analgico contra Digital 3 Dispositivos digitales 6

151.9 Tarjeta de circuito impreso 18 1.10 Niveles del diseno digital 19 1.1 1 El objetivo del jUegO 22 1.12 Un paso adelante 23 Problemas propuestos 24

,

2

SISTEMAS Y CDIGOS NUMRICOS 25 2.1 Sistemas numliCos POSlclonales 262.2 2.32.4

2.5

Nmeros octales y hexadecimales 27 Conversiones generales de sistema numrico posicional Suma y resta de "umeros no decimales 32 Representacin de numeros negativos 34 2.5.1 Rtpresl!nlocifJn de magnitud COI! sigIlO 1.5.2 SisttnrtLJ numiricos tk complemento 2.53 ReprtstnJacidn de eotnplemenJo t baM 2.5.4 Represt!mocidt1 de compltmtnlo (.1 dw 2.5.5 Represt nladll de complt me"'o de base rtduc~ 2.5.6 Reprtumocidn lk compltmenlO Q UtIOS

29

2.5.7 RtprtunJocj(mu por au:w

vii

viii

Contenido2.6

Suma y resta de complemento a dos 2.6./ Rrglm d~ IiHuma 2.6.2 Unu l'isidn grficaZ 6 1 Des/,ordumi,vw

39

2.6.4 Rr81llSdehJ uSla 2.65 N,imeros binorios sin signo)' complemt nto a dos 2.7 Suma y resta de complemento a uno 44 2.8 Mu1tiplicaci6n binaria 45 2,9 Divisin binada 47 2.10 Cdigos binarios para nmeros decimales 482.11 Cdigo Gray 51 2.12 Cdigos de carcter 53 2,13 Cdigos para acciones, condiciof'les y estados 2.14 Cubos n y distancia 57

53

2.15.5 C6digas bidim~IISj(Hul/i!s 1,15,6 C6digos de suma de \'eri(icucilJ,1

2,H ,7 CddigoJ mdt n2,16 Cdipos para el almacenamiento y la transmisin de datos en serie 69

2, 16,1 Datos en paraldo;y ell serie 2.16.2 Cdigos d~ f(lIta ell serieReferendas 73

Problemas propueslos Ejercicios 76

74

3

CIRCUITOS DIGITAl ES 79 3, I Compuertas y sel'lales lgicas3,2 3,3

80

Familias lgicas 84 lgica eMOS 86 J 3,f Ni\'efes Mg icoJ CMOS JJ.2 Tron S;WlCtf MaS 3.u O rruiro dd /n)',.,w bdl;CO a,1OS

3.4

33,4 Compuertas CMOS NANO ;y NOR 33.5 Cargabilidad d~ tlllrUikI 33,6 ComPUtrlm no im'ersort1s 33,7 Compuertas CMOS AN O-QR-INVERSOBA Comportamien to elctrico de los circuitos CMOSJ 4 , 1 Rr w men

y

OA-ANO-INVERSORA 96

3,5

304.2 Hojru de datos y ~spedjictJdonu Comportamiento elctrico de estado estable de los dispositivos CMOS 3.5./ Ni\,tles fdgicos "urgelles de ruido 3.5.2 Componamiento del tire/lllO COII cargas resisri\'lIS

,t

99

Contenido

IX

J.5J Comportan/i,mlo del e/Tcullo con tnlradas no idealtsl S, 3.5.5 1.5.6 1.5.7 3.5.8 E DI" a" E{tos dI! la rnrxo Entradas qut /10 SI! u/ilimn Picos (ltI rorrit llte y c(J(.acitnrt's dl! tlI!Mct>plllnlirll/o Clima dtstruir 1111 di.J{JOsitil'O CMOS

3.6

Comportamiento elctrico dinmico de los dispositivos eMOS 3.6./ Tit mpu de transiridn J.6.2 Nm lrdo 1 proptl 8 11cr U:1.63 Ct.ln.fun/n de I!nI"g tl

113

3.7

Otras estructuras eMOS de entrada V salidaJ.7./ CumputrtllS dI! trwlSmisitl 1. 7.2 Enlrudat de un di.r{Kmwr" Schm;tt3,7J Sa/idw de fUusuu/os

123

3.7.4 SulidlU dI/! drr.nu jt' al!i(!rIo "1 7 5 GlI!lml de 1 El) 3.7.6 BlIsts dI! fut ntl! nl/Ufipl/!3.7.7 LdSica afambnum

3.6

3.7.8 Rt sislores tk arranque Familias lgicas eMOS 135 J.8./ IIC ,' UCT 3.8.2 VHC \' VHcr

3.8.3 CarDe/tris/ieas ,.fricas dI!. He. HeT. VHC \' VHcr 3.8.4 FCT \'FCT-T

3.9

Lgica bipolar'91 Diados

145

bipo/a"s de ""i&l 'n-ersor e" Mgim de /ransist(Jr TramistoreJ ScllOflb 3.10 Lgica transistor-transistor 156 1./0./ CtJtllpllerta NANO rn bdsicaTtwIS/S/(Jff!S

1.9.2 1.9.1 1.9.4 3.9.5

J.gicQ de djooo.r

3./0.1 Nil't1eJ /gicm \' mrgl'neJ de ruiJoJ 10 J EnI! a ul

.1. /0.4 Enmulqr sin urW;ur 3./0.5 Tipos luliciorul/es de comp uertas 1TL311

Familias ro

1 66

I 11 , EamWar 1T1. inicjqle s

1.//.2 Familias 171. Schotlh3. // J Caraner/iclu lit /llS {wnililJj 7T1.

3.11 .4 Unalw ja deoowJ 7TL3 12 Interfaz CMOSlUI 170

3.13 lgica eMOS de bajo voltaje e interfaz 3.13./ lAg irn LveMOS l' I.VlTL de JJ v 3 1.12 FnlmtflH w/uamer a ~ V 1 I i , SOlidos w/uanle' (! 5 Y

171

)(

Contenido

J. lJA Re.flllllt'fl de ;nter[(Jt..es1TULV/TL J ./J.5 Lgica de 2.5 V y de/.8 V3.14 Lgicadeemlsoracop!adoI 14 IJ /4 1

t75

Circuim Mljro CMI

I /4 2 Erunilj", ECI IOIWOf./

Fam ilia FCJ /OOK J./4,4 ECLposilim(PECLRefpreocias 16.3

Problemas propuestos Ejercicios 188

184

4

PRINC IPIOS p E D ISEO LGICO-COMBINACIONAl4.1 lgebra de coomutacl6n ;1 1 1 Ariqma s4 I Z TMrelllar deUIW

193

194

rolo

rariahle

;1

I 4 TIY!rnrvu ' le n I'llriahlet

4 I 5 V/mUdad

4./.6 Repusentociones estdndar de fllnciones lgicos42 4,3Anlisis de ci rcu itos combjnaciona les

Slnlesls de ,Irmi' os rombjM cjona le s 4J, / Di.ft'IS y descripciones de circuito4 .1,2 Mmrip ufad(Hle.fd~

209 2 1S

rcllilo

4,4

4.5

4,6

433 Mt jmjwc:in dd circllj/(l romhjoudooul 43.4 Mapas de Kartlaugh 4J,5 Minimiacin d~ s/unas o productos 4J,6 Simplificacin de productos de sumas 43.7 Combi/U/CiQtles de entmda "sin 1"l{Jorlancia" 43.8 Minlm;::J/Cin de salida m/tiple Mtodos de minimizacin programados 236 4,4./ RepreJentacin de /irmloos de producto 4.4.2 Cd/cuw de implican/ts primos mediante fa combinacidn dt tirminos de pmducro 4.4J Enronlr(urdo lllta cubierro mnimo empltondo 'lira tabla de implican/es prrmos 4,4,4 Otrm mitodm de miltimiwcitm Riesgos en el tiempo 244 4.5./ Riesgos tJuiJicos 4.5.2 HuI/tullID riesgos estdticru medimrtt e/ uso di' mapaf 4jJ Riesgf.ls dilldmicos 4.5.4 DiHIi> rk ci' rniws libry d( riwms Ellenguale de descripc!6n de hardware ABEL 249 4.6.1 Estrr/Cluro del programo ABEL 4.6.2 Fundol!wlIienlQ dd COlll pi/ad()(' de MJEL 4,6.1 /1IStrllccio,,~s WHEN ... b(ogu~s d~ /laciO/res464 Tabla r de rt'rtlml

Conlenido

xi

4.65 Jnt~n-alos. conjuntos y relaci01lu 4.6.6 Entrado s sin impononcia 4.6.7 Vn:torude pruebo4.7El lenguaje de descripcin de hardware VHOl 4.7. / Flujo de duo 264

4.7.2 Estructura de programo 4.73 Tipos y constant~s 4 .7.4 Funcionu yproadimi~lIIos 4.7.5 BibliOlua \1 paqUf!I~S 4 7 6 E/rnvnlQS tk di Vifa wcucwral 4.7.7 Elemenlos de diseo de Pujo de dolOS 4.7.8 Elementos d~ dis~flo basado en el comportami~lIIo 4.7.9 w dimf!lUidrt tiempo )' simulacldn 4. Z IO Sfnl($jsAelerancjas 298

Problemas propuestos Ejercicios 3045

30 1

PRCTICAS DE DISEO l GICO COMBINACIONAL

311

5,1

Eslndales de dng uoentaci6n

312

5.1./ 5.1.2 5.1.3 5.1.4 5./ .5 5./.6

Diagramas de bloquu Smboltu eh lar compUf!rtas Nombruih seMI )' nlve/n acril'OS Ni~'eles octil'OS para ttnnillO{es Diseo eh IgiCD burbuja burbuja Rtpresemocidrt de la ubicacin de lo.r componenus

,. I 7 BU It'I

5.2

5.3

5.1.8 In!ormocirl adiclOtUJi del dwgrama esquf!mtico Temporizacin del circuilo 330 5.2.1 Diagramas de lemporiUlCidll 5.2.2 Rf!fardo eh proposocidll 5.23 EsfNCifjcacianes de lemporizacidn 5.2.4 AndlisiJ d~ t~mporitdn 5.2.5 Herramif!ntas para andlisis de lemporizaddn p lO combjnacionales 337 53./ Nr~glos de lgica programable 53.2 Dls{!(J$itil'Os ldgicos de tJrTegfo programubf~

54

53.6 PrUf!ba yprosramacwn del dispositivo Decod jflCadores 351 5.4.1 Df!codi!icadoU$ binarios

5.4.4 El duodificadar de J a 8 74xIJ8

)(ii

Contenido

5.4.5 Decodificadores binarios en cwcuda 5.4.6 Decodi!icadtJres en ABEL yen /os PW 5.4.7 Decodificadores en VHDL 5.4.8 Decodificadores de siele sl!gnrl!nlos S S Codificadores 376 5.5.1 Codi{ir:adorfls dI! pr;oritllul 5.5.2 El codificador de prioridad 74xl48 5.5.3 Codificadores en ABEL \' PW 5.5.4 C(Jdi!icadorl!.f en VHDL 5.6 Dispositivos de tres estados 385 5.6.1 Bufk n dI! un eSlados 5.6. 2 Bufftn de ,,~s estados SSI )' MSI u/ndor 5.6.3 Salidas de tres e!J/ados en ABEI. y PLD 5 64 Solida. el,. rus l'lWdm e " YHf)f 5 .7 Multip!e)(ores 398 5.7.1 Mul/iplaorfls MSI e!J/tindar 5.7.2 ExpanslII de mlll/irlexores 5.7J Mllltip/t.tores. demultiplexores y bllses 5.7.4 Multiplexores en ABEL r PW 5.7.5 Mul/ip/aores en VHDL 5.8 Compuertas CR EKclusivas y circuitos de paridad 410 5.8. / CompuerlDS O R Exclusil'tl$" NOR bclusi",s 5.8.2 Circuitos de paridad 5.8.3 El generador de /KIridad de 9 hiu 74x280 5.8.4 Aplicaciones de l'tr;{icocifl de paridad 5.85 Compuertas OR Exclusil'u y circu;/O!I de paridad en ABEL l ' PW 5.8.6 CompuutlU OR clusil'O l ' circui/Os de paridad eu VHDL 5,9 Comparadores 419 5.9. / Es"u, /ur" del comparador 5 9 2 Circuitos ittmtjm. 5.9.3 Un circuito comptITador i/eran'l'O 5.9.4 Co/'nparadore!J MSI es/drular 5.95 Comparadores en ABEL y PW 5.9.6 Comparadores en VHDL 5,10 Sumadores, restadores y ALU 430 5. /0,1 Medio sunrodorrs y JUmodort's comple/oJ 5.10.2 SUModmn i/erocl;''OJ ("ell riw" ) 5./0.3 Sustrae/ores (restadores) 5 IQ4 Sumado,,! de ocorrt!o ollticieaJo5 10 5 S'!!wadauf M5I

5./0.6 5. /0.7 5.10.8 5,/0,9

Ut!idadt s /~ico-ori'mhicas MS/ /'ALU) Acor"o de grJj{JO anticipado SunUJl!ore!JenABEL y PW Sc/wwlQwen VHDI,

Contenido 5. t 1 Multiplicadores oombinadonales 446 5.//. 1 Estruclllras de multiplicador combinacional 5.//.2 Mu/tipliccu:i6n m AREL r PW

xiii

Problemas Pfopoestos Ejercicios 459

456

6

EJEMPLOS DE DISEO DE CIRCUITOS COMBINACIONALES 6.1 Ejemplos de diseno de bloques de construcci6n 468 6.1./ IJ plauulor rdpida (Harrd shi/ferJ 6.1 .2 Codificador de punto fllJ/(lIIJe .fimple 6./ J Codificador de prioridad dl/ut 6.1.4 Comporadores ell cascadu

467

6.2.1 6.2.2 6.2.3 6.2.4 6.2.5

Isplowdar rdpidoCodificador de pUI/IOflotallle simple Codificador de prioritkJd dI/al

Com{J(lradores el/ C lHCtltla Co",porador dept'lIdiente dt'1modoUllo r

626 Conwdor dI'

6.3

6.2.7 Juego de "Tre.-ell ra>~" o "Ga/o" Ejemplos de diseno utilizando VHOL 500

6.1.1 OtJplowlor rripido6.1.2 Codi{irndur rk pwll/o ROlan/e .fim" le (j.1J Cod!JIcador de prioridad l/l/uf 6.3.4 Contpartldurf!s con uucaJq 6.1.5 Comparador dt'{)e"dientt' del mudo6 16 wtodor dI' uno.

6.3.7 Jucgo de "Tres Cl! r(n"(l" o "GIIIO" Ejercicios 527

7

PRINCIPIOS DE DISEO LGICO SECUENCJAI.7 1 E lementos bjestables 531

529

7.1.1 A,n/isisdisi/(J/

7.2

7./.2 Andlisis anal6gir{j 7.1.3 ComportantitmlO 1IIt'llIcstahlt' latchs Y flip-nops 53472 I l ovh S . R 722 l au-b 'i.R

n .f724

{Qlcb

S. R CM hab ililacid"

{ a /e h D

7.2.5 FUp.pop D disparado por P l/IlCO 7.2.6 F/ip-jlop D disparado por flullco ClHI habi/iU/ci6n 7.2.7 Flip-f1op rk erploracin

xiv

Contenido7.2.8 Flip-flop S-R ma~stro/~u:Ia\'O 7.2.9 FIi" flo,, JK ma~stro/~scla~'O 7.2.10 Flip{1op JK disparaM por flanco 7.2.11 Flip-Flop T Anlisis de una mquina de estado sincrnica temporizada 7.3.1 Estructllra d~ la mdqllirlll dt! estado 7.3.2 Ugica d~ mlida7 1. 1 ECUQcitm c cacactuluimr

7.3

550

7.4

7.5 7.6

7.7

7.87,9

7.3.4 Andfisis d~ m4guinas dt! ~stado con flip-flops D 7.3.5 Andlisis d~ mquinas de ~stado con {lip1lops J-K Plsal\o de mquina de estado sincrnica temporizada 563 7.4.1 Ekmplo de diseo d~ tabla de ~stado Z4.2 M jnjmjmd& de atado 7.43 Asignacin d~ ~stado 7.4.4 Sfntesis utilitflndo flipflops D 7.4.5 Sntesis utilis,ando mp17om JK 7.4.6 Mds efrmplos de disw qu~ utiliumflip-flops D Pisel\o de mquinas de estado que utilizan diagramas de estado Sintesis de una mquina de estado que utiliza Ustas de transicin 76 1 fC!!arionn de lmn dcidn 7.6.2 Ecuaciones de e.xc;tDCn 7.6.3 Variacion~s sobu el uq/lema 7.6.4 Rtaliwcit1n d~ la mdquina d~ ~stado Otro ejemplo de diseno de mquina de estado 594 7.7.1 Eljuego d~ fas adivinanzas 7.7.2 Estados sin utiliwr 7. 7.1 AJignodll de estado codijiulo por ro/ido 7.7.4 CodificadoMs de ~stado "sin importancw" Descomposicin de las mquinas de estado 602Cjrqthos secueociales de retroa limentacin7 9 I And/itir

584 591

604

7.9.2 Anlisis de circuitos con farol de ~troalimentaci6n mltiple 7.9.1 Carr~ras 7.9.4 Tablas d~ estado y tablas th flujo 7.9.5 Anlisis d~fljp-f1op D CMOS 7.10 Diseno de tire! lito sen leoda! de retroalimentacin 615Z lO I I " r i .

7,/0.2 DiJ~rio de rabia th {lujo de modo {u~ntal 7./0.3 M 'nimi~acidn de la rabIa d~ flu jo 7./0.4 AsigllOci6n de estado Iib~ dI! carreros 7 10 5 EcuadoQt< de erdUlcjn 7./0.6 Riesflos tstndol~s7 /O Z ReJUWi'n 7 11 Carac!erfstiC..aS de disefm de ci rmito secllencial AREL

627

7.11.1 Salidmugistradar 7.11.2 Diagramas de ~stodo

Contenido7.//3 Memon'a de estado externa 7.// .4 Especificaci6n de salidas de Moore 7.1 J.5 Especi/irocif/ de !lalidas MM/" \' CWJaIi;adm con WITH 7./1.6 Vectores de prueba7 ' 2 Csrsderlsticas de disal'lo de cirQjtn sAQ taros! VHO!7.12.1 Circuitos StTUaldol" tk rdmolimenwdCJ 7. 12.2 Circuitos lemporiwdos Referencias 6 44

xv

64'

Problemas propuestos Elercicios 650

646

8

PRCTICAS p E P ISEO LGICO SECIIENCIAI

659660

8. 1

Estfmdares de doc"mentacin de cirCtljlos secuenciales

8. 1. 1 R'9/,,,imitnIOS 8tn"o{es

8./.2 Smbolos lgicos8. / J lHscripcioMs de m4guina de estcuJo 8./.4 Espi{icuciOfl('s r diagramas de tiempo Latchs y flip-flops 686 8.2. / LmcJu yfl;p'/Iops SSI 8.2.2 Inhibicin del rebote de un inrerTuptor 8 .23 El inhibidor di! uooti! para el inrerruplor nu simple

8.2

8.3

a ccvilo "'''reclo, ck bu s 8.2.5 Regis/ros y la/C de biu ml/iples M 8.2.6 Registros y larchs en ABEL y PW 8.2.7 Regis/ros y lo/clts en VHDL PlD secuenciales 681 8J./ PLD secuenciales bipolares 83.2 Disposiril'Os GltLstCuenciales 8JJ Es~cific(JCiontJ de lemporililCin del PLD824

84

Contadores

693

84 1 Cmrradq ... s iremll''

8.4J COll/adores MSI y aplicaciones8.4.4 lJt'codi/icacin de estados de canlador binario 8.4.5 ConltWores en ABEL y VHDL 8.4.6 Conladcrts en VHDL Registros de corrimiento 712 8.5./ Estructura del registro de corrimiento

8.5

8.5.2 Registros de corrimiento MSI 8.53 La meu grande (plicacin di! ugistro dI! corrimiento del nr!lm/o 8.5.4 Crml't'rsin serie/paralelo 8.5.5 Contadores t! registra de corrimiento 8 56 Conwlnr en aamo8 5 7 Conroclout Iohnron

xvi

Contenido

86

8.5.8 Con/(Illores (fe regis/ro de corrimiento ron re/r(){llimentadn finerll 85.9 Regis/ros de corrimiento en AREL)' PW 85. 10 Regu lros de corrimiento 1'11 VHDL Circuitos iterativos contra secuenciales 747MetodoloQla de dIseno sIncrniCo

8 .7

750

8,Z 2 UII l'il'mplo al' dijl'ilO df: sisli'nw sincrnico

8 ,8

Impedimentos para el diseno sincrnico

757

8.8.J ~SKO tle reloj 8.8.2 Di,ffH,ro dd reloj 8.83 En/mdtlS as{ncrolll/S 8,9 Falla'del sincronizador y melaeslabilidad 764 8.9.1 Falla de J'incrolli:.ador 8.9,2 Tiem{NI de re.m/llcio" de la meille.fwlJilidlJ/1 8.9.3 Di.feta de si/JCmni;adar Clm/iable 8.9.4 Arnflisis de la temporizacldn mewestable 8.95 Mejoft!s sincron;lJulores 8.9,6 O/ros tseios de sincronizodor 8.9.7 Flip-flops meltlestables endurecidos 8.9.8 SinCTOIJZ/lcin de trtlllSferencias de datos de alw ~'t!focidud Referencias 784 Problemas propuestos 786 Ejercicios 788

9

E.JEMPLOS DE DISEO DE CIRCUITOS SECUENCIALES9.1 Ejemplos de diseflo gue utilizan ABEl y PLD 796

795

9.1.1 Tempori:cidtl venctlpsulamiento de mdquina! de estat/l) Jxl$lJdas en PW 9./.2 Varias mdquifU'l.f simpft's 91 1 1m h,crf IrO'WWS del tOrd Thlludrrbird 9.1.4 El llego de ftu tldilinanZILf 9.15 Reinl't'ncidn de los cOII/roladores de se1luiforos9.2 Ejemplos de diseno que utilizan VHOl 813

9.2.J Eftmpfos tle l '(lr js mdqllinas simplu 9.2.2 uu I/lces trascms del Thmulubird 9.23 El juego de las tldMlltII/jJlS 9.2.4 Rei/JI'encin lle lo.f cO/limladort5 de .nmui{oro.f10 MEMO RIAS DISp OSITIVO S CPlD1Q 1

y Ep GA

63 1

Memoria de Slo lect!J(a

632

10.1.1 Uso lle tU memorias ROM Xlm (unciones lgicas combinaciollales10 I , F m ucw w me w a de la ROM

10. 1J /0.1.4 /0.1.5 /0./ .6

DecodificaciII bidime,uiOlull Till(ls C Onu'rciaks de ROM TenrJl(lrizacidn)' en/mdlu de control de ROM Aplicaciollu de ROM

Contenido10.2 Memoria de lectura/escritura 854 10.3 RAM esttica 854 /03 ./ Entradar y salitUll dI' la RAM estdtica /0.3.2 Estructura interna de la RAM estdtica 10.3.3 Temporiwci6n de RAM estdtica 103.4 RAM estdticas estdnthJr 10.3.5 SRA.", sincr6r1ico 10.4 RAM dinmica 866 10.4./ Es/ructura de tI/lO memoria dinmica tipo RAM 10.4.2 Tempon'wcin de la RAM dinmica /0. 4.3 ORA", sincr6r1icas 10.5 Dispositivos lgicos programables complejos 872 /0.5./ La /amilio CPW XC9500 de XilillX /0.5.1 Arquitectura de bloque defuncitJn /0.5.3 Arqui/ectllTU de bloque de entrada/salida /0.5.4 Matriz de conmutacil1 10.6 Arreglos de compuertas programable por campo 882 /0.6./ Lolulllilia FPGA XC4000de XililtX /0.6.2 Bloque de lg ica configurable /0.63 Bloque de entradnJsalida /0.6.4 /nteTCOlled6n programable Ejercicios 892 11 TEMAS ADICIONALES DEL MUNDO REAL

xvii

895

11.1 Herramientas de disel\o asistido por computadora 895 J1././ nguojes (le descripcin de hardware 1/ ./.2 Captura de diagramas esqUi!mticos //.1 3 Especificaciones y diagrwnas di! tt!mporiwcidn // ./.4 Anlisis y simulacin di!1 circuito 11 ./ .5 Asignodn de componentes i!n la tarftta di! circuito impuso 11.2 Diseno para pruebas 902 // .2.1 Prllebas //.1.2 Dispositil'OS de PT/U:/xJ y equipos de prueba i!n el circuito //.23 Mltodru de uploracin 11.3 Estimacin de la confiabilidad del sistema digital 908/IJ.lllJdicedefal/os

11.1.1 ConfiabiUdad y tii!mpo medio entri! jolla.s / 133 Confiabilidod M I sistelTlO 11.4 LIneas de transmisin. rellexiones y terminaciones 912 11.4./ Ttor(o bdsica de la J(nea de Ircmsmisidn 1/.4.2 Inltrconuiones de si!flal lgica como lineas di! transmisin 11.4.3 Terminacio~s de seallgica Referencias 920[N DICE

923

PRLOGO

La Ley de Moorc, que establece que la tecnologia de los semiconductores avanza de manera exponencial, ha mantenido su validez por mAs de tres dcadas. Los expertos predicen que seguir asl durante otro decenio. Cuando se introdujeron por primera vez los circuitos integrados. los paquetes lgicos contenan una docena o una cantidad similar de transistores. En la actualidad, debido a incrementos exponenciales en la densidad de los circuitos, los chi ps de microprocesadores han rebasado la barrera de los lOmillones de transistores. En menos de otra dcada alcanzarn los 100 mi llones de transistores por chip. Para seguir el ritmo de la Ley de Moorc, las tcnicas de diseo han cambiado

drsticamente. Hubo una poca en la que los circuitos lgicos fabricados a mano fucron la norma. En la actualidad los diseadores desarrollan los circ uitos a partir de descripciones de allo nivel. Las conexiones hacia las tarjetas de circuito impreso se realizan en el interior de los chips. Con la lgica programable. las funciones lgicas y las conexiones en el chip pueden actualizarse denU'O del ambiente del usuario. Cmo mantener al comente la educacin con la Ley de Moore? Qu podemos hacer para pennitir quc los estudiantes pl1l.ctiquen hoy sus habilidades y las adapten manana a las nucvas genel1l.ciones de dispositivos? ste es el reto que enfrent John Wakerly cuando inici este tl1l.baj'J. Su enfoque es polifactico. Se basa en los principios fundamen tales del diseflo digital que no sc modifican con la tecnologa, como son la lgica combinacional, la lgica secuencial y l n.~ mq uinas de estado. El autor une estreehamenle estos principios con herramientas y I/' .,. P'W-'''''' . _ 1*11 _ coII.orrnII " o - 1. de moda QUt dIIlemoI P'... tar de I'UIMI.El ",""lamO ........ b.... c:t. .... ~ petlIiII9a'. "" I~ . . Kif.

Fi gur a 2-2Ejemplos de restas decimales y sus COITespondientes restas binarias.

\ 00 .. 0 \1 (1M !lb f'i oocMo ......

. 11.. ~)

m",",,"""

X

229

1

1

Xy

210

110110 lo01 1 01101 01100101

o 10 10

O 1 10 010

sustraendodiferencia

rX_ r

- 46183

-

O O1 O 1 1 O

O1

- 109101

X- y

34

Capitulo 2 Sistemas y cdigos numricos

suma 1r~.mdt!Cimal

y convertirlos de vuelta aira vez. Por otro lado. si debe realizar clculos en fonnalO bina rio. ocul o hexadecimal con bastante frecuencia. entonces deberla pedirle a Sanla Claus una calculadora hexadecimal para programadores de Texas Instruments o de Casio. Si las baterlas de la calculadora se agotan. puede utilizar algunos atajos mentales para facilitar la aritmtica no decimal. En general. cada suma (o resta) de columna puede hacerse al convertir los dfgitos de la columna a formato decimal . sumar en decimal. y posterionnente convenir el resultado a la suma correspondiente y dgitos de acarreo en la base no decimal (un acarreo se produce siempre que la suma de la columna es igualo mayor a la base). Puesto que la suma se hace en fonnato decimal. confiamos en nuestros conocimientos de la tabla decimal de adicin; la nica cosa nO\'edosa que necesitamos aprender es la conversin de dgitos decimales a no decimales y viceversa. La secuencia de pasos para sumar mentalmenle dos nmeros hexadecimales se muestra a continuacin:

eX Y

+

eE

1 1 o o 1 9 B 9"

1 1

1

o11 14 2516 +9

o9 615 15

7 E 6"

+ 1214 14E

9 717

x+y

1 9 F"

16 + I

1

9

F

2.5 Representacin de nmeros negativosHasta ahora. solamente hemos tratado con nmeros positivos. pero existen muchas fonnas

de representar nmeros negativos. En los negocios utilizarnos el sistema de magnitudcon signo, que se discute ms adelante. Sin embargo. la mayor parte de las computadoras emplean alguno de los sistemas nunlricos de complemento que presentaremos posteriormente.

2.5.1 Representacin de magnitud con signosisttma de magnjlUd con

signo

bild, signo

En el sjs'~ma d~ magllilud con signo, un nmero se compone de una magnitud y de un sfmbolo que indica si la magnitud es positiva o negativa. De esta fonna, interpretamos los nmeros decimales +98, - 57. + 123.5 Y- 13 de la manera habitual, y tambin suponemos que el signo es "+" si no aparece ningn sfmbolo escrito. Ex.isten dos posibles representaciones de cero. "+0" y "-O", pero ambas tienen el mismo valor. El sistema de magnitud con signo se aplica a los nmeros binarios haciendo uso de una posicin de bit extra paro representar el signo (el bit dI! sjgno). Tradicionalmente. el bit ms significativo (MSB, por sus siglas en ingl6 de una cadena de bits es empleado como el bit de signo (O'" signo ms. I '" signo menos), y los bits de menor orden contie nen In magnitud. As, podemos escribir varios enteros de 8 bits con magnitud con signo y sus equivalentes decimales:0101010 12 - +85 10 01111111 2 ", + 127 10 11010101 2 - -8 5 10 11111 111 2 '" - 127 10

000000002

'" +0 10

100000002 '" -OtO

Seccin 2.5

Representacin de nmeros negativos

35

El sistema de magnitud con signo tiene un nmero idntico de enteros positivos y negativos. Un entero de magnitud con signo de 11 bits est silUado dentro del intervalo que va desde _(2"-1_ 1) hasta +(2n-1_ 1) y existen dos representaciones posibles del eero. Ahora supongamos que deseamos construir un circuito lgico digital que sume sumador dt mclgn;lIuJ con nmeros de magnitud con signo. El circuito debe examinar los signos de los sumandos . signo para determinar qu hacer con las magnitudes. Si los signos son los mismos, debe sumar las magnitudes y proporcionar el resultado con el mismo signo. Si los signos son diferentes, debe comparar las magnitudes, reslat el mi'! pequeo del mayor y proporcionar al resultado el signo del ms grande. Todos estos "si" condicionales, "sumas". "restas" y "comparaciones" se traducen en una gran cantidad de circuitos lgicos complejos. Los sumadores para los sistemas numricos de complemento son mucho ms simples, como demostraremos a continuacin. Quizs la nica caracterstica que redime a un sistema de magnitud con signo es que, una vez que sabemos cmo construir un sumador de magnitud con signo. la fabri cacin de un restador de magnitud con signo es algo casi trivial: restador dt magnitud can signa solamente se debe cambiar el signo del sustraendo y pasarlo junto con el minuendo a un sumador.

2.5.2 Sistemas numricos de complementoMientras que el sistema de magnitud con signo convierte en negativo un nmero al cambiar su signo, un siSlema numirico de complemento convierte en negativo un nmero tomando su complemento como definido por el sistema. Tomar el complemento es ms diffcil que cambiar el signo, pero dos nmeros en un sistema numrico de complemento pueden sumarse o restarse directamente sin tener que realizar las verificaciones de magnitud y signo que requiere el sistema de magnitud con signo. Describiremos dos sistemas numricos de complemento, llamados el "complemento de base" y el "complemento de base reducida". En cualquier sistema numrico de complemento. normalmente lratamos con un nmero fijo de dfgitos, digamos n. (Sin embargo, podemos aumentar el nmero de dfgilos mediante "extensin de signo" como se muestra en el ejercicio 2.23. y disminuir el nmero mediante el truncamienlo de los drgitos de orden mayor como se muestro. en el ejercicio 2.24.) Suponemos adicionalmente que la base es r. y que 105 nmeros tienen la foonaD = dll_1d,,_z" d1do .sisltma /l/un/rico d I' compltmtnw

El punto de base se encuentra a la derecha y por tanto el nmero es un entero. Si una operacin produce un resultado que requiera ms de 11 dfgitos, eliminamos el (los) dfgito(s) extra de mayor orden. Si un nmero O se complementa dos veces, el resultado ser D.

dgitos se obtiene al restarlo de r ". En el sistema numrico decimal, el complemento de base se denomina compf~ml!lI to dI! 10. Algunos ejemplos utilizando nmeros decimales de 4 dgitos (y resta de 10,(00) se muestran en la tabla 2-4. Por definicin, el complemento de base de un nmero O de n dgitos se obtiene al restarlo de r ". Si O se encuentra entre I y r" - 1, esta resta produce otro nmero entre I y11

2.5.3 Representacin de complemento de base En un Jistt!ma d~ comp/~m~nlo de bau, el complemento de un nmero de

S;SIl'nW dI' compltml'nto de hast complt ml'nto a 10

36

Capitulo 2 Sistemas y cdIgos numricos

Tabla 2-4Ejemplos de complementos de 10 V 9.

Nmero

Complemento . . '081 SI

Complemento

..."50

184.'2067

7933

7932

1007

99009993

'8999992

8 151

184'10000 (.. O)

18489999

O

clculo 11e/ cQmplmlf"nto df" haSf"

," - l. Si D es O. el resultado de la resto. es r ~. lo cual tiene la fonna 100 ... 00, donde hay un lotal de n + I dgitos. Descanamos el dgilO extra de mayor orden y obtenemos el resultado O. Por consiguiente::. slo existe uno representacin de cero en un sistema de:: complemento de base. Parece de la definicin que una operacin de resta es necesaria para calcular el complemento de base de D. Sin embargo. esta resta puede evitarse al volver a escribir r~ como (r" - 1) + 1 Y r " - D como 1) - D) + l . El nmero' " - I tiene la fo rma mm .. mm. donde m I Y hoy" cantidad de m's. Por ejemplo. 10.000 es guol a 9.999 + 1. Si definimos el complemento de un drgito d como T - I - d. entonces (, " - 1) - D se obtie::ne medionte la complementacin de los dgitos de D. Por consiguiente. el complemento de base de un nmero D se obtiene al complemenl:tr los dgitos individuales de

=,-

," -

Tabla 2-5Complementos de d fgito.

Comp/(ftnttnto Dgito 8ln.rloI

Oct.'7

DtJclmal9

HtJxlldeclmalF

OI

O

23

-

,64

8

E

,4

,I

6 7

O

3

,4 3

7 6

D

eBA

9

2I

87

,8A

O

,6 43 2I

B

eDE F

-

-

-

O

38

Capitulo 2 Sistemas y cdigos numricos

resultado es vlido solamente si todos los bits descartados son iguales que el bit de signo del resultado (vase el ejercicio 2.24). La mayora de las computadoras y otros sistemas digitales utilizan el sistema de complemento a dos para represenlnr nmeros negativos. No obstante. para completar nuestro estudio. tambin describiremos los sistemas de complemento de base red ucida y de complemento a unos.

-2.5.5 Representacin de complemento de base reducidasiSlt m(l dt compltnltnlo de Ixut ,..d,cida complemenlo de 9s

En un sislemlJ de compltmemo de base ~ducida. el complemento de un nmero de " dfgitos D se obtiene al restarlo de ro - l. Esto puede conseguirse al complementar los dgilOs individuales de D. sin sumar l. como sucede en el sistema de complemento de base. En representacin dL"Cimal , esto se de nomina complememo de 9s; se proporcionan algunos ejemplos en la ltima columna de la tabla 2-4 de la pgina 36.

2.5.6 Representacin de complemento a unosrompl..m"nlOa unOJ

El sistema de complemento de base reducida para nmeros binarios se conoce como el complememo a unOJ. Como en el complemento a dos. el bit ms significativo es el signo. O si es positivo y 1 si es negativo. De este modo hay dos representaciones del ct"ro. cero positivo (00 00) y cero negativo ( 11 11). Las R:~sentnc iones de los nmeros positivos son las mismas tnnto para el complemento a dos como para el complemento a unos. Sin embargo. l a~ representaciones de los nmeros negati\'os difieren por l . Un peso de -{2,,- t _ 1). en vez de _ 2.... 1 se otorga al bit ms significativo cuando se calcula el equivalente decimal de un nmero de complemento a unos. El intervalo de nmeros represenmbles va de -(2.... 1 - 1) hasta +(2,,-1- 1). Algunos nmeros de 8 bils y sus complementos de uno se muestran enseguida:

17 10 ""

000 10001 2

-99 1 = 1001 11002 0

UIII0111~ = - 17 \0

U0 11 00011 2 = 99 10-1 27]0

119]0 =

0 1110111 2

U10001000 2 '" - 11 9\0

= 100000002 UOllll lllz = 127 10

010 =

~

(cero positivo)

U11 11 11 11 2 :: 0 10 (cero negativo)

Las principales \'entajas del sistema de complemento a unos es su simetra y la faci lidad de complemenlacin. Sin embargo. el diseo del sumador para nmeros de complemento a unos es algo ms delicado que un sumador de complemento a dos (vase el ejercicio 7.72). Adems. los circuitos de deteccin de cero en un sistema de com-

En todo el libro. las secciones opcionales estn marcadas con un asterisco.

Seccin 2.6

Suma y resta de complemenlo a dos

39

plemento a unos deben verificar ambas representac iones de cero. o convenir siempre 11 llaoo OO.

2.5.7 Representaciones por excesonmero de sistemas diferentes para la representacin de nmeros negativos es enorme. pero existe una ms que debemos incluir. En la reprt!sl'ntacin de vcuso B. una cadena de /ti bits cuyo valor de entero sin signo es M(O S M < 2"')representa el enlero con signo M - B. donde B se denomina la tl'ndt!llda del sistema numrico. Por ejemplo, un sistema de exceso 2-1 representa cualquier nmero X en el intervalo de _2- La +2- L_ I mediante la representacin binaria de m bits de X + 2- I(que siempre es no negativa y menor que 2"'). El intervalo de esta representacin es exactamente la misma que en el caso de los nmeros de complemento a dos de m bits. De hecho. las representaciones de cualquier nmero en ambos sistemas son idnticas. excepto por los bits de signo. que siempre son opuestos. (Adviena que esto es verdad solamente cuando la tendencia es 2.... t .) El uso ms comn de las representaciones de exceso se encuentra en los sistemas numricos de punto flotante (vase la pane de Referencias).

sr. el

IllUlel rcia ;riSll ma dll.lClsO dl!:z--I

2.6 Suma y resta de complemento a dos2.6.1 Reg las de la sumaUna tabla de nmeros deeimales y SUl> equivalenles en diferentes sistemas numricos. tabla 2-6. revela porqu se prefiere el complemento a dos en las operaciones aritmticas. Si comenzamos con 10002 (-8 10) Ycontamos de manera ascendente, vemos que cada nmero sucesivo de complemento a dos en todo el recorrido hasta 011 12 (+7 10) puede obtenerse medianle la suma de I al anterior. ignorando cualquier acarreo ms all de la posicin del cuarto bit. No puede decirse lo mismo de los nmeros de complemento a unos y de magnitud con signo. Debido a que la suma ordinaria es simplemente una exten sin del conteo. los nmeros de complemento a dos pueden sumarse mediante la suma binaria ordinaria. ignorando cualquier acarreo ms all del MSB. El resultado siempre ser la suma correcta s ie mp~ y cuando no se exceda el intervalo del sistema numrico . . Algunos ejemplos de suma decimal y las correspondientes sumas de complemento a dos de 4 bits continuan esto:

SUI1I(I

dr compll mt'nlQ a

do,

+3+-14

00 11 + 0100

+7+6

O1I I

-2 +-6 -8+4

111 0

+ 10 101 1000 0 100 + 100 1

+ -3 +3

0110 + 1101 1001 l

+ -7 -3

1101

40

Capitulo 2

Sistemas y cdigos numricosTabla 2-6 Nmeros decimales y de 4 bits.Oecltrlll(

CompMmento dos

Compl&mento

a unos

M.gnltud consigno

ExC..~ de

2"'-

-,-7

-,-4

-

1000 1001 10101011

1000 100110 10

0000I JI I

1110110 1

110011011110

\011

110010 11 1010

0001 00\0 00 11 01000 101 0110

-3-2

1100110111 JO

-1O

11 1 I0000

100 1100000000

OJI I

111100000

12

,3

,6

0001 00\0 0011 01000101

000 1 00 \0 0011 010001 01

0001 00 10 00 11 01000 101

1000 100 11010

1011

11 001101

01 100 111

01 \O

01 100 111

1110I I 11

7

0111

2.6.2 Una visin grficaOtro manera de ver el sistema de complemento ti dos hace uso del "contador" de 4 bits que se ilustra en la figura 2-3 . Aqu hemos ilustrado los nmeros en una representacin circular O "modular". la operacin ele este contador imita muy de cerca la de un circuito

contador en limbos sentidos en la vida real. el cual estudiaremos en la seccin 8.4. Si

empezamos con la flecha que apunta ti cualquier nmero, podemos sumar +11 a ese nmero al conlar de manera ascendenle ti veces, es decir. moviendo la flecha1X1OOfI

posiciones

Figura 23 Una represenlacinde conteo modular de nmeros de comple-

mento a dos de 4 bits.Resta de

1101

00 "-4

nmeros positivoS

11001011

01000 10 1

-7

1001

1Il0\l

0 111

Seccin 2.6

Suma y resta de complemento a dos

41

en el sentido de giro de las manecillas del reloj. Tambin es evidente que podemos restar 11 de un nmero al contar de rorma descendente n veces. es decir. al mover la fl echa n posiciones en semido contrario de las manecillas del reloj. Naturalmente. estas operaciones proporcionan resultados correctos solamente si 11 es 1 suficientemente pequef\o de modo 0 que no cruce la discontinuidad que existe emre -8 y +7. Lo que es ms interesante es que tambin podemos restar ti (o sumar -n) al mover la fl echa 16 - ti posiciones en el sentido de giro de las manecillas del reloj. Ntese que la cantidad 16 - ti es lo que definimos como el complemento a dos de 4 bits de n. es decir. la representacin de complemento a dos de -no Esto apoya grnfi cameme nuestra afirmacin anterior. en la que un nmero negath'O en la representacin de complemento a dos puede ser sumado a otro nmero simplemente sumando las representaciones de 4 bits utiliz.ando la sumll binaria ordinaria. Sumar un nmero en la figura 2- 3 es equivalente a mover la flecha un nmero correspondiente de posiciones en ~m ido contrario al de las manecillas del reloj.

2.6.3 Desbordam ientoSi una operacin de suma produce un resultado que excede el intervalo del sistema numrico. se dice que ocurre un desbordamiento. En la representacin de conteo nl(xiular de la figura 2-3. el desbordamiento se presenta durante la suma de nmeros positivos cuando contamos pasando +7. La suma de dos nmeros con signos direrentes nuncn puede producir desbordamiento. pero In suma de dos nmeros de signo semejante puede hncerlo. como se mueSlrn en los ejemplos siguientes:dt sbordam iento

-3+ -6

1101 + 10101011 1 = +7 1(100 + 1000

+' +> + 11 +7 + +7 +14

-, + -,-l.

-9

0 101 + 0 110 1011

-,rt'g/os dt / desbonUunielllo

10000 = +O

0111 + 0111 1110 = - 2

Afonunndameme. existe una regla simple para delcctar el desbordamiento en la suma: una suma provoca desbordamiento si los signos de los sumandos son los mismos y el signo de la suma es direrente del signo de los sumandos. La regla del desbordamiento se establece en ocasiones en tnninos de acarreos que se genemn durante la operacin de suma: una suma provoca desbordamiento si los bits 'de acarreo de entrada cm! Yde salida co.al de la posicin del signo son direrentes. Un examen detallado de la tabla 2-3 en la p~ginn 32 muestra que ambas reglas son equivalentes: solamente existen dos casos donde cent ~ cM I Ystos son los dos nicos casos donde .l :::: y, y el bit de suma es diferente.

2.6.4 Reglas de la restaLos nmeros de complemento a dos pueden restarse como si fueran nmeros binarios ordinarios sin signo. y pueden fomlUl~ reglas apmpioclas para detectar un desbordamien-

resta dt romp/t mt nlo(1

dos

to. Sin embargo. la mayor parte de los circuitos de resta para nmeros de complemento a dos no realizan la resta en fonna directa. En vez de ello. hacen negativo el sustraendo tomando su complemento a dos y posterionnente lo suman al minuendo aplicando las reglas normales para In suma.

42

Capftulo 2 Sistemas y cdigos numricosLa negaci6n del sustraendo y su adicin al minuendo pueden llevarse a cabo con

solamente una operacin de suma como se explica a continuacin: realice un complemento bit a bit del sustraendo y sume el sustraendo complementado al minuendo con un acarreo de entrada (c en) de 1 en lugar de O. A conti nuacin presentamos algunos ejemplos:1 _ cnI->41 _ C..c

0100- 00 11

0100

+3- ->4 -1

0011- 0100

0011+ 1011Illl111 0 1

- +3+1

+ 11001000 11 -

e...-3- -4+111 0 1

e...

+3- -4+7

00 11- 1100

00 11+ 00110111

1100

+ 001 11000 1

El desbordamiento en lu resta puede detectarse mediante el examen de los signos del minuendo y del sustraendo compf~m~ntado, utilizando la misma regla que en la suma. 0 , empleando la tcnica de los ejemplos anteriores, se pueden observar los acarreos de entrada y de salida de la posicin del signo y detectar el desbordamiento, independientemente de los signos de entrada y salida, usando de nue\'a cuenta la misma regla de la suma. Un intento de hacer negativo el nmero negativo "extra" da como resultado un d~sbordamicn to de acuerdo eon las reglas anteriores, cuando ngrcgamos I en el proceso de complementacin:-(-8):::- 1000= 0 111

+ 00011000 =-8

No obstante, este nmero todavfa puede ser utilizado en sumas y restas mientras que el resultado final no exceda el intervalo del nmero:

,->4

1 _

e...

0100

+ -,-4

+ 1000 1100

- -,

-3

1101

1101

- 1000

+ 0 11110101

+'

2,6.5 Numeras binarios sin signo y complemento a dosPuesto que los nmeros de complemento a dos se suman y restan sigu iendo los mismos algoritmos de suma y resta binaria bsicas que los nmeros sin signo de la misma longitud, una computadora u otro sistema digitnl puede usar el mismo circuito sumador para manejar nmeros de ambos tipos. Sin embargo. los resultados deben ser

Seccioo 2.6

Suma y resta de complemento a dos

43

inlerpretados de manera diferen te, dependiendo de si el sistema est tratando con nmeros con signo (por ejemplo. de -8 hasta +7) o con nmeros sin signo (por ejemplo. de O hasta 15). Presentamos una representacin grfica del sistema de complemento a dos de 4 bits en la fi gura 23. Podemos volver a etiquetar esa fi gura como se ilustra en la figura 2-4 paro obtener una representacin de los nmeros sin signo de 4 bits. Las combinaciones binarias ocupan las mismas posiciones sobre la rueda. y un nmero se suma moviendo la flec ha un nmero correspondienle de posiciones en el sentido de giro de las manecillas del reloj. y se resta desplaz.ando la fl echa en sentido contrario al giro de las manecillas de l reloj . Puede verse cmo una operacin de suma excede el intervalo del sistema numrico sin signo de 4 bits en la fi gura 2-4. cuando la flec ha se mueve en el sentido de giro de las manecillas del reloj a travs de la discontinuidad entre O y 15. En este caso se dice que ocurre un acar~o hacia afuera de la posicin del bit ms signifi cativo. Asimismo una operacin de resta excede el intervalo del sistema numrico si la flecha se mueve en sentido COnlrario al giro de las manecillas del reloj, a trav~s de la discontinuidad. En este caso se dice que se presenta un lraslada o prslamo ruera de la posicin del bit ms significativo. De la figura 2-4 tambin es evidente que podemos restar un nmero sin signo n al contar ~/I ~/l~III;do d~ las ma/l~cillal d~1 rrloj 16 - n posiciones. Esto equivale a sumar el complemento a dos de 4 bits de /l . La resta produce un prstamo si la suma correspon diente del complemento a dos no produce un acarreo. En resumen, en la suma sin signo. el acarreo o prtstatnO en la posicin del bit ms significativo indica un resultado fuera de intervalo. En el caso con signo que considera la suma de complemento a dos. la condicin de desbordamiento que se defini anteriormente indica un resultado fuera de intervalo. El acarreo desde la posicin del bit m! .. significativo es irrelevante en la suma con signo, ya que el desbordamiento puede o no puede ocurrir independientemente de que se presente o no un acarreo.

lIIm~ms

con sigilO I'S. nU/mms sin signo

acarrt:o

lroslodo o prisramo

0000111 1 .. ____ 0001

FIgura 2-4Una representacin de conteo modular de

o11 01

0011 '2 4+ 01000101

nmeros sin signo de 4 bits.

Resta

1100 +101 1

Suma

1000

44

Capitulo 2 Sistemas y cdigos numricos

' 2.7 Suma y resta de complemento a unoSi analiza la tabla 2-6 encontrar la explicacin de la regla que indica cmo sumar nmeros de complemento a uno. Si co.menz.amos en 1 ~ (-7 10) y contamos en forma a~enden te . obtenemos un nmero sucesivo de complememo a unos al sumar 1 al anterior. excepto en la transicin de 1111 2 (O negativo) a 0001 2 (+1 10), Paro mantener el conteo apropiado, debemos agregar 2 en vez de 1 dondequiera que nuestro conteo rebase 1111 2, Esto sugiere una tcnica para sumar nmeros de complemento a uno: efectuar una suma binaria estndar. pero agregar un 1 extra cada vez que rebasemos 1111 2, El conteo que rebasa 111 12 durante una suma puede detectarse al observar e! acarreo de salida de la posicin de signo. Por lo tanto. la reglo para sumar nmeros de complemento a uno puede establecerse de manern muy simple:

suma dI! compll!mmto a lino

Realice una suma binaria estndar; si hay un acarreo de salida de la posicin de signo. agregue I al resultado.

acar"o de ~lkJndea final

Esta regla se conoce a menudo como acarreo de ~dondeo fi"al (e"d-around carry). A continuacin se presentan varios ejemplos de suma de complemento a uno; los ltimos tres incluyen un acarreo de redondeo final:

+3 +t4 +7-2 + -5

0011

+ 0 1000 11 1

t4 + -7-3

0100 + 1000 11('"0 11 0 1100

+5 + -5-O

010 1 + 10101111

+

1101 1010

..,; + -3

-O

+

+-0-O

11 11 + lIll 11110 + 1 1111

-7

10 111 + 1

+3

100 1 0 + 1

1000

0011

~sta

dt CQlfljlltmtn/Q a unus

Siguiendo la regla de suma de dos pasos. la adici de un nmero y su complen memo a uno produce un O negativo. De hecho, una operacin de suma que utiliza esta regla nunca producirn un O positivo, a menos que ambos sumandos sean O positivos. Como sucede en e! complemento a dos. la manera ms fcil de hacer la resta de complemento a uno es complementar e! sustraendo y sumar, l....ru; reglWi de desbordamien to para la suma y resta del complemento a uno son las mismas que para el complemento a dos. La tabla 27 resume las reglas que presentamos en sta y las secciones ameriores para la negacin. suma y resta en sistemas nu~ri cos binarios.

Seccin 2.8

Multiplicacin binaria

45

T a bl a 2 -7 Resumen de las reglas de suma y resta para nmeros binarios.

Sistemanumrico Sin signo

Reglas ele 111 SUmII

Reglas de 111 neg.cl6n

Reglas de 111 restllReste el sustraendo del

Sum:u los nmeros. El resultado se: No se :!plican. encuentra ruera de: intervalo si se present:! un acarreo fuera del MSB.

minuendo. El resultado se encuentra fucnl de intervalo si se prutnta un prstamo fuero del MSB. Cambie el bit de signo del sustraendo y proceda como en la suma.

Magnitud con signo

(mismo signo) Sume las magni tudes; Cambie el bit de signo del ocurre un desbordamiento si se nmero. presenta un acarreo fuera del MS B: el resultado tiene el mismo signo. (signos opuestos) Reste la magnitud ms pequea de la ms grande: el desbordamiento es imposible: el resultado tiene el signo de la ms grande. Sumar. ignorando cualquie r acarreo Complemente todos los de salida del MSB. Ocurre un desbor- bits del n mero ~ agregue dam iento si los acarreos de entrada I al resultado. y de salida del MS B son diferentes. si hay un acarreo fuera del MS B. agregue I al resultado. Se presenta un desbordamiento si los acamos de entrada y de salida del MS B son diferentes.Sume~

Complemento a dos

Complemente todos los bits del sustraendo y sume: al min uendo con un acarreo inicial de 1. Complemente todos los bits del sustraendo y proceda como en el caso de la suma.

Complemento a unos

Complemente todos los bits del nmero.

*2.8 Multiplicacin binariaEn la escuela primaria aprendimos a multiplicar mediante la suma de una lista de multiplicandos trnsladados, que se calculaban de acuerdo con los drgitos del multiplicador. Se puede utili7.ar el mismo mtodo para obtener el producto de dos nmeros binarios sin signo. La fonnacin de los multiplicandos trasladados es trivial en la multiplicacin binaria. puesto que los nicos valores posibles de Jos drgitos del multiplicador son O y l . A continuacin presentamos un ejemplo:mu/ljpljeacjdn con corrimiento y ,mwmulliplicflcidn bil1f1rul :fin

signo

11 x 13 33 11 143

x

IO lI 110 I1011 0000

multiplicando multi plicador multi plicandos desplazados

1011101 1 100011 11

producto

46

Capitulo 2 Sistemas y cdigos numricos

pmduclO pmeial

En vez de listar todos los multiplicandos tr.lSladados y posterionnente SUlllar, en un sistema digital es ms conveniente sumar cada multipl icando trasladado corno si fuer.. creado para un producto portial. Aplicando esta tcnica al ejemplo anterior. se utilizan cuatro sumas y productos parciales para multiplicar nmeros de 4 biL~:

11 x 13

x

1011 ll O1

multiplicando multiplicador producto parcial multiplicando desplazado producto parcial multiplicando desplazudo producto parcial multiplicando desplazado producto parcia! multiplicando desplazado producto

0000 101101011 0000. 001011 101!!.!. 0110111 101 U,w 10001 111

mul,iplicacin con signo

mll/iplimcill (le compleml'nlo ti dos

En generJI, cuando multiplicamos un nmero de" bits por un nmero de lit bits. para expresar el producto resultante se requieren como mxi mo" + lit bits. El algoritmo de desplazamiento y suma req uiere "' productos y sumas parciales para obtener. el resultado, pero la primera suma es trivial. puesto que el primer producto parcial e." cero. Aunque el primer producto parcial tiene solamente" bits signifi cativos. despus de cada paso de suma, el producto parcial gana un bit significativo ms. ya que cada suma puede producir un acarreo. Al mismo tiempo, cada paso produce un bit de prodUCIOp3l'Cial adicional. comen7.ando con el que est ms a la derecha y cominuando hacia la Izquierda. que no cambia. El algoritmo de desplazamiento y suma puede realizarse mediantc un circuito digital que incluir un registro de corrimiento, un sumador y la lgica de control. como se ver en la seccin 8.7.2. La multiplicacin de nmeros con signo puede reali7.arse aplicando la multiplicacin sin signo y las reglas de escuela habituales: realice una multiplicacin sin signo de las magnitudes y haga el producto positivo si los operandos tienen el mismo signo. negativo si tienen signos diferentes. Esto es muy conveniente en sistemllS de magnitud con signo, puestO que el signo y la magnitud estn separados. En el sistema de complemento a dos. la obtencin de la magnitud de un nmero negativo y la conversin a negativo del producto sin signo son operaciones poco triviales. Esto nos conduce a buscar una manera ms eficiente de realizar la multiplicacin de complemento a dos, la cual se describe a continuacin. Conceptualmente, la nlUltiplicacin sin signo se realiza por medio de una secuencia de sumas sin signo de los multiplicandos trasladados: en cada paso, el desplazamiento del multiplicando corresponde a 1 ponderacin del bit multiplicador. Los bits en 11 un nmero de complemento a dos tienen las mismas ponderaciones que en un nmero sin signo, excepto para el MSB. que tiene una ponderacin negativa (vta.-.e la seccin 2.5.4). De este modo, podemos realizar la multipl icacin de complemento a dos mediante una secuencia de sumas de complemento a dos (de multiplicandos despl azados), excepto para el ltimo paso, donde el multiplicando trasladado (que corresponde al MSB

Seccin '2.9

Divisin binaria

47

del multiplicador) debe convertin;e a negativo antes de sumarlo al producto parcial. Nuestro ejemplo anterior se repite a continuacin, en este caso el multiplicador y el multiplicando apareten como nmeros de complemento a dos:x

-, -3

x

1011 1101

0000011011 11 101 1

multiplicando multiplicador producto parcial multiplicando desplazado producto parcial multiplicando desplazado prodUC parcial IO multiplicando desplazado producto parcial multiplicando convertido a ncgativo y desplazado producto

ooooo!1111011 1l0 ll H 11100111

00 IO,U0000 1111

El manejo de los MSB es algo delicado porque ganamos un bit significativo en cada paso y trllbajamos con nmeros que tienen signo, Por consiguiente. antes de sumar cada multi plicando lJ'IlSladado y producto parcial de k-bils. los cambiamos a k + I bits significativos por extensin de signo, como se muestru en negritas en el desarrollo de la operacin. Cada suma resultante liene k + I bils 'i se ignora cualquier acarreo fuera del MSB p elevada. Confonne disminuimos nlgebraic:unente Vil (es decir, disminllillw.f el voltaje en la compuerta), Rd. disminuye hasta llegar a un valor muy bajo. La compuerta de un transistor MOS tiene una impedancia muy elevada. Es deci r. la compuerta est separada de la fuen te y el drenaje por un material aislante que tiene una resistenciil muy elevada. Sin embargo. el voltaje de compuerta crea un Cllmpo elc trico que refuerm o retarda el fluj o de corriente entre las tenninales de fuente y drenaje. ste es el "efecto de campo" en el tnnino "MOSFE I '. Sin importar el vohaje de compuerta. casi no flu ye corriente de la compucna a la fuente. o de la compuena al drenaje para este asunto, La re.~ i s t en cia entre la compuerta

IfflIIsiSlor MOS lk curml-p

(PI.tOS)

v. -1compuerta

t

I

fuente

Aesistencia cootrolada por volta}8: dismlnud6n en vga __ dismif'lUCfl en A ,*"

drenaje Nota: normalmente. Vos SO

Figura 3 -9 Smbolo de circuito para un transistor MOS de canal-p (PMOS).

88

Capflulo 3 Circuitos digitales

corritnlt dt fugll

y las otras tcnninales del dispositivo es extremadamente alta. superior a un megohm. La diminuta cantidad de corriente que fluye a travs de esta resistencia es muy pequea. por lo regular es menor a un microampere (pA, 10-6 A), Y se conoce como corritnte dtfl/ga. E l mismo sfmbolo del transistor MQS nos recuerda que no existe conexin entre la compuerta y las otras dos tenninales del dispositivo. Sin embargo. la compuerta de un transistor MOS est acoplada capacitivamente a la fuente y al drenaje. como podra sugerirlo el propio smbolo. En circuitos de alta velocidad, la energa que se necesita para cargar y descargar esta capacitancia en cado. transicin de la seal de entrada representa una pane no uivial del consumo de energa de un circuito.

3.3.3 Circuito del Inversor bsico eMOSlgica CMOSLos transistores NMQS y PMQS se utilizan en forma complementaria para formar la I6gi. ca CMOS. El circuito CMOS ms sencillo, un inversor lgico. requiere solamente uno de

cada tipo de transistor. conectados como se muestra en la figura )- IO(a). Nonnalmente, el voltaje de alimentacin. VOD se encuentra en el intervalo de 2 a 6 V Y con mucha frecuencia se establece en 5.0 V para tener compatibilidad con los circuitos m.. En tnninos ideales. el componamiento func ional del circuito inversor CMQS puede caracterizarse mediante dos casos que se tabulan en la figura 3-IO(b): l . VENT es 0.0 V. En este caso. el transistorinferiordecanal-n. Ql. est apagado. puesto que su Vpes O. pelO el transistoc superioc de canal-". Q2. est encendido. puesto que su V'5 es un valor negativo grande (-5.0 V ). Por lo tanto. Q2. presenta solnmente una pequea resistencia entre la teoninal de alimentacin (VOD ' +5.0 V) Y In tenninal de salida (VSAJ. y el voltaje de salida es 5.0 V.

Figura 3- 10 Inversor CMOS: al diagrama de circuito; b) comportamientofuncional :

l')

(b)

'",0.0 (l) 5.0 (H)

Q/

Ql~.

el slmbolo lgico.

"....(c)

.... dIXI

........

....,.t. 11-='

"....5.0 {H) 0.0 (l)

ENTRADA

)--SAUOA

Seccin 3.3

lgica eMOS

89

2. VENT es 5.0 V. Aquf. Q/ se encuentra encendido. puesto que su V l es un valor posi, tivo grande (+5.0 V). pero Q2 se encuentro apagado. puesto que su Vp es O. De este modo, Q/ pre.~ nta una pequea resistencia entre la terminal de salida y tierrn. y el voltaje de salida es OV.Con el comportamiento funcional anterior. el circuito se comporta cJnrnmente como un inversor l6gico, puesto que una entrnda de OV produce una salida de 5 volts. y viceversa. Otra manero de visualizar el funcionamiento del CMOS es el uso de interruptores. Como se ilustra en lB fi gura 3-II{a). el modelo del transistor de canaJ-n (abajo) com!sponde a un interruptor normalmente tlbierto. y el transistor de canalp (arriba) corresponde a un interruptor normalmente cerrndo. La aplicacin de un voltaje ALTO cambia cada interruptor al caso opuesto de su estado normal. como se muestra en (b).(. )V " ' OV oo Voo - o5.OV

(b)

Figura 3-11 Modelo de Interruptor para el inversor CMOS:a) entrada BAJO;

b) entrada ALTO.V""''T = L Ve.'T = H

El modelo del interruptor nos lleva a una manera de dibujar circuitos e MOS que hace.que su comportamiento lgico sea ms evidente. Como se muestra en la figura 3- 12. se emplean sfmbolos diferentes para los transistores de canal-n y de canal.p. a fin de reflejar su comportamiento lgico. El tronsistor de canal-" (Q 1) se encuentrn --activado". y la corriente fluye entre la fuente y el drenaje. cuando se aplica un "ohaje ALTO a su compuerta; esto parece bastante natural. El transistor de canal-!, (02) tiene el comportamientoV " .05.0 V D!)

Figura 3-12 Operacin lgica del inversorCMOS.

90

CapItulo 3

Circuitos digitales

'1

prol

Id l pe, CI ,"'o o CI

lU

opuesto. Se encuentra "activado" cuando se aplica un voltaje BAJO: la burbuja de inversin en su compuerta indica este componamiento de inversin.3.3.4 Compuertas eMQS NANO y NOR Tanto la compuertn NANO como la NOR pueden construirse utili7.3ndo dispositivos CMOS. Una compuerta de le entmdas Ulilii'.3 le tr.msislores de canal-p y k tmnsistores de canal-". La figura 3-13 muestra una compuerta NANO CMOS de 2 entradas. Si cual quiem de las entradas es BAJO. la salida Z tiene una conex in de baja impedancia a Voo a travs del correspondiente trnnsistor de cnnal-p "encendido", y la trayectoria a tierra se bloquea n ..... -dirulled correspond ien te lrnnsistoc de canal _ti "apagado", S i ambas entradas son ALTO. la trayectoria a V es bloqueada. y Z tiene una conexin de bnja impedancia oo a tierra. La figura 3- 14 muestra el modelo de interruptor pam el runcionamienlo de la compuena NANO, La figura 3-15 muestra una compuerta e MOS NOR, Si ambas entradas son BAJO. entonces la salida Z tiene una conexin de baja impedancia a VOl) a travfs de los transistores de canal-p "que estn encendidos" y la trayectoria a tierra se encuentra bloqueada por los transistores de canal-" "que estn apagados". Si cualquier enlrnda es ALTO. la trayectoria a VOl) estar bloqueada, y Z tendr una conex.in de baja impedancia a tierra.

Figura 3- 13Compuerta NANO de 2 entradas CMOS: a) diagrama de circuito; b) tabla de funcin; c) 51mOOlo lgico.

(o)

(b)

A

Q/~

Qlm m~ ~

QJ~

IMO

Comportamiento elc1.rico dinmico de los dispositivos CMOS

t17

R.> I MO 1 000

-'1 3.5 \'

~ 1.5 "ov

Figura 3-39 TIempo de carda para una transicin de ALTO

o1 -1

a BAJO de una salidaeMOS.

El tiempo de carda Ir es la direrencia entre ambos nmeros, o aproximadamente 8.5 ns. E! tiempo de ascenso puede calcularse con un mtodo semejante. La figura 340(a) muestra las condiciones en el circuito cuando la salida se encuentra en un estado estable BAJO. Si a1liempo 1 = O la salida CMOS cambia al estado ALTO, re.~uha la situacin descrita en (b). Una vez ms, V no puede cambiar de ronna instantnea. pero al tiem SAL po I '" oc, el capacitor estar completamente cargado y V ser 5.0 V. De nueva cuenta, SAL el valor de VSAL entre los dos est dctenninado por una ley exponencial :

VSAL

==

V00' ( 1 _ e - tl (R,Ct )100 ' IO+IZ,) 5.0' ( 1 - e +I I (lO ' 10-'1) Vr ' ( 200 '

= 5.0 ' ( 1 _

Figura 3-40 Modelo de una transicin eMOS de BAJO a ALTO: a) en el estado BAJO; b) despus de que el transistor de canaln se apaga y el transistor de canalp se enciende.Va;. +3.0 VV +5.0V cc

(.)

(b)

Carga de CA

Carga ele CA

V ENT

Ir

.o v1 pro

eq

po.

TI agen p oleglda por

rtd

lIlol

118

Capftulo 3 Circuitos digitales

" 0 '. 200> I MO

> I Mn

1000

I

En ~sle caso la constante de tiempo R es 20 ns. La figuru. 3-4 1 muestru. una grfi ca de e VSAL en funcin del tiempo. P-J.ra obtener el tiempo de ascenso. debemos resolver la ecuacin anterior para VSAL = 1.5 Y VSAL = 3.5. paru. obtenerI

-Re. In VD1> == - 20 10_9

V

SAL

V DD

ln -0 ---,

t

'1=

1 - '.... 11..... , - _-

Seccin 3.6

Comportamiento elctrico dinmico de los dispositivos CMOS

121

Adems. un fabricante puede especi fi car los tiempos de ascenso y cada de entrada mxima absoluta que deben satisfacerse para garantizar un funcionamiento apropiado. Los circuitos CMOS de alta velocidad pueden consumir corriente ellcesiva u oscilar si sus transiciones de entrada son demasiado lentas.

3.6.3 Consumo de energaEl consumo de energa de un circuito CMOS cuya sulida no cambia se llama disipaci6n ~suftict/ de eners(a o disipacin d~ enrrg((l el! reposo. (Las JXllabrus consumo Y disipa. cin se ulilir..an en forma indistinta cuando se analiza la camidad de energa que utili7..a un dispositivo.) La mayor parte de los circuitos CMOS ticnen poca disipacin esttica de energa. Esto es lo quc los hace tan atractivos para Ia.

4 .. ,

F igura 4-8 tnlerprelacin en lgica negativa del Circuito anlerior.

X'

","

... '

... '

'--1 ...

, >

F'ljX 1', Xz', .... X,,')

206

Capftulo 4

Principios de diseo lgico combinacional

Al complementar ambos lados, obtenemos el teorema generalizado de DeMorgan:(F(X 1. X 2. .... X,,) 1' ::: FD(X 1'. X2'. . X,,')

Sorpre ndente!

4.1.6 Representaciones estndar de funciones lgicas Antes de trasladarnos al anlisis y sfntesis de las funciones lgicas combinacionales, pre/(Ib/(I/Ie I'enlad

sentaremos algo de nomenclatura y notacin necesarias. La re prese ntacin ms bsica de una funcin lgica es la rabio tic \ud,d. Similar al mtodo de demostracin por induccin perfecta en fi losofa . esta repre.(d)

'o)

220

Capitulo 4

Principios de diseo lgico combinacional

4.3.3 Minimizacin del circuito combinacionalCon frecuencia no es econmico realizar un circuito lgico directamente de la primera expresin lgica que aparezca en su cabeza. Las expresiones de suma y producto cannicos son especialmente costosas debido a que el nmero de posibles minitnninos y maxitnninos (y por tanto compuenas) crece exponencialmente con el nmero de variables. Minimiwmos un circuito combinacional mediante la reduccin del nmero y tamano de las compuenas que son necesarias para construirlo. Los mtodos tradicionaJes de minimizacin de circuitos combinacionales que estudiaremos tienen como punto de panida una tabla de verdad o, de manera equivalente. una lista de minitnninos o una lista de maxitnninos. Si damos una funcin lgica que no est expresada en CSUl fonna, entonces debemos convertirla a unn forma apropiada antes de emplear estos mt:lodos. Por ejemplo. si damos una expresin lgica arbilraria, enlonces la evaluaremos para cada combinacin de entrnda a fin de construir la tabla de verdad. Los mtodos de minimizacin reducen el costo de un circuito de dos niveJes ANO-OA. OR-ANO, NANO-NANO o NOR-NOR de tres manerns: l . Minimizando el nmero de compuenas de primer nivel. 2. Minimizando el nmero de entradas en cada compuerta de primer nivel. 3. Minimi7.ando el nmero de entradas en la compuena de segundo nivel. Esto es en realidad un efecto colmeral de la primera reduccin. Sin embargo. los muxios de minimizacin no consideran el costo de los inversores de entrada; suponen que tanto las versiones verdaderas como las complementadas de lodas las variables de entrnda se encuentran disponibles. Mientrns que ste no siempre es el caso en el diseno ASIC o al nivel de compuerta, es muy apropiado para el diseo basado en PLD: los PLD lienen versiones lanto verdaderns como complementadas de todas las variables de entrada disponibles. "grnlis". La mayorfa de los mtodos de minimizacin se basan en una generalizacin de los teoremas de combinacin. T IOYTl O': trmino de producto determinado V + lrmino de producto determinado V' _ trmino de prodUCIO delerminado (trmino de suma dado + V) . (trmino de suma dado + V') = tmlino de suma dado

minimi::.ar

Es decir. si dos lnninos de producto o suma difieren solamente en el complemento o negacin de una variable. los combinamos en un nico tnnino con una variable menos. De este modo ahomunos una compuerta y la compuerta restame tienen unn entrada menos.

Secct6n 4.3N3 N3' N2 N2' N N'No NO '

Srntesls de circuito combinacional

221

"",,,,

I

>ov~

N3' 'No

>o-

N 3 " N 2" N, 'No'

F

N3 ' N{' N'No

"v>O

N3' N2 'N"No

F lg ura 4-25 Re. Jlzaci6n simplificada d. . uma de productos para el detector de nmeros primos de 4 bits,

Es posible aplicar este mtodo algebraico repctidamemc para combinar los minitnninos 1,3,5 Y7 del detector de nmeros primos mostrndo en lu figuro. 4- 18 de la pgina 215:

F'"

lt.t},N1,N"No(l ,

3, 5, 7, 2,11,13)+ N J ' ,NZ' ,N,No) + (, N3' ,N2,N,' ' No + NJ ' ,N z' N 1' No) + .. ,oo ,

'" N J' N2' N 1 o + NJ ' , N z', N ,' ~ + NJ', NZ, N L ,NO+ NJ', N Z' Nl, No + ... 'N '( NJ' N2" N l" ~

:: NJ'NZ "No+ N3', Nz, No+::: N3 ' ,No +oo .

El circuito resultante se ilustra en la figura 4-25; tiene tres compuenas menos y una de las compuenas restantes tiene dos entradas menos, Si hubiramos tl1lbajado un poco ms en la expresin anterior. habrfamos ahormdo un par ms de entradas de compuerta de primer nivel. aunque ninguna compuerta. Es dificil hallar tnninos que se combinen en una mezcolanza de sfmbolos algebraicos, En la subscccin siguiente comenzaremos a explorar un mtodo de minimizacin que es ms adecuado para el consumo humano, Nuestro punto de partida ser el equivalente grfico de unu I!Iblu de veniad.4 .3.4 Mapas de Karnaugh

Un mapa de Kamaugh es una representacin grfica de una labia de verdad de la funcin lgica. La fi gura 4-26 muestra mapas de Kamaugh para funciones lgicas de 2, 3 Y4 variables. El mapa para una funcin lgica de n entradas es un arreglo con 2" celdas, una por cada posible combinacin de entrada o minitnnino. Los renglones y columnas de un mapa de Kamaugh se etiquetan de tal modo que la combinacin de entrada para cualquier celda se detennina fcilmente de los encabezados de rengln y columna para esa celda. El pequeno nmero dentro de cada celda es el correspondiente nmero de minitrmino en la tabla de verdad. suponiendo que las entradas de la tabla de verdad se encuentran etiquetadas alfabticamente de izquierda a derecha (por ejemplo. X. Y. Z) y los renglones estn numerudos en orden de conteo binario, como

trnlpo dt! Kamaush

222

Captulo 4 Principios de diseflo lgico combinacional

x

x

vo , , '"" , , ]vI I

o

z - ,00 , 11 ""' 01 " oI

xV

CI--'''--..."

x

yz , "'"00

wx

w01 11 10

00

,

, , ,v

"

..l...l.

,

,

Jz(e)

v

", " " " " " , ,x

, " , ,

" z

l')

lb)

FI 9 u r a 4-26 Mapas de Karnaugh: 8) de 2 variables; b) de 3 variables; e) de 4 variables.

todos los ejemplos en este texto. Por ejemplo. la celda 13 en el mapa de 4 variables corresponde al rengln de la tabla de verdad en el que W X y Z = 110 l. Cuando dibujamos el mapa de Kamaugh parn una funcin dada. cada celda del mnpa contiene la informacin del rengln numerado de la tabla de verd:ad de la funci n: un Osi la funcin es Opara esa combinacin de entrada. o un 1 de Olro modo. En eSle lexto ulilizamos dos etiquelados redundantes parn renglones y columnas del mapa. Por ejemplo. considere el mapa de 4 variables en la figura 4-26(c). Las columnas se cliqucl:an con las cuatro posibles combinaciones de W y X. W X = OO. 01 . II Y 10.De mnnera semejunte. 1 renglones se etiqueum con las eOlllbinaciones Y Z. Estas eti05

quetas nos proporcionan toda la informacin que necesitamos. Sin embargo. tambin utilizamos corchetes (parntesis cuadrados) para asociar cuatro rcgiones del mapa con las cuatro variables. Cada regin entre corchetes es la parte del mapa en la que la variable indicada es 1. Qbvinmente, los corchetes transmiten la misma informacin que es dada por las etiquetas de rengln y columna. Cuando dibujamos un mapa a mano. es mucho ms fcil dibujar los corchetes que escri bir todas las etiquetas. Sin embargo. conservamos las etiquctas en los mapas de Kamaugh del texto como una ayuda adicional para el aprendizaje. En cualquier caso. debe estar seguro de etiquetar los renglones y columnas en el orden adecuado para mantener la correspondencia entre las celdas del mapa y los nmeros de rengln de 1 tllbla 11 de verdad mostrada en la figuro 4-26. P'.tra representar una funcin lgica sobre un mapa de Kamaugh, simplemente copia. mos los unos y los ceros de la tabla de verdad o equivalente a las correspondientes celdas del mapa. Las fi guras 4-27(a) y (b) muestron 1 labia de verdad y el mapa de Kamaugh 11 para una funcin lgica que analizamos (deslrozamos?) en 111 seccin 4-2. Desde ahora. reduciremos el desorden en los mapas al copiar solamente los unos o los ceros. no ambos.

4.3.5 Minimizacin de sumas o productosEn este momento, usted debe estar sorprendido por la "extraa" ordenacin de los nmeros

de rengln y columna en un mapa de Kamaugh. Existe una muy imponante rozn para esta ordenacin: cada celda corresponde a una combinacin de entrada que difiere de caita una de sus \'ccinas inmediatamente adyacentes en slo una variable. Por ejemplo. las celdas 5 y 13 en el mapa de 4 variables difieren solamente en el valor de W. En los

Seccin 4.3

Slntesis de circuito combinacional

223

x

v

Z

F

o o o o oO O O O O O

l' )

, o , , , , , , , , , , , , , , ,O O O O

z, "lb)

xv

,01 11

x'0

X' y z:

,

O O

,, , ,, , ,O ,O , O , , ]z , ,00

:Zv z o ,lo)

,00

x

v

v

,

Jzy' . z

F 19 u ra 4 27 F ", Lx.y.z(1 .2.S.7): a) labia de verdad; b) mapa de Karnaugh; e) combinacin de celdas 1 adyacentes.

mapas dc 3 y 4 variables. las celdas correspondientes en los bordes izquierdo/derecho y superiorlinferior son los vecinos menos obvios; por ejemplo. las celdas 12 y 14 en el mapa de 4 variables son adyacentes porque difieren solamente en el valor de Y. Cada combinacin de entrada con un " 1" en la tabla de verdad corresponde a un minit&mino en la suma cannica de la funcin lgica. Puesto que Jos pares de celdas "'" adyacentes en el mapa de Kamaugh tienen minit~nninos que difieren en slo una variable. los pares de min il~nninos se combinan en un solo tnnino de producto utilizando la generalizacin del teQrema Tl O. tnnino . Y + tnnino . Y':::z tnnino. De este modo. podemos emplear un mapa de Kamaugh para simplificar la suma cannica de una funcin lgica. Por ejemplo. considere las celdas:5 y 7 en la figura 4-27(b) y su contribucin a la suma cannica paro esta funcin:F = ... ... X . y '. Z ... X . Y . Z

= .. . '" (X Z). Y '... (X Z). Y= ... ... XZ

Recordando la adyacencia de los extremos. vemos que las celdas 1 y 5 en la figura 4-27(b) tambin son adyacentes y pueden combinarse:

F ",X' Y' Z +X Y ' Z ... ...

_ x ' (Y'

. ZI ...

x . (Y ' Z) +

...

",Y' Z+ ...En general. una funcin lgica se simplifica al combinar pares de celdas I adyacentes (minitnninos) siempre que sea posible y escribir una suma de tnninos de producto que cubran todas las celdas l . La figura 4-27(c) muestra el resultado de nueStra funcin lgica de ejemplo. Enccrrumos en un crculo un par de unos para indicar que los minilnninos correspondienles esln combinados en un solo ~rmino de producto. El circuito correspondiente AND-DR se ilustra en la figura 4-28. En muchas funciones lgicas el procedimiento de combinacin de celdas se extiende a combinar ms de dos celdas I en un solo tnnino de producto. Por ejemplo.

224

CapflUIo 4 Principios de disel"lo lgico combinacional

x v

x z

-{>o- v"x'

y '. Z

-1-L

)F

Figura 428 Circuito ANOOA minimizado.

x' yz:z'

Z

v

considere la suma cannica para la funcin lgica F = 1:)(.y.z{O, 1. 4, 5, 6). Utilizando las manipulaciones algebraicas de los ejemplos amenores de manem item.tiva paid combinar cuatro de los cinco minit~nninos , se tiene:

F _ X' Y' Z' +X' y ' Z+X Y' Z'+ X Y' Z + X Y Z'_ X' y ) . Z' + (X' . Y') ZI + I(X . Y') . Z' + (X Y') Z] + X Y . Z'

_ X' Y' +X Y' +X Y Z'= (X' ,(Y)+X ' (y)I +X , Y , Z'CE

y '+ X Y Z'

En general, 2/ celdas 1 pueden ser combinadas para fonnar un t~ nnino de producto conteniendo n - 1 literales, donde n es el nmero de variables en la funcin.

Una regla matemtica precisa determina cmo las celdas I se combinan y la fonna del correspondiente t~rmino de producto: Un conjunto de 2' celdas 1 se combina si existen i variables de la funcin lgica que tomen todas las 2' posibles combinaciones dentro de ese conjunto, mientras que las restante" - i variables tienen el mismo valor en todo ese conjunto. El t&mino de producto correspondiente tieoe n - i literales, donde una variable est complementada si aparece como Oen !odas las celdas 1, Yno est complementada si aparece como l .conj wllos ntCfangu/antl

de IUIOS

Grficamente, esta regla quiere decir que podemos encemr en un crculo conjuntos rtI1ngufants de '1!' Is. literalmente asf como tambi~n extendiendo figurativamente la definicin de rectangular para explicar la adyacencia en los extremos del mapa. Podemos determi nar las literales de los correspondientes trminos de producto directamente del mapa: para cada variable lo hacemos de la manera siguiente: Si un cfrculo cubre solamente las reas del mapa donde la variable es O entonces . la variable est complementada en ell~nnino de produclO. Si un crculo cubre solamente las reas del mapa donde la variable es 1, entonces la variable no est complementada en el lnnino de prodUCIO. Si un circulo cubre tamo reas del mapa donde la variable es Ocomo donde la variable es l. entonces la variable no aparece en ellrmino de producto.

Seccin 4.3

Srntesis de circuito combinacional

225

xyz"",OO 01(.)

ro--''-.,011

x

,'1' ' ,1 , ,1 ,1 11 1o o

l.

. z'

]z

(b)

y

Figura 4-29 F = :Ex.v.z{O.1.4,S.6):a) mapa de Karnaugh inicial; bl mapa de Karnaugh con trminos de producto en clrculos; el circuito ANDIOA.

(o)

Una expresin de suma de productos para una funcin debe contener tnninos de producto (conjuntos encerrados en crculos de celdas 1) que cubran tooos los unos y ninguno de los ceros en el mapa. El mapa de Karnaugh para nuestro ejemplo ms reciente. F = I x.y:zj.O. 1.4.5.6). se muestra en la figura 4-29(a) y (b). Hemos encerrado en un ch'culo un conjunto de cuatro unos. correspondiemts al trmino de producto Y'. y un conjunto de dos unos correspon diemes aJ trmino de producto X . Z'. Note que el segundo trmino de producto tiene slo una literal menos que el trmino de producto correspondiente en nuestra solucin algebraica (X . Y . Z'). Al encerrar en un cfl-culo el conjunto ms grande posible de unos conteniendo la celda 6. hemos hallado una realizacin menos costosa de la funcin lgica. puesto que una compuena ANO de 2 entradas debe cosw menos que una de 3 emradas. El hecho de que dos diferentes trminos de producto ahora cubran la misma celda I (4) no afecta la funcin lgica. PUesto que para la suma lgica 1+ I :::: l. no 2! El correspondieme circuito ANDIOR de dos niveles se muestra en (c). Como otro ejemplo. el circuito detector de nmeros primos que presentamos en la figura 4-18 de la pgina 215 puede ser minimizado como se ilustra en la figura 4-30. En este puma. necesitamos algunas definiciones ms para aclarar lo que estamos haciendo: Una suma m(nima de una funcin lgica F(X ... ,X,,) es una expresin de suma de productos para F de tal modo que ningunaexpt'Csin de suma de productos para F tiene menos trminos de producto y cualquier expresin de suma de productos con el mismo nmero de trminos de producto tiene ar menos tantas literales.ErraJor dt asiSrladdn no

Itmpori:P(lo, :::

no temporizadQ, =. el lado izquierdo dc la ecuacin nonnalmente contiene un nombre de sella!' El lado derecho es una expresin lgica, no necesariamente en la fonna de producto de sumas. El nombre de la sedal en el Indo izquierdo de una ecuacin puede ser opcionalmeme precedido por el operador NOT. !; esto es eq~ i va lente a la complemen lacin dcl lado derecho. Ellrabajo del compilador es generar un patrn de fusin de tal modo que la sellal nombrada en el lado izquierdo realice la expresin lgica en cl lado derecho.

4,6.2

Funcionamiento del compilador de ABEL

t'Cuncidn imtrmtdit,

El programa en la tabla 4- 11 realiza [a funcin de alarma quc describimos desde la pgi . na 2 15. La seal llamada ENABLE ha sido codificada como ENABLEA porque en ABEL la palabra ENABLE es una palabra reservada. NQ(c que no todas [as ecuaciones aparecen bajo la instrucn equations. Una ecuacin intemledia para un identificador SOOURO aparece con anterioridad. Esta ecuacin es meramente una definicin que asocia una expresin con el identificador SOOURO. El compilador ABEL sustituye esta expresin para el identificador SEX>URO en cada lugar en que aparece SEXiURO despus de su definicin. En la figuro 4 19 de la pgina 2 16 reali7.amos el circuito de alanna directamente de las expresiones SEGURO y ALARMA. utilizando mltiples niveJes de lgica. El com pilador AREL nO emplea expresiones pata interconectar compllel'lrul en esta manCrll. en vez de ello, "trunca" las expresiones para obtener un resullado de suma de productos de dos n\'eles mfnimo apropiado pam la realizacin en un PLD, De este modo. cu,lndo compila. la tabla 4-1 1 prod uciria un resullado equivalente al circuito ANO-OR que mos tmmos en la figura 420 de la pgina 216. la cual parece ser mnima. De hecho, lo c.~. La labia 4- 12 mue,0 ; 1->1: 2->1; 3->1 ; 4 ->0; 5- >1; 6->0: 7 ->1; 8->0 : 9->0:

,

trutlLtable (lA, B]->Y)(0 , 0)->0 ; (O,l)->X ; (l.O ) -:.X ; (l,lJ - :.l ;

ene! Ikmtcare

Tambin es posible especificar combinaciones sin importancia de manera explcita. como se muestra en la segunda labia de verdad. Como se presenl6 muy al principio de esta seccin. ABEL reconoce . X. como una constanle especial de un bit cuyo valor es "sin importancia", En la labIa 4-21. el idenlificador "x" ha sido igualado a eSla conslante precisamenle para hacerlo ms fcil de escribir entradas sin importancia en la labia de verdad. Las ecuaciones minimizados resultantes de la tabla 4-2 1 se muestran en la tabla 4-22. Note que las dos ecuaciones para F no son iguales; el compilador ha seleccionado diferentes valores para las "sin importancia",

Equations :F .. (lN2&N1 i lN) &: NO) ;

Tabla 4-22Ecuaciones

minimi-

y al ;

zadas derivadas de la tabla 4-21.

Reverse-Polarity Equations :!F 1N2 &- !NO iN] i !NI " !NO); !Y.( ! B) ;

262

Capitulo 4

Principios de disei'lo lgico combinacional T a bl a 4 -23 Estructura de los vectores de prueba

test_vectors

(inplII-/ist -> OUlplII./ t ) inpUI-mlue - > /1II1/IIII-1'(I/lIt;

ABEL4.6.7 Vectores de prueba

inplll-I'U'U: -:> OUl/lut-I'(l/ue I

Los programas ABEL pueden contener vectores de prueba. como mostremos en In tabla 4-11 de la p:gina 2S 1_El formato gencnll de los vectores de prueba es muy semejante al

tescvectorslisw-entnul/J

IIsw -salida

de una Ulbla de verdad y se muestra en la tabla 423. La palabra clave tes t_ vectors introduce uno tabl:! de verdad. La lisIa-en/rada y la liSia- salida proporcionan los nombres de IIIS seales de entrada y IIIS sal idas que aqullas afectan. Cada una de estas listas es ya sea un nombrt: de seal simple o un conjunto. A continuacin de la introduccin del vector de prueba tenemos una serie de instrucciones. cada una de las c u ale.~ especi lica un valor de entrada y un valor de salida esperado al utilizar el operador " ->". Los vectores de prueba ABEL tienen dos usos y propsitos principales:

l. l)resputs que el compilador ABEL traduce el progrnma en '"patrn de fusin'" paro un dispositivo en particular. simula 1:. operacin del dispositivo programado final al aplicar las entradas del vector de prueba a un mOOelo de softwore del disposit\"O y comparar sus salidas con las correspondientes saM as del vector de prueba. El diseador puede especificar una serie de vectores de prueba a fi n de verificarOObJemente queese dispositivo se com~ como se espera pata algunas o todas las c'CNllbirmc,onc:s de c:ntrnda. 2. Despus de que un PLD se programa fsica mente. la unidad de programocin aplica las entradllS del vector de prueba al dispositivo fsico y compara lIS salidas del dispositivo con las correspondientes salidas del vector de prueba. Esto se hoce paro verificar la correcta programacin y funcionamiento del dispositivo. Desgraciadamente. los vectores de prueba de ABEI... raro. vez hocen un muy buen lr"J.bajo en cualquiera de estas tareas. como explicaremos a continuacin. Los vectores de pruebo1 de la Ulbla 4- 11 se repiten en la tabla 4-24. excepto que par.a ef/X'tos de legibilidad supondremos que el identificador Xha sido igualado a la constante "sin importancia" . X.. y hemos agregado comentarla para numerar los vectores de prueba. La tabla 4-24 en realidad parece ser un muy conveniente conjunto de vectores de prueba. Desde el punto de vistn del diseador. estos vectores cubren en su totalidad la operacin esperada del circuito de alanna, como se detalla acto seguido. vector por vector: l. Si PANIC (PNICO) es l. entonces la salida de alomla (F) deberla estar encendida sin tener en cuenta los ()(TOS valores de entrad.'l. Todos los vectores restantes cubren los casos donde PANIC es o. 2. Si la alanna no est habililoda. enlonces la salida deberia estar apagada. 3. Si la olanna se encuentra habilitada pero estamos saliendo. entonces la salida deberla apagarse. 46. Si la alanna est habi litada y no hemos salido. entonces la salida deberla estar encen dida si cualquiera de las seales de sensor WINOOW.DOOR o GARAGE son O. 7. Si la alanna se encuentra habilitada, no hemos salido y todas las seales de sensores son l. entonces la salida deberla estar apagada.

Seccin 4.6 test_vectors( [PANIC,ENABLEA , EXI TING,WINDOW,DOOR,GARAGE) X, X, x, x, 1, XI I

El lenguaje de descripcipn de hardware ABEl

263

I I I I I I

o,O, O, O, O, O,

o,1. 1, 1. 1, 1,

X ,1.

O , O , O , O ,

X, X, O, x, X,1,

X, X, X, O , X,1,

xJ X J xJ -, I xJ -, I 01 -, I1)

-, -, -, -, -,

[ ALARM ) ) 1) ; I O) ; I O] ; I

,1"

Tabla 4-24 Vectores de prueba para el circuito de alarma en la tabla 4-1 1.

1J ;1) ; 1) ;

'3 "

)

01 ;

'S " '7

El problema es que ABEL no maneja las entradas sin importancia como deberla hacerlo. Porejemplo. el "'ectocde prueba 1 deberfa probar 32 distinlas combinaciones de enmlda correspondientes a todas las 32 combinaciones de entradas sin importancia ENABLEA. EXITING. WINOOW. IXlOR y GARAGE. Pero no lo hace. En esta situacin. el compil ador ABEL interpreta "sin importancia" como: "al usuario no le interesa cul valor de entrada yo utilice" y asigna precisamente Oa todas las entrada.. sin importancia en un vector de prueba. En este ejemplo. se podra habcrescrito illCOrreCtamente la ecuacin de salida como " F .. PANIC & ! ENABLEA , ENABLEA & "; los vectores de prueba todava pasarlan. aun cuando el botn de pnico funcionaria solamente cuando el siste Ola se encuentre deshabilitado. El segundo uso de los vectores de prueba se encuentra en la prueba del dispositivo fsico. La mayorfa de Jos defectos fsicos en los dispositivos lgicos pueden detectarse utili7.ando ell1Iooi'lo Ji' bloqui'o i'lI fa lla simpli'. que supone que cualquier defecto ffsico es cquivaleme a tener una entrada o salida de compuerta simple bloqueada en un V".dor de Oo I lgico. Slo colocar junto un conjunto de vectores de prueba que parezca ejercitar las especificaciones funcionales de un circuito. como 10 hicimos en la tabla 4-24. no ganmtiza que todos los bloqueos en fallas simples sean detectados. Los vectores de prueba tienen que ser eJegidos de tal modoque todo posible bllXlueoen fal la cause un valor incom:cto en 111 salida del circuito para alguna combinacin de entrada de vector de prueba. La tabla 4-25 muesua un conjunto completo de vectores de prueba para el circuito de alarma cuando se realiza como un circuito de suma de productos de dos niveles. Los primeros cunuo vectores ,'crifican bloqueos en I de fal las en la compuerta OA mientras que los ltimos tres verifican bloqueos en Ode fallasen lascompuertas ANO; ~ltaque esto es sufi ciente para detectar todos los bloqueos en fall as simples, Si se sabe algo acerca de la prueba de fallas se puede generar vectores de prueba para pequeos circuitos a mano (como lo hice en este ejemplo). pero la mayora de Jos diseadores utilizan hemunientas automatizadas de lerceras panes para crear \'CCIOI""CS de prueba de alta CDlidad pan! sus diseos PLD. tescvectors( [PANIC, ENABLEA., EXITIl{; , W:rm:a-I, DOOR. GARAGE) O , 1, lJ 1. 1. I

modelo de bloquro rll f(lllll simple

I I I I

I I

O, O, O, O , O , O ,

O,

1. 1. 1,1, 1,

O , O , O , O , 1, O ,

O ",1. 1. 1.

O , O , O,1. 1.

1.

O , O ,

1J 1J OJ I OJ I OJ I 1J -, )

-, -, -, -, -, -, -,

[ALARM)) 1] ; I 1) ; I 1) ; I

'1 " '3"

1 J,O) ;

'S"

Ol ; OL

Tabla 4-25 Vectores de prueba de bloqueo en falla simpte para la realizacin de suma de productos mrnima del circuito de alarma.

'7

Captulo 4

Principios de diseo lgico combinacional

4.7 El lenguaje de descripcin de hardware VHOLVIIDL

A mediados de la d&ada de 1980. el Departamento de Defensa de Estados Unidos (DaD. Oepartmcnt of Defense) y el IEEE patrocinaron el desanollo de un lenguaje de descripcin de hardware de alla capacidad denominado VHDL El lenguaje ammccon las siguientes carncteristicas. que todavfa tiene :

hermnti~nlas

df" S(nlf"S;S

VUOL

VHDW7 VJfDL-9J

Los disenos pueden descomponerse jerrquicamente. Cada elemenlo de diseo tiene tanto una interfaz bien definida (paro. conectarla a otros elementos) como una especificacin de comportamiento precisa (proa simularln). Las especificaciones de componmniento pueden utilizar ya sea un algoritmo O bien una estructUr:l de hardware real para definir la operucin de un elemento. Por ejem plo. un elemento puede ser definido inicialmente por un algoritmo. para pennitir la verificacin del diseo de elementos de mayor nivel que utili;;a; posterionnente. la definicin algortmica puede ser reemplazada por una estructUr:l de hardware. La concurrencia. temporizacin y seales de reloj plCde ser todas modcloclas. VHDL maneja estructuras de circuitos secuenciales asincrnicos adems de siliCiflicos. La operacin lgica y comportamiento de temporizacin de un diseo pueden simularse. De este modo, VHDL comenz como un lenguaje de modelado y document:lcin. permitiendo que el comportamiento de diseos de sistemas digitales fuera especificado y simulado con precisin. Mientras que el lenguaje VHOL y el entomo de simulacin enUl importantes innovaciones por sf mismas, la utilidad y popularidad de VHDL dieron un salto cuntico con el desarrollo comercial de huramimtru de s(ntu is VHDL Estos programas pueden crear estructuras de circuito lgico directamente de descripciones de comportamiento VHDL. Si se utiliza VHDL, se puede disenar, simular y sintetizar cualquier cosa desde un circuito combinacional simple hasta un sistema microprocesador completo en un chip. VHDL fue estandarizado por cllEEE en 1987 (VHDL-87) y extendido en 1993 (VHDL- 93). En esta seccin \'eremos un subconj unto de caracteristicas del lenguaje que son legales bajo cualquier estndar. Describiremos carncteristicas adicionales para el diseo lgico secuencial en la seccin 7.12.

4.7.1 Flujo de diseoEs til comprender todo el ambiente de diseno VHDL antes de saltar al lenguaje mismo. Hay vurios pasos en un proceso de disei\o basado en VHOL, frecuentemente de nominado e1 j1ujo dt disto. Estos pasos son aplicables a cualquier proceso de diseo basado en VHDL y se resumen en la figura 4-50 de ltl pgina 266.

flujo dt distiiQ

Seccin 4.7

El lenguaje de descripcin de hardware VHDL

265

1m 9 n rol

ida po derecho de u

El denominado "componente frontal" o "interfaz de usuario" comienza con averiguar el enfoque bsico y bloques de construccin al nivel del diagrama de bloques. los diseos lgicos grandes, como programas de software, son por lo regular jerrquicos. y

VHDL proporciona un buen marco para definir mdulos y sus interfaces y completar losdetalles ms adelante. En el paso de ajust~, una hemun.ienta de ajuste o ajustador mapea las primitivas sintetizadas o componentes con relacin a los recursos disponibles del dispositivo. Para un PLD o CPlD, esto puede significar la asignacK'n de ecuaciones a elementos AND-OR que estn disponibles. Para un ASIe, puede significar dejar las compucr1as individuales en un patrn y haJlar fonnas para conectarlas dentro de las restricciones lIsicas del AStC; estO se conoce como el proceso de ubicacin y (!nrutam;(!nto. El disci\ador por lo regular puede especificar restricciones adicionales paro esta etapa. Iales como la colocxin de mdulos dentro de un chip o las asignx:iones de tcnninaJ para las tcnninales externas de cntrada y saJidn. Una vez que se ha escrito algo de cdigo. usted quemi compilarlo. nalUralmcnte. Un ronrpiladQr VHDL analiza su cdigo por si luviem ellores de sintaxis y taJubi~n verifica que sea compatible con otros mdulos de los que depende. Tambi~n crea la infonnacin interna que es necesaria para que un simulador procese su disei'io posterionnente. Como en otrosesfuerros de programacin. usted probablemente no esperara hasta el final de la codificaci6n para compilar todo su cdigo. Haciendo un segmento a la vez puede evitarse

"di/f)r de I~r/f) VUDL

m

lpro J

por

266

Capitulo 4 Principios de diseno lgico combinacional

pawsdolcomponente

!erarqulalI

-,codifleaci6n..J

trontal

diagrama

compilacin..J

de bloques : (muy doloroso!) . _. _. '

slmulad6nl varificaei6n

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