前端设计低功耗处理手段

一般考虑低功耗问题,主要是从系统供电、使用问题、性能问题、成本考虑、可靠性、竞品等几个方面展开。
低功耗设计方法有很多:系统级而言,有动态调压调频(DVFS)、电源门控(Power Gating)、时钟门控(Clock Gating)等手段;深入到RTL底层,有很多跟代码风格相关的小技巧。

系统级低功耗手段

  • 软硬件划分,合理划分软化及硬化逻辑,综合评估,达到功耗最优目标;
  • DVFS,动态调压调频,根据性能场景,动态切换,灵活控制功耗;
  • Multiple Voltage,划分不同电源域,在满足芯片各组件正常工作前提下,精准控制供电;
  • Power Gating,根据业务场景,对于不需要工作的模块,关闭其电源,从源头降低功耗;
  • Clock Gating,基本思路同Power Gating,根据业务场景,关闭不需要工作的模块时钟,降低翻转;

模块级低功耗手段

  • Clock Gating,优化模块级CG,根据应用场景动态控制模块CG;
  • 操作数隔离,避免冗余信号翻转,减少寄存器冗余翻转;
  • ICG条件优化,控制信号拼位做ICG;
  • RAM拆分,大位宽Counter拆分;
  • 算法层面的考虑,并行 or 串行,算法模块设计复杂度等;

后续有机会的话,再补充一些前端常用的其他手段,或者中后端常用的低功耗手段。

你可能感兴趣的:(SOC,verilog,systemverilog)