ÖпƴóCadenceʹÓÃÊÖ²á - ͼÎÄ ÏÂÔØ±¾ÎÄ

Cadence ICÉè¼ÆÊµÑé

Öйú¿Æ¼¼´óѧ

µç×Ó¿ÆÑ§Óë¼¼ÊõϵIC½ÌÑÐ×é

»ÆÂ³ ºúÐÂΰ °×Ñ©·É

2005Äê10ÔÂ

£¨ÊµÑéÀýÌâÓÉCadence ¹«Ë¾Ìṩ£©

Ö л£¡

µç×Ó¿ÆÑ§¼¼ÊõϵÁõÌþº£¡¢½ÃÒÝÊé¡¢×£³¬¡¢Ã·ÍôÉúµÈͬѧ°ïÖú±àдÁ˲¿·ÖʵÑéÕ½ڣ»ÐÅϢʵÑéÖÐÐÄÇüÓñ¹óÖ÷Èκͷ½Òã¡¢ÖÜÔ¶Ô¶¡¢Áõ¹óÓ¢µÈÀÏʦ²»½öΪʵÑéÌṩÁ˼¼ÊõÖ§³Ö£¬×¼±¸ºÃEDAÈí¼þlicence¡¢ÅäÖÃÁ˼ÆËã»úºÍÈí¼þÔËÐл·¾³£¬¶øÇÒÈÈÇé²ÎÓëÁ˱¾ÊµÑé½Ìѧ¡£¶ÔÓÚÉÏÊöÀÏʦºÍͬѧÃǵÄÐÁÇÚ¹¤×÷ºÍËù×ö³öµÄ¹±Ï×£¬ÔÚ´ËÒ»²¢±íʾÖÔÐĵظÐл£¡

Ô¤±¸ÖªÊ¶£ºUNIX

ÄãÕÆÎÕUNIX²Ù×÷ϵͳµÄ»ù±¾ÃüÁîÂð£¿ÏÂÃæ¼¸Ìõ³£ÓÃÃüÁî¿ÉÄÜ»á¶ÔÄãÓÐÓô¦¡£ÌáÐÑһϣ¬UNIXÃüÁîÊÇÇø·Ö´óСдµÄ¡£

²éÎļþ£ºls (²»ÏÔʾÒþº¬Îļþ)¡¢la (»òls ¨Ca£¬ÏÔʾËùÓÐÎļþ)¡¢ls |mpre£¨Ö¡ÏÔ£©¡¢la |more ɾÎļþ£ºrm ÎļþÃû

½¨ÐÂĿ¼£ºmkdir Ŀ¼Ãû

ɾĿ¼£º\\rm ¨CrĿ¼Ãû ( É÷Óã¡£¡£¡)

¿½±´£ºcp Ô´ÎļþÃû£¨º¬Â·¾¶£©Ä¿±êÎļþÃû£¨º¬Â·¾¶£©£¬

Àý ½«iscÓû§µÄabc.suf Îļþ¿½±´µ½×Ô¼ºµÄµ±Ç°Ä¿Â¼Ï£ºcp ~isc/abc.suf . ½â.tar´ò°üÎļþ£ºtar vxf ´ò°üÎļþÃû ½â.tar.ZѹËõÎļþ£ºtar vxfZ ѹËõÎļþÃû Îļþ¸ÄÃû£º mv Ô­ÎļþÃû ÐÂÎļþÃû ²éÃüÁîÓë²ÎÊý¹¦ÄÜ£ºman ÃüÁî

***************************************************************************

¹æ¶¨£º±¾ÊµÑé½Ì²ÄÖкìɫΪ¼üÈëÃüÁî»ò×Ö·û£¬À¼É«Îª²Ëµ¥Ï×ÏɫΪ¹¦Äܼü£»¡°µ¥»÷¡±Ö¸Êó±ê×ó¼ü°´ÏÂÒ»´Î¡£

****************************************************************************

1

ʵÑéÒ»¡¢Virtuoso Schematic Editor

ʵÑéÄ¿µÄ£ºÕÆÎÕµçÔ­Àíͼ£¨schematic£©Éè¼ÆÊäÈë·½·¨¡£

±ßѧ±ß×ö

[1]Æô¶¯IC Design Èí¼þ:

¿ª»úºóÔËÐÐExceed½øÈë·þÎñÆ÷SOLARISµÇ¼½çÃæ£¬ÊäÈëÓû§ÃûºÍÃÜÂë £¨ÓÉϵͳ¹ÜÀíÔ±Ìṩ£©£»

µã»÷Ò»ÏÂcpu disk ²Ëµ¥ÏîÉÏ·½µÄÈý½Ç¼ýÍ·£¬µã»÷This Host³öÏÖTerminal´°¿Ú,(»òµã»÷Console³öÏÖConsole´°¿Ú)£»

cp /eva01/cdsmgr/ training_IC_data/SchemEd.tar . £¨ÌáÐÑ£º×îºóÊǸöСµã£¬ÉԵȣ© tar vxf SchemEd.tar £¨ÉԵȣ© cd adelabic5

icfb & (»òicms &£¬ÄãÖªµÀºó׺&µÄ×÷ÓÃÂð£¿ÔÚUNIXÃüÁîºó¼Ó&±íʾºǫ́ÔËÐÐ)

Èô³öÏÖ¡°What¡¯s New¡±´°¿Ú£¬¹ØµôËü¡£

³öÏÖ¡°icfb-log£º/¡­¡±´°¿Ú£¨CIW£ºCommand Interpreter Window£©ÁËÂð£¿

[2]½¨Á¢Ð¿⡢е¥ÔªÒÔ¼°ÐÂÊÓͼ£¨view£©: ÔÚCIWÖУ¬File->New->Library£¬

ÔÚµ¯³öµÄ¡°New Library¡±´°¿Ú£¬NameÀ¸ÖУºmylib Ñ¡ÖÐÓÒÏ·½£º* Don¡¯t need techfile OK

²é¿´CIW´°¿Ú£ºTools->Library Manager£¬ÔÚLibraryÖÐÓ¦ÓÐmylib£¬µ¥»÷Ëü¡£ ÔÚLibrary Manager ´°¿Ú£¬File->New->Cellview£¬

ÔÚµ¯³öµÄ¡°Create New File¡±´°¿ÚCell NameÀ¸ÖУ¬nand2 ToolÀ¸ÖУ¬Ñ¡Composer-Schematic OK

[3]Ìí¼ÓÔª¼þ£¨ÊµÀýinstance£©

ÔÚµ¯³öµÄ¡°Virtuoso Schematic Editing:¡­¡±´°¿ÚÖУ¬×ó±ßΪ¹¤¾ßÀ¸£¬Ñ¡instance ͼ±ê£¨»òi£© µ¥»÷¡°Add instance¡±´°¿ÚLibraryÀ¸×îÓÒ²àBrowser,

µ¯³ö¡°Library Browser-¡­¡±´°¿Ú£¬LibraryÑ¡analogLib£¬CellÑ¡nmos4, ViewÑ¡symbol Êó±ê»Øµ½¡°Add instance¡±´°¿Ú£¬Model nameÀ¸£ºtrnmos, width: 3.0u , Length: 0.5u£¬Hide ÔÚ¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú, Êó±ê×ó¼üµ¥»÷Ò»´Î£¬¼ä¸ôÒ»¶¨¾àÀëÔÙµ¥»÷Ò»´Î£¬ÕâÑù¾ÍÔö¼ÓÁË2¸önmos4Ôª¼þ£¬ESC£¨ÊÔÒ»ÊÔ£ºÏÈÑ¡ÖÐÒ»¸öÔª¼þ£¬ÔÙq £¬²é¿´/¸Ä±äÊôÐÔ£©¡£

·ÂÕÕÉÏÊö·½·¨£¬Ôö¼Ópmos4Ôª¼þ¡£ÔÚ¡°Add instance¡±´°¿Ú£¬Model nameÀ¸£ºtrpmos, width: 2.0u , Length: 0.5u£»·ÅÖÃ2¸öpmos4£¬ESC¡££¨ÊÔÒ»ÊÔÈȼüf£¬[£¬]µÄ¹¦ÄÜ£©

[4]Ìí¼Ó¹Ü½Å£¨PIN£©

2

Ñ¡¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú×ó±ß¹¤¾ßÀ¸ÖеÄPinͼ±ê£¨»òp£©

ÔÚ¡°Add Pin¡±´°¿ÚÖУ¬Pin Names£ºINA INB£¬DirectionÑ¡input, UsageÑ¡schematic£¬Hide ÔÚ¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú, Êó±ê×ó¼üµ¥»÷Ò»´Î£¬¼ä¸ôÒ»¶¨¾àÀëÔÙµ¥»÷Ò»´Î£¬·ÅÖÃ2¸öÊäÈëPIN£¬ p£¬ÔÚ¡°Add Pin¡±´°¿ÚÖУ¬Pin Names£ºOUT£¬DirectionÑ¡output, UsageÑ¡schematic£¬ÔÚ¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú·ÅÖÃÊä³öPIN£¬

[5]Ìí¼ÓµçÔ´ºÍµØ£º

i (»òµ¥»÷instance¹¤¾ßͼ±ê)

µ¯³ö¡°Add instance¡±´°¿Ú£¬Browse£¬LibraryÑ¡analogLib£¬CellÀ¸£ºvdd, ViewÑ¡symbol ÔÚ¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú·ÅÖÃvdd£¬

»Øµ½¡°Add instance¡±´°¿Ú£¬Browse£¬CellÀ¸£ºgnd, ÔÚ¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú·ÅÖÃgnd£¬

ESC , Cancelµô¡°Add instance¡±´°¿Ú¡£

[6]°Ú·ÅÔª¼þ²¢¼ÓÍøÏߣº

²ÎÕÕÏÂͼ·ÅºÃÔª¼þ£¨symbol£©£º£¨Òƶ¯ÓÃm¼ü£¬É¾³ýÓÃDelete¼ü£¬È¡ÏûÃüÁîÓÃESC¼ü£©

Ñ¡¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú×ó±ß¹¤¾ßÀ¸ÖеÄWire(narrow)£¬Á¬ºÃÍøÏߣ¬ESC

[7]±£´æÎļþ£º¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú×óÉϽÇCheck and Save ¹¤¾ß¡£

DIY£¨Do It Yourself£©

3

ÔÚmylib¿âÖн¨Á¢amplifierµ¥Ôª£¨Cell£©ÈçÏÂͼËùʾ¡£

ͼÖÐËùÓе¥ÔªÀ´×Ôanaloglib¿â£¬²ÎÊýÈçÏÂ±í£º Cell Name

ÊôÐÔproperties

npn For Q0,Q1£ºModel Name=trnpn pnp For Q2,Q3,Q4£ºModel Name=trpnp pmos4 nmos4 pmos4 cap vdd, vss

PIN¹Ü½Å£º Wire Name

ÊäÈë¹Ü½Å: iref, inm, inp, Êä³ö¹Ü½Å: out vdd! , gnode

For M1: Model Name=trpmos, Length=8u, Width=iPar(¡°l¡±)*16 For M2,M5: Model Name=trnmos, Length=10u, Width=100u For M3: Model Name=trpmos, Length=iPar(¡°w¡±)/16, Width=128u Capacitance=CAP (Éè¼Æ±äÁ¿) ×¢Òâ vssÊǸºµçÔ´£¬²»ÊÇgnd

res Resistance=2.5K

×¢Ò⣺Äã»­µÄschematicµç·ÖУ¬Ë«¼«¾§Ìå¹ÜQºÍFET¹ÜMµÄϱê±àºÅ¿ÉÄÜÓëÉÏͼ²»Í¬£¬¿ÉÓÃq ²é¿´/¸Ä±äÊôÐÔ£¬ÁíÍâ¿ÉÄÜʹÓà m (ÒÆ¶¯)£¬r£¨Ðýת£©£¬f£¨È«ÆÁ£©£¬ÏÈm ÔÙ shift + r (×óÓÒ·­×ª)£¬ÏÈm ÔÙ Ctrl + r (ÉÏÏ·­×ª)µÈÃüÁî¡£ ESC£¨ÖÕÖ¹²Ù×÷£©

±ê×¢ÏßÍøÃû£ºÓÃWire Name ¹¤¾ß£¨»òl£©½«M1ÓëM3µÄ³Äµ×Á¬Ïß¡¢M2ÓëM5µÄÕ¤¼«Á¬Ïß

4

·Ö±ð±êעΪvdd!ºÍgnode¡£

Èç·¢ÉúÁË´íÎóɾ³ý£¬Óá°Virtuoso Schematic Editing:¡­¡±´°¿Ú×ó±ßÖмäµÄundo¹¤¾ß£¨»òu£©£¬×¢Ò⣺ֻÄָܻ´Ç°Ò»¸ö±»É¾³ýµÄ¶ÔÏó¡£×îºócheck and save.

²ã´Î»¯Éè¼Æ¡ª¡ªsymbolÉú³É [1]symbolÉú³É

