ASIC design 关于clock-gated setup/ hold的检查以及multi-cycle path 的整理
本文根据网络搜索所得,以及synopsis相关文档整理而来。
涉及的内容
- gated-clock 的setup/hold的检查
- multi-cycle path 的理解
1. clock-gated 的setup/hold 检查
clock-gated 的setup/hold 检查不同于一般register setup/hold的检查。clock-gated 时序上要求不能出现毛刺,换句话说,如果用AND gate 去gating,时钟使能信号必须在时钟低电平的地方才能插入。如果是用OR gate 去gating, 那么使能信号必须在时钟高电平的地方插入。
为什么电路中会有clock-gating ?大部分情况是为了省power。synthesis工具在综合的时候会根据RTL的写法,推测哪些情况下可以把时钟关掉(也就是时钟被gated)。比如处理一帧图像,某个信号只在帧同步信号来的时候加1:
always @(posedge sclk or posedge rst)
if(rst) fcnt <= 0
else if(vsync) fcnt <= fcnt + 1
这种情况下,只要synthesis工具很有可能会在vsync=0的情况下把sclk gated。 这种gating的行为