0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分析LEC在IC设计中的重要性和应用

半导体科技评论 来源:djl 作者:Pratik Patel,Prathm 2019-08-28 14:25 次阅读

VLSI的设计周期分为两个阶段:前端和后端。前端涵盖架构规范、编码和验证,而后端涉及目标制程技术节点上设计的物理实现。

本文主要介绍LEC(逻辑等效检查)在ASIC设计周期中的重要性,如何检查它以及当LEC失败时该怎么做。我们将探索一个测试用例,看看如果LEC失败会发生什么,如何查明问题以及采取哪些措施来解决问题。

LEC的重要性

ASIC在流片之前,要经历一系列设计步骤,如综合、布局布线、签核(sign-offs)、ECO(工程变更单)以及众多优化过程。在每个阶段,我们都需要确保逻辑功能完好无损,并且不会因为任何自动或手动更改而中断。如果功能在整个过程中的任何时刻发生变化,整个芯片就变得毫无用处。这就是为什么LEC是整个芯片设计过程中最重要的原因之一。

随着制程技术节点的缩小和复杂性的增加,逻辑等效检查在确保功能的正确性方面起着重要作用。

LEC包括三个步骤,如下图所示:设置模式,映射模式和比较模式。

分析LEC在IC设计中的重要性和应用

图1:逻辑等效检查流程图

有各种用于执行LEC的EDA工具,例如Synopsys Formality和Cadence Conformal。这里,我们将Conformal工具作为参考,以解释LEC的重要性。

逻辑等效检查的步骤

让我们仔细看看逻辑等价检查的各个步骤:

1)设置

在设置模式下,Conformal工具读取两个设计。我们指定设计类型,即Golden(综合网表)和修订版(通常,修改后的设计是Conformal工具与Golden设计相比的修改或后处理设计)。对于LEC的执行,Conformal工具需要三种类型的文件。

1. .lec文件指导Conformal工具以系统方式执行不同的命令。

2. .scan_const文件提供与扫描相关的约束,例如我们是否要忽略此文件中定义的某些扫描连接/ serdes输入/输出引脚。

3. .stdlib文件包含标准单元库的指针。

在从设置模式到LEC模式的过渡中,Conformal工具展平并模拟Golden和修改后的设计并自动映射关键点。关键点定义为:

主要输入

主要产出

D Flip-Flops

D锁存

TIE-E门(错误门,在修订设计中存在x赋值时创建)

TIE-Z门(高阻抗或浮动信号

黑匣子

2)映射

在等效性检查的第二阶段,Conformal工具自动映射关键点并进行比较。比较完成后,它会确定差异。Conformal工具使用两种基于名称的方法和一种无名方法来映射关键点。当对逻辑进行微小更改时,基于名称的映射对于gate-to-gate比较非常有用。

相反,当Conformal工具必须使用完全不同的名称映射设计时,无名映射方法很有用。默认情况下,它会在退出设置模式时使用名称优先映射方法自动映射关键点。Conformal工具未映射的关键点被归类为未映射的点。

未映射的点分为三类:

额外未映射的点是仅在其中一个设计(Golden或Revised)中出现的关键点。

无法到达的未映射点是没有可观察点的关键点,例如主输出。

未映射的未映射点是可到达的关键点,但在相应设计的逻辑扇入锥中没有对应点。

3)比较

在Conformal工具映射关键点之后,验证的下一步是比较。比较检查关键点以确定它们是等效还是非等效。比较确定比较点是否:

等效

非等效

逆等效(Inverted-equivalent)

中止

在中止比较点的情况下,我们可以将比较工作更改为更高的设置。因此,Conformal工具可以仅在中止的比较点上继续比较。Conformal工具显示用于比较的完整运行时间和总内存。

LEC完成后会生成多个报告:

非等效报告

未映射的报告

Blockbox报告

Abort.rpt

Unreachable.rpt

Floating.rpt

Mapped.rpt

