




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
总流程1:库的设置2:设计的读入3:设置环境属性set_operating_conditionsset_wire_load_model和set_wire_load_modesetloadset_drive或者set_driving_cell4:设计规则约束set_max_transtionset_max_capacitanceset_max_fanout5:优化约束create_clockset_clock_uncertaintyset_clock_latencyset_input_delayset_output_delayset_false_pathset_multicycle_pathset_max_delay和set_min_delayset_max_area7:一些编译命令及DC的输出格式注意:1:在前端设计中一般不做hold_time的约束,hold_time的约束可以在后端修复!!!总流程:1:对库进行基本设置,如下:设置完成后应该查看.synopsys_dc.setup里面库的设置和软件applicationsetup处的设置是否一样!DC的初始化文件.synopsys。dc。setup需要用ls-a显示,命令:more。synopsys。dc.setup查看文件内容!2:读入设计,两种方法:read和analyze+elaborateAnalyzer是分析HDL的源程序并将分析产生的中间文件存于work(用户可以自己指定)的目录下;Elaborate则在产生的中间文件中生成verilog的模块或者VHDL的实体缺省情况下,elaborate读取的是work目录中的文件3:设置环境定义:如果不指定operating_conditions,DC自动搜索link_library中的第一个库的工作环境作为优化时使用的工作环境。(1)set_operating_conditions:工作条件包括三方面一温度、电压以及工艺;工作条件一般分三种情况:bestcase,typicalcase,worstcase图形界面:#1:先进入thesymbolviewofthetop界面,选择top模块#2:attributes—operatingenvironment—operatingconditions命令方式:#1:可通过report_liblibraryname命令来查看,如下图查看的是slow.db库的工作条件,则使用命令:report_libslow,右边是report_libfast。另外一个例子,只是为了说明库中的libraryname必须是用report_lib命令得到下面图形中的conditions里面的库的name:(******自己想的******)#2:—般综合时候只需考虑最差和最好两种情况即可,最差情况用于做建立时间(setuptime)的时序分析,最好情况用于做保持时间(holdtime)的时序分析。最差情况-max下使用slow。db库,最好情况一min下使用fast.db库;{最差和最好情况和温度以及电压有很大关系,温度越大,延时越大;电压越大,延时越小;不过温度对延时的作用更大}所以:##1:做建立时间分析时候用最差情况,命令:set_operating_conditions-max"slow"##2:如果既要分析建立时间,又要分析保持时间,则需要两条命令:set_min_libraryslow。db-min_versionfast.dbset_operating_conditions-minfast-maxslow首先通过命令set_min_library同时设置worst—case和best—case的library,然后通过set_operating_conditions命令指定不同环境下使用的库模型;上面的命令指定的是:fast库用于对holdtime优化,slow库用于对setuptime进行优化。set_operating_conditions-minfast-maxslow命令中的一minfast和-maxslow可以互换。(2)set_wire_load_model和set_wire_load_mode命令方式:#1:set_wire_load_model:设置连线负载模型,为了估计模块输出的时序—transitiontime;DC默认输出负载为0负载模型可以通过report_liblibraryname命令下查看线的模型种类,如下图是fast.db库中的几种线的模型.在布局布线前应使用较悲观的模型,对最坏的情况做综合,线负载模型由目标库提供。-max-min选项指定该模型用于估计最大路径延迟和最小路径延迟。例如:(写一个即可)set_wire_load_model—nametsmc13_wl40-minset_wire_load_model—namesmic13_wl50-max:最坏情况或者可以直接设置负载模型:set_wire_load_model-nametsmc13_wl40—libraryslow表示使用的是slow库里的tsmc13_wl40线模型。#2:自己不清楚如何选择的话,则让DC自动选择setauto_wire_load_selectiontrue#3:上面的设置完成后,需要对负载模块的使用位置加以说明,三种模式,命令如下:set_wire_load_modetop 或set_wire_load_modeenclosed 或set_wire_load_modesegmented关系如下:top: 指定模块互连线延迟的估计使用顶层模块的线负载模型enclosed:指定模块互连线延迟的估计使用包含该连线的最小模块的线负载模型segmented:将连线按模型边界分段,各段的延迟分别按照各自模块的线负载模型估计延迟,然后把估计结果相加得到该连线的延迟一般情况下使用的是:set_wire_load_modetop图形界面:上图中的第一步指的是先选择top模块,然后设置top模块下的环境属性.***附加:还可以给某个模块设置负载模型:(下面设置timer模块)***setcurrent_designtimer ***先转到timer模块下***set_wire_load_model—nametsmc13_wl40或者下面的:setload:设置输出负载比较精确地计算输出电路的延迟,DC需要知道输出电路驱动的所有负载.该命令有两种用法:一种是直接给端口赋一个具体的值,另一种是结合命令load_of指出它的负载相当于工艺库中哪个单元的负载值.命令方式:#1:set_load5[get_portsOUT1]#2:set_load[load_ofmy_lib/and2a0/A][get_portsOUT1]说明OUT1端口接的负载值地my_lib中and2a0单元的A管脚的负载值.#3:把上面命令set_load[load_ofmy_lib/and2a0/A] [get_portsOUT1]中的get_portsOUT1换为all_outputs就可以给全部输出端口赋值。其中load_of命令可以算出某个引脚的负载电容值。电路负载的大小会影响到它的延迟,而且负载越大,延迟越大,DC在缺省情况下认为端口的负载电容都是0,因此具有无穷大的驱动能力。图形界面:必须先选中全部的输出负载然后再设置负载值!!!!!大**********具体如何找这个负载不清楚!!!!!!!!!!!****************set_drive或者set_driving_cell:设置输入驱动。为了更加准确估计模块的输入时序,为了更加准确的估计输入电路的延迟,DC需要知道信号到达输入端口的过渡时间(transitiontime)。默认下,DC认为输入驱动的驱动能力无限大,即transitiontime=0;Set_drive使用确定的值来估计输入端的输入电阻,从而得到输入端口的延迟;set_driving_cell是假定一个实际的外部驱动单元来估计输入的transitiontime;该命令用于设置输入端口或者双向端口上的电阻值,该电阻值是用于驱动输入端口的单元的输入电阻,因此,该值越大,就说明输入端口的驱动能力越弱,连线的延迟也就越大。更常用的是set_driving_cell命令,以库中某个单元电路的引脚驱动能力为基准来模拟输入端口的驱动能力。例1:首先通过drive_of指定具体的驱动单元电阻值,得到驱动单元电阻后,通过:set_drive+值+[get_portsclk]命令给输入端口clk赋值。下图是给除了clk以外卜的其它输入端口驱动:4:设计规则约束约束(DRC:design_rule_constraint)DRC规则的优先级:transition>fanout>capacitance⑴set_max_transtion:设置最大传输时间连线的转换时间是其驱动引脚的逻辑电平变化的时间,包括risingtime和falling,从10%的VDD变化到90%的VDD所需的时间。设定最大的转换时间set_max_transtion,这个值一般设为周期的10%。例如:set_max_transtion1。8[current_design]一般情况下current_design指的是top.⑵set_max_capacitance:输出管脚可以驱动的最大电容值定义输出管却可以驱动的最大电容值。例:set_max_capacitance1.5[get_portsout1]或者set_max_capacitance1.5[get_designstop]⑶set_max_fanout:设置最大扇出负载连线的最大扇出负载指的是它所驱动的所有输入引脚的扇出负载的总和。扇出负载不同于负载,它是个无量纲的数值。max_fanout经验值一般设为20,即一个门的输出最多驱动20个输入引脚(如果每个引脚的输出负载是1的话).******计算fanout值,如下*******或者:set_max_fanout3.0[all_outputs]图形界面:在attributes一optimizationconstraints一designconstraints5:优化约束OptimizationConstraints⑴create_clock:用于定义时钟的周期和波形(duty及起始沿)duty:占空比,指高电平在一个周期所占的时间比率。 一命令:create_clock-period40-waveform{020}[get_portsclk]:表示CLK周期40ns,上升沿0ns,下降沿20ns;如果不定义waveform,则默认占空比为50%。或者:或者:#1:set_dont_touch_network:在net或port上设置don’ttouch属性,主要用于clock和reset信号,使DC不对这些nets插buffer,留到布局布线时综合。#2:set_dont_touch:用于对current_design,cells,references,nets设置don’ttouch属性,阻止DC对它们进行映射或优化,一般在分模块综合和综合后优化时使用.例:set_dont_touch[get_cellsX_DATA_N_1_33B_reg[0]]⑵set_clock_uncertainty:定义好时钟后,就要设置时钟不确定性,即反映时钟偏差(clockskew),一般设为0。2-0。3。命令:set_clock_uncertainty0。3[get_clockscore_clk]⑶set_clock_latency:模拟时钟树插入后从时钟输入端口到寄存器clock端口的延时,用于布局布线前的综合和时序分析,一般设0。3—0.8.命令:set_clock_latency0.3[get_clockscore_clk]set_clock_latency默认情况下代表:NetworkLatencyset_input_delay (看另一个总结的时序分析文档)对于输入和输出延时,若不知要求,可设延时为周期的40%命令:set_input_delay-clockclk_name-maxmax_value-minmin_value命令中的一max的选项:指定输入的最大延迟,为了满足时序单元建立时间(setuptime)的要求。-min的选项:指定输入的最小延迟,为了满足时序单元保持时间(holdtime)要求。例如:set_input_delay-max5.8-clockclk_62_5M[all_inputs]设置所有最大输入延迟为5。8ns,所有输入信号受到clk_62_5M时钟信号约束!remove_input_delay[get_ports[listclk_62_5Mrst]]去掉像clk、rst这些不需要设置输入延时的信号!set_output_delay:命令和设置input_delay一样。set_false_path:虚假路径。set_false_path命令用于给出异步电路或者逻辑上不存在的电路,优化的时候所有加在该路径上的限制条件都不予以考虑。如果要取消该设置,使用reset_path命令。指出异步电路的路径:如果CLKA和CLKB是属于不同的时钟晶振,因此,CLKA到CLKB的路径是异步电路。set_false_path-from[get_clocksCLKA]-to[get_clocksCLKB]set_false_path-from[get_clocksCLKB]-to[get_clocksCLKA]set_false_path—throughreset其中reset信号一般采用“异步复位,同步置位”方式(置位是强制置1,复位是强制置0),所以对于reset信号和跨越时钟域的信号,都要设置为伪路径。其它资料释义:falsepath指的是电路中一些不需要考虑时序约束的路径,一般出现在异步逻辑中。对多时钟域或不可实现的路径的处理:用set_false_path指示DC不对这些路径进行时序优化,如果不对falsepath路径进行标识,DC会对所有的路径进行优化,从而影响关键时序路径。⑺set_multicycle_path:设置多路径(8)set_max_delay和set_min_delay:设置路径的最大最小延迟。如果电路完全是组合逻辑电路,而没有时钟,可以使用这两条命令直接限制路径的最大最小的延迟。例如,限制一个reset信号:由于reset信号跨越了不同的模块,因此,一般在顶层模块中对该模块做限制:即指定所有reset信号出发的路径的最大延迟都为5,set_max_delay5-fromreset限制一个从IN输入到OUT输出的最小路径:set_min_delay10-fromIN-toOUT或限制所以输入到输出的最小路径:set_min_delay2-from[all_inputs]-to[all_outputs](9)set_max_areacurrent_designtopset_max_area0(常用)将top模块的面积设为0,此时综合后电路肯定不满足要求,但DC会对电路的面积进行优化,达到可能的最小面积,同时使得综合之后的电路没有“弹性”。或者下面:(不常用)图像界面:上图中的maxrise和minrise就是inputs或者outputs端口的最大延迟和最小延迟!!!!!选择时候选中sameriseandfall选项!!!以上所有的语句并不是需要全部都设置的,根据自己的设置来判断需要设置的内容即可!!!!!!!!!!上面设置完成后进行uniquify实例唯一化设置,然后再编译,方法:(不是所有都有这一步的,看情况)(1) 界面上:hierarchy—uniquify-hierarchy,出现对话框后选择ok,也可选中下面的instancestoberenamed...小框框,是进行强制唯一化的。(2) 命令:uniquify或者uniquify-force(强制将所有调用模块重新命名)7:开始编译:大*大**编译compilereport_constraints或者report_constraint-all_violators〃报告没有满足时序的约束条件此时如果不满足的话可以加大映射的effort,如:compile-map_efforthigh或其它命令进行优化。report_timingchange_names一ruleverilog-hierset_fix_multiple_ports_net-allset_fix_hold[all_clocks]修正holdtimewrite-formatverilog一hier一outputmux.sv//输出网表,自动布局布线需要(注意是。sv格式)write一formatddc一hier一outputmux。ddc〃输出ddcwrite_sdfmux。sdf〃输出延时文件,使用PT做静态时序分析时需要write_sdcmux。sdc〃输出约束设置信息,使用Astro或encounter自动布局布线需要其它命令:report_clock-skew-attribute生成时钟报告report_port-verbose报告端口信息report_port-vclk查看时钟端口所有属性8:DC的几种输出文件:write-fddc-hierarchy-outputmy_ddc.ddcwrite-fverilog-hierarchy-outputmy_verilog。v#Writeouttheconstraints—onlysdcfile:约束信息,布局布线需要write_sdcmy_design。sdcWriteoutthescancha
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业风险与财务策略的应对
- 创新办公家具设计在企业培训中的应用案例
- 历史智慧在当代社会的价值体现
- 精神科常见症状心理护理
- 2025年通信广播有效载荷项目发展计划
- 房地产建筑行业分析
- 情绪管理与安全生产课件
- 平安双圈经营课件
- 中国农产品电商发展现状及趋势分析
- 供应链管理与库存控制策略
- 医学影像专业外语测试试卷
- 2025山西晋城市城区城市建设投资经营限公司招聘15人高频重点提升(共500题)附带答案详解
- 危险废物收集、贮存扩建项目环境风险评价专项报告
- 2024年广东省普通高等学校招收中等职业学校毕业生统一模拟考试语文题真题(解析版)
- JJF(陕) 041-2020 宽带采集回放系统校准规范
- 应用英语(陕西交通职业技术学院)知到智慧树答案
- 保安员资格考试复习题库及答案(800题)
- 员工岗位培训范本
- 消防员职业技能鉴定中级技能题库
- 非物质文化遗产展示基地项目可行性研究报告
- 日军宣传标语大全
评论
0/150
提交评论