數(shù)字后端簡要的流程_第1頁
數(shù)字后端簡要的流程_第2頁
數(shù)字后端簡要的流程_第3頁
數(shù)字后端簡要的流程_第4頁
數(shù)字后端簡要的流程_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)字后端簡要的流程綜合的定義邏輯綜合:決定設(shè)計(jì)電路邏輯門之間的相互連接。邏輯綜合的目的:決定電路門級(jí)結(jié)構(gòu),尋求時(shí)序、面積和功耗的平衡,增強(qiáng)電路的測試性。邏輯綜合的過程(constraint_driven) :Synthesis = Translation + Logic Optimization + Mapping 首先,綜合工具分析HDL代碼,用一種模型(GTECH) ,對(duì)HDL進(jìn)行映射,這個(gè)模型是與技術(shù)庫無關(guān)的,也不包含Timing和Load信息;最后一步,進(jìn)行邏輯映射和門級(jí)優(yōu)化,將邏輯根據(jù)約束,映射為專門的技術(shù)目標(biāo)單元庫(target cell library)中的cell,形成了綜合后

2、的網(wǎng)表。綜合環(huán)境初始化初始化設(shè)計(jì)環(huán)境,技術(shù)庫文件及其它設(shè)計(jì)環(huán)境設(shè)置。search_path:指明文件的位置。target_library:既技術(shù)庫,由生產(chǎn)廠家提供,該庫中的cells,用于邏輯映射。Target library的文件名應(yīng)包含在Link library的文件清單中,用于讀取門級(jí)網(wǎng)表。link_library:該庫中的cells,DC無法進(jìn)行映射,例如:RAM,ROM及Pad,在RTL設(shè)計(jì)中,這些cells以實(shí)例化的方式引用。symbol_library:該庫文件包含技術(shù)庫中cells的圖形表示,用于生成門級(jí)示意圖。read:讀入HDL代碼環(huán)境屬性定義設(shè)計(jì)的工藝參數(shù),I/O端口屬性

3、,wire-load模型,下圖解釋了描述設(shè)計(jì)環(huán)境約束的DC命令:set_operating_conditionsset_max_capacitance set_max_transition &set_max_fanout on input &output ports or current_design; Block BClockDividerLogicBlock Aset_load on outputsset_drive on Clock set_driving_cell on inputsset_wire_load_model set_operating_conditions用于描述cell

4、s操作條件: process、voltage 和temperature。例如:set_operating_conditions -max slowset_wire_load_model用于設(shè)置Nets的寄生RC模型,一般選用悲觀的模型。例如:set_wire_load_model -name smic18_slowset_load用于定義nets或ports的電容負(fù)載,為了保證輸出路徑的時(shí)序,default條件下為0。例如:set_load 0.6 all_outputs()set_drive用于定義模塊的input ports,0表示最大的驅(qū)動(dòng)強(qiáng)度,通常用于clock ports和reset

5、,例如:set_drive 0 clk,rst。set_driving_cell用于定義input ports,模擬cell的驅(qū)動(dòng)阻抗,為了保證輸入路徑的時(shí)序和輸入信號(hào)的transition time。例如:set_driving_cell -lib_cell BUFX2 -pin Y -library slow all_inputs()set_min_library允許用戶同時(shí)設(shè)置worst-case和best-case libraries,從而在初步編譯時(shí),DC修正hold-time沖突時(shí),驗(yàn)證setup-time沖突。也可用于在編譯時(shí)修正hold-time沖突。例如:set_min_li

6、brary slow.db -min_version fast.dbDRC的設(shè)計(jì)規(guī)則約束:set_max_transition、set_max_capacitance和set_max_fanout。這些約束用于的input ports,output ports或current_design,一般在技術(shù)庫內(nèi)部設(shè)置。當(dāng)技術(shù)庫的內(nèi)部設(shè)置不能滿足時(shí),可用以上命令設(shè)置。例如:set_max_transition 0.3 current_designset_max_capacitance 1.5 current_designset_max_fanout 3.0 all_outputs()面積和時(shí)序約束描述