½øÈë¡°Virtuoso Schematic Editing£ºmylib nand2 schematic¡±´°¿Ú¡£

Design -> Create Cellview->From Cellview

ÔÚCellview From Cellview´°¿Ú£¬From View NameÀ¸Îª£ºschematic£¬Tool / Data TypeÀ¸ÎªComposer-Symbol¡£ OK

ÔÚ¡°Symbol Generation Options¡±´°¿Ú£¬µ¥»÷Load/Save°´Å¦£¬OK

³öÏÖ¡°Virtuoso Schematic Editing£ºmylib nand2 symbol¡±´°¿Ú£¬Design->Check and Save

¸Ä±äsymbolÐÎ×´£ºÓÃmÃüÁSymbolµÄÉϱ߽çλÖúÍINA¹Ü½ÅÏòÉÏÒÆ¶¯Ò»Íø¸ñ£¬µÃµ½ÏÂͼ£º

ÓÃmÃüÁ3¸öcdsParam(n)ÒÆµ½·½¿òÍâÃæµÄÏ·½£¬½«cdsName()ÒÆµ½·½¿òÍâÃæÉÏ·½£¬½«×Ö·ûOUTÒÆµ½·½¿òÍâÃæÓÒ·½£¬É¾³ýÄÚ²¿ÂÌÉ«·½¿ò¡£

²ÎÕÕÏÂͼ£¬µ¥»÷²Ëµ¥Add -> Shape -> Circle£¬¼Ó¸öСԲȦ£¬Add -> Shape -> Arc£¬¼Ó¸öÔ²»¡£¨ÏÈÈ·¶¨ÉÏÏÂ2µã£¬Èç³öÏÖangle not allowed²»±Ø½ôÕÅ£¬ÉÔÎ¢ÒÆ¶¯Êó±êÊÔÒ»ÊÔ£¬Äã»á·¢ÏÖÈçºÎ»­»¡£©£¬ÓÃm½«×ó±ßµÄºìÉ«Íâ¿òÓÒÒÆ£¨Ëõ¶ÌÔ­symbolÍâ¿ò£©£¬2¸öPINÒÔ¼°Á¬Ïߣ¨INAºÍINB£©Í¬ÑùÓÒÒÆ£¬ÓÃLine¹¤¾ß»­³öȱÉÙµÄ3±ß¡£ÉÏÊö²½ÖèÖУ¬¾ùʹÓÃESCÈ¡Ïû²Ù×÷ÃüÁî¡£ »­ºÃºó£¬Design -> Check and Save

5

[2]´´½¨amplifierµÄsymbol£º

·ÂÕÕǰÊö²½Ö裬µÃµ½ÈçÏÂsymbol£º

Ìáʾ£ºÔÚ¡°Symbol Generation Options¡±´°¿Ú£¬½«iref ¹Ü½Å£¨Pin£©ÉèÖÃΪBottom Pin¡£

È»ºóɾ³ýcdsParam(3), rÐýתpinÃûiref£¬

£¨Ñ¡×ö£©É¾³ýºìÉ«Íâ¿ò£¬Ñ¡ÔñSelection Box¹¤¾ß£¬ÔÚ¡°Add Selection Box¡±ÖУ¬Automatic

Ìí¼ÓText£ºAdd -> Note -> Note Text£¬ÔÚ¡°Add Note Text¡±´°¿ÚµÄNote TextÎı¾¿òÖУºAmp ½«Êó±êÒÆÖÁ¡°Virtuoso Symbol Editing£ºmylib amplifier symbol¡±´°¿Ú£¬ÔÚÄãÏ£ÍûµÄλÖõ¥»÷£¬»Øµ½¡°Add Note Text¡±´°¿Ú£¬Cancel¡£ Save¡£

£¨Èç¹ûÄãÎÞ·¨»­Ð±Ïߣ¬Êó±êÓÒ¼üµã»÷1¡¢2´Î¾Í¿ÉÇл»³É¹¦£©

6

½á¹ûÈçÏÂͼËùʾ£º

ʵÑé½á¹û²éÑ飺

1£®ÉêÇë½ÌÔ±»òÖú½Ì²éÑéÄã×öµÄʵÑé½á¹û¡£

2£®Close ËùÓд°¿Ú¡£

×¢Ò⣺ÄãËù»­µÄ²¿·Öµç·£¬ÒÔºóÔÚspectre·ÂÕæÊµÑéʱ»áÓõ½¡£Òò´Ë²»ÒªÉ¾³ý£¡

7

Cadence ICÉè¼ÆÊµÑé

ʵÑé¶þ¡¢ Spectre Simulation

ʵÑéÄ¿µÄ£ºÕÆÎÕµçÂ·ÌØÐÔ·ÂÕæ·½·¨

½øÈëCadenceϵͳ£º

cd adelabic5

icfb &

ʵÑéÄÚÈÝÓë²½Ö裺 Ò»¡¢nand2µç··ÂÕæ

[1]¡¢´´½¨¼¤ÀøÐźŵç·ģ¿é£º

ÔÚCIW´°¿Ú£¨icfb-Log:/¡­£©£ºTools->Library Manager£¬µ¯³öLibrary Manager ´°¿Ú£¬ÔÚLibraryÖÐÓ¦ÓÐmylib£¬µã»÷Ëü¡£

File->New->Cellview£¬

ÔÚµ¯³öµÄ¡°Create New File¡±´°¿ÚCell NameÀ¸ÖУ¬testnand2 ToolÀ¸ÖУ¬Ñ¡Composer-Schematic£¬ OK

ÔÚ¡°Virtuoso Schematic Editing:¡­¡±´°¿ÚÖУ¬°´ÏÂͼ¼ÓÈëµ¥Ôª£¨Instance£©¡¢Pin²¢Á¬Ïß¡£

µã»÷Check and Save

ͼÖÐËùÓе¥ÔªÀ´×Ôanaloglib¿âsymbol£¬²ÎÊýÈçÏ£º Cell Name vpulse vpulse cap

Pin¹Ü½Å£º

Name: INA INB OUT, Direction: inputoutput

[2]¡¢±àд·ÂÕæÎļþ

1£®ÉèÖ÷ÂÕæ»·¾³¡£µã»÷Tools->Analog Environment

2£®ÉèÖ÷ÂտģÐÍÎļþ·¾¶¡£ÔÚµ¯³öµÄ¡°Analog Design Environment¡±£¨ADE£©´°¿Ú£¬µã»÷Setup->Simulation Files

ÔÚInclude PathÖмÓÉÏ ./Models £¬ ->OK

CDF Parameter

V0: Volt 1:0, Volt2:3, Delay:10n, Rise:500p,Fall:500p,width:10n,Period:20n V1: Volt 1:0, Volt2:3, Delay:15n, Rise:500p,Fall:500p,width:20n,Period:40n For C0: Capacitance: 100f

vdc For V2: DC votlage£º3£¬ Number of noise:0 (Ç°ÃæËùÓеçÔ´´ËÏî¾ùΪ0) vdd£¬gnd

3£®ÊäÈëÄ£ÐÍÎļþÃû¡£ÔÚADE´°¿Ú£¬µã»÷Setup->Model Libraries ÔÚModel Library FileÀ¸ÖУºallModels.scs,->add->OK

4£®Ñ¡ÔñÐèÒª²é¿´µÄÐźš£ADE´°¿Ú£¬µã»÷Outputs->To Be Plotted->Select On Schematic ÔÚSchematicÔ­ÀíͼÖеã»÷3¸öPinµÄÁ¬Ïߣ¨Ïß»á±äÑÕÉ«£©¡£ÏàÓ¦µØ£¬´ËʱADE´°¿ÚOutputs¿òÖоÍÓÐÁËÄãËùÒª¹Û²ìµÄÐźš£

5. ±£´æ·ÂÕæ¼¤ÀøÎļþ¡£µã»÷ADE´°¿ÚµÄSession->Save State

Save AsÀ¸£ºstate1 OK

£¨¿ÉÒԹصô¡°Analog Design Environment¡±´°¿Ú£©¡£

[3]¡¢½«¼¤ÀøÄ£¿é¼ÓÈë±»·ÂÕæµç·¡£

1£®»Øµ½Schematic´°¿Ú£¬Éú³Étestnand2µ¥ÔªµÄsymbol Design -> Create Cellview->From Cellview

ÔÚCellview From Cellview´°¿Ú£¬From View NameÀ¸Îª£ºschematic£¬Tool / Data TypeÀ¸ÎªComposer-Symbol¡£ OK

ÔÚ¡°Symbol Generation Options¡±´°¿Ú£¬½«¡°Top Pins¡±À¸Öеġ°OUT INB INA¡±¿½±´µ½Right PinsÀ¸ÖУ¬É¾³ýTop PinsÀ¸ÖеÄÔ­À´ÄÚÈÝ£¬OK

³öÏÖ¡°Virtuoso Schematic Editing£ºmylib testnand2 symbol¡±´°¿Ú£¬Design->Check and Save£¬ Í˳ötestnand2µÄsymbol´°¿Ú¡£

2£® ÔÚ¡°Library Manager¡±´°¿Ú£¬´ò¿ªmylibÖÐÄãÔÚʵÑéÒ»»­ºÃµÄnand2Ô­Àíͼ£¬Ìí¼Ó

testnand2Ôª¼þ£¬°´ÏÂͼÁ¬Ïß¡£

±£´æÎļþCheck and Save¡£ £¨²»ÒªÍ˳öSchematic´°¿Ú£©

[4]¡¢·ÂÕæ 1£®¡°Virtuoso Schematic Editing:¡­¡±´°¿Ú£¬Tools ->Analog Envienment

2£®¼Ó¼¤Àø¡£µ¯³öADE£¨Cadence Analog Design envirnment£©´°¿Ú£¬Session -> Load State¡£ ÔÚ¡°Loading State¡±´°¿Ú£¬LibraryÑ¡mylib£¬CellÑ¡testnand2, SimulatorÑ¡spectre£» State Name ¿òÖÐÑ¡£ºstate1, OK

3£®ÉèÖ÷ÖÎöģʽºÍ·ÂÕæÊ±¼ä¡£µã»÷ADE´°¿ÚµÄAnalyses->Choose AnalysisÑ¡ÏîÖÐtranÓ¦ÓÐЧ£»Stop Time: 200n EnabledÓÐЧ£¬ OK

4£®¼ÆËã¡£µã»÷ADE´°¿ÚÓÒ±ßNetlist and Run£¬µ¯³ö¡°Welcome to Spectre¡±´°¿Ú£¬OK ÄãÓ¦¸Ã¿´µ½spectre.outÎļþºÍ·ÂÕæ²¨ÐÎWaveform¡£

5£®Ñ¡ÔñWaveform´°¿ÚÉÏ·½²Ëµ¥Axes->Strips, ¸÷ÐźŲ¨ÐηֿªÏÔʾ¡£ 6£®ÓÃÊó±êÍÏWaveform WindowµÄ±ß½ç£¬·Å´óÏÔÊ¾ÇøÓò¡£ 7£®ÊÔÒ»ÊÔ£¬ÔõÑù¿´²¨ÐÎÊý¾Ý£¿

Íê³Éºó£¬ÔÚADE´°¿Ú£¬Session -> Quit

¶þ¡¢amplifierµç·£¨ÔËËã·Å´óÆ÷£©·ÂÕæ

[1]¡¢´ò¿ªÄãÔÚʵÑéÒ»»­ºÃµÄamplifierÔ­Àíͼ£¬Ñ¡ÖеçÈÝ£¬Q£¬CapacitanceÖµÉèΪ800f£¬Save and CheckÍ˳ö¡£

[2]¡¢Ð½¨testamplifierµ¥Ôª

1¡¢²é¿´CIW´°¿Ú£ºTools->Library Manager£¬ÔÚLibraryÖÐÓ¦ÓÐmylib£¬µã»÷Ëü¡£ ÔÚLibrary Manager ´°¿Ú£¬File->New->Cellview£¬

ÔÚµ¯³öµÄ¡°Create New File¡±´°¿ÚCell NameÀ¸ÖУ¬testamplifier ToolÀ¸ÖУ¬Ñ¡Composer-Schematic OK

2¡¢Ìí¼ÓÔª¼þÈçÏÂͼ£ºAmp µ¥Ôª£¨Cell£©ÊÇÄãÔÚʵÑéÒ»»­ºÃµÄamplifier CellµÄSymbol£¬ÆäÓ൥ԪÔÚanalogLib¿âÖС£

ͼÖгýamplifierÍâËùÓе¥ÔªÀ´×Ôanaloglib¿âsymbol£¬²ÎÊýÈçÏ£º Cell Name

CDF Parameter

vdc For V0¡¢V1£ºDC votlage£º5

vsin For V2£º AC phase:0,Offset:0,Amplitude:100m,Frequency:1M, delay:0 idc For I0£ºDC current£º500u,

res For R0¡¢R1£ºresistance·Ö±ðΪ10KºÍ100K vdd,gnd,vss Õý¸ºµçÔ´¡¢µØ

