一 数字IC设计流程 前端:
1.规格制定
甲方要求确定芯片的功能和性能。
2.架构设计
架构工程师制定方案,设计架构,划分模块功能,定义接口时序。
3.RTL编码
数字IC编写设计工程师RTL实现模块的具体功能。
4.前仿真(功能仿真)
数字IC验证工程师验证设计。前仿默认为理想状态,不会有timing该问题主要验证模块逻辑功能的正确性,因此也称为功能模拟。编译模拟EDA工具有VCS,Qustasim等,debug工具一般是Verdi。
5.CDC
数字IC工程师检查跨时钟域(clock domain crossing,CDC)问题,使用EDA工具一般为Spyglass。
6.综合(Synthesize)
使用DC将RTL代码映射成门级网表(netlist)。
7.静态时序分析(Static Timing Analysis,STA)
使用PT检查电路时间序列,提取电路中所有时间序列路径,检查建立时间和维护时间,通过分析最大路径延迟和最小路径延迟,找出时间序列违规(timing violation)。
8.形式验证(Logical Equivalence Check,LEC)
使用Formality检查电路功能,查电路功能RTL和Netlist功能是否一致。
中端: 9.可测试设计(design for test,DFT)
随着集成电路规模的增加,制造的芯片是否存在问题越来越难以测试,因此具有可测试设计。通过插入扫描链BIST方便生产的芯片进行测试。EDA工具为DFT compiler。
后端: 10.布局
布局规划是放置芯片的宏单元模块,确定各种功能电路的位置。
11.时钟树综合(CTS)
时钟树综合是时钟的布线。 由于时钟信号在数字芯片的全球指挥作用,其分布应对称地连接到每个寄存器单元,使时钟从同一时钟源到每个寄存器,时钟延迟的差异最小。
12.布线(route)
这里的布线是非时钟布线,包括各种标准单元(基本逻辑门电路)之间的布线。
13.寄生参数提取和信号完整性分析
由于导线本身的电阻和相邻导线之间的互感,耦合电容器会在芯片中产生信号噪声、串扰和反射,导致信号完整性问题。因此,有必要提取寄生参数进行分析和验证。
14.静态时序分析
此时,确定了电路各单元的位置和参数,静态时序分析是最准确的。
15.形式验证
当过程到达这里时,电路通常会再次改变(例如,DFT插入扫描链),需要测量电路功能是否与以前一致。
16.后仿真(时序仿真)
将SDF文件反标,此时仿真主要检查时序问题,因此又称时序仿真。
17.ECO(Engineering Change Order)
临近流片,发现电路问题,没有时间改变RTL,网表由工程师直接修改。
18.物理验证
LVS(Layout Vs Schematic)验证是综合地图和逻辑后门级电路图的对比验证。 DRC(Design Rule Checking):检查设计规则,检查连接间距、连接宽度是否符合工艺要求。 ERC(Electrical Rule Checking):检查电气规则,检查短路和开路 规则违例。
19.流片(Tape out)
假期、团建、旅游
PS: 1.一直在做一些步骤,比如模拟。有些步骤是重复的,比如STA,LEC等等。有些步骤可能不需要做,比如ECO等。 2.DFT由专门的DFT工程师完成后,有的认为属于前端,有的认为属于后端,有的认为属于中端,不用太纠结。 3.如果电路改变,时间充裕,相关验证环节一般需要重新开始,除非确定改变不会影响这个环节。