目录
一、数字芯片流程
数字芯片工作流程如下图所示,确立项目之后分为前端和后端两部分,其实也没这么硬性要求区分,只不过行业这么都这么叫而已。
1.项目需求
客户向芯片设计公司提出需求,芯片实现什么功能或者有什么性能要求。让芯片架构师具体细化。
2.功能架构设计
架构师根据客户的要求,将系统功能进行分解和细化,形成spec规范,具体包括:
物理实现:
- 工艺选择
- 芯片面积
- 芯片封装
性能方面:
- 功耗
- 速度(时钟)
功能方面:
- 功能描述 -> spec
- 接口定义
3.前端流程
3.1 RTL寄存器级设计
通过Verilog HDL硬件设计描述语言针对寄存器级进行设计,根据Spec功能描述文档设计电路,来实现Spec所要求的芯片的具体功能。
工具:Verilog语言
3.2 功能验证
通过使用verilog、Systemverilog以及UVM库来对芯片设计进行验证,这里主要包括代码验证和功能验证,检查代码是否有编译错误,Spec要求的功能是否实现。
工具:Verilog、Systemverilog、UVM
仿真工具:Modelsim、VCS
debug工具:Verdi
3.3 逻辑综合
需要指定特定的综合库,添加约束文件;逻辑综合得到门级网表(Netlist)
3.4 静态时序验证
在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例。
3.5 DFT可测性设计
为了在芯片生产之后,测试芯片的良率,看制作有无缺陷,一般是在电路中插入扫描连(scan chain),DFT是在得到Netlist之后,布局布线(Place and Route)之前进行设计 。
4.后端流程
4.1 布局布线
包括时钟树插入(布局时钟线),布局布线用到Synopsys的IC Compiler(ICC)工具。在布线(普通信号线)之前先布局时钟线,即时钟树综合CTS(Clock Tree Synthesis),用到Synopsys的Physical Compiler工具。
4.2 寄生参数提取
提取延迟信息。
4.3 静态时序分析
加入了布局布线延迟,更真实的时序分析。
4.4 版图物理验证
DRC(设计规则检查)、LVS(版图一致性检查)。