Pin¹Ü½Å£º Wire Name

Name: out, Direction: output

Inm, inp, ref (Ä¿µÄÊDz鿴·ÂÕæ²¨ÐÎʱ£¬Ò»Ä¿ÁËÈ»£»·ñÔòÐźÅΪnetXX)

3£®½«Ô­Àíͼcheck and save! 4£®£¨Ñ¡×ö£©Ñ¡AmpÄ£¿é£¬e£¬Descend´°¿ÚOK£¬½øÈëAmpÄ£¿é(amplifier)£¬×Ôѡһ¸öÄãÏ£

Íû¼ì²éµÄÍøÏߣ¬q²é¿´ÍøÏßÊôÐÔ£¬Èç¹ûnet NameÊÇnetXX, ÈçºÎ½«Ëü¸ÄΪtst?

Design ->Make Editable£¬×ó±ß¹¤¾ßͼ±êÈ«ÓÐЧÁË£¬¹§Ï²Äã¸ã¶¨ÁË£¡ Save and Check

CTRL+e£¬Í˻ص½ÉÏÒ»²ã¡£Save and Check

[3]¡¢ÉèÖ÷ÂÕæ»·¾³

1£®µã»÷Tools->Analog Environment£¬µ¯³öADE´°¿Ú 2£®µã»÷Setup->Simulation Files ÔÚInclude PathÀ¸ÖÐ ./Models ->OK 3£®µã»÷Setup->Model Libraries

ÔÚModel Library FileÏÂÊäÈ룺allModels.scs->add->OK 4.µã»÷Outputs->To Be Plotted->Select On Schematic

ÔÚÔ­ÀíͼÖеã»÷ÓëAmpµ¥Ôª4¸ö¹Ü½ÇÏàÁ¬µÄÐźÅÏߣ¨¼ÙÉèÊÇÄãÏ£Íû¹Û²ìµÄÐźţ©£¬Ïß»á±äÑÕÉ«£¬¶Ë¿Ú±»È¦£»Ñ¡AmpÄ£¿é£¬e£¬Descend´°¿ÚOK£¬½øÈëAmpÄ£¿é(amplifier)£¬µã»÷gnodeÏߣ¬ÔÙÑ¡ÖÐÒ»¸öÄãÏ£Íû¼ì²éµÄÍøÏߣ»

5£®´ËʱADE´°¿ÚOutputsÏÂÒÑÓÐÄãÐèÒª¹Û²ìµÄÐźţ¬µã»÷Session->Save State Save As£ºstate2->OK

[4]¡¢·ÂÕæÔËËã·Å´óÆ÷µÄ±Õ»·ÔöÒæ 1£®£¨ÈçδÍ˳öADE£¬±¾²½¿ÉÒÔ²»×ö£©ÔÚADE£¨Cadence Analog Design envirnment£©´°¿Ú£¬Session -> Load State¡£

ÔÚ¡°Loading State¡±´°¿Ú£¬LibraryÑ¡mylib£¬CellÑ¡testampifier, State NameΪstate2, OK 2£®µã»÷Analyses->choose ½«stop time´Ó100n¸ÄΪ10u ->OK

3£®µã»÷ADE´°¿ÚÓÒ±ßNetlist and Run£¬µ¯³ö¡°Welcome to Spectre¡±´°¿Ú£¬OK ÄãÓ¦¸Ã¿´µ½spectre.outÎļþºÍ·ÂÕæ²¨ÐÎWaveform¡£

4£®ÔÚWaveform´°¿Ú£¬²é¿´²¨ÐΣ¬Axes -> Strips, ¸÷ÐźŲ¨ÐηֿªÏÔʾ¡£

Èý¡¢DIY

]1]£®·ÂÕæÔ˷ŵĿª»·¹²Ä£ÔöÒæ

£¨Çë²»ÒªÏÈ¿´ÏÂÃæµÄÌáʾ£¬×Ô²éÒ»ÏÂ×Ô¼ºµÄÕÆÎճ̶ȣ© Ìáʾ£º

1¡£½«testamplifierµ¥Ôª£¨Cell£©copy ³Éamptest Cell¡£

2£®ÐÞ¸Äamptest£¬É¾³ýR0ºÍR1£¬AmpÄ£¿éµÄ2ÊäÈë¶Ì½Ó£» 3£®½«ÕýÏÒµçѹԴ¸ÄΪvpwl£¬ÀàËÆHSPICE£¬µÚ1¸öʱ¼äµçѹ¶ÔΪ£¨0,-5£©£¬µÚ2¶ÔΪ£¨10u,5£©¡£ [2]¡££¨Ñ¡×ö£©Ô˷ŵĿª»·²îÄ£ÔöÒæÈçºÎ·Â£¿

Cadence ICÉè¼ÆÊµÑé

ʵÑéÈý¡¢ Virtuoso Layout Editor

ʵÑéÄ¿µÄ£ºÊ¹ÓÃEDA¹¤¾ß½øÐаæÍ¼Éè¼Æ¡£

ÔËÐÐCadence°æÍ¼Éè¼ÆÈí¼þ£º

cp /eva01/cdsmgr/training_IC_data/VLE_5_0.tar . £¨ÌáÐÑ£º×îºóÊǿոñºÍСµã£© tar -vxf VLE_5_0.tar cd Layout

µã»÷ÆÁÄ»×óÏ·½Home Folder£¬ÔÚµ¯³öµÄ¡°File Manager¡±´°¿ÚÒ»Ö±ÕÒµ½Äã¸öÈËLayoutĿ¼ÏµÄ.cdsinit Îļþ £¨ÏÈÒª½«View²Ëµ¥ÖеÄShow Hidden ObjectÉèÖÃÓÐЧ£©£¬ ɾµôÏÂÁÐ2ÌõÖ¸ÁîÇ°ÃæµÄ·ÖºÅ¡°£»¡±Ê¹µÃÄã¿ÉÒÔʹÓÿì½Ý¼ü£º £»load(prependInstallPath(¡°samples/local/schBindKeys.il¡±)) £»load(¡°leBindKeys.il¡±)

layoutPlus & £¨×¢Òâ×ÖĸµÄ´óСд£¡ »òicfb &£©

ʵÑéÄÚÈÝÓë²½Öè

±ßѧ±ß×ö£º»­INV°æÍ¼

Ò»¡¢¸ù¾ÝÉè¼Æ¹æÔò»­nmos°æÍ¼£º

[1]¡¢ÔÚCIW´°¿ÚÖУ¬Ñ¡ÔñFile->Open, £¨ÈôÎÞnmos Cell£¬Ôò½¨Á¢New£© Library Name design Cell Name nmos View Name layout

OK¡£

[2]¡¢»­poly£ºÔÚLSW´°¿ÚÖÐÑ¡Ôñpoly drawing²ã×÷Ϊµ±Ç°²ã

