门控时钟设计001:什么是门控时钟?如何产生门控时钟?
什么是门控时钟?
Clockgating:在数据无效时,将寄存器时钟关闭的技术,能够有效降低功耗, 是低功耗设计的重要方法之一。门控时钟其实就是一个逻辑模块,在寄存器的输入数据无效时,将寄存器的输入时钟置为0,而此时寄存器值保持不变,此时没有时钟翻转,避免了动态功耗。
如何生存门控时钟?
在IC设计中,编写RTL代码的时候,只要采用合理规范的编码风格,即可以通过EDA工具自行产生门控时钟模块。
举例如下:
推荐风格:可生成门控时钟 always@(posedge clk or negedge rst_n) if(!rst_n) data_out<=8’b0; else if(data_vld) data_out<=data_in; |
不推荐:无法生成门控时钟 always@(posedge clk or negedge rst_n) if(!rst_n) data_out<=8’b0; else if(data_vld) data_out<=data_in; else data_out<=8’b0; |
推荐的风格代码在else分支忽略,此时意味着在data_vld无效时data_out保持不变,此时状态与clock保持为0一致,因此具备生成门控时钟的条件,而不推荐风格代码,在data_vld无效时data_out为0,不符合门控时钟的状态,因此无法生成门控时钟。
上图两个电路图均为推荐风格代码的映射电路图,右侧为采用门控时钟设计的电路图。采用推荐风格代码的代码即可以通过EDA工具自行插入门控时钟。
由于门控时钟逻辑具有一定的开销,因此数据宽度过小不适合做clockgating。一般情况下,数据宽度大于8比特时建议采用门控时钟。
实际芯片使用的门控时钟模块是后端厂家专门设计的模块单元,而不仅仅是图上的简单设计。
移知--专业的IC课程网站
使用优惠码:R8IY2B 享受95折哦
门控时钟设计001:什么是门控时钟?如何产生门控时钟?相关推荐
- 高速数字系统时钟设计-AD9516
此篇是我在学习中做的归纳与总结,其中如果存在版权或知识错误请直接联系我,欢迎留言. PS:本着知识共享的原则,此篇博客可以随意转载,但请标明出处! 在高速数字系统中,时钟起到至关重要的作用,它决定系统 ...
- WPF 控件设计艺术[开篇]
WPF 控件设计艺术--样式.模板.触发器.数据绑定 WPF 控件设计艺术--样式.模板.触发器.数据绑定:围绕WPF控件设计,从样式.模板.触发器和数据绑定触发,引导初学者快速设计和使用WPF控件设 ...
- 《众妙之门——网站UI设计之道(修订版)》一1.3 制作有效用户界面的实用技巧...
本节书摘来自异步社区<众妙之门--网站UI设计之道(修订版)>一书中的第1章,第1.3节,作者[德]Smashing Magazine,更多章节内容可以访问云栖社区"异步社区&q ...
- 《众妙之门——网页排版设计制胜秘诀》——3.4 展现品牌视觉的同时保持网页的可读性...
本节书摘来自异步社区<众妙之门--网页排版设计制胜秘诀>一书中的第3章,第3.4节,作者: [德]Smashing Magazine 译者: 侯景艳 , 范辰 更多章节内容可以访问云栖社区 ...
- 《众妙之门——用户体验设计的秘密》一2.3 触摸至上的设计
本节书摘来自异步社区<众妙之门--用户体验设计的秘密>一书中的第2章,第2.3节,作者[德]Smashing Magazine,更多章节内容可以访问云栖社区"异步社区" ...
- 《众妙之门——网页排版设计制胜秘诀》——3.6 网页版式高级教程
本节书摘来自异步社区<众妙之门--网页排版设计制胜秘诀>一书中的第3章,第3.6节,作者: [德]Smashing Magazine 译者: 侯景艳 , 范辰 更多章节内容可以访问云栖社区 ...
- 《众妙之门——网页排版设计制胜秘诀》——第3章 设置网页字体的5 项原则和方法3.1 系统地进行网页版式设计...
本节书摘来自异步社区<众妙之门--网页排版设计制胜秘诀>一书中的第3章,第3.1节,作者: [德]Smashing Magazine 译者: 侯景艳 , 范辰 更多章节内容可以访问云栖社区 ...
- 在Verilog语言中,使用门级建模设计一个由1位全加器组成的4位全加器
4位全加器的门级建模 Verilog语言的层级 在Verilog硬件描述语言中,我们可以分许多层次对电路进行描述,每一层都有自己的特点.层次分为开关级.门级.数据流级.行为级.我们不能说必须使用哪一种 ...
- 数字时钟设计verilog_数字IC设计基本概念之创建时钟
来自微信公众号 "数字芯片实验室" 时序分析的一个重要部分是准确地指定时钟和相关属性,例如延迟(latency)和不确定性(uncertainty). EDA工具可以分析以下类型的 ...
最新文章
- Programming in Scala (Second Edition) 读书笔记12 Trais
- OpenStack-MitakaCentos7.2双节点搭建--(四)Nova服务
- 安装MySQL时出现黄色感叹号,提示3306已被占用
- 《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.69. Vim-7.4...
- 文本框输入限制,数字,字母,下划线
- python面向对象类_python面向对象-类和对象
- java学习是什么_学习JAVA有什么作用?
- 洛谷P2181 对角线(组合数)
- 转 文件路径相关的字符串操作
- Codeforces 781B. Innokenty and a Football League
- 【Dynamics365】创建报表
- Python+APP端+执行adb命令
- 像电影里的黑客高手一样敲代码攻击入侵网站!装逼神器 !
- mysql升级8.0后,项目遇到的坑
- 秒数转换为天小时分钟秒的格式
- 视频怎么剪辑成短视频?如何制作原创视频素材作品
- 第十三次CCF认证经历
- centos安装matlab2018的步骤(基本是借鉴的但是会有些自己的解释及补充)
- indexedDB基本使用(内含案例)
- 玩转华为ENSP模拟器系列 | 配置LDP自动触发DoD请求功能示例