数字IC设计(ASIC设计)完整流程详解

ASIC设计流程


一、确定项目需求

1. 确定芯片的具体指标:

物理实现
制作工艺(代工厂及工艺尺寸);
裸片面积(DIE大小,DIE由功耗、成本、数字/模拟面积共同影响);
封装(封装越大,散热越好,成本越高)。

性能指标:
速度(时钟频率);
功耗。

功能指标:
功能描述
接口定义

2. 系统级设计:

用系统建模语言(高级语言 如matlab,c等)对各个模块描述,为了对方案的可行性进行验证。


二、前端流程

1. RTL 寄存器传输级设计

利用硬件描述语言,如verilog对电路以寄存器之间的传输为基础进行描述。

2. 功能验证(动态验证):

对设计的功能进行仿真验证,需要激励驱动,是动态仿真。仿真验证工具Mentor公司的 Modelsim, Synopsys的VCS,还有Cadence的NC-Verilog均可以对RTL级的代码进行设计验证,该部分称为前仿真,接下来逻辑部分综合之后再一次进行的仿真可称为后仿真。

3. 逻辑综合(Design Compile):

需要指定特定的综合库,添加约束文件;逻辑综合得到门级网表(Netlist)。

4. 形式验证(静态验证):

功能上进行验证,综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。做等价性检查用到Synopsys的Formality工具。

5. STA静态时序分析:

在时序上进行分析,用到Synopsys的PT(Prime Time)工具,一般用在后端设计中,由版图生成网表进行STA更准确一些;

STA满足时序约束,得到最终的Netlist。

6. DFT(design for test)可测性设计:

为了在芯片生产之后,测试芯片的良率,看制作有无缺陷,一般是在电路中插入扫描连(scan chain);

DFT是在得到Netlist之后,布局布线(Place and Route)之前进行设计。


三、后端流程

1. 布局布线(Place and Route):

包括时钟树插入(布局时钟线),布局布线用到Synopsys的IC Compiler(ICC)工具。

在布线(普通信号线)之前先布局时钟线,即时钟树综合CTS(Clock Tree Synthesis),用到Synopsys的Physical Compiler工具。

2. 寄生参数提取(Extrat RC):

提取延迟信息

3. 静态时序分析(STA):

加入了布局布线延迟,更真实的时序分析

4. 版图物理验证:

DRC(设计规则检查)、LVS(版图一致性检查)

工具:
Mentor:Calibre
Synopsys:Hercules
Cadence:Diva/dracula

5. 生成GDSII文件,Tap_off 流片

(注:整个IC设计流程都是一个迭代的过程,每一步如果不能满足要求,都要重复之前的过程,直至满足要求为止,才能进行下一步。)


本文转自:大同学吧 - 蛙哥,转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。

最新文章