在签核或流片处理阶段,时间表太紧,无法处理具有一些严重逻辑故障的块。有时,在进行手动修复或定时ECO时会破坏逻辑连接。在流片阶段,逻辑故障的可能性很高,物理设计工程师没有太多时间来关闭块。此外,当您获得功能ECO并进行手动连接时,破坏逻辑连接的可能性很高。让我们看一个块中LEC失败的实际例子,看看它是如何被解决的。

首先,如果LEC在所有级别失败,请不要惊慌,如前所述。当LEC失败时,第一步是检查“non-equivalent.rpt”文件。由于连接断开,可能会在“non-equivalent.rpt”文件中报告更多的单元名称。

这背后的原因是许多路径会经历一个失败/断开的连接 - 因此它的所有端点(比较点) - 被报告为“非等效”。

第1步:非等效报告

第一步是检查非等效文件。下面的示例非等效文件显示了LEC中失败的152个比较点。

分析LEC在IC设计中的重要性和应用

分析LEC在IC设计中的重要性和应用

这152个非等效触发器是多位触发器。在多位触发器中,我们合并两个触发器以形成具有多个输入和输出引脚的单个触发器。例如,如果我们将两个单比特触发器合并为一个多比特触发器,它将以D0,D1作为输入引脚,Q0,Q1作为输出引脚。

分析LEC在IC设计中的重要性和应用

由于是多位触发器,报告显示152个触发器计数为非等效,但实际上只有72个是非等效的。由于这些是两位触发器,因此总计数为72x2 = 144个触发器。剩下的是单比特触发器。

第2步:未映射的报告

下一步是检查未映射的文件。此文件显示逻辑连接断开的未映射网络。我们需要跟踪网络并找出这些网络缺失的连接。

分析LEC在IC设计中的重要性和应用