(LSWÉÏ·½ÓÐÒ»À¸Ìáʾ£¬»­Èκβã֮ǰ±ØÐ뽫¸Ã²ãÉèΪµ±Ç°²ã¡£µ±Ç°²ã±ØÐë¿É¼û¡£ LSWÌáʾ£ºAV£ºÈ«¿É¼û£¬NV£ºÈ«²»¿É¼û£»AS£ºÈ«¿ÉÑ¡£¬NS£ºÈ«²»¿ÉÑ¡¡£ ¶ÔÓÚijһ²ã£¬Êó±êÖмü£º¿É¼û/²»¿É¼û£¬Êó±êÓÒ¼ü£º¿ÉÑ¡/²»¿ÉÑ¡£©

[3]¡¢µã»÷ Create->PathÃüÁ£¨±¾ÊµÑéʹÄãÕÆÎղ˵¥ÃüÁʵ¼ÊÉÏÄã¿ÉÒÔʹÓÃͼ±ê¹¤¾ßºÍ¿ì½Ý¼üÍê³ÉºÜ¶à²Ù×÷£©

[4]¡¢µ¥»÷×ó¼üÑ¡ÔñÒ»¸öÆðµã¡££¨´Ëʱ´°¿ÚÉÏ·½ÖмäµÄDX, DY×ø±ê±ä³É0£¬0£©

ËÉ¿ª×ó¼ü£¬ÏòÉÏÒÆ¶¯Êó±êÖÁDX, DY×ø±ê±ä³É0£¬4.8£»°´»Ø³µ¼ü»òÕßË«»÷Êó±êÍê³ÉËü¡£

Ìáʾ£ºÄã¿ÉÒÔÓñê³ßÈ·¶¨³¤¶È£¬µã»÷Windows->Create Ruler£»Èç¹ûÄãÏëɾ³ý±ê³ß£¬

Windows->Clear All Rulers¡£ËüÃǵĿì½Ý¼üÊÇʲô£¿

[5]¡¢»­ndiff£ºLSWÖÐÑ¡Ôñndiff drawing²ã×÷Ϊµ±Ç°²ã£¬µã»÷Create->RectangleÃüÁî¡£ [6]¡¢µ¥»÷×ó¼üÑ¡ÔñÒ»¸öÆðµã£¨×¢Ò⣺´Ëʱ´°¿ÚÉÏ·½µÄDX, DY×ø±ê±ä³É0£¬0£©£» ËÉ¿ª×ó¼ü£¬Òƶ¯Êó±êÖÁDX, DY×ø±ê±ä³É4.8£¬3.6£»°´»Ø³µ¼ü£¬»òÕßË«»÷Êó±ê¡£ESC [7]¡¢Edit->MoveÒÆ¶¯ndiff²ã£¬²ÎÕÕÏÂͼ£¨DRC¹æÔò£©°ÑËü·ÅÔÚºÏÊʵÄλÖᣠnmosÉè¼Æ¹æÔò£¨ÔÊÐíµÄ×îС³ß´ç£©£º

(1) ndiff overlap of contact 0.9u

(2) contact minimum width 0.6u (3) contact spacing 0.6u

(4) contact to gate spacing 0.6u (5) poly extension 0.6u

(6) metal overlap of contact 0.4u (7) Device length 0.6u

Èç¹û»­µÄ³ß´ç²»¶Ô£¬Ñ¡ÔñEdit->Stretch¿ÉÒԸıä´óС¡£

ÒÔÉϸ÷¸ö²Ù×÷ÃüÁî¶¼¿ÉÒÔÑ¡Óá°Virtuoso Layout Editing¡±´°¿Ú×ó±ß¹¤¾ßͼ±êÍê³É¡£

˵Ã÷£º±¾Éè¼Æ¹æÔò½öÊǰæÍ¼ÊµÑéµÄ¼ÙÉèÊý¾Ý£¬²¢·Ç0.6umÕæÊµ¹¤ÒÕ¡£

ÏÖÔÚ£¬ÄãÍê³ÉµÄ°æÍ¼Ó¦ÈçÏÂͼËùʾ£º

[8]¡¢»­nmosÆ÷¼þÔ´¡¢Â©¼«µÄÍâÁ¬½Ócontact£º

metal1 drawing²ã×÷Ϊµ±Ç°²ã£¬ÔÚÔ´¡¢Â©¼«»­³ß´çΪ1.4um*2.6umµÄ¾ØÐΣ¬

contact drawing²ã×÷Ϊµ±Ç°²ã£¬ÔÚÔ´¡¢Â©¼«¸÷»­Á½¸ö³ß´çΪ0.6um*0.6umµÄcontact£¬ £¨ÄãÒ²¿ÉÒÔÏÈ»­Ò»±ß£¬ÔÙÓÃ×ó±ß¹¤¾ßÀ¸ÖÐcopyÍê³ÉÁíÒ»±ß£©

[9]¡¢Save´æÅÌ£¬¹Ø±Õnmos°æÍ¼´°¿Ú¡£

¶þ¡¢¸ù¾ÝÉè¼Æ¹æÔò»­pmos°æÍ¼¡£ Éè¼Æ¹æÔò£ºpmos

(1) nwell overlap of pdiff 0.4u (2) pdiff overlap of contact 0.9u (3) contact minimum width 0.6u (4) contact spacing 0.6u

(5) contact to gate spacing 0.6u (6) poly extension 0.6u

(7) metal overlap of contact 0.4u (8) Device length 0.6u

ÔÚCIW´°¿ÚÖУ¬Ñ¡ÔñFile->New-> Cell View,È»ºóÊäÈëÒÔÏÂÄÚÈÝ Library Name design Cell Name pmos Tool Virtuoso ÕâʱView NameÀ¸ÖÐ×Ô¶¯Îª£ºlayout

OK¡£

²ÎÕÕÏÂͼ»­pmos°æÍ¼¡£

²¿·Ö¾ØÐεÄ×îС³ß´çΪ£¨×îºÃ°´×îС³ß´ç»­£¬ËäÈ»Äã¿ÉÒÔ»­µÃÉÔ΢´óһЩ£©£º nwell =5.6um*8.0um pdiff=4.8um*7.2um metal1=1.4um*6.2um

Èý¡¢Íê³ÉINV(inverter Cell )°æÍ¼¡£ Éè¼Æ¹æÔò£ºinverter

[1]´ò¿ª£¨ÈôÎÞ£¬Ôò½¨Á¢£©inverterµ¥Ôª£¬·ÅÖÃ(instance)Äã»­ºÃµÄnmosºÍpmos°æÍ¼£¨ÔÚCreate Instance´°¿Ú£¬BrowseÑ¡Ôñ£©, Á¬ºÃpolyºÍmetal1¡£

É裺metal1×îС¿í¶È=0.8um

ndiffÓënwell×îС¼ä¸ô=1um£¬±¾Àý¼ä¸ôÒÑ×ã¹»¡£

ÔÙ»­Ò»¸önwell½«ÉÏÃæmetal1£¨vdd£©¸²¸Ç£¨ÒªÓëpmosµÄnwellÏཻµþ£©¡£

[2]¡¢MOS³Äµ×¼ÓµçÔ´£¨nwell£©ºÍµØ¡£

Instance£¬ÔÚpcells¿âÖÐÕÒµ½PTAPºÍNTAP£¬PTAP·ÅÔÚÉÏͼgnd½ðÊôÏßÉÏ£¬NTAP·ÅÔÚÉÏͼvdd½ðÊôÏßÉÏ¡£PTAPµÄ×÷ÓÃÊÇÁ¬½ÓgndºÍp³Äµ×£»NTAPµÄ×÷ÓÃÊÇÁ¬½ÓvddºÍnwell¡£

[3]¡¢polyÁ¬½Ómetal1¡£

Instance£¬ÔÚpcells¿âÖÐÑ¡M1_POLY·ÅÔÚpolyÊʵ±Î»ÖÃÉÏ£¨¼ûÉÏͼ£©¡£

[4]¡¢Ìí¼ÓÊäÈëºÍÊä³öPIN

1£®Ñ¡ÔñCreate->Pin,ÔÚCreate Shape Pin ´°¿ÚTerminal Names À¸£¬ÊäÈ룺

A Y gnd vdd

È»ºóÑ¡ÖÐDisplay Pin Name °´Å¦£¬ÈçÏÂͼ¡£

Hide

2£®Ñ¡ÔñLSW´°¿Úmetal1 pin(»òpoly pin)Ϊµ±Ç°²ã£¬ÔÚM1_POLYÉÏÓÃÊó±êÖ±½Ó»­Ò»¸ö¾ØÐΣ¨²»ÒªÑ¡Ôñ×ó±ßµÄRectangle¹¤¾ßͼ±ê¡£ÈôÔÚLSWÖÐÑ¡Ôñpoly pinΪµ±Ç°²ã£¬Ôò»­ÔÚpolyÉÏ£©£¬´ËʱA×Ö·û»á³öÏÖ£¬²¢ÇÒÓÐÒ»¸úÏßÁ¬½ÓA×Ö·ûºÍ¾ØÐοò£»°ÑA×Ö·û·Åµ½ºÏÊʵÄλÖá£

3£®Ñ¡Ôñmetal1 pin»­Ò»¸ö¾ØÐÎÔÚÊä³öµÄºÏÊÊλÖ㬽«³öÏÖµÄ×Ö·ûY·Åµ½ºÏÊʵÄλÖᣠ4£®Í¬ÑùµÄ²½ÖèÒÀ´Î·ÅºÃgndºÍvdd.¡£

SaveÍ˳öinverter layout¡£

DIY£º

¸ù¾ÝÔ­Àíͼ»­NOR2°æÍ¼

ÒªÇó£º1¡¢·ûºÏÉè¼Æ¹æÔò£» 2¡¢°æÍ¼Ãæ»ý¾¡Á¿Ð¡¡£

MOS³ß´ç£º(W/L)p=14.4um/0.6um£¬ (W/L)n=2.4um/0.6um¡£

Cadence ICÉè¼ÆÊµÑé

ʵÑéËÄ¡¢Diva Interactive Verification

ʵÑéÄ¿µÄ£ºÕÆÎÕDRCºÍLVSÑéÖ¤·½·¨

°æÍ¼»æÖƺóÒª¸ù¾Ýfoundry³§µÄ¹¤ÒÕÒªÇó½øÐÐDRC£¨Design Rule Checker£©¼ì²é£¬±à¼­ºÃµÄ°æÍ¼±ØÐëͨ¹ýLVS£¨Layout Versus Schematic£©ÑéÖ¤£¬¼ì²éÊÇ·ñÓëschematicµçÔ­ÀíͼÍêȫһÖ£»°æÍ¼Öл¹¿ÉÄÜ´æÔÚһЩÐü¿ÕµÄÆ÷¼þºÍÏßÍø£¬Í¨¹ýµçÆø¹æÔò¼ì²éERC(Electrical Rule Check)¿ÉÒÔ·¢ÏÖÕâЩ´íÎó¡£½øÐÐLVSºÍERC֮ǰ£¬ÐèÒªÓÃDivaÑéÖ¤¹¤¾ßÖеÄExtract³ÌÐò¶Ô°æÍ¼½øÐÐÆ÷¼þÌáÈ¡£»Extract»¹¿ÉÒÔ½øÐмÄÉú²ÎÊýÌáÈ¡£¬µç··ÂÕæ³ÌÐò¿ÉÒÔµ÷ÓÃÕâ¸öÊý¾Ý½øÐкó·ÂÕæ¡£

DIVA¹¤¾ß¼¯°üÀ¨ÒÔϲ¿·Ö£º 1£® Éè¼Æ¹æÔò¼ì²é£¨DRC£©

2£® ÌáÈ¡Extractor£º°üÀ¨Æ÷¼þÌáÈ¡¡¢°æÍ¼¼ÄÉú²ÎÊýÌáÈ¡£¨LPE£©¡¢¼ÄÉúµç×èÌáÈ¡£¨PRE£© 3£® µçÆø¹æÔò¼ì²é£¨ERC£© 4£® °æÍ¼ÓëÏß·ͼ±È½Ï£¨LVS£©

Ô¤±¸¹¤×÷£º

cp /eva01/cdsmgr/ training_IC_data/DivaInt_5_0.tar . tar -vxf DivaInt _5_0.tar cd diva

ʵÑéÄÚÈÝÓë²½Ö裺

µÚÒ»²¿·Ö£ºDRCÉè¼Æ¹æÔò¼ì²é

Ò»¡¢½øÈëDRC²Ëµ¥£º

[1]¡¢ icfb &

[2]¡¢ ÔÚCIW ´°¿Ú£¨icfb-Log:/¡­£©,µã»÷Tools->Library Manager£» [3]¡¢LibraryÁбí¿òÖеã»÷design£»

CellÁбí¿òÖеã»÷peakDetect£»

ViewÁбí¿òÖÐË«»÷layout£» £¨»òÓÃÊó±êÓÒ¼üopen£©

(×¢£ºÕâÊÇ·åÖµ¼ì²âÆ÷µç·°æÍ¼£¬Äã¿ÉÒԲ鿴ÏàÓ¦µÄschematic Á˽âµç·ԭÀí) [4]¡¢ÔÚ³öÏÖµÄVirtuoso Layout Editing´°¿Ú£¬µã»÷Verify->DRC¡­²Ëµ¥¡£

³öÏÖÏÂͼDRC´°¿Ú£º

¶þ¡¢²éÕÒij²ã£¨poly1²ã£©DRC´íÎó

[5]¡¢ÔÚDRC´°¿Ú£¬µã»÷ÓұߵÄSet Switches°´Å¥£¬ÔÚµ¯³öÁбíÖÐÑ¡Ôñpoly1£¬µã»÷OK£¬ÔÙµã»÷DRC´°¿ÚOK¡£

ÔÚlayout´°¿ÚÖиßÁÁÉÁ˸ÏÔʾpoly1´íÎó£¬ÄãÒ²¿ÉÔÚCIW´°¿Ú²é¿´DRCÖ´Ðнá¹û¡£ [6]£®ÔÚVirtuoso Layout Editing´°¿Ú£¬µã»÷Verify->Markers->Find¡­¡£µ¯³öFind Marker¿ò¡£

[7]¡¢ÔÚFind Marker´°¿ÚÖÃZoom to Markers°´Å¦ÓÐЧ£¬µã»÷Next¡£

µ¯³ömarker text ´°¿ÚÏÔʾ´íÎóÐÅÏ¢£¬Èç¹û¿´²»µ½´íÎóÐÎ̬£¬°´ÏÂshift+f¡£

[8]¡¢µã»÷Virtuoso Layout Editing´°¿Ú×óÏ·½ Ruler¹¤¾ß»òk£¨°´ESCÈ¡Ïû¹¤¾ß£©£¬

²âÁ¿¸ßÁÁ±ß¿òpoly1¿í¶È£¬±È½Ïmarker text ´°¿ÚÏÔʾµÄ´íÎóÐÅÏ¢£¬°´shift+kÈ¡Ïû°æÍ¼Éϵijߴç±ê¼Ç¡£ ÔÚFind Marker´°¿Ú£º

µã»÷NextѰÕÒÏÂÒ»¸ö´íÎófλÖã¨PreviousÊDz鿴ǰһ¸ö´íÎ󣩡£ Á¬Ðøµã»÷Delete£¬Ö±µ½²»ÏÔʾ´íÎóΪֹ£¨ÆÁÄ»²»Ôٸı䣩£¬ µã»÷Cancel£¬fÈ«ÆÁ£¬¸ßÁÁÉÁ˸µÄ´íÎóÌáʾÏûʧÁË¡£

×¢Ò⣺Ä㲢û¸ÄÕý°æÍ¼´íÎó£¬Ö»Êǽ«´íÎóÌáʾdeleteµôÁË£¬ÈôÔÙ´Î×öDRC»á·¢ÏÖ´í

ÎóÒÀ¾É¡£

Èý¡¢ÁíÒ»ÖÖ²éÕÒDRC´íÎóµÄ·½·¨

[9]¡¢Ñ¡ÔñVerify->DRC¡£

[10]¡¢µã»÷Set switchs °´Å¥

ÔÚÁбíÖÐÑ¡ÔñallInterconnect£¬->OK£¬DRC´°¿Ú OK¡£ [11]¡¢DRC½áÊøºó£¨³öÏÖ¸ßÁÁÉÁ˸µÄ´íÎóÌáʾ£©£¬Ñ¡ÔñEdit->search¡£ ÔÚSearch´°¿Ú£º

ÉèÖÃZoom To Figure °´Å¦ÓÐЧ

ÔÚSearch for ²Ëµ¥£ºany shape£¬ ÔÚ in ²Ëµ¥£º current cellView [12]¡¢µã»÷Add Criteria, Search´°¿ÚÖмä³öÏÖÒ»ÐÂÑ¡ÔñÐС£

λÓÚSearch forÏÂÃæ×î×ó±ßµÄÑ¡¿òÄÚÈݸÄÖÃΪproperty£¬Íê³É±í¸ñÈçÏ£º

property name£ºdrcWhy = = metal1

µã»÷Apply¡£ÆÁÄ»½«ÏÔʾһ¸ömetal1´íÎó£¬ÓÉÓÚÄãµÄÉ趨£¬SearchÃüÁֻ²éÕÒmetal1 ´íÎó£¬×ܵĴíÎóÊýÔÚFigure countÀ¸ÏÔʾ¡£ [13]¡¢µã»÷¼¸´ÎNext

[14]¡¢ µã»÷Cancel, fÈ«ÆÁ¡£

ËÄ¡¢±ê×¢²»½øÐÐDRC»òExtractingµÄµ¥Ôª

[15]¡¢ÔÚlayout´°¿ÚÕÒµ½µ¥Ôªfiducial £¨¼ÙÉèËüÊǸö²âÊÔ»ù×¼µ¥Ôª£©

Ctrl+f£¨½öÏÔʾ¶¥²ãCell£©£¬Ôڵײ¿ÇøÓòÕÒµ½fiducialµ¥Ôª(²»ÒªÓëÓұߵÄfiducialdµ¥ÔªÅª»ìÁË)£»

[16]¡¢µã»÷Ñ¡ÖÐfiducialµ¥Ôª£¬shift+x½øÈëfiducialµ¥Ôª£»£¨ÉԵȣ©

[17]¡¢Í¨¹ýÌí¼ÓivIncludeValueÐÔÖÊ×èÖ¹DRC¶Ôfiducialµ¥Ôª½øÐмì²é£º

A£® ÔÚlayout´°¿ÚÖа´ÏÂshift+q£¬µ¯³öEdit Cellview Properties´°¿Ú B£® ÖÃproperty°´Å¥ÓÐЧ£¨ºÚ£© C£® µã»÷Edit Cellview Properties´°¿ÚÖеÄ×óÏ·½Add°´Å¥ D£® ÔÚµ¯³öµÄAdd property±í¸ñÉèÖÃÈçÏ£º Name ivIncludeValue

Type Int

Value2

E£® OK

F£® µã»÷Edit Cellview Properties´°¿ÚÖеÄOK£» G£® Save ±£´æfiducialµ¥Ôª°æÍ¼£» H£® shift+b£¬·µ»Øµ½ÉÏÒ»²ã°æÍ¼¡££¨ÉԵȣ© [18]¡¢ÔÚLayout Editing´°¿Ú£¬Verify¡ª>DRC£» [19]¡¢½«DRC±íÖеÄInclusion LimitÉèÖÃΪ0¡£ [20]¡¢OK¡£

²é¿´fiducialµ¥Ôª£¬²»ÔÙÓдíÎóÌáʾ³öÏÖ¡£

(×¢£ºfiducialµ¥ÔªÊÇÒ»¸ö°üº¬ÁËÐí¶à²»·ûºÏÉè¼Æ¹æÔòµÄ²âÊÔµ¥Ôª£¬Õâ¸öµ¥ÔªÓëµç·ûÓÐ

ÈκÎÁªÏµ£¬ÔÚʵ¼ÊµÄÐ¾Æ¬ÖÆÔì¹ý³ÌÖУ¬»áÓÐÕâÑùµÄµ¥Ôª´æÔÚ£¬ÕâÑùµÄµ¥ÔªµÄ×÷ÓÃÊÇʲô£¬ÄãÄÜÏëµ½Âð£¿)

ÊÔÒ»ÏÂf£¬Shift+f£¬Ctrl+fÓÐÊ²Ã´Çø±ð£¿

Îå¡¢¸ÄÕýDRC¼ì²é³öÀ´µÄ´íÎó

[21]¡¢¸ù¾ÝÇ°Ãæ½éÉܵĵÚÒ»ÖÖ·½·¨ÕÒµ½poly1µÄ´íÎó¡£ [22]¡¢Ctrl+£¨f½öÏÔʾ¶¥²ãCell£©£¬ÕÒµ½controlµ¥Ôª£¬µã»÷Ñ¡ÖÐcontrolµ¥Ôª£¬shift+x½øÈëcontrol

µ¥Ôª¡£

£¨×¢£º´íÎóÔÚin2ºÍvcapÖмäµÄcontrolµ¥ÔªÖУ¬±ØÐë½øÈëcontrolµ¥Ôª²ÅÄÜÐ޸ĴíÎó£© [23]¡¢ÔÙ´ÎVerify->DRC, ´íÎóÔ­ÒòÊÇʲô£¿

CIWÖÐÌáʾÄãÓÐÏÂÁдíÎó£º

Minimum poly1 width = 0.6 (µ¥Î»um) Minimum poly1spacing = 1.0 Poly1 extension past pdiff = 0.4 Óñê³ßÁ¿Ò»Ï£¬´íÎóÔ­ÒòÊÇʲô£¿ [24]¡¢Êó±ê×ó¼üÑ¡ÖиßÁÁµÄpoly1£¬q

[25]¡¢ÔÚEdit Path Properties´°¿Ú£¬½«WidthÀ¸0.4£¨u£©¸ÄΪ0.6¡£OK [26]¡¢Save

[27]¡¢CIWµÚ3¸ö´íÎóÌáʾÊÇÖ¸£¬poly1³¬¹ýpdiffµÄ×î¶Ì¶ͷӦΪ0.4u m£¬¶øNAND2µ¥Ôª

ÖÐ×ó±ßpoly1³¬¹ýpdiffµÄ¶ͷ½öΪ0.3um£¬ÐèÒª¸ÄÕýËü¡£

Õâ¸ö´íÎó³öÏÖÔÚcontrolµ¥ÔªÖеÄNAND2µ¥ÔªÖУ¬ËùÒÔ±ØÐë½øÈëNAND2µ¥ÔªÐ޸ġ£

1£©¡£f(È«ÆÁ)£¬È»ºóCtrl+f£¨½öÏÔʾ¶¥²ãCell£©£¬ÕÒµ½NAND2µ¥Ôª£¬µã»÷Ñ¡ÖÐNAND2µ¥Ôª£¬shift+x½øÈëNAND2µ¥Ôª¡£ 2£©¡£Ñ¡Öгö´ípoly1£¬q¡£ÔÚEdit Rectangle Properties´°¿Ú£¬½«TopÀ¸µÄÊý¾ÝÔö¼Ó0.1¡£ OK¡£ 3£©¡£Óñê³ß£¨k£©Á¿Ò»ÏÂpoly1¶ͷÊÇ·ñÔö¼Óµ½0.4ÁË¡£Shift+kÈ¡Ïû±ê³ß¡£ [28]¡¢Save ±£´æµ¥Ôª°æÍ¼£»

[29]¡¢shift+b£¬·µ»Øµ½ÉÏÒ»²ã°æÍ¼(controlµ¥Ôª)¡£Shift + f¡£ [30]¡¢Verify->DRC£¬£¨ÈÔÈ»ÊDzépoly1£©£¬´ËʱCIWÖ»Ìáʾ»¹ÓÐ1¸ö´íÎó£º

Minimum poly1spacing = 1.0¡£

Óñê³ßÁ¿Ò»Ï³ö´í´¦µÄÁ½¸öpoly1Ö®¼äµÄ¼ä¾à½öÓÐ0.4¡£

[31]¡¢Óñê³ß±ê³öPathÒÆ¶¯µÄλÖã¬ESC£¬½«³ö´ípoly1 PathÖÐÐÄÏßÍùÉÏÀ­£¨s£©µ½ÕýȷλÖá£

×¢Ò⣺ѡÖÐÐÄÏßÊǼþ²»ÈÝÒ×µÄÊ£¬Äã¿ÉÒÔÏȽ«µã»÷poly1 drawingΪLSWµ±Ç°²ã£¬È»ºóµã»÷NSÖÃËùÓÐLSW²ã²»ÄÜÑ¡£¬ÔÙÓÃÊó±êÓÒ¼üµã»÷poly1 drawingʹÆä¿ÉÑ¡¡£ÔÚlayout´°¿Ú£¬shift+r£¬µã»÷³ö´ípoly1Ö±µ½Ëü±ßÑØ±ä³É´ÖéÙºìÉ«£¨²»Êǰ×É«£©£¬s£¬Òƶ¯Êó±êµ½ÖÐÐÄÏßÉϾͿÉÒÔÍ϶¯ÁË¡£

LSWÖÐAS¡£

ÒªÌØ±ðµ±ÐÄ£¬»òÐíÄã»á²úÉúеĴíÎ󣬱ÈÈçÒÆ¶¯ÁËÆäËü¶ÔÏ󣬾ÍÓÃESCÈ¡Ïû¡£ shift+k£¨È¡Ïû±ê³ß£©-> Verify/Marker/Find/Delete(È¡Ïû´íÎóÌáʾ)->Save

[32]¡¢£¬shift+b»Øµ½¶¥²ãÔ­Àíͼ£¬ÔÙ¶Ôpoly1½øÐÐDRC,£¬CIW´°¿ÚÌáʾ£ºTotal errors found: 0 Save

DIY

¶Ômetal1ºÍmetal2½øÐÐDRC²¢¸ÄÕý´íÎó¡£

£¨Ìáʾ£ºmetal1ÓÐÒ»¸ö´íÎó£¬metal2ÓÐÁ½¸ö´íÎó£©

µÚ¶þ²¿·Ö£º Extraction

Ò»¡¢ÔËÐÐextraction

[1]¡¢ÔÚpeakDetect°æÍ¼´°¿ÚÑ¡ÔñVerify->Extract¡­ [2]¡¢ÉèÖÃExtractor±í¸ñ£º

ExtractMethodflat [3]¡¢µã»÷OK¡£Extraction¿ªÊ¼£¬ÔÚÔËÐйý³ÌÖÐÄã¿ÉÒÔÔÚCIW´°¿Ú¿´µ½ÔËÐÐÇé¿ö£¬Äã¿´µ½µÄ×îÖÕÐÅϢΪ£º

Total errors found : 0

Éú³ÉpeakDetectµ¥Ôªextracted View¡£

[4]¡¢½«peakDetect°æÍ¼´°¿Ú×îС»¯£¬Áô×÷ÒÔºóʹÓá£

¶þ¡¢²é¿´ExtractedÊÓͼ

[5]¡¢´ò¿ªpeakDetect µ¥ÔªextractedÊÓͼ

[6]¡¢½«in2ºÍvcapѹº¸¹Ü½Å£¨PIN·½¿é£©Ö®¼äµÄcontrolµ¥Ôª·Å´ó£¬·½·¨ÊÇÓÃÊó±êÓÒ¼ü°´×¡ÍϳöÒ»³¤·½ÇøÓò£¬È»ºóËÉ¿ªÊó±ê¡£Äã¿ÉÒÔ¿´µ½pmos£¬nmosÆ÷¼þ·ûºÅ£¬±íÃ÷Éè¼ÆÒѾ­±»ÌáÈ¡£¬½øÒ»²½·Å´ó·ûºÅ£¬¿ÉÒÔ¿´µ½Æ÷¼þµÄ²ÎÊýÒ²ÒѾ­±»ÌáÈ¡£» [7]¡¢°´ÏÂe [»òOptions->Display¡£¡£¡£]

[8]¡¢ÔÚDisplay Options±íÖУ¬Ñ¡ÖÐDisplay Control¶ÎµÄNets£¬µã»÷Apply

´ÓÆ÷¼þÒý½Å³ö·¢µÄ·ÉÏß˵Ã÷Æ÷¼þµÄÁ¬½ÓÒ²ÒѾ­±»ÌáÈ¡

[9]¡¢Èç¹ûÒѾ­¿´µ½·ÉÏߣ¬¹Øµô¸Õ²ÅÑ¡ÖеÄNetsÑ¡Ïµã»÷OK [10]¡¢f È«ÆÁ

[11]¡¢Ñ¡ÔñVerify->Probe¡­£¬

×¢Ò⣺ֻÓÐExtractedºÍschematicÊÓͼ¿ÉÒÔ½øÐÐprobe [12]¡¢ÓÃÊó±ê½øÐÐÍøÂç̽²â£¨·½·¨Ò»£©

1£© ¡£ÔÚµ¯³öµÄProbing´°¿ÚÖеã»÷Ò»ÏÂAdd Net 2£© ¡£µã»÷extractedÊÓͼÖÐvinputѹº¸¹Ü½Å£¬Õû¸övinputÍøÂç±»¸ßÁÁÏÔʾ³öÀ´ [13]¡¢ÓÃÃû×Ö½øÐÐÍøÂç̽²â£¨·½·¨¶þ£©£º

1£©¡£µã»÷Add net 2£©¡£ÔÚCIW´°¿Ú(icfb-log£º/¡£¡£¡£)¼üÈë¡°vdd£¡¡±£¨°üÀ¨ÒýºÅ£©,Enter

Õû¸övdd£¡ÍøÂç±»¸ßÁÁÏÔʾ³öÀ´

[14]¡¢ ½âÊÍ̽²â½á¹û a£®Ñ¡ÔñOn CIWÑ¡Ïî½øÐнâÊÍ£¬ËùÓеĽâÊͽ«ÏÔʾÔÚCIW´°¿Ú b£®µã»÷Probing´°¿ÚÖÐ×óÏ·½Explain

c£®µã»÷vdd£¡Ñ¹º¸¹Ü½Å CIW´°¿ÚÖÐÏÔÊ¾ÍøµãµÄÃû³Æ£º Object type : net Object name : /vdd! [15]¡¢É¾³ý̽²â½á¹û a£®µã»÷Probing´°¿Ú Remove Nets b£®µã»÷vdd£¡£¬ËùÓйØÓÚvdd£¡µÄÏÔʾ±»È¡Ïû c£®µã»÷Remove all£¬ËùÓеĸßÁÁÏÔʾ±»È¥³ý [16]¡¢Probing ´°¿ÚCancel¡£

µÚÈý²¿·Ö£º LVS

Ò»¡¢ÔËÐÐLVS

[1]¡¢´ò¿ªpeakDetectµ¥ÔªµÄschematic£¬ÔÚextractedÊÓͼѡÔñVerify->LVS£¬ ΪÁË·½±ãÄã²Ù×÷£¬½«ÏÂÁм¸¸ö´°¿ÚÅÅÁгɣº

Schematic extracted CIW LVS ±í¸ñ

[2]¡¢ÔÚLVS ±í¸ñ

ÔÚschematicºÍextractedÏÂÃæ£¬ÓÃBrowseÉèÖúÃÄã´ò¿ªµÄLabrary¡¢CellºÍ

View¡£

¼ì²éLVS±í¸ñÊÇ·ñÈçÏÂÉèÖãº

Run Directory£ºLVS

Rules File £ºdivaLVS.rul

Rules library £º design

[3]¡¢µã»÷Run£¬ÉԵȣ»µ¯³öAnalysis Job Succeeded¶Ô»°¿ò£¬µã»÷OK¡£

¶þ¡¢²ì¿´LVSÔËÐнá¹û

[4]¡¢ÔÚLVS±í¸ñÖеã»÷Info£¬µ¯³öDisplay Run Information±í¸ñ¡£

[5]¡¢µã»÷Log File¡£³öÏÖÒ»¸öÎı¾Îļþsi.log£¬ÔÚÎļþµÄ×îºóÓдíÎ󱨸档 [6]¡¢¹ØµôLog File£¬²¢½« Display Run Information±í¸ñcancel¡£

£¨ÒÔÏÂÑ¡×ö£©

Èý¡¢²éÕÒUnmatched Device ºÍ Terminals ´íÎó

[7]¡¢ÔÚLVS±í¸ñµã»÷Error Display

[8]¡¢°Ñ¹â±êÒÆµ½Extracted°æÍ¼´°¿Ú£¬°´ÏÂEsc£¬½«extracted´°¿ÚÉèÖÃΪ»î¶¯´°¿Ú [9]¡¢ÔÚLVS Error Display±í¸ñ£º

1)¡£Ñ¡ÖÐ×óϽÇNone£¬Çå³ýÔ­Ñ¡Ïî 2£©¡£Unmatched À¸£ºinstancesºÍterminalsÖÃΪÓÐЧ 3£©¡£Display À¸£ºall

