ÖпƴóCadenceʹÓÃÊÖ²á(5)

2018-12-23 00:28

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ÓÐÁ½¸ö´íÎó£©


ÖпƴóCadenceʹÓÃÊÖ²á(5).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£º»á¼ÆÄ£ÄâÊÔÌâ

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º