ASIC和SOC设计的流程相近。ASIC主要是在PC端,现在SOC是主流。
一、需求分析
产品要解决什么问题,预测未来3-5年的走势和趋向,确保芯片是有卖点和前瞻性,面向未来。
客户向fabless提出设计要求,包括芯片需要达到的具体功能和性能方面的要求。需求分析后生成文档,性能指标,需求展望spec,让架构师可以进行细化。
二、功能架构设计
架构师将系统功能进行分解和细化,形成spec规范,参数化、具体化。
处理器的选择:ARM、RISC-V;总线接口:AHB、APB;功能模块,是否需要DMA;
性能参数:引脚选择,电压频率、工艺选择、功耗和温度范围。
软硬件功能的划分:
三、RTL编码
使用硬件描述语言(VHDL,Verilog HDL)将模块功能以代码来描述实现。
语言输入工具:
Summit 公司的 VisualHDL
图形输入工具:
Cadence的composer
四、仿真验证(前仿)
功能仿真,对RTL级的代码进行设计验证,检验编码设计的正确性,是否满足规格中的所有要求。
仿真工具:
Verilog HDL:
Mentor公司的ModelsimSynopsys公司的VCS
五、逻辑综合
基于特定的综合库,设定电路在面积、时序等目标参数的约束条件,将设计的RTL级代码映射为门级网表netlist。
逻辑综合工具:Design Compiler
六、STA静态时序分析
在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例。
STA工具:
Synopsys的Prime Time。(PT)
七、形式验证 Formality
从功能上对综合后的网表进行验证,将综合后的网表与验证后的HDL设计对比,看他们是否在功能上存在等价性,保证逻辑综合过程中没有改变HDL描述的电路功能。
后端的流程
一、DFT
可测性设计,在设计中插入扫描链。
DFT工具:
BSCAN技术– 测试IO pad,主要实现工具是:Mentor的BSDArchit、sysnopsy的BSD Compiler;MBIST技术– 测试mem,主要实现工具是:Mentor的MBISTArchitect 、Tessent mbist;ATPG 技术– 测试std-logic,主要实现工具是:产生ATPG使用Mentor的 TestKompress 、synopsys TetraMAX,插入scan chain主要使用synopsys 的DFT compiler。
二、布局规划
放置芯片的宏单元模块,影响芯片的最终面积,IP模块、RAM、I/O引脚等摆放位置。
IC Compiler
三、时钟树综合
时钟的布线,时钟的分布应该是对称式的连接到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。
四、布线
将前端提供的网表实现成版图,包括各种标准单元之间的走线。
五、寄生参数提取
由于导线本身存在的电阻,相邻导线之间的互感、耦合电容在芯片内部会产生信号噪声、串扰和反射。提取寄生参数进行再次分析验证,分析信号完整性问题。
六、物理版图验证
对布线完成的版图进行功能和时序上的验证
LVS:版图和逻辑综合后的门级电路图对比验证
DRC:设计规则检查,检查连线间距,连线宽度。
soc芯片架构图
具体参见集成电路创新创业大赛的ARM软核移植搭建的 soc平台