打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
浅谈门控时钟设计
什么是门控时钟?如何产生门控时钟?

什么是门控时钟?

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

门控时钟降低了什么功耗

在IC设计中,会存在block模块层次的时钟门控和门级的时钟门控。

1、block模块层次的时钟门控

block模块层次的时钟门控在一个block中一个时钟只有一个门控,当此模块不使用时,直接将此时钟gating掉,大大降低了时钟树功耗和寄存器动态功耗,在大部分模块中能够降低80%以上的功耗。

2、门级层次的时钟门控

门级的时钟门控是门级的时钟门控,通常由如下verilog语句产生。

此类门控主要是降低寄存器内部时钟翻转功耗和少量的靠近reg的时钟树功耗。

因为gating 后驱动的时钟树一般只有1级buff,因此时钟树功耗降低比例很小。

当data_in输入没有变化时,如果采用非门控结构,时钟没有被gating,因此寄存器内部的时钟逻辑依旧以2倍时钟频率跳变,此时仍然存在较大的动态翻转功耗。而门级时钟门控能够有效降低此类功耗。

always@(posedge clk or negedge rst_n)

If (!rst_n)

data_out[511:0] <= 512’b0 ;

    else if(data_vld)

data_out<=data_in ;

来源:https://blog.csdn.net/icxiaoge?type=blog

本文转自:IP与SOC设计

本文内容仅代表作者观点,不代表平台观点。

如有任何异议,欢迎联系我们。

如有侵权,请联系删除。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
(数字IC)低功耗设计入门(五)
数字IC设计之
FPGA设计中的门控时钟和使能时钟
Power 介绍——power optimization之clock gating(2)
多端口寄存器堆的低功耗设计方法
低功耗设计入门(七)——门级电路低功耗设计优化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服