微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 在DC中,怎么找出寄存器到寄存器的最长路径,并且他们之间的延时?

在DC中,怎么找出寄存器到寄存器的最长路径,并且他们之间的延时?

时间:10-02 整理:3721RD 点击:
在DC中,怎么找出寄存器到寄存器的最长路径,并且他们之间的延时?
在TCL scripts中的指令是怎么样的呢?
麻烦大家了,谢谢!

report_timing默认就是报每个path group最长的路径

非常感谢你的回复!
时序路径分为四种1)输入端到寄存器
2)寄存器到寄存器
3)寄存器到输出端。
4)输入端到输出端,但是这种情况,有时候不一定有。
其他种类的时序路径已经有可以用report_timing找出来,但是就是寄存器到寄存器之间的最长路径找不出来。

来看看,共同学习。

把 all_inputsall_outputs 还有inputs to outputs 分别设置成三个path group,剩下的应该是寄存器到寄存器的了吧
group_path -name INPUTS -from [all_inputs]
group_path -name OUTPUS -to [all_outputs]
group_path -name CPMBO -from [all_inputs] -to [all_outputs]

非常非常感谢你的回复,你教会了我用-group这个option,并且从这个option来思考问题。
还有,就是想请问一下,那怎么找出一个group能把寄存器到寄存器之间的路径包含进去呢?
麻烦你了,嘻嘻。

上面的人都讲的很好啊,
所有group除了io2flop, flop2io, io2io ,剩下的就是flop 2 flop啊,这个是个反向思维,
如果你一定要报的话,
report_timing -from [all_registers] -to [all_registers] 也行吧

report_timing -exclude [add_to_collection [all_inputs] [all_outputs]]

非常感谢小编的回复!
刚才,我实际测试了一下。这种方案可能还需要改进一下,因为all_registers不是DC的八种设计实体之一。
注解:八种设计实体
设计(Design):一种能完成一定逻辑功能的电路。设计中可以包含下一层的子设计。
单元(Cell):设计中包含的子设计的实例。
参考(Reference):单元的参考对象,即单元是参考的实例。
端口(Port):设计的基本输入输出口。
管脚(Pin):单元的输入输出口。
连线(Net):端口间及管脚间的互连信号。
时钟(Clock):作为时钟信号源的管脚或端口。
库(Library):直接与工艺相关的一组单元的集合。

非常感谢小编的回复!
我刚才测试了一下,-exclude这个option不在report_timing之中,所以DC会提醒。
report_timing的option依次为如下表示:
status report_timing
[-to to_list]
| -rise_to rise_to_list
| -fall_to fall_to_list]
[-from from_list
| -rise_from rise_from_list
| -fall_from fall_from_list]
[-through through_list]
[-rise_through rise_through_list]
[-fall_through fall_through_list]
[-path short | full | full_clock | full_clock_expanded | only | end]
[-delay min | min_rise | min_fall | max | max_rise | max_fall]
[-nworst paths_per_endpoint]
[-max_paths max_path_count]
[-input_pins]
[-nets]
[-transition_time]
[-crosstalk_delta]
[-capacitance]
[-attributes]
[-physical]
[-slack_greater_than greater_slack_limit]
[-slack_lesser_than lesser_slack_limit]
[-lesser_path max_path_delay]
[-greater_path min_path_delay]
[-loops]
[-true [-true_threshold path_delay]]
[-justify]
[-enable_preset_clear_arcs]
[-significant_digits digits]
[-nosplit]
[-sort_by group | slack]
[-group group_name]
[-trace_latch_borrow]
[-derate]
[-scenario scenario_list]
[-temperature]
[-voltage]

哦,那个是PT的

可以先
set_false_path -from [all_inputs]
set_false_path -to [all_outputs]

report_timing

这样恢复起来比较累,
就分4组 报出来不就完了, 很简单的事情,

围观学习!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top