ÔÚextracted°æÍ¼Öв»Æ¥ÅäµÄPIN£¨terminals£©ºÍÆ÷¼þvss£¡£¬gnd!ºÍvdd!£¬ÒÔ¼°fiducialdµ¥ÔªÖеÄnmosºÍpmos±»¸ßÁÁÏÔʾ£»

×¢£ºÔÚ²»Æ¥Åä´íÎóÖУ¬Óй¤ÒÕ²âÊÔ»ù×¼µ¥Ôª£¨fiduciald£©¶øÒýÆðµÄÐé¼Ù´íÎó¡£ [10]¡¢ÔÚLVS Error Display±í¸ñÖеã»÷Explain£¬È»ºóµã»÷ÈÎÒ»¸ö¸ßÁÁÏÔʾÆ÷¼þ£» [11]¡¢µã»÷InfoÔÚLVS±í¸ñ£¬µ¯³öDisplay run information±í¸ñ¡£

[12]¡¢µã»÷Extracted¶ÎÖеÄBad Terminals£»³öÏÖÒ»¸öº¬Óлµ½ÓÏß¶ËÐÅÏ¢µÄÎı¾Îļþ¡£

[13]¡¢ä¯ÀÀÒ»ÏÂÎı¾£¬È»ºó¹ØµôËü¡£

