怎样在CTS的时候先跑一个CLOCK再跑其他的CLOCK
这个我做过。但是我不明白的是,你是不是搞错概念了,virtual clock一般是用来定义端口的虚拟时钟,这个不需要做CTS的。
# 先新建一个时钟
create_clock -name eco_cts_1_clock -period 0.700 -waveform {0.0 0.350} [get_pins eco_cts_1_buffer/Z]
# 定义一下你需要怎么做时钟树,下面的只是一个例子,你可以把你脚本里面的东西搬过来
define_routing_rule eco_CTS_ROUTING_RULE -default_reference_rule -multiplier_spacing 3 -multiplier_width 3
set_clock_tree_options -routing_rule eco_CTS_ROUTING_RULE -use_default_routing_for_sinks 1
# 进行时钟树综合
compile_clock_tree -clock_trees eco_cts_1_clock
report_clock_tree -sum
report_clock_timing -type skew
# 把刚才做过时钟树综合的时钟树设置为不让工具动,然后把新建的时钟移除
set_clock_tree_exceptions -dont_touch_subtrees {eco_cts_1_buffer/I }
remove_clock [get_clocks {eco_cts_1_clock}]
# 这里也是需要定义一下时钟树综合的相关选项,你自己定义。
。
。
# 进行剩下其他时钟的综合
clock_opt -only_cts -no_clock_route -update_clock_latency
太感谢了,可惜我没权限给你加分
先定义一个tree, 做完后设置dont touch sub tree, 再load另一个sdc, 再做cts
你好,我想问一下,你最后的clock_opt加的那几个选项有啥讲究的吗?一定要加吗?