EDA技術(shù)和工具第九講_第1頁(yè)
EDA技術(shù)和工具第九講_第2頁(yè)
EDA技術(shù)和工具第九講_第3頁(yè)
EDA技術(shù)和工具第九講_第4頁(yè)
EDA技術(shù)和工具第九講_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

EDA技術(shù)和工具ElectronicDesignAutomation:TechniquesandTools后端設(shè)計(jì)(layout)熊曉明xmxiong@2013年contents集成電路設(shè)計(jì)和EDAASIC設(shè)計(jì)流程前端設(shè)計(jì)工藝庫(kù)HDL邏輯綜合與優(yōu)化各項(xiàng)設(shè)計(jì)指標(biāo)的平衡(trade-off)測(cè)試設(shè)計(jì)(DFT)后端設(shè)計(jì)(layout)實(shí)體綜合(physicalcompiler)ECO和ManualEditing動(dòng)態(tài)時(shí)序仿真靜態(tài)時(shí)序分析版圖驗(yàn)證(DesignRuleChecking)后端設(shè)計(jì)、物理設(shè)計(jì)、實(shí)體設(shè)計(jì)(physicaldesign、backenddesign、layout)感謝:Prof.ErnestS.KuhofUC,Berkeley參考書數(shù)字集成電路物理設(shè)計(jì)(國(guó)家集成電路工程領(lǐng)域工程碩士系列教材)作者: 陳春章//艾霞//王國(guó)雄出版社: 科學(xué)出版社出版時(shí)間: 2008年08月 印刷時(shí)間: 2008年08月ISBN: 9787030220318VLSIPhysicalDesign:FromGraphPartitioningtoTimingClosure[精裝]AndrewB.Kahng(作者),JensLienig(作者),IgorL.Markov(作者),JinHu(作者)出版社:Springer;Edition.(2010年12月1日)精裝:324頁(yè)語(yǔ)種:英語(yǔ)ISBN:904819590X參考書VLSIDesignCycleSystemSpecificationArchitecturalDesignLogicDesignCircuitDesignPhysicalDesignFunctionalDesignFabricationPackagingFall2010ElectronicDesignAutomationIV-6Fall2010ElectronicDesignAutomationPhysicalDesignConvertthenetlistintoageometricrepresentation.Theoutcomeiscalledalayout.Fall2010ElectronicDesignAutomationIV-7Fall2010ElectronicDesignAutomation8物理設(shè)計(jì)是把電路信息轉(zhuǎn)換成foundry廠可用于掩膜的版圖信息的過程,它包括數(shù)據(jù)準(zhǔn)備、布局、時(shí)鐘樹綜合、布線及DRC、LVS等步驟如右圖所示常用的布局布線工具有Synopsys公司的ICCompiler和Candance公司的SOC-Enconter。

PhysicalDesignCycleCircuitPartitioningFloorplanning&PlacementRoutingLayoutCompactionExtractionandVerificationFall2010ElectronicDesignAutomationIV-9Fall2010ElectronicDesignAutomation工具:ICCompiler內(nèi)容:partitioning、floorplanningplacementclocktreesynthesisrouting物理設(shè)計(jì)GeneralICCompilerFlowSynthesisDataSetupDesignPlanningPlacementClockTreeSynthesisRoutingChipFinishing

ThisUnit12圖113圖21415庫(kù)的建立做物理設(shè)計(jì)首先要建立referencelibraryReferencelibrary包括以下幾部分:standcelllibrary、padlibrary、macrocell(或IPlibrary)。Standcell包括inverters、buffers、ands、ors、nands、muxes、flip-flops等Padcell包括信號(hào)pad、電源地padMacro即設(shè)計(jì)中用到的一些宏模塊下頁(yè)以圖講解standcell、padcell、macro16四個(gè)conner位于芯片的四個(gè)角,起到連接四邊IOpad的作用。物理設(shè)計(jì)物理設(shè)計(jì)物理設(shè)計(jì)FloorplanningSetupaplanforagoodlayout.Placethemodules(modulescanbeblocks,functionalunits,etc.)atanearlystagewhendetailslikeshape,area,I/Opinpositionsofthemodules,…,arenotyetfixed.DeadspaceFall2010ElectronicDesignAutomationIV-20Fall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomationFloorplanningProblemGivencircuitmodules(orcells)andtheirconnections,determinetheapproximatelocationofcircuitelementsConsistentwithahierarchical/buildingblockdesignmethodologyModules(resultofpartitioning):Fixedarea,generallyrectangularFixedaspectratiohardmacro(akafixed-shapedblocks)