[14]¡¢ÔÚLVS Error Display±íÖУ¬µã»÷Clear Display

[15]¡¢½«LVS Error Display ºÍDisplay Run Information±í¸ñCancel¡£

ËÄ¡¢Åųý¶Ôfiduciald»ù×¼²âÊÔµ¥ÔªµÄ¼ì²â£¬¸üÕýÐé¼ÙµÄ²»Æ¥Åä´íÎó

¶Ôfiducialdµ¥ÔªÌí¼ÓivIncludeValueÊôÐÔ

[16]¡¢´ò¿ªfiduciald°æÍ¼

[17]¡¢±à¼­´Ëµ¥ÔªµÄÊôÐÔ£¬½«ivIncludeValueÊôÐÔÖµÉèΪ2£º

a£® ÔÚ°æÍ¼´°¿Ú°´ÏÂshift+q

b£® ÔÚEdit Cell Properties±í¸ñÖеã»÷Property°´Å¥ c£® µã»÷Add

d£® ÉèÖÃAdd Property ±í¸ñ£º

Name ivIncludeValue

Type int

Value2

e£®ÔÚAdd PropertyºÍEdit Cell PropertiesÁ½¸ö±í¸ñÖзֱðµã»÷OK [18]¡¢±£´æ²¢¹Øµôfiduciald°æÍ¼¡£

Îå¡¢ÖØÐ½øÐÐExtracting ºÍ LVS

[19]¡¢´ò¿ªpeakDetect °æÍ¼

[20]¡¢Ñ¡ÔñVerify->Extract,½«Inclusion LimitÉèÖÃΪ0£¬ËùÓÐivIncludeValue´óÓÚÁãµÄµ¥Ôª¶¼½«±»Åųý£¬²»±»¼ì²â£¬µã»÷OK¡£

[21]¡¢¹ØµôpeakDetect µ¥ÔªLayout°æÍ¼´°¿Ú¡£

[22]¡¢ÔÚpeakDetect µ¥Ôªextracted´°¿Ú£¬Ñ¡ÔñWindow¡ª>Redraw£¬Ë¢ÐÂextracted´°¿Ú£¬È·¶¨fiducialºÍfiducialdµ¥Ôª²»ÔÙÏÔʾ£»

[23]¡¢ÔÚLVS±íÖеã»÷Run£¬³öÏÖ¶Ô»°¿ò£¬ OK¡£

[24]¡¢ÓÃLVS±íµÄInfoÀ´²é¿´ÔËÐнá¹û£¬µã»÷Log file£¬²é¿´½á¹û£¬ÓÐ1¸ömergedÀàÐ͵Änet£¨´íÎ󣩡£

¹Øµôsi.logÎļþ¡£

Áù¡¢ÔÚÔ­ÀíͼÖвéÕÒmerged net

Ô­ÀíͼÖеÄmerged errorÊÇÓÉÓÚ°æÍ¼ÖÐÓжÌ·¡£

[25]¡¢ÔÚLVS±í¸ñµã»÷Error Display¡£ [26]¡¢ÔÚÔ­Àíͼ´°¿Úµã»÷£¬°´ÏÂEsc¼¤»î¡£

[27]¡¢ÔÚLVS Error Display±í¸ñ£¬µã»÷None£¬È»ºóMerged ÏîÑ¡Ôñnets£¬µã»÷DisplayÀ¸ First£¬×ó±ßµÄ·Å´óÆ÷ºÍÊä³ö net±»¸ßÁÁÏÔʾ£¬ÔÚ LVS Error Display±í¸ñÓнâÊÍ£º

Net /I32/net18 merged with /net12.

×¢£ºÕâ¸ö´íÎóÊÇÓÉÓÚamplifierµ¥Ôª°æÍ¼Éϲ»Ð¡ÐÄ·ÅÁËÒ»¿é¾ØÐεÄmetal1ÒýÆðµÄ¡£ËüÒýÆðÁËÔË·ÅÊä³önet12ºÍamplifier£¨Æ÷¼þÃûI32£©ÖÐnet18µÄ¶Ì·£¨´íÎóÁ¬½Ó£©¡£Äã¿ÉÒÔÓÃq²é¿´Ò»ÏÂÍøÏß±êºÅ¡£

[28]¡¢ÔÚÔ­Àíͼ´°¿ÚÑ¡Ôñ³ö´íamplifier£¬°´ÏÂshift+x£¨ÉԵȣ©£¬½øÈëÏÂÒ»²ã¡£ [29]¡¢½«LVS Error Display±í¸ñCancel¡£

Æß¡¢ÔÚschematicÔ­ÀíͼºÍExtractedÊÓͼ֮¼ä½øÐн»»¥Ì½²é£¨Cross Probe£©

[30]¡¢ÔÚpeakDetectµ¥Ôªextracted ÊÓͼ£¬Ñ¡ÔñVerify-Probe£¬ÔÚÔ­ÀíͼÖа´ÏÂEsc¡£ [31]¡¢Ñ¡ÖÐProbing±í¸ñÖеÄcross probe matched£¬µã»÷Add net,ÔÚschematicÔ­ÀíͼÖÐÓÃÊó±êÑ¡Ôñ³ö´íµÄÊä³ö net£¬ÔÚextracted ÊÓͼÖеÄÏàÓ¦net±»¸ßÁÁÏÔʾ¡£ [32]¡¢ÓÃÏÂÁз½·¨ÕÒ³ö´íÎó£º

·ÖÎöһϴíÎóλÖ㺲ÎÕÕschematicËüÓ¦¸ÃÔÚ¾§Ìå¹ÜQ0µÄ¼¯µç¼«ºÍ»ù¼«Ö®¼ä¡£ ½«extracted³ö´íÇøÓò·Å´ó¡£µã»÷Add Dev£¬ÔÚÔ­ÀíͼÖеã»÷Q0£»ÓÃͬÑù·½·¨Ïȵã»÷Add dev£¬ÔÙµã»÷Æ÷¼þC0£¬R0£¬ÄãÄܹ»Åжϳöextracted°æÍ¼ÖÐQ0µÄ¼¯µç¼«ºÍ»ù¼«Â𣿠ÔÚextractedÊÓͼÖÐÕÒµ½¶Ì·´íÎóÁËÂ𣿣¨µçÈÝÏÂÃæ£©

[33]¡¢µã»÷Probing±í¸ñÖÐRemove All£¬È»ºócancel probing±í¸ñ¡£ÔÚamplifierÔ­ÀíͼÖа´ÏÂshift+b£¬·µ»Øµ½peakDetectÔ­Àíͼ¡£

°Ë¡¢¸üÕý°æÍ¼ÖжÌ·´íÎó

[34]¡¢ÔÚpeakDetectµ¥ÔªlayoutÊÓͼÖÐɾµô¸Õ²ÅÕÒµ½µÄ¾ØÐÎmetal1²¢Save£¬ÖØÐ¶Ôlayout½øÐÐextract£¬extracted°æÍ¼ÖеĶÌ·metal1ÏûʧÁË£»Save extracted °æÍ¼¡£

[35]¡¢¶Ôextracted°æÍ¼½øÐÐVerify->LVS->Run£¬²é¿´info->Log file£¨ÔÚDisplay Run

Information±í¸ñÖУ©£¬·¢ÏÖschematicÔ­ÀíͼÖеÄmerged netÒѾ­Ã»ÓÐÁË¡£

ÔÚ°æÍ¼Öл¹ÓÐ1¸ömerged net£¬2¸örewiredºÍ1¸ösize errors¡£ ¹Øµôsi.logÎļþ¡£

¾Å¡¢ÕÒµ½ layoutÖÐ ¿ªÂ·´íÎó

°æÍ¼ÖеÄmerged netµäÐÍ´íÎóÊǰæÍ¼ÖÐÓпªÂ·¡£ [36]¡¢ÔÚLVS±í¸ñµã»÷Error Display¡£ [37]¡¢ÔÚExtracted´°¿Úµã»÷£¬°´ÏÂEsc

[38]¡¢ÔÚLVS Error Display±í¸ñ£¬µã»÷None£¬È»ºóÑ¡ÔñMerged À¸ÖÐnets£¬µã»÷Display

À¸ÖÐAll£¬extracted°æÍ¼ÖÐÉÏ·½controlµ¥ÔªÖз´ÏàÆ÷µÄÊäÈë±»¸ßÁÁÏÔʾ¡£ LVS Error Displa±í¸ñÖгöÏÖÏÂÃæµÄ½âÊÍ£¨ÄãµÄnetÃû×Ö¿ÉÄܲ»Ò»Ñù£©£º

Net /25 merged with /19 [39]¡¢Ñ¡ÖÐLVS Error Display´°¿ÚÖеÄAuto-zoom£¬ÔÙµã»÷DisplayÀ¸First£¬ Extracted °æÍ¼ÖÐNand2 µÄÊä³öºÍinvÊäÈë¶¼±»ÏÔʾ³ö´í£¬ËµÃ÷ÕâÁ½¸öÆ÷¼þµÄÁ¬½Ó±»¶Ï¿ªÁË¡£

[40]¡¢ÔÚpeakDetectµ¥ÔªlayoutÊÓͼÖнøÈëcontrol µ¥Ôª£¨shift + x£©£¬

1£© ÉèLSW´°¿Ú AS£¬AVÓÐЧ£¬É赱ǰ²ãΪpoly1 drawing£¬µã»÷Path¹¤¾ßͼ±ê»­Ò»polyl1£¨ÉèΪ0.8um¿í¶È£¬²»µÍÓÚ0.6um¶¼¿É£©½«invÊäÈëpoly1Á¬µ½Nand2 µÄÊä³ömetal1ÉÏ£¬

2£©Instance£¬ÔÚdesign¿âÖÐÑ¡M1_POLY1·ÅÔÚpoly1Óëmetal1½»µþλÖÃÉÏ¡£ ÕýÈ·½á¹ûÈçÏÂͼËùʾ£º

Save.

shift + b·µ»Ø¶¥²ã°æÍ¼¡£

[41]¡¢¸ÄÕýºóÖØÐ½øÐÐextractºÍLVS£¬²é¿´log file£¬merged net ´íÎóûÓÐÁË¡£ ¹Øµôsi.logÎļþºÍDisplay Run Information±í¸ñ¡£

Ê®¡¢²éÕÒ size errors

[42]¡¢ÔÚschematic»òÕßextracted´°¿ÚÖа´ÏÂEsc£¬ÔÚLVS ±í¸ñµã»÷Error Display£»

[43]¡¢ÔÚError Display±íÖУ¬µã»÷None£¬Unmatched Ñ¡parameters£¬È»ºóDisplayÑ¡All¡£

