基于standcell的简单ASIC设计流程如下
- 算法模型(C/C++/Matlab)
- RTL HDL(VHDL/Verilog)
RTL——Register Transfer Level(寄存器传输级)
不关心寄存器和组合逻辑的细节,通过寄存器到寄存器的逻辑功能来描述电路的HDL层次,比门级简单高效的多。
RTL HDL最重要的特性就是可进行综合生成网表文件。 - Netlist Verilog
网表文件是具体的电路结构图 - Layout GDSII
对网表文件进行布局布线为实际电路版图 - Tape - Out
流片阶段
详细流程
第一步 Marketing request(市场需求)
第二步 Architecture Specification.(产品结构说明书)
架构师担纲把顶层架构和项目函数说明文档给出
- top architect
- project function spec
第三步 Arch/Algorithm Emulation(算法模拟)
算法工程师用C/C++/Matlab进行算法模拟仿真
第四步 Design Spec (设计规格说明书)
即产品说明文档,类似软件开发过程中的产品经理给出的文档
第五步 RTL coding 阶段(Top层)和IP Level RTL Coding 阶段(IP层)
代码实现
RTL design engineer使用硬件描述语言进行电路描述
第六步 simulation&verification 仿真验证阶段
- RTL simulation 和 RTL verification
- IP Level RTL simulation 和 IP Level verification
- Unit/Chip Level RTL simulation 和 Unit/Chip Level verification
仿真验证工具
- Cadence 公司——Incisive
- Synopsys公司——VCS
- Mentor公司——QuestaSim
第七步 逻辑综合阶段Logic Synthesis——属于前端范畴
设计和验证结束后就是逻辑综合阶段,逻辑综合会把设计实现的RTL代码映射到特定的工艺库上,输出成门级网表Netlist。
需要注意的是逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元standard cell的面积、时序参数是不一样的。
逻辑综合工具
- Cadence 公司——Genus
- Synopsys公司——Design
- Compiler公司——DC
第八步 形式验证阶段——属于前端范畴
上个阶段输出了网表,那么输出的网表是否和HDL设计一致呢?所以需要对网表进行验证,也叫形式验证。常用的就是等价性检查(equivalence check)方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性,保证在逻辑综合过程中没有改变原先HDL描述的电路功能。
形式验证工具
- Cadence 公司——Conformal
- Synopsys公司——Formality
第九步 STA阶段(静态时序分析)——属于前端范畴
主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)
STA工具
- Cadence 公司——Tempus
- Synopsys公司——Prime Time(PT)
第十步 DFT阶段(design for test)——属于后端范畴
可测性设计,在设计中插入扫描链。
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。
第十一步 版图生成,自动布局布线阶段(PR)——属于后端范畴
放置芯片的宏单元模块,影响芯片的最终面积,IP模块、RAM、I/O引脚等摆放位置。
自动布局布线工具
- Cadence 公司——Innovus
- Synopsys公司——IC Compiler(ICC)
第十二步 时钟树插入阶段
时钟的布线,时钟的分布应该是对称式的连接到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。
第十三步 DRC/LVS物理验证阶段
DRC——Design Rule Check 设计规则检查
LVS——Layout Versus Schematic 版图一致性验证
物理验证工具
- Cadence 公司——Diva/Dracula
- Synopsys公司——Hercules
- Mentor公司——Calibre
第十四步 Post_Layout STA
第十五步 生成最终的GDSII
GDSII流格式,常见的缩写GDSII,是一个数据库文件格式。它用于集成电路版图的数据转换,并成为事实上的工业标准。GDSII是一个二进制文件,其中含有集成电路版图中的平面的几何形状,文本或标签,以及其他有关信息并可以由层次结构组成。GDSII数据可用于重建所有或部分的版图信息。它可以用作制作光刻掩膜版。