fixed/floatingterminals(pins)

Rotationmightbeallowed/deniedFlexibleshapesoftmacro(akasoftmodules)(w1,h1)(wN,hN)IV-21Fall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomationFloorplanning(cont.)Objectives:MinimizeareaDeterminebestshapeofsoftmodulesMinimizetotalwirelengthtomakesubsequentroutingphaseeasy

(shortwirelengthroughlytranslatesintoroutability)Additionalcostcomponents:Wirecongestion(exactroutabilitymeasure)WiredelaysPowerconsumptionPossibleadditionalconstraints:FixedlocationforsomemodulesFixeddie,orrangeofdieaspectratioNP-hardIV-22Fall2010ElectronicDesignAutomation23布圖規(guī)劃floorplan(布圖規(guī)劃)的主要內(nèi)容包含了對(duì)芯片大?。╠iesize)的規(guī)劃、芯片設(shè)計(jì)輸入輸出(IO)單元的規(guī)劃、宏模塊的規(guī)劃、電源網(wǎng)絡(luò)的設(shè)計(jì)等f(wàn)loorplan在整個(gè)流程中具有十分重要的地位,因?yàn)閒loorplan一旦確定,則整個(gè)芯片的面積就定下來(lái)了,同時(shí)它也與整個(gè)設(shè)計(jì)的timing和布通率(布線能否布通)有著密切的關(guān)系?;旧狭鞒讨械姆磸?fù)主要是發(fā)生在這一步中。如果這一步做得比較好,則后面oncepass的幾率就比較高,反之如果回溯到這一步,則花費(fèi)的時(shí)間開銷就會(huì)很大。floorplan是物理設(shè)計(jì)中手工程度很大的工作24布圖規(guī)劃通常情況下,一個(gè)芯片由corearea和padarea組成25布圖規(guī)劃Padarea由以下幾個(gè)部分組成:1、Input/Output/InOutpads如右圖中Reset2、Powerpadsandconnerpads右圖上右上角那個(gè)CornerUR為一個(gè)connerpadsConnerpads的作用是連接其兩邊的Pads(連接襯底以及襯底以上的各個(gè)層)VDDVSS為Powerpads,其對(duì)外連接供電的封裝引腳,對(duì)芯片則起到供電的作用,Powerpads可以分為對(duì)core供電的pads和對(duì)IOpads供電的pads,所有的Pad都是由晶體管以及各層金屬構(gòu)成的,Pad也是一個(gè)cell。26布圖規(guī)劃3、PadsfillersPadsfillers為圖中Filler所示,其作用為連接兩個(gè)兩鄰的pads(從襯底到各層金屬的相連)P/Grings所有信號(hào)pads、電源地pads、fillers、conners都是有電源地的引腳的,用金屬線把這些引腳相連,形成padarea上的一個(gè)環(huán),稱為P/Grings,如果所有的pads都是無(wú)縫排列的,那么pads上的自身的金屬已經(jīng)相互連接成了P/Gring。FloorplanAfterInitializationUnplacedMacrocellsUnplacedStandardcellsCoreareawithsiterowsPeripherywithI/OpadcellsStartingFloorplan28布圖規(guī)劃Floorplan階段在corearea內(nèi)要確定macro的位置,可以通過飛線顯示macro的pins與io或其它macro的pins的連接關(guān)系,來(lái)幫助確定macro的位置Floorplan要進(jìn)行預(yù)布線,即布電源地網(wǎng)絡(luò)。概述里面已經(jīng)講到從floorplan

placement

