0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片RTL设计中如何做到低功耗设计

FPGA之家 来源:硅农 作者:硅农 2021-08-26 10:29 次阅读

芯片第一应该关注的是芯片的PPA(Performance, Power, Area),本篇浅显的部分讨论,第二个 P,Power功耗,在RTL设计中如何做到低功耗设计,对于移动设备续航的十分重要,不要让你的芯片徒增功耗。

数据通路寄存器打拍

数据寄存器打拍带上vld,不加复位逻辑,这样会省去寄存器复位电路的布线面积,而且工具还会给寄存器自动插时钟门控,还达到了降低功耗的效果。至于寄存器不复位,一些刚学习的朋友可能会感觉有些刷新认知,寄存器怎么能不复位,不复位不就是x态了,系统不就紊乱了。是的,寄存器不复位是会产生x态,不过这里说的是数据通路,控制通路的所有信号都是必须带复位逻辑。数据通路因为这里是带着vld进行打拍,只需要保证在你使用的时候,它不是x态就行了。控制通路的信号控制系统的运行,出现x态,必然挂死。而数据通路只要保证在vld的有效,也就是我踩这个数据的时候它是正确的就行了,不管它是x态还是其他无效的数据。当然如果数据有作为判断逻辑用于控制,那这个数据一定要进行复位。代码示例,时序逻辑可以省略else,寄存器默认保持,组合逻辑必须写else。vld是一个脉冲将这个数据踹一脚直接踹进这个寄存器存储,在下一脚来临之前,这个寄存器都将保持这个数据。

always @(posedge clk)begin if(data_vld) dout[63:0] 《= din;end

手动插入时钟门控

手动插入时钟门控,根据控制场景的不同自动关掉部分模块的时钟,留有软件的控制通道,由软件关闭。可以有效的减少动态功耗。举例,比如一块运算电路配置全开的时候需要四个相同的计算模块同时工作,最少的情况只需要一个模块工作,这时根据配置的不同可以将其他三个模块的时钟关掉,减少动态功耗。

整个Top模块掉电

整个二级Top模块掉电休眠,掉电后将所有需要保存的数据写到memory中,等下一次模块唤醒上电启动时再重新写回到硬件中。ASIC中的RAM可以自己生成是否需要掉电保存数据的功能,不需要的专门存储的RAM也一起掉电。需要使用和保存的数据寄存器较少,可以从模块伸出接口到顶层,让软件读走,等下一次模块唤醒上电启动时再通过软件配置寄存器配置回模块。这就是低功耗模式。

静态功耗和动态功耗

静态功耗只要电路供电就有,除非掉电休眠,否则无法避免,动态功耗只要存在高低电平切换就有。在rtl设计时,良好的代码风格也可以降低动态功耗,乘法器、加法器等运算单元,通过减少组合逻辑的翻转,从而达到降低动态功耗的效果。输入到输出,组合逻辑的a、b端值不变,没有电平翻转,所以不会有动态功耗,只存在静态功耗。在设计中考虑组合逻辑无效翻转问题,某段时间这部分数据无效,通过使能信号选择这部分逻辑保持,得到避免动态功耗的效果。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47705

    浏览量

    408872
  • Verilog
    +关注

    关注

    28

    文章

    1324

    浏览量

    109285
  • 低功耗
    +关注

    关注

    9

    文章

    2223

    浏览量

    102574