Size error ½«ÔÚÁ½¸öÊÓͼÖÐÏÔʾ³öÀ´£¬extracted ÖмäµÄnmosºÍÔ­ÀíͼÖеÄnmos¶¼±»¸ßÁÁÏÔʾ¡£

[44]¡¢µã»÷Auto-zoom£¬first£¬ÔÚLVS error Display Öн«ÏÔʾÏà¹ØµÄ½âÊÍ£º Gate width error: Sch=2e-06 Lay=4e-06,Gate length: Sch=1e-05 lay=1e-05 [45]¡¢Cancel LVS Error Display ±í¸ñ¡£

[46]¡¢ÔÚpeakDetect layout°æÍ¼ÖÐÕÒµ½´íÎóµÄnmosµ¥Ôª£¬Êó±ê×ó¼üµã»÷Ñ¡ÖУ¬°´q½øÈë±à¼­ÊôÐÔ£¬µã»÷Parameter£¬½«width¸ÄΪ2u£¬OK¡£

[47]¡¢´ËʱnmosµÄ¹µµÀ¿í¶ÈÒѾ­¸ÄºÃ£¬½«nmosÒÆ¶¯µ½ºÏÊʵÄλÖᣠ[48]¡¢Save¡£¹Ø±ÕËùÓеĴ°¿Ú¡£

ICÉè¼ÆÊµÑé

ʵÑéÎå¡¢Active HDLµ÷ÊÔ¡¢·ÂÕæVerilog HDL

ʵÑéÄ¿µÄ£ºÊìϤActive HDL·ÂÕæÈí¼þµÄʹÓ㬳õ²½ÕÆÎÕÀûÓÃVerilog HDLÉè¼ÆÊý×ÖϵͳµÄ»ù±¾²½Öè¡£ ʵÑéÄÚÈݺͲ½Ö裺 Ò»¡¢´´½¨¹¤³ÌÓë±àÒë 1¡¢ ´´½¨¹¤³Ì

File-New-Workspace£¬´´½¨Ò»¸ö¿ÕµÄ¹¤³Ì¡£

½«ÐµĹ¤³ÌÃüÃûΪtutorial£¬²¢Ö¸¶¨±£´æÂ·¾¶¡£Îñ±Ø±£Ö¤Add New Design to WorkspaceÉèÖÃÓÐЧ£¬µãOK£¬Æô¶¯Éè¼ÆÏòµ¼New Design Wizard¡£

2¡¢ Ñ¡ÖÐCreate an empty design£¬Next¡£

3¡¢ ΪÉè¼ÆÖ¸¶¨×ۺϡ¢Æ÷¼þÀàÐÍ¡¢±à³ÌÓïÑÔµÈÆäËüÐÅÏ¢£¬±¾ÊµÑéÉè

ÖÃÈçÏ£¬Next¡£

4¡¢ ´ò¿ª´´½¨Ô´Îļþ´°¿Ú£¬design nameȡΪtutorial_Verilog£¬Éè¼Æ

·¾¶µÈ½ÓÊÜActiveµÄĬÈÏÉèÖᣵãÏÂÒ»²½£¬Ïòµ¼×îºóÒ»²½£¬µãÍê³É¡£

5¡¢

ÏÖÔÚ£¬Äã¿ÉÒÔ¿´µ½Éè¼Æä¯ÀÀÆ÷£¨Design Browser£©ÀïÓÐÉÏÃæ´´

½¨µÄÉè¼Ætutorial_VerilogÁË¡£

ÔÚÉè¼Æä¯ÀÀÆ÷ÖÐÕ¹¿ªtutorial_Verilog£¬Ë«»÷Add New Files,Æô¶¯Ïòµ¼£¬µã»÷Verilog Source Codeͼ±ê£¬ÎļþÃûcnt_10b,È·¶¨¡££¨cnt_10bµÄ´úÂë¼û¸½1£©¡£

ÔÚHDL EditorÊäÈëcnt_10b Verilog´úÂë.

6¡¢ ±àÒëÄãµÄÔ´´úÂ룬ÓÐÓï·¨´íÎó¼´¸ÄÕýÖ®¡£ÓÒ¼üµã»÷Éè¼Æä¯ÀÀÆ÷

µÄcnt_10b.v£¬Ñ¡Compile£¬ÈçÏÂͼ¡£

±àÒë½á¹û³öÏÖÔÚÏÂÃæµÄ¿ØÖÆÌ¨´®¿Ú£¬ÏÖÔÚÄãµÄ±àÒë½á¹ûÓ¦¸ÃÈçÏ£º

ÌÈÈôÄãûÓз¢ÏÖ¿ØÖÆÌ¨£¨Console£©£¬µã»÷²Ëµ¥À¸µÄConsoleͼ±ê×¢ÒâÏÖÔÚÄãµÄÉè¼Æä¯ÀÀÆ÷Ó¦¸Ã°üº¬±àÒëºóÄ£¿é¡£

¡£

¶þ¡¢·ÂÕæ

´úÂë±àÒëÍê³ÉûÓÐÓï·¨´íÎóºó£¬¿ÉÒÔÀûÓÃActive HDLµÄ²¨Ðα༭Æ÷£¨Waveform Editor£©×ö¹¦ÄÜ·ÂÕæ¡£

1¡¢ ÉèÖö¥²ãÄ£¿é(Top-Level)¡£ÓÉÓÚÉÏÃæµÄÀý×ÓÖ»ÓÐÒ»¸ömodule£¬

¹ÊÒѾ­ÊÇTop£­LevelÁË¡£

2¡¢ µã²Ëµ¥À¸µÄSimulation²Ëµ¥£¬ÏÂÀ­²Ëµ¥ÖÐÑ¡ÔñInitialize

SimulationÑ¡Ïî

×¢Òâ´ËʱÉè¼Æä¯ÀÀÆ÷µÄStructure tab±»×Ô¶¯µ÷µ½Ç°Ì¨¡£

3¡¢ µã»÷¹¤¾ßÀ¸ÉϵÄNew Waveform°´Å¥

ÒÔ´ò¿ªWaveform

Editor¡£´ËʱÉè¼Æä¯ÀÀÆ÷µÄ´®¿ÚÏÔʾģ¿éÖеĴúÂëÖÐÉùÃ÷µÄËùÓÐÐźţ¬

4¡¢ Ñ¡ÔñÐèÒª·ÂÕæµÄÐźŲ¢½«ÆäÍϵ½²¨Ðα༭Æ÷´®¿Ú¡£

±¾ÀýÑ¡ÔñËùÒÔÐźţ¬µãCLK£¬°´×¡ShiftµãFULL_I,ÈçÉÏͼ£¬°´×¡Êó±ê×ó¼ü½«ËùÒÔÐźÅÍϵ½ÓұߵÄWaveform Editor¡£

5¡¢ ΪÊäÈëÐźÅÌí¼Ó²âÊÔʸÁ¿¡£±¾ÊµÑéÊÇÏÈͨ¹ý»­²¨ÐÎÌí¼Ótest

vectors£¬¶øÃ»Óбàдtestbench¡£ÓÒ¼üµã»÷RESET£¬Ñ¡Stimulators

ÔÚµ¯³öµÄStimulators´°¿ÚÖУ¬µãSignals±êÇ©£¬ÔÚÓұߵÄTypeÀïÑ¡f(t) Formula£¬ÔÚValue fieldÀàÐÍÀΪRESET¸³Öµ£º £¨1£¬0ns£©£¬£¨0£¬200ns£©¡£

½ÓÊÜÆäËüÉèÖ㬵ãApply¡£

6¡¢ ²»ÐèÒª¹ØµôStimulators´°¿Ú£¬ÔÚWaveform Editor´°¿ÚµÄµã

CLOCK£¬CLOCKÐźÅ×Ô¶¯¼Óµ½Stimulators¡£CLOCKµÄÖÜÆÚÉèΪ10nsÈçÏÂͼ£º

7¡¢ ½«ENABLEÐźÅÒ»Ö±ÖÃΪÓÐЧ£¬Èçͼ¡£Apply£¬Close¡£

8¡¢ ½«·ÂÕæÊ±¼äÉèΪ2000 ns£¬

£¬µãRun For°´

Å¥£¬·ÂÕæµ½Ö¸¶¨Ê±¼ä£¬Í¬Ê±·ÂÕæ½á¹û²¨ÐÎÏÈÉúÔÚWaveform EditorÀï¡£

²é¿´²¨ÐοÉÄÜ»áÓõ½ÏÂÃæ¼¸¸ö¹¤¾ßͼ±ê£º

9¡¢ ¿ÉÒÔ°Ñ·ÂÕæ½á¹û±£´æÎª.awf¸ñʽµÄÎļþ¡£µã±£´æ£¬½«½á¹û±£´æ

Ϊvectors.awf¡£½«Éè¼Æä¯ÀÀÆ÷µÄ±êÇ©Çл»µ½Files£¬×¢Òâvectors.awfÒѾ­¼Óµ½¹¤³ÌÖС£

Èý¡¢ÀûÓÃtestbench·ÂÕæ

1¡¢Ç°Ãæ±£´æµÄvectors.awf¿ÉÒÔÀûÓÃÏòµ¼À´Éú³ÉÒ»¶Îtestbench´úÂë¡£Õ¹¿ªcnt_10b.v£¬ÓÒ¼üµã»÷cnt_10bÄ£¿é£¬Ñ¡Generate Testbench£¬´ò¿ªtestbenchÉú³ÉÏòµ¼¡£

2¡¢ÔÚÏòµ¼µÄµÚÒ»²½ÖУ¬Ñ¡Ôñ¶¥²ãÄ£¿é£¬±¾ÊµÀýÒòΪ¾ÍÒ»¸ömodule£¬¹ÊÔÚÏÂÀ­²Ëµ¥ÖÐÑ¡cnt_10b£¬Test Bench TypeÑ¡ÔñSimple£¬ÏÂÒ»²½¡£

2¡¢Ñ¡Test vectors from file¸´Ñ¡¿ò£¬µãBrows°´Å¥Ö¸¶¨²âÊÔÏòÁ¿ÎļþµÄλÖá£

3¡¢Ö¸¶¨Ç°Ãæ±£´æ¹ýµÄvectors.awf£¬Èç¹ûûÓÐvectors.awf£¬Çë×¢Òâ¼ì²éÎļþÀàÐͱØÐëÊÇwaveform files£¨*.awf£©¡£´ò¿ªvectors.awf¡£

7¡¢ Active HDL»á×Ô¶¯°Ñvectors.awfÖеÄÐźÅ×Ô¶¯¼Óµ½Signal

found in file´°¿Ú£¬²¢ÇÒ»á¼ì²é.awfµÄÐźÅÊDz»ÊǸúcnt_10bµÄÐÅºÅÆ¥Å䣬Èô²»£¬Ôò»á±¨´í¡£¿ØÖÆÌ¨ColeÏÔʾno errors£¬µãÏÂÒ»²½

8¡¢ ÕâÒ»²½Ö¸¶¨test benchµÄmoduleÃûµÈµÈ£¬½ÓÊÜËùÓеÄĬÈÏÉèÖã¬

µãÏÂÒ»²½£º

9¡¢ µãÍê³É½áÊøtest bench²úÉúÏòµ¼¡£

10¡¢ ×¢ÒâÉè¼Æä¯ÀÀÆ÷Àï´Ëʱ¶àÁËÒ»¸öÃûΪTestBenchµÄÎļþ¼Ðͼ±ê£¬

µãÎļþ¼ÐÇ°ÃæµÄ¡°£«¡±Õ¹¿ªÖ®£¬¿ÉÒÔ·¢ÏÖ´ËÎļþ¼Ð°üº¬ÏÂÃæÁ½¸öÎļþ£º

z cnt_10b_TB.v: Test Bench Ô´Îļþ£»

z cnt_10b _TB_runtest.do£º×Ô¶¯Ö´ÐзÂÕætestbenchµÄºêÃüÁî¡£

11¡¢ ÓÒ¼üµã»÷cnt_10b _TB_runtest.do£¬Ñ¡ÔñExecute£¬Õâ¸öÃüÁî°üÀ¨

Á˱àÒëtest benchÎļþºÍÔËÐзÂÕæ¡£ÔËÐк󣬷ÂÕæ²¨Ðλá³öÏÖÔÚWaveform Editor´°¿Ú¡£

ÉÏÃæ¾ÍÊÇÒ»¸öÀûÓÃActive HDL×öVerilog HDLµ÷ÊÔ·ÂÕæµÄ´ó¸ÅÁ÷³Ì¡£

ËÄ¡¢·ÂÕÕÉÏÃæ²½Ö裬×öÒ»¸ö¼òµ¥µÄÓÐÏÞ״̬»ú(verilog´úÂë¼û¸½2)µÄµ÷ÊÔ·ÂÕæ£¬µ÷ÊÔ¡£

¡¾DIY¡¿±àдһ¸öDFF£¨D Flip-Flop£©¹¤³Ì£¬Ð´³öD´¥·¢Æ÷verilog»òÕß VHDL´úÂ룬²¢·ÂÕæ£¬±È½ÏÓëD latchµÄÒìͬµã¡£