7、設(shè)計(jì)的目標(biāo),包括時(shí)序和面積約束,要注意約束必須是可實(shí)現(xiàn)的,否則會(huì)導(dǎo)致面積超額,功耗增加或時(shí)序不能滿足要求。設(shè)計(jì)約束的DC命令如下:Block BClockDividerLogicBlock Acreate_clock& set_clock_uncertaintyset_input_delay on input signals set_max_area for each blockTop levelset_output_delay on input signals set_max_area用于約束current_design的最大面積。0表示在滿足時(shí)序、功耗的前提下,盡可能的減小面積。例如:se

8、t_max_area 0時(shí)序約束包括3個(gè)部分:all inputs、register to register和all outputs。輸入路徑的約束: set_input_delay:定義信號(hào)相對(duì)于時(shí)鐘的到達(dá)時(shí)間。指一個(gè)信號(hào),在時(shí)鐘沿之后多少時(shí)間到達(dá)。例如:set_input_delay -max 20 -clock CLK get_ports Aset_input_delay -min 0.8 -clock CLK get_ports A輸出時(shí)序約束:set_output_delay:定義從輸出端口數(shù)據(jù)不可用開始到后一個(gè)時(shí)鐘有效沿的時(shí)間。例如:set_output_delay -max 20

9、 -clock CLK get_ports Bset_output_delay -min -0.5 -clock CLK get_ports B時(shí)鐘描述:時(shí)鐘的描述在設(shè)計(jì)中非常關(guān)鍵,一般通過clock period和clock source(port/pin) 、duty cycle、offset/skew和clock name進(jìn)行描述。DC時(shí)鐘約束命令:create_clock:用于定義時(shí)鐘的周期和波形(占空比及起始沿)例如: create_clock -period 40 -waveform0 20對(duì)于僅包含組合邏輯的模塊,為了定義該模塊的延時(shí)約束,需要?jiǎng)?chuàng)造一個(gè)虛擬時(shí)鐘定義。例如:crea

10、te_clock -name V_clk -period 20 set_clock_transition:在pre_layout必須設(shè)置一個(gè)固定的transition值(由技術(shù)庫提供),因?yàn)闀r(shí)鐘網(wǎng)有很大的fanout.這樣可使DC根據(jù)該時(shí)鐘計(jì)算實(shí)際的延時(shí)值。set_clock_skew:設(shè)置時(shí)鐘的skew及delay,pre_layout和post_layout命令選項(xiàng)不一樣。-propagated選項(xiàng)讓DC計(jì)算時(shí)鐘的skew。例如:set_clock_skew -delay 2.5 -minus_uncertainty 2.0 -plus_uncertainty 0.2 CLK-minus_

11、uncertainty用于setup-time的計(jì)算,-plus_uncertainty用于hold-time的計(jì)算。一個(gè)cell的delay是根據(jù)input signal的斜率和output pin的電容負(fù)載決定。對(duì)于時(shí)鐘信號(hào),因?yàn)閏lock network的fanout很大,從而造成clock network末端門的時(shí)鐘信號(hào)的clock transition time很慢,是DC計(jì)算的門延遲失真。set_dont_touch_network常用于port或net阻止DC隔離該net,和該net向連的門具有dont_touch屬性,常用于CLK和RST。例如:set_dont_touch_n

12、etwork CLK,RST當(dāng)一個(gè)電路包含門時(shí)鐘邏輯時(shí),若在時(shí)鐘的輸入設(shè)置set_dont_touch_network,則阻止DC隔離該門邏輯,導(dǎo)致DRC發(fā)現(xiàn)時(shí)鐘信號(hào)沖突,對(duì)門RESET同樣。 set_dont_touch應(yīng)用于current_design,cell,net,references。阻止DC對(duì)模塊中的這些元素進(jìn)行技術(shù)映射。其它的一些約束條件set_dont_use用于將技術(shù)庫中的某些設(shè)計(jì)中不需要的cell濾除,比如Latch、Delay Cell,禁止DC映射;例如: set_dont_use mylib/SD*set_false_path指示DC對(duì)指定的路徑不要按照時(shí)序約束優(yōu)化

