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

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

3天内不再提示

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

倩倩 来源:IP与SoC设计 作者:IP与SoC设计 2022-08-15 16:25 次阅读
芯片第一应该关注的是芯片的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设计时,良好的代码风格也可以降低动态功耗,乘法器、加法器等运算单元,通过减少组合逻辑的翻转,从而达到降低动态功耗的效果。64b7bbba-19f6-11ed-ba43-dac502259ad0.png输入到输出,组合逻辑的a、b端值不变,没有电平翻转,所以不会有动态功耗,只存在静态功耗。在设计中考虑组合逻辑无效翻转问题,某段时间这部分数据无效,通过使能信号选择这部分逻辑保持,得到避免动态功耗的效果。
审核编辑 :李倩


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

    关注

    30

    文章

    5017

    浏览量

    117583
  • Verilog
    +关注

    关注

    28

    文章

    1324

    浏览量

    109250
  • RTL
    RTL
    +关注

    关注

    1

    文章

    375

    浏览量

    59029

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

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

    如何通过优化RTL减少功耗

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

    stm32G071CB通过配置串口可唤醒低功耗模式失败怎么解决?

    现在按照通过\"LPUART_WakeUpFromStop\"参考例程烧写进去,串口无法退出低功耗,jlink也无法烧写程序,该如何做才能够重新烧写程序。
    发表于 03-08 08:04

    光伏户用如何做到低成本获客?

    光伏户用如何做到低成本获客? 随着可再生能源的日益普及和技术的不断进步,光伏系统正逐渐走进千家万户。然而,对于光伏企业来说,如何在激烈的市场竞争中低成本地获取客户,成为了他们面临的一大挑战。本文将
    发表于 02-27 10:33

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

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

    一文读懂低功耗蓝牙的应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗无线连接的需求,因此得到广泛应用。本文章将带你深入了解低功耗蓝牙的应用。低功耗蓝牙简介
    的头像 发表于 12-28 08:24 399次阅读
    一文读懂<b class='flag-5'>低功耗</b>蓝牙的应用

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

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

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

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

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

    英诺达发布了自主研发的EnFortius®凝锋®RTL功耗分析工具,可以在IC设计流程早期对电路设计进行优化。
    的头像 发表于 11-01 10:28 342次阅读

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

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

    FSMs低功耗设计

    低功耗设计是当下的需要!这篇文章:低功耗设计方法论的必要性让我们深入了解了现代设计的意图和对功耗感知的需求。在低功耗方法标签下的时钟门控和电源门控的后续文章中,讨论了一些SoC
    的头像 发表于 10-17 10:41 330次阅读
    FSMs<b class='flag-5'>低功耗</b>设计

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

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

    低功耗MCU在物联网方案的应用

    随着物联网技术的不断发展,超低功耗MCU已经成为了物联网方案主要的芯片处理技术。超低功耗MCU具有众多的优点,其中一大所用就是能够大大提高物联网设备的续航能力,保证设备在长时间内不掉电不断电。那么
    发表于 06-13 18:18

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

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

    什么是低功耗设计呢?

    想必各位ICer们在招聘JD上专门看到低功耗设计经验的要求,什么是低功耗设计呢?对于后端工程 师来讲,在物理实现方面就是引入多条电源线
    的头像 发表于 05-15 11:42 749次阅读
    什么是<b class='flag-5'>低功耗</b>设计呢?