¸½1 cnt_10b.vµÄverilog´úÂë

module cnt_10b(CLK,COUNT,ENABLE,FULL,RESET); input CLK;

input ENABLE; input RESET;

output [9:0]COUNT; output FULL;

reg [9:0]COUNT_I; reg FULL_I;

always @ (posedge CLK or posedge RESET) begin

if (RESET) // asynchronous reset begin

COUNT_I = 10'b0000000000; FULL_I = 1'b0; end

else // active clock edge begin

if (ENABLE) begin if (COUNT_I == 10'b1111111111) FULL_I = 1'b1; else

COUNT_I = COUNT_I + 1; end end end

assign COUNT = COUNT_I; assign FULL = FULL_I;

endmodule

¸½2 ÓÐÏÞ״̬»úµÄVerilog´úÂë

// a simple state machine

module stm(clk, in, reset, out); input clk, in, reset; output [3:0] out;

reg [3:0] out; reg [1:0] state;

parameter s0=0, s1=1, s2=2, s3=3;

always @(state) begin

case (state) s0:

out = 4'b0000; s1:

out = 4'b0001; s2:

out = 4'b0010; s3:

out = 4'b0100; default:

out = 4'b0000; endcase end

always @(posedge clk or posedge reset) begin

if (reset)

state = s0; else

case (state) s0:

state = s1; s1:

if (in)

state = s0; else

state = s2; s2:

state = s3; s3:

state = s0; endcase end

endmodule

// end of state machine

Cadence ICÉè¼ÆÊµÑé

ʵÑéÁù NC-Verilog SimulatorʵÑé

ʵÑéÄ¿µÄ£ºNC_verilog·ÂÕæÆ÷µÄʹÓ㬰üÀ¨±àÒë¡¢ÔËÐкͷÂÕæ¡£

Ô¤±¸¹¤×÷£º

cp /eva01/cdsmgr/ training_IC_data/NCVlog_5_0.tar . tar -vxf NCVlog_5_0.tar

Lab1¡£ÔËÐÐÒ»¸ö¼òµ¥µÄVerilogÉè¼Æ

[1]¡¢ÉèÖÃÉè¼Æ»·¾³

1£®cd NCVlog_5_0/lab1-mux

ÔÚSolaris´°¿Ú£¬µã»÷×óÆðµÚ3¸öͼ±êHome Folder, ÔÚFile Manager´°¿Ú½øÈ룺ÄãµÄѧºÅ/NCVlog_5_0/lab1-muxĿ¼£»

Õâ¸öĿ¼°üº¬ÁËÓÃÀ´ÃèÊöÒ»¸ö¶à·ѡÔñÆ÷ºÍÆä²âÊÔÆ½Ì¨µÄverilog Ä£¿é¡£ÒÔÏÂÊÇmux_test.vÄ£¿éÄÚ¹¦ÄÜÄ£¿éµÄ¶Ë¿Ú¿òͼ¡£

½¨Ò飺Èç¹ûÓÐʱ¼ä£¬Äã×îºÃ¿´Ò»¿´¸÷Ä£¿é£¨module£©µÄVerilog´úÂ룡 2£®´´½¨cds.libÎļþ£¬

ÔÚFile Manager´°¿Ú£¬Ñ¡ÔñFile->New File£¬ÎļþÃûΪ£ºcds.lib£¬OK ´ò¿ªcds.libÎļþ(Ë«»÷)£¬ÔÚÆäÖÐдÈ룺 Define lab1muxlib ./lab1-mux.lib ´æÅÌÍ˳ö

3£®´´½¨£¨¿â£©Îļþ¼Ð£¨¼´Ä¿Â¼£©£º

ÔÚFile Manager´°¿Ú£¬File->Folder£¬Îļþ¼ÐÃû£ºlab1-mux.lib£¬OK £¨ÄãÒ²¿ÉÒÔÔÚTerminal´°¿Ú mkdir lab1-mux.lib£© 4£®ÀàËÆ²½Öè1£¬´´½¨hdl.varÎļþ£¬ÔÚÆäÖÐдÈ룺

Define WORK lab1muxlib ´æÅÌÍ˳ö

5£®²é¿´verilogÔ´Îļþ¡£mux.vÊÇ2Ñ¡1¶à·ѡÔñÆ÷MUX2_1 µÄÃż¶½¨Ä£Ô´Îļþ£¬mux_test.vÊÇmux.vµÄ²âÊǪ̂£¬°üº¬ÁËÊäÈ뼤ÀøÐÅºÅºÍ¼à¿Ø³ÌÐòÔËÐеÄÈÎÎñÓï¾ä¡£

[2]¡¢±àÒëÔ´Îļþ£¨ncvlogÃüÁ£º

Êó±ê»Øµ½ÄãÔ­ÏÈ´ò¿ªµÄTerminal(»òConsole)´°¿Ú£¬Ä¿Â¼Ó¦Îª¡£¡£¡£/ÄãµÄѧºÅ/NCVlog_5_0/lab1-mux¡£µã»÷£¨¼¤»î´°¿Ú£©¡£ 1£® ncvlog mux.v ¨Cmessages £¬ÕâÌõÖ¸ÁîÊDZàÒëmux.v¡£ 2£®´ò¿ªhdl.varÎļþ£¬ÔÚÆäºóÌí¼Ó£ºDefine NCVLOGOPTS ¨Cmessages

´æÅÌÍ˳ö

×¢£ºÓÃNCVLOGOPTS±äÁ¿¶¨Òå³£ÓõÄncvlogÃüÁîÐвÙ×÷£¬´Ó¶ø±ÜÃâÿ´Î¶¼ÇÃÈëͬÑùµÄÃüÁîÐС£

3£®±àÒë²âÊÔÆ½Ì¨Ô´Îļþ£º

ncvlog mux_test //¿ÉÒÔ²»¼Óºó׺.v 4£® ncls ¨Call

ÕâÒ»²½Ä¿µÄÊÇ¿´Ò»¿´Ç°ÃæÁ½¸öncvlogÉú³ÉÁËÄÄЩlibrary objects£¿ ´ð°¸ÊÇ£ºmodule lab1muxlib.MUX2_1:module (VST) module lab1muxlib.mux_test:module (VST)

ÏÖÔÚÄãÃ÷°×lab1muxlibµÄ×÷ÓÃÁËÂð£¿ncvlog±àÒëºóÉú³ÉµÄÄ£¿é·ÅÈëlab1muxlib¹¤×÷¿âÖС£

[3]¡¢À©Õ¹ÓëÁ¬½Ó£¨elaborationÏêϸÃèÊö£©¶¥²ãÉè¼Æ£¨ncelabÃüÁ£º 1£®ncelab mux_test

2£®ncls ¨Call £¬²é¿´ncelabÉú³ÉÁËÄÄЩlibrary object¡£

[4]¡¢·ÂÕæ£º

ncsim mux_test

¹Û²ì·ÂÕæÆ÷µÄÊä³öÇé¿ö¡£Ä㻹¿ÉÒԲ鿴ncls.log, ncelab.log, ncsim.log, ncvlog.logÎļþÄÚÈÝÁ˽â¸ü¶àµÄÐÅÏ¢¡£

ÒÔÏÂLab2ÖÁlab4ÊDZàÒë¡¢À©Õ¹ÓëÁ¬½Ó£¨ÏêϸÃèÊö£©ºÍ·ÂÕæ²½ÖèµÄ¸ß¼¶²Ù×÷¡£

Lab2¡£±àÒëµÄ¸ß¼¶¼¼Êõ

Ò»¡¢Lab2-1:¼Ä´æÆ÷Éè¼Æ

ʵÑéÄ¿µÄ£ºÑ§Ï°ÈçºÎʹÓÃhdl.varÖеÄWORK¡¢VIEW¡¢LIB_MAPºÍVIEW_MAP ±äÁ¿¡£

Ä㽫ѧ»áʹÓãº

1.·Ö±ðÓÃhdl.varÖеÄWORK±äÁ¿ºÍÓã­workÑ¡ÏîºöÂÔWORK±äÁ¿½øÐбàÒë¡£ 2.·Ö±ðÓÃhdl.varÖеÄVIEW±äÁ¿ºÍÓã­viewÑ¡ÏîºöÂÔVIEW±äÁ¿½øÐбàÒë¡£ 3.ÓÃhdl.varÖеÄLIB_MAPºÍVIEW_MAP±äÁ¿½øÐбàÒë¡£ 4.ÓÃhdl.varÖеÄLIB_MAPºÍVIEW_MAP±äÁ¿½øÐвûÊö¡£

ÏÂͼÊÇLab2ʵÑéÓõ½µÄregisterºÍcounterµÄ¶Ë¿Ú¿òͼ¡£

[1]£®·Ö±ðÔÚFile Manager´°¿ÚºÍTerminal´°¿Ú½øÈ룺NCVlog_5_0/lab2-regĿ¼£» [2]£®²ÎÕÕlab1²½Ö裬´´½¨cds.libÎļþ£¬ÊäÈëÈçÏÂÄÚÈÝ£º

Define lab2reglib ./lab2-reg.lib

Define projectlib ../project.lib ×¢Ò⣺Á½¸öµã Define techlib ../technology.lib ×¢Ò⣺Á½¸öµã

´æÅÌÍ˳ö¡£

[3]£®´´½¨¹ØÁªÄ¿Â¼¡£

ÔÚ£ºNCVlog_5_0/lab2-regĿ¼Ï£¬´´½¨lab2-reg.libĿ¼£¨Folder£©£¬ ÔÚ£ºNCVlog_5_0Ŀ¼Ï£¬´´½¨project.lib ºÍtechnology.lib Ŀ¼¡£

[4]¡¢Ê¹ÓÃhdl.var ÖÐWORK±äÁ¿: 1£®½øÈëNCVlog_5_0/lab2-regĿ¼£¬

2£®´´½¨hdl.varÎļþ£¬´ò¿ª£¬ÊäÈëÈçÏÂÄÚÈÝ£º

Define WORK lab2reglib ´æÅÌÍ˳ö

3£®±àÒëregister_test.v°üº¬messageÑ¡Ï

ncvlog register_test ¨Cmess

ÎÊÌ⣺ncvlog±àÒëºómodule·ÅÈëÁËÄĸö¿âÖУ¿

Ìáʾ£ºncls ¨Call , ´ð°¸£ºmodule lab2reglib.register_test£ºmodule (VST)

[5]¡¢Ê¹ÓÃ-workÃüÁîÐÐÑ¡Ïî±àÒ룺

ncvlog register ¨Cmess ¨Cwork projectlib

×¢£º-workÃüÁîÐÐÑ¡ÏîʹµÃprojectlibÌæ´úÁËÔ­À´ÔÚhdl.varÎļþÖÐlab2reglib WORK¿â¡£ ÓÃncls ¨Call ÃüÁî²éÒ»ÏÂncvlog½«±àÒëºÃµÄregister module·ÀÔÚÄĸö¿â£¿ ´ð°¸£º module projectlib.register£ºmodule (VST)

[6]¡¢Ê¹ÓÃhdl.varÖÐVIEW±äÁ¿±àÒ룺 1£®´ò¿ªhdl.var£¬¼ÓÈëÈçÏÂÄÚÈÝ£º

Define VIEW behav

Define NCVLOGOPTS ¨Cmessages ´æÅÌÍ˳ö

2£®±àÒëclockgen.vb£º

ncvlog clockgen.vb ¨Cwork projectlib

ÓÃncls -all²é¿´Ò»Ï£¬´ð°¸£ºmodule projectlib.clockgen£ºbehav (VST)

[7]¡¢±È½Ï£ºÊ¹Óà -viewÃüÁîÐÐÑ¡Ïî±àÒ룺 1£®±àÒëclockgen.vg

ncvlog clockgen.vg ¨Cwork projectlib ¨Cview module

˵Ã÷£ºclockgen.vbÊÇÐÐΪ¼¶½¨Ä££¬clockgen.vgÊÇÐÐΪ¼¶ºÍÃż¶»ìºÏ½¨Ä££¬¶þÕßÐÐΪÏàͬ¡£ 2£®ÓÃncls -all ²é¿´ncvlog±àÒë½á¹û£¬Õâ¸ömoduleÐÂÔöÌíÁËmodule ÀàÐÍview¡£Èç¹ûÄãûÓÐÖ¸¶¨£¬ncvlog»á½«°´hdl.varÎļþÖеÄÃüÁÕâ¸ömodule´æÈëbehav view¡£

[8]¡¢Ê¹ÓÃhdl.var ÖÐLIB_MAPºÍVIEW_MAP±äÁ¿£º 1. ±à¼­hdl.varÎļþÈçÏ£º

££Define WORK lab2reglib £¨#×¢Ê͵ô£© ££Define VIEW behav

Define NCVLOGOPTS -messages Define LIB_MAP ( . => projectlib, ./cell_lib => techlib) Define VIEW_MAP ( .vg => gate, .vr => rtl, .vu => udp) ´æÅÌÍ˳ö