在上图中,我们可以看到在设计中没有映射一个网络(BUFT_net_362908)。从图2中可以看出,一旦我们检查LEC故障数据库中的这个网络(BUFT_net_362908)连接,我们看到它只连接到其他单元的输入引脚(* _364714 / A),但是另一个连接(由于无意的单元缺失,使得该网络缺失了。

下图中突出显示的网络为unmapped.rpt文件中报告的网络。

分析LEC在IC设计中的重要性和应用

图2:未映射报告中的网络

这里,我们可以看到LEC失败设计中报告网络的连接。

分析LEC在IC设计中的重要性和应用

当我们在未映射的文件中报告网络扇出(BUFT_net_362908)时,它在LEC传递数据库中连接到152个触发器。

分析LEC在IC设计中的重要性和应用

而LEC失败数据库中非等效文件中报告的152个触发器与LEC通过数据库中报告的网络扇出(BUFT_net_362908)相同。

分析LEC在IC设计中的重要性和应用

现在,我们需要在之前的LEC传递数据库中找到该网络的实际网络连接。在检查时,我们可以很容易地注意到报告的网络连接到LEC故障数据库中缺少的一个逆变器

为了找到丢失的单元格,我们必须在之前的LEC传递数据库中回溯跟踪此网络并检查实际连接。

分析LEC在IC设计中的重要性和应用

不要在未映射和非等效报告之间混淆。在未映射的报告中,我们只看到未驱动输入引脚的浮动网络,而在非等效报告中,我们看到所有单元格都是这个丢失单元格的扇出。

第3步:修复LEC问题

在找到LEC故障的原因后,我们必须插入一个丢失了的逆变器,并在LEC故障数据库中重做该逆变器的输入/输出逻辑连接。图3显示了新增的逆变器及其输入输出连接。现在,如果我们重新运行LEC,它将通过,非等效报告将显示零非等效点。

分析LEC在IC设计中的重要性和应用

图3:修复丢失的连接

分析LEC在IC设计中的重要性和应用

LEC失败的常见区域

如果在设计中使用多位触发器,则将出现映射golden网表与修订网表的问题,因为触发器名称将在修订后的网表中更改。

在修订的网表中克隆后,时钟门控单元未被映射。

在定时修复期间或在执行手动ECO时,逻辑连接会中断。

功能ECO实施。

缺少DFT约束。

LEC的益处

减少对门级仿真的依赖。

提高了对合成和布局布线的新工具修订的信心。

在不编写测试模式的情况下等效性几近完美。

降低后端进程丢失的漏洞风险。

结论

本文介绍了逻辑等效检查,及其流程设置、调试步骤和修复LEC的解决方案。使用真实场景,还展示了LEC完成后生成的报告,并提出了一种简单的方法来找出LEC失败的根本原因。

IC设计团队遇到LEC失败问题并不罕见,采取本文所述的步骤将帮助您解决与LEC相关的问题。

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

    关注

    37

    文章

    1264

    浏览量

    102947
  • 网络
    +关注

    关注

    14

    文章

    7250

    浏览量

    87436
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60394
收藏 人收藏

    评论

    相关推荐

    失效分析重要性

    `一般来说,集成电路研制、生产和使用过程失效不可避免,随着人们对产品质量和可靠性要求的不断提高,失效分析工作也显得越来越重要,通过芯片失效分析
    发表于 05-04 15:39

    基准源设计的重要性

    的充电过程。读过相关文章“Design SAR-ADC Driver Cirtuitry”工程师,都会深刻理解SAR-ADC驱动电路后,ADC输入引脚电容的重要性。原因是采样保持过程SAR-ADC
    发表于 06-18 06:10

    BGA焊接温度控制重要性

    `请问BGA焊接温度控制重要性有哪些?`
    发表于 03-26 16:41

    Syncer模块的重要性是什么?

    我的项目中使用25G以太网IP。通过打开此IP的示例设计,我们可以看到许多SYNCER模块,一个FSM模块和一个流量生成器模块。我想问一下这些Syncer模块的重要性是什么,我是否需要在我的最终设计中使用所有syncer模块。
    发表于 05-18 09:25

    代码规范的重要性是什么

    论代码规范的重要性
    发表于 05-19 13:07

    绝缘测试的重要性

    华天电力专业生产绝缘电阻测试仪(又称绝缘电阻表),解析来为大家分享绝缘测试的重要性。绝缘电气系统起着非常重要的作用。如果没有电绝缘,则导体中流动的电流会与其他导体发生短路,或者对人
    发表于 12-23 11:18

    欠压保护的重要性

    欠压保护的重要性双电源供电时欠压保护电路的注意事项
    发表于 03-03 06:06

    什么是网络拓扑,它的重要性是什么?

    什么是网络拓扑,它的重要性是什么?
    发表于 03-17 06:50

    传感器波形分析汽车故障诊断重要性

    传感器波形分析汽车故障诊断重要性
    发表于 05-12 06:27

    论调节阀的重要性

    调节阀的重要性执行机构的选择  论调节阀的重要性:  1.控制阀是一种节流装置,属于运动部件。与检测元件、变送器和控制器相比,控制过程,控制阀需要不断改变节流部分的过流面积,使控制
    发表于 09-15 07:25

    时钟服务器的重要性是什么?

    时钟服务器的重要性是什么?
    发表于 11-08 08:31

    UPS的重要性

    中心机房的UPS太重要了,前不久就出现过停电坏了一个磁盘陈列硬盘的事故,一个2T的硬盘坏了,还好有一个备用的硬盘使用,否则磁盘陈列里的资料就岌岌可危了。服务器多了,UPS的重要性尤其重要,学校周边
    发表于 11-16 09:09

    arm汇编的重要性是什么?

    arm汇编的重要性是什么?
    发表于 11-30 08:03

    POE浪涌保护的重要性是什么?

    POE浪涌保护的重要性是什么?
    发表于 01-14 06:07

    讨论纹理分析图像分类重要性及其深度学习中使用纹理分析

    纹理就能被更准确地捕捉和分类。  基于纹理的分类任务重,纹理分析对于深度学习的重要性  由于纹理基于局部模式,而传统的深度学习方法强调复杂的特征,对纹理分类没有帮助,因此,传统的CNN架构不能很好
    发表于 10-26 16:57