什么是门控时钟?如何生成门控时钟?

时间:2025-04-28  作者:Diven  阅读:0

什么是门控时钟?

什么是门控时钟?如何生成门控时钟?

Clockgating:在数据无效时,将寄存器时钟关闭的技术,能够有效降低功耗, 是低功耗设计的重要方法。门控时钟其实就是一个逻辑模块,在寄存器的输入数据无效时,将寄存器的输入时钟置为0,而此时寄存器值保持不变,此时没有时钟翻转,避免了动态功耗。

如何生存门控时钟?

IC设计中,编写RTL代码的时候,只要采用合理规范的编码风格,即可以通过EDA工具自行产生门控时钟模块。

举例如下:

 

 

推荐的风格代码在else分支忽略,此时意味着在data_vld无效时data_out保持不变,此时状态与clock保持为0一致,因此具备生成门控时钟的条件,而不推荐风格代码,在data_vld无效时data_out为0,不符合门控时钟的状态,因此无法生成门控时钟。

上图两个电路图均为推荐风格代码的映射电路图,右侧为采用门控时钟设计的电路图。采用推荐风格代码的代码即可以通过EDA工具自行插入门控时钟。

由于门控时钟逻辑具有一定的开销,因此数据宽度过小不适合做clockgating。一般情况下,数据宽度大于8比特时建议采用门控时钟。

实际芯片使用的门控时钟模块是后端厂家专门设计的模块单元,而不仅仅是图上的简单设计。

门控时钟设计:门控时钟模块

Gvi在IC设计中,经常会用掉门控时钟单元,在不使用某些模块的时候使用门控时钟单元锁定时钟,使得时钟不跳变,从而降低功耗。

1、门控时钟单元代码verilog

模块输入信号分别为输入时钟,clk_in,输出时钟clk_out,使能信号en。

当使能信号en==1时,表示时钟不锁定,输入信号直接输出,模块功能类似:assign clk_in = clk_out。

当使能信号en==0时,表示时钟锁定,输出时钟不跳变。

xxxxx_phy_lib_name是后端厂商提供的定制时钟门控单元

2、门控时钟单元使用注意事项:

1)使能信号en可配置,复位默认值必须为1,

2)驱动en的时钟不能是被锁定后的时钟,即驱动信号的时钟要求永远是存在的

 

 

Module clk_gate( input clk_in , input clk_en, output clk_out ); `ifdef ASIC_DESIGN wire clk_out ; xxxxx_phy_lib_name xxxxx_phy_lib_name_u0 ( .O (clk_out ), .phi (clk_in ), .io (1'b0 ), .i1 (clk_en ) ); else `ifdef FPGA_DESIGN assign clk_out = clk_in ; else reg clk_en_d1 ; wire clk_out ; always@(*) begin if(!clk_in) clk_en_d1=clk_en ; end assign clk_out= clk_en_d1&clkin; `endif `endif endModule 

 

 

编辑:黄飞

 

猜您喜欢

热敏电阻是温度传感器和温度控制系统中常用的元件,其主要分为NTC(负温度系数)和PTC(正温度系数)两种类型。在电子设备、家电以及工业控制等领域有着的应用。本文...
2025-04-15 11:01:49

信号灯是城市交通中不可少的重要设施,分类主要可以从功能、颜色和控制方式等方面进行划分。从功能上看,信号灯可分为交通信号灯、行人信号灯和警示信号灯。交通信号灯用于...
2008-11-12 00:00:00


以太网接口的电压承受能力并非一个简单的数值,涉及到多种因素,包括接口标准、线缆质量、以及瞬时电压等。理解这些因素有助于保护你的网络设备免受损害。一般来说,标准的...
2024-08-30 00:00:00


吊环螺栓是应用于各种工程和建筑领域的紧固件,具有多种显著优势。设计独特,能够承受较大的拉力和剪切力,确保连接的稳固性和安全性。吊环螺栓的安装方式简单,方便快捷,...
2016-03-21 00:00:00


贴片电阻2512,这个名称里的「2512」其实就代表了它的尺寸。它指的是英制尺寸,表示该电阻的长和宽分别为0.25英寸和0.12英寸。 转换成公制单位,也就是大...
2024-11-26 11:30:07

2512贴片电阻指的是尺寸为2.5mm长,1.2mm宽的矩形表面贴装电阻。至于它的功率,并非固定值,而是根据具体型号有所不同。通常情况下,2512贴片电阻的功率...
2025-04-14 15:03:42