clocktreesynthesisrouting的流程。有兩個(gè)地方做了布線的工作即floorplan階段的電源地網(wǎng)絡(luò)的布線、routing階段的信號(hào)的詳細(xì)布線。PlacementExactplacementofthemodules(modulescanbegates,standardcells,etc.)whendetailsofthemoduledesignareknown.Thegoalistominimizethedelay,totalareaandinterconnectcost.vFeedthroughStandardcelltype1Standardcelltype2Fall2010ElectronicDesignAutomationIV-29Fall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomation33布局在floorplan結(jié)束后,芯片的大小,電源網(wǎng)絡(luò),macro的位置已經(jīng)確定了,接下來(lái)的工作是標(biāo)準(zhǔn)單元的布局工作。布局工作是時(shí)序驅(qū)動(dòng)(timingdriven)的,即布局出來(lái)的結(jié)果要滿足時(shí)序的要求。ICC時(shí)序分析采用靜態(tài)時(shí)序分析(STA),STA必須要獲得單元延時(shí)(celldelay)和線延時(shí)(netdelay)34布局ICC會(huì)計(jì)算每個(gè)單元的延時(shí)和每條線的延時(shí)單元的延時(shí)信息由foundry提供的單元庫(kù)文件提供為了計(jì)算線延時(shí),ICC必需知道每條線的寄生電阻和寄生電容35布局在布局階段,實(shí)際的金屬線是不存在的,故需要有一種估計(jì)的方法估計(jì)線延時(shí)。在由RTL代碼到門級(jí)網(wǎng)表的綜合過程中,也需要用到STA,綜合階段對(duì)延時(shí)的估計(jì)基于WLM(WireLoadModel)。根據(jù)fanout估計(jì)R和C,這顯然和最終的版圖的實(shí)際結(jié)果有很大出入。36布局布局過程中,每個(gè)單元是有自己的物理位置的,我們就不再采用WLM去估計(jì)延時(shí)了,我們采用虛擬布線(virtualrouting)技術(shù)去估計(jì)延時(shí)。37布局綜合階段的時(shí)鐘信號(hào)和高扇出信號(hào)被定義成理想的和don’t_touch(綜合工具不對(duì)其進(jìn)行插buffer的操作)的布局階段對(duì)高扇出(如reset、set、enable等)要進(jìn)行高扇出綜合(HFS)。ICC布局階段的一個(gè)命令place_opt內(nèi)嵌了自動(dòng)高扇出綜合(AutomaticHighFanoutSynthesis)時(shí)鐘樹的處理是在place之后,CTS(ClockTreeSynthesis)階段進(jìn)行時(shí)鐘樹綜合的在布局階段我們需要模擬時(shí)鐘樹的影響38利用理想的時(shí)鐘網(wǎng)絡(luò)顯然過于樂觀,為了進(jìn)一步接近實(shí)際的時(shí)鐘,skew,latency,transition的影響應(yīng)當(dāng)被模擬進(jìn)來(lái)3940布局實(shí)際的時(shí)鐘樹網(wǎng)絡(luò)無(wú)法保證時(shí)鐘源點(diǎn)到該時(shí)鐘域內(nèi)所有寄存器的clk端的延時(shí)是絕對(duì)相等的,時(shí)鐘源點(diǎn)到不同寄存器的clk端的延時(shí)之差稱之為skew(偏斜),我們用set_clock_uncertainty這個(gè)命令去模擬skew的影響。如set_clock_uncertainty0.3,單位是ns(取決.tf工藝文件里面所設(shè)單位)時(shí)鐘域內(nèi)寄存器的clk端可以稱之為匯點(diǎn)(sink),時(shí)鐘源點(diǎn)(source)到匯點(diǎn)的延時(shí)稱為latency,我們可以用set_clock_latency命令去模擬源點(diǎn)到匯點(diǎn)的延時(shí),如:set_clock_latency1實(shí)際的時(shí)鐘信號(hào)跳變時(shí)間是不可能為零的,所以我們可以用set_clock_transition去模擬這個(gè)跳變時(shí)間如set_clock_transition0.141布局Corearea內(nèi)標(biāo)準(zhǔn)單元并不是可以隨意擺放的,所有的標(biāo)準(zhǔn)單元被設(shè)計(jì)成等高不等寬的,這樣所有的標(biāo)準(zhǔn)單元可以被放入同樣的placementrow里面,如圖所示42TimingdrivenplacementPlacement是時(shí)序驅(qū)動(dòng)的,關(guān)鍵路徑上單元會(huì)被放得近一些,placement是時(shí)序驅(qū)動(dòng)的同時(shí),也是擁塞驅(qū)動(dòng)(congestiondriven)的,標(biāo)準(zhǔn)單元的信號(hào)連接最終需要布線的,如果一個(gè)區(qū)域內(nèi)布線要求大于布線資源的話,就導(dǎo)致了擁塞,顯然標(biāo)準(zhǔn)單元過密集得擺放在一起就容易導(dǎo)致?lián)砣瑃iming和congestion就變成了一對(duì)折衷的因素了。43在macro周圍我們會(huì)打上placementblockage,工具不會(huì)在placementblockage區(qū)域內(nèi)擺放標(biāo)準(zhǔn)單元,macro處pin處需要較多的布線資源,如果macro周圍較近區(qū)域被放置了標(biāo)準(zhǔn)單元,就可能導(dǎo)致?lián)砣漠a(chǎn)生。故需要在macro周圍打上blockage,在實(shí)驗(yàn)視頻中可以看到這一步。布局44時(shí)鐘樹綜合(CTS)在大規(guī)模集成電路中,大部分時(shí)序元件的數(shù)據(jù)傳輸是由時(shí)鐘同步控制的時(shí)鐘頻率決定了數(shù)據(jù)處理和傳輸?shù)乃俣龋瑫r(shí)鐘頻率是電路性能的最主要的標(biāo)志。在集成電路進(jìn)入深亞微米階段,決定時(shí)鐘頻率的主要因素有兩個(gè),一是組合邏輯部分的最長(zhǎng)電路延時(shí),二是同步元件內(nèi)的時(shí)鐘偏斜(clockskew),隨著晶體管尺寸的減小,組合邏輯電路的開關(guān)速度不斷提高,時(shí)鐘偏斜成為影響電路性能的制約因素。時(shí)鐘樹綜合的主要目的是減小時(shí)鐘偏斜。以一個(gè)時(shí)鐘域?yàn)槔?,一個(gè)時(shí)鐘源點(diǎn)(source)最終要扇出到很多寄存器的時(shí)鐘端(sink),從時(shí)鐘源扇出很大,負(fù)載很大,時(shí)鐘源是無(wú)法驅(qū)動(dòng)后面如此之多的負(fù)載的。這樣就需要一個(gè)時(shí)鐘樹結(jié)構(gòu),通過一級(jí)一級(jí)的buffer去驅(qū)動(dòng)最終的葉子結(jié)點(diǎn)(寄存器)。CTS流程46在未進(jìn)行時(shí)鐘樹綜合之前,時(shí)鐘樹未生成,時(shí)鐘結(jié)構(gòu)邏輯上如上圖所示,一個(gè)時(shí)鐘源端最終扇出到很多寄存器的時(shí)鐘端。47上圖是時(shí)鐘樹綜合好之后的結(jié)果,上圖中有三級(jí)buffer構(gòu)成了一個(gè)時(shí)鐘樹。48在sdc文件中用create_clock命令創(chuàng)建時(shí)鐘,同時(shí)定義了時(shí)鐘源點(diǎn)如:Create_clock[get_pinsU_TOP_PAD/Pad_inout_PF5_CAM_PCLK/C]–nameCPCK-period10–waveform{05}這條命令在U_TOP_PAD/Pad_inout_PF5_CAM_PCLK/C這個(gè)pin處創(chuàng)建了時(shí)鐘,這個(gè)pin就是名為CPCK的時(shí)鐘的時(shí)鐘源點(diǎn)時(shí)鐘樹綜合(CTS)49由于時(shí)鐘樹的重要性,工具采用不同于一般布線規(guī)則的時(shí)鐘樹自己的布線規(guī)則時(shí)鐘樹綜合(CTS)50首先定義nondefaultroutingrule再指定CTS使用定義的my_route_rule-layer_list定義了CTS使用哪幾層金屬走線時(shí)鐘樹綜合(CTS)51ICC在placement階段提供了一個(gè)命令place_opt,請(qǐng)參看run_icc_record.tcl,可以看出placement階段腳本結(jié)構(gòu)是先進(jìn)行一系列的設(shè)置,再通過place_opt命令讓工具根據(jù)設(shè)計(jì)者的設(shè)置約束等完成布局工作。ICC在時(shí)鐘樹綜合階段也提供了一個(gè)命令clock_opt,clock_opt命令根據(jù)設(shè)計(jì)者的設(shè)置和約束自動(dòng)完成時(shí)鐘樹綜合的工作。布線階段也有一個(gè)類似的命令:route_opt整個(gè)流程中,除了floorplan階段需要較多的手工活之外,placement、CTS、routing階段可以說(shuō)就是設(shè)計(jì)者通過修改腳本和約束,然后讓工具自動(dòng)完成工作。這也是ICCompiler工具強(qiáng)大之處。時(shí)鐘樹綜合(CTS)52CTS在placement之后完成,就有可能對(duì)原來(lái)的placement的結(jié)果產(chǎn)生影響,如clock

