![內(nèi)容綜合synopsys dc中文_第1頁(yè)](http://file4.renrendoc.com/view/fe7b8e6f681bbed64a35cc646a7d7090/fe7b8e6f681bbed64a35cc646a7d70901.gif)
![內(nèi)容綜合synopsys dc中文_第2頁(yè)](http://file4.renrendoc.com/view/fe7b8e6f681bbed64a35cc646a7d7090/fe7b8e6f681bbed64a35cc646a7d70902.gif)
![內(nèi)容綜合synopsys dc中文_第3頁(yè)](http://file4.renrendoc.com/view/fe7b8e6f681bbed64a35cc646a7d7090/fe7b8e6f681bbed64a35cc646a7d70903.gif)
![內(nèi)容綜合synopsys dc中文_第4頁(yè)](http://file4.renrendoc.com/view/fe7b8e6f681bbed64a35cc646a7d7090/fe7b8e6f681bbed64a35cc646a7d70904.gif)
![內(nèi)容綜合synopsys dc中文_第5頁(yè)](http://file4.renrendoc.com/view/fe7b8e6f681bbed64a35cc646a7d7090/fe7b8e6f681bbed64a35cc646a7d70905.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ADVANCED ASIC CHIP SYNTHESIS綜合的定義ASIC design flowSynopsys Design Compiler的介紹Synopsys technology libraryLogic synthesis的過(guò)程Synthesis 和 layout的接口LTLt_layout optimizationSDF文件的生成提綱綜合的定義邏輯綜合:決定設(shè)計(jì)電路邏輯門(mén)的相互連接。邏輯綜合的目的:決定電路門(mén)級(jí)結(jié)構(gòu)、尋求時(shí)序和與面積的平衡、尋求功耗與時(shí)序的平衡、增強(qiáng)電路的測(cè)試性。邏輯綜合的過(guò)程:首先,綜合工具分析HDL代碼,用一種模型(GTECH) ,對(duì)HDL進(jìn)行,這個(gè)模型是與
2、技術(shù)庫(kù)無(wú)關(guān)的;然后,在設(shè)計(jì)者的控制下,對(duì)這個(gè)模型進(jìn)行邏輯優(yōu)化;最后一步,進(jìn)行邏輯單元庫(kù)(和門(mén)級(jí)優(yōu)化,將邏輯根據(jù)約束,為專(zhuān)門(mén)的技術(shù)目標(biāo)cell library)中的cell,形成了綜合后的網(wǎng)表。ASIC design flowIP and LibraryDesign ConstraVerified RTLMssnonoTime ok?noTime ok?ToutTime ok?Formal verificationt-layout Optimization(in-place optimization(IPO)Sic Timing ysisTransfer clock tree to DCDeta
3、il routingFloorplan placement, CT Insertion&Global routingt global routeSic Timing ysisLogic Synthesis optimization&scan insertionSic Timingysis設(shè)計(jì)舉例,tap控制器,已完成代碼編寫(xiě)及功能仿真:Tap_controller.vTap_bypass.vTap_instruction.vTap_se.v完成全部設(shè)計(jì)還需經(jīng)過(guò)如下幾個(gè)步驟:Pre_layoutSynthesisSTA using PrimeTimeSDF generationVerificat
4、ionFloorolanning and Routingt_layout反標(biāo)來(lái)自layout tool的信息, STAusing PrimeTimet-layout OptimizationFix Hold-Time ViolationASIC design flowInitial Setup :建立設(shè)計(jì)環(huán)境,技術(shù)庫(kù)文件及其它設(shè)計(jì)環(huán)境設(shè)置。DC .synopsys_=“zte corporation”;=“name”;etup 文件companydesignertechnology=“0.25 micron”search_path=search_path+“.” “/usr/golden/li
5、brary/std_cells”“/usr/golden /library/pads”_library =std_cells_lib.dblink_library=“*”,std_cells_lib.db,pad_lib.dbsymbol_library =std_cells.sdb,pad_lib.sdbASIC design flowSynthesis:利用約束完成設(shè)計(jì)的門(mén)及實(shí)現(xiàn)及掃描Constrain scripts/* Create real clock if clock port is found */ if (find(port, clk) = clk) clk_name = cl
6、kcreate_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 vclkASIC design flowConstrain scripts(續(xù))/* Apply defaurive strengths and typical loads for I/O ports */set_load 1.5 all_outputs() set
7、_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 constras for modules */set_input_delay 1.2 all_inputs() -clock clk_nameset_output_delay 1.5 all_outputs() -clock clk_nameset_clock_skew -minus_uncerta/
8、* Set operating conditions */ set_operating_conditionsy 0.45 clk_name/* TurAuto Wireload selection Library must support this feature */auto_wire_load_selection = trueASIC design flowCompile and scan insert的scripts,采用bottom_up的編譯方法set_fix_multiple_port_net buffer_constants all compile scancheck_testc
9、reate_test_pattern s preview_scan insert_scan check_test如果模塊內(nèi)的子模塊具有dont_touch 屬性需添加如下命令,因要le 10掃描remove_attribute find(-hierarchyWrite netlistdesign,”*”)dont_touchremove_unconnected_ports find(-hierarchy cell,”*”) change_names hierarchy rules Bset_dont_touch current_designwrite herarchy output activ
10、e_design+”.db”write format verilog hierarchy output active_design+”.sv”ASIC design flowPre_layout 的 STA :用DC的靜態(tài)時(shí)序分析引擎做block的STA,用PrimeTime做full_chip的STA。Setup_time分析Hold_time分析其時(shí)序約束和提供給DC做邏輯綜合的約束相同。靜態(tài)時(shí)序分析同綜合一樣,是一個(gè)迭代的過(guò)程,和cell的位置及布線(xiàn)關(guān)系密切,通常都執(zhí)行多次,直到滿(mǎn)足需要。ASIC design flowSDF generation,pre_layout的SDF文件,用于
11、pre_layout timing仿真,同時(shí)還需提供時(shí)序約束文件(SDF格式)給layout tool做布局布線(xiàn)。script文件如下:active_design=tap_controller read active_design current_design active_design linkCreate_clock period 33 waveform 0 16.5 tckSet_dont_touch_network tck trstset_clock_skew delay 2.0 minus_uncertay 3.0 tckset_driving_cell cell BUFF1X pi
12、n 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_outputs() write_timing format sdf-v2.1 -output active_design+”.sdf”write_constras format sdf cover_design-outponstras.sdfASIC design flowVerification利用SDF文件進(jìn)行動(dòng)態(tài)時(shí)序仿真:利用功能仿真時(shí)。用ve
13、rilog 編寫(xiě)的test_bench 文件形式驗(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 global Routing;Estimated 寄生電容和RC delay的抽??;利用抽取的參數(shù)靜態(tài)時(shí)序分析,若時(shí)序不滿(mǎn)足要求,生成custom wire_load 做t_layout的優(yōu)化,采用reoptimize_design incremental synthesis即in_place命令,其script文件需反標(biāo)抽取的參數(shù)到設(shè)計(jì);Detail routing
14、;real寄生電容和RC delay的抽??;利用抽取的參數(shù)靜態(tài)時(shí)序分析,修正hold_time如需要做t_layout的優(yōu)化;生成t_layout的SDF文件,做gate_level;ASIC design flowECOEngineering change order,不屬于正常的ASIC流程,一般只有在ASIC設(shè)計(jì)的后期,需要改變網(wǎng)表,可利用ECO,例如,在t-out(sign-off)以后,遇見(jiàn)設(shè)計(jì)的硬件bug。采用ECO可僅對(duì)設(shè)計(jì)的一小部分重新布線(xiàn)不影響chip其他部分的位置及時(shí)序,通常,修改不能大于10%。版本的DC提供由ECO compiler, 可使設(shè)計(jì)者手工修改網(wǎng)表,節(jié)省時(shí)間。
15、一些layout工具也具有ECO功能。ASIC design flowSynopsys Design Compiler,是一個(gè)基于UNIX系統(tǒng),通過(guò)命令行進(jìn)行交互的綜合工具,除了綜合之外,它還含有一個(gè)靜態(tài)時(shí)序分析引擎及FPGA和LTL(links-to-layout)的解決方案。就以下幾個(gè)方面對(duì)DC做以介紹:script文件:由DC令,可使DC自動(dòng)完成綜合的整個(gè)過(guò)程。DC支持的對(duì)象、變量、屬性DC支持的文件格式及類(lèi)型DC在HDL代碼中的編譯開(kāi)關(guān),控制綜合過(guò)程Translate_off/translate_on:指示DC終止或開(kāi)始verilog 源代碼轉(zhuǎn)換的位置。full_case:case語(yǔ)句
16、在不完全條件下生成latch。DC介紹Script 文件Script 文件的DC綜合環(huán)境設(shè)置(.synopsys_屬性和約束信息;etup);綜合命令(控制流命令;Conditional:pile);Loo:if (expr) dc_foreach(variable,dc_list)dsds else dc_dswhile( expr)dc_dsScript 文件的檢查:DC提供syntax and context checkers來(lái)檢查Script文件的錯(cuò)誤Script 文件對(duì)象,DC將設(shè)計(jì)對(duì)象分為8類(lèi),分別如下:Design:具有某種或多種邏輯功能的電路描述;Cell:設(shè)計(jì)的instanc
17、e;Reference:cell或instance在庫(kù)中定義的名字;Port:design的輸入、輸出;Pin:design中cell的輸入、輸出;Net:ports和pins之間或pins之間的信號(hào)名;Clock:被定義為時(shí)的pin或port;Library:cell的集合,如:_library,link_library;DC支持的對(duì)象、變量、屬性DC支持的對(duì)象、變量、屬性例如:對(duì)象的查找命令格式find -hierarchy type:DC支持的所有對(duì)象;name list:設(shè)計(jì)對(duì)象或庫(kù)對(duì)象的;-hierarchy:用于在設(shè)計(jì)的各層次尋找的對(duì)象;該命令的返回值為L(zhǎng)ist,list:一種字符
18、串類(lèi)型,例如:mylist=el1 el2 el3例如:DC支持的對(duì)象、變量、屬性變量,一種標(biāo)識(shí)符,DC用于信息,可做為命令的操作參數(shù)。DC預(yù)定義的變量,可用它獲得綜合過(guò)程中的有關(guān)信息,如dc_sDC預(yù)定義的變量總有一個(gè)缺省值,用戶(hù)可定義另外的值,如;_sus;dc_svhdlout_use_package=library IEEE.std_logic_1164;library STD_LIB;用戶(hù)定義的變量,用于自動(dòng)化綜合的過(guò)程。如,可定義一個(gè)變量,時(shí)鐘域的flop的個(gè)數(shù)。某個(gè)定義變量:dc_sdesigner=“myname”;獲得UNIX的環(huán)境變量: dc_sdesigner=get_u
19、nix_variable(“USER”)顯示變量的值: dc_sList_library_library=“cbacore.db”List variable all列出所有的變量: dc_s移去變量: dc_s新定義。 remove_ variable designer,變量沒(méi)有移去之前,不得重注:變量值不會(huì)被保存在設(shè)計(jì)數(shù)據(jù)庫(kù)中。DC支持的對(duì)象、變量、屬性屬性,DC用于具體的設(shè)計(jì)對(duì)象,如:nets,cells,clocks的信息,一般來(lái)說(shuō),屬性都是DC預(yù)定義,命令如下:set_attribute get_attribute dc_sget_attribute STD_LIBdefault_ma
20、x_transitionDC支持的對(duì)象、變量、屬性DC支持的文件格式*.db文件,DC的Verilog文件VHDLEDIF:electronic designDC的文件類(lèi)型格式erchange format,用于不同工具間門(mén)級(jí)網(wǎng)表的移植Script files .scrRTL verilog file .vRTL VHDL file .vhdSynthesized VHDL netlist .svhdEDIF file .edfSynthesized verilog netlist .svSynopsys database file .dbreport . rptLog files .logD
21、C的文件格式及類(lèi)型Synopsys technology librarytechnology library由半導(dǎo)體制造商提供,定義cell的相關(guān)信息及設(shè)計(jì)標(biāo)準(zhǔn)約束,分為兩類(lèi):libraries:在門(mén)級(jí)優(yōu)化及時(shí),提供生成網(wǎng)表的cell;的cell,DC不利用link librarieslink libraries:提供設(shè)計(jì)網(wǎng)表中可的cell做綜合;Synopsys technology library結(jié)構(gòu)組織可看作實(shí)際上的技術(shù)庫(kù)標(biāo)準(zhǔn),它是一個(gè)文本文件(擴(kuò)展名“.lib”),在使用之前,需被LC編譯,產(chǎn)生一個(gè)“.db”文件,其如下:Library Group;Library level attr
22、ibutes;Environment description;Cell description;Synopsys technology libraryLibrary Group:定義庫(kù)名library(ex25)/* Library Group/*start of library*/*end of library*/一般,一個(gè)庫(kù)文件含有一個(gè)Library Group ,庫(kù)文件和Library 名相同。Synopsys technology libraryLibrary level attributes:定義技術(shù)庫(kù)的全局屬性,如:技術(shù)庫(kù)的類(lèi)型(CMOS/TTL)、日期、版本及缺省值,例如:lib
23、rary (ex25)technology(cmos);delay_m date revicurrent_unit time_unit voltage_unit pulling_:table_lookup;:”feb 29,2000”;:”1.0”;:”1A”;:”1ns”;:”1V”;:”1kohm”;_unitcapacitive_load_unit(1.0 default_inout_pin_cap default_input_pin_cap default_output_pin_cap default_max_fanout default_max_transitionpf);:1.5;
24、:1.0;:0.0;:10.0;:10.0;:NOMINAL;:match_footprdefault_operating_conditionin_place_swap_mode;Synopsys technology libraryEnvironment description:主要包括:縮放因子(scaling factors)時(shí)序模型(timing rang ms)操作條件(operation condition)線(xiàn)性負(fù)載模型(wire-load ms)縮放因子(scaling factors 或K-factors):實(shí)際上是一個(gè)乘數(shù)因子,表示隨著 PVT的變化,對(duì)設(shè)計(jì)延時(shí)的修正。例如:
25、K_proK_pros_fall_transitions_rise_transition:1.0;:1.2;:0.03;:0.04;:0.02;:0.5;s):根據(jù)操作條件的變化,修正信號(hào)到達(dá)時(shí)間,如:K_temp_fall_transition K_temp_rise_transition K_volt_fall_transition K_volt_rise_transition時(shí)序模型(timing rangTiming_range(BEST)mfaster_factor :0.5;slower_factor :1.3;Synopsys technology librarySynopsys
26、 technology library操作條件( operation condition):定義了PVT和RC樹(shù)模型。DC根據(jù)操作條件縮放cell和net的delay;Synopsys technology librarytree_type:定義時(shí)序計(jì)算時(shí)連結(jié)的電阻、電容值的分配,有worst_case_tree,balance_tree, best_case_tree,三種類(lèi)型可貢選擇。利用Dc來(lái)表示driverpin和driven cell的input pin的內(nèi)連延時(shí),則它們的wire_load分別對(duì)因如下:Synopsys technology library線(xiàn)性負(fù)載模型(wire-l
27、oad ms):估計(jì)pre_layout電路中net的電容,電阻及面積。Synopsys 提供了幾種不同的wire-load ms以對(duì)相應(yīng)的設(shè)計(jì)邏輯大小,它給出了net fanout 和net length 的統(tǒng)計(jì)關(guān)系。例如:Cell description:描述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; c
28、apacitive:0.04; fanout_load:2.0; max_transition:1.5;Synopsys technology libraryCell各pin相關(guān)的DRC屬性Input pin的fanout_loadOutput pin的max_fanoutInput or output pin 的max_transitionInput or output pin的max_capacitanceDRC屬性定義了庫(kù)中cell的操作條件,和制造廠(chǎng)家的工藝技術(shù)相關(guān),設(shè)計(jì)件的規(guī)定。Cell 的DRC屬性可以用如下命令改動(dòng)出這些條dc_s set_attribute find(pin,e
29、x25/BUFFD0/Z) max_fanout 2.0時(shí)序cell通過(guò)將clock input pin的“clock”屬性設(shè)置為true定義input pin為時(shí)鐘。Synopsys technology libraryGood 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,
30、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組合的Flop;擁有各種驅(qū)動(dòng)強(qiáng)度的,正沿負(fù)沿觸發(fā)的latch;擁有delay cell;Synopsys technology librarySynopsys 支持如下集中延時(shí)模型:CMOS通用延時(shí)模型;CMOS線(xiàn)性延時(shí)模型;CMOS非線(xiàn)性查找表模型;前兩種模型已不常用,現(xiàn)在采用非線(xiàn)性延時(shí)模型(-linear delay m)計(jì)算cell的延時(shí)。所謂NLDM,是一個(gè)二維查找表,根據(jù)一個(gè)cell的input transiti
31、on 和output loading 查找cell的delay和output transition ,一般每一個(gè)cell都有兩個(gè)表,一個(gè)用于cell delay,另一個(gè)用于output transition 。對(duì)于input transition 和output loading 沒(méi)有在表中列出的cell,可用法計(jì)算得到。Cell的延時(shí)由input transition和output loading決定,但input transition就是driving cell的output transition,若driving cell有多個(gè)timing arc,則driven cell的延時(shí)計(jì)算會(huì)受影
32、響。例如,Areset2nsZZU2aB0.3nsAffected gateU1U1有兩個(gè)output transition,對(duì)U2的延時(shí)計(jì)算如何選取input transition?set_disable_timing U1 from A to Z,避免DC采用A to Z的timing arc.可采用Synopsys technology library劃分的目的使設(shè)計(jì)易于管理,提高設(shè)計(jì)的重用性獲得更好的綜合結(jié)果簡(jiǎn)化約束和scripts,使綜合操作更容易;提高編譯速度劃分應(yīng)綜合考慮以下幾個(gè)方面邏輯的功能設(shè)計(jì)的目標(biāo)編譯的技術(shù)下面就以下幾個(gè)方面做簡(jiǎn)單介紹劃分的方法劃分的原則RTL編碼指南Par
33、titioning for synthesisPartitioning for synthesis劃分的方法在編寫(xiě)HDL代碼之前,根據(jù)功能做初步劃分;DC可在綜合和對(duì)劃分進(jìn)行修改;在DC中改變劃分令:group,ungroupGroup:將指定的實(shí)例組合為一個(gè)模塊,生成新的層次劃分; Ungroup:移去以前的模塊劃分。在執(zhí)行g(shù)roup和ungroup命令之前,包含實(shí)例的設(shè)計(jì)模塊需設(shè)置,命令如下:dc_scurrent_design topGroup U1 U2 design_name sub1Ungroup -alltopU2U1U0topU0sub1U2U1劃分遵循的原則:相關(guān)的組合邏輯在
34、一個(gè)模塊內(nèi);設(shè)計(jì)可重用性;根據(jù)功能劃分模塊;結(jié)構(gòu)邏輯 和隨機(jī)邏輯分開(kāi);一個(gè)合理的尺寸(最大10K門(mén));在頂層分為I/Opads,DFT,clock,core在頂層不要加粘合邏輯;狀態(tài)機(jī)和別的邏輯分開(kāi);在一個(gè)block中不要有多個(gè)時(shí)鐘;logic;用于時(shí)鐘同步的塊要;劃分時(shí),應(yīng)考慮Layout;與技術(shù)庫(kù)相關(guān)的實(shí)例化的cell應(yīng)在單獨(dú)模塊內(nèi);Partitioning for synthesis編碼指南RTL級(jí)的HDL描述實(shí)際是電路結(jié)構(gòu)的文本描述,它是技術(shù)無(wú)關(guān)的,類(lèi)似于網(wǎng)表。HDL語(yǔ)言先于綜合工具出現(xiàn),綜合工具只能根據(jù)HDL代碼進(jìn)行邏輯推斷,對(duì)完成同能而書(shū)寫(xiě)方式不同的HDL代碼,綜合工具會(huì)產(chǎn)生不同邏
35、輯電路。所以不能依靠DC去修正不符合規(guī)范的代碼。寫(xiě)代碼時(shí),需清楚描述的硬件電路拓?fù)浣Y(jié)構(gòu)。RTL描述內(nèi)容如下:寄存器的結(jié)構(gòu);電路的拓?fù)?;寄存器之間的功能;DC僅對(duì)寄存器之間的邏輯進(jìn)行優(yōu)化,不會(huì)對(duì)寄存器的排列進(jìn)行優(yōu)化。Partitioning for synthesis編碼指南HDL代碼的編寫(xiě)應(yīng)注意技術(shù)獨(dú)立性,盡量減少在某些庫(kù)中定義門(mén)的hard_coded。若必須,將這些門(mén)放在一個(gè)單獨(dú)的模塊內(nèi)。Clock 邏輯Clock邏輯及reset生成應(yīng)放在一個(gè)模塊中,便于綜合時(shí)對(duì)時(shí)鐘約束的定義;Clock命名在設(shè)計(jì)的各層次應(yīng)保持一致性;在一個(gè)模塊內(nèi)不要由多個(gè)時(shí)鐘;對(duì)于時(shí)的mux,用于測(cè)試時(shí)控制時(shí)鐘,最好人為
36、實(shí)例化,便于set_disable_timing的使用;在top level不要有粘和邏輯;一個(gè)文件僅包含一個(gè)模塊,模塊名與文件名相同;I/O pad應(yīng)為單獨(dú)的模塊;最小化不必要的層次,過(guò)多的層次會(huì)降低電路的性能,因DC邏輯優(yōu)化不能次;所有模塊的輸出直接來(lái)自寄存器的輸出;狀態(tài)機(jī)對(duì)verilog,Se命名使用“parameters” ;組合邏輯和時(shí)序邏輯分開(kāi);模塊的層Partitioning for synthesis在綜合之前必須用setup文件配置綜合的環(huán)境,下面,setup文件進(jìn)行介紹:setup文件的位置setup文件的內(nèi)容setup文件舉例就以下幾個(gè)方面對(duì)綜合環(huán)境建立setup文件的位
37、置:由一個(gè)setup文件提供,文件名必須為“.synopsys_變量賦值,定義技術(shù)庫(kù)的位置及綜合需要參數(shù)。setup文件的位置如下:etup”,通過(guò)向相關(guān)環(huán)境Synopsys installation directory:它用于卸載Synopsys 技術(shù)獨(dú)立庫(kù)及別的參數(shù),不包含設(shè)計(jì)相關(guān)的數(shù)據(jù)。Users home director:用的setup信息。Project working directory:設(shè)計(jì)的setup信息DC按以上順序依次setup文件,最后一個(gè)的setup文件將覆蓋前面的setup文件。將設(shè)計(jì)相關(guān)的startup文件放于Project working directory下。
38、綜合環(huán)境建立Startup文件必須定義如下變量:Search_path:指明庫(kù)文件的位置_library:既技術(shù)庫(kù),由生產(chǎn)廠(chǎng)家提供,該庫(kù)中的cells,被 DC用于邏輯。library的文件名應(yīng)包含在Link門(mén)級(jí)網(wǎng)表。library的文件中,用于DCLink_ library:該庫(kù)中的cells,DC無(wú)法進(jìn)行,例如:RAM,ROM及Pad,在RTL設(shè)計(jì)中,這些cells以實(shí)例化的方式。Symbol_library:該庫(kù)文件包含技術(shù)庫(kù)中cells的圖形表示,用于DA生成門(mén)級(jí)示意圖。_library和Link _library為設(shè)計(jì)者提供了將門(mén)級(jí)網(wǎng)表從一種技術(shù)在到另一種技術(shù)的方法,將舊的libra
39、ry文件名包含在Link_library的文件 library文件名,利用translate命令中,而實(shí)現(xiàn)。_library包含新的綜合環(huán)境建立設(shè)計(jì)相關(guān)的startup 文件的例子:.synopsys_etup 文件=“zte corporation”;=“name”;companydesignertechnology=“0.25 micron”search_path=search_path+“.” “/usr/golden/library/std_cells”“/usr/golden /library/pads”_librarylink_librarysymbol_library=std_c
40、ells_lib.db=“*”,std_cells_lib.db,pad_lib.db=std_cells.sdb,pad_lib.sdb其它的環(huán)境變量的設(shè)置參看DC的操作手冊(cè)。綜合環(huán)境建立DC通過(guò)Script文件,自動(dòng)完成模塊的綜合過(guò)程,其內(nèi)容如下:RTL design entryEnvironment constrasDesign and clock constrasCompile designOptimizing designo mapped gatesyze the synthesis results and debug potential problems.Save design n
41、etlist Report constras(Optional)(Optional) (Optional)Apply critical path constrasSecond compile to improve critical pathsSecond path compile constrareport邏輯綜合的過(guò)程RTL design Entry功能:向DC輸入HDL描述的設(shè)計(jì),命令:read和yze&elaborate,用yze&elaborateyze&elaborate允許設(shè)計(jì)者在設(shè)計(jì)的GTECH建立之前,首先去分析設(shè)計(jì)的語(yǔ)法錯(cuò)誤和進(jìn)行HDL代碼轉(zhuǎn)換。 GTECH由“soft ma
42、cros” such as adders, comparators等組成,這些組件來(lái)自synopsys 的synthetic lib,每種組件具有多種結(jié)構(gòu)。yze做語(yǔ)法的檢查并產(chǎn)生一個(gè)“.syn”文件,于work路徑下的定義的設(shè)計(jì),可供后來(lái)elaborate使用。對(duì)于一個(gè)yzed設(shè)備,只需用elaborate重新輸入,節(jié)省時(shí)間。Read就。以下是兩個(gè)命令的比較:類(lèi)別yze&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ù)名, “.sy
43、n”文件用缺省的設(shè)置,不能中間結(jié)果Generics(vhdl)可用不可用Architecture(vhdl)可用不可用Environment constras功能:定義設(shè)計(jì)的工藝參數(shù),I/O端口屬性,統(tǒng)計(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_conditionson the whole designclkset_drive on Clockset_loa
44、d on outputset_driving_cell on input signalsset_load on inputsTop levelClock Divider Logicset_wire_loadfor each block, including top levelBlock ABlock BSet_operating_conditions 用于描述操作條件:pros,voltage,temperature, cell和wire 的delay和操作條件呈線(xiàn)性關(guān)系。如:Set_operating_conditionsWORST(或TYPICAL、BEST)命令set_operating
45、_conditions min BEST max WORST 用于指示DC對(duì)設(shè)計(jì)的WORST和BEST條件,同時(shí)優(yōu)化。Environment constrasSet_wire_load -mode 向DC提供wire_load信息,通常技術(shù) 型都代表一定模塊的尺寸,模擬模塊 wire_load模型去模擬各設(shè)計(jì)模塊的net包含許多負(fù)載模型,每一種wire-load模 nets的delay,用戶(hù)也可以創(chuàng)建自己的 loading。這有三種wire-load mode:top,enclosed,segmented,用于模擬各設(shè)計(jì)層次的net wire_load的關(guān)系。Top:所有層次子模塊的wire_
46、load和top-level相同,如果用戶(hù)計(jì)劃flatten設(shè)計(jì)去layout可選擇此模式編譯子模塊;Enclosed:子模塊net的wire_load和enclosed 它的最小模塊相同, logical and physical hierarchy相似的設(shè)計(jì);用于在layout后Segmented:子模塊之間net的wire_load和enclosed該net的模塊相同,需技術(shù)Segmented wire_load,一般不常用;供wire_load模型的選擇很重要,太悲觀(guān)或太樂(lè)觀(guān)的模型都將產(chǎn)生綜合的迭帶,在 pre-layout的綜合中應(yīng)選用悲觀(guān)的模型。命令格式如下:dc_sset_wir
47、e_load MEDIUM mode topEnvironment constrasEnvironment constrasEnvironment constrasSet_load 定義nets或ports的電容負(fù)載,為了保證輸出路徑的時(shí)序,例如:Set_drive :主要用于模塊的input port,0表是最大的驅(qū)動(dòng)強(qiáng)度通常用于clock port,例如:set_drive 0 CLK RST。 set_driving_cell-cell -pin :模擬input port驅(qū)動(dòng)cell的驅(qū)動(dòng)阻抗,為了保證輸出路徑的時(shí)序,確定輸入信號(hào)的transition time例如:Environme
48、nt constrasSet_min_library -min_ver允許用戶(hù)同時(shí)設(shè)置worst-case和best-case libraries,從而在初步編譯時(shí),DC修正hold-time時(shí),驗(yàn)證setup-time。也可用于在編譯時(shí)修正hold-time。DRC的設(shè)計(jì)規(guī)則約束:set_max_transition set_max_capacitance set_max_fanout 這些約束用于的input ports,output ports或current_design,一般在技術(shù)庫(kù)設(shè)置.當(dāng)技術(shù)庫(kù)的設(shè)置不能滿(mǎn)足時(shí),可用以上命令設(shè)置。例如;set_max_transition 0.3
49、current_designset_max_capacitance 1.5 find(port,”out1”)set_max_fanout 3.0 all_outputs()Environment constrasdesign and clock constras功能:描述設(shè)計(jì)的目標(biāo),包括時(shí)序和面積約束,要注意約束必須是可實(shí)現(xiàn)的,否則會(huì)導(dǎo)致面積超額,功耗增加或時(shí)序不能滿(mǎn)足要求。設(shè)計(jì)約束的DC命令如下:clkCreate_clock& set_clock_skewset_input_delayon input signalsset_output_delay on outputTop levelC
50、lock Divider Logicset_max_area for each block,Block ABlock Bdesign and clock constras主要包括兩點(diǎn)約束綜合模塊的最大面積( set_max_area )約束綜合模塊timing path(Create_clock, Set_input_delay, Set_output_delay)時(shí)鐘描述時(shí)鐘的描述在設(shè)計(jì)中很關(guān)鍵,傳統(tǒng)上,在clock source 加很大的buffer去驅(qū)動(dòng)整個(gè)時(shí)鐘網(wǎng)絡(luò),布線(xiàn)時(shí),使時(shí)鐘網(wǎng)絡(luò)成魚(yú)骨狀,用于減少時(shí)鐘網(wǎng)絡(luò)延時(shí)和clock_skew。對(duì)于VDSM,傳統(tǒng)的方 法已不適用,而是由layo
51、ut工具根據(jù)cell的位置綜合時(shí)鐘樹(shù),以滿(mǎn)足對(duì)時(shí)鐘的需求。下面,介紹一下描述時(shí)鐘的DC命令。時(shí)鐘DC命令介紹Create_clock:用于定義時(shí)鐘的周期和波形(duty及起始沿);例如:create_clock period 40 waveform0 20 CLK周期40ns 上升沿0 ns,下降沿20 ns;對(duì)于僅包含組合邏輯的模塊,為了定義該模塊的延時(shí)約束,需創(chuàng)造一個(gè)虛擬時(shí)鐘定義相對(duì)于虛擬時(shí)鐘的輸入輸出延時(shí)。例如:create_clock -name vTEMP_CLK -period 20Set_clock_transition:在pre_layout必須設(shè)置一個(gè)固定的transitio
52、n值(由技術(shù)供),因?yàn)闀r(shí)鐘網(wǎng)有很大的fanout.這樣可使DC根據(jù)該時(shí)鐘計(jì)算實(shí)際的延時(shí)值。design and clock constrasdesign and clock constrasSet_clock_skew:設(shè)置時(shí)鐘的skew及delay,pre_layout 和不一樣。-propagated選項(xiàng)讓DC計(jì)算時(shí)鐘的skew。t_layout命令選項(xiàng)design and clock constras例如:Set_clock_skew uncertay 0.5 CLKPre-layout時(shí)鐘DC 命令介紹:估計(jì)時(shí)鐘樹(shù)的延時(shí)和抖動(dòng),DC命令如下: create_clock period 4
53、0 waveform 0 20 CLKSet_clock_skew delay 2.5 uncerta Set_clock_transition 0.2 CLK set_dont_touch_network CLKset_drive 0 CLKy 0.5 CLK考慮到layout后時(shí)鐘網(wǎng)絡(luò)的變化可若下設(shè)置時(shí)鐘skew:set_clock_skew delay 2.5 minus_uncertay 2.0 plus_uncertay 0.2 CLKminus_uncertay用于setup-time的計(jì)算, plus_uncertay 用于hole-time的計(jì)算.一個(gè)cell的delay使根據(jù)
54、input signal的斜率和output pin的電容負(fù)載決定,對(duì)于時(shí)鐘信號(hào),因?yàn)閏lock network的fanout 很大,從而造成clock network 末端門(mén)的時(shí)鐘信號(hào)的clock transition time很慢,使DC計(jì)算的門(mén)延時(shí)失真。design and clock constrast-layout時(shí)鐘DC命令介紹:這個(gè)階段,用戶(hù)不需定義時(shí)鐘的延時(shí)和抖動(dòng),他們由時(shí)鐘樹(shù)決定。 clock transition time也不需定義。如果layout 工具提供與DC的直接接口,則直接將包含有時(shí)鐘樹(shù)的網(wǎng)表回饋給DC,不需在script文件中對(duì)時(shí)鐘的延時(shí)和抖動(dòng)進(jìn)行描述,如果la
55、yout 工具不能實(shí) 現(xiàn)此功能,則需用戶(hù)從layout 工具提取時(shí)鐘的延時(shí)和抖動(dòng)信息,描述命令同pre_layout.如果含有時(shí)鐘樹(shù)的網(wǎng)表能夠移植到DC,則clock create_clock period 40 waveform 0 20 CLK set_clock_skew propagated minus_uncerta set_dont_touch_network CLKset_drive 0 CLK令描述如下:y 2.0 plus_uncertay 0.2 CLK另外,很小的clock uncertay定義的目的是考慮pros的變化。如果無(wú)法得到包含有時(shí)鐘樹(shù)的網(wǎng)表,只有SDF文件,則
56、對(duì)原網(wǎng)表只需定義時(shí)鐘,并將SDF文件回饋給原網(wǎng)表,時(shí)鐘的延時(shí)和抖動(dòng)由SDF文件決定。design and clock constrasdesign and clock constras生成時(shí)鐘DC命令介紹:對(duì)于產(chǎn)生時(shí)鐘的模塊,如含有分頻邏輯,DC不能模擬時(shí)鐘產(chǎn)生模塊創(chuàng)造一個(gè)時(shí)鐘對(duì)象。如下圖:DC創(chuàng)造時(shí)鐘命令應(yīng)用于頂層輸入CLK,因clkB 繼承自CLK,所以Block B的時(shí)鐘來(lái)自CLK,對(duì)clkA,因CLK被clk_div的寄存器,不能傳遞給clkA,所以clkA 這個(gè)時(shí)鐘對(duì)象應(yīng)在clk _div的output port定義,命令如下:Clk divc kABlockACLKc kBdc_s
57、 dc_screate_clock period 40 waveform 0 20 CLKcreate_clock period 80 waveform 0 40 find(port,”clk_div/clkA”)BlockB輸入路徑DC命令介紹:Set_input_delay:定義信號(hào)相對(duì)于時(shí)鐘的到達(dá)時(shí)間。指一個(gè)信號(hào),在時(shí)鐘沿之后多少時(shí)間到達(dá)。23.0 clock CLK dataout 0.0 clock CLK dataout 例如:set_input_delay maxset_input_delay mindesign and clock constras輸出路徑DC命令介紹:Set_
58、output_delay:定義從輸出端口數(shù)據(jù)不可用開(kāi)始距后一個(gè)時(shí)鐘沿的時(shí)間:既時(shí)鐘周期間去cell從上一個(gè)時(shí)鐘沿開(kāi)始的工作時(shí)間。如:set_output_delay max 19.0 clock CLK dataout用該命令對(duì)一些信號(hào)進(jìn)行over-constrain,從而獲得最大 setup-time.但可能導(dǎo)致面積和功耗的增加。一個(gè)負(fù)值(如:-0.5)可在layout后,被 in-place optimization用于為hold_time修正提供timing margin.design and clock constras其它設(shè)計(jì)DC命令介紹:Set_dont_touch_n常用于或該
59、et,和該net向連的門(mén)具有dont_touch屬性。常用于CLK和RST例如:Set_dont_touch_networkCLK,RST 。當(dāng)一個(gè)模塊例用原始的時(shí)鐘作為輸入,在該模塊利用分頻邏輯產(chǎn)生了二級(jí)時(shí)鐘,則應(yīng)對(duì)二級(jí)時(shí)鐘output port上設(shè)置set_dont_touch_network.當(dāng)一個(gè)電路包含門(mén)時(shí)鐘邏輯時(shí),若在時(shí)鐘的輸入設(shè)置set_dont_touch_network,則DC該門(mén)邏輯,導(dǎo)致DRC發(fā)現(xiàn)時(shí)鐘信號(hào),對(duì)門(mén)RESET同樣。Set_dont_touch,應(yīng)用于current_design,cell,net,referen.DC對(duì)模塊中的這些元素進(jìn)行技術(shù)。例如: Set_
60、dont_touch find(cell,”sub1”)Set_dont_use:用于.setup文件用此命令可將技術(shù)庫(kù)中的某些cell濾出,例如: Set_dont_use mylib/SD*,將技術(shù)庫(kù)中名字以SD起頭的flip-flops.DC;design and clock constrasAdvanced constrasPath:每一條路徑都由startpo和endposrpo:input ports 或時(shí)序cell的clock pins;endpo: output ports或時(shí)序cell的data pins;Path_delaySet_false_path:指示DC不要對(duì)指定的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球醫(yī)用氣泡探測(cè)器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 山胡椒油行業(yè)行業(yè)發(fā)展趨勢(shì)及投資戰(zhàn)略研究分析報(bào)告
- 2024年職業(yè)教育培訓(xùn)行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年中國(guó)噻苯隆行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 現(xiàn)代化棉花交易物流可行性研究報(bào)告申請(qǐng)備案立項(xiàng)
- 山東省某綜合用房建設(shè)項(xiàng)目節(jié)能評(píng)估報(bào)告
- 2025年中國(guó)氣動(dòng)超音波儀器行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 萊卡羊毛行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年新西蘭紅梨行業(yè)深度研究分析報(bào)告
- 2025年不銹鋼匙扣項(xiàng)目投資可行性研究分析報(bào)告
- 上海中考英語(yǔ)考綱詞匯
- 【工商管理專(zhuān)業(yè)畢業(yè)綜合訓(xùn)練報(bào)告2600字(論文)】
- 《幼兒園健康》課件精1
- 22S803 圓形鋼筋混凝土蓄水池
- 2023年開(kāi)心英語(yǔ)四年級(jí)上冊(cè)全冊(cè)練習(xí)
- Hadoop大數(shù)據(jù)開(kāi)發(fā)實(shí)例教程高職PPT完整全套教學(xué)課件
- 企業(yè)中層管理人員測(cè)評(píng)問(wèn)題
- 人教版高中地理必修一全冊(cè)測(cè)試題(16份含答案)
- 《民航服務(wù)溝通技巧》教案第11課孕婦旅客服務(wù)溝通
- 新東方四級(jí)詞匯-正序版
- 面向機(jī)器人柔順操作的力位精準(zhǔn)控制方法研究共3篇
評(píng)論
0/150
提交評(píng)論