CTS的时候clock source认不对的问题
时间:10-02
整理:3721RD
点击:
在Astro中做CTS的时候,有一个clock是由内部的一个clk_gen模块产生的,这个时钟用作其他几个模块的时钟输入,在网表中大致是这样的结构:
module top(...);
clk_gen (..., .clkout(clk), ...);
A (..., .clk(clk), ...);
B (..., .clk(clk), ...);
C (..., .clk(clk), ...);
如果把clock定义在clk_gen的port上边,如get_pins [clk_gen/clk_out],在CTS的search clock nets的时候,不会找到对应的clk这条net,而是找到了A模块里边这个时钟经过一个MUX之后的一条net,A模块中其他的DFF或者B、C中连到clk上的DFF的CK端也都被认为是clock source。如果把clock source定义在clk_gen这个模块内部的一个cell的输出pin上就没有问题了,请教一下各位,Astro中是怎么search clock net的?为为什么定义在逻辑的port上有时候会出错,有时候却没有问题?
这个问题困惑我很久了,非常感谢...
module top(...);
clk_gen (..., .clkout(clk), ...);
A (..., .clk(clk), ...);
B (..., .clk(clk), ...);
C (..., .clk(clk), ...);
如果把clock定义在clk_gen的port上边,如get_pins [clk_gen/clk_out],在CTS的search clock nets的时候,不会找到对应的clk这条net,而是找到了A模块里边这个时钟经过一个MUX之后的一条net,A模块中其他的DFF或者B、C中连到clk上的DFF的CK端也都被认为是clock source。如果把clock source定义在clk_gen这个模块内部的一个cell的输出pin上就没有问题了,请教一下各位,Astro中是怎么search clock net的?为为什么定义在逻辑的port上有时候会出错,有时候却没有问题?
这个问题困惑我很久了,非常感谢...
我没用astro,我一开始就用的icc,但我知道astro在定义时钟的时候是不支持hierarchy,只能定义在leaf cell的pin上,用icc就不会有这个问题了
麻烦问一下这个“知道”有没有相关的文档可以参考,我想知道工具是怎么search net的,谢谢~