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

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¡£