數(shù)字集成電路后端設(shè)計_第1頁
數(shù)字集成電路后端設(shè)計_第2頁
數(shù)字集成電路后端設(shè)計_第3頁
數(shù)字集成電路后端設(shè)計_第4頁
數(shù)字集成電路后端設(shè)計_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2021-10-311IC后端版圖設(shè)計行者無畏2009-10-292021-10-312front-end VS back-end2021-10-313布局與布線(Auto Placement & Route ,AP&R) 傳統(tǒng)上將布局與布線前的工作稱之為前端(Front End),而布局與布線之后的工作稱為后端(Back End)。布局的目的在于產(chǎn)生制作掩膜所需的GDSII文件。同時也產(chǎn)生布局后的網(wǎng)表文件(Netlist)及標(biāo)準(zhǔn)延遲文件(SDF)。2021-10-3142021-10-315后端設(shè)計所用到的工具 仿真工具:Mentor modelsim/Questasim 綜

2、合工具(帶DFT):Synopsys DC 時序分析:Synopsys PT 形式驗證:Cadence LEC 后端APR(Auto Placement &Route):Cadence SoC Encounter 后端參數(shù)提?。篗entor Calibre2021-10-316IC設(shè)計全流程1. 設(shè)計輸入 (Ultraedit,Vi等)2. 仿真(前、后,Modelsim)3. 綜合(DC,with DFT)4. 形式驗證 (Confrml,LEC)5. 時序分析 (PT,STA)6. 后端APR(Encounter)7. 參數(shù)提取、驗證(Calibre)2021-10-317理解流程

3、,明確概念 主要流程:RTL仿真綜合自動布局布線參數(shù)提取 穿插時序分析,形式驗證等步驟2021-10-318列舉一例,演示一下流程! 所選實例為:MY_CHIP.v ;功能前面已經(jīng)講過,不在重復(fù)! RTL仿真綜合 由姜講解!2021-10-319所使用的工藝為TSMC018 關(guān)于庫的一些說明2021-10-31101、數(shù)據(jù)準(zhǔn)備 1、新建一個文件夾(如:soce_pad)將所用到的庫copy進(jìn)來:lib+addbonding.pl+addIoFiller.cmd+ioPad.list 2、將要用到的源文件添加進(jìn)來:MY_CHIP.vg+MY_CHIP_PAD.v+pad_locs.io+MY_C

4、HIP_PAD.sdc 3、實驗時使用TSMC 0.18工藝,2021-10-31112、關(guān)于1中源文件的說明 MY_CHIP.vg是DC綜合之后生成的門級網(wǎng)表文件。 MY_CHIP_PAD.v是chip-level Netlist (自己編寫),就是輸入輸出端口,用以IC系統(tǒng)與外部環(huán)境的接口。與組成集成電路核心電路的單元不同,I/O PAD 是直接與外部世界相連接的特殊單元。請參看文檔DTS-041028-00-000.pdf,列出了TSMC 0.18所使用的P/G Pad、I/O Pad 和Corner名稱。參看lib庫中tpz973g.lef技術(shù)庫,列出了相關(guān)Pad的宏模塊。結(jié)合所給例子

5、MY_CHIP_PAD.v,編寫自己的chip-level Netlist 。2021-10-3112 注意我們使用的是TSMC18工藝,pad名稱的部分截圖:2021-10-3113 pad_locs.io文檔就是編寫添加進(jìn)來的pad的擺放位置,如圖示:2021-10-3114輸入、輸出、電源和地的擺放位置示例2021-10-3115 MY_CHIP_PAD.sdc文件是DC綜合之后的時序約束文件,需要進(jìn)行修改!只需保留clk和輸入輸出的延遲約束信息,其他刪除!修改輸入輸出信號:輸入信號前要加i,輸出信號前加o,clk信號不變。參考示例文件進(jìn)行修改。2021-10-3116本例修改后的時序約

6、束文件:MY_CHIP_PAD.sdc set sdc_version 1.7 set_wire_load_mode top set_wire_load_model -name tsmc18_wl10 -library slow create_clock get_ports Clock_In -name my_clock -period 20 -waveform 0 10 set_input_delay -clock my_clock -max 10 get_ports iReset set_input_delay -clock my_clock -max 10 get_ports iUp_D

