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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

ThisUnit12圖113圖21415庫的建立做物理設計首先要建立referencelibraryReferencelibrary包括以下幾部分:standcelllibrary、padlibrary、macrocell(或IPlibrary)。Standcell包括inverters、buffers、ands、ors、nands、muxes、flip-flops等Padcell包括信號pad、電源地padMacro即設計中用到的一些宏模塊下頁以圖講解standcell、padcell、macro16四個conner位于芯片的四個角,起到連接四邊IOpad的作用。物理設計物理設計物理設計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)容包含了對芯片大小(diesize)的規(guī)劃、芯片設計輸入輸出(IO)單元的規(guī)劃、宏模塊的規(guī)劃、電源網(wǎng)絡的設計等floorplan在整個流程中具有十分重要的地位,因為floorplan一旦確定,則整個芯片的面積就定下來了,同時它也與整個設計的timing和布通率(布線能否布通)有著密切的關系。基本上流程中的反復主要是發(fā)生在這一步中。如果這一步做得比較好,則后面oncepass的幾率就比較高,反之如果回溯到這一步,則花費的時間開銷就會很大。floorplan是物理設計中手工程度很大的工作24布圖規(guī)劃通常情況下,一個芯片由corearea和padarea組成25布圖規(guī)劃Padarea由以下幾個部分組成:1、Input/Output/InOutpads如右圖中Reset2、Powerpadsandconnerpads右圖上右上角那個CornerUR為一個connerpadsConnerpads的作用是連接其兩邊的Pads(連接襯底以及襯底以上的各個層)VDDVSS為Powerpads,其對外連接供電的封裝引腳,對芯片則起到供電的作用,Powerpads可以分為對core供電的pads和對IOpads供電的pads,所有的Pad都是由晶體管以及各層金屬構成的,Pad也是一個cell。26布圖規(guī)劃3、PadsfillersPadsfillers為圖中Filler所示,其作用為連接兩個兩鄰的pads(從襯底到各層金屬的相連)P/Grings所有信號pads、電源地pads、fillers、conners都是有電源地的引腳的,用金屬線把這些引腳相連,形成padarea上的一個環(huán),稱為P/Grings,如果所有的pads都是無縫排列的,那么pads上的自身的金屬已經(jīng)相互連接成了P/Gring。FloorplanAfterInitializationUnplacedMacrocellsUnplacedStandardcellsCoreareawithsiterowsPeripherywithI/OpadcellsStartingFloorplan28布圖規(guī)劃Floorplan階段在corearea內(nèi)要確定macro的位置,可以通過飛線顯示macro的pins與io或其它macro的pins的連接關系,來幫助確定macro的位置Floorplan要進行預布線,即布電源地網(wǎng)絡。概述里面已經(jīng)講到從floorplan

placement

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

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

溫馨提示

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

評論

0/150

提交評論