接着《从EDA 使用,捋数字芯片设计实现流程 | 上》和《从EDA 使用,捋数字芯片设计实现流程 | 验证》继续捋数字芯片设计实现流程,今天进入实现阶段,对于这一段驴只熟悉其中的综合、形式验证、低功耗验证、RTL 功耗分析、STA, 其他部分都是一知半解,故无深究,只捋流程。
整个实现阶段,可以概括成玩EDA 工具及基于EDA 工具的方法学,EDA 工具无疑是实现阶段的主导,一颗芯片做得好不好,在实现阶段之前基本取决于工程师的能力强不强,而在实现阶段之后基本取决于EDA 工具玩得好不好。整个设计实现流程,涉及到许多工具,此处列出四家主要参与者,空白部分不代表没有,只代表驴不知。
数字电路实现流程,从大方向上可以分成两部分:优化跟验证。优化,会更改逻辑描述方式,会更改逻辑结构,会插入新逻辑,这所有的动作都存在引入错误的风险,故需要验证工具予以监控;验证,要确保逻辑优化过程不改变逻辑功能,要确保时序满足既定目标需求,要确保无物理规则违规,要确保信号完整性,这所有的验证都有一套对应的通过规则,但凡有某一项不达标,就不能拿去生产制造。
高级综合:所谓的高级综合就是将C/ C++/ System C描述的设计意图,“翻译”成用Verilog/ System Verilog 描述的RTL, 多应用于运算逻辑主导的设计,除了三巨头,市面上有许多小公司在这一个点上也做得不错。
综合:在实现流程中,就背后算法而言,综合一定是最难最复杂的。综合首先将Verilog/ System Verilog/ VHDL 描述的逻辑转化成由Gtech 描述的逻辑,再对Gtech 逻辑做优化,优化后再将Gtech 描述映射到对应工艺库。其中优化过程涉及到多个方面,近年来EDA 工具的发展方向基本可以概括为:容量,速度,相关性。容量:指可处理的设计规模;速度:指EDA 工具的优化速度;相关性:指跟布局布线之间的相关性。主流工具:Genus, Design Compiler. 在这一点上,几乎再难有后起之秀,除非有朝一日,整个数字电路的设计方法学发生颠覆性的革新。
DFT: 插入压缩解压缩逻辑,插入scan chain, 插入Mbist, 插入Lbist, 插入Boundary Scan, 插入OCC, 插入Test Point, 生成ATPG pattern, 故障诊断,DFT 工程师像老中医插入、观察、诊断。当今市面上DFT 工程师紧缺,贵!主流工具:Tessenst, Modus, TetraMax.
ECO: 但凡有新的东西引入,就可能引入bug, 早期发现bug 可以重新走一遍实现流程,如果在后期发现bug 重走一遍流程的代价太大,通常的做法就是ECO. 对于简单的bug 修复手工ECO 就可以,但是对于复杂的bug 修复,手工ECO 有心无力,故需要有EDA 工具来完成相应的工作。当前世面上最好用的自动ECO 工具非Conformal ECO 莫属。最近也有一些startup 做对应的点工具,整个思路跟CECO 类似,但是没有自己的综合工具优化ECO 后的补丁,就很难得到一个好的结果。
布局布线:在进入纳米时代之前,布局布线并没那么复杂,从90nm 开始到如今的3nm,布局布线的复杂度呈指数增长,从floorplan 到placement 到CTS 到Routing 每一步涉及到的算法在近年都做了颠覆性的革新,以Innovus 的问世为起点,布局布线进入到了一个新纪元。在AI 的浪潮下C 跟S 都一头扎了进去,要做世上最智能的布局布线工具,也许有朝一日可以像跟小度对话一样:
- 硅农:Innovus 请解析A 文件,按设定目标做个功耗最优的结果;
- Innovus: 已读取目标文件,根据设计数据分析,本设计大概需要250G 内存,在5小时内完成,请选择任务完成后是否自动进入后续程序......
RTL 功耗分析:这一步可以放在实现端做也可以放在实现之前做。分析过程相对简单:读入RTL, SDC, 仿真激励,通过计算分析平均功耗跟瞬时功耗,找出设计中的“功耗缺陷”,指导Designer 进行功耗优化。主流工具有:Joules, Spyglass, PowerArtist.
形式验证:在整个实现流程中,形式验证充当逻辑功能等效性的监察官,任何一步优化结束后都需要过形式验证这一关,以确保在优化过程中,逻辑功能未被改变。主流工具:LEC, Formality. 随着设计规模的暴增跟优化技术的飞速发展,形式验证的难度逐渐增加,占用的时间逐渐增多,SmartLEC 是针对复杂设计的先行者。
低功耗验证:针对低功耗设计,低功耗验证要验证CPF/ UPF/ 1801 的语法语义跟描述意图,要验证低功耗单元未多插,未漏插,未乱插,要验证电源跟地的链接符合设计意图,要验证电特性的完整性。主流工具:CLP.
STA: Timing signoff, STA 看似庞杂,其实并不复杂,相比于优化过程要简单得多,抛开Timing ECO, STA 所有的动作都只是计算而不是求解,不恰当的比方:STA 就好比幼儿园的算术题,加数跟被加数都在那里,只要求个和即可;而优化过程是求最优解或近似最优解的过程,要难得多。近年来STA EDA 工具主要在几个方向着力:如何模拟制造过程的随机工艺偏差,如何处理超大规模设计,如何模拟新工艺结点电特性对时序的影响。
Power Signoff: 验证设计的电源网络是否足够强悍,分析,发现,修正:IR-drop 跟EM. 主流工具:Voltus, RedHawk.
物理验证: 验证所有的管子、过孔、走线是否满足Foundry 制定的规则,是个体力活,有点像盖好房子之后的垃圾清理,主流工具:Calibre, PVS, ICV.
整个数字实现流程中涉及到诸多工具,三巨头在领跑,后面基本没有跟随者,偶尔有某个点工具做得好的后起之秀,大多都会被三巨头吃了,这也算是行业套路。就市值看,三巨头加起来来也不及互联网公司一条腿粗,然而在整个芯片设计实现过程中却不可或缺,吾国要强大芯片产业,必须要在EDA 这一块加大投入,方能离脱离被掐着脖子走更进一步。
作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/9zDy0DKlVG\_KtKudygi0-w
作者微信公众号
相关文章推荐
•从EDA使用,捋数字芯片设计实现流程 | 验证
•人物访谈:因为热爱而努力拼搏的Jessica
更多IC设计技术干货请关注IC设计技术专栏。