芯片设计流程最全讲解

bba03b76b67795b193be2adf7f3fc812.png

数字集成电路设计实现流程是个相当漫长的过程,拿手机基带芯片为例,对于3G, 4G, 5G, 工程师最初见到的是无数页的协议文档。架构师要根据协议来确定:协议的哪些部分可以用软件实现,哪些部分需要用硬件实现;算法工程师要深入研读协议的每一部分,并选定实现所用算法;芯片设计工程师,需要将算法工程师选定的算法,描述成RTL; 芯片验证工程师,需要根据算法工程师选定的算法设计测试向量,对RTL 做功能、效能验证;数字实现工程师,需要根据算法工程师和设计工程师设定的目标PPA 将RTL 揉搓成GDS; 芯片生产由于太过复杂,完全交由代工厂完成,封装亦是;对于测试,大部分公司都是租借第三方测试基台由自己的测试工程师完成,只有少部分土豪公司才会有自己的测试基台。

72cbcbabc2f051895c00f26acbae89df.png

设计工程师根据算法工程师经过反复模拟仿真选择的算法,将抽象描述或定点C 转换成RTL, 在设计过程中需要反复仿真、综合,以确定设计功能的正确性,跟设计能达到的PPA. 除了RTL, 设计工程师还需要根据设计目标编写SDC 和power intent, 并做对应的质量检查。设计工程师需要使用大量EDA 工具:

  • 编辑器:VIM, emac;

  • Lint : RTL 质量检查,Spyglass, Jasper;

  • CDC: SDC 质量检查,Spyglass, Conformal, GCA;

  • CPF/1801: power intent 质量检查,CLP;

  • Power: RTL 级功耗分析,Joules, PA;

  • 仿真器:C, S, M 三家都有各自的仿真工具;

  • 综合:Genus, DC;

f9b46813c219384db4dd0ee7b8279793.png

数字验证领域,依旧是C, S, M 三家几乎全霸,老驴已不做验证多年,对S, M 两家验证相关工具除了VCS, Verdi, Modelsim 其他几乎无知,此处拿C 家验证全套为例。

  • Static Verification: Jasper Gold 是C 家新近推出的静态验证工具,驴所理解的静态验证是基于断言的验证方法学,所谓静态即不需要输入测试激励,验证过程是纯数学行为。

  • Dynamic Verification: Xcelium 是C 家的动态验证工具,驴所理解的动态验证是基于UVM 的验证方法学,通过输入测试激励,监控仿真结果,分析覆盖率完成功能验证。

  • Emulator: 硬件仿真加速器,粗暴理解:有debug 功能的集成了丰富接口的巨型可编程阵列;特点:超高速验证、支持系统软件调试。帕拉丁是C 家在验证领域的明星产品,是行业翘楚,据说常有钦差莅临硅厂在帕拉丁前驻足良久,赏其外形之美,赞其功能之强。

  • Verification IP: 验证需要各种验证模型,各种IP, 各种总线,各种高速接口。

66915fa60831d431a50cef0080400d82.png

FPGA 的一大应用是验证,故提一嘴。在世上曾经有两家牛逼闪闪的FPGA 公司,一家是Altera 另一家是Xilinx, 后来Altera 像Mentor 一样找了个大爷把自己卖了。FPGA 内除了可编程逻辑之外,通常还会集成各种IP, 如CPU, DSP, DDR controller 等。每家FPGA 都有各种配置,根据集成的IP, 可编程逻辑的规模,可达到的速度,价格相差极大。相对于ASIC, FPGA 也有一套对应的EDA 工具,用于综合、布局布线、烧录、调试。如:Synplify, Quartus。

45d5864cf0d2eee14e900f70ac02c7f2.png

整个实现阶段,可以概括成玩EDA 工具及基于EDA 工具的方法学,EDA 工具无疑是实现阶段的主导,一颗芯片做得好不好,在实现阶段之前基本取决于工程师的能力强不强,而在实现阶段之后基本取决于EDA 工具玩得好不好。整个设计实现流程,涉及到许多工具,此处列出四家主要参与者,空白部分不代表没有,只代表驴不知。

6ff1d97dd5b5f8a96fe668e846c2cf33.png

高级综合:所谓的高级综合就是将C/ C++/ System C描述的设计意图,“翻译”成用Verilog/ System Verilog 描述的RTL, 多应用于运算逻辑主导的设计,除了三巨头,市面上有许多小公司在这一个点上也做得不错。

综合:在实现流程中,就背后算法而言,综合一定是最难最复杂的。综合首先将Verilog/ System Verilog/ VHDL 描述的逻辑转化成由Gtech 描述的逻辑,再对Gtech 逻辑做优化,优化后再将Gtech 描述映射到对应工艺库。其中优化过程涉及到多个方面,近年来EDA 工具的发展方向基本可以概括为:容量,速度,相关性。容量:指可处理的设计规模;速度:指EDA 工具的优化速度;相关性:指跟布局布线之间的相关性。主流工具:Genus, Design Compiler. 在这一点上,几乎再难有后起之秀,除非有朝一日,整个数字电路的设计方法学发生颠覆性的革新。

ff4cd8413b54a90fc0a3032e4f473633.png

RTL 功耗分析:这一步可以放在实现端做也可以放在实现之前做。分析过程相对简单:读入RTL, SDC, 仿真激励,通过计算分析平均功耗跟瞬时功耗,找出设计中的“功耗缺陷”,指导Designer 进行功耗优化。主流工具有:Joules, Spyglass, PowerArtist.

形式验证:在整个实现流程中,形式验证充当逻辑功能等效性的监察官,任何一步优化结束后都需要过形式验证这一关,以确保在优化过程中,逻辑功能未被改变。主流工具:LEC, Formality. 随着设计规模的暴增跟优化技术的飞速发展,形式验证的难度逐渐增加,占用的时间逐渐增多,SmartLEC 是针对复杂设计的先行者。

低功耗验证:针对低功耗设计,低功耗验证要验证CPF/ UPF/ 1801 的语法语义跟描述意图,要验证低功耗单元未多插,未漏插,未乱插,要验证电源跟地的链接符合设计意图,要验证电特性的完整性。主流工具:CLP。

e376b2e41af48c8ab4d0c0e6b691a5a5.png

5T技术资源大放送!包括但不限于:C/C++,Arm, Linux,Android,人工智能,单片机,树莓派,等等。在上面的【人人都是极客】公众号内回复「peter」,即可免费获取!!

0e27172783155ba986935c139a3d5060.gif 记得点击分享在看,给我充点儿电吧

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33847 人正在系统学习中

来源:布道师Peter

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月6日
下一篇 2022年1月6日

相关推荐