数字集成电路设计流程
前端:
1 .规格制定
甲方提出要求,确定芯片的功能、性能等方面。
2 .体系结构设计
体系结构工程师制定方案、设计体系结构、划分模块功能并定义接口时机。
3.RTL编码
数字集成电路设计工程师编写RTL代码,实现模块的具体功能。
4 .前模拟(功能模拟)
数字集成电路验证工程师验证设计。 前伪缺省是理想状态,没有定时问题,主要是为了验证模块逻辑功能的正确性,也称为功能仿真。 编译运行模拟的EDA工具有VCS、Qustasim等,调试的工具一般为Verdi。
5.CDC
数字集成电路工程师检查时钟域封闭(CDC )问题,使用的EDA工具通常是Spyglass。
6 .综合(Synthesize )。
使用直流将RTL代码映射到门级网络列表(netlist )。
7 .静态时间序列分析(静态时间分析,STA ) )。
使用PT检查电路时序,全面提取电路中的所有时序路径,检查建立时间和保留时间,分析最大路径延迟和最小路径延迟,从而找到时序违规。
8 .格式验证(逻辑质量检查,LEC ) ) ) ) ) )。
使用Formality检查电路功能,检查RTL和Netlist功能在数学上是否匹配。
中端:
9 .可测试设计(design for test,DFT ) ) ) ) ) ) )。
随着集成电路的规模越来越大,制造的芯片是否有问题越来越难测试,有了可测试的设计。 通过插入扫描链和BIST等,用容易生产的芯片进行测试。 使用EDA工具的是DFT compiler。
后端:
10 .布局
布局规划是放置芯片的宏观单元模块,综合定位各种功能电路。
11 .时钟树综合(CTS ) )。
钟表树综合起来就是钟表的布线。 时钟信号是通过数字芯片全局指挥的,因此其分布必须对称地连接到每个寄存器单元,使得在时钟从相同的时钟源到达每个寄存器时,时钟延迟差最小化。
12 .路由(路由) ) )。
这里的布线是非时钟的布线,包括各种标准单元(基本逻辑门电路)之间的布线。
13 .寄生参数提取和信号完整性分析
由于布线自身存在的电阻、相邻布线之间的互感、耦合电容,在芯片内部会产生信号噪声、串扰、反射,产生信号完整性问题,因此需要提取寄生参数进行分析验证。
14 .静态时间序列分析
此时,电路各单元的位置、各参数已经确定,进行静态时序分析最为准确。
15 .形式验证
到此为止,电路通常会发生变化,例如DFT插入扫描链中,因此需要再次测量电路的功能是否与以前一致。
16 .后模拟(时间序列模拟) )。
反向查找SDF文件,此时模拟主要检查时序问题,也称为时序模拟。
17 .工程变更器(eco )。
接近流片,又发现电路问题,来不及更改RTL,工程师直接修改网表。
18 .物理验证
布局和逻辑集成的门级电路图的比较验证(LVS )验证。
设计规则检查(DRC ) :检查设计规则检查、连接间距、连接宽度等是否满足工艺要求。
电子规则检查(ERC ) :检查电气规则,检查违反电气规则的情况,如短路或开路。
19 .流媒体(Tape out ) )。
假期、共建、旅游
PS:
1 .一些步骤一直在进行,比如模拟。 重复了几个步骤,如STA、LEC等。 根据步骤的不同,可能不需要进行ECO等。
2.DFT由专业的DFT工程师负责。 有人认为它属于前端,有人认为它属于后端,也有人认为它属于中端。 没必要太烦恼。
3 .电路变更且时间充裕时,相关验证环节一般需要再试一次,除非确定变更不影响该环节。