本文选自知识星球,同时星球还有分享自己编写的 20本+系统性的、编辑成册的笔记,高达56万字+,还有分享还有更多干货知识以及后端视频教程等,星球专属QQ群还有分享1.5G的后端教程和所有EDA的最新UG,欢迎加入星球进行查看。
《前端低功耗设计技术 -
状态机编码与解码、二进制数表示法》
在大规模ASIC设计中,RTL完成时80%的功耗就已经确定,后端不能解决所有功耗问题或者说后端能降低的功耗水平是非常有限的,从RTL上优化功耗能起到的效果非常明显。
状态机编码与解码
内容选自《硬件架构的艺术 数字电路的设计方法与技术》
格雷码在相邻状态转换时仅有一位发生变化,消耗能量更少。此外格雷码编码的状态机也消除了依赖于状态的组合等式中存在毛刺的风险。
对于16位状态机,有256 个状态值,其中一般只有一部分会使用到,这部 分中一些状态会比另一些状态在电路操作过程中更可能出现。所以,如果 状态机中有30%的转换发生在从状态 “0101” 变为“1010”,有4位发生 变化,这就导致4 个状态寄存器及其相关组合逻辑发生了转变;对于从状 态“1010” 变为“0100”,只有一个状态位发生了变化。这样可将寄存器 功耗降低10%,而组合逻辑部分可能会降得更多。
若使用别的编码风格,仍可以通过让翻转频率最高的状态有最少的翻转位数,降低功耗。
另一种方法:把FSM和STG(状态转移图)分解成两个,若两个子FSM之间没有转换发生,那么只有一个FSM需要供给时钟。
二进制数表示法
内容选自《硬件架构的艺术 数字电路的设计方法与技术》
在大多数应用中,用补码来表示二进制数往往比有符号数更常使用。然而,对于某些特殊应用,在切换过程中有符号数更有优势。
下图是对 “0” 和“1” 分别用补码和有符号数表示的方法
对于某些只使用积分器进行求和的应用,补码表达法在0 到1 的转变发生时所有位都会发生变化(因此信号翻转比较多,Switching power比较高),而有符号数只有两位发生变化,所以能降低Switching power。
星球简介
低功耗设计技术总结 - 3万字,129页 IR drop的分析与修复总结 - 4.3千字,20页 数字后端理论及实践-ICC干货笔记 - 11万字,423页 数字后端理论及实践-Innouvs教程(第4版)- 5.7万字,316页 ICC2教程-星球精编版 - 2万字,125页 数字后端理论及实践-Innouvs教程(第5版)- 11.8万字,635页 面试笔试题整理 面试笔试经验分享(第1版)- 1.6万字,48页 面试笔试题整理 面试笔试经验分享(第2版)- 2.3万字,87页 ICC2 ICC与Innovus的命令对照(第1版) Tcl与DesignCompiler教程(第1版)- 6.1万字,183页 DRC规则讲解、DRC的检查与修复(第1版)- 7.3千字,26页 Congestion的分析与修复专题(第1版)- 1.2万字,41页 Perl-Tk教程(第1版)- 1.6万字 73页 星球精华推文分类整理合集(第1版)- 1.8万字,75页 星球精华推文分类整理合集(第2版)- 4.4万字,160页 面试笔试题整理 面试笔试经验分享(第3版)- 2.7万字,96页 星球精华推文分类整理合集(第3版)- 6.6万字,240页 时序分析与sdc专题笔记(第1版) - 3.1万字,115页 星球精华推文分类整理合集(第4版)- 8.4万字,296页 面试笔试题整理 面试笔试经验分享(第4版)- 3.2万字,103页 更多教程、笔记持续更新中。。。