Buffers插入之后,就有可能導(dǎo)致?lián)砣漠a(chǎn)生,為了插入clockbuffers可能會(huì)輕微移動(dòng)原來(lái)的placement階段放置的標(biāo)準(zhǔn)單元,原來(lái)的placement是時(shí)序驅(qū)動(dòng)的,移動(dòng)就可能導(dǎo)致時(shí)序的不滿足,產(chǎn)生違規(guī)(violation)。53Clock_opt完成之后,一般都應(yīng)該使用一個(gè)命令psynopt去做一次增量?jī)?yōu)化,psynopt這個(gè)命令的作用就是在原有基礎(chǔ)上做增量?jī)?yōu)化。在placement階段,place_opt之后,也需要用psynopt做一次增量?jī)?yōu)化,可以參考看run_icc_record.tcl腳本。在做完CTS之后,實(shí)驗(yàn)中也就是跑完run_icc_record.tcl里面至CTS部分結(jié)束,可以報(bào)出時(shí)序信息,通過以下命令報(bào)時(shí)序信息:report_constraint–all報(bào)出所有時(shí)序違規(guī)(violations),我們暫且只關(guān)注setup違規(guī),setup違規(guī)直接制約頻率能跑多高,對(duì)于hold的違規(guī)只需要通過插buffer增加延時(shí)就可以解決。report_clocks報(bào)出時(shí)鐘的信息report_timing–from-to報(bào)出具體路徑的時(shí)序信息以上命令都可以加-help選項(xiàng)查看幫助信息,如report_timing–help想查看一個(gè)命令的詳細(xì)用法,可以man命令,如manreport_timing時(shí)鐘樹綜合(CTS)時(shí)鐘樹綜合總結(jié)RoutingCompletetheinterconnectionsbetweenmodules.Factorslikecriticalpath,clockskew,wirespacing,etc.,areconsidered.Includeglobalroutinganddetailedrouting.FeedthroughType1standardcel1Type2standardcellvFall2010ElectronicDesignAutomationIV-55Fall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomationFall2010ElectronicDesignAutomation58Routing59Routing時(shí)鐘樹結(jié)束之后,接下來(lái)的工作是布線(routing)Floorplan階段,生成電源地網(wǎng)絡(luò)時(shí)已經(jīng)完成了電源地網(wǎng)絡(luò)的布線,routing階段主要是標(biāo)準(zhǔn)單元的信號(hào)線的連接,floorplan階段給標(biāo)準(zhǔn)單元供電的rail已經(jīng)生成,place結(jié)束后標(biāo)準(zhǔn)單元上下兩邊都放在了rail上面。實(shí)驗(yàn)中采用6層金屬工藝,層與層之間通過via孔相連60先介紹基于格點(diǎn)的布線理論Routing61在上頁(yè)圖中,黃色和藍(lán)色的虛線稱之為track,track是沒有實(shí)際寬度的,但兩條track之間有間距稱之為pitch,基于格點(diǎn)的布線要求所有的金屬走線要走在track之上,而實(shí)際走出的金屬線稱之為trace,trace是有寬度的。不同的金屬線走線方向是不同的,奇數(shù)層金屬默認(rèn)走水平方向,偶數(shù)層默認(rèn)走豎直方向。兩條track的交點(diǎn)稱之為gridpoint標(biāo)準(zhǔn)單元的高寬都被設(shè)計(jì)成了pitch的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論