时钟有多个频率,综合时DC怎么约束
时间:12-12
整理:3721RD
点击:
PLL出来的时钟,可以2/4/8分频,也可以不分频。
设计方案是,PLL出来的时钟pll_clk驱动一个计数器,该计数器的最大值由分频系数决定。
这样,2/4/8分频就从相同的寄存器输出。最后再用MUX选择分频时钟和PLL输出时钟。
有以下疑惑:
1.使用了MUX,那么时钟约束是不是:
creat_generated_clock -name div_clk -divide_by 2 -source pll_clk \
-master_clock pll_clk -add [get_pins MUX/Y]
这里只用了2分频(-divided_by 2),4分频/8分频的需要考虑吗?
2.PLL是可以配置的,pll_clk的时钟频率也存在一个很大的范围,只需要设一个最大值吗?
3.如果MUX的输入是两个完全异步的时钟,是不是也是按照1的设置约束时钟?
最主要的疑问就是:
满足最快时钟频率的set_up/hold检查是不是就足够了?
设计方案是,PLL出来的时钟pll_clk驱动一个计数器,该计数器的最大值由分频系数决定。
这样,2/4/8分频就从相同的寄存器输出。最后再用MUX选择分频时钟和PLL输出时钟。
有以下疑惑:
1.使用了MUX,那么时钟约束是不是:
creat_generated_clock -name div_clk -divide_by 2 -source pll_clk \
-master_clock pll_clk -add [get_pins MUX/Y]
这里只用了2分频(-divided_by 2),4分频/8分频的需要考虑吗?
2.PLL是可以配置的,pll_clk的时钟频率也存在一个很大的范围,只需要设一个最大值吗?
3.如果MUX的输入是两个完全异步的时钟,是不是也是按照1的设置约束时钟?
最主要的疑问就是:
满足最快时钟频率的set_up/hold检查是不是就足够了?
是的,只要设最高频率就行了。
真的吗,没见到谁各种可能频率都STA一遍。
hold跟时钟频率没关系吧
如果需要考虑4分频,8分频,是不是这种多个时钟从一个寄存器输出的设计方案就不好了
还是产生多个时钟,通过多级mux选择更好
这样方便约束时钟
没有这么干的。实际上只检查MAX频率就好。
其实是一样的,如果只是logic synthesis,倒不必这么复杂,只是
sdc给后端的时候要给
可以这么理解吗,
Setup和频率有关,但只要满足max频率就可以满足其他频率
Hold和频率无关,只要满足一个频率就满足其他频率
所以只做max的setup/hold检查就可以了
是的
多谢