本文选自知识星球,同时星球还有分享自己编写的 3万字-129页的低功耗技术合集 精编版,更多干货知识以及后端笔记、视频教程等,欢迎加入星球进行查看。
《Innovus Multi Bit Flip Flop(MBFF)实现
- 详细教程》
星球原文链接:
https://t.zsxq.com/veM07
前面讲解了MBFF的基本原理和详细的优缺点,主要就是能降低Power,但是会Timing优化而言就丧失了一定的自由度。
低功耗设计技术--Multi-Bit Flip-Flop(MBFF)
后边也分享了在ICC2和FC中MBFF的具体实现方式和各种控制以及如何报告MBFF的比例和报告的解读、做完MBFF之后的形式验证。
FC/ICC2教程 - MBFF的实现与不同阶段对MBFF Merge和Split的控制
下面讲解一下Innovus中具体的实现方式、各种控制选项、如何报告MBFF的比例以及报告解读、做完MBFF之后的形式验证以及遇到问题的解决方法。
Innovus可以在preCTS优化开始的时候就做MBFF的Merge,根据Timing的情况去决定是否Split。
1: MBFF的流程与控制选项
Feature的名字这里不方便展示,可以问自己公司的AE去获得这个Feature。
2: MBFF在不同阶段的行为
Innovus的MBFF 的Merge和Split是优化、转换的一部分,工具的行为是依赖于PR的不同阶段的。
preCTS:
努力去提高每个Flop的比特数 对于Timing critical的部分去做MBFF的Split来优化Timing
postCTS:
考虑到它会对Clock tree产生一定的影响,所以这个阶段不支持对MBFF做Merge 从Innovus 18.1和以后的版本开始,工具支持对MBFF做Split来优化Timing
postRoute:
不支持MBFF的Merge和Split。
3: 在Merge MBFF的时候的命名转换
在Flop Merge的时候,相关Instance的名字会通过双下划线合并在一起。
示例:
abc + def -> abc___def
hier1/hier2/q_reg[0] + hier1/hier2/q_reg[1] -> hier1/hier2/q_reg[0]__q_reg[1]
限制:在不同Hierarchy之间Merge name是不行的
4: 在Split MBFF的时候的命名转换
在做MBFF的Split的时候,如果MBFF的名字里面含有双下划线,那么会根据双下划线拆分名字
示例:
abc___def -> abc, def
如果MBFF的命名里面没有双下划线,那么工具做Split的时候会加上__0/__1这样的索引。
示例:
hier1/hier2/q_reg[0:4] -> hier1/hier2/q_reg[0:4]__0, hier1/hier2/q_reg[0:4]__1, hier1/hier2/q_reg[0:4]__3, hier1/hier2/q_reg[0:4]__4
xxx -> xxx__0, xxx__1 (和上面不一样的地方在于这个MBFF的名字里面没有位宽信息)
注意:
当一个MBFF被拆分时,Innovus应该保持每一位的顺序,比如一个2位的MBFF abc被拆分成abc_0和abc_1时,原始MBFF的第0位输入/输出应该接到abc_0的输入/输出,原MBFF的第1位输入/输出应该接到abc_1的输入/输出。
5: 如何限制Instance的名字不要太长?
…(完整内容见星球原文)…
6: 导出MBFF的映射文件
…(完整内容见星球原文)…
7: 如何避免一些Flop被Merge或者Split?
…(完整内容见星球原文)…
后续做完MBFF之后的形式验证以及遇到问题的解决方法会在星球里面陆续更新。
参考文献:
https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V00000679k7UAA&pageName=ArticleContent
星球相关推文:
Innovus tcl脚本分享 - 报告Multi Bit Flip Flop(MBFF)的Summary和解读
星球链接:https://t.zsxq.com/V6SLB
Timing修复技巧(一) - 禁用MBFF + Path Group + weight + Path margin
星球链接:https://t.zsxq.com/DsQno
FC教程-如何查看MBFF的比例与报告解读?
星球链接:https://t.zsxq.com/B4Tri
Fusion Compiler/ICC2教程 - MBFF名字的控制与如何指定某些Flop不做MBFF Merge
星球链接:https://t.zsxq.com/11Txo
FC/ICC2教程-使能MBFF之后的Formality验证
星球链接:https://t.zsxq.com/PUggn
FC/ICC2教程-如果和MBFF相关的部分有Match或者Verify的Fail怎么办?
星球链接:https://t.zsxq.com/oTDr4
星球简介
低功耗设计技术总结 - 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页 更多教程、笔记持续更新中。。。