门控时钟

时钟门控电路

  1. 直接与门
1
assign clk_gate = clk & en;

直接用与门,那么en信号相对于clk是一个异步信号,所以容易出现毛刺。

  1. 加锁存器
1
2
3
4
5
6
7
8
reg en_latch;
always @(*) begin
if(~clk) begin
en_latch = en;
end
end

assign clk_gate = clk & en_latch;

这里实际上也会出毛刺,在en_latch信号与clk到与门的路径上,存在差异,那么最终也会出现延迟,现在的单元库会直接把这个模块做到一起,把走线延迟做到相同,这样就避免了由于走线带来的毛刺问题。


门控时钟
https://blog.zorogh.top/2025/09/15/clk-gate/
作者
ZoroGH
发布于
2025年9月15日
更新于
2025年9月15日
许可协议