ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:873.52KB ,
资源ID:5546027      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5546027.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DC综合操作流程设置流程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DC综合操作流程设置流程.docx

1、DC综合操作流程设置流程总流程1库的设置2:设计的读入3:设置环境属性(1)set_operating_conditions(2)set_wire_load_model和 set_wire_load_mode(3)set load(4)set_drive 或者 set_driving_cell4:设计规则约束(1)set_max_transtion(2)set_max_capacita nee(3)set_max_fa nout5:优化约束(1)create_clock(2)set_clock_ un certa inty(3)set_clock_late ncy(4)set_i nput_d

2、elay(5)set_output_delay(6)set_false_path(7)set_multicycle_path(8)set_max_delay和 set_min_delay(9)set_max_area7 :一些编译命令及DC的输出格式1:在前端设计中一般不做hold_time的约束,hold_time的约束可以在后端修复! ! ! 总流程:综合的基木流程Creaic&-loc3Lenn anly SM_inpji_dslay 聲口耳ay Serl:_l:al?ie_j3ath Sd_niukicyelc_paTh 1 卩 Seimaa.iJelai、 吠痂化1 I Uni 梓

3、ify r ungroLip 综會扰低 I CoiHrpilC 报卑Rcjwn_coiHfi.i;rairn Repofltimirg write1:对库进行基本设置,如下:设置完成后应该查看.synopsys_dc.setup里面库的设置和软件application setup处的设置是否一样! DC的初始化文件.synopsys.dc.setup需要用ls 显示,命令:more .synopsys.dc.setu查看文件内容!ite 申址 ermnal Tajp. 曲 pas on 1 oc a 1 ho t lab2 Sas Ona loca lhos t S more synopsys

4、_dc 日 etup羽 1. Modify thia tile to t it your on environiuent羽 2r Copy this tile synopsyB_dc吾芒tuq to bynopay3_dc 0etup# and put it in toolg lnvotinq directory or your home directorysetcompany irClCif,dies igoer Studentscfirch_pat hr / CJQ1TU1 ink_l ibrary耳 1 QVdb f nnh db dw_fnijn-dia t iqn a 1 db11w

5、e-tt argtet*_1 ibr,ry3 1 oirf , dhfash , db!wet ymBDl_1 ibrai-y/hoine-/七do 1 s/ wynopsys/dc2Cl09.06,/ 1 ibrari/syn./ genericseitisynt het i e_1 ibr-arydw_f DUnd at i 口 n . s ldfaset hd 11 n_t rdna lotf_sIt ip_text THUE edif口Ut:=fciesEliEFll=anl TRUEEftft! * 芒上 Jl 1 白 gvut_.ii d.t.E J. t rue:p 1 Dt_e