13、。比如:異步路徑或約束不可實(shí)現(xiàn)的路徑。false path路徑的鑒別在設(shè)計(jì)中很關(guān)鍵,如果不對(duì)false path路徑進(jìn)行標(biāo)識(shí),DC會(huì)對(duì)所有的路徑進(jìn)行優(yōu)化,從而影響關(guān)鍵時(shí)序路徑。此命令也用于當(dāng)因?yàn)橛衒alse path關(guān)鍵邏輯,時(shí)序靜態(tài)分析失敗時(shí)。set_false_path -from get_clock CLKA -to get_clock CLKBset_multicycle_path:因?yàn)镈C假設(shè)所有的路徑都是單周期的,為了滿足時(shí)序,對(duì)多周期路徑會(huì)做不必要的優(yōu)化,從而影響相鄰路徑或面積。所以這個(gè)命令用于隔離多周期路徑,通知DC通過這條路徑所需的周期數(shù)。例如:set_multicycle_

14、path 2 -from FFA/CP -through Multyply/Out -to FFB/Dset_max_delay:1、對(duì)于僅包含組合邏輯的模塊,用此命令約束所有輸入到輸出的總延時(shí)。例如: set_max_delay 5 -from all_inputs() -to all_outputs2、對(duì)于含有多個(gè)時(shí)鐘的模塊,可用通常的方法定義一個(gè)時(shí)鐘,用此命令進(jìn)行約束定義時(shí)鐘和其他時(shí)鐘之間的關(guān)系。例如:set_max_delay 0 from CLK2 to all_register(clock_pin)set_min_delay:1、對(duì)于僅包含組合邏輯的模塊,定義指定路徑的最小延時(shí)。例

15、如:set_min_delay 3 -from all_inputs()2、和set_fix_hold一起使用,只是DC添加一定的延遲,滿足最小延遲需求。編譯編譯就是將GETCH邏輯網(wǎng)絡(luò)映射為技術(shù)庫的gate cell,使設(shè)計(jì)滿足用戶的約束。對(duì)于一個(gè)層次設(shè)計(jì)分兩步實(shí)現(xiàn):1、映射各子模塊到邏輯門,不考慮約束;2、根據(jù)時(shí)序和面約束優(yōu)化邏輯,修正模塊分界間的違例。布局布線Design SetupFloor PlanTiming SetupPlacementCTSRouteDFM&Data OutDesign SetupCreate LibraryAttach Ref LibRead NetlistE

16、xpand NetlistOpen Lib&Create CellBind Netlist To CellPreserve The HierarchyMark The HierarchySave The Cell Reference LibraryWorking LibraryAttach TLU+ ModelDesign Setup:布局布線的準(zhǔn)備工作,讀入網(wǎng)表,跟Foundry提供的STDCell、Pad庫以及Macro庫進(jìn)行映射。Floor PlanLoad TDF FileCreate Core Power RingsSetup FloorplanLogic Connect PGPre

17、route Macros&PadsCreate Core Power StrapsDump FloorplanSave AsInsert Pad FillersAdd P/G RingsPlace Macro(Flylines)Preroute STDVerify P/G StructureFloor Plan:整體的布局規(guī)劃,設(shè)置Core的大致面積、管腳位置以及Macro位置等一些粗略的布局信息。Timing SetupLoad SDC FileTiming Data CheckTiming SetupTiming ReportSave AsTiming Setup:讀入時(shí)序約束文件(.sd

18、c),設(shè)置時(shí)序信息,主要是Environment、Optimization、Parasitics、Model四個(gè)比較常用的設(shè)置。PlacementDetach Scan ChainsSetup Placement/Timing OptionsAuto-PlaceCongestionOKAny setup, or many max tran/cap violationsTNS WNSPass Timing sanity checkAny setup, or many max tran/cap violationsFrom FloorplanHigh-effort PPOCritical Range OptTo CTSBack to synthesisPlacement:這一步是詳細(xì)的布局,一是要滿足設(shè)計(jì)的時(shí)序要求,二是保證后面的布線能夠順利進(jìn)行。CTSSetup Clock Common OptionsClock Tree SynthesisTiming SetupReconnect Scan ChainsPostPlace OptimizationClock Tree Opt

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論