




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十一講 數(shù)字后端電路實現(xiàn)布局布線與驗證清華大學微電子所李福樂 黎征目錄 布局布線引言 用一個數(shù)字分頻器設計的例子來說明數(shù)字電路的基本布局布線過程 設計介紹(數(shù)字分頻器設計) 邏輯綜合(Synopsys DC) 布局布線 (Cadence Soc Encounter) Cell-based DRC & LVSTypical Cell-based flow可綜合代碼邏輯仿真邏輯綜合VerilogVerilog-xl(NC verilog)Design Compiler仿真Ok?TimingOk?前端設計系統(tǒng)定義行為建模仿真Ok?C/HDL/MATLABYNYNYNTypical Cell
2、-based flowDRC和LVSRC參數(shù)提取Tape out布局布線draculaSoc EncounterTimingOk?N后端設計Cell-based ASIC?怎樣實現(xiàn)自動布局布線?對標準單元有什么要求?綜合出來的網(wǎng)表對應于哪個部分?還缺少什么?Cell-based ASIC簡單的布局布線流程時序驅動的布局布線流程設計介紹設計要求 數(shù)字分頻器 輸入輸出時鐘周期滿足:Tout = 2(N+1) Tin 用于DPLL(數(shù)字鎖相環(huán))電路中 純數(shù)字電路實現(xiàn)數(shù)字分頻器Clock INClock OUT分頻系數(shù)N設計介紹Verilog實現(xiàn)module divder (clkin, rst, d
3、ivcnt, enable, clkout);input clkin, rst, enable;input 3:0 divcnt;output clkout;reg 3:0 cnt;reg 3:0 divcntreg;reg clkout;always (posedge clkin or posedge rst) begin if (rst = 1b1) begin cnt = 4b0; divcntreg = 4b0; clkout = 1b0; end elsebegin if (divcntreg != divcnt) & (enable = 1b1) begin cnt = 4
4、b0; divcntreg = divcnt; clkout = 1b0; end else begin if (cnt = divcntreg) begin clkout = clkout; cnt = 4b0; end else cnt dc_shell-t 讀取top.v,設置當前綜合模塊 把時鐘信號和Pad設置成為不被綜合 時鐘樹在下一步布局布線時處理 Pad沒有邏輯功能、僅提供輸入輸出負載 設置連線負載 設置時鐘約束邏輯綜合綜合并保存結果 用compile命令進行綜合 保存設計庫文件 保存綜合后門級網(wǎng)表 保存時序信息 作為綜合后仿真的時序參數(shù) 作為布局布線的時鐘約束邏輯綜合tcl腳本
5、文件read_verilog top.vcurrent_design topset_dont_touch get_cells pad_*set_max_transition 0.5 current_designset_max_fanout 24 current_designcreate_clock -period 3 get_ports clkinset_clock_uncertainty 0.5 clkinset_dont_touch_network clkinset_wire_load_model -name 0 x150kcompile -map high -boundary_optim
6、izationchange_names -rules asic_core_rules -hierarchychange_names -rules asic_top_rules verbose(下頁續(xù))邏輯綜合tcl腳本文件(接上頁)write -output top.db -hierwrite_script -full_path_lib_name -output top.constrwrite_constraints -format sdf-v2.1 -max_path_timing -max_paths 1000 -output top_constr.sdfset verilogout_si
7、ngle_bit truewrite top -format verilog -output top_post.v -hierwrite_sdf -context verilog top.sdf以上命令在dc_shell-t的狀態(tài)下執(zhí)行邏輯綜合補充 編寫腳本文件后,可以直接執(zhí)行 dc_shell-tsource 腳本文件名 除了tcl方式,還可以采用其他方式使用DC 對于綜合后的網(wǎng)表和時序,應當進行仿真 使用man、help、sold獲取dc使用的幫助布局布線流程綜述 讀取庫文件和門級網(wǎng)表 版圖布局和電源布局 放置標準單元 時鐘樹綜合 添加填充 電源布線和布線 寄生參數(shù)提取和時序分析 保存結果
8、布局布線準備文件 *.LEF: Library Exchange Format 廠家工藝庫lef文件,含有標準單元庫的布局布線信息; *.DEF: Design Exchange Format 廠家給了對電源和CORNER PAD進行聲明的DEF文件 *.CTLF: Compiled Timing Library Format 廠家工藝庫tlf文件,含有布局布線時序信息LEF內容MACRO AN02D1 CLASS CORE ; SYMMETRY X Y ; FOREIGN AN02D1 0.00 0.00 ; ORIGIN 0.00 0.00 ; SIZE 11.50 BY 23.00 ;
9、SITE standard ; PIN vdd! USE POWER ; SHAPE FEEDTHRU ; DIRECTION INOUT ; PORT LAYER metal1 ; RECT 0.00 18.80 11.50 21.60 ; END END vdd!PIN A DIRECTION INPUT ; PORT LAYER metal2 ; RECT 0.40 8.25 1.90 9.75 ; END END A OBS LAYER metal1 ; RECT 0.00 0.00 11.50 23.00 ; ENDEND AN02D1一個標準單元的定義布局布線啟動 在工作目錄命令行
10、輸入:encounter 圖形界面從菜單design 選擇 菜單項design import 在design import對話框中填入相應文件布局布線導入設計和庫布局布線文件說明 綜合后網(wǎng)單文件:*.v和頂層模塊名 LEF工藝文件 依次讀入:csmc06tech_un.lef, csmc06core_un.lef, csmc06pad_un.lef 作用:其中定義了標準單元的大小,幾何形狀,管腳位置,以及布局布線所用的線寬、layout層號、所用通孔大小。 TLF時序信息文件 csmc06core_un.tlf 和 csmc06pad_un.tlf 作用:包括了lef文件中對應的各種延時信息。
11、 SDF時序約束文件 DC綜合后生成,告訴encounter時序約束信息布局布線設計導入電源布局布線設計導入完成 可以在Design Import對話框中選擇Save存儲導入的設置 導入完成如圖所示,信號PAD、標準單元都有了。但是缺少電源PAD,需要導入含有電源PAD信息的DEF文件DEF文件內容DESIGN NAME ;UNITS DISTANCE MICRONS 100 ;COMPONENTS 8 ;- pad_dirty_VDD pcxvd2 ;- pad_dirty_VSS pcxvs2 ;- pad_core_VDD pcxvd1 ;- pad_core_VSS pcxvs1 ;-
12、 pad_CORNER1 PADCORNER ;- pad_CORNER2 PADCORNER ;- pad_CORNER3 PADCORNER ;- pad_CORNER4 PADCORNER ;END COMPONENTS頂層模塊名定義電源地PAD和CORENER PAD?為何這么定義,與版圖怎么對應?PAD的選擇基于什么考慮?對于大設計,怎么改進?DEF文件內容SPECIALNETS 5 ; - gnd! ( pad_* gnd! ) ( pad_*_VSS core ) + USE GROUND ;- vdd! ( pad_* vdd! ) ( pad_*_VDD core ) + U
13、SE POWER ;- gnd1! ( pad_* gnd1! ) + USE GROUND ;- vdd1! ( pad_* vdd1! ) + USE POWER ;- gnd2! ( pad_* gnd2! ) + USE GROUND ;END SPECIALNETSEND DESIGN- gnd1! ( pad* gnd1! ) + USE GROUND ;- gnd2! ( pad* gnd2! ) + USE GROUND ;- gnd! ( pad* gnd! ) ( pad_*_VSS core ) + USE GROUND ;- vdd1! ( pad* vdd1! ) +
14、 USE POWER ;- vdd! ( pad* vdd! ) ( pad_*_VDD core ) + USE POWER ;布局布線導入DEF文件 完成DEF文件的修改 Design - Load - DEF 選擇剛才修改好的DEF文件,并導入 注意觀察命令提示行是否導入有錯。 導入后的PAD重疊,需要導入IO文件,進行IO排序布局布線I/O文件 I/O文件需要提供每個PAD的位置和方向。 可以先使用Design- Save -I/O File 先保存一個I/O文件,然后在此基礎上修改此文件,最后保存再導入回設計。 I/O文件的格式:Version: 2Orient: orientati
15、onPad: padInstanceName side | corner cellName布局布線I/O文件例Version: 2Orient: R180Pad: pad_CORNER1 NE PADCORNEROrient: R0Pad: pad_rst NOrient: R0Pad: pad_dirty_VSS N pcxvs2Orient: R0Pad: pad_enb NOrient: R270Pad: pad_CORNER4 NW PADCORNEROrient: R90Pad: pad_cn1 WOrient: R90Pad: pad_cn0 WOrient: R90Pad: pa
16、d_core_VSS W pcxvs1Orient: R0Pad: pad_CORNER3 SW PADCORNEROrient: R180Pad: pad_core_VDD S pcxvd1Orient: R180Pad: pad_cn2 SOrient: R180Pad: pad_cn3 SOrient: R90Pad: pad_CORNER2 SE PADCORNEROrient: R270Pad: pad_cko EOrient: R270Pad: pad_dirty_VDD E pcxvd2Orient: R270Pad: pad_cki E 布局布線I/O文件導入完成 Design
17、-Load-I/O File 選擇導入修改好后的I/O文件 選擇工具欄上的重繪按鈕(Redraw)或者使用快捷鍵Ctrl+R重繪版圖,可以發(fā)現(xiàn)所有PAD已經(jīng)添加并擺放得當。布局布線布局初始化 選擇Floorplan - Specify Floorplan 在窗口中設置I/O到core的距離、標準單元行的利用率(core utilization)、布線通道(row space)大小、是否隔行翻轉等 說明:這是決定芯片面積大小,能否布局布線成功最關鍵的一步。 OK確定,可以觀察到版圖的進一步變化布局布線布電源環(huán) 選擇Power- Power Planning - Add rings布電源環(huán) 只布c
18、ore電源,電源環(huán)盡量寬一些。 作用:在數(shù)字標準單元區(qū)域的周圍放置power ring,用于提供數(shù)字部分的電源和地布局布線時序約束下的布局 Place - Standard Cells and Blocks encounter將所有系統(tǒng)包含的標準單元cell都放到芯片上,通常盡可能保證互相連線多而且連線復雜的cell放置在一起。布局布線放置單元后選中觀察物理視圖庫中的標準單元被放置在了相應的位置上注:在Place的時候選擇Advance標簽的Congestion effort可以使得布局更加優(yōu)化布局布線準備時鐘樹文件 時鐘樹文件ctstch中包含了設計對于時鐘的要求。encounter按照這個
19、文件設定的時鐘特性,自動產(chǎn)生時鐘樹的布局布線,插入buffer提高時鐘樹的驅動能力,改善時鐘信號延時特性。 時鐘樹的起始點需要設置成為時鐘輸入pad的時鐘pin端 時鐘buffer是庫中專門的buffer,需要在文件中指定。(上華庫的專用時鐘buffer不符合encounter要求,用普通buffer代替)時鐘樹約束的含義布局布線時鐘樹文件樣例# Sample Gated CTS CommandAutoCTSRootPin pad_cki/CPMaxDelay 1nsMinDelay 0nsSinkMaxTran 300psBufMaxTran 500psMaxSkew 500psNoGati
20、ng risingMaxDepth 10DetailReport NORouteClkNet YESPostOpt YESBuffer NI01D1 NI01D2 NI01D3 NI01D4End布局布線時鐘樹生成 Clock-Specify Clock Tree 選擇相應文件 Clock- Synthesize Clock Tree 開始時鐘樹生成 時鐘樹連接了所有時序元件的時鐘端布局布線填充單元 命令:菜單Place filler Add 說明:將標準單元行中,沒有被標準單元占據(jù)的空白位置,填充上空白單元 在彈出的表單中,模型(Model)和前綴(Prefix)均設定為FEEDTHRU布局
21、布線布電源線 Route - Special Route 布電源線布局布線全局布線 Route - NanoRoute - Route 一定要選中Timing Driven 說明:全局預布線預先對一些長的連線進行布線,以保證最后的布通率;最終布線進行芯片內所有連線的布線,這是全部布局布線中最消耗時間和運算量的一步,特別是當開始的布局初始化時,如果留的布線通道過小,或者要求的芯片利用率太高,都可能導致布線失敗 可以通過監(jiān)視信息輸出窗口,窗口中不斷報告布線進度。布局布線布線后的結果布局布線檢查連接性 命令:菜單Verify Verify Connectivity 說明:檢查最終的布局布線結果,是否
22、和最初輸入的verilog網(wǎng)表一致??幢O(jiān)視窗口的輸出信息和輸出文件能夠發(fā)現(xiàn)是否有布線錯誤。 沒有連接上的地方 core電源和地的pad in與電源環(huán) (手動添加) core電源和地與pad ring (庫不全造成)布局布線手動添加gnd! 檢查pad_core_vss的core pin和電源環(huán)gnd!的net屬性和所在的金融層 選擇工具欄上的Add wire或者快捷鍵A 按e選擇連線的金屬層、寬度和net 在版圖中連線。同樣的方法連接 vdd!布局布線參數(shù)提取和分析 提取RC寄生參數(shù) Timing - Specify Analyze Condition - Specify RC Extract
23、ion Mode 選中Detail和Special Net 然后確定 Timing - Extract RC 選中Save Cap to 和 Save SPEF to 完成后,你可以查看相應的輸出文件注:SPEF Standard Parasitic Exchange File布局布線參數(shù)提取和分析 延時信息 Timing - Specify Analyze Condition - Specify Delay Calculation Mode 選中FE-DC模式 Timing - Calculate Delay 不要選中Ideal Clock 完成后獲得了布局布線后延時信息布局布線保存成果 D
24、esign-Save-Netlist保存網(wǎng)單 Design-Save-GDS保存GDS文件 Mapfile欄填寫庫中gds2_un.map 還要填寫頂層模塊和輸出到cadence的庫名等 Design -Save Design保存整個設計 可以在Cadence的icfb中查看版圖 Import- Stream 導入相應文件后打開cellview 由于對于單元,只能看到外面的框,而不能看到其內部的版圖,這是因為廠商沒有提供底層版圖的緣故;這個文件已經(jīng)可以提交給廠商,由廠商進行mergeCell-based DRC & LVS這部分的內容由于設計文件不全,故只介紹cell-based DR
25、C和LVS的概念,而沒有繼續(xù)對前面的例子所得到的布局布線結果進行具體的DRC和LVS的過程!Cell-based DRC 對于cell-based設計來說,DRC主要關心布線中的設計規(guī)則違反問題,如金屬與金屬、金屬與過孔等規(guī)則 對于我們前面導出的GDS2版圖,可以交給流片組織結構或廠商,由他們去merge底層單元的版圖并做DRC檢查Black-box LVS 一種分層LVS Black-box LVS將單元庫中的每個單元視為一個black box Black-box LVS檢查庫單元之間的連接關系,而不檢查單元內部 設計者無須了解單元的具體版圖設計 顯著加快LVS的速度管級LVS與單元級LVS
26、的比較Dracula black-box LVS flowNetlisting flowUsing Hierarchical LOGLVS :CASE ;turn case sensitive on :CEL cell.tab ;compile H-CELL table file :CIR filename ; compile spice/cdl netlist file :ver verilog.v ;read verilog file :link ;expand the logic network for verilog :CON cellname ;convert from the to
27、p cell name :SUM ;print ELEMENT summary :X ; EXITBlack-box LVS準備文件Layout GDS2 file當然也可以直接對verilog文件進行編譯準備CDL netlist 通過轉換工具,如calibre的v2lvs 或者,將verilog結構描述轉換為schematic,然后再 Cdl out 在Cadence的集中命令控制窗口 icfb,菜單File import Verilog 填寫彈出的表單,設定輸入的verilog文件,要生成的庫,參考庫等等 在icfb窗口,菜單File Export Cdl 從生成的schematic v
28、iew導出CDL網(wǎng)表。導入verilog文件CDL out例:門級CDL網(wǎng)表聲明全局信號與全局PIN調用基本庫單元調用子電路導入verilog文件?File import Verilog 何為參考庫?導入verilog文件當module中含有行為描述語句時,不能綜合出schematic view,一般為functional view注意要理解所生成的schematic view中的單元的symbol和schematic view是怎么來的。導入verilog文件module AO07D2 (YN, A1, A2, A3, B1, B2);input A1, A2, A3, B1, B2;out
29、put YN;endmodulemodule AO08D2 (YN, A1, A2, A3, B);input A1, A2, A3, B;output YN;endmodule參考庫:以上華工藝為例,我們可修改其verilog庫文件,令其變成純端口描述形式,然后用上面導入verilog文件的方法先行得到參考庫,注意此時導入時的reference libraries按默認情況即可,這樣參考庫的內容為各個單元的schematic和symbol view.單元verilog描述schematic viewClockfsm在處理時鐘樹時插入的門,滿足當時設定的最小延時約束導出CDL*.GLOBAL
30、vdd!+ gnd!*.PIN vdd!*+ gnd!* *Library Name: vinreflib* Cell Name: pcxo51* View Name: schematic*.SUBCKT pcxo51 I PAD*.PININFO I:I PAD:O.ENDS來自參考庫所有用到的單元的子電路定義描述,故對于這個例子,無須的Pseudo spice文件!導出CDL(續(xù)上).SUBCKT top_fsm pad_A pad_Clock pad_K1 pad_K2 pad_Reset*.PININFO pad_A:I pad_Clock:I pad_Reset:I pad_K1:O
31、 pad_K2:OXpadK2 core_K2 pad_K2 / pcxo51XpadK1 core_K1 pad_K1 / pcxo51XpadClock_L6_I1 padClock_L5_I1_6 padClock_L6_I1_5 / IN01D1XpadClock_L7_I1 padClock_L6_I1_5 padClock_L7_I1_4 / IN01D1XpadClock_L10_I1 padClock_L9_I1_2 padClock_L10_I1_1 / IN01D1Xfsm1 core_A padClock_L10_I1_1 core_K1 core_K2 core_Res
32、et / fsm.ENDS調用子電路Black-box LVS準備文件 Hcell(Hierarchical cell)文件 Hcell文件在HLVS中用來聲明哪些單元將作為hcell 在HLVS中,hcell內部的電路不做檢查,dracula只做hcell之間或hcell與其他元件之間的互連關系 Hcell文件的例子ad01d1 ad01d1ad01d1 ad01d1ad01d2 ad01d2ad01d2 ad01d2Black-box LVS準備文件 Pseudo spice文件* *.GLOBAL vdd gnd.GLOBAL vdd gnd* *.PIN vdd gnd.PIN vdd
33、 gnd.SUBCKT ad01d1 S CO AB CI.SUBCKT ad01d1 S CO AB CI.ENDS.ENDS.SUBCKT ad01d2 S CO A B CI.SUBCKT ad01d2 S CO A B CI.ENDS ad01d2.ENDS ad01d2.SUBCKT an02d1 Z A1 A2.SUBCKT an02d1 Z A1 A2Global pin: vdd! & gnd!Black-box LVS準備文件 Black-box文件;Purpose: BLACK-BOX file for hierarchical black box LVS;Purp
34、ose: BLACK-BOX file for hierarchical black box LVSVdd x=10.5 y=11.7 ATTACH=METAL1 ad01d0 w=21.4 h=1.8Vdd x=10.5 y=11.7 ATTACH=METAL1 ad01d0 w=21.4 h=1.8Gnd x=18.825 y=0.9 ATTACH=METAL1 ad01d0 w=4.75 h=1.8Gnd x=18.825 y=0.9 ATTACH=METAL1 ad01d0 w=4.75 h=1.8S x=17.5 y=4.2 ATTACH=METAL2 ad01d0 w=0.5 h=0.5S x=17.5 y=4.2 ATTACH=METAL2 ad01d0 w=0.5 h=0.5CO x=20.3 y=8.4 ATTACH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國陶瓷纖維市場競爭格局與前景發(fā)展策略分析報告
- 2025-2030年中國造紙機械市場運行態(tài)勢及投資戰(zhàn)略研究報告
- 2025-2030年中國蠔肉行業(yè)發(fā)展狀況及營銷戰(zhàn)略研究報告
- 2025-2030年中國礦渣粉產(chǎn)業(yè)十三五規(guī)劃及發(fā)展策略分析報告
- 2025-2030年中國電子銅箔市場運行狀況及發(fā)展趨勢預測報告
- 江西洪州職業(yè)學院《經(jīng)濟學的思維方式》2023-2024學年第二學期期末試卷
- 沈陽職業(yè)技術學院《受眾與視聽率分析》2023-2024學年第二學期期末試卷
- 益陽職業(yè)技術學院《公共關系》2023-2024學年第二學期期末試卷
- 2025屆上海市松江區(qū)屆高三上學期一??荚嚉v史試卷
- 遼寧中醫(yī)藥大學杏林學院《軟件測試技術實驗》2023-2024學年第二學期期末試卷
- 中華人民共和國保守國家秘密法實施條例
- 《環(huán)境影響評價》全套教學課件
- 秋裝校服供貨售后保障方案
- 銅桿生產(chǎn)線設備安裝工程施工方案62p
- 惡性腫瘤化療后重度骨髓抑制病人的護理論文
- cmu200_中文使用詳細說明
- 廿四山年月日時定局吉兇(擇日)
- 英語句子成分結構講解
- 《地質災害防治知識》PPT課件.ppt
- 招生代理合作協(xié)議書
- 養(yǎng)老保險及職業(yè)年金相關解釋PPT課件
評論
0/150
提交評論