0
点赞
收藏
分享

微信扫一扫

clock gate spec

秀儿2020 2022-03-30 阅读 184

clock gate spec

clock gate distribution

clock gate 有两种实现技术, combinational clock gating 和 sequential clock gating,其中 combinational clock gating 是由dc工具在综合时自动添加的,而sequential clock gating 则是designer在设计的时候自己添加的逻辑。

combinational clock gating

常见的实现方式为通过 add 门来实现,如下图所示:
其中 comb clock control logic 为 时钟使能的控制逻辑,gated_clk 为进行时钟门控之后的时钟,如图所示:

在这里插入图片描述

RTL 实现为:

module clk_gate1 (
    input clk_en,
    input clk,
    output gated_clk
);

assign gated_clk =  clk & clk_en;
endmodule

src_en 为 1 时将时钟信号传递给FF,src_en为0时则关闭时钟信号。但是这种方法优缺点,在src_en拉高时容易产生毛刺,继而将毛刺传递给gated_clk,如图所示:
在这里插入图片描述
改进版的 clk_gate 将 clk_en 的输出端添加一个低电平敏感的锁存器,就可以解决毛刺问题,如下图所示:
在这里插入图片描述
RTL 实现为:

module clk_gate2 (
    input   clk,
    input   clk_en,
    output  gated_clk
);

reg   latch_en;

always @ (clk or clk_en) begin
    if (clk | clk_en) begin
	     if (~clk)
	     	latch_en = clk_en;   	
	end
end

assign gated_clk = clk & latch_en;

endmodule

使用这种方法不会将毛刺引入到下一级的时钟里,如图所示 :
在这里插入图片描述

Integrated Gated Clock Cells(ICG Cell)

要实现这种时钟门控可以实例化标准单元库中的两个Cell(Latch和AND门),秉着不重复造轮子的思想以及方便工具进行后续的时序分析更建议使用库中的ICG Cell并且由工具自动综合插入。

文章的部分概念转载于—知乎Goblin

举报

相关推荐

0 条评论