7、ownF set_output_delay -clock my_clock -max 10 get_ports oCounter_Out2 set_output_delay -clock my_clock -max 10 get_ports oCounter_Out1 set_output_delay -clock my_clock -max 10 get_ports oCounter_Out02021-10-31173、Import Data 在linux終端執(zhí)行:encounter命令,進(jìn)入圖形界面:2021-10-3118將相關(guān)文件和庫導(dǎo)進(jìn)去 選擇選擇DesignDesign Impor

8、t 在Verilog Netlist 中輸入:hardreg.vg hardreg_pad.v; Top Cell中選擇:By User:MY_CHIP_PAD; 在時間庫時間庫中Max Timing Libraries: slow.lib tpz973gwc.lib Min timing Libraries: fast.lib tpz973gbc.lib; 在物理庫在物理庫LEF Files中依次填寫:tsmc18_61m_cic.lef、tpz973g_51m_cic.lef、tsmc18_61m_antenna_cic.lef、antenna_6_cic.lef(注意庫的順序不能顛倒,否

9、則加載報錯); Timing Constraint File: MY_CHIP_PAD.sdc;IO Assignment File: pad_locs.io2021-10-31192021-10-3120切換到Advanced頁面中,進(jìn)行相關(guān)設(shè)置 IPO/CTS:Buffer Name/Footprint: buf Delay Name/Footprint: dly1 dly2 dly3 dly4 veter Name/Footprint: inv Power: Power Nets: VDD Ground Nets: VSS RCExtraction : Capacitance Table

10、 File : tsmc018.capTb1 ;Tech File: icecaps_51m.tch SI Analysis: Max cdb file: slow.cdb Min cdb File: fast.cdb Common cdb File: typical.cdb /說明:配置完后選擇說明:配置完后選擇save以以.conf文件進(jìn)行保存,下次使文件進(jìn)行保存,下次使用時只需加載用時只需加載.conf文件即可,無需重新配置文件即可,無需重新配置2021-10-3121配置完后點OK后,就會看到初始floorplan2021-10-31224、floorplanning(布局規(guī)劃) a、

11、設(shè)定核的長、寬以及到邊界的距離2021-10-3123由由DC綜合后,根據(jù)得到的面積的報表并結(jié)合下面的綜合后,根據(jù)得到的面積的報表并結(jié)合下面的公式來設(shè)定核的長寬,一般設(shè)定為正方形。公式來設(shè)定核的長寬,一般設(shè)定為正方形。2021-10-3124核到邊界的距離要設(shè)定合適 本實例的配置步驟如下: 選擇FloorplanSpecify Floorplan Dimension: Width:120 Height: 120 Core to IO Boundary:均填:20 ;之后點OK,便可以看到core的布局。2021-10-31252021-10-3126b、power planning(電源規(guī)劃)

12、 添加power ring和power stripes 原因及設(shè)定方法: 加power ring主要是防止電流過高導(dǎo)致開路或短路;穩(wěn)定供壓 加power stripes主要防止IR drop(就是電路中有過高的壓降會導(dǎo)致器件運(yùn)行速度很慢)2021-10-31272021-10-3128關(guān)于power ring 和powerstripes的設(shè)定方法2021-10-31292021-10-3130 添加power ring(電源環(huán)一般放置在較低層的金屬上,包括電源環(huán)和接地環(huán)) 本實例參考步驟: 選擇PowerAdd Rings Top 和Bottom的Layer均選擇:METAL1H ;Left和

13、Right均選擇:METAL 2 H ;Width均選:4(指的是環(huán)的寬度),也可以指定電源環(huán)和接地環(huán)之間的距離spacing;Advanced:Wire Group -Use wire group- Interleaving Number of bits:1(可選項);之后OK便可以看到core的周圍有電源環(huán)。 /注意offset要選擇Center in channel 否則后面有一組電源連接不上2021-10-3131 部分截圖2021-10-3132 添加power stripes(電源條一般放置在較高的金屬層上,注意添加時要設(shè)置組數(shù),接地的和接電源的條) 本實驗參考步驟: 根據(jù)核的大小

14、,一般把stripes放在中間位置 選擇PowerAdd Stripes Direction: Vertical-Layer :METAL2 ;Width:2 ;Number of sets:1; Absolute locations Start(X):310 ;Sop(X):312;(根據(jù)core的坐標(biāo)得到的) Direction : Horizontal- layer:METAL5;Width:2 ; Absolute locations Start(Y):310 ;Sop(Y):312; 之后OK便可以看見core的表面有stripes;2021-10-31332021-10-3134可