6、Dln5iidtLd (Ipr - Pip)set sJoenab 1 e=l 1 need.it Lnq trueset b 11 ineed 111 ni_j!mode emaca(Ji is t oxy Iteep 100alias h history2:读入设计,两种方法: read和 analyze+elaborate便用read命令可以一步完成analyzc+claboratc的工作并H. r?ad侖令还可以用來读取db EDIF等格式的设计(analyze-Helaborate仅能用F VHDL verilog).但是,re ml命令无法支持参数修改、VHDLp的构造体选释零功能

7、.该命令的语法为:Analyzer是分析HDL的源程序并将分析产生的中间文件存于 work (用户可以自 己指定)的目录下;Elaborate则在产生的中间文件中生成 verilog的模块或者VHDL的实体缺省情况下,elaborate读取的是work目录中的文件(1)set_operating_conditions工作条件包括三方面 一温度、电压以及工艺;工 作条件一般分三种情况: best case, typical case, worst case图形界面:#1:先进入 the symbol view of the top 界面,选择 top 模块#2: attributes opera

8、ting environmen operating conditions命令方式:#1:可通过report_lib library name命令来查看,如下图查看的是 slow.db库的工作条件,则使用命令:report_lib slow,右边是report_lib fast。Operating ConditOperat ing Coaid 111 ons tQpertating Condi, ticn Nd me ; slow Libtifliry i mlwPro亡是翡岀i 丄00Temperature s 125-00Vol i 1, OSInterconnect HodrI n b*l

9、曲琴唔毒Operating Condition fldn# t fast Libi ary iProcess i 100Ttnperaturt- r -40.00VoltAge i 1.32I nt ercoruiect l lodel t bal inceVolttyp2Sl .80 slow 125 1.62nty lib1.0025.001.60mylib00125,001.62fast 0my lib丄.000.001.98#2: 一般综合时候只需考虑最差和最好两种情况即可, 最差情况用于做建立时间(setup time)的时序分析,最好情况用于做保持时间(hold time) 的时序

10、分析。最差情况-max下使用slow.db库,最好情况-min下使用 fast.db 库;最差和最好情况和温度以及电压有很大关系,温度越大,延时越大;电 压越大,延时越小;不过温度对延时的作用更大 所以:#1:做建立时间分析时候用最差情况,命令:set_operat ing_con diti on s-max “ slow ”#2:如果既要分析建立时间,又要分析保持时间,则需要两条命令: set_minibrary slow.db -min_versio n fast.db set_operating_conditions-min fast -max slow首先通过命令 set_minibr

11、ary 同时设置 worst-case和 best-case的 library , 然后通过set_operating_conditions命令指定不同环境下使用的库模型; 上面的命令指定的是:fast库用于对hold time优化,slow库用于对setup time 进行优化。set_operating_conditions -min fast -max slow 命令中的-min fast 和-max slow 可以互换。(2)set_wire_load_model和 set_wire_load_mode命令方式:#1: set_wire_load_model: 设置连线负载模型 , 为

12、了估计模块输出的时序transition time; DC 默认输出负载为 0负载模型可以通过 report_lib libraryname 命令下查看线的模型种类,如下 图是fast.db库中的几种线的模型。在布局布线前应使用较悲观的模型, 对最坏的情况做综合, 线负载模型由 目标库提供。-max -min选项指定该模型用于估计最大路径延迟和最小路 径延迟。例如:(写一个即可)set_wire_load_model -name tsmc13_wl40 -min set_wire_load_model -name smic13_wl50-max :最坏情况 或者可以直接设置负载模型:set_w

13、ire_load_model -name tsmc13_wl40 -library slow 表示使用的是 slow 库里的 tsmc13_wl40 线模型。#2:自己不清楚如何选择的话,则让 DC 自动选择set auto_wire_load_selection true#3:上面的设置完成后, 需要对负载模块的使用位置加以说明, 三种模式, 命令如下:set_wire_load_mode top 或set_wire_load_mode enclosed 或 set_wire_load_mode segmented关系如下:top : 指定模块互连线延迟的估计使用顶层模块的线负载模型encl

14、osed: 指定模块互连线延迟的估计使用包含该连线的最小模块的线 负载模型segmented: 将连线按模型边界分段, 各段的延迟分别按照各自模块的线负载模型估计延迟,然后把估计结果相加得到该连线的延迟一般情况下使用的是: set_wire_load_mode top 图形界面: 一 一 一5.Attributes Operating Environments Operating Conditions dick onrtnax/min = slow/fastOK6.Attributes Operating Environments Wire Lode Ock onjMC18_Conservat

15、ive上图中的第一步指的是先选择top模块,然后设置top模块下的环境属性。*附加:还可以给某个模块设置负载模型:(下面设置timer模块)*set current_design timer * 先转至U timer 模块下 * set_wire_load_model -n ame tsmc13_wl40200b00Narnie:temc2d_wlr或者下面的:Name: smicl3_wllOLocationaslow_lv08cl25Resistance:8.5e-0S单位长度电阻Capacitance*0.00015单位长度电容Area:0.7单位长度面积Slope:66.667斜率(长

16、度/扇出)Fanout LengthPoints Average Cap Std Deviation图屮町以看-出单位长度的电阻以及电客值,DU在估算连线延时时.会先算出建线的扇出. 然后根据扇出査表,得出长度.再在氏度的棊础上计算岀它的电阻和电容的大小.若扇出值 超出表中的值(假设为7),那么DC就嘤根据扇出和长度的斜率(Slop)推算出此时的连线长 度来。(3)set load:设置输出负载比较精确地计算输出电路的延迟,DC需要知道输出电路驱动的所有负载。该命令有两种用法:一种是直接给端口赋一个具体的值,另一种是结合命令 load_of指出它的负载相当于工艺库中哪个单元的负载值。命令方式:

17、#1: set_load 5 get_ports 0UT1setload 5 (gt_ports OUT1S51设置输出负载(I)例如上图,给OUT!端口设了一个负鞍为的值”这电的单位也杲由F uundry提供,具 体的单位,可以通过njporjib甜令査看.一般而言是pf#2: set_load load_of my_lib/and2aO/A get_ports OUT1说明OUT1端口接的负载值地 myib中and2a0单元的A管脚的负载值#3:把上面命令 set_load load_of my_lib/and2a0/A get_ports OUT1中的 get_portsOUT1换为al

18、l_outputs就可以给全部输出端口赋值。其中load_of命令可以算出 某个引脚的负载电容值。DC在缺省电路负载的大小会影响到它的延迟,而且负载越大,延迟越大, 情况下认为端口的负载电容都是 0,因此具有无穷大的驱动能力 图形界面:必须先选中全部的输出负载然后再设置负载值! !*具体如何找这个负载不清楚! 111111111! *4. Select all output ports by drag the left key Attributes Operating Environments Load EntertloacLof slow/DFFXl/DffLoad(4)set_drive或

19、者 set_driving_cell :设置输入驱动。为了更加准确估计模块的输入时序,为了更加准确的估计输入电路的延迟, DC需要知道信号到达输入端口的过渡时间(transition time)。默认下,DC认为 输入驱动的驱动能力无限大,即tran sition time=0;Set_drive使用确定的值来估计输入端的输入电阻,从而得到输入端口的延 迟;set_driving_cell是假定一个实际的外部驱动单元来估计输入的 transition time ;该命令用于设置输入端口或者双向端口上的电阻值, 该电阻值是用于驱动输入端口的单元的输入电阻,因此,该值越大,就说明输入端口的驱动能力

20、越弱, 连线的延迟也就越大。更常用的是set_driving_cell命令,以库中某个单元电路的引脚驱动能力为基 准来模拟输入端口的驱动能力。例1:首先通过drive_of指定具体的驱动单元电阻值,得到驱动单元电阻后,通 过:set_drive+fi+get_ports clk命令给输入端口 clk 赋值。Setting 泊put drivirkg strEngtii fondk port drive_of nslow/BUFX4/Yw set_drive 1.615308 get_ports dkgn_vTi&ia仃t | mot.dTi*。 1. 61SJD修g白匕口1:七苦 七比4:设计

21、规则约束约束(DRC: design_rule_constrain)DRC 规则的优先级:transitionfanoutcapacitanee(1) set_max_transtion 设置最大传输时间连线的转换时间是其驱动引脚的逻辑电平变化的时间,包括 rising time和falling,从10%的VDD变化到90%的VDD所需的时间。设定最大的转换时间set_max_transtion,这个值一般设为周期的10%。例如:set_max_transtion 1.8 current_design 般情况下 current_design指的 是 top。set_max_capacitane

22、e输出管脚可以驱动的最大电容值定义输出管脚可以驱动的最大电容值。例: set_max_capacitanee 1.5 get_ports out1 或者set_max_capacita nee 1.5 get_desig ns topset_max_fanout设置最大扇出负载连线的最大扇出负载指的是它所驱动的所有输入引脚的扇出负载的总和。 扇出负载不同于负载,它是个无量纲的数值。-賜仁妁心烦P財对衣滋叽觴九0成以4 port疔操作,设定的不是具体的 电容植。例如对一个血Migri我们设定鞭匕加加加血1Z表示在这个 design的一条帕t或一个por十只能驱功吃个伽以tJqgd为1亍单位的pR

23、或 右个f癒威/LjpQd为込个单愷的pim在i:mic0.13um.中默认的預肿良tJ叔 为1,我们可以用讓尢勉仁血d自行设色 讓XJ煤ufgnpuT和 令心型吹丄如d仅仅是用做DRC的检查,也们的值与时序无关.图示如下:max_fanout经验值一般设为20,即一个门的输出最多驱动20个输入引脚(如 果每个引脚的输出负载是1的话)。* 计算 fan out 值,如下 *dc_shell set_max刊2讥 3 get_designs ADDERif 算 Fanout 仙:Figure 7*4 Clcution of Maxi/num Fanoutfanout load:2.Dfanout

24、 load:鼻电生canoin 8三U3:NR6 OTotal Fanout Loadfl 1.0 + VO 3,0 + 2 07Maximum Fancut=Total Fanoui Load或者:set_max_fa nout 3.0 all_outputs图形界面:在 attributes-optimization constraints-design constraints5:优化约束 Optimization Constraintscreate_clock:用于定义时钟的周期和波形(duty及起始沿)duty:占空比,指高电平在一个周期所占的时间比率。命令:create_clock

25、-period 40 -vaveform0 20 get_ports clk:表示 CLK 周期 40ns, 上升沿0 ns,下降沿20 ns;如果不定义waveform,则默认占空比为50%。或者:dc_ohell-t crutaclock -period 10 (gat_porta Clk) dc_shellt 3et don t_touch netwerk get clocks Clk第一句建义了一个周期为10ns的时钟U它的时钟源是一个称为Clk的端LL第二句对所有定义的时钟网络设直为don Vouch.即综合的时候不对Clk信号优化.如 果不加这句,DC会根据Clk的侪载貝动对畅牛.

26、BE比孑在窘际的申一路说计时神树 (Clock Tree)的综合冇自已特別的方法.它需耍碍虑到宝际布线后的物理信息.所以D匚不需 要在这里对它进行处理*就算处理了也不会符吞議或者:clk_62_5M-create clock -period 14 -waveform lis七 0.0 7.0或*creatE clock -period 14 -wa.veform list 0*0 701 clk_2,5M注意;getports clk 6/L5M中时匸lk疏.5强设计文件中的时钟名,厠本中的时钟名重要:在时宇逻娟电路中.创建时坤约束是喜实的时钟.要与设计中的时钟信号相连接,即用或,在纯组合逻緝

27、电路中,粹要创建噩拟时钟约束virtual clock,此时不吊连接到设计“即不用写qet ports clk 62. 5M1#1: set_dont_touch_network在 net 或 port 上设置 don t touc属性,主要用于 clock 和reset信号,使DC不对这些nets插buffer,留到布局布线时综合。#2: set_dont_touch用于对 current_design, cells, references, net设置 don t toucfll性,阻止DC对它们进行映射或优化,一般在分模块综合和综合后优化时使用。例:set_dont_touch get_

28、cells X_DATA_N_1_33B_reg0set_clock_uncertainty:定义好时钟后,就要设置时钟不确定性,即反映时钟 偏差(clock skew), 一般设为 0.2-0.3。命令:set_clock_uncertainty 0.3 get_clocks core_clkset_clock_latency:模拟时钟树插入后从时钟输入端口到寄存器 clock端口的延时,用于布局布线前的综合和时序分析,一般设0.3-0.8。命令:set_clock_ latency 0.3get_clocks core_clkset_clock_late ncy 默认情况下代表:Network Late ncyset_input_delay (看另一个总结的时序分析文档)吠“如叩定文信号相对于时粉的到达时间.指一个信号,在时钟沿 之后多少时间到达input port集T i n put de fay - Tc I k-q 十 Tmdc;iheLl-t 丄白la* -nuix 4 -clock Clk (git portij A如P面的语句指岀了披综合模块的端口 A的最大输入延时为4口匾-max选项是指明目 前设呂的是输入的最大延迟.为了满足时序单

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1