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

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

3天内不再提示

功能ECO理论基础:逻辑等价性检查

电子设计 来源:电子设计 作者:电子设计 2020-12-24 17:43 次阅读

逻辑锥Logic Cone

从数字网表的角度来看,可以把设计分成若干个“以DFF为终点的逻辑块”,如下图。DFF的CK(时钟)、D(数据)、RN(复位)、SN(置位)就是这个“逻辑块”的终点,它们的输入都是一个组合逻辑。时钟和复位很可能是clock tree或者buffer tree,也可能有与门、或门、异或门、选择器等稍复杂的逻辑。

(图一)

如果设计(module)是组合逻辑输出,也可想像在设计外面有一个DFF,如下图。

(图二)

而这些组合逻辑的输入是什么呢?不外乎两种情况:一是,前一级DFF的输出;二是,设计(module)的输入pin。

(图三)

那跨模块优化的又是什么情况呢?如下图,组合逻辑分到了两个模块里。但如果忽略设计的层次关系,两段组合逻辑可以合并成一段。好处是:综合工具可以两段组合逻辑一起考虑,看有没有逻辑可以复用,所以面积和时序会优化得更好。坏处是:模块的端口可能不存了,也可能产生了新的端口。所以综合和LEC的选项ungroup(flatten)就是这个作用,让工具忽略层次关系。

(图四)

因此,设计(module)就是“以DFF为终点的逻辑块”组成。不仅网表如此,RTL也是一样。我们知道所有数字电路都可以用always和assign这两种语法来实现(latch可以看作是DFF的一种)。这些“以DFF为终点的逻辑块”我们把它叫作逻辑锥。

Keypoint Mapping

有了逻辑锥的概念后,关键点映射(keypoint mapping)就好理解多了。从上文知道逻辑锥的终点是DFF的CK(时钟)、D(数据)、RN(复位)、SN(置位),如果这几个“关键点”的逻辑都相同或者等价,那么这两个逻辑锥的逻辑就等价。对于组合逻辑直接输出的逻辑锥来说,“关键点”就是output pin。那么,总结一下“关键点”有以下几种:DFF的输入(CK、D、RN、SN)顶层模块的输出pin
要检查等价性,那么keypoing mapping是前提,是基础。如果keypoing mapping都错了,等价性检查结果一定Fail。

对于要对比的两个设计,我们通常叫作golden和revised(S家叫reference和implement)。golden可能是RTL、综合网表,也可能是APR网表,ECO网表,不是绝对的,只是表明以此设计作为基准来对比。所以在做等价性检查时golden和revised弄反了也问题不大。但是S家的工具依赖svf(setup verification file),所以还是要注意一下。

当修改RTL或者网表ECO后,逻辑锥的“关键点”可能发生较大的变化,比如:

新加DFF删掉DFFDFF改名

复位变成置位上升沿变下降沿还可能DFF从模块A挪到模块B寄存器合并寄存器复制multi bit寄存器

所以,keypoint mapping时,要能够考虑到这些情况。可以手工分析,也可以参考综合的svf文件,还可以用一些算法来测试和分析。

形式验证

在关键点(keypoint)映射正确后,就可以开始做形式验证了。如果逻辑锥的输入不一致,例如下图中修改后的设计中增加了输入4和5,就需要分析这两个新增加的输入是不是与golden的输入是等价或者反相等价的关系。如果没有任何关系,纯粹是新加的条件,那么这两个逻辑锥一定会fail。

(图五)

经过上一步对逻辑锥输入的检查后,接下来就需要通过数学的方法来检查等价性。这种数学的方法的原理很简单,如下,每个keypoint的逻辑都可以用下面的公式来描述:Y = F(a, b, c, ... , n)

对golden和revised逻辑锥施加相同的测试向量,看是否有相同的输入。理论上,对于有N个输入的keypoing,一共有2^N种输入可能性。遍历一下,就知道等价性的结果。

如果其中有一个测试向量fail,那么这个keypoint就不等价,剩余的测试向量也就没有必要继续。如果都pass,就需要遍历完所有的测试向量。

为了节省测试时间,LEC工具需要对逻辑锥进行优化。现在市场上已经出现一些基于机器学习(Machine Learning)和深度学习(deep learning)的形式验证算法的LEC工具。

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

    关注

    2

    文章

    832

    浏览量

    29439
  • ECO
    ECO
    +关注

    关注

    0

    文章

    52

    浏览量

    14863
