一.确定项目需求
1.确定芯片的具体指标,包括
物理实现:制作工艺、裸片面积、封装等。
性能指标:速度(时钟频率)、功耗等。
功能指标:功能描述、接口定义。
2.系统级设计
用系统建模语言(matlab、c语言等)对各个模块描述,对方案可行性进行验证。
二.前端流程
1.RTL设计:利用硬件描述语言,对电路及寄存器之间的传输进行描述。
2.功能验证:对设计的功能进行仿真验证,需要激励,常用工具有Mentor的Modelsim、Synopsys的VCS、以及Cadence 的NC-Verilog等,该部分称为前仿。
3.逻辑综合(Design Compile):需要指定特定的综合库,添加约束文件,综合得到门级网表(Netlist)。
4.形式验证(静态验证):对综合后的网表进行功能上的验证。常用的是等价性检查,对比HDL设计和综合后的网表功能是否有等价性,常用工具为Synopsys的Formality工具。
5.STA静态时序分析:在时序上进行分析,常用工具为Synopsys的PT工具,一般用在后端设计中,由版图生成网表去STA更准确一些。STA满足时序约束,得到最终的Netlist。
6.DFT可测性设计:一般在电路中插入扫描链,DFT一般是在得到Netlist之后,布局布线之前进行设计。
三.后端流程
1.布局布线(Place and Route):
在布线(普通信号线)之前先布局时钟线,即时钟树综合CTS(Clock Tree Synthesis),用到Synopsys的Physical Compiler工具。
包括时钟树插入,常用工具为Synopsys的IC Compiler(ICC)工具。
2.寄生参数提取(Extrat RC):提取延迟信息。
3.静态时序分析(STA):加入了布局布线延迟,更真实的时序分析。
4.版图物理验证:DRC(设计规则检查)、LVS(版图一致性检查)
工具:Mentor:Calibre
Synopsys:Hercules
Cadence:Diva/dracula
5.生成GDSII文件,Tapeout流片。