15、以看到電源環(huán)和電源條,地和地,電源和電源分別相連2021-10-3135 部分截圖2021-10-31365、global net connection2021-10-31372021-10-3138注意我們這里的GND應(yīng)該為VSS2021-10-3139 本實例參考步驟 選擇FloorplanGlobal Net Connections 分別加上:PIN/Tie High/Net Basename: VDD To Global Net:VDD Pin/Tie low/Net Basename: VSS To Global Net:VSS; 注意:這里設(shè)定的VDD和VSS要和前面import

16、data時設(shè)定的Power和Gound相對應(yīng)。2021-10-31402021-10-31416、connect core power2021-10-31422021-10-3143 本實驗參考步驟 選擇RouteSpecial Route Route選項中選中Pad pins Ok之后便可以看見core的電源pads連接到電源的環(huán)上。2021-10-3144 部分截圖2021-10-31457、Standard Cell Placement注意:這里我們選注意:這里我們選M1、M22021-10-3146 本實驗參考步驟 選擇PlaceSpecify Placement Blockage f

17、or Strip and Route 選擇M1、M2;2021-10-31478、Place standard cells2021-10-31482021-10-3149 本實驗參考步驟 選擇PlacePlace Advanced中選擇:Medium2021-10-31509、Pre-CTS時序分析及優(yōu)化2021-10-31512021-10-3152 本實例參考步驟 1、進(jìn)行Pre CTS時序分析:在終端中輸入下面命令: timeDesign preCTS 將會產(chǎn)生一些時間報告并且保存到相關(guān)的文件中。 2、進(jìn)行Pre CTS優(yōu)化;將會修改setup slack ,setup times,DR

18、Vs;在終端中輸入下面命令: optDesign preCTS 進(jìn)一步優(yōu)化: optDesign preCTS incr2021-10-315310、Clock Tree Synthesis(時鐘樹綜合)2021-10-3154加入時鐘樹后的效果2021-10-3155clock tree synthesis是asic設(shè)計中的一步,它的目的是使時鐘盡量在同一時刻去驅(qū)動所有的觸發(fā)器,這也就是所說的同步電路 2021-10-3156 本實驗參考步驟 1、創(chuàng)建時鐘樹:選擇Clock Create Clock Tree Spec Buffer Footprint: clkbuf Inverter Fo

19、otprint: clkinv 2、給時鐘樹分配指定文件:選擇ClockSpecify Clock Treee 保存Clock Tree File 文件; 3、綜合時鐘樹:選擇Clock Synthesize Clock Tree 選擇OK即可;2021-10-315711、Post-CTS Optimization(加過時鐘樹后)2021-10-3158 本實驗參考步驟: 1、Post CTS 時序分析:在終端輸入相關(guān)命令: timeDesign postCTS timeDesign postCTS hold產(chǎn)生一些時間報表會保存在相關(guān)的文件下; 2、Post-CTS優(yōu)化:改正一些違反設(shè)計規(guī)

20、則; 在命令行執(zhí)行下列指令: optDesign postCTS optDesign postCTS -hold2021-10-315912、SRoute(連接標(biāo)準(zhǔn)單元的電源連接標(biāo)準(zhǔn)單元的電源)2021-10-3160 本實驗參考步驟: 選擇RouteSroute:只選擇Standard cell pins 2021-10-316113、添加IoFiller 主要用于連接IOpad之間的金屬物 本實驗參考步驟: 在終端執(zhí)行下面命令: source addIoFiller.cmd 命令執(zhí)行完之后,會看見IOpad 之間的空隙被填充了。2021-10-316214、NanoRoute(真實布線)2

21、021-10-3163形成原因:2021-10-3164 在現(xiàn)代等離子體蝕刻工藝和離子注入過程中產(chǎn)生的積累電荷,如果得不到及時釋放,就會對CMOS器件的柵極產(chǎn)生擊穿并造成永久性的損傷,這就是天線工藝效應(yīng)。 為了預(yù)防工藝天線效應(yīng),在最終布線過程中,是通過連接天線二極管或跳轉(zhuǎn)到上一層金屬以增強(qiáng)柵極的靜態(tài)電荷承受能力來實現(xiàn)的。2021-10-3165解決途徑:1、加跳線 2、加天線二極管 3、加緩沖器2021-10-3166 本實驗參考步驟: 選擇RouteNanoRoute 選擇如下項: Fix Antenna ; Insert Diodes ; Diode Cell Name:ANTENNA ;