收藏 人收藏

    评论

    相关推荐

    不间断电源ECO模式介绍,线路交互”模式

    不间断电源ECO模式是什么   UPS ECO模式是一种特殊的UPS操作模式,提供增强的能源效率。
    的头像 发表于 11-15 09:50 82次阅读
    不间断电源<b class='flag-5'>ECO</b>模式介绍,线路交互”模式

    扩散模型的理论基础

    扩散模型的迅速崛起是过去几年机器学习领域最大的发展之一。在这本简单易懂的指南中,学习你需要知道的关于扩散模型的一切。
    的头像 发表于 10-28 09:30 156次阅读
    扩散模型的<b class='flag-5'>理论基础</b>

    数码裂隙灯检查有什么作用和功能

    。以下是关于数码裂隙灯检查的作用和功能的介绍: 数码裂隙灯检查的作用 诊断眼部疾病 :数码裂隙灯能够发现和诊断各种眼部疾病,如角膜炎、结膜炎、白内障、青光眼等。 评估手术效果 :在眼科手术后,裂隙灯
    的头像 发表于 09-09 18:12 529次阅读

    利用静态检查工具完善功能安全中测试覆盖率

    功能安全中测试覆盖率是比较重要的概念,也是在验证过程中通常需要花费时间较多的步骤,如果能借助于静态检查工具的死逻辑查找和声明、测试用例自动补全等功能往往能取得事半功倍的效果。
    的头像 发表于 09-05 09:15 283次阅读
    利用静态<b class='flag-5'>检查</b>工具完善<b class='flag-5'>功能</b>安全中测试覆盖率

    时序逻辑电路有记忆功能

    时序逻辑电路确实具有记忆功能 。这一特性是时序逻辑电路与组合逻辑电路的本质区别之一。
    的头像 发表于 08-29 10:31 367次阅读

    传输线的理论基础

    电子发烧友网站提供《传输线的理论基础.pdf》资料免费下载
    发表于 08-12 09:32 0次下载

    组合逻辑电路逻辑功能的测试方法

    ,对组合逻辑电路逻辑功能的测试是确保数字系统正确的关键步骤。 二、测试目的 组合逻辑电路逻辑
    的头像 发表于 07-30 14:38 886次阅读

    M8_5pin母头怎样检查安全

      德索工程师说道在电气和电子系统中,连接器的安全直接影响到整个系统的性能和用户的安全。M8_5pin母头作为一种常见的连接器,其安全检查尤为重要。本文将围绕M8_5pin母头的安全
    的头像 发表于 05-07 17:40 247次阅读
    M8_5pin母头怎样<b class='flag-5'>检查</b>安全<b class='flag-5'>性</b>

    车载T-Box逻辑功能测试方案

    北汇信息基于对客户需求规范、行业法规及自身测试经验Know-How,为客户提供完整和专业的T-Box逻辑功能测试解决方案。支持在实验室环境及实车环境下完成T-Box上层逻辑功能测试及实
    的头像 发表于 04-26 11:19 1020次阅读
    车载T-Box<b class='flag-5'>逻辑</b><b class='flag-5'>功能</b>测试方案

    边缘光线理论基础

    边缘光线理论在实际的二次光学设计中应用十分广泛,由于实际光源不可视为点光源,多为扩展光源。通过对光线的控制,中心光线可以控制目标光斑的最大照度值,通过边缘光线来设计光学系统的照明范围。
    发表于 04-11 09:54 801次阅读
    边缘光线<b class='flag-5'>理论基础</b>

    分享一种大型SOC设计中功能ECO加速的解决方案

    大型SOC项目的综合非常耗时间,常常花费好几天。当需要做功能ECO时,代码的改动限定在某些子模块里,设计人员并不想重跑一次完整的综合,这种方法缩短了一轮ECO的时间,保证了项目进度。
    的头像 发表于 03-11 10:41 426次阅读
    分享一种大型SOC设计中<b class='flag-5'>功能</b><b class='flag-5'>ECO</b>加速的解决方案

    请问psoc6_cy8c6247bzi-d54_ECO有什么特点?

    如图所示,单片机需要两个晶体(WCO/ECO)。 WCO 支持看门狗和 RTC 功能。 我们想知道 ECO 支持哪些功能? 如果我们不使用这个功能
    发表于 01-26 07:30

    软件测评的等价类设计方法

    一、黑盒测试:又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求。 二、黑盒测试能发现5类错误: 1、功能不对或功能遗漏 2、界面错误 3、数据结构或数据库访问错误 4
    发表于 12-29 10:22

    c语言中逻辑等价于什么

    在C语言中,逻辑等价于1。逻辑真可以理解为一个表达式、语句或条件的结果为真,即满足条件。在计算机科学和编程中,逻辑真在控制流语句、循环和条件语句中具有重要的作用。
    的头像 发表于 11-30 14:10 1991次阅读

    技术分享 | 全面解读贯穿IC设计全流程的三大等价验证功能

    逻辑功能, 如何能进一步保证综合后的网表与RTL之间的逻辑一致? 当芯片规模越来越大,设计复杂的不断增加,BUG表现的方式各不相同带来
    的头像 发表于 11-29 16:10 423次阅读
    技术分享 | 全面解读贯穿IC设计全流程的三大<b class='flag-5'>等价</b><b class='flag-5'>性</b>验证<b class='flag-5'>功能</b>