使用 Conformal 的工程变更单 (ECO) 入门

描述

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

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

  芯片开发发生在不同的阶段。我们有一个前端阶段,包括 RTL 设计、设计验证和 DFT 插入,而在后端阶段,我们有平面规划、时钟树综合和布局布线。在 RTL 设计过程中,先编写芯片代码,然后进行仿真。接下来,设计被综合,然后在 RTL 代码被冻结的同时通过各种后端流程。

  在芯片开发过程中,很容易出现错误,在流片之前修复这些错误很重要,以确保芯片中的功能不会受到影响。在像M1 max这样的芯片中,由于晶体管数量大,出现bug的概率就更大了。在 RTL 冻结后发现的错误可以通过修改网表代码或通过 Cadence Conformal或 Synopsys Formality等工具手动执行工程变更单 (ECO) 来修复。

处理器

  图 1这就是手动 ECO 流程的样子。

  对于小型 ECO,手动更改网表代码是有效的,但在较大 ECO 的情况下,使用 EDA 工具是更好的选择,因为可以调整现有的逻辑等效检查 (LEC) 流程以自动执行整个 ECO 流程。在本文中,我们将介绍半导体行业广泛使用的 premask flatten Cadence Conformal ECO 流程。

  前掩膜平整 ECO 流程所涉及的步骤

  图 2解释了使用 Conformal 的 premask flatten ECO 流程。在开始 ECO 流程之前,应执行某些等效性检查。LEC 在修改后验证设计,而无需从测试台传递任何测试向量。这些检查比运行回归模拟更快,工程师经常使用这些检查在任何设计更改后执行健全性检查。

处理器

  图 2使用 Conformal 执行 Premask flatten ECO 流程。

  RTL1 – 没有ECO的原创设计

  RTL2 – 使用 ECO 修改设计

  PNR1 – 来自 RTL1 的后布线网表,没有 ECO

  SYN2 – 带有 ECO 的 RTL2 综合网表

  PNR2 – 带有 ECO 补丁的后布线网表

  有关 LEC 及其流程的更多信息,请参见本系列的第一篇文章“使用 Conformal 进行逻辑等效检查 (LEC) 入门”。

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

处理器

  图 3显示了有关使用 Conformal 的 premask flatten ECO 程序的更多详细信息。

  然后,该工具生成一个补丁,然后将该补丁应用到黄金设计 - PNR1 上,以获取具有 ECO (PNR2) 的新布线后网表。最后,使用提供的库信息使用 Cadence 的Genus综合工具完成补丁优化。为了验证 ECO 补丁并确保没有其他故障出现,LEC 在 SYN2 和 PNR2 之间运行,并且期望得到零非等效关键点的干净结果。

  利用LEC流程做ECO

  如前所述,可以修改现有的 LEC 流程以适应 ECO 流程。执行 ECO 时这样做的第一步是比较黄金设计和修改设计,以计算它们之间的增量。这个增量又名补丁后来被优化并应用于黄金网表。随后,再次使用 LEC 比较带补丁的黄金网表和带补丁的综合网表以验证 ECO。如果比较干净,那么 ECO 就成功了。

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

  生成:此命令生成分层补丁。该工具还可以根据补丁和引脚可用性添加/删除 ECO 引脚。

  analysis_eco -hierarchical -ecopin_dofile ecopins.do patch.v -replace

  set_system_mode 设置

  dofile ecopins.do

  将补丁应用于黄金设计:使用以下命令将生成的补丁应用于黄金设计。

  apply_patch -auto

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

  optimize_patch -workdir

  -library

  -sdc

  -实例命名“ECOinst_%d”

  -网络命名“ECOnet_%d”

  -顺序命名“ECOreg_%s”

  -synexec “属”

  -详细

  在 RTL 冻结后,可以在设计中发现错误,并最终通过执行 ECO 来解决。手动更改网表代码可能是一个耗时且麻烦的过程。与手动执行 ECO 相比,使用 Conformal 或 Formality 等 EDA 工具可以自动化整个 ECO 流程,使其更快并且通常提供更好的结果。由于 Conformal ECO 流程利用了现有的 LEC 流程,因此在某些情况下可显着减少整体 ECO 工作量。

         ymf

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分