关于clock gating的 set_clock_gating_check

 

在CTS和routing之后会出现 clock gating 的timing violation,
有两个命令:
set_clock_gating_check 
remove_clock_gating_check
这两个命令,在ICC中怎样用?
在place之前 
set_clock_gating_check ,
在CTS之后 
remove_clock_gating_check 。
具体原理是什么?

http://ee.mweda.com/ask/338441.html

CTS之前设clock gating check为了弥补clock tree, ICG cell的latency较短,所以加一些余量。CTS之后remove_clock_gating_check并不是不让tool做ICG timing check,而是用library的gating check的值。

涨玩cts 后ICG 的clock tree 较短,Enable 端DFF tree 较长。就会在icg enable 出现setup. 这个可以在前端就解决一部分。理论上,根据此icg 后面所带dff 的数目可以大概估算一个clock buffer 级数,clock buffer delay如果已知那我们可以知道clock tree 的latency 有多长。将这个参数过约束到icg 的setup, 就可以弥补icgclock tree 过短的问题。
在综合的时候set clock_gating_check -setup xxx 来实现。
另外据说cts 时可以将enable dff 和 icg balance 而不与icg 后的dff balance. 没有见到过用法。

你可能感兴趣的:(Synthesis,syn,clock_gating)