芯片设计中的ECO是什么?

女排世界杯冠军44802025-12-16 01:24:22

芯片设计中的ECO是什么?-腾讯云开发者社区-腾讯云

如标题所写,我们今天聊一聊IC设计种的ECO。在展开关于ECO的概念之前,我们先大致捋下数字IC设计的流程,有助于我们后面的讨论。

数字IC设计流程简述

1、确定项目需求

根据市场或者芯片功能要求,设计芯片的spec,得到可行的芯片设计方案。

2、系统级设计

用系统建模语言对各模块进行描述

3、前端设计

RTL设计、功能仿真、硬件原型验证、电路综合、DFT、STA

4、后端设计

版图设计、物理验证、后仿真

在复杂的设计流程中,bug是难以避免的。对于芯片设计而言,bug自然是越早发现越好。但是仿真验证差不多,进入RTL freeze阶段后,一旦发现新的bug,就变得有些麻烦。

因为RTL freeze前,你可以通过修改RTL来更正你发现的bug。然而RTL freeze之后,后端人员做好了floorplan,或者已经开始布局布线,这个时候再去重新做一遍,既耗时耗力,又会惹怒后端。这显然不是好的选择。

如果这个时候即将tapeout,甚至已经tapeout,根本就没有机会修改RTL了。

这个时候,我们就需要ECO,来修正我们的失误了。

什么是ECO?

ECO,即Engineering Change Order的缩写,指工程改变命令。

什么意思呢?简单来说就是手动修改集成电路的过程,换句话说,就是直接手动修改netlist。

一般应用于数字芯片版图设计。

对于数字IC设计而言,ECO这一步实际上是正常设计流程的一个例外。它是对设计的layout进行局部的小范围的修改和重新布线,而不影响到设计的其它部分的布局布线,所以其它部分的时序信息没有改变。

根据功能的不同,ECO可以分为功能改变和非功能改变。功能改变是指由于来自客户对设计的追加需求(spec改变)或者设计的最后阶段发现芯片存在 bug 的情况下进行的 ECO;而非功能改变则是为了在不改变 RTL 网表的基础上修复部分时序以及串扰等问题而做的 ECO。

说到底,ECO的目的就是省钱省时间。

那么在不同阶段,进行ECO,有什么样的区别呢?

在阶段上,数字IC设计中的ECO大体可以分为:tapeout前的ECO,tapeout过程的ECO,tapeout后的ECO。

Tapeout前的ECO

指尖沈阳APP下载安装 V8.2.0 安卓版
沉痛悼念李小江教授