1.需求分析与架构探索:(架构设计- Genesis 芯神匠)
整个芯设计流程总的说来就是创意+设计+验证+制造生产,不过起点都是需求分析。简单来说就是这芯片用来干啥?芯片可以分为数字芯片和模拟芯片。屏幕前的你,手中的手机就是由一个个大大小小的芯片集成。其中实现整个画面、音频高清流畅的主要是数字芯片,而且还是数字SoC。这也是如今需求最旺的一类芯片。
经过市场调研分析,明确真实需求后,工程师们会说:先开一个spec(Specification)。 Spec,就是类似于产品规格说明书。拿着这份spec,架构团队确定基本架构和模块分解,最终设计出一个系统架构并进行建模仿真,确保Power 功耗、 Performance 性能、Area 面积等指标可实现,也就是业内常提到的 PPA 衡量标准,这可是芯片设计的终极目标。一旦确定,架构团队就可以将文档移交给设计团队,之后便进入前端设计阶段,用SystemVerilog/Verilog或VHDL硬件描述语言进行百万行起的代码编写和软件开发。
2.前端设计/功能验证:(软件仿真- PegaSim 芯神驰;硬件仿真- OmniArk 芯神鼎;原型验证- Prodigy 芯神瞳)
面对庞杂的代码,如何确保设计可靠?这就需要对设计进行前端验证,统称功能验证,也就是检查代码是否与当初的spec相符。软件仿真、硬件仿真和原型验证等方法学基本覆盖了整个前端验证方法,工程师们针对不同阶段需结合使用不同验证的方法学。
软件仿真适合小型设计和模块级仿真。其实从早期的需求分析与架构探索就可以使用,可以覆盖功能验证中的RTL级仿真也可以配合超大容量硬件仿真加速器和快速原型系统等在多个应用场景协同工作。可以说是每个验证工程师常规必备的EDA工具。
硬件仿真是对完整的SoC设计进行加速仿真并调试,包括SoC设计的系统级功能验证、IP设计验证,多应用于设计前期的RTL功能验证。与原型验证系统相比,最大的优点就是其强大的调试能力,可以检查出有没有深度错误或性能瓶颈。
而原型验证是通过将RTL移植到现场可编程门阵列来验证芯片功能,因此可实现比软件仿真和硬件仿真更快的仿真性能。它会帮助工程师在芯片设计过程中搭建软硬件一体的系统验证环境,多用于SoC设计后期的系统级功能和性能验证。
在流片前工程师们就可以在SoC的基本功能验证通过后,立刻开始驱动和应用软件开发。甚至可以在流片前就给有需求的客户进行芯片演示,进行预售。而且缩短了整个验证周期,加速了产品上市时间。原型验证因其优异的性能,灵活可扩展等特性,受到各大芯片设计团队的广泛青睐,越来越多地应用于软件开发、硬件验证和系统验证中。
3.后端设计/物理实现:
前端设计结束后便是后端设计,即将设计进行物理实现,布局布线。这个时候,需要把网表转换成制造工厂可以看懂的文件,也就是转化为制造工厂可以用来制造光罩的图形文件。
4.流片、封装、测试:
完成了以上这些,芯片设计基本算结束了,下一步就是流片,也就是先搞个样品,检测一下设计的芯片能不能用。这样的一步通常会花费几百到几千万美金不等。“烧钱”都没有那么快的!一次流片失败,可能就会把芯片设计公司直接搞垮,因此芯片验证就显得尤为重要。因为如果没有进行充分的功能验证,设计中所存在的漏洞就很难在后面的物理设计阶段被发现,而只能在流片之后才会被测试出来,这就导致设计成本的严重攀升和芯片上市时间的延迟。
流片成功后就可以对芯片进行封装、测试,成品交给设备厂商,完成电子设备硬件的制造组装和软件安装。整个过程可能需要1-2年的时间,中间每一个关卡都是披荆斩棘。用不断演进的EDA工具创造出功能更强大的芯片,连接起数字世界与物理世界,这就是每一个EDA公司的使命。想知道这样的公司都有哪些吗?