IC设计流程是每个IC从业者的必修课,虽然多数人的从业方向只是IC设计流程中的一部分,但是了解IC设计流程全貌对正确认识每个IC设计环节的作用是有很大帮助的。
对于一个CAD来说,了解IC设计流程以及每个环节所用EDA工具,了解全流程中设计效率的洼地所在,并据此提出系统的解决方案,是整体上提升IC设计效率的根本所在,所以同样具有重要意义。
作为一个初入门者的学习笔记,本文多处文本和附图来源于网络,在此不一一注明,感谢原作者。由于本人才疏学浅,有理解错误或描述谬误的地方,请专家批评指正,不胜感激。另外,如非单独指出,本文中的“IC设计流程”均为“数字设计流程”。
下图是一个IC设计全流程的架构图,它的主线是“ASIC设计与实现”,为实现这一目的,在考虑到诸如速度和功耗等等“性能指标”的前提下,在各个设计环节实现的同时做好“功能验证”工作,以保证所有设计环节的quality。
图一 IC设计全流程
从逻辑实现还是物理实现这两部分来看,IC设计流程可以笼统地分为前端和后端两部分。不同的公司有不同差别细微的区分方法,从比较全面的角度来看,我们可以把IC设计的完整流程区分为如下几部分。
- 确定项目需求
一般由项目PM来完成,先做市场调研以确定项目需求,对系统功能和能效参数给出指导意见。
- 系统架构设计
一般由系统架构师完成,确定系统功能细节,定义频率、功耗等参数指标,做顶层的系统仿真模拟,以确定一个可行的芯片设计方案。
- 前端设计
前端设计(front-end)一般包括RTL代码实现和功能仿真。
- 中端设计
中端设计(mid-end)一般囊括了从功能仿真到物理实现中间所有的环节,包括综合(synthesis),形式验证(formal verification),低功耗设计(low power design),可测试性设计(design for test),STA等。
简单起见,很多公司也把中端设计归到前端设计的范畴里面。
- 后端设计
后端设计(back-end)包括布局布线,形式验证,后仿真等。
其中,前端和中端的设计流程如下所示。前端从编写RTL代码开始,中端的最终交付产品为netlist。
图二 前端和中端设计流程
后端的设计流程如下所示。后端的输入为netlist,最终输出为GDSII格式的文件,交由芯片制造商流片。
图三 后端设计流程
那么在不同的IC设计流程,各家EDA厂商有哪些主流的EDA工具来辅助设计实现呢?
表一 IC设计流程对应的EDA工具
IC流程 |
Cadence |
Synopsys |
Mentor |
Others |
模拟仿真与版图 |
Virtuoso |
|
|
|
RTL仿真 |
|
VCS |
ModelSim |
|
综合 |
Genus |
Dc |
|
|
形式验证 |
|
Formality |
|
|
Spice仿真 |
Spectre |
Hspice |
|
|
时序 |
Tempus |
Pt |
|
|
DFT |
|
DFTCompiler |
Tessent |
|
布局布线 |
Encounter/Innovus |
ICC/ICC2 |
|
|
物理验证 |
PVS |
|
Calibre |
|
寄生参数提取 |
Quantus |
Star-RCXT |
Calibre-XACT |
|
k库 |
Liberate |
Silicon-smart |
|
|
有一些EDA工具经历过一些大的版本迭代和合并升级,名字会有所不同,有不准确的地方请指正。
之所以给cadence列出这么多产品,并不是说它的EDA工具在每个流程环节都占有主要的市场地位,主要是说明它有比较全的全流程工具链,其中Virtuoso具有绝对的市场地位,Innovus和Liberate具有领先的市场地位,Spectre和Tempus也有相当的用户。相比较而言,synopsys的EDA工具在数字电路设计的流程中更具有优势,Dc、Pt和Formality具有绝对的市场地位,ICC2和Hspice具有领先的市场地位,VCS和DFTCompiler也被广泛应用。Mentor的部分点工具则十分出色,比如Tessent和Calibre,这也是非常难能可贵的。
那么每个IC设计环节可以用什么EDA工具来实现,系列的EDA工具(Vendor称之为全家桶)是如何相互搭配来完成全流程设计的呢?下面以C家的工具为例来说明。
图四 C家数字芯片设计流程对应EDA工具
部分名词解释:
HLS : High-level synthesis,高层次综合。
LEC : Logic equivalence check, 逻辑等价性检查。
ECO : Engineer changing order,技术更改指令,可以通过修改netlist或者物理实现以修正小的逻辑错误。
DRC : Design rule check,设计规则检查,检查版图是否符合工艺规范。
LVS : Layout versus schematic,一致性检查,保证原理图和版图的一致性。
C家在前端提供了Stratus这款高层次综合平台(HLS,high-level synthesis),Genus用作综合(synthesis),Joules、Conformal和Modus分别用在功率分析、逻辑等价性检查、逻辑修正及自动测试逻辑插入等。从受欢迎程度来看,C家的EDA工具在数字前端有些弱。
Innovus作为当家产品则为后端提供强大的布局布线功能,应用于时序和功耗和Tempus和Voltus也可圈可点,Quantus、PVS和DFM则分别用在寄生参数提取,物理验证和可制造性设计。
由此可见,C家可以提供数字全流程的全家桶,据悉,有些公司就会直接采购C家的全家桶用于IC设计,不同工具使用的交互兼容性上会更好一些。而大规模一些的公司,则会选择每个设计环节最主流的EDA工具以保证更高的精度和速度,以确定获取更加golden的结果。
来源:oschina
链接:https://my.oschina.net/liyanqing/blog/3167105