数字芯片流程

 

  芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。

需求分析

  产品要解决什么问题,预测未来 3-5 年的走势和趋向,确保芯片是有卖点和前瞻性,面向未来。客户向 fabless(芯片设计公司)提出设计要求,包括芯片需要达到的具体功能和性能方面的要求,让架构师可以进行细化。

功能架构设计

  架构师将系统功能进行分解和细化,形成 spec 规范,将设计参数化、具体化。包括处理器架构的选择:ARM、RISC-V;

  总线接口选择:AHB、AXI、APB;

  软硬件功能的划分:硬件速度快,性能高,灵活性差。软件速度慢、性能差灵活性高开发周期短。

  性能参数:引脚选择,电压频率、工艺选择、功耗和温度范围。

前端流程

RTL 编码

  使用硬件描述语言将模块功能以代码来描述实现。图形输入工具:Cadence 的 composer

功能仿真验证(前仿)

  功能仿真,对 RTL 级的代码进行设计验证,检验设计功能的正确性,是否满足规格中的所有要求。

  仿真工具:Modelsim、VCS

逻辑综合

  基于特定的工艺库,设定电路的面积、时序等目标参数的约束条件,将设计的 RTL 级代码映射为门级网表 netlist。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。

综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)。逻辑综合工具:Design Compiler

STA 静态时序分析

  在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例。

  STA 工具:Synopsys 的 Prime Time。(PT)

形式验证 Formality

  从功能上对综合后的网表进行验证,将综合后的网表与验证后的 HDL 设计对比,看他们是否在功能上存在等价性,保证逻辑综合过程中没有改变 HDL 描述的电路功能。

  形式验证工具:Synopsys 的 Formality

后端流程

DFT

  可测性设计,在设计中插入扫描链。SCAN、Mbist、ATPG 技术等。

  为了保证芯片内部的制造缺陷尽量能够被检测到,通过在电路中插入扫描链(Scan Chain)的方式,测试 IC 在生产制造过程中是否出现问题。加入 DFT 会增加 20~30的面积。但为了保证良率,为了给客户的片子是合格的需要将具有缺陷(工厂制造缺陷)的片子筛除。

布局规划

  放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,能影响芯片的最终面积。如 IP 模块、RAM、I/O 引脚等摆放位置。

  工具:IC Compiler

时钟树综合 CTS

  时钟的布线,时钟分布 H 型或树形,使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。

  工具:PC

布线

  将前端提供的网表实现成版图,包括各种标准单元之间的走线。

寄生参数提取

  由于导线本身存在的电阻,相邻导线之间的互感、耦合电容在芯片内部会产生信号噪声、串扰和反射。提取寄生参数进行再次分析验证,分析信号完整性问题。

物理版图验证

  对布线完成的版图进行功能和时序上的验证

  LVS:版图和逻辑综合后的门级电路图对比验证

  DRC:设计规则检查,检查连线间距,连线宽度。

  ERC:电气规则检查,检查短路开路。

  实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的 DFM(可制造性设计)问题。物理版图以 GDS II 的文件格式交给芯片代工厂(称为 Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了可使用的芯片。

posted @ 2023-06-07 23:14  superego_zhang  阅读(19)  评论(0编辑  收藏  举报