




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ADVANCED ASIC CHIP SYNTHESIS提綱n 綜合的定義n ASIC design flown Synopsys Design Compiler的介紹n Synopsys technology libraryn Logic synthesis的過(guò)程n Synthesis 和 layout的接口LTLn Post_layout optimizationn SDF文件的生成綜合的定義n 邏輯綜合:決定設(shè)計(jì)電路邏輯門的相互連接。n 邏輯綜合的目的:決定電路結(jié)構(gòu)、尋求時(shí)序和與面積的平衡、尋求功耗與時(shí)序的平衡、增強(qiáng)電路的測(cè)試性。n 邏輯綜合的過(guò)程:首先,綜合工具分析HDL代碼,用一種模
2、型(GTECH) ,對(duì)HDL進(jìn)行,這個(gè)模型是與技術(shù)庫(kù)無(wú)關(guān)的;然后,在設(shè)計(jì)者的下,對(duì)這個(gè)模型進(jìn)行邏輯優(yōu)化;最后一步,進(jìn)行邏輯和優(yōu)化,將邏輯根據(jù)約束,為專門的技術(shù)目標(biāo)單元庫(kù)(target cell library)中的cell,形成了綜合后的網(wǎng)表。ASIC design flowIP and LibraryDesign ConstraintsVerified RTLMsnonoTime ok?noTime ok?Tape outTime ok?Formal verificationPost-layout Optimization (in-place optimization(IPO)Static
3、Timing AnalysisTransfer clock tree to DCDetail routingFloorplan placement, CT Insertion&Global routingLogic Synthesis optimization&scan insertion Static Timing AnalysisPost global route Static Timing AnalysisASIC design flown 設(shè)計(jì)舉例,tap器,已完成代碼編寫及功能:n Tap_controller.vn Tap_bypass.vn Tap_instruction.vn
4、Tap_state.vn 完成全部設(shè)計(jì)還需經(jīng)過(guò)如下幾個(gè)步驟:n Pre_layoutn Synthesisn STA using PrimeTimen SDF generationn Verificationn Floorolanning and Routingn Post_layoutn 反標(biāo)來(lái)自layout tool的信息, STA using PrimeTimen Post-layout Optimizationn Fix Hold-Time ViolationASIC design flown Initial Setup :建立設(shè)計(jì)環(huán)境,技術(shù)庫(kù)文件及其它設(shè)計(jì)環(huán)境設(shè)置。DC .synop
5、sys_dc.setup 文件company=“zte corporation”;designer =“name”;technology=“0.25 micron”search_path=search_path+“.” “/usr/golden/library/std_cells”“/usr/golden /library/pads” target_library =std_cells_lib.dblink_library=“*”,std_cells_lib.db,pad_lib.dbsymbol_library =std_cells.sdb,pad_lib.sdbASIC design fl
6、own Synthesis:利用約束完成設(shè)計(jì)的n Constrain scripts實(shí)現(xiàn)及掃描/* Create real clock if clock port is found */ if (find(port, clk) = clk) clk_name = clkcreate_clock -period clk_period clk/* Create virtual clock if clock port is not found */ if (find(port, clk) = ) clk_name = vclkcreate_clock -period clk_period -name
7、 vclkASIC design flown Constrain scripts(續(xù))/* Apply defaurive strengths and typical loads for I/O ports */set_load 1.5 all_outputs() set_driving_cell -cell IV all_inputs()/* If real clock, set infinite drive strength */ if (find(port, clk) = clk) set_drive 0 clk/* Apply default timing constraints fo
8、r modules */ set_input_delay 1.2 all_inputs() -clock clk_name set_output_delay 1.5 all_outputs() -clock clk_name set_clock_skew -minus_uncertainty 0.45 clk_name/* Set operating conditions */ set_operating_conditions WCCOM/* Turn on Auto Wireload selection Library must support this feature */ auto_wi
9、re_load_selection = trueASIC design flown Compile and scan insert的scripts,采用bottom_up的編譯方法set_fix_multiple_port_net buffer_constants all compile scancheck_testcreate_test_pattern sample 10 preview_scaninsert_scancheck_test如果模塊內(nèi)的子模塊具有dont_touch 屬性需添加如下命令,因要掃描remove_attribute find(-hierarchyn Write ne
10、tlistdesign,”*”)dont_touchremove_unconnected_ports find(-hierarchy cell,”*”) change_names hierarchy rules BORG set_dont_touch current_designwrite herarchy output active_design+”.db”write format verilog hierarchy output active_design+”.sv”ASIC design flown Pre_layout 的 STA :用DC的靜態(tài)時(shí)序分析引擎做block的STA,用Pr
11、imeTime做full_chip的STA。n Setup_time分析n Hold_time分析其時(shí)序約束和提供給DC做邏輯綜合的約束相同。靜態(tài)時(shí)序分析同綜合一樣,是一個(gè)迭代的過(guò)程,和cell的位置及布線關(guān)系密切,通常都執(zhí)行多次,直到滿足需要。ASIC design flown SDF generation,pre_layout的SDF文件,用于pre_layout timing,同時(shí)還需提供時(shí)序約束文件(SDF格式)給layout tool做布局布線。script文件如下:active_design=tap_controller read active_design current_des
12、ign active_design linkCreate_clock period 33 waveform 0 16.5 tckSet_dont_touch_network tck trstset_clock_skew delay 2.0 minus_uncertainty 3.0 tck set_driving_cell cell BUFF1X pin Z all_inputs() set_drive 0 tck trstset_input_delay 20.0 clock tck max all_inputs()set_output_delay 10.0 clock tck max all
13、_outputs() write_timing format sdf-v2.1 -output active_design+”.sdf” write_constraints format sdf cover_design-output constraints.sdfASIC design flowVerificationn 利用SDF文件進(jìn)行動(dòng)態(tài)時(shí)序:利用功能時(shí)。用verilog 編寫的test_bench 文件n 形式驗(yàn)證:利用數(shù)學(xué)算法檢查設(shè)計(jì)的邏輯的等效性,靜態(tài)驗(yàn)證,需要的時(shí)間比動(dòng)態(tài)少,驗(yàn)證全面。在這里驗(yàn)證RTL描述與gate_level網(wǎng)表的邏輯等效性。Floorolanning and
14、 global Routing; Estimated 寄生電容和RC delay的抽?。焕贸槿〉膮?shù)靜態(tài)時(shí)序分析,若時(shí)序不滿足要求,生成custom wire_load 做incremental synthesis即post_layout的優(yōu)化,采用reoptimize_design in_place命令,其script文件需反標(biāo)抽取的參數(shù)到設(shè)計(jì);Detail routing; real寄生電容和RC delay的抽取;利用抽取的參數(shù)靜態(tài)時(shí)序分析,修正hold_time如需要做post_layout的優(yōu)化;生成post_layout的SDF文件,做gate_level驗(yàn)證;ASIC desi
15、gn flown ECOn Engineering change order,不屬于正常的ASIC流程,一般只有在ASIC設(shè)計(jì)的后期,需要改變網(wǎng)表,可利用ECO,例如,在tape-out(sign-off)以后,遇見(jiàn)設(shè)計(jì)的硬件bug。采用ECO可僅對(duì)設(shè)計(jì)的一小部分重新布線不影響chip其他部分的位置及時(shí)序,通常,修改不能大于10%。n 最新版本的DC提供由ECO compiler,n 一些layout工具也具有ECO功能。可使設(shè)計(jì)者手工修改網(wǎng)表,節(jié)省時(shí)間。DC介紹n Synopsys Design Compiler,是一個(gè)基于UNIX系統(tǒng),通過(guò)命令行進(jìn)行交互的綜合工具, 除了綜合之外,它還含有
16、一個(gè)靜態(tài)時(shí)序分析引擎及FPGA和LTL(links-to-layout)的解決方案。我們就以下幾個(gè)方面對(duì)DC做以介紹:n script文件:由DC令,可使DC自動(dòng)完成綜合的整個(gè)過(guò)程。n DC支持的對(duì)象、變量、屬性n DC支持的文件格式及類型n DC在HDL代碼中的編譯開關(guān),綜合過(guò)程n Translate_off/translate_on:指示DC終止或開始verilog 源代碼轉(zhuǎn)換的位置。n full_case:case語(yǔ)句在全條件下生成latch。Script 文件n Script 文件n Script 文件的n DC綜合環(huán)境設(shè)置(.synopsys_dc.setup);n 屬性和約束信息;
17、n 綜合命令(read,compile);流命令;Conditional: if (expr) dc_shell commands else dc_shell commandsLooping: foreach(variable, list )dc_shell commandswhile( expr) dc_shell commandsn Script 文件的檢查:DC提供syntax and context checkers來(lái)檢查Script文件的錯(cuò)誤DC支持的對(duì)象、變量、屬性n 對(duì)象,DC將設(shè)計(jì)對(duì)象分為8類,分別如下:n Design:具有某種或多種邏輯功能的電路描述;n Cell:設(shè)計(jì)的i
18、nstance;n Reference:cell或instance在庫(kù)中定義的名字;n Port:design的輸入、輸出;n Pin:design中cell的輸入、輸出;n Net:ports和pins之間或pins之間的信號(hào)名;n Clock:被定義為時(shí)的pin或port;n Library:cell的集合,如:target_library,link_library;DC支持的對(duì)象、變量、屬性n 例如:DC支持的對(duì)象、變量、屬性n 對(duì)象的查找命令格式find -hierarchy type:DC支持的所有對(duì)象;name list:設(shè)計(jì)對(duì)象或庫(kù)對(duì)象的;-hierarchy:用于在設(shè)計(jì)的各層次
19、尋找的對(duì)象;該命令的返回值為L(zhǎng)ist,list:一種字符串類型,例如:mylist=el1 el2 el3 例如:DC支持的對(duì)象、變量、屬性變量,一種標(biāo)識(shí)符,DC用于信息,可做為命令的操作參數(shù)。DC預(yù)定義的變量,可用它獲得綜合過(guò)程中的有關(guān)信息,如dc_shell_status; DC預(yù)定義的變量總有一個(gè)缺省值,用戶可定義另外的值,如; dc_shellvhdlout_use_package=library IEEE.std_logic_1164;library STD_LIB;用戶定義的變量,用于自動(dòng)化綜合的過(guò)程。如,可定義一個(gè)變量,某個(gè)時(shí)的flop的個(gè)數(shù)。定義變量:dc_shelldesig
20、ner=“myname”;獲得UNIX的環(huán)境變量: dc_shelldesigner=get_unix_variable(“USER”) 顯示變量的值: dc_shellList target_librarytarget_library=“cbacore.db”列出所有的變量: dc_shellList variable all移去變量: dc_shell remove_ variable designer,變量沒(méi)有移去之前,不得重新定義。注:變量值被保存在設(shè)計(jì)數(shù)據(jù)庫(kù)中。DC支持的對(duì)象、變量、屬性屬性,DC用于具體的設(shè)計(jì)對(duì)象,如:nets,cells,clocks的信息,一般來(lái)說(shuō),屬性都是DC
21、預(yù)定義,命令如下:set_attribute get_attribute dc_shellget_attribute STD_LIBdefault_max_transitionDC的文件格式及類型n DC支持的文件格式n *.db文件,DC的n Verilog文件n VHDL格式n EDIF:electronic design interchange format,用于不同工具間n DC的文件類型n Script files .scrn RTL verilog file .vn RTL VHDL file .vhdn Synthesized VHDL netlist .svhdn EDIF f
22、ile .edfn Synthesized verilog netlist .svn Synopsys database file .dbn report . rptn Log files .log表的移植Synopsys technology libraryn Synopsys technology librarytechnology library由半導(dǎo)體制造商提供,定義cell的相關(guān)信息及設(shè)計(jì)標(biāo)準(zhǔn)約束,分為兩類:n target libraries:在優(yōu)化及時(shí),提供生成網(wǎng)表的cell;n link libraries:提供設(shè)計(jì)網(wǎng)表中可的cell做綜合;的cell,DC不利用link li
23、brariesSynopsys technology library結(jié)構(gòu)組織可看作實(shí)際上的技術(shù)庫(kù)標(biāo)準(zhǔn),它是一個(gè)文本文件(擴(kuò)展名“.lib”),在使用之前,需被LC編譯,產(chǎn)生一個(gè)“.db”文件,其構(gòu)成如下:n Library Group;n Library level attributes;n Environment description;n Cell description;Synopsys technology libraryn Library Group:定義庫(kù)名library(ex25)/* Library Group/*start of library*/*end of librar
24、y*/,庫(kù)文件和Library 名相同。一般,一個(gè)庫(kù)文件含有一個(gè)Library GroupSynopsys technology libraryn Library level attributes:定義技術(shù)庫(kù)的全局屬性,如:技術(shù)庫(kù)的類型(CMOS/TTL)、日期、版本及缺省值,例如:library (ex25)technology(cmos);delay_m date revisioncurrent_unit time_unit voltage_unit pulling_:table_lookup;:”feb 29,2000”;:”1.0”;:”1A”;:”1ns”;:”1V”;:”1kohm
25、”;_unitcapacitive_load_unit(1.0 pf); default_inout_pin_cap default_input_pin_cap default_output_pin_cap default_max_fanout default_max_transition default_operating_condition in_place_swap_mode:1.5;:1.0;:0.0;:10.0;:10.0;:NOMINAL;:match_footprint;Synopsys technology libraryn Environment description:主要
26、包括:n 縮放因子(scaling factors)n 時(shí)序模型(timing rang ms)n 操作條件(operation condition)n 線性負(fù)載模型(wire-load ms)n 縮放因子(scaling factors 或K-factors):實(shí)際上是一個(gè)乘數(shù)因子,表示隨著PVT的變化,對(duì)設(shè)計(jì)K_process_fall_transition K_process_rise_transition K_temp_fall_transition K_temp_rise_transition K_volt_fall_transition K_volt_rise_transition
27、n 時(shí)序模型(timing rangTiming_range(BEST)的修正。例如::1.0;:1.2;:0.03;:0.04;:0.02;:0.5;ms):根據(jù)操作條件的變化,修正信號(hào)到達(dá)時(shí)間,如:faster_factor :0.5;slower_factor :1.3;Synopsys technology libraryn 操作條件( operation condition):定義了PVT和RC樹模型。n DC根據(jù)操作條件縮放cell和net的delay;Synopsys technology libraryn tree_type:序計(jì)算時(shí)內(nèi)部連結(jié)的電阻、電容值的分配,有worst_
28、case_tree,balance_tree, best_case_tree,三種類型可貢選擇。我們利用Dc來(lái)表示driverpin和drivencell的inputpin的內(nèi),則它們的wire_load分別對(duì)因如下:Synopsys technology libraryn 線性負(fù)載模型(wire-load ms):估計(jì)pre_layout電路中net的電容,電阻及面積。Synopsys 提供了幾種不同的wire-load ms以對(duì)相應(yīng)的設(shè)計(jì)邏輯大小,它給出了net fanout 和net length 的統(tǒng)計(jì)關(guān)系。例如:Synopsys technology libraryn Cell de
29、scription:描述cell的屬性,包括:輸入輸出pin、時(shí)序等,例如:cell(BUFFD0)area:5.0;pin(Z)max_capacitive:2.2; max_fanout:4; function:”I”; direction:output; timing()related_pin: “I”;pin(I)direction:input; capacitive:0.04; fanout_load:2.0; max_transition:1.5;Synopsys technology libraryn Cell各pin相關(guān)的DRC屬性n Input pin的fanout_load
30、n Output pin的max_fanoutn Input or output pin 的max_transitionn Input or output pin的max_capacitanceDRC屬性定義了庫(kù)中cell的操作條件,和制造廠家的工藝技術(shù)相關(guān),設(shè)計(jì)不能超出這些條件的規(guī)定。n Cell 的DRC屬性可以用如下命令改動(dòng)dc_shell set_attribute find(pin,ex25/BUFFD0/Z) max_fanout 2.0n 時(shí)序cell通過(guò)將clock input pin的“clock”屬性設(shè)置為true定義input pin為時(shí)鐘。Synopsys techno
31、logy libraryn Good library所有的cell都有各種各樣的驅(qū)動(dòng)強(qiáng)度; Buffer和inverters的驅(qū)動(dòng)強(qiáng)度變化范圍大; Cell的rise和fall的delay較均衡;一個(gè)物理cell含有相同邏輯功能,但相位相反輸出,如:OR,NOR;兩個(gè)物理cells,有相同邏輯功能,但相位相反如:AND,NAND;擁有各種高驅(qū)動(dòng)強(qiáng)度的帶有一個(gè)輸入inverters復(fù)雜cells(AIO,OAI); 擁有各種高驅(qū)動(dòng)強(qiáng)度的高扇入的cells;擁有各種驅(qū)動(dòng)強(qiáng)度的,正沿負(fù)沿觸發(fā)的flip_flop; 擁有各種輸出驅(qū)動(dòng)強(qiáng)度的flip_flop;擁有各種不同的set,reset組合的Flo
32、p;擁有各種驅(qū)動(dòng)強(qiáng)度的,正沿負(fù)沿觸發(fā)的latch; 擁有delay cell;Synopsys technology libraryn Synopsys 支持如下集中模型:n CMOS通用n CMOS線性模型;模型;n CMOS非線性查找表模型;n 前兩種模型已不常用,我們現(xiàn)在采用非線性模型(non-linear delay m)計(jì)算cell的。所謂NLDM,是一個(gè)二維查找表,根據(jù)一個(gè)cell的input transition 和output loading 查找cell的delay和output transition ,一般每一個(gè)cell都有兩個(gè)表,一個(gè)用于cell delay, 另一個(gè)用于
33、output transition 。對(duì)于input transition 和output loading 沒(méi)有在表中列出的cell,可用法計(jì)算得到。n Cell的由input transition和output loading決定,但input transition就是drivingcell的output transition,若driving cell有多個(gè)timing arc,則driven cell的受影響。例如,計(jì)算會(huì)Areset2nsZZU2aB0.3nsAffected gateU1U1有兩個(gè)output transition,對(duì)U2的計(jì)算如何選取input transition
34、?我們可采用set_disable_timing U1 from A to Z,避免DC采用A to Z的timing arc.Partitioning for synthesisn 劃分的目的n 使設(shè)計(jì)易于管理,提高設(shè)計(jì)的重用性n 獲得更好的綜合結(jié)果n 簡(jiǎn)化約束和scripts,使綜合操作更容易;n 提高編譯速度n 劃分應(yīng)綜合考慮以下幾個(gè)方面n 邏輯的功能n 設(shè)計(jì)的目標(biāo)n 編譯的技術(shù)n 下面就以下幾個(gè)方面做簡(jiǎn)單介紹n 劃分的方法n 劃分的原則n RTL編碼指南Partitioning for synthesisn 劃分的方法n 在編寫HDL代碼之前,根據(jù)功能做初步劃分;n DC可在綜合和對(duì)劃
35、分進(jìn)行修改;n 在DC中改變劃分令:group,ungroupGroup:將指定的實(shí)例組合為一個(gè)模塊,生成新的層次劃分;Ungroup:移去以前的模塊劃分。在執(zhí)行g(shù)roup和ungroup命令之前,包含實(shí)例的設(shè)計(jì)模塊需設(shè)置,命令如下:dc_shellcurrent_design topGroup U1 U2 design_name sub1Ungroup -alltopU2U1U0topU0sub1U2U1Partitioning for synthesisn 劃分遵循的原則:相關(guān)的組合邏輯在一個(gè)模塊內(nèi); 設(shè)計(jì)可重用性;根據(jù)功能劃分模塊;結(jié)構(gòu)邏輯 和隨機(jī)邏輯;一個(gè)合理的(最大10K門);在頂層
36、分為I/Opads,DFT,clock,core logic;在頂層不要加粘合邏輯;狀態(tài)機(jī)和別的邏輯;在一個(gè)block中不要有多個(gè)時(shí)鐘;用于時(shí)鐘同步的塊要?jiǎng)澐謺r(shí),應(yīng)考慮Layout;與技術(shù)庫(kù)相關(guān)的實(shí)例化的cell應(yīng)在單獨(dú)模塊內(nèi);Partitioning for synthesisn 編碼指南RTL級(jí)的HDL描述實(shí)際是電路結(jié)構(gòu)的文本描述,它是技術(shù)無(wú)關(guān)的,類似于網(wǎng)表。HDL語(yǔ)言先于綜合工具出現(xiàn),綜合工具只能根據(jù)HDL代碼進(jìn)行邏輯推斷,對(duì)完成同能而書寫方式不同的HDL代碼,綜合工具會(huì)產(chǎn)生不同邏輯電路。所以不能依靠DC去修正不符合規(guī)范的代碼。寫代碼時(shí),需清楚描述的硬件電路拓?fù)浣Y(jié)構(gòu)。n RTL描述內(nèi)容如
37、下:n 寄存器的結(jié)構(gòu);n 電路的拓?fù)洌籲 寄存器之間的功能;n DC僅對(duì)寄存器之間的邏輯進(jìn)行優(yōu)化,對(duì)寄存器的排列進(jìn)行優(yōu)化。Partitioning for synthesisn 編碼指南HDL代碼的編寫應(yīng)注意技術(shù)性,盡量減少在某些庫(kù)中定義門的hard_coded。若必須,將這些門放在一個(gè)單獨(dú)的模塊內(nèi)。Clock 邏輯n Clock邏輯及reset生成應(yīng)放在一個(gè)模塊中,便于綜合n Clock命名在設(shè)計(jì)的各層次應(yīng)保持一致性;n 在一個(gè)模塊內(nèi)不要由多個(gè)時(shí)鐘;時(shí)鐘約束的定義;n 對(duì)于時(shí)的mux,用于測(cè)試時(shí)在top level不要有粘和邏輯;時(shí)鐘,最好人為實(shí)例化,便于set_disable_timing
38、的使用;一個(gè)文件僅包含一個(gè)模塊,模塊名與文件名相同;I/O pad應(yīng)為單獨(dú)的模塊;最小化不必要的層次,過(guò)多的層次會(huì)降低電路的性能,因DC邏輯優(yōu)化不能次;所有模塊的輸出直接來(lái)自寄存器的輸出; 狀態(tài)機(jī)n 對(duì)verilog,State命名使用“parameters” ;模塊的層n 組合邏輯和時(shí)序邏輯;綜合環(huán)境建立n 在綜合之前必須用setup文件配置綜合的環(huán)境,下面,我們就以下幾個(gè)方面對(duì)setup文件進(jìn)行介紹:n setup文件的位置n setup文件的內(nèi)容n setup文件舉例綜合環(huán)境建立n setup文件的位置:由一個(gè)setup文件提供,文件名必須為“.synopsys_dc.setup”,通過(guò)
39、向相關(guān)環(huán)境變量賦值,定義技術(shù)庫(kù)的位置及綜合需要參數(shù)。n setup文件的位置如下:n Synopsys installation directory:它用于卸載Synopsys 技術(shù)數(shù),不包含設(shè)計(jì)相關(guān)的數(shù)據(jù)。n Users home director:用的setup信息。n Project working directory:設(shè)計(jì)的setup信息庫(kù)及別的參DC按以上順序依次setup文件,最后一個(gè)的setup文件將覆蓋前面的setup文件。n 將設(shè)計(jì)相關(guān)的startup文件放于Projectworkingdirectory下。綜合環(huán)境建立n Startup文件必須定義如下變量:n Search
40、_path:指明庫(kù)文件的位置n Target_library:既技術(shù)庫(kù),由生產(chǎn)廠家提供,該庫(kù)中的cells,被DC用于邏輯用于DC。 Target library的文件名應(yīng)包含在Link library的文件表。中,n Link_ library:該庫(kù)中的cells,DC無(wú)法進(jìn)行,例如:RAM,ROM及Pad,在RTL設(shè)計(jì)中,這些cells以實(shí)例化的方式。n Symbol_library:該庫(kù)文件包含技術(shù)庫(kù)中cells的圖形表示,用于DA生成示意圖。Target_library和Link _library為設(shè)計(jì)者提供了將表從一種技術(shù)在到另一種技術(shù)的方法,將舊的Target library文件名
41、包含在Link_library的文件中,而Target_library包含新的Target library文件名,利用translate命令實(shí)現(xiàn)。綜合環(huán)境建立n 設(shè)計(jì)相關(guān)的startup 文件的例子:.synopsys_dc.setup 文件company=“zte corporation”; designer =“name”;technology=“0.25 micron”search_path=search_path+“.” “/usr/golden/library/std_cells”“/usr/golden /library/pads”target_library link_libra
42、rysymbol_library=std_cells_lib.db=“*”,std_cells_lib.db,pad_lib.db=std_cells.sdb,pad_lib.sdb其它的環(huán)境變量的設(shè)置參看DC的操作手冊(cè)。邏輯綜合的過(guò)程n DC通過(guò)Script文件,自動(dòng)完成模塊的綜合過(guò)程,其內(nèi)容如下:RTL design entry Environment constraints Design and clock constraintsCompile design into mapped gates Optimizing designanalyze the synthesis results
43、and debug potential problems. Save design netlistReport constraints(Optional) (Optional)(Optional)Apply critical path constraintsSecond compile to improve critical paths Second path compile constraint reportRTL design Entry功能:向DC輸入HDL描述的設(shè)計(jì),命令:read和analyze&elaborate,推薦用analyze&elaborateanalyze&elabor
44、ate設(shè)計(jì)者在設(shè)計(jì)的GTECH建立之前,首先去分析設(shè)計(jì)的語(yǔ)法錯(cuò)誤和進(jìn)行HDL代碼轉(zhuǎn)換。 GTECH由“soft macros” such as adders, comparators等組成,這些組件來(lái)自synopsys 的synthetic lib,每種組件具有多種結(jié)構(gòu)。 Analyze做語(yǔ)法的檢查并產(chǎn)生一個(gè)“.syn”文件,于work路徑下的定義的設(shè)計(jì)庫(kù)內(nèi),可供后來(lái)elaborate使用。對(duì)于一個(gè)analyzed設(shè)備,只需用elaborate重新輸入,節(jié)省時(shí)間。Read就不行。以下是兩個(gè)命令的比較:Environment constraintsn 功能:定義設(shè)計(jì)的工藝參數(shù),I/O端口屬性,統(tǒng)
45、計(jì)wire-load模型。下圖解釋了描述設(shè)計(jì)環(huán)境約束的DC命令:set_max_capacitance set_max_transition &set_max_fanout on input &output ports or current_design;set_operating_conditions on the whole designclkset_drive on Clockset_load on outputset_driving_cell on input signalsset_load on inputsTop levelClock Divider Logicset_wire_l
46、oad for each block,including top levelBlock ABlock B類別analyze&elaborateread格式verilog 或VHDLverilog 、VHDL、EDIF、db等所有格式用途綜合verilog 或VHDL的RTL設(shè)計(jì)讀網(wǎng)表,設(shè)計(jì)預(yù)編譯設(shè)計(jì)庫(kù)用-library選項(xiàng)定義設(shè)計(jì)庫(kù)名,“.syn”文件用缺省的設(shè)置,不能中間結(jié)果Generics(vhdl)可用不可用Architecture(vhdl)可用不可用Environment constraintsn Set_operating_conditions 用于描述操作條件: process,
47、voltage,temperature, cell和wire 的delay和操作條件呈線性關(guān)系。如: Set_operating_conditions WORST(或TYPICAL、BEST)命令set_operating_conditions 和BEST條件,同時(shí)優(yōu)化。minBESTmaxWORST用于指示DC對(duì)設(shè)計(jì)的WORSTEnvironment constraintsn Set_wire_load -mode 向DC提供wire_load信息,通常技術(shù)包含許多負(fù)載模型,每一種wire-load模型都代表一定模塊的,模擬模塊內(nèi)部nets的delay,用戶也可以創(chuàng)建的wire_load模型
48、去模擬各設(shè)計(jì)模塊的net loading。這有三種wire-load mode: top,enclosed,segmented,用于模擬各設(shè)計(jì)層次的net wire_load的關(guān)系。n Top:所有層次子模塊的wire_load和top-level相同,如果用戶計(jì)劃flatten設(shè)計(jì)去layout 可選擇此模式編譯子模塊;n Enclosed:子模塊net的wire_load和enclosed 它的最小模塊相同,推薦用于在layout后logical and physical hierarchy相似的設(shè)計(jì);n Segmented:子模塊之間net的wire_load和enclosed該net的
49、模塊相同,需技術(shù)庫(kù)提供Segmented wire_load,一般不常用;wire_load模型的選擇很重要,太悲觀或太樂(lè)觀的模型都將產(chǎn)生綜合的迭帶,在pre-layout的綜合中用悲觀的模型。命令格式如下:dc_shellset_wire_load MEDIUM mode topEnvironment constraintsEnvironment constraintsn Set_load 定義nets或ports的電容負(fù)載,為了保證輸出路徑的時(shí)序,例如:Environment constraintsn Set_drive :主要用于模塊的input port,0表是最大的驅(qū)動(dòng)強(qiáng)度通常用于c
50、lock port,例如:set_drive 0 CLK RST。 set_driving_cell-cell -pin :模擬input port驅(qū)動(dòng)cell的驅(qū)動(dòng)阻抗,為了保證輸出路徑的時(shí)序,確定輸入信號(hào)的transitiontime例如:Environment constraintsn Set_min_library -min_version用戶同時(shí)設(shè)置worst-case和best-case libraries,從而在初步編譯時(shí),DC修正hold-time時(shí),驗(yàn)證setup-time。也可用于在編譯時(shí)修正hold-time。n DRC的設(shè)計(jì)規(guī)則約束:set_max_transition set_max_capacitance set_max_fanout 這些約束用于的input ports,output ports或current_design,一般在技術(shù)庫(kù)內(nèi)部設(shè)置.當(dāng)技術(shù)庫(kù)的內(nèi)部設(shè)置不能滿足時(shí),可用以上命令設(shè)置。例如;set_max_transition 0.3 current_designset_max_capacitance 1.5 find(port,”out1”)set_max_fanout 3.0 all_outputs()design and clock const
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CAQI 182-2021基于物聯(lián)網(wǎng)的農(nóng)村生活污水處理管理技術(shù)要求
- 環(huán)境英文面試題及答案
- 架構(gòu)師面試題及答案
- 規(guī)范能力考試題及答案
- 菏澤輔警面試題庫(kù)及答案
- 創(chuàng)業(yè)教育考試題及答案
- T/CAEPI 25-2020固定污染源煙氣排放過(guò)程(工況)監(jiān)控系統(tǒng)安裝及驗(yàn)收技術(shù)指南
- 個(gè)人投資合作合同范本
- 快遞校園承包合同范本
- 形象管理師合伙人協(xié)議書
- 2025年耐熱玻璃器皿行業(yè)深度研究報(bào)告
- 護(hù)理影像學(xué)試題及答案總結(jié)
- DB65-T 4623-2022 分散式風(fēng)電接入電力系統(tǒng)管理規(guī)范
- 水電使用合同協(xié)議書
- 退休終止勞動(dòng)合同協(xié)議書
- 中國(guó)獸藥典三部 2020年版
- 實(shí)驗(yàn)室質(zhì)量管理體系與試題
- 上海市社區(qū)工作者管理辦法
- 國(guó)開(甘肅)2024年春《地域文化(專)》形考任務(wù)1-4終考答案
- DB51∕T 2858-2021 農(nóng)業(yè)科技成果效益計(jì)算方法及規(guī)程
- 高三理科數(shù)學(xué)第一輪復(fù)習(xí)計(jì)劃
評(píng)論
0/150
提交評(píng)論