22、 Timing Driven; SI Driven;2021-10-316715、Celtic(信號完整性分析)2021-10-3168 本實驗參考步驟: 在終端里輸入如下命令: timeDesign postRoute si2021-10-316916、Post-Route Optimization2021-10-3170 本實驗參考步驟: Post Route 時序分析: 在終端里輸入如下命令: timeDesign postRoute timeDesign postRout hold Post Route 優(yōu)化: 在終端里輸入如下命令: optDesign postRoute optDe

23、sign postRoute -hold2021-10-317117、Add Filler(核內(nèi)部的填充物) 注意要在參數(shù)提取和GDSII文件輸出之前添加。 主要用于單元之間的連接2021-10-3172 本實驗參考步驟: 執(zhí)行PlaceFillerAdd Filler 在Add Filler from 里,按Select進(jìn)入Select Filler Cells from,選取右邊Cells List 里全部的Filler,按Add加到左邊的Selectable ells List里,之后OK即可。2021-10-317318、Add Bonding Pad 先執(zhí)行DesignSave-DE

24、F File Name: MY_CHIP_PAD.def;另開一個終端并執(zhí)行命令:perl addbonging.pl MY_CHIP_PAD.def 接著在原終端執(zhí)行BondPads.cmd; 會將所需的Bonding Pads 加上。 /加加Bonding Pad 主要是引出引腳,為了主要是引出引腳,為了焊接方便焊接方便2021-10-3174最后效果圖2021-10-317519、Stream Out2021-10-3176 本實驗參考步驟: 選擇DesignsaveGDS : 在output Stream file :MY_CHIP.gds; Merge Stream Files: t

25、smc18.gds2 tmc18_core.gds tsmc18_io_final.gds3 Units:10002021-10-317720、Calculate Timing2021-10-3178 本實驗參考步驟: 1、Extract RC: 選擇TimingExtract RC 即可; 2、計算延遲: 選擇 TimingCalculate Delay 在SDF Output File 中輸入:MY_CHIP_PAD.sdf;2021-10-317921、Save Netlist(保存網(wǎng)表)2021-10-3180 本實驗步驟: 保存后端布局仿真的網(wǎng)表:在終端里執(zhí)行下面的命令 saveNe

26、tlist MY_CHIP_PR.v 保存LVS的網(wǎng)表: 在終端里執(zhí)行下面的命令 saveNetlist includePhysicalInst excludeLeafCell MY_CHIP_LVS.v2021-10-3181輸出文件的說明2021-10-3182說明 以上的運(yùn)行的命令自動保存在encounter.cmd中,下次重起的時候直接source encounter.cmd即可。2021-10-3183后端驗證 DRC ( Design Rule Check ) ERC (Electrical Rule Check ) LVS (Layout versus Schematic ) L

27、PE/PRE (Layout Parasitic Extraction / Parasitic Resistance Extraction) and Post-Layout Simulation. /我們只做DRC和LVS2021-10-3184說明 數(shù)字自動布局布線做好版圖之后,有DRC錯誤是很正常的,是需要自己手動修改的,主要靠經(jīng)驗積累。 Metal與VIA的線寬、距離以及面積之類與工藝庫的規(guī)定不符合,所以會報錯,可以根據(jù)錯誤的描述進(jìn)行相應(yīng)的手動修改 關(guān)于驗證方面本人還不是很熟,共同學(xué)習(xí)!2021-10-3185DRC過程 命令行方式 編輯Calibre-drc-cur (CBDK中提供,拷貝到本地drc目錄下) 執(zhí)行:calibre -drc -hier Calibre-drc-cur 查看DRC.rep報告/7種密度相關(guān)錯誤可忽略2021-10-3186圖形方式查看結(jié)果 準(zhǔn)備工作:新建文件夾drc 設(shè)置calibre環(huán)境:拷貝IC工具自帶的.cdsinit文件到工作目錄drc下面 cp /opt/asic_labs/apps/IC5141/tools.lnx86/dfII/cdsuser/.cdsinit . 或者自己建立.cdsinit文件:內(nèi)容如下 setSkillPath(. /opt/ca

溫馨提示

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

最新文檔

評論

0/150

提交評論