DC綜合流程PPT課件_第1頁
DC綜合流程PPT課件_第2頁
DC綜合流程PPT課件_第3頁
DC綜合流程PPT課件_第4頁
DC綜合流程PPT課件_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 綜合概述 技術(shù)庫概述 綜合基本步驟提綱第1頁/共22頁綜合概念 邏輯綜合:決定設計電路邏輯門的相互連接。 邏輯綜合的目的:決定電路門級結(jié)構(gòu)、尋求時序和與面積的平衡、尋求功 耗與時序的平衡、增強電路的測試性。 邏輯綜合的過程:Translation 、map 、optimization Translation是指把設計的HDL描述轉(zhuǎn)化為GTECH庫元件組成的邏輯電路 Mapping是指將GTECH庫元件映射到某一特定的半導體工藝庫上,此時 的電路網(wǎng)表包含了相關(guān)的工藝參數(shù) Optimization是根據(jù)設計者設定的時延、面積、線負載模型等綜合約束條 件對電路網(wǎng)表進一步優(yōu)化的過程第2頁/共22頁綜

2、合庫綜合庫中定義了operation condition、wire_load model、Gate(輸入輸出,功能,時序參數(shù),面積等等);operating_conditions(typical) process: 1; temperature: 25; voltage: 1.8; tree_type: balanced_tree wire_load(smic18_wl10) resistance: 8.5e-8; capacitance: 1.5e-4; area: 0.7; slope : 66.667; fanout_length(1,66.667); 第3頁/共22頁綜合步驟 第4頁/

3、共22頁綜合步驟1:源文件準備源文件的準備主要是檢查rtl的書寫規(guī)范,時鐘域劃分是否合理,一般有專業(yè)的工具進行檢查第5頁/共22頁綜合步驟2:指定綜合庫 目標庫設定使用target_library和link_library變量來指定符號庫。 符號庫設定使用symbol_library變量來指定符號庫。target_library:synthetic_library:綜合庫,它包含了一些可綜合的與工藝無關(guān)的IP。link_library:鏈接庫,DC不使用該庫中的cells進行映射,它是DC在讀入綜合后網(wǎng)表時用來參考的庫,RAM,ROM,PAD,macros都應包含在這個庫,目標庫和綜合庫也必須

4、包含在其中。 symbol_library:指定的符號庫,使用GUI時會調(diào)用。search_path:指明庫文件的位置,這樣在添加上面的庫時就不用寫絕對路徑。 set target_library typical.db sp018N.db“第6頁/共22頁綜合步驟3:讀入源碼read與analyze&elaborate都可以用來讀入RTL代碼。推薦使用analyze&elaborateanalyze&elaborate允許設計者在設計的GTECH建立之前,首先去分析設計的語法錯誤和進行HDL代碼轉(zhuǎn)換。GTECH由“soft macros” 比如adders, compa

5、rators等組成,這些組件來自synopsys 的synthetic lib,每種組件具有多種結(jié)構(gòu)。 Analyze做語法的檢查并產(chǎn)生一個“.syn”文件,存儲于work路徑下的定義的設計庫內(nèi),可供后來elaborate使用。對于一個analyzed過的設計,只需用elaborate重新輸入,節(jié)省時間。Read就不行。以下是兩個命令的比較: 類別 analyze&elaborate read 格式 verilog 或VHDLverilog 、VHDL、EDIF、db等所有格式 用途綜合verilog 或VHDL的RTL設計讀網(wǎng)表,設計預編譯 設計庫用-library選項定義設計庫名,

6、存儲“.syn”文件用缺省的設置,不能存儲中間結(jié)果Generics(vhdl)可以對parameter進行操作不能對parameter進行操作Architecture(vhdl)可以進行結(jié)構(gòu)化的操作不可用第7頁/共22頁綜合步驟4:design environment設計環(huán)境包括operating condition、wire load和system interface三部分第8頁/共22頁綜合步驟4:design environment1、operating condition operating condition包括工作溫度、工作電壓、制造工藝,通過命令set_operating_con

7、dition來設定 命令set_operating_conditions min BEST max WORST用于指示DC對WORST和BEST條件,同時優(yōu)化。WORST用于對setup-time進行優(yōu)化,BEST用于對hold-time進行優(yōu)化,當BEST和WORST都滿足時,TYPICAL也就可以滿足。 例:set_operating_conditions -min fast_1v32cm40 -max slow_1v08c125 通過命令report_lib lib_name查看使用的庫信息。第9頁/共22頁綜合步驟4:design environment2、wire load set_

8、wire_load_model 用于設置線負載模型估計連線負載,線負載模型是根據(jù)cell的扇出數(shù)查表得到線長,再用線長乘以單位線長的電阻和電容值得到的負載電阻電容值的,第10頁/共22頁綜合步驟4:design environment2、wire load set_wire_load_mode 三種模式top、enclosed、segmentedtop:所有層次子模塊的wire_load和top-level相同,綜合策略為top-down可選擇此模式編譯子模塊。enclosed:子模塊net的wire_load和enclosed 它的最小模塊相同,推薦用于在layout后logical and

