%!PS-Adobe-2.0 %%Creator: dvipsk 5.58a Copyright 1986, 1994 Radical Eye Software %%Title: two_phase.dvi %%Pages: 14 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentPaperSizes: a4 %%EndComments %DVIPSCommandLine: dvips two_phase %DVIPSParameters: dpi=300, compressed, comments removed %DVIPSSource: TeX output 1996.12.05:1448 %%BeginProcSet: texc.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet TeXDict begin 39158280 55380996 1000 300 300 (two_phase.dvi) @start /Fa 11 120 df<1238127C12FEA3127C1238070774861F>46 D97 D<137F3801FFC0000713E04813F0381F81F8383F0078003C133C127C0078131EA2B512FE A400F0C7FCA21278A2007C131E7E381F803EEBE07C380FFFF8000313F06C13E038003F80 171A7D991F>101 D104 D<38FC781E38FDFC7F39FFFEFF8090B5FC391F0FC3C0381E0781A3001C1301AE39FF8FE3 F8EB9FE7A2EB8FE31D1A80991F>109 D<13FCEA03FF481380001F13E01387383E01F038 7C00F800781378A248133CA76C137C00781378007C13F8A2383E01F0381F87E013FF0007 13806C1300EA00FC161A7C991F>111 D<387F87E038FF9FF8EBBFFE6CB5FC3807F83F90 38E00F80EBC007EC03C0138015E01401A6140315C0EBC0071580EBE00F9038F03F00EBFF FEEBBFFCEB9FF8EB87C00180C7FCA9EA7FF8487EA26C5A1B277F991F>I<3803FC70380F FFF0123F5AEA7C03EAF801EAF000A27E007C1300EA3FE06CB4FC000713C0C613E0EB07F0 EB00F80070137C00F0133CA27E6C137C38FF01F8EBFFF0A200E713C038E1FE00161A7C99 1F>115 D<137013F0A6387FFFFEB5FCA3D800F0C7FCACEC0780A49038F80F00EB7C1FEB 7FFE6D5A6D5AEB07E019217FA01F>I<397FE07FE039FFF0FFF0A2397FE07FE03907000E 00A2EB801E0003131CA2EBC03C00011338A2EBE07800001370A3EB70E0A3EB39C0A3EB1F 80A36DC7FC1C1A7F991F>118 D<39FFE07FF0A4391C000380A3001E1307000E1400A2EB 0F87A2131F000613C638071DCEA2133D14EEA2380338ECA21378EBF8FCEBF07CA23801E0 781C1A7F991F>I E /Fb 8 121 df<121C123E127FEAFF80A3EA7F00123E121CC7FCA912 1C123E127FEAFF80A3EA7F00123E121C091B7B9A13>58 D65 D100 DI105 D<38FFC07F9038C1FFC09038C787E0390FCE03F013D88113F0A213E0B03AFFFE3F FF80A3211B7D9A26>110 D<38FFE1FE9038E7FF809038FE07E0390FF803F0496C7E496C 7E818181A21680A716005DA25D4A5A01F05B6D485A9038FE0FE09038EFFF80D9E1FCC7FC 01E0C8FCA9EAFFFEA321277E9A26>112 D<39FFFC0FFFA33907F003C0D803F85B3801FC 076C6C48C7FCEBFF1E6D5AEB3FF86D5AA2130F130780497E497E131EEB3C7F496C7E496C 7ED801E07F3803C00F6E7E3AFFF01FFF80A3211B7F9A24>120 D E /Fc 9 117 df97 D<13F8EA0304120EEA1C0EEA181CEA30001270A25AA5 1304EA60081310EA3060EA0F800F127C9113>99 D<13F8EA0704120CEA1802EA38041230 EA7008EA7FF0EAE000A5EA60041308EA30101360EA0F800F127C9113>101 D103 DII<391C1E078039 266318C0394683A0E0384703C0008E1380A2120EA2391C0701C0A3EC0380D8380E1388A2 EC0708151039701C032039300C01C01D127C9122>109 D I<12035AA3120EA4EAFFE0EA1C00A35AA45AA4EAE080A2EAE100A2126612380B1A7C990E >116 D E /Fd 1 64 df63 D E /Fe 80 122 df34 DI<13 801201A2EA07E0EA1FF0EA39BCEA619CEAC18EA3EAE184EA7180127FEA1FE0EA0FF0EA01 F8139C138EEA418612E1A3EA718CEA39B8EA1FF0EA0FC0EA0180A212000F1D7E9914>I< EA3806EA7C0E126CEAEE1CA25BA2126CEA7C70123812005BA2485AA3485AA248C7FC130E 131FEA0E1BEB3B80A2121CA238381B00131FEA180E111D7F9914>I<1202120F121E127C 12F012600806799614>39 DI<128012C01260123012381218121C120EA312 07A9120EA3121C121812381230126012C01280081D7C9914>III<127012F812FCA2127C120C1218123012E012C0 060A798414>II<127012F8A312700505798414>I<1306130EA2 131CA21338A21370A213E0A2EA01C0A2EA0380A3EA0700A2120EA25AA25AA25AA25AA25A 0F1D7E9914>II<1203A25A5A123F12F712471207AEEA7FF0A2 0C177C9614>III<137813F8EA01B8A2EA0338A21206120E120C121C12 381230127012E0B51280A238003800A548B4FCA211177F9614>III<12E0EAFF FEA2EAE01C1338EA0030137013E013C0120113801203A2EA0700A4120EA612040F187E97 14>III<127012F8A312701200A6127012F8A312700510 798F14>I<127012F8A312701200A6126012F012F8A2127812181230127012E012800515 798F14>I<130E133E137C13F0EA03E0EA07C0EA1F00123E12F85A7E123E7EEA07C0EA03 E0EA00F0137C133E130E0F137E9414>II<124012E012F8127C121EEA0F80EA07C0EA01F0EA00F8133E131E133E13F8EA01F0 EA07C0EA0F80EA1E00127C5A12E012400F157E9514>I64 DII<3801F180EA07FFEA0E 1FEA1C071238EA7003A348C7FCA738700380A338380700121CEA0E0EEA07FCEA01F01117 7F9614>IIII<38FE3F80A238380E00A8EA3FFEA2EA380EA938FE3F80A211 177F9614>72 DII76 D<38FC1F80A2007C1300EA7637A4EA7777A2EA7367A313E7EA71C7A2EA7007A638F80F80 A211177F9614>I<38FE3F80A2383E0E00123BA4138E1239A213CEA31238A213EE136EA4 133E12FEA211177F9614>III82 DI<387FFF80B5FCEAE1C3A43801C000AFEA0FF8A211177F9614>I<38 FE0FE0A238380380B0381C0700A2EA0E0EEA07FCEA01F01317809614>I<38FC1F80A238 380E00A3EA3C1EEA1C1CA46C5AA4EA0630EA0770A3EA0360A213E0A26C5A11177F9614> I88 D<38FC1F80A238380E00EA3C1EEA 1C1CEA1E3CEA0E38A26C5AA2EA036013E0A26C5AA8EA07F0A211177F9614>III<12C07EA21270 A27EA27EA27EA27EA2EA0380A3EA01C0A2EA00E0A21370A21338A2131CA2130EA213060F 1D7E9914>II<1204121FEA7FC0EAF1E012E00B 057C9614>II97 D<12FCA2121CA513F8EA 1DFEEA1F07EA1E03001C1380EB01C0A6EB0380001E1300EA1F0EEA1DFCEA0CF812178096 14>II<137EA2130EA5EA07CEEA0FFEEA1C3EEA301EEA700E12E0A61270 EA301EEA383E381FEFC0EA07CF12177F9614>II<13FCEA 01FEEA038EEA07041300A3EA7FFE12FFEA0700ACEAFFF8A20F177F9614>II<12FCA2121CA513 78EA1DFEEA1F86EA1E07121CAA38FF8FE0A21317809614>I<1206120FA21206C7FCA4B4 FCA21207ACEAFFF8A20D187C9714>I<12FCA2121CA5EBFF80A2EB1C005B5B5BEA1DC0EA 1FE0A2EA1E70EA1C38133C131C7F38FF1F80A21117809614>107 DII IIIII I<1206120EA4EA7FFC12FFEA0E00A8130EA3131CEA07F8EA01F00F157F9414>II<38FE3F80A2383C1E00EA1C1CA36C5A A3EA0630EA0770A36C5AA311107F8F14>I<38FE3F80A238700700EA380EA3EA39CEA3EA 1B6C121AA3EA1E7CA2EA0E3811107F8F14>II<38FE3F80A2381C0E005B A2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7FC127E123C11187F8F 14>I E /Ff 2 85 df77 D<381FFFF838381C18EA2038140812401410EA807000001300A35BA4485AA4 485AEA3FF81514809314>84 D E /Fg 2 16 df0 D15 D E /Fh 9 115 df<3801FFE038003C001338A45BA45BA4485AA43803 8002A31404EA0700140C14181438000E13F0B5FC171C7E9B1C>76 D<39FFC00FF0391C00038015001402A25C5C121E000E5B143014205CA25C49C7FC120FEA 07025BA25BA25B5BEA03A013C05BA290C8FCA21C1D7D9B18>86 D<3A01FFC0FF803A001E 003C00011C13306D13205D010F5B6D48C7FC1482EB038414CCEB01D814F05C130080EB01 70EB0278EB04381308EB103CEB201CEB401EEB800E3801000F00027F1206001E497E39FF 803FF0211C7F9B22>88 D101 D103 D105 D 108 D<13F8EA030CEA0E06487E1218123000701380A238E00700A3130EA25BEA60185BEA 30E0EA0F8011127E9114>111 D114 D E /Fi 60 122 df35 D<13C01201A3EA07F0EA1FFC487EEA7DCF3871C780EAE1C313C7A238F1C300EA79C0123F EA1FF0EA07FCEA01FE13CF13C73861C38012F1A212E13871C700EA79DFEA3FFEEA1FF8EA 07E0EA01C0A2120011207E9C16>I39 D<13E01201EA0380EA0700120E5AA25AA25AA35AA91270A37EA27EA27E7EEA0380EA01E0 12000B217A9C16>I<12C07E12707E7E7EA27EA2EA0380A3EA01C0A9EA0380A3EA0700A2 120EA25A5A5A5A5A0A217B9C16>I<13E0A8B512E0A33800E000A813137F9516>43 D<1238127C127EA2123E120E121E121C127812F01260070B798416>II<127012F8A312700505788416>I48 D<12035AA25A5AB4FCA212E71207AEEAFFF8A30D197B9816>III<137C13FC13DC1201EA039CA2EA071C120F120E121E123C123812 7812F0B512E0A338001C00A53801FFC0A313197F9816>I<13F8EA03FC487EEA0F07EA1C 0F1238EA78060070C7FCA2EAE3F8EAEFFCB47EEAF80F487EEB038012E0A21270A2130700 381300EA3C1EEA1FFC6C5AEA03E011197E9816>54 D56 DI<127012F8A312701200A8127012F8A3 12700512789116>I60 D<12C012F012FC123EEA0F806C7EEA01F06C7E133EEB1F801307131FEB3E0013F8485AEA 07C0485A003EC7FC12FC12F012C011157E9616>62 D<13F8EA03FC487EEA0F07381C3B80 EA38FF12793873C7C01383EAE701A73873838013C73879FF00EA38FEEA1C38380F03C0EA 07FF6C1300EA00FC12197E9816>64 D<13E0487EA213B0A2EA03B8A31318EA071CA5EA0E 0EA2EA0FFEA2487EEA1C07A3387E0FC038FF1FE0387E0FC013197F9816>II<3801F180EA07FBEA0FFFEA1F0FEA3C07EA38031270 A200F0C7FC5AA77E38700380A21238383C0700EA1F0FEA0FFE6C5AEA01F011197E9816> I<387FFFE0B5FC7EEA1C00A41400A2131CA2EA1FFCA3EA1C1CA290C7FCA6EA7F80487E6C 5A13197F9816>70 D73 D<48B4FC4813806C1300EA001CB0126012F05BEA7FF85BEA1FC011197E9816>I<38 FC07E0EAFE0FA2383A0B80EA3B1BA513BBEA39B3A413F3EA38E3A21303A538FE0FE0A313 197F9816>77 D<387E07F038FF0FF8387F07F0381D81C0A313C1121C13E1A213611371A3 13311339A21319131D130DA3EA7F07EAFF87EA7F031519809816>I82 DI<387FFFE0B5FCA2EAE0E0A400001300AFEA07FC487E6C5A13197F9816>I<387F07 F038FF8FF8387F07F0381C01C0B0380E0380A23807070013FF6C5AEA00F81519809816> I<38FE0FE0A338380380EA3C07001C1300A3EA1E0FEA0E0EA46C5AA4EA031813B8A3EA01 B013F0A26C5A13197F9816>I<387E03F038FF07F8387E03F0383800E0A4381C01C0A313 7113F9A213D9A2000C1380A3EA0DDD138DA338078F00A213071519809816>I95 D97 D<12FCA3121CA4137CEA1DFEEA1FFF EB0780381E03C0EA1C01EB00E0A6EB01C0EA1E03381F0780EBFF00EA1DFEEA0C7813197F 9816>II<133FA31307A4EA03C7EA0FF748B4FCEA3C1F487EEA7007 12E0A6EA700F12786C5A381FFFE0EA0FF7EA07C713197F9816>II<131E137F3801FF8013C7380383001380A2EA7FFFB5FCA2EA0380ACEA 7FFC487E6C5A11197F9816>I<3803E3C03807F7E0EA0FFF381C1CC038380E00A56C5AEA 0FF8485AEA1BE00038C7FC1218EA1FFC13FF481380387003C038E000E0A4387001C0EA7C 07383FFF80380FFE00EA03F8131C7F9116>I<12FCA3121CA41378EA1DFCEA1FFE130FEA 1E07121CAA38FF8FE0139F138F13197F9816>I<1203EA0780A2EA0300C7FCA4EAFF80A3 1203ACEAFFFC13FE13FC0F1A7C9916>I<127E12FE127E120EA4EB7FE0A3EB0F00131E5B 5B5B120F7F13BC131EEA0E0E7F1480387F87F0EAFFCFEA7F871419809816>107 DI<38F9C38038FFEFC0EB FFE0EA3C78A2EA3870AA38FE7CF8A31512809116>IIII<3803E380EA0FF3EA1FFBEA3E0FEA78071270EAE003 A6EA70071278EA3C1FEA1FFBEA0FF3EA03E3EA0003A6EB1FF0EB3FF8EB1FF0151B7F9116 >I<387F0FC038FF3FE0EA7F7F3807F040EBC0005BA290C7FCA8EA7FFC12FF127F13127F 9116>II<12035AA4EA7FFFB5FCA20007C7 FCA75BEB0380A3EB8700EA03FE6C5A6C5A11177F9616>II<387F1FC038FF9FE0387F1FC0381C0700A2EA0E0EA3 6C5AA4EA03B8A3EA01F0A26C5A13127F9116>I<38FF1FE0A338380380A4EA39F3A20019 130013B3A3EA1DB71317EA1F1FEA0F1EEA0E0E13127F9116>I<387F1FC0133F131F380F 1E006C5AEA03B813F012016C5A12017FEA03B8EA073C131CEA0E0E387F1FC038FF3FE038 7F1FC013127F9116>I<387F1FC038FF9FE0387F1FC0381C0700120E130EA212075BA2EA 039CA21398EA01B8A2EA00F0A35BA3485A1279127BEA7F8090C7FC123C131B7F9116>I E /Fj 65 123 df11 D<137E3801C180EA0301380703C0120EEB 018090C7FCA5B512C0EA0E01B0387F87F8151D809C17>I34 D<126012F012F812681208A3 1210A2122012401280050C7C9C0C>39 D<1380EA0100120212065AA25AA25AA35AA412E0 AC1260A47EA37EA27EA27E12027EEA0080092A7C9E10>I<7E12407E12307EA27EA27EA3 7EA41380AC1300A41206A35AA25AA25A12205A5A092A7E9E10>I<126012F0A212701210 A41220A212401280040C7C830C>44 DI<126012F0A212600404 7C830C>I48 D<5A1207123F12C71207B3A5EAFFF80D 1C7C9B15>III<130CA2131C133CA2135C13DC139CEA011C120312021204120C120812101230122012 4012C0B512C038001C00A73801FFC0121C7F9B15>II<13F0EA030CEA0404EA0C0EEA181E1230130CEA7000A21260 EAE3E0EAE430EAE818EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA1818EA0C 30EA03E0101D7E9B15>I<1240387FFF801400A2EA4002485AA25B485AA25B1360134013 C0A212015BA21203A41207A66CC7FC111D7E9B15>III<126012F0A212601200AA1260 12F0A2126004127C910C>I<126012F0A212601200AA126012F0A212701210A41220A212 401280041A7C910C>I<1306A3130FA3EB1780A2EB37C01323A2EB43E01341A2EB80F0A3 38010078A2EBFFF83802003CA3487FA2000C131F80001E5BB4EBFFF01C1D7F9C1F>65 DI70 D<39FFF0FFF0390F000F00AC90 B5FCEB000FAD39FFF0FFF01C1C7F9B1F>72 D I76 DIII81 DI<3807E080EA1C19EA30 051303EA600112E01300A36C13007E127CEA7FC0EA3FF8EA1FFEEA07FFC61380130FEB07 C0130313011280A300C01380A238E00300EAD002EACC0CEA83F8121E7E9C17>I<007FB5 12C038700F010060130000401440A200C014201280A300001400B1497E3803FFFC1B1C7F 9B1E>I<39FFE00FF0391F0003C0EC01806C1400A238078002A213C000035BA2EBE00C00 011308A26C6C5AA213F8EB7820A26D5AA36D5AA2131F6DC7FCA21306A31C1D7F9B1F>86 D<3AFFE1FFC0FF3A1F003E003C001E013C13186C6D1310A32607801F1320A33A03C02780 40A33A01E043C080A33A00F081E100A39038F900F3017913F2A2017E137E013E137CA201 3C133C011C1338A20118131801081310281D7F9B2B>I<39FFF07FC0390FC01E00380780 0CEBC00800035B6C6C5A13F000005BEB7880137C013DC7FC133E7F7F80A2EB13C0EB23E0 1321EB40F0497E14783801007C00027F141E0006131F001F148039FF807FF01C1C7F9B1F >I<12FEA212C0B3B312FEA207297C9E0C>91 DI<12FEA21206B3B312FEA20729809E0C>I< EA1FC0EA3070EA78387F12301200A2EA01FCEA0F1C12381270126000E01340A3EA603C38 304E80381F870012127E9115>97 D<12FC121CAA137CEA1D87381E0180381C00C014E014 601470A6146014E014C0381E018038190700EA10FC141D7F9C17>IIII<13F8EA018CEA071E1206EA 0E0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C0D>II<12FC121CAA13 7C1387EA1D03001E1380121CAD38FF9FF0141D7F9C17>I<1218123CA21218C7FCA712FC 121CB0EAFF80091D7F9C0C>I<12FC121CAAEB0FE0EB0780EB06005B13105B5B13E0121D EA1E70EA1C781338133C131C7F130F148038FF9FE0131D7F9C16>107 D<12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C838838391D019018001EEBE0 1C001C13C0AD3AFF8FF8FF8021127F9124>IIII<3803E080EA0E19EA1805EA3807EA7003A212E0A61270A2EA38071218EA0E1BEA03 E3EA0003A7EB1FF0141A7F9116>III<1204A4120CA2121C123CEAFFE0 EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD1307120CEA0E 1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A2EA0F06EA0704A2 EA0388A213C8EA01D0A2EA00E0A3134013127F9116>I<39FF3FC7E0393C0703C0001CEB 01801500130B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB8030 000013201B127F911E>I<38FF0FE0381E0700EA1C06EA0E046C5AEA039013B0EA01E012 007F12011338EA021C1204EA0C0E487E003C138038FE1FF014127F9116>I<38FF07E038 3C0380381C0100A2EA0E02A2EA0F06EA0704A2EA0388A213C8EA01D0A2EA00E0A31340A2 5BA212F000F1C7FC12F312661238131A7F9116>I I E /Fk 31 123 df<127012F812FCA212741204A41208A21210A212201240060F7C840E >44 DI<127012F8A3127005057C840E>I<13801203120F12F312 03B3A9EA07C0EAFFFE0F217CA018>49 D<00101380381E0700EA1FFF5B13F8EA17E00010 C7FCA6EA11F8EA120CEA1C07381803801210380001C0A214E0A4127012F0A200E013C012 80EA4003148038200700EA1006EA0C1CEA03F013227EA018>53 D<137EEA01C138030080 380601C0EA0C03121C381801800038C7FCA212781270A2EAF0F8EAF30CEAF4067F00F813 80EB01C012F014E0A51270A3003813C0A238180380001C1300EA0C06EA070CEA01F01322 7EA018>I57 D66 D<903807E0109038381830EBE00639 01C0017039038000F048C7FC000E1470121E001C1430123CA2007C14101278A200F81400 A812781510127C123CA2001C1420121E000E14407E6C6C13803901C001003800E002EB38 1CEB07E01C247DA223>II75 D82 D<3803F020380C0C60EA1802383001E0EA7000 0060136012E0A21420A36C1300A21278127FEA3FF0EA1FFE6C7E0003138038003FC0EB07 E01301EB00F0A214707EA46C1360A26C13C07E38C8018038C60700EA81FC14247DA21B> I<007FB512F839780780780060141800401408A300C0140C00801404A400001400B3A349 7E3801FFFE1E227EA123>I97 D<120E12FE121E120EAB131FEB61C0EB8060380F0030000E1338143C141C141EA7141C14 3C1438000F1370380C8060EB41C038083F0017237FA21B>II101 D<14703803F198380E1E18EA1C0E38380700A200781380A400381300A2EA1C0EEA1E1CEA 33F00020C7FCA212301238EA3FFE381FFFC06C13E0383000F0481330481318A400601330 A2003813E0380E03803803FE0015217F9518>103 D<120E12FE121E120EABEB1F80EB60 C0EB80E0380F0070A2120EAF38FFE7FF18237FA21B>I<13E0EA01F0A3EA00E01300A813 70EA07F012001370B3A51260EAF0E013C0EA6180EA3F000C2C83A10F>106 D<390E1FC07F3AFE60E183803A1E807201C03A0F003C00E0A2000E1338AF3AFFE3FF8FFE 27157F942A>109 D<380E1F8038FE60C0381E80E0380F0070A2120EAF38FFE7FF18157F 941B>II114 DI<1202A41206A3120E121E123EEAFFFCEA0E00AB1304A6EA 07081203EA01F00E1F7F9E13>I<000E137038FE07F0EA1E00000E1370AD14F0A2380601 70380382783800FC7F18157F941B>I<38FF80FE381E00781430000E1320A26C1340A2EB 80C000031380A23801C100A2EA00E2A31374A21338A3131017157F941A>I<38FF80FE38 1E00781430000E1320A26C1340A2EB80C000031380A23801C100A2EA00E2A31374A21338 A31310A25BA35B12F05B12F10043C7FC123C171F7F941A>121 D<383FFFC038380380EA 300700201300EA600EEA401C133C1338C65A5B12015B38038040EA07005A000E13C04813 805AEA7801EA7007B5FC12157F9416>I E /Fl 23 122 df45 D73 D76 DI80 D<90387F80203801FFE03907C07860380F001C001EEB06 E048130300381301007813001270156012F0A21520A37E1500127C127E7E13C0EA1FF86C B47E6C13F06C13FCC613FF010F1380010013C0EC1FE01407EC03F01401140015F8A26C14 78A57E15706C14F015E07E6CEB01C000ECEB038000C7EB070038C1F01E38807FFCEB0FF0 1D337CB125>83 D86 D<13FE380303C0380C00E00010137080003C133C 003E131C141EA21208C7FCA3EB0FFEEBFC1EEA03E0EA0F80EA1F00123E123C127C481404 A3143EA21278007C135E6CEB8F08390F0307F03903FC03E01E1F7D9E21>97 D99 D<15F0141FA214011400AFEB0FC0EB70303801C00C3803800238070001120E 001E13005AA2127C1278A212F8A71278A2127C123CA27E000E13016C1302380380046C6C 487E3A00F030FF80EB1FC021327EB125>II<15F090387F03083901C1C4 1C380380E8390700700848EB7800001E7FA2003E133EA6001E133CA26C5B6C13706D5A38 09C1C0D8087FC7FC0018C8FCA5121C7E380FFFF86C13FF6C1480390E000FC00018EB01E0 48EB00F000701470481438A500701470A26C14E06CEB01C00007EB07003801C01C38003F E01E2F7E9F21>103 DI<1207EA0F8012 1FA2120FEA0700C7FCABEA0780127FA2120F1207B3A6EA0FC0EAFFF8A20D307EAF12>I< EA078012FFA2120F1207B3B3A7EA0FC0EAFFFCA20E327EB112>108 D<260780FEEB1FC03BFF83078060F0903A8C03C180783B0F9001E2003CD807A013E4DA00 F47F01C013F8A2495BB3A2486C486C133F3CFFFC1FFF83FFF0A2341F7E9E38>I<380780 FE39FF83078090388C03C0390F9001E0EA07A06E7E13C0A25BB3A2486C487E3AFFFC1FFF 80A2211F7E9E25>II<3801FC10380E0330381800F048 137048133012E01410A37E6C1300127EEA3FF06CB4FC6C13C0000313E038003FF0EB01F8 13006C133CA2141C7EA27E14186C1338143000CC136038C301C03880FE00161F7E9E1A> 115 D<1340A513C0A31201A212031207120F381FFFE0B5FC3803C000B01410A800011320 13E000001340EB78C0EB1F00142C7FAB19>III121 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%PaperSize: a4 %%BeginPaperSize: a4 a4 %%EndPaperSize %%EndSetup %%Page: 1 1 1 0 bop -54 182 a Fl(Mo)r(deling)20 b(Multi-Phase)h(Systems)f(and)h (Lev)n(el)h(Sensitiv)n(e)f(Latc)n(hes)i(in)e(VIS)714 302 y Fk(Szu-Tsung)d(Cheng)661 360 y(Ra)s(jeev)e(Kumar)f(Ranjan)700 418 y(Rob)q(ert)i(K.)e(Bra)o(yton)713 516 y(Decem)o(b)q(er)f(5,)i(1996) -126 669 y Fj(This)e(do)q(cumen)o(t)g(describ)q(es)j(ho)o(w)d(to)g(mo)q (del)f(m)o(ulti-phase)g(latc)o(hes)i(as)g(w)o(ell)f(as)g(lev)o(el)g (sensitiv)o(e)h(latc)o(hes)h(using)e(the)h(\\syn)o(thesizable)-188 719 y(subset)g(of)e(V)m(erilog)g(for)g Fi(vl2mv)p Fj(".)-126 769 y(First,)h(an)h(example)e(V)m(erilog)h(program)f(is)h(will)f(b)q(e) i(giv)o(en)f(\(whic)o(h)h(consists)h(of)e(latc)o(hes)h(con)o(trolled)f (b)o(y)g(the)i(rising)e(or)g(falling)f(edges)-188 819 y(of)i(a)h(clo)q(c)o(k\).)25 b(The)17 b(example)e(also)g(includes)i(a)f (lev)o(el)g(sensitiv)o(e)h(latc)o(h.)24 b(W)m(e)16 b(will)f(con)o(v)o (ert)i(the)g(V)m(erilog)e(in)o(to)g(BLIF-MV)i(using)f Fi(vl2mv)-188 869 y Fj(and)e(sim)o(ulate)f(the)i(extracted)i(FSM)e (using)f(VIS.)g(W)m(e)h(will)e(then)i(demonstrate)g(ho)o(w)g(to)f (write)h(a)g(V)m(erilog)e(wrapp)q(er)j(to)e(pic)o(k)h(up)g(input)-188 918 y(v)o(ectors)i(and)f(apply)f(it)h(to)g(the)h(example)e(circuit.)25 b(A)17 b Fh(V)9 b(er)q(il)q(og)k Fg(\000)e Fh(X)s(L)950 903 y Ff(T)t(M)1028 918 y Fj(sim)o(ulation)j(trace)j(deriv)o(ed)g(from) d(the)j(wrapp)q(er)g(is)f(sho)o(wn.)-188 968 y(Finally)m(,)11 b(w)o(e)j(compare)f(the)i(sim)o(ulation)c(outputs)j(from)e(VIS)i(and)g Fh(V)9 b(er)q(il)q(og)j Fg(\000)d Fh(X)s(L)p Fj(.)-126 1018 y(By)18 b(default,)h Fi(vl2mv)e Fj(treats)i(input)f(programs)f(as) i(FSMs)f(con)o(trolled)h(b)o(y)f(only)f(one)h(clo)q(c)o(k.)32 b(F)m(or)17 b(suc)o(h)i(programs,)f(the)h(clo)q(c)o(k)f(of)-188 1068 y(a)e(system)h(is)g(merely)g(used)h(to)f(sync)o(hronize)h(all)e (the)i(state)g(v)n(ariables.)27 b(Therefore,)19 b Fi(vl2mv)d Fj(simply)f(drops)j(these)h(clo)q(c)o(ks,)f(and)f(state)-188 1118 y(v)n(ariables)c(\(BLIF-MV)h Fi(.latch)p Fj(\))f(are)h(allo)q (cated)g(for)f(register)i(v)n(ariables)e(\(V)m(erilog)g Fi(reg)p Fj(\).)-126 1168 y(Ho)o(w)o(ev)o(er,)h(a)f(m)o(ulti-phase)f (\(or)i(lev)o(el)g(sensitiv)o(e\))g(design)h(similar)c(to)j(the)g (follo)o(wing)d(\()p Fi(two_phase.v)p Fj(\))h(can)i(also)g(b)q(e)g (describ)q(ed:)-188 1246 y Fe(module)j(two_phase)o(\(cl)o(k,)f(in1,)i (in2,)g(in3,)g(in4,)g(out1,)g(out2,)g(out3,)f(out4\);)-188 1292 y(input)g(clk;)-188 1338 y(input)g([3:0])h(in1;)-188 1383 y(input)f([3:0])h(in2;)-188 1429 y(input)f([1:0])h(in3;)-188 1475 y(input)f([1:0])h(in4;)-188 1520 y(output)f([1:0])g(out1;)-188 1566 y(output)g(out2;)-188 1612 y(output)g([1:0])g(out3;)-188 1657 y(output)g([1:0])g(out4;)-188 1749 y(reg)h([1:0])g(out1;)-188 1794 y(reg)g(out2;)-188 1840 y(reg)g([1:0])g(out3;)-188 1886 y(reg)g([1:0])g(out4;)-188 1977 y(initial)e(out1)i(=)i(0;)-188 2023 y(initial)c(out2)i(=)i(0;)-188 2068 y(initial)c(out3)i(=)i(0;)-188 2160 y(//)e(Process)f(1)i(--)g(Phase)f(1)h(process,)e(out1)h(is)h (updated)e(on)h(rising)g(edge)g(of)h(clk)-188 2205 y(always)e (@\(posedge)f(clk\))-110 2251 y(begin)-110 2297 y(out1)i(=)h(in1)g(+)g (in2;)-110 2342 y(end)-188 2434 y(//)f(Process)f(2)i(--)g(Phase)f(2)h (process,)e(out2)h(is)h(updated)e(on)h(falling)f(edge)h(of)h(clk)-188 2479 y(//)273 b(Note:)18 b(^)h(is)g(bitwise)e(exclusive)f(XOR.)-188 2525 y(always)h(@\(negedge)f(clk\))-110 2571 y(begin)-110 2616 y(out2)i(=)h(in1[0])f(^)h(in1[1];)-110 2662 y(end)-188 2753 y(//)f(Process)f(3)i(--)g(Phase)f(1)h(process,)e(out3)h(is)h (updated)e(on)h(rising)g(edge)g(of)h(clk)892 2904 y Fj(1)p eop %%Page: 2 2 2 1 bop -188 7 a Fe(always)17 b(@\(negedge)f(clk\))-110 53 y(begin)-110 99 y(out3)i(=)h(in3)g(-)g(in4;)-110 144 y(end)-188 235 y(//)f(Process)f(4)i(--)-188 281 y(//)f(out4)g(is)h(a)g (level)f(sensitive)e(latch,)i(which)f(is)i(transparen)o(t)e(on)h (clk==1)-188 327 y(always)f(@\(clk)g(or)i(\(in1)f(-)i(in2\)\))-110 372 y(begin)-110 418 y(if)f(\(clk\))-32 464 y(out4)f(=)i(in1)e(-)h (in2;)-110 509 y(end)-188 601 y(endmodul)o(e)-188 684 y Fj(Here)e(di\013eren)o(t)g(pro)q(cesses)h(\(V)m(erilog)d Fi(always)g Fj(statemen)o(ts\))h(are)g(activ)n(ated)g(at)g(di\013eren)o (t)h(time)d(p)q(oin)o(ts.)24 b(In)16 b(this)g(case,)h(the)g Fi(-c)e Fj(option)-188 734 y(of)h Fi(vl2mv)f Fj(should)i(b)q(e)g(used)h (to)f(direct)g Fi(vl2mv)f Fj(to)h(in)o(terpret)h(the)f(circuit)g(in)g (\\explicit)f(clo)q(c)o(king")g(mo)q(de)g([)p Fd(?)p Fj(].)25 b(In)17 b(this)g(mo)q(de,)f Fi(vl2mv)-188 783 y Fj(con)o(v)o(erts)i(ev)o(en)o(t)g(guards)f(\(V)m(erilog)g Fi(@)g Fj(constructs\))i(in)o(to)e(edge-detectors)j([)p Fd(?)p Fj(].)27 b(This)17 b(w)o(a)o(y)m(,)g(di\013eren)o(t)h(clo)q(c)o (k)g(phases)g(can)f(b)q(e)h(detected)-188 833 y(b)o(y)c(di\013eren)o(t) i(ev)o(en)o(t-detectors)h(and)d(th)o(us)h(\014re)h(di\013eren)o(t)f (pro)q(cesses.)23 b(Note,)15 b(the)g(extracted)h(FSM)f(can)g(only)f (serv)o(e)i(as)e(a)h(mo)q(del)e(of)h(the)-188 883 y(original)e (program;)f(it)j(ma)o(y)e(lo)q(ok)h(v)o(ery)h(unlik)o(e)f(the)i (corresp)q(onding)f(hardw)o(are.)-126 933 y(F)m(or)f(reference,)i(at)f (the)g(end)g(of)f(this)g(do)q(cumen)o(t)g(is)h(the)g(extracted)h (BLIF-MV)f(\014le)f(for)g(the)h(ab)q(o)o(v)o(e)f(V)m(erilog)g(example.) j(One)f(can)e(see)-188 983 y(that)g(the)i(pro)q(cess)-188 1070 y Fe(always)i(@\(negedge)f(clk\))-110 1116 y(begin)-110 1161 y(out3)i(=)h(in3)g(-)g(in4;)-110 1207 y(end)-188 1298 y Fj(is)13 b(con)o(v)o(erted)i(in)o(to)-138 1389 y(1.)20 b(an)c(edge-detector)j(\(whic)o(h)d(consists)i(of)e(a)g(latc)o (h)g(used)h(to)f(remem)o(b)q(er)g(the)h(previous)f(v)n(alue)g(of)g Fi(clk)f Fj(and)i(an)f(xor)g(gate)g(used)i(to)-85 1439 y(detect)e(v)n(alue)d(c)o(hange\),)-138 1522 y(2.)20 b(a)15 b(sequencer)j(\(or)d Fc(timing)h(machine)g Fj([)p Fd(?)p Fj(]\))21 b(whic)o(h)16 b(serv)o(es)g(as)g(a)f(program)f(coun)o (ter)i(to)f(pin-p)q(oin)o(t)f(the)i(curren)o(t)h Fi(@)e Fj(of)g(a)g(sequen)o(tial)-85 1572 y(pro)q(cess\))-138 1655 y(3.)20 b(the)15 b(necessary)h(logic)d(used)h(to)g(implemen)o(t)d Fi(in3)21 b(-)h(in4)13 b Fj(and)-138 1738 y(4.)20 b(resolution)14 b(logic)f(\(used)i(to)f(resolv)o(e)g(the)g(p)q(ossible)h(con)o(ten)o (tion)f(if)f(m)o(ultiple)e(pro)q(cesses)17 b(assign)c(to)h(the)h(same)e (v)n(ariable\).)-188 1830 y(It)h(is)h(easy)g(to)g(man)o(ually)c(con)o (v)o(ert)16 b(the)f(pro)q(cess)h(in)o(to)e(a)h(edge-triggered)h(latc)o (h)e(with)g(input)h(from)e(a)h(subtracter.)23 b(It)14 b(is)h(not)g(so)f(ob)o(vious)-188 1879 y(b)o(y)f(lo)q(oking)f(at)i(the) h(BLIF-MV)f(\014le.)-126 1929 y(\\)p Fi(vl2mv)20 b(-c)i(-F)f (two_phase.v)p Fj(")15 b(\(explicit)j(clo)q(c)o(king,)f(and)h(no)f (timed)g(R)o(Q-automata)e(generation\))j(can)g(b)q(e)g(used)h(to)e (extract)i(a)-188 1979 y(BLIF-MV)14 b(\014le)g(\()p Fi(two_phase.mv)p Fj(\))f(from)f(the)j(ab)q(o)o(v)o(e)f(program.)k(The)c Fi(-F)g Fj(option)g(mak)o(es)f Fi(vl2mv)g Fj(thro)o(w)h(a)o(w)o(a)o(y)f (timing)f(information)g(\()p Fi(#)-188 2029 y Fj(in)j(V)m(erilog\))h (in)g(a)g(program.)24 b(If)16 b(timing)e(information)f(is)j(not)h(thro) o(wn)f(a)o(w)o(a)o(y)m(,)f Fi(blif-mvt)g Fj(\(a)h(timed)f(extension)i (of)f Fi(blif-mv)p Fj(\))f(will)g(b)q(e)-188 2079 y(generated.)j(VIS)12 b(do)q(es)h(not)e(recognize)i Fi(blif-mvt)p Fj(.)j(Before)d(applying)d Fi(-F)i Fj(option,)f(mak)o(e)f(sure)j(that)f(dela)o(ys)f(\()p Fi(#)p Fj(\))h(in)g(the)g(source)h(program)-188 2128 y(can)h(b)q(e)g(safely)g(remo)o(v)o(ed)f(without)g(a\013ecting)h(the)h (b)q(eha)o(vior)e(of)h(the)g(program.)-126 2178 y(In)21 b(the)g(generated)i(BLIF-MV)e(\014le,)h(one)f(sees)i(latc)o(hes)e(not)g (only)f(for)h Fi(out1)p Fj(,)g Fi(out2)p Fj(,)h Fi(out3)p Fj(,)f(and)g Fi(out4)f Fj(but)h(also)g Fi(clk$prev0)-188 2228 y(clk$prev1)p Fj(,)7 b Fi(clk$prev2)p Fj(,)h Fi(clk$prev3)p Fj(,)g(\(used)i(to)f(c)o(hec)o(k)i(v)n(alue)d(c)o(hange)i(of)f Fi(clk)p Fj(\))f(and)h Fi(_n46$prev4<0>)p Fj(,)e Fi(_n46$prev4<1>)p Fj(,)g Fi(_n46$prev4<2>)p Fj(,)-188 2278 y Fi(_n46$prev4<3>)p Fj(,)h(\(used)13 b(to)f(c)o(hec)o(k)g(v)n(alue)f(c)o(hange)h(of)f Fi(in1-in2)p Fj(\).)16 b(These)d(are)f(used)h(in)e(\\edge-detectors";)j (one)e(edge-detector)i(p)q(er)e(eac)o(h)-188 2328 y(pro)q(cess.)25 b(In)16 b(addition,)f Fi(000001)e Fj(\()p Fi(000002)p Fj(,)h Fi(000003)p Fj(,)g Fi(000004)p Fj(\))g(are)j(created,)g (whic)o(h)f(are)g(pro)q(cess)h(lo)q(cation)e(coun)o(ters)-188 2377 y(\(a)e(state)i(in)e(a)h Fc(timing)g(machine)p Fj(\))h(used)g(to)f (k)o(eep)g(trac)o(k)g(of)g(the)g(lo)q(cation)f(of)g(eac)o(h)i(pro)q (cess.)-126 2427 y(Next)h(w)o(e)f(sim)o(ulate)f(the)i(extracted)g(FSM)g (using)f(VIS')g(FSM)g(sim)o(ulator.)20 b(W)m(e)15 b(use)h(input)f(v)o (ectors)i(to)e(explicitly)f(con)o(trol)h(the)h Fi(clk)-188 2477 y Fj(signal.)j(The)c(same)f(tec)o(hnique)i(can)f(b)q(e)g(used)h (to)f(exercise)h(circuits)g(con)o(trolled)e(b)o(y)h(more)e(than)i(one)g (clo)q(c)o(k.)21 b(Note)15 b(that)g(since)g(register)-188 2527 y(v)n(ariable)d Fi(out4)g Fj(is)h(not)g(initialized,)e(w)o(e)j(ha) o(v)o(e)f(\\quasi-inputs")f(\()p Fi(out4<0>$INIT)f Fj(and)i Fi(out4<1>$INIT)p Fj(\))d(for)j(a)g(nondeterministic)g(initial)-188 2577 y(state.)k(Also)11 b(note)g(that)g(curren)o(tly)h(the)f (nondeterminism)e(is)i(not)f(used)i(b)o(y)f(the)g(VIS)g(sim)o(ulator)e (\(whic)o(h)h(w)o(e)h(will)f(observ)o(e)i(later\).)17 b Fi(in1<0>)-188 2627 y Fj(is)c(the)i(l.s.b.)i(of)c(v)o(ector)i Fi(in1)e Fj(and)h Fi(in1<3>)e Fj(is)i(the)g(m.s.b.)j(of)c Fi(in1)p Fj(.)-188 2736 y(Stim)o(ulus)f(v)o(ector)i(\014le)g(\()p Fi(two_phase.vect)p Fj(\):)892 2904 y(2)p eop %%Page: 3 3 3 2 bop -188 7 a Fe(.inputs)36 b(clk)18 b(in1<0>)g(in1<1>)f(in1<2>)g (in1<3>)h(in2<0>)f(in2<1>)g(in2<2>)h(in2<3>)f(in3<0>)g(in3<1>)g(in4<0>) h(in4<1>)f(\\\\)-110 53 y(out4<0>$I)o(NIT)f(out4<1>$I)o(NIT)-188 99 y(.latches)g(000001)g(000002)g(000003)g(000004)h (_n46$prev)o(4<)o(0>)f(_n46$prev4)o(<1>)g(_n46$prev)o(4<2)o(>)g (_n46$prev4<)o(3>)g(\\\\)-110 144 y(clk$prev0)g(clk$prev1)g(clk$prev2)g (clk$prev3)h(out1<0>)f(out1<1>)h(out2)h(out3<0>)f(out3<1>)g(out4<0>)g (out4<1>)-188 190 y(.outputs)f(out1<0>)h(out1<1>)g(out2)h(out3<0>)f (out3<1>)g(out4<0>)g(out4<1>)-188 235 y(.initial)f(<1>)i(<2>)h(<3>)f (<4>)h(0)g(0)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(1)g(1)-188 327 y(.start_v)o(ect)o(or)o(s)-188 418 y(#)g(clk)f(in1<0>)f(in1<1>)h (in1<2>)f(in1<3>)g(in2<0>)h(in2<1>)f(in2<2>)g(in2<3>)h(in3<0>)f(in3<1>) g(in4<0>)g(in4<1>)h(out4<0>$I)o(NIT)e(out4<1>$I)o(NI)o(T)-188 464 y(0)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(0)g(0)h(0)38 b(0)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 509 y(1)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(0)g(0)h(0)38 b(0)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 555 y(0)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(0)g(0)h(0)38 b(0)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 601 y(1)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(0)g(0)h(0)38 b(0)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 646 y(0)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(0)g(0)h(0)38 b(0)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 692 y(1)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(0)g(0)h(0)38 b(0)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 738 y(0)38 b(0)20 b(0)f(0)g(1)39 b(0)19 b(0)g(0)h(0)38 b(1)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 783 y(1)38 b(0)20 b(0)f(0)g(1)39 b(0)19 b(0)g(0)h(0)38 b(1)20 b(0)38 b(0)20 b(0)39 b(0)19 b(0)-188 829 y(0)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(1)g(0)h(1)38 b(0)20 b(1)38 b(0)20 b(1)39 b(0)19 b(0)-188 875 y(1)38 b(0)20 b(0)f(0)g(0)39 b(0)19 b(1)g(0)h(1)38 b(0)20 b(1)38 b(0)20 b(1)39 b(0)19 b(0)-188 920 y(0)38 b(1)20 b(0)f(0)g(1)39 b(0)19 b(0)g(1)h(1)38 b(0)20 b(1)38 b(0)20 b(0)39 b(0)19 b(0)-188 966 y(1)38 b(1)20 b(0)f(0)g(1)39 b(0)19 b(0)g(1)h(1)38 b(0)20 b(1)38 b(0)20 b(0)39 b(0)19 b(0)-188 1012 y(0)38 b(0)20 b(0)f(1)g(0)39 b(1)19 b(1)g(0)h(0)38 b(1)20 b(1)38 b(0)20 b(0)39 b(0)19 b(0)-188 1057 y(1)38 b(0)20 b(0)f(1)g(0)39 b(1)19 b(1)g(0)h(0)38 b(1)20 b(1)38 b(0)20 b(0)39 b(0)19 b(0)-126 1137 y Fj(Ha)o(ving)13 b(the)h(BLIF-MV)g(and)g(input)g(v)o(ector)g(\014le,)g(w)o(e)g(can)g (sim)o(ulate)e(the)j(circuit)f(using)g(the)g(follo)o(wing)d(VIS)j (command:)-188 1223 y Fi(UC)21 b(Berkeley,)f(VIS)h(Release)f(1.0)i (\(compiled)d(4-Jan-96)i(at)g(11:18)g(AM\))-188 1273 y(vis>)f(read_blif_mv)g(two_phase.mv)-188 1323 y(Warning:)g(Some)h (variables)f(are)h(unused)f(in)i(model)e(two_phase.)-188 1372 y(vis>)g(flatten_hierarchy)-188 1422 y(vis>)g(static_order)-188 1472 y(vis>)g(build_partition_mdds)-188 1522 y(vis>)g(simulate)h(-i)g (two_phase.vect)e(-o)i(two_phase.result)-126 1608 y Fj(VIS)14 b(sim)o(ulation)d(output)j(\()p Fi(two_phase.result)p Fj(\):)-188 1683 y Fe(#)19 b(UC)g(Berkeley)o(,)e(VIS)h(Release)f(1.0)i (\(compile)o(d)e(4-Jan-96)f(at)j(11:18)f(AM\))-188 1729 y(#)h(Network:)d(two_phase)-188 1775 y(#)j(Input)e(Vectors)g(File:)h (two_phase.)o(ve)o(ct)-188 1912 y(.inputs)36 b(clk)18 b(in1<0>)g(in1<1>)f(in1<2>)g(in1<3>)h(in2<0>)f(in2<1>)g(in2<2>)h (in2<3>)f(in3<0>)g(in3<1>)g(in4<0>)h(in4<1>)f(\\\\)-110 1957 y(out4<0>$I)o(NIT)f(out4<1>$I)o(NIT)-188 2003 y(.latches)g (000001)g(000002)g(000003)g(000004)h(_n46$prev)o(4<)o(0>)f (_n46$prev4)o(<1>)g(_n46$prev)o(4<2)o(>)g(_n46$prev4<)o(3>)g(\\\\)-110 2049 y(clk$prev0)g(clk$prev1)g(clk$prev2)g(clk$prev3)h(out1<0>)f (out1<1>)h(out2)h(out3<0>)f(out3<1>)g(out4<0>)g(out4<1>)-188 2094 y(.outputs)f(out1<0>)h(out1<1>)g(out2)h(out3<0>)f(out3<1>)g (out4<0>)g(out4<1>)-188 2140 y(.initial)f(<1>)i(<2>)h(<3>)f(<4>)h(0)g (0)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(1)g(1)-188 2231 y(.start_v)o(ect)o(or)o(s)-188 2323 y(#)g(clk)f(in1<0>)f(in1<1>)h (in1<2>)f(in1<3>)g(in2<0>)h(in2<1>)f(in2<2>)g(in2<3>)h(in3<0>)f(in3<1>) g(in4<0>)g(in4<1>)h(out4<0>$I)o(NIT)e(out4<1>$I)o(NI)o(T)h(;)i(\\\\) -110 2368 y(000001)d(000002)g(000003)g(000004)h(_n46$pre)o (v4<)o(0>)f(_n46$prev4)o(<1)o(>)h(_n46$prev)o(4<)o(2>)f(_n46$prev4)o (<3>)g(\\\\)-110 2414 y(clk$prev0)g(clk$prev1)g(clk$prev2)g(clk$prev3)h (out1<0>)f(out1<1>)h(out2)h(out3<0>)f(out3<1>)g(out4<0>)g(out4<1>)g(;)i (\\\\)-110 2460 y(out1<0>)e(out1<1>)g(out2)h(out3<0>)f(out3<1>)g (out4<0>)g(out4<1>)-188 2551 y(0)i(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f (0)g(0)g(0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(1)g(1)g(;)g(0)h(0)f (0)g(0)g(0)h(1)f(1)-188 2597 y(1)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f (0)g(0)g(0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(1)g(1)g(;)g(0)h(0)f (0)g(0)g(0)h(1)f(1)-188 2642 y(0)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f (0)g(0)g(0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(1)f(1)g(1)g(1)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(;)g(0)h(0)f (0)g(0)g(0)h(0)f(0)-188 2688 y(1)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f (0)g(0)g(0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(;)g(0)h(0)f (0)g(0)g(0)h(0)f(0)-188 2733 y(0)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f (0)g(0)g(0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(1)f(1)g(1)g(1)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(;)g(0)h(0)f (0)g(0)g(0)h(0)f(0)-188 2779 y(1)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f (0)g(0)g(0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(;)g(0)h(0)f (0)g(0)g(0)h(0)f(0)892 2904 y Fj(3)p eop %%Page: 4 4 4 3 bop -188 7 a Fe(0)19 b(0)g(0)g(0)g(1)h(0)f(0)g(0)g(0)h(1)f(0)g(0)g (0)g(0)h(0)f(;)g(<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(0)h(1)f(1)g (1)g(1)h(0)f(0)g(0)g(0)h(0)f(0)g(0)g(;)g(0)h(0)f(0)g(0)g(0)h(0)f(0)-188 53 y(1)g(0)g(0)g(0)g(1)h(0)f(0)g(0)g(0)h(1)f(0)g(0)g(0)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(1)h(0)f(0)g(0)g(0)h(0)f(0)g (0)g(1)h(0)f(0)g(0)g(;)g(0)h(0)f(0)g(1)g(0)h(0)f(0)-188 99 y(0)g(0)g(0)g(0)g(0)h(0)f(1)g(0)g(1)h(0)f(1)g(0)g(1)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(0)g(0)g(1)h(1)f(1)g(1)g(1)h(0)f(0)g (0)g(1)h(0)f(0)g(0)g(;)g(0)h(0)f(0)g(1)g(0)h(0)f(0)-188 144 y(1)g(0)g(0)g(0)g(0)h(0)f(1)g(0)g(1)h(0)f(1)g(0)g(1)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(1)g(1)g(0)h(0)f(0)g(0)g(0)h(0)f(0)g (0)g(0)h(0)f(0)g(0)g(;)g(0)h(0)f(0)g(0)g(0)h(0)f(0)-188 190 y(0)g(1)g(0)g(0)g(1)h(0)f(0)g(1)g(1)h(0)f(1)g(0)g(0)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(0)19 b(1)g(1)g(0)h(1)f(1)g(1)g(1)h(0)f(1)g (0)g(0)h(0)f(0)g(1)g(;)g(0)h(1)f(0)g(0)g(0)h(0)f(1)-188 235 y(1)g(1)g(0)g(0)g(1)h(0)f(0)g(1)g(1)h(0)f(1)g(0)g(0)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(1)19 b(0)g(1)g(1)h(0)f(0)g(0)g(0)h(0)f(1)g (1)g(0)h(1)f(0)g(1)g(;)g(0)h(1)f(1)g(0)g(1)h(0)f(1)-188 281 y(0)g(0)g(0)g(1)g(0)h(1)f(1)g(0)g(0)h(1)f(1)g(0)g(0)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(1)19 b(0)g(1)g(1)h(1)f(1)g(1)g(1)h(1)f(0)g (1)g(0)h(1)f(1)g(0)g(;)g(1)h(0)f(1)g(0)g(1)h(1)f(0)-188 327 y(1)g(0)g(0)g(1)g(0)h(1)f(1)g(0)g(0)h(1)f(1)g(0)g(0)g(0)h(0)f(;)g (<1>)97 b(<2>)g(<3>)g(<4>)g(1)19 b(0)g(0)g(0)h(0)f(0)g(0)g(0)h(1)f(0)g (0)g(1)h(1)f(1)g(0)g(;)g(1)h(0)f(0)g(1)g(1)h(1)f(0)-188 372 y(#)g(Final)e(State)h(:)h(<1>)97 b(<2>)g(<3>)g(<4>)g(1)19 b(0)g(0)h(0)f(0)g(0)g(0)h(0)f(1)g(0)g(0)g(1)h(1)f(1)g(0)-126 456 y Fj(Next,)13 b(w)o(e)g(sho)o(w)g(ho)o(w)g(to)g(apply)f(the)i(same) e(input)h(v)o(ectors)h(to)f(sim)o(ulate)e(the)j(circuit)f(with)g Fh(V)c(er)q(il)q(og)h Fg(\000)e Fh(X)s(L)1582 440 y Ff(T)t(M)1643 456 y Fj(.)18 b(The)c(follo)o(wing)c(is)j(a)-188 505 y(V)m(erilog)g(wrapp)q(er)i(\()p Fi(two_phase.wrappe)o(r)p Fj(\))c(used)k(to)f(pic)o(k)g(up)g(the)h(input)f(v)o(ectors,)h(apply)e (them)g(to)h(the)h(example)e(circuit,)h(and)g(dump)-188 555 y(the)j(sim)o(ulation)c(result.)27 b(Note)17 b(that)g(the)g(v)n (alues)g(of)f Fi(000001)p Fj(,)f Fi(000002)p Fj(,)f Fi(000003)p Fj(,)h Fi(000004)g Fj(are)i(constan)o(ts)h Fi(<1>)p Fj(,)e Fi(<2>)p Fj(,)-188 605 y Fi(<3>)p Fj(,)f Fi(<4>)p Fj(,)g(resp)q(ectiv)o(ely)m(.)26 b(Remem)o(b)q(er)14 b(that)i Fi(000001)e Fj(is)i(for)g(the)g(\014rst)h(pro)q(cess.)26 b Fi(<1>)16 b Fj(corresp)q(onds)i(to)e(the)g(only)g(ev)o(en)o(t)g (guard)g(in)-188 655 y(that)d(pro)q(cess)i(\()p Fi(@\(posedge)20 b(clk\))p Fj(\).)d(On)d(p)q(ositiv)o(e)f(edge)h(of)f Fi(clk)p Fj(,)f Fc(timing)i(machine)g Fj(transits)g(from)d Fi(<1>)i Fj(to)g Fi(<1>)p Fj(.)k(Therefore,)d(the)g(v)n(alue)-188 705 y(of)f Fi(000001)f Fj(sta)o(ys)i(constan)o(t)g(at)g Fi(<1>)p Fj(.)k Fi(000002)p Fj(,)11 b Fi(000003)p Fj(,)h Fi(000004)g Fj(are)i(constan)o(t)g(for)g(the)g(similar)e (reason.)-126 754 y(Sp)q(ecial)i(atten)o(tion)f(should)h(b)q(e)h(paid)e (to)h(the)g(timing)d(in)j(the)g(wrapp)q(er)h(program)d(ab)q(out)-126 837 y Fg(\017)20 b Fj(when)15 b(to)e(apply)h(the)g(input,)-126 920 y Fg(\017)20 b Fj(when)15 b(to)e(let)h(sim)o(ulate)f(time)f(pass)i (b)o(y)g(\(to)g(let)g(the)g(sim)o(ulator)e(ev)n(aluate)i(the)g(example) f(circuit\),)-126 1003 y Fg(\017)20 b Fj(and)14 b(when)g(to)g(dump)f (the)h(output.)-188 1116 y Fe(//)k(You)h(got)f(to)h(change)e(the)i (following)d(parameters)-188 1161 y(module)h(two_phase)o(_t)f(\(\);) -188 1207 y(paramete)o(r)h(numCycles)f(=)j(14)g(;)-188 1298 y(paramete)o(r)e(numInputs)f(=5;)-188 1344 y(paramete)o(r)h (maxSigLen)f(=4;)-188 1389 y(paramete)o(r)h(MEMFILE)g(=)i("two_phas)o (e.v)o(ec)o(t.w)o(ra)o(ppe)o(r")d(;)-188 1435 y(//)i(You)h(don't)e (have)i(to)f(change)g(this)g(parameter)-188 1481 y(paramete)o(r)f (numLines)f(=)j(numInputs)e(*)i(numCycles)o(;)-188 1526 y(paramete)o(r)e(clkHalfPe)o(ri)o(od)f(=)j(50;)-188 1618 y(integer)d(fg;)-188 1663 y(integer)g(i;)-188 1755 y(reg)i([maxSigLe)o (n)f(-)i(1)g(:0])g(CORE)f([0:numLin)o(es)e(-)j(1];)-188 1846 y(reg)f(clk;)-188 1892 y(reg)g([3)h(:)g(0])g(in1;)-188 1937 y(reg)f([3)h(:)g(0])g(in2;)-188 1983 y(reg)f([1)h(:)g(0])g(in3;) -188 2029 y(reg)f([1)h(:)g(0])g(in4;)-188 2074 y(wire)f([1)g(:)i(0])e (out1;)-188 2120 y(wire)g(out2;)-188 2166 y(wire)g([1)g(:)i(0])e(out3;) -188 2211 y(wire)g([1)g(:)i(0])e(out4;)-188 2303 y(//)g(instantiat)o(e) f(the)h(example)f(circuit.)-188 2348 y(two_phas)o(e)g(itwo_phas)o(e\() -188 2394 y(.clk)h(\(clk\),)-188 2440 y(.in1)g(\(in1\),)-188 2485 y(.in2)g(\(in2\),)-188 2531 y(.in3)g(\(in3\),)-188 2577 y(.in4)g(\(in4\),)-188 2622 y(.out1)f(\(out1\),)-188 2668 y(.out2)g(\(out2\),)-188 2714 y(.out3)g(\(out3\),)-188 2759 y(.out4)g(\(out4\)\);)892 2904 y Fj(4)p eop %%Page: 5 5 5 4 bop -188 53 a Fe(initial)-188 99 y(begin)-149 144 y(i)19 b(=)g(0;)-149 190 y(fg)g(=)g($fopen)e(\("two_phas)o(e.)o(vlo)o (g"\))o(;)-149 235 y($readmemh)o(\(M)o(EMF)o(ILE)o(,C)o(ORE)o(\);)-169 372 y(repeat)g(\(numCycles\))-169 418 y(begin)-188 464 y(clk)h(=)h(CORE)f([)h(0)h(*)f(numCycles)d(+)j(i])g(;)-188 509 y(in1)f(=)h(CORE)f([)h(1)h(*)f(numCycles)d(+)j(i])g(;)-188 555 y(in2)f(=)h(CORE)f([)h(2)h(*)f(numCycles)d(+)j(i])g(;)-188 601 y(in3)f(=)h(CORE)f([)h(3)h(*)f(numCycles)d(+)j(i])g(;)-188 646 y(in4)f(=)h(CORE)f([)h(4)h(*)f(numCycles)d(+)j(i])g(;)-188 738 y(//)f(Note:)g(we)h(dump)f(output)f(vectors)g(here)h(using)g(the)g (following)f(wires)-188 783 y(//)h(since)g(the)g(circuit)f(is)i(NOT)g (evaluated)d(yet)i(even)g(though)g(the)g(input)-188 829 y(//)g(vector)g(has)g(been)g(applied.)36 b(This)18 b(is)h(necessary)d (to)j(match)f(VIS)g(and)h(Verilog-X)o(L)-188 875 y(//)f(outputs.)-188 920 y(//)g(Remember)f(that,)h(in)g(VIS,)g(after)g(inputs)f(are)i (applied)e(and)h(next)g(state)g(variables)-188 966 y(//)g(are)h (evaluated)o(,)e(one)h(cannot)f(see)i(the)f(next)g(state)g(values)f (until)h(the)g(next)g(clock)-188 1012 y(//)g(tick.)38 b(However,)16 b(in)j(Verilog-XL)o(,)d(after)i(the)h(rising/f)o(all)o (ing)d(edge)i(of)h(clk)f(occurs,)-188 1057 y(//)g(the)h(guarded)e (statement)o(s)f(are)j(immediate)o(ly)d(executed)h(and)h(register)f (variables)-188 1103 y(//)h(are)h(immediate)o(ly)d(updated.)36 b(That)18 b(is,)h(in)g(a)g(Verilog-X)o(L)e(wrapper,)f(if)j(we)g(allow) -188 1149 y(//)f(the)h(circuit)e(to)i(be)f(evaluated)f(and)h(then)g (dump)g(the)h(value)e(of)i(registers,)d(we)-188 1194 y(//)i(see)h(NEXT)f(STATE)g(values)f(instead)g(of)i(CURRENT)e(STATE)g (values)h(\(which)f(is)i(what)f(we)-188 1240 y(//)g(see)h(in)g(VIS\).) -188 1331 y($fwrite\()o(fg,)-169 1377 y(")g(\045h",)f(clk,)-169 1423 y(")h(\045h",)f(in1,)-169 1468 y(")h(\045h",)f(in2,)-169 1514 y(")h(\045h",)f(in3,)-169 1560 y(")h(\045h",)f(in4,)-169 1605 y(")h(\045h",)f(out1,)-169 1651 y(")h(\045h",)f(out2,)-169 1697 y(")h(\045h",)f(out3,)-169 1742 y(")h(\045h",)f(out4,)-188 1788 y("\\n")-188 1834 y(\);)-188 1879 y(#10;)37 b(//)19 b(give)f(circuit)f(time)h(to)h(evaluate)-188 1925 y(#clkHalf)o(Per)o (io)o(d)36 b(i)20 b(=)f(i)g(+)g(1;)-149 2016 y(end)f(//)h(repeat)-188 2062 y(end)f(//)h(initial)-188 2108 y(endmodul)o(e)-126 2187 y Fj(V)m(erilog-XL)c(input)h(v)o(ector)h(\()p Fi (two_phase.vect.wrapp)o(er)p Fj(,)d(con)o(v)o(erted)j(from)e Fi(two_phase.vect)p Fj(\).)23 b(The)17 b(\014rst)g(14)f(en)o(tries)h (are)g(for)-188 2232 y Fi(clk)p Fj(,)f(then)h(the)h(next)f(14)f(for)h Fi(in1)p Fj(,)f(the)i(14)e(follo)o(w)f(are)i(for)f Fi(in2)p Fj(,)h(and)f(so)h(forth.)27 b(The)17 b(v)o(ector)h(included)f(listed)g (in)f(the)h(do)q(cumen)o(t)g(is)-188 2278 y(b)q(eauti\014ed.)h(In)c (the)h(real)e(v)o(ector)i(\014le,)e(there)j(should)d(b)q(e)i(only)e (one)h(n)o(um)o(b)q(er)f(p)q(er)i(line.)-188 2357 y Fe(0)k(1)g(0)g(1)g (0)h(1)f(0)g(1)g(0)h(1)f(0)g(1)g(0)g(1)-188 2402 y(0)g(0)g(0)g(0)g(0)h (0)f(8)g(8)g(0)h(0)f(9)g(9)g(4)g(4)-188 2448 y(0)g(0)g(0)g(0)g(0)h(0)f (0)g(0)g(a)h(a)f(c)g(c)g(3)g(3)-188 2494 y(0)g(0)g(0)g(0)g(0)h(0)f(1)g (1)g(2)h(2)f(2)g(2)g(3)g(3)-188 2539 y(0)g(0)g(0)g(0)g(0)h(0)f(0)g(0)g (2)h(2)f(0)g(0)g(0)g(0)-126 2622 y Fj(W)m(e)e(can)h(then)h(in)o(v)o(ok) o(e)d(V)m(erilog-XL)h(using)g(the)i(command)c(line)i(\\)p Fi(verilog)j(-q)i(+noxl)e(two_phase.wrapper)f(two_phase.v)p Fj(".)-188 2672 y Fh(V)9 b(er)q(il)q(og)i Fg(\000)d Fh(X)s(L)67 2657 y Ff(T)t(M)142 2672 y Fj(sim)o(ulation)j(output)j(follo)o(ws.)i (The)e(output)g(columns,)e(from)f(left)j(to)f(righ)o(t,)g(are:)18 b Fi(clk)p Fj(,)12 b Fi(in1)p Fj(,)h Fi(in2)p Fj(,)f Fi(in3)p Fj(,)h Fi(in4)p Fj(,)f Fi(out1)p Fj(,)-188 2722 y Fi(out2)p Fj(,)g Fi(out3)p Fj(,)h Fi(out4)p Fj(.)892 2904 y(5)p eop %%Page: 6 6 6 5 bop -169 7 a Fe(0)19 b(0)h(0)f(0)g(0)g(0)g(0)h(0)f(x)-169 53 y(1)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(x)-169 99 y(0)g(0)h(0)f(0)g(0)g(0) g(0)h(0)f(0)-169 144 y(1)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(0)-169 190 y(0)g(0)h(0)f(0)g(0)g(0)g(0)h(0)f(0)-169 235 y(1)g(0)h(0)f(0)g(0)g (0)g(0)h(0)f(0)-169 281 y(0)g(8)h(0)f(1)g(0)g(0)g(0)h(0)f(0)-169 327 y(1)g(8)h(0)f(1)g(0)g(0)g(0)h(1)f(0)-169 372 y(0)g(0)h(a)f(2)g(2)g (0)g(0)h(1)f(0)-169 418 y(1)g(0)h(a)f(2)g(2)g(0)g(0)h(0)f(0)-169 464 y(0)g(9)h(c)f(2)g(0)g(2)g(0)h(0)f(2)-169 509 y(1)g(9)h(c)f(2)g(0)g (2)g(1)h(2)f(2)-169 555 y(0)g(4)h(3)f(3)g(0)g(1)g(1)h(2)f(1)-169 601 y(1)g(4)h(3)f(3)g(0)g(1)g(0)h(3)f(1)-126 679 y Fj(Note)11 b(the)g(nondeterministic)f(initial)f(state)i(of)f Fi(out4)g Fj(\(whic)o(h)h(is)f Fi(2'b11)p Fj(\))g(in)g(VIS)h(sim)o(ulation)d (trace)j(and)g Fi(x)p Fj('s)f(\()p Fi(2'bxx')p Fj(\))g(in)g(V)m (erilog-XL)-188 729 y(trace.)21 b(By)15 b(ignoring)e(the)i(\014rst)h(t) o(w)o(o)e(ro)o(ws)h(\(initialization\),)d(w)o(e)j(\014nd)f(the)i(sim)o (ulation)11 b(trace)16 b(for)e Fh(V)c(er)q(il)q(og)i Fg(\000)e Fh(X)s(L)1632 714 y Ff(T)t(M)1708 729 y Fj(matc)o(hes)k(that) h(of)-188 779 y(VIS.)-126 828 y(One)k(should)e(b)q(e)i(careful)f(in)g (using)f(\\explicit)h(clo)q(c)o(king")f(in)g Fi(vl2mv)p Fj(.)30 b(Since)18 b Fi(vl2mv)f Fj(con)o(v)o(erts)i(eac)o(h)g Fi(@)e Fj(construct)j(in)o(to)d(a)h(bunc)o(h)-188 878 y(of)d(edge-detectors,)k(the)d(extracted)i(blif-m)o(v)13 b(\014le)j(ma)o(y)e(con)o(tain)h(a)h(large)g(n)o(um)o(b)q(er)f(of)h (state)g(v)n(ariables.)24 b(An)o(y)16 b(questions)h(or)f(problems)-188 928 y(encoun)o(tered)f(should)f(b)q(e)h(addressed)g(to)f Fi(vis@ic.eecs.berke)o(ley.e)o(du)p Fj(.)-188 1043 y Fb(App)r(endix:)30 b Fa(two)p 252 1043 19 2 v 23 w(phase.mv)-126 1153 y Fj(W)m(e)13 b(sho)o(w)h(the)h(en)o(tire)f(extrated)h(blif-m)o(v) c(\014le)j(for)f Fi(two_phase.v)p Fj(.)-188 1227 y Fe(#)19 b(vl2mv)e(-y)i(-c)g(-F)g(-Z)g(two_phase)o(.v)-188 1272 y(#)g(version:)d(0.2)-188 1318 y(#)j(date:)76 b(14:29:49)17 b(10/14/96)f(\(PDT\))-188 1364 y(.model)h(two_phase)-188 1409 y(#)i(I/O)f(ports)-188 1455 y(.inputs)e(in1<0>)i(in1<1>)f(in1<2>)g (in1<3>)-188 1501 y(.inputs)f(in2<0>)i(in2<1>)f(in2<2>)g(in2<3>)-188 1546 y(.inputs)f(in3<0>)i(in3<1>)-188 1592 y(.inputs)e(in4<0>)i(in4<1>) -188 1638 y(.inputs)e(clk)-188 1683 y(.outputs)g(out4<0>)h(out4<1>)-188 1729 y(.outputs)f(out3<0>)h(out3<1>)-188 1775 y(.outputs)f(out2)-188 1820 y(.outputs)g(out1<0>)h(out1<1>)-188 1912 y(.mv)h(<$lc_ps$>)o(000)o (001)o(,)e(<$lc_ns$>00)o(00)o(01)g(4)j(<0>)g(<1>)f(<1>)f(<>)-188 1957 y(.mv)h(<$lc_ps$>)o(000)o(002)o(,)e(<$lc_ns$>00)o(00)o(02)g(4)j (<0>)g(<2>)f(<2>)f(<>)-188 2003 y(.mv)h(<$lc_ps$>)o(000)o(003)o(,)e (<$lc_ns$>00)o(00)o(03)g(4)j(<0>)g(<3>)f(<3>)f(<>)-188 2049 y(.mv)h(<$lc_ps$>)o(000)o(004)o(,)e(<$lc_ns$>00)o(00)o(04)g(4)j (<0>)g(<4>)f(<4>)f(<>)-188 2094 y(#)i(out1)37 b(=)20 b(0)-188 2140 y(.names)d(out1$raw_)o(n0<)o(0>)-188 2186 y(0)-188 2231 y(.names)g(out1$raw_)o(n0<)o(1>)-188 2277 y(0)-188 2323 y(#)i(non-block)o(in)o(g)e(assignmen)o(ts)f(for)j (initial)-188 2368 y(#)g(out2)37 b(=)20 b(0)-188 2414 y(.names)d(out2$raw_)o(n1)-188 2460 y(0)-188 2505 y(#)i(non-block)o(in) o(g)e(assignmen)o(ts)f(for)j(initial)-188 2551 y(#)g(out3)37 b(=)20 b(0)-188 2597 y(.names)d(out3$raw_)o(n2<)o(0>)-188 2642 y(0)-188 2688 y(.names)g(out3$raw_)o(n2<)o(1>)-188 2733 y(0)-188 2779 y(#)i(non-block)o(in)o(g)e(assignmen)o(ts)f(for)j (initial)892 2904 y Fj(6)p eop %%Page: 7 7 7 6 bop -188 7 a Fe(#)19 b(out1)37 b(=)20 b(in1)38 b(+)19 b(in2)-188 53 y(#)g(in1)38 b(+)19 b(in2)-188 99 y(.names)e(_n9)-188 144 y(0)-188 190 y(.names)g(in1<0>)g(in2<0>)g(_n9)i(_n8<0>)-188 235 y(.def)f(0)-188 281 y(0)h(0)g(1)g(1)-188 327 y(0)g(1)g(0)g(1)-188 372 y(1)g(0)g(0)g(1)-188 418 y(1)g(1)g(1)g(1)-188 464 y(#)g(carry/bor)o(ro)o(w)-188 509 y(.names)e(_nb)-188 555 y(0)-188 601 y(.names)g(in1<0>)g(in2<0>)g(_nb)i(_na)-188 646 y(.def)f(0)-188 692 y(0)h(1)g(1)g(1)-188 738 y(1)g(0)g(1)g(1)-188 783 y(1)g(1)g(0)g(1)-188 829 y(1)g(1)g(1)g(1)-188 875 y(.names)e(in1<1>)g(in2<1>)g(_na)i(_n8<1>)-188 920 y(.def)f(0)-188 966 y(0)h(0)g(1)g(1)-188 1012 y(0)g(1)g(0)g(1)-188 1057 y(1)g(0)g(0)g(1)-188 1103 y(1)g(1)g(1)g(1)-188 1149 y(#)g(carry/bor)o (ro)o(w)-188 1194 y(.names)e(in1<1>)g(in2<1>)g(_na)i(_nc)-188 1240 y(.def)f(0)-188 1286 y(0)h(1)g(1)g(1)-188 1331 y(1)g(0)g(1)g(1) -188 1377 y(1)g(1)g(0)g(1)-188 1423 y(1)g(1)g(1)g(1)-188 1468 y(.names)e(in1<2>)g(in2<2>)g(_nc)i(_n8<2>)-188 1514 y(.def)f(0)-188 1560 y(0)h(0)g(1)g(1)-188 1605 y(0)g(1)g(0)g(1)-188 1651 y(1)g(0)g(0)g(1)-188 1697 y(1)g(1)g(1)g(1)-188 1742 y(#)g(carry/bor)o(ro)o(w)-188 1788 y(.names)e(in1<2>)g(in2<2>)g(_nc)i (_nd)-188 1834 y(.def)f(0)-188 1879 y(0)h(1)g(1)g(1)-188 1925 y(1)g(0)g(1)g(1)-188 1971 y(1)g(1)g(0)g(1)-188 2016 y(1)g(1)g(1)g(1)-188 2062 y(.names)e(in1<3>)g(in2<3>)g(_nd)i(_n8<3>) -188 2108 y(.def)f(0)-188 2153 y(0)h(0)g(1)g(1)-188 2199 y(0)g(1)g(0)g(1)-188 2245 y(1)g(0)g(0)g(1)-188 2290 y(1)g(1)g(1)g(1) -188 2336 y(.names)e(_n8<0>)g(out1$raw_n)o(7<)o(0>)-188 2382 y(-)i(=_n8<0>)-188 2427 y(.names)e(_n8<1>)g(out1$raw_n)o(7<)o(1>) -188 2473 y(-)i(=_n8<1>)-188 2519 y(.names)e(<$lc_ps$>)o(000)o(00)o(1)g (_ne)-188 2564 y(.def)h(0)-188 2610 y(<0>)g(1)-188 2656 y(#)h(feedback)d(mux)-188 2701 y(.names)h(out4<0>)g(_n3<0>)-188 2747 y(-)i(=out4<0>)892 2904 y Fj(7)p eop %%Page: 8 8 8 7 bop -188 7 a Fe(.names)17 b(out4<1>)g(_n3<1>)-188 53 y(-)i(=out4<1>)-188 99 y(.names)e(out3<0>)g(_n4<0>)-188 144 y(-)i(=out3<0>)-188 190 y(.names)e(out3<1>)g(_n4<1>)-188 235 y(-)i(=out3<1>)-188 281 y(.names)e(out2)h(_n5)-188 327 y(-)h(=out2)-188 372 y(.names)e(out1<0>)g(out1$raw_)o(n7)o(<0>)f (_ne)i(_n6<0>)-188 418 y(0)h(-)g(1)g(0)-188 464 y(1)g(-)g(1)g(1)-188 509 y(-)g(0)g(0)g(0)-188 555 y(-)g(1)g(0)g(1)-188 601 y(.names)e(out1<1>)g(out1$raw_)o(n7)o(<1>)f(_ne)i(_n6<1>)-188 646 y(0)h(-)g(1)g(0)-188 692 y(1)g(-)g(1)g(1)-188 738 y(-)g(0)g(0)g(0)-188 783 y(-)g(1)g(0)g(1)-188 829 y(#)g(out2)37 b(=)20 b(in1)e([0])h(^)g(in1)f([1])-188 875 y(#)h(in1)f([0])h(^)g(in1)f ([1])-188 920 y(.names)f(in1<0>)g(in1<1>)g(_n16<0>)-188 966 y(.def)h(0)-188 1012 y(0)h(1)g(1)-188 1057 y(1)g(0)g(1)-188 1103 y(.names)e(_n16<0>)g(out2$raw_)o(n1)o(5)-188 1149 y(-)i(=_n16<0>)-188 1194 y(.names)e(<$lc_ps$>)o(000)o(00)o(2)g(_n17) -188 1240 y(.def)h(0)-188 1286 y(<0>)g(1)-188 1331 y(#)h(feedback)d (mux)-188 1377 y(.names)h(out4<0>)g(_n11<0>)-188 1423 y(-)i(=out4<0>)-188 1468 y(.names)e(out4<1>)g(_n11<1>)-188 1514 y(-)i(=out4<1>)-188 1560 y(.names)e(out3<0>)g(_n12<0>)-188 1605 y(-)i(=out3<0>)-188 1651 y(.names)e(out3<1>)g(_n12<1>)-188 1697 y(-)i(=out3<1>)-188 1742 y(.names)e(out2)h(out2$raw_)o(n15)e(_n17) i(_n13)-188 1788 y(0)h(-)g(1)g(0)-188 1834 y(1)g(-)g(1)g(1)-188 1879 y(-)g(0)g(0)g(0)-188 1925 y(-)g(1)g(0)g(1)-188 1971 y(.names)e(out1<0>)g(_n14<0>)-188 2016 y(-)i(=out1<0>)-188 2062 y(.names)e(out1<1>)g(_n14<1>)-188 2108 y(-)i(=out1<1>)-188 2153 y(#)g(out3)37 b(=)20 b(in3)38 b(-)19 b(in4)-188 2199 y(#)g(in3)38 b(-)19 b(in4)-188 2245 y(.names)e(_n1f)-188 2290 y(0)-188 2336 y(.names)g(in3<0>)g(in4<0>)g(_n1f)h(_n1e<0>)-188 2382 y(.def)g(0)-188 2427 y(0)h(0)g(1)g(1)-188 2473 y(0)g(1)g(0)g(1) -188 2519 y(1)g(0)g(0)g(1)-188 2564 y(1)g(1)g(1)g(1)-188 2610 y(#)g(carry/bor)o(ro)o(w)-188 2656 y(.names)e(_n21)-188 2701 y(0)-188 2747 y(.names)g(in3<0>)g(in4<0>)g(_n21)h(_n20)892 2904 y Fj(8)p eop %%Page: 9 9 9 8 bop -188 7 a Fe(.def)18 b(0)-188 53 y(0)h(0)g(1)g(1)-188 99 y(0)g(1)g(0)g(1)-188 144 y(0)g(1)g(1)g(1)-188 190 y(1)g(1)g(1)g(1)-188 235 y(.names)e(in3<1>)g(in4<1>)g(_n20)h(_n1e<1>) -188 281 y(.def)g(0)-188 327 y(0)h(0)g(1)g(1)-188 372 y(0)g(1)g(0)g(1)-188 418 y(1)g(0)g(0)g(1)-188 464 y(1)g(1)g(1)g(1)-188 509 y(.names)e(_n1e<0>)g(out3$raw_)o(n1)o(d<0)o(>)-188 555 y(-)i(=_n1e<0>)-188 601 y(.names)e(_n1e<1>)g(out3$raw_)o(n1)o(d<1)o (>)-188 646 y(-)i(=_n1e<1>)-188 692 y(.names)e(<$lc_ps$>)o(000)o(00)o (3)g(_n22)-188 738 y(.def)h(0)-188 783 y(<0>)g(1)-188 829 y(#)h(feedback)d(mux)-188 875 y(.names)h(out4<0>)g(_n19<0>)-188 920 y(-)i(=out4<0>)-188 966 y(.names)e(out4<1>)g(_n19<1>)-188 1012 y(-)i(=out4<1>)-188 1057 y(.names)e(out3<0>)g(out3$raw_)o(n1)o (d<0)o(>)g(_n22)h(_n1a<0>)-188 1103 y(0)h(-)g(1)g(0)-188 1149 y(1)g(-)g(1)g(1)-188 1194 y(-)g(0)g(0)g(0)-188 1240 y(-)g(1)g(0)g(1)-188 1286 y(.names)e(out3<1>)g(out3$raw_)o(n1)o(d<1)o (>)g(_n22)h(_n1a<1>)-188 1331 y(0)h(-)g(1)g(0)-188 1377 y(1)g(-)g(1)g(1)-188 1423 y(-)g(0)g(0)g(0)-188 1468 y(-)g(1)g(0)g(1) -188 1514 y(.names)e(out2)h(_n1b)-188 1560 y(-)h(=out2)-188 1605 y(.names)e(out1<0>)g(_n1c<0>)-188 1651 y(-)i(=out1<0>)-188 1697 y(.names)e(out1<1>)g(_n1c<1>)-188 1742 y(-)i(=out1<1>)-188 1788 y(.names)e(clk)h(_n29)-188 1834 y(-)h(=clk)-188 1879 y(#)g(out4)37 b(=)20 b(in1)38 b(-)19 b(in2)-188 1925 y(#)g(in1)38 b(-)19 b(in2)-188 1971 y(.names)e(_n2c)-188 2016 y(0)-188 2062 y(.names)g(in1<0>)g(in2<0>)g(_n2c)h(_n2b<0>)-188 2108 y(.def)g(0)-188 2153 y(0)h(0)g(1)g(1)-188 2199 y(0)g(1)g(0)g(1) -188 2245 y(1)g(0)g(0)g(1)-188 2290 y(1)g(1)g(1)g(1)-188 2336 y(#)g(carry/bor)o(ro)o(w)-188 2382 y(.names)e(_n2e)-188 2427 y(0)-188 2473 y(.names)g(in1<0>)g(in2<0>)g(_n2e)h(_n2d)-188 2519 y(.def)g(0)-188 2564 y(0)h(0)g(1)g(1)-188 2610 y(0)g(1)g(0)g(1) -188 2656 y(0)g(1)g(1)g(1)-188 2701 y(1)g(1)g(1)g(1)-188 2747 y(.names)e(in1<1>)g(in2<1>)g(_n2d)h(_n2b<1>)892 2904 y Fj(9)p eop %%Page: 10 10 10 9 bop -188 7 a Fe(.def)18 b(0)-188 53 y(0)h(0)g(1)g(1)-188 99 y(0)g(1)g(0)g(1)-188 144 y(1)g(0)g(0)g(1)-188 190 y(1)g(1)g(1)g(1)-188 235 y(#)g(carry/bor)o(ro)o(w)-188 281 y(.names)e(in1<1>)g(in2<1>)g(_n2d)h(_n2f)-188 327 y(.def)g(0)-188 372 y(0)h(0)g(1)g(1)-188 418 y(0)g(1)g(0)g(1)-188 464 y(0)g(1)g(1)g(1)-188 509 y(1)g(1)g(1)g(1)-188 555 y(.names)e(in1<2>)g(in2<2>)g(_n2f)h(_n2b<2>)-188 601 y(.def)g(0)-188 646 y(0)h(0)g(1)g(1)-188 692 y(0)g(1)g(0)g(1)-188 738 y(1)g(0)g(0)g(1)-188 783 y(1)g(1)g(1)g(1)-188 829 y(#)g(carry/bor)o(ro)o(w)-188 875 y(.names)e(in1<2>)g(in2<2>)g(_n2f)h (_n30)-188 920 y(.def)g(0)-188 966 y(0)h(0)g(1)g(1)-188 1012 y(0)g(1)g(0)g(1)-188 1057 y(0)g(1)g(1)g(1)-188 1103 y(1)g(1)g(1)g(1)-188 1149 y(.names)e(in1<3>)g(in2<3>)g(_n30)h(_n2b<3>) -188 1194 y(.def)g(0)-188 1240 y(0)h(0)g(1)g(1)-188 1286 y(0)g(1)g(0)g(1)-188 1331 y(1)g(0)g(0)g(1)-188 1377 y(1)g(1)g(1)g(1) -188 1423 y(.names)e(_n2b<0>)g(out4$clk_)o(n2)o(a$t)o(rue)o(<0)o(>)-188 1468 y(-)i(=_n2b<0>)-188 1514 y(.names)e(_n2b<1>)g(out4$clk_)o(n2)o (a$t)o(rue)o(<1)o(>)-188 1560 y(-)i(=_n2b<1>)-188 1605 y(#)g(if/else)e(\(clk)h(\))-188 1651 y(.names)f(out4$clk_)o(n2a)o($t)o (rue)o(<0)o(>)g(out4<0>)g(clk)h(out4$clk$r)o(aw)o(_n3)o(3<0)o(>)-188 1697 y(0)h(-)g(1)g(0)-188 1742 y(1)g(-)g(1)g(1)-188 1788 y(-)g(0)g(0)g(0)-188 1834 y(-)g(1)g(0)g(1)-188 1879 y(.names)e (out4$clk_)o(n2a)o($t)o(rue)o(<1)o(>)g(out4<1>)g(clk)h(out4$clk$r)o(aw) o(_n3)o(3<1)o(>)-188 1925 y(0)h(-)g(1)g(0)-188 1971 y(1)g(-)g(1)g(1) -188 2016 y(-)g(0)g(0)g(0)-188 2062 y(-)g(1)g(0)g(1)-188 2108 y(.names)e(<$lc_ps$>)o(000)o(00)o(4)g(_n36)-188 2153 y(.def)h(0)-188 2199 y(<0>)g(1)-188 2245 y(#)h(feedback)d(mux)-188 2290 y(.names)h(out4<0>)g(out4$clk$)o(ra)o(w_n)o(33<)o(0>)f(_n36)i (_n25<0>)-188 2336 y(0)h(-)g(1)g(0)-188 2382 y(1)g(-)g(1)g(1)-188 2427 y(-)g(0)g(0)g(0)-188 2473 y(-)g(1)g(0)g(1)-188 2519 y(.names)e(out4<1>)g(out4$clk$)o(ra)o(w_n)o(33<)o(1>)f(_n36)i(_n25<1>) -188 2564 y(0)h(-)g(1)g(0)-188 2610 y(1)g(-)g(1)g(1)-188 2656 y(-)g(0)g(0)g(0)-188 2701 y(-)g(1)g(0)g(1)-188 2747 y(.names)e(out3<0>)g(_n26<0>)882 2904 y Fj(10)p eop %%Page: 11 11 11 10 bop -188 7 a Fe(-)19 b(=out3<0>)-188 53 y(.names)e(out3<1>)g (_n26<1>)-188 99 y(-)i(=out3<1>)-188 144 y(.names)e(out2)h(_n27)-188 190 y(-)h(=out2)-188 235 y(.names)e(out1<0>)g(_n28<0>)-188 281 y(-)i(=out1<0>)-188 327 y(.names)e(out1<1>)g(_n28<1>)-188 372 y(-)i(=out1<1>)-188 418 y(#)g(conflict)d(arbitrator)o(s)-188 464 y(.names)h(<$lc_ps$>)o(000)o(00)o(4)g(_n29)h(_n39)-188 509 y(.def)g(0)-188 555 y(\(<4>\))f(1)i(1)-188 601 y(.names)e(_n39)h (out4$clk$)o(raw)o(_n)o(33<)o(0>)e(out4$clk$r)o(aw_)o(n3)o(3<1)o(>)g (out4<0>)h(out4<1>)g(->)i(_n3a<0>)e(_n3a<1>)-188 646 y(1)i(-)g(-)g(-)g(-)h(=out4$clk)o($r)o(aw_)o(n3)o(3<0)o(>)d(=out4$cl)o (k$r)o(aw_)o(n3)o(3<1)o(>)-188 692 y(0)i(-)g(-)g(-)g(-)h(=out4<0>)c (=out4<1>)-188 738 y(.names)h(<$lc_ps$>)o(000)o(00)o(3)g(_n3b)-188 783 y(.def)h(0)-188 829 y(\(<3>\))f(1)-188 875 y(.names)g(_n3b)h (out3$raw_)o(n1d)o(<0)o(>)f(out3$raw_)o(n1)o(d<1)o(>)g(out3<0>)f (out3<1>)h(->)i(_n3c<0>)e(_n3c<1>)-188 920 y(1)i(-)g(-)g(-)g(-)h (=out3$raw)o(_n)o(1d<)o(0>)c(=out3$raw_)o(n1)o(d<1)o(>)-188 966 y(0)j(-)g(-)g(-)g(-)h(=out3<0>)c(=out3<1>)-188 1012 y(.names)h(<$lc_ps$>)o(000)o(00)o(2)g(_n3d)-188 1057 y(.def)h(0)-188 1103 y(\(<2>\))f(1)-188 1149 y(.names)g(_n3d)h (out2$raw_)o(n15)e(out2)i(_n3e)-188 1194 y(1)h(0)g(-)g(0)-188 1240 y(1)g(1)g(-)g(1)-188 1286 y(0)g(-)g(0)g(0)-188 1331 y(0)g(-)g(1)g(1)-188 1377 y(.names)e(<$lc_ps$>)o(000)o(00)o(1)g(_n3f) -188 1423 y(.def)h(0)-188 1468 y(\(<1>\))f(1)-188 1514 y(.names)g(_n3f)h(out1$raw_)o(n7<)o(0>)e(out1$raw_n)o(7<)o(1>)g (out1<0>)h(out1<1>)g(->)i(_n40<0>)e(_n40<1>)-188 1560 y(1)i(-)g(-)g(-)g(-)h(=out1$raw)o(_n)o(7<0)o(>)c(=out1$raw_n)o(7<)o(1>) -188 1605 y(0)j(-)g(-)g(-)g(-)h(=out1<0>)c(=out1<1>)-188 1651 y(#)j(non-block)o(in)o(g)e(assignmen)o(ts)-188 1697 y(#)i(latches)-188 1742 y(.r)f(out4<0>)-188 1788 y(-)-188 1834 y(.r)g(out4<1>)-188 1879 y(-)-188 1925 y(.latch)f(_n3a<0>)g (out4<0>)-188 1971 y(.latch)g(_n3a<1>)g(out4<1>)-188 2016 y(.r)h(out3$raw_n)o(2<0)o(>)f(out3<0>)-188 2062 y(.def)h(0)-188 2108 y(1)h(1)-188 2153 y(.r)f(out3$raw_n)o(2<1)o(>)f (out3<1>)-188 2199 y(.def)h(0)-188 2245 y(1)h(1)-188 2290 y(.latch)e(_n3c<0>)g(out3<0>)-188 2336 y(.latch)g(_n3c<1>)g (out3<1>)-188 2382 y(.r)h(out2$raw_n)o(1)f(out2)-188 2427 y(0)i(0)-188 2473 y(1)g(1)-188 2519 y(.latch)e(_n3e)h(out2)-188 2564 y(.r)g(out1$raw_n)o(0<0)o(>)f(out1<0>)-188 2610 y(.def)h(0)-188 2656 y(1)h(1)-188 2701 y(.r)f(out1$raw_n)o(0<1)o(>)f (out1<1>)-188 2747 y(.def)h(0)882 2904 y Fj(11)p eop %%Page: 12 12 12 11 bop -188 7 a Fe(1)19 b(1)-188 53 y(.latch)e(_n40<0>)g(out1<0>) -188 99 y(.latch)g(_n40<1>)g(out1<1>)-188 144 y(#)i(quasi-con)o(ti)o (nuo)o(us)d(assignment)-188 190 y(#)j(timing)e(automaton:)f(time)i (flies)-188 235 y(.latch)f(clk)h(clk$prev0)-188 281 y(.r)g(clk$prev0) -188 327 y(0)-188 372 y(.names)f(clk$prev0)f(clk)i(_n41)-188 418 y(.def)g(0)-188 464 y(0)h(1)g(1)-188 509 y(.mv)f(000001)e(3)j (<0>)g(<1>)f(<1>)-188 555 y(.mv)g(<_>000001)e(3)j(<0>)g(<1>)f (<1>)-188 601 y(.latch)f(<_>000001)f(000001)-188 646 y(.r)i(000001)-188 692 y(<1>)-188 738 y(.names)f(_n41)h (000001)e(->)j(<$lc_ps$>)o(000)o(00)o(1)e(<$lc_ns$>)o(00)o(000)o(1)g (<_>00000)o(1)-188 783 y(.def)h(<>)g(<>)h(=000001)-188 829 y(0)38 b(<1>)19 b(<>)g(<>)f(=000001)-188 875 y(1)38 b(<1>)19 b(<1>)f(<1>)h(<1>)-188 920 y(-)g(<0>)f(<0>)h(<1>)f(<1>)-188 966 y(#)h(timing)e(automatan:)f(time)i(flies)-188 1012 y(.latch)f(clk)h(clk$prev1)-188 1057 y(.r)g(clk$prev1)-188 1103 y(0)-188 1149 y(.names)f(clk$prev1)f(clk)i(_n42)-188 1194 y(.def)g(0)-188 1240 y(1)h(0)g(1)-188 1286 y(.mv)f(000002)e(3)j (<0>)g(<2>)f(<2>)-188 1331 y(.mv)g(<_>000002)e(3)j(<0>)g(<2>)f (<2>)-188 1377 y(.latch)f(<_>000002)f(000002)-188 1423 y(.r)i(000002)-188 1468 y(<2>)-188 1514 y(.names)f(_n42)h (000002)e(->)j(<$lc_ps$>)o(000)o(00)o(2)e(<$lc_ns$>)o(00)o(000)o(2)g (<_>00000)o(2)-188 1560 y(.def)h(<>)g(<>)h(=000002)-188 1605 y(0)38 b(<2>)19 b(<>)g(<>)f(=000002)-188 1651 y(1)38 b(<2>)19 b(<2>)f(<2>)h(<2>)-188 1697 y(-)g(<0>)f(<0>)h(<2>)f (<2>)-188 1742 y(#)h(timing)e(automaton:)f(time)i(flies)-188 1788 y(.latch)f(clk)h(clk$prev2)-188 1834 y(.r)g(clk$prev2)-188 1879 y(0)-188 1925 y(.names)f(clk$prev2)f(clk)i(_n43)-188 1971 y(.def)g(0)-188 2016 y(1)h(0)g(1)-188 2062 y(.mv)f(000003)e(3)j (<0>)g(<3>)f(<3>)-188 2108 y(.mv)g(<_>000003)e(3)j(<0>)g(<3>)f (<3>)-188 2153 y(.latch)f(<_>000003)f(000003)-188 2199 y(.r)i(000003)-188 2245 y(<3>)-188 2290 y(.names)f(_n43)h (000003)e(->)j(<$lc_ps$>)o(000)o(00)o(3)e(<$lc_ns$>)o(00)o(000)o(3)g (<_>00000)o(3)-188 2336 y(.def)h(<>)g(<>)h(=000003)-188 2382 y(0)38 b(<3>)19 b(<>)g(<>)f(=000003)-188 2427 y(1)38 b(<3>)19 b(<3>)f(<3>)h(<3>)-188 2473 y(-)g(<0>)f(<0>)h(<3>)f (<3>)-188 2519 y(#)h(timing)e(automatan:)f(time)i(flies)-188 2564 y(.latch)f(clk)h(clk$prev3)-188 2610 y(.r)g(clk$prev3)-188 2656 y(0)-188 2701 y(.names)f(clk$prev3)f(clk)i(_n45)-188 2747 y(.def)g(0)882 2904 y Fj(12)p eop %%Page: 13 13 13 12 bop -188 7 a Fe(1)19 b(0)g(1)-188 53 y(0)g(1)g(1)-188 99 y(#)g(in1)38 b(-)19 b(in2)-188 144 y(.names)e(_n47)-188 190 y(0)-188 235 y(.names)g(in1<0>)g(in2<0>)g(_n47)h(_n46<0>)-188 281 y(.def)g(0)-188 327 y(0)h(0)g(1)g(1)-188 372 y(0)g(1)g(0)g(1)-188 418 y(1)g(0)g(0)g(1)-188 464 y(1)g(1)g(1)g(1)-188 509 y(#)g(carry/bor)o(ro)o(w)-188 555 y(.names)e(_n49)-188 601 y(0)-188 646 y(.names)g(in1<0>)g(in2<0>)g(_n49)h(_n48)-188 692 y(.def)g(0)-188 738 y(0)h(0)g(1)g(1)-188 783 y(0)g(1)g(0)g(1)-188 829 y(0)g(1)g(1)g(1)-188 875 y(1)g(1)g(1)g(1)-188 920 y(.names)e(in1<1>)g(in2<1>)g(_n48)h(_n46<1>)-188 966 y(.def)g(0)-188 1012 y(0)h(0)g(1)g(1)-188 1057 y(0)g(1)g(0)g(1)-188 1103 y(1)g(0)g(0)g(1)-188 1149 y(1)g(1)g(1)g(1)-188 1194 y(#)g(carry/bor)o(ro)o(w)-188 1240 y(.names)e(in1<1>)g(in2<1>)g(_n48)h (_n4a)-188 1286 y(.def)g(0)-188 1331 y(0)h(0)g(1)g(1)-188 1377 y(0)g(1)g(0)g(1)-188 1423 y(0)g(1)g(1)g(1)-188 1468 y(1)g(1)g(1)g(1)-188 1514 y(.names)e(in1<2>)g(in2<2>)g(_n4a)h(_n46<2>) -188 1560 y(.def)g(0)-188 1605 y(0)h(0)g(1)g(1)-188 1651 y(0)g(1)g(0)g(1)-188 1697 y(1)g(0)g(0)g(1)-188 1742 y(1)g(1)g(1)g(1) -188 1788 y(#)g(carry/bor)o(ro)o(w)-188 1834 y(.names)e(in1<2>)g (in2<2>)g(_n4a)h(_n4b)-188 1879 y(.def)g(0)-188 1925 y(0)h(0)g(1)g(1)-188 1971 y(0)g(1)g(0)g(1)-188 2016 y(0)g(1)g(1)g(1) -188 2062 y(1)g(1)g(1)g(1)-188 2108 y(.names)e(in1<3>)g(in2<3>)g(_n4b)h (_n46<3>)-188 2153 y(.def)g(0)-188 2199 y(0)h(0)g(1)g(1)-188 2245 y(0)g(1)g(0)g(1)-188 2290 y(1)g(0)g(0)g(1)-188 2336 y(1)g(1)g(1)g(1)-188 2382 y(.latch)e(_n46<0>)g(_n46$prev)o(4<)o(0>)-188 2427 y(.r)h(_n46$prev4)o(<0>)-188 2473 y(0)-188 2519 y(.names)f(_n46$prev)o(4<0)o(>)f(_n46<0>)h(_n4c<0>)-188 2564 y(.def)h(0)-188 2610 y(1)h(0)g(1)-188 2656 y(0)g(1)g(1)-188 2701 y(.latch)e(_n46<1>)g(_n46$prev)o(4<)o(1>)-188 2747 y(.r)h(_n46$prev4)o(<1>)882 2904 y Fj(13)p eop %%Page: 14 14 14 13 bop -188 7 a Fe(0)-188 53 y(.names)17 b(_n46$prev)o(4<1)o(>)f (_n46<1>)h(_n4c<1>)-188 99 y(.def)h(0)-188 144 y(1)h(0)g(1)-188 190 y(0)g(1)g(1)-188 235 y(.latch)e(_n46<2>)g(_n46$prev)o(4<)o(2>)-188 281 y(.r)h(_n46$prev4)o(<2>)-188 327 y(0)-188 372 y(.names)f(_n46$prev) o(4<2)o(>)f(_n46<2>)h(_n4c<2>)-188 418 y(.def)h(0)-188 464 y(1)h(0)g(1)-188 509 y(0)g(1)g(1)-188 555 y(.latch)e(_n46<3>)g (_n46$prev)o(4<)o(3>)-188 601 y(.r)h(_n46$prev4)o(<3>)-188 646 y(0)-188 692 y(.names)f(_n46$prev)o(4<3)o(>)f(_n46<3>)h(_n4c<3>) -188 738 y(.def)h(0)-188 783 y(1)h(0)g(1)-188 829 y(0)g(1)g(1)-188 875 y(.names)e(_n4c<0>)g(_n4c<1>)g(_n4c<2>)g(_n4c<3>)f(_n4d)-188 920 y(.def)i(1)-188 966 y(0)h(0)g(0)g(0)g(0)-188 1012 y(.names)e(_n45)h(_n4d)g(_n44)-188 1057 y(.def)g(1)-188 1103 y(0)h(0)g(0)-188 1149 y(.mv)f(000004)e(3)j(<0>)g(<4>)f(<4>) -188 1194 y(.mv)g(<_>000004)e(3)j(<0>)g(<4>)f(<4>)-188 1240 y(.latch)f(<_>000004)f(000004)-188 1286 y(.r)i(000004)-188 1331 y(<4>)-188 1377 y(.names)f(_n44)h(000004)e(->)j(<$lc_ps$>)o (000)o(00)o(4)e(<$lc_ns$>)o(00)o(000)o(4)g(<_>00000)o(4)-188 1423 y(.def)h(<>)g(<>)h(=000004)-188 1468 y(0)38 b(<4>)19 b(<>)g(<>)f(=000004)-188 1514 y(1)38 b(<4>)19 b(<4>)f(<4>)h(<4>)-188 1560 y(-)g(<0>)f(<0>)h(<4>)f(<4>)-188 1605 y(.end)882 2904 y Fj(14)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF