在两年前的一篇文章简单介绍了Multi-bit的一些基本知识,详情请戳:芯片设计里的Multi-Bit FF探究
在此篇旧文的基础上,其实MBFF (Multi-bit FF)还有不少技术细节值得再次学习和理解。据此,这里再次把MBFF相关的技术和流程相关的细节梳理的更为清晰一些。闲言少叙,ICer GO!

MBFF是中后端设计实现常用的手段,这里结合中后端流程,来探讨MBFF的优势和使用策略。
MBFF的优势和劣势
MBFF是把数个single bit FF(SBFF)被封装(banking/merge)到一个MBFF上,对时序优化有一些影响,具体见下:
- 面积优势
在std-cell构画的时候,进行逻辑共享,面积有明显提升

- 功耗优势:由于gate级别的整合,在面积提升的基础上,功耗也有明显收益

- 时序劣势:
下图示例了SBFF到MBFF的物理布局的转变
- SBFF被封装成MBFF后,数据路径的终点会改变,可以变近(如上图FF2),也可能变远(如上图FF1),setup/hold会有变化
- SBFF被封装成MBFF后,时钟路径的终点会整合,不能像SBFF对每个单独的SBFF的时钟路径灵活使用useful skew进行精细控制
虽然PPA的优化,MBFF二对一胜出,但是实际情况确实,在中后端几十年以来的timing_driven 实现策略确实这个天平不可忽略的重要因素。具体范例和冲突,本文后面也会单独讨论
MBFF的封装方式
基于MBFF的特性,在整个中后端设计流程中,用户可以在三个地方有选择的进行MBFF的封装操作
- R

最低0.47元/天 解锁文章
2565

被折叠的 条评论
为什么被折叠?



