文档详情

数字电路自动化设计.ppt

发布:2025-04-09约1.37万字共53页下载文档
文本预览下载声明

designandclockconstraintsSet_clock_skew:设置时钟的skew及delay,pre_layout和post_layout命令选项不一样。-propagated选项让DC计算时钟的skew。designandclockconstraints例如:Set_clock_skew–uncertainty0.5CLKdesignandclockconstraintsPre-layout时钟DC命令介绍:估计时钟树的延时和抖动,DC命令如下:create_clock–period40–waveform{020}CLKSet_clock_skew–delay2.5–uncertainty0.5CLKSet_clock_transition0.2CLKset_dont_touch_networkCLKset_drive0CLK考虑到layout后时钟网络的变化可若下设置时钟skew:set_clock_skew–delay2.5–minus_uncertainty2.0–plus_uncertainty0.2CLK–minus_uncertainty用于setup-time的计算,–plus_uncertainty用于hole-time的计算.一个cell的delay使根据inputsignal的斜率和outputpin的电容负载决定,对于时钟信号,因为clocknetwork的fanout很大,从而造成clocknetwork末端门的时钟信号的clocktransitiontime很慢,使DC计算的门延时失真。designandclockconstraintspost-layout时钟DC命令介绍:这个阶段,用户不需定义时钟的延时和抖动,他们由时钟树决定。clocktransitiontime也不需定义。如果layout工具提供与DC的直接接口,则直接将包含有时钟树的网表回馈给DC,不需在script文件中对时钟的延时和抖动进行描述,如果layout工具不能实现此功能,则需用户从layout工具提取时钟的延时和抖动信息,描述命令同pre_layout.如果含有时钟树的网表能够移植到DC,则clock的命令描述如下:create_clock–period40–waveform{020}CLKset_clock_skew–propagated–minus_uncertainty2.0–plus_uncertainty0.2CLKset_dont_touch_networkCLKset_drive0CLK另外,很小的clockuncertainty定义的目的是考虑process的变化。如果无法得到包含有时钟树的网表,只有SDF文件,则对原网表只需定义时钟,并将SDF文件回馈给原网表,时钟的延时和抖动由SDF文件决定。designandclockconstraints生成时钟DC命令介绍:对于内部产生时钟的模块,如内部含有分频逻辑,DC不能模拟时钟产生模块创造一个时钟对象。如下图:DC创造时钟命令应用于顶层输入CLK,因clkB继承自CLK,所以BlockB的时钟来自CLK,对clkA,因CLK被clk_div内部的寄存器隔离,不能传递给clkA,所以clkA这个时钟对象应在clk_div的outputport定义,命令如下:dc_shellcreate_clock–period40–waveform{020}CLKdc_shellcreate_clock–period80–waveform{040}find(port,”clk_div/clkA”)Clk_divclkBBlockABlockBCLKclkAdesignandclockconstraints输入路径DC命令介绍:Set_input_delay:定义信号相对于时钟的到达时间。指一个信号,在时钟沿之后多少时间到达。例如:set_input_delay–max23.0–clockCLK{dataout}set_input_delay–min0.0–clockCLK{dataout}designandclo

显示全部
相似文档