使用保形技术的工程变更单(ECO)入门

文章作者:Deekshith Krishnegowda

这里详细介绍了半导体设计行业中广泛使用的premask展平Cadence共形生态流。

现代数字逻辑包括组合逻辑和顺序逻辑。组合逻辑由门组成,顺序逻辑由触发器组成。不同的晶体管以一种特殊的方式连接形成一个门,而不同的门连接形成一个触发器。无论是组合逻辑还是顺序逻辑,任何芯片的基本单元都是晶体管。

现代芯片由数十亿个晶体管组成。例如,2021年10月推出的最新MacBook M1 max处理器由大约570亿个晶体管组成。从晶体管的数量可以推断,M1 max处理器至少包含几百万个门(如果不是数十亿个的话),这些门被小心地放置在单元位置。这些门以逻辑的方式精心互连,以获得功能芯片。

芯片开发分为不同的阶段。我们有一个前端阶段,包括RTL设计、设计验证和DFT插入,而在后端阶段,我们有楼层规划、时钟树合成以及位置和路线。在RTL设计过程中,编写了芯片代码并进行了仿真。接下来,将对设计进行综合,然后在RTL代码冻结的同时执行各种后端过程。

在芯片开发过程中,很容易出现bug,在退出之前修复这些bug非常重要,以确保芯片中的功能不会受到损害。在像m1max这样的芯片中,由于晶体管数量大,错误发生的可能性更大。RTL冻结后发现的bug可以通过执行工程变更单(ECO)来修复,可以手动修改网表代码,也可以通过Cadence等工具进行修复保角的还是通俗正式手续.

图1这就是手动生态流的样子。

对于小型ECO,手动更改网络列表代码是有效的,但对于大型ECO,使用EDA工具是一个更好的选择,因为可以调整现有的逻辑等价性检查(LEC)流以自动化整个ECO过程。在本文中,我们将介绍在半导体工业中广泛使用的premask展平Cadence共形生态流。

premask展平生态流中涉及的步骤

图2用保形图解释premask展平生态流。在开始ECO流程之前,应进行某些等效性检查。LEC在修改后验证设计,无需通过测试台的任何测试向量。这些检查比运行回归模拟更快,工程师通常在任何设计更改后使用这些检查来执行健全性检查。

图2Premask展平ECO流使用保形执行。

RTL1–没有ECO的原始设计

RTL2–使用ECO改进设计

PNR1–从RTL1发布路由网络列表,不带ECO

SYN2–使用ECO从RTL2合成网表

PNR2–使用ECO修补程序发布路由网络列表

有关LEC及其流程的更多信息,请参阅本系列的第一篇文章,标题为使用共形矩阵的逻辑等价性检查(LEC)入门”.

完成所有初步检查后,将带有ECO(SYN2)的合成网表和原始后路由网表(PNR1)提供给Conformal工具。这些网络列表分别称为修订设计和黄金设计。Conformal工具读取不同类型的优化,例如由合成工具执行的边界优化和分层时钟选通,并在输入golden和修改后的网表之间执行LEC。LEC将报告非等效点。应仔细检查这些非等效点,因为补丁生成取决于这些失败的关键点。

图3有关使用保形的premask展平ECO程序的更多详细信息,请参见。

然后,该工具生成一个补丁,稍后,该补丁将应用于golden design-PNR1,以获得一个带有ECO(PNR2)的新后路由网络列表。最后,使用Cadence算法进行面片优化使用提供的库信息的合成工具。为了验证ECO修补程序并确保没有出现其他故障,LEC在SYN2和PNR2之间运行,并且预期结果干净,没有非等效关键点。

利用LEC流进行ECO

如前所述,可以修改现有LEC流量,以适应生态流量。执行ECO时,第一步是比较黄金设计和修订设计,以计算两者之间的增量。这个delta a.k.a.补丁稍后进行了优化,并应用于golden netlist。随后,使用LEC再次比较带补丁的黄金网表和带补丁的合成网表,以验证ECO。如果比较是干净的,那么ECO就是成功的。

因此,简而言之,我们需要在ECO之前进行三次等价性检查,在ECO期间进行两次等价性检查。在ECO期间的两次等价性检查之间,通过以下命令生成、应用和优化修补程序:

  1. 生成:此命令生成分层修补程序。该工具还可以根据补丁和插针的可用性添加/删除ECO插针。

分析\u eco-分层-ecopin\u dofile ecopins.do patch.v-替换

设置系统模式设置

dofile ecopins.do

  1. 将修补程序应用于黄金设计:使用以下命令将生成的修补程序应用于golden design。

应用补丁-自动

  1. 优化:该补丁随后使用提供的库信息和Genus合成工具进行优化。优化补丁中实例、网络和寄存器的命名可以通过适当的参数进行控制。

优化补丁-workdir

-库

-sdc

-实例命名“ECOinst_uUd”

-网络命名“ECOnet_Ud”

-顺序命名“ECOreg_uUs”

-synexec“属”

-冗长的

RTL冻结后,可以在设计中发现bug,并最终通过执行ECOs解决。手动更改网络列表代码可能是一个耗时且繁琐的过程。使用EDA工具(如Conformal或Formality)可以自动化整个ECO过程,与手动执行ECO相比,使其更快,通常提供更好的结果。由于保形生态流利用了现有的LEC流,因此在某些情况下,它会显著减少整体生态努力。

本系列的其他文章

免责声明:作者与Cadence设计系统或Synopsys没有任何关联。任何特定的产品参考不构成认可或推荐。作者发表的观点或意见并不反映作者的雇主Marvell Technology Inc.的观点。

这篇文章最初发表在埃德恩.

迪克希特·克里什内戈达是Marvell Technology圣克拉拉办公室的IC设计工程师。

留言