什么是门控时钟?如何生成门控时钟_第1页
什么是门控时钟?如何生成门控时钟_第2页
什么是门控时钟?如何生成门控时钟_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

什么是门控时钟?如何生成门控时钟?什么是门控时钟?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时,表示时钟不锁定,输入信号直接输出,模块功能类似:assignclk_in=clk_out。当使能信号en==0时,表示时钟锁定,输出时钟不跳变。xxxxx_phy_lib_name是后端厂商提供的定制时钟门控单元2、门控时钟单元使用注意事项:1)使能信号en可配置,复位默认值必须为1,2)驱动en的时钟不能是被锁定后的时钟,即驱动信号的时钟要求永远是存在的

moduleclk_gate(inputclk_in,inputclk_en,outputclk_out);`ifdefASIC_DESIGNwireclk_out;xxxxx_phy_lib_namexxxxx_phy_lib_name_u0(.O(clk_out),.phi(clk_in),.io(1'b0),.i1(clk_en));else`ifdefFPGA_DESIGNassignclk_out=clk_in;elseregclk_en_d1;wireclk_out;always@(*)beginif(!clk_in)clk_en_d1=clk_en;endassignclk_o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论