9、 physical hierarchy相似的設計;segmented:子模塊之間net的wire_load和enclosed該net的模塊相同,需技術(shù)庫提供segmented wire_load,一般用于跨層次的net;第11頁/共22頁綜合步驟4:design environment2、wire load 對于wire load mode三種模式示意圖第12頁/共22頁綜合步驟4:design environment3、system interfaceset_drive:用來指定input port的驅(qū)動強度,它指定的是一個阻抗值,用來計算從這個port到被它驅(qū)動的cell之間的路徑延時,0

10、表示最大驅(qū)動,通常用于clock ports。 例:set_drive 0 $PROCLKset_driving_cell:用來模擬驅(qū)動input port的cell的驅(qū)動阻抗,用于計算輸入信號的transition time做DRC的檢查,一般在分模塊綜合時使用,頂層則設置為PAD或用buffer隔離。 例:set_driving_cell -lib_cell DFFRX2 -no_design_rule get_ports RX_DDC_PDC_SDAT_16B 選項-no_design_rule是指DFFRX2自身的DRC檢查不做。set_load:用于定義net或port的電容負載,保

11、證輸出路徑的時序,主要用input port和output port,在頂層則設置為PAD的電容值或用buffer隔離,在庫中獲得。第13頁/共22頁綜合步驟5:綜合策略綜合策略包括top-down和bottom-up綜合策略Top-down綜合策略優(yōu)點: 1、僅需top_level的約束; 2、將整個設計作為整體優(yōu)化,可獲得較好的結(jié)果; Top-down綜合策略缺點 1、編譯時間長; 2、子模塊的改變需要整個設計在綜合; 3、如果設計包含多個時鐘或生成時鐘邏輯,則不能很好執(zhí)行。Bottom-up綜合策略的優(yōu)點: 1、每一個子模塊都由自己的Scripts文件,便于管理; 2、子模塊的改變不需要

12、整個設計全部重新綜合; 3、不需要關(guān)心設計類型,如:多時鐘或產(chǎn)生時鐘; 4、一般來說,可獲得好的結(jié)果; Bottom-up綜合策略的缺點 1、需要更新維護多個scripts; 2、Top的關(guān)鍵路徑也許在子模塊并非關(guān)鍵路徑; 3、需要incrementally編譯。第14頁/共22頁綜合步驟6:設計約束設計約束包括rule constraints和optimization constraints兩種rule contraints: 1、set_max_transition: 2、set_fanout_load:對design,net,output port進行操作,設定的不是具體的電容值 3、s

13、et_max_capacitance:定義輸出管腳可以驅(qū)動的最大電容值optimization contraints: 1、create_clock:用于定義時鐘的周期和波形 2、set_input_delay:定義信號相對于時鐘的到達時間 3、set_output_delay:定義從輸出端口數(shù)據(jù)不可用開始距離后一個時鐘沿的時間第15頁/共22頁綜合步驟7:優(yōu)化設計1、多次使用同一模塊進行綜合時,有兩種方法解決同一模塊多次使用的問題:uniquify方法與compile-once-dont-touch方法。 Uniquify方法操作步驟: 1、uniquify設計; 2、compile設計。

14、dc_shell current_design top dc_shell uniquify dc_shell compile 第16頁/共22頁綜合步驟7:優(yōu)化設計1、 compile-once-dont-touch方法操作步驟: 1、charactirize 環(huán)境最差的一個子模塊; 2、在此環(huán)境下綜合此模塊; 3、使用set_donot_touch命令設置所有的此模塊例化得模塊; 4、綜合;dc_shell current_design topdc_shell characterize U2/U3dc_shell current_design Cdc_shell compiledc_shel

15、l current_design topdc_shell set_dont_touch U2/U3 U2/U4dc_shell compile 第17頁/共22頁綜合步驟7:優(yōu)化設計2、綜合 利用compiler命令啟動Design Compiler的綜合和優(yōu)化進程,有幾個可選的編譯選項。特別的map_effort選項可以設置為low、mediu或high。 初步編譯,如果你想對設計面積和性能有一個快速的概念,將map_effort設置為low;默認編譯,如果你在進行設計開發(fā),將map_effort設置為medium;當在進行最后設計實現(xiàn)編譯時,將map_effort設置為high。通常設置m

16、ap_effort為medium。 Compile -map_effort low/medium/high 第18頁/共22頁綜合步驟8:分析修改設計 通常Design Compiler根據(jù)設計綜合和優(yōu)化的結(jié)果生成眾多的報告。根據(jù)諸如面積、約束和時序報告來分析和解決任何設計問題,或者改進綜合結(jié)果。 需要的報告: report_design:報告用戶的綜合環(huán)境,包括operating condition、wire load report_constraint:用戶定義的constraint report_timing -nworts num :所有路徑中最差的路徑。 第19頁/共22頁綜合步驟8:生成網(wǎng)表及sdc文件利用write命令來保存綜合過的設

溫馨提示

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

評論

0/150

提交評論