锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

【基础知识】~ 集成电路设计流程,以及各阶段所使用的EDA工具

时间:2023-01-11 11:30:00 5g集成电路芯片

本章目录:

  • 1. 确定项目需求
    • 工具
  • 2. 前端设计(架构/算法设计分析)
    • 目的
    • 工具
    • 特点
  • 3. RTL 实现
    • 目的
    • 工具
    • 特点
    • Coding Style Check
  • 4. 功能验证
    • 目的
    • 工具
    • 语言
    • 特点
  • 5. 逻辑综合 DFT
    • 目的
    • 工具
    • 特点
    • DFT(Design For Test)
  • 6. 形式验证
    • 目的
    • 工具
    • 输入文件
    • 输出文件
  • 7. 静态时序分析
    • 目的
    • 工具
    • 输入
    • 输出
    • 特点
  • 8. 后端设计
  • 声明

1. 确定项目需求

首先,芯片需要市场。一般公司会先做市场调研,比如最近市场上流行的人工智能芯片、物联网芯片、5G 芯片需求量大。有了市场需求,我们可以设计芯片 spec了。架构工程师首先设计架构,确定芯片的功能,然后用算法模拟,最后得出可行的芯片设计方案。有了芯片的 spec,下一步就可以了 RTL coding 了。

工具

Office

2. 前端设计(架构/算法设计分析)

目的

完成芯片中数字部分的高级算法或架构的分析和建模,为硬件提供正确的软件功能模型。更重要的是,通过大量的高级模拟和调试 RTL 提供全面的设计指导。数字部分越复杂,越重要。

工具

MATLAB、C 、C、System C、System Verilog 等。
不同类型的芯片都不同的选择,如数字信号处理类芯片,偏好 MATLAB。

特点

这部分工作非常重要,基本上为整个芯片的性能和功耗奠定了基础。这部分工作主要由具有通信、信号处理、计算机和软件专业背景的工程师完成,以及许多具有微电子专业背景的工程师。

3. RTL 实现

目的

根据上一步的结果,从高层次描述完成 Verilog HDL 实现的过程。

工具

GVim/Emac、Verilog/VHDL

特点

这一步可以明显区分训练有素的工程师和初学者。前者在编写代码的过程中有很强的局观,可以写 Verilog HDL、在描述逻辑功能的同时,还可以兼顾逻辑综合性STA、P&R、DFX、功耗分析等因素最终为其他环节的工程师提供了悦目的代码。初学者到处留地雷,不小心引爆。

Coding Style Check

目的:排除 RTL 代码中 CDC(Clock Domain Cross)、Lint 等问题。

CDC:跨时钟域检查

LInt:检查代码潜在问题(例如 A B 进位溢出)

工具:Syglass、LEDA、0inCDC

特点:目前芯片中的数字部分大多采用局部同步和全局异步的设计策略。因此,在设计中需要注意跨时钟域的数据同步。

输入:RTL,SDC,lib/sglib
输出:wave file,report

4. 功能验证

目的

理想情况下,通过大量的模拟,发现电路设计过程中的人为或非人为原因 bug。主要指标是功能覆盖率。

工具

Modelsim、VCS、NC-Verilog、(DVE/Verdi 波形查看器)

语言

C 、C、System C、System Verilog,基于 UVM 主要是 System Verilog,一般用哪个方便。

特点

近年来,验证工程师已成为 IC 在设计中需求最大的职位。这一阶段将占用大量的时间,数以月计。

5. 逻辑综合 DFT

目的

将 RTL 代码映射是与工艺库相关的网表。

工具

DesignCompiler、RTL Compiler。
DesignCompiler 在市场上占据垄断地位几乎成为逻辑综合标准。