原文标题:Verilog如何实现低功耗设计?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    国产超低功耗千兆PHY以太网芯片方案参数分享

    国产超低功耗千兆PHY芯片JL2101-N040C,p 2 p替代RTL8211F
    的头像 发表于 04-11 11:42 179次阅读
    国产超<b class='flag-5'>低功耗</b>千兆PHY以太网<b class='flag-5'>芯片</b>方案参数分享

    如何通过优化RTL减少功耗

    对于功耗估算来说,架构阶段为时过早,物理设计阶段为时已晚。有一种趋势是在项目的RTL阶段分析power hot spots。与后期分析相比,基于 RTL功耗分析更快、更容易执行,迭
    的头像 发表于 04-05 09:15 1367次阅读
    如何通过优化<b class='flag-5'>RTL</b>减少<b class='flag-5'>功耗</b>

    低功耗 高性能M0芯片亮点(1~3): 低功耗 宽电压 PWM (无须担心耗电问题!)

    低功耗、高性能M0芯片亮点(1~3): 低功耗, 宽电压, PWM [url=https://www.bilibili.com/video/BV18K421v7Bw/][/url] 笙泉科技全新
    发表于 03-15 16:53

    RF模组sleep状态下如何做到低功耗

    的。那么如何解决呢?本文将对RF模组在Sleep状态下如何做到低功耗进行说明。RF模组sleep时RF模组的IO状态先要获知RF模组Sleep时,RF模组的IO
    的头像 发表于 01-06 08:13 167次阅读
    RF模组sleep状态下<b class='flag-5'>如何做到</b>最<b class='flag-5'>低功耗</b>?

    低功耗SoC的PR设计浅析

    芯片UPF低功耗设计(含DFT设计)
    的头像 发表于 12-29 11:43 280次阅读
    ​<b class='flag-5'>低功耗</b>SoC的PR设计浅析

    AD6688如何做到多板间的AD采样同步?

    大家好,JESD204B协议已让单板多片AD采样同步变得更容易了,想请教下,如何做到多板间的AD采样同步啊,有没有什么好的思路啊。 还有AD6688的采样时钟频率范围为2.5G~3.1G,芯片支持
    发表于 12-12 08:27

    BLE蓝牙芯片低功耗模式时无法烧录是为什么?

    在用一款新出的芯片,在低功耗模式,即深度睡眠模式时,无法用DAPlink烧录,其它厂家的芯片低功耗模式可以烧录吗?还是必须要先唤醒?或者是我的DAPlink有问题?DAPlink也是
    发表于 11-08 08:00

    防物理攻击,芯片如何做到的?

    防物理攻击,芯片如何做到的? 芯片是现代电子设备的核心组件,负责存储和处理数据。为了确保芯片的安全性,需要采取一系列防护措施来防范物理攻击,包括防止物理侵入、防御侧信道攻击以及防范反
    的头像 发表于 11-07 10:18 351次阅读

    请问STM8L低功耗如何做串口接收2s一次的数据?

    STM8L现在用他接收外部2s一次的串口数据,如何做到低功耗接收
    发表于 11-06 06:05

    ESp32的最低功耗可以做到多少?

    实测的功耗可以做到多少
    发表于 11-02 08:11

    英诺达发布RTL功耗分析工具,助推IC高能效设计

    了EnFortius®凝锋®RTL功耗分析工具(RPA),用于在IC设计早期对电路功耗进行评估,以及早对电路设计进行优化。该款工具为英诺达低功耗EDA系列的第三款工具,从
    发表于 11-01 09:51 149次阅读

    低功耗蓝牙芯片

    PHY6222 超低功耗蓝牙芯片 是一款低功耗蓝牙芯片,主要应用在数据传输的产品领域。例如,车载蓝牙、手环、医疗、蓝牙锁、蓝牙自拍杆、蓝牙健身器材等等。处理器为32位的ARM Cor
    发表于 06-27 17:30

    请问N76E003低功耗,掉电模式最低可以做到多少uA ?

    请问N76E003低功耗,掉电模式最低可以做到多少uA ?我怎么调也在120uA呢!
    发表于 06-14 08:39

    如何做到一个USB仿真两个CPU的?

    请问一下是如何做到一个USB仿真两个CPU的? 编译从核的工程, 它的固件怎么就能直接写入到主核的工程里去的?
    发表于 05-26 06:10

    什么是低功耗设计呢(UPF编码篇)

    UPF编码基础(内容:电源网络定义,多电压域设计,低功耗模式,低功耗单元规则(rules),芯片边缘供电定义,IP供电描述)
    发表于 05-15 14:22 797次阅读
    什么是<b class='flag-5'>低功耗</b>设计呢(UPF编码篇)