特点

  1. 从芯片生产的角度来看,在这一步之前,所有的工作都可以被视为虚拟的,与现实无关。从逻辑综合的角度来看,续工作都将与工艺的物理特性和电气特性密切相关。逻辑综合工具的主要功能是 VerilogHDL 格式文本映射为网表格式文本,因此其功能相当于文本编译器。那么转换的方法有很多种,如何选择工具呢?在逻辑综合过程中,整个文本格式的编译过程是在给定的人为约束条件下进行的,指导工具完成这些约束和设定的目标 Compiler 的工作。因此,逻辑综合过程可以看作是一个多目标(频率、面积、功耗)、多约束的工程优化问题。
  2. 这一步通常会插入 DFT、clock gating 等。
  3. 该步骤中通常加入 Memory、各种 IP 等等 FPGA 原型验证平台之间有一个更方便的移植,注意适当处理这些 Memory、IP 等接口。也可以在此步骤中添加 I/O、PLL 等。

DFT(Design For Test)

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

输入文件:
a.RTL 代码:由 ASIC design engineers 团队提供;交接前必须保证 3 步的 check 没有问题;
b.工艺库(.db):晶圆厂提供;
c.约束(SDC):由逻辑综合工程师和 ASIC design engineers 共同商定。

输出文件:
a.网表:包含 RTL 中的所有的逻辑信息,除此以外,可能还会有 DFT、clock gating、I/O等等;网表主要用于 P&R 等流程;
b.标准延迟文件 SDF:时序仿真主要包括网表中所有设备的延迟信息;PT 结合后端工具生成的更准确 sdf ,因此,它通常被使用 PT 的 sdf 文件做后仿真。Project 文件:.ddc;
c.各种报告:timing report、area report、constrain report、clock report、violation report 等等,以及工具 log 文件。(这里最好熟悉各种脚本语言 report 友好易读处理)

6. 形式验证

目的

RTL 网表的代码和逻辑是否具有一致的功能。(特别是在后端 ECO 的时候)

工具

Formality、Conformal

输入文件

RTL 代码、netlist(逻辑综合输出)

输出文件

match 和 verify 报告。

7. 静态时序分析

目的

对设计中的所有路径进行分析,以确保满足内部时间单元对建立时间和维持时间的要求。

工具

PimeTime、Tempus。
PrimeTime 在市场中占有垄断性地位,几乎成为 STA 的标准

输入

spef 文件、PnR 网表,标准单元库 db 文件,IP 的 dp 文件

输出

SDF,timing ECO 文件

特点

  1. 从逻辑综合开始,基本上每做一步大的调整,都会完成一次 STA 分析,以保证每步都能实现时序收敛。鉴于该特性非常重要,PrimeTime 成为了 Signoff 的重要工具。
  2. 所用到的 SDC 同逻辑综合;
  3. 通常设计中会存在大量的违例路径,STA 要修大量的 setup、hold 等,如何修这些违例,可以体现工作经验的重要性。此外,如果是前端修 timing 违例,一般会修的很快,但是会带来一个重大的问题,代码被前端修改后是否存在新的 bug,还需重新仿真确认,仿真会消耗掉数以月计的时间,所以除非万不得已,不会找前端修 timing。

注:静态时序分析和形式验证这属于验证范畴。

STA 主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。而形式验证是从功能上对综合后的网表进行验证。常用的就是等价性检查(LEC)方法,以功能验证后的 HDL 设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。

静态时序分析和形式验证出现在设计流程中前后端过程,有一些地方在前端中没有提到,应该是在后端当中比较重要,作为验证设计工作的一部分,在前端中也加入静态时序分析和形式验证可以提高设计的可靠性。

8. 后端设计

Place & Route 一般由后端工程师来做,Physical Design Engineer.
后端里 DRC 就是要检查设计规则是否符合芯片制造商的要求,这样才能正确的生产芯片。
后端完成工作后,最终会生成 GDSII 格式的文件,交由芯片制造商流片。

声明

本人所有系列的文章,仅供学习,不可商用,如有侵权,请告知,立删!!!

本人主要是记录学习过程,以供自己回头复习,再就是提供给后人参考,不喜勿喷!!!

如果觉得对你有用的话,记得收藏+评论!!!

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章