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

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

3天内不再提示

一种用于随机约束仿真的SAT增强的字级求解器

芯华章科技 来源:未知 2023-06-07 17:35 次阅读

首届EDA国际研讨会(International Symposium of EDA,ISEDA)已在南京落下帷幕。作为国内领先的系统级验证EDA解决方案提供商,芯华章受邀出席并深度参与活动各环节,不仅受邀参展、发表主题演讲、参与圆桌论坛,并贡献专业文章入围ISEDA2023论文评选,全方位展示了公司在EDA验证领域的深厚积累和专业洞察。

本文节选自ISEDA2023入选论文《A SAT Enhanced Word-Level Solver for Constrained Random Simulation》。

摘 要

随着硬件设计复杂度的激增,验证已被广泛认为是制约整个芯片设计流程的瓶颈。基于仿真的验证通常通过生成一系列满足特定布尔/位向量约束的随机激励验证设计行为。在该验证方法学中,验证效率很大程度上取决于产生合法激励的约束求解器的性能。 本文我们首先讨论了字级求解器在求解包含特定操作符(如IF-THEN-ELSE、IMPLIES和布尔OR)的约束时遇到的挑战。为了克服这一挑战,我们引入布尔可满足性(SAT)求解器剪枝原始约束并压缩字级求解器的搜索空间。试验结果表明,在包含这些特定操作符的测试用例中,本文提出的混合求解器比原始的字级求解器平均性能提升约50%。

简 介

近几十年来,硬件设计复杂性的快速增长对功能验证提出了巨大挑战。随机约束仿真是当今行业中广泛采用的功能验证方法之一,其达到覆盖率目标所需时间的长短,很大程度上依赖于产生随机激励的约束求解器的性能与解的分布的好坏。 目前用于产生随机激励的约束求解器主要有三种:/ 01 /基于二元决策图(Binary Decision Diagram, BDD)的求解器。 该求解器通过创建BDD获取约束的所有解,因而可以轻易产生均匀的分布;然而,由于众所周知的内存爆炸问题,BDD并不适用于过于复杂的约束。 / 02 /基于值域推断的字级求解器。 该求解器通过推断压缩每个变量的可取值域构成的搜索空间,并反复从搜索空间中随机取值获取满足约束的一组解,具有易于实现、天然随机性等特性;然而,逻辑推理能力的缺失导致其在求解包含特定运算符(如IF-THEN-ELSE,IMPLIES和布尔OR)的约束上效率低下。 / 03 /基于可满足性模理论(Satisfiability Module Theory, SMT)的求解器。 该求解器扩展自比特级可满足性(Satisfiability, SAT)求解器,继承了SAT在逻辑推理上的优势,同时,得益于其广泛的应用,SMT求解器在工业界与学术界获得了极大的关注,成果颇丰;然而,SMT求解器被设计为求得一组解,因此随机性较差,且求解包含位向量的约束时需将位向量打散为单个比特,性能受限。 以上三种求解器各有优劣,综合利用第二、第三种求解器的优势,可在不牺牲易于实现与天然随机性的情况下进一步提升性能,是一条极具前景的优化随机约束仿真的路径。

一些挑战

如上所述,基于值域推断的字级求解器的性能很大程度上取决于推断结果的好坏,当推断器无法有效压缩变量的搜索空间时,该字级求解器变得无效。实践中,我们发现基于值域推断的字级求解器在求解包含特定运算符(如IF-THEN-ELSE,IMPLIES和布尔OR)时遇到挑战。例如图1所示的约束,由于推断器并不知道ITE的then分支还是else分支需要被满足,因此推断器无法压缩变量a和b的取值空间。此时,通过给变量a、b随机赋值的方式,很难从庞大的搜索空间中找出仅有的两组解。 这种挑战也可被视作是字级求解器缺乏逻辑推理能力的结果。因此,引入SAT求解器,增强字级求解器的逻辑推理能力,便自然成为一种克服该挑战的方法。 cc3d7170-0515-11ee-90ce-dac502259ad0.png 图1. 例1  

SAT增强的字级求解器

cc5157d0-0515-11ee-90ce-dac502259ad0.png 图2. 例1的抽象语法树  图2是例1的抽象语法树表示。从图2中,我们惊喜地发现,位于关系操作符之上的全是布尔操作符,位于关系操作符之下的则全是位向量操作符。因此,约束问题中存在一个清晰的分界线,将原始问题分割成布尔和位向量两部分。SAT求解器有极强的逻辑推理能力,特别适合求解布尔约束;基于值域推断的字级求解器能快速求解位向量约束,尤其是包含数学运算符的位向量约束。约束问题的这一独特结构,使得充分利用不同求解器的优势求解约束的不同部分成为可能。具体的求解步骤如图3所示: cc841030-0515-11ee-90ce-dac502259ad0.png 图3 求解流程  

01

将关系操作符所代表的位向量表达式替换成不同的布尔变量,构建原问题的命题骨架(例1的命题骨架如图4);

02

利用SAT求解器产生一系列满足命题骨架的布尔变量的赋值;

03

随机选取一组布尔变量的赋值,并用字级求解器求解其所代表的位向量约束;

04

若第三步有解,则返回该解,若无解则返回第三步,选择另一组赋值。

cc946d0e-0515-11ee-90ce-dac502259ad0.png 图4 例1的命题骨架  

试验结果

为验证上述求解策略是否有效,我们用纯字级求解器(W Solver)和SAT增强的字级求解器(W-SAT Solver)求解了14个测试用例,其用时如下表所示。ccb0028a-0515-11ee-90ce-dac502259ad0.png对于布尔操作符占主导的test1至test7,由于引入了SAT,W-SAT求解器的性能得到极大提升,最大为79%,平均约50%;对于位向量操作符占主导的test8至test14,由于增加了额外操作,W-SAT的性能略有下降,平均下降约10%,几乎可忽略不计。 试验结果表明,SAT增强的字级求解器继承了字级求解器在求解位向量操作符占主导时在约束上的优势,同时,求解布尔操作符占主导的约束时,性能也获得可观提升,证明了其求解各种约束的有效性。

结论与展望

在保留易于实现与天然随机性等特性的前提下,相较于纯字级求解器,SAT增强的字级求解器在求解布尔操作符占主导的约束时,性能有显著提升,求解位向量占主导的约束的性能几无差别,因此能有效处理多种不同约束。 实践中,我们也发现当约束过于复杂时,SAT求解器产生的大部分布尔变量赋值可能并不满足原始约束,如何更高效地剔除这些无效的布尔变量赋值,将会是我们下一步研究的重点。 论文作者:袁宸/刘军/余胜蛟/齐正华


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

    关注

    0

    文章

    171

    浏览量

    11430

原文标题:一种用于随机约束仿真的SAT增强的字级求解器

文章出处:【微信号:X-EPIC,微信公众号:芯华章科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【干货分享】硬件在环仿真(HiL)测试

    、HiL是什么?硬件在环仿真(Hardware-in-the-Loop,简称HIL)是真的控制连接假的被控对象,以一种高效低成本的方式对
    的头像 发表于 09-19 17:15 707次阅读
    【干货分享】硬件在环<b class='flag-5'>仿真</b>(HiL)测试

    仿真器的使用方法有哪些

    仿真器一种用于模拟和测试电子系统、软件或硬件的工具。它可以帮助工程师在实际硬件或软件部署之前,对设计进行验证和调试。 仿真器的基本概念 仿真器
    的头像 发表于 08-22 09:16 648次阅读

    一种用于RFID读写的数字鉴相设计

    介绍了一种用于射频识别(Radio Frequency Identification,RFID)系统读写的数字鉴相(DPFD)工作原理及其应用,并结合二分频率搜索方案,实现对数控振
    的头像 发表于 08-13 17:01 113次阅读
    <b class='flag-5'>一种</b><b class='flag-5'>用于</b>RFID读写<b class='flag-5'>器</b>的数字鉴相<b class='flag-5'>器</b>设计

    支路电流法是以什么为求解对象

    支路电流法(Node Voltage Method)是一种用于求解电路中电流分布的方法。它以支路电流为求解对象,通过建立和求解电路方程来确定
    的头像 发表于 08-08 17:00 781次阅读

    SR锁存约束条件

    基本约束条件: SR锁存一种基本的数字逻辑电路,用于存储位二进制信息。它有两个输入端:S(Set)和R(Reset),以及两个输出端:
    的头像 发表于 07-23 11:34 810次阅读

    基于助听器开发的一种高效的语音增强神经网络

    受限的微控制单元(microcontroller units,MCU)上,内存和计算能力有限。在这项工作中,我们使用模型压缩技术来弥补这差距。我们在HW上对RNN施加约束,并描述了一种
    发表于 06-07 11:29

    声表滤波与双工一种东西吗?它们之间有什么不同?

    。 首先,让我们来了解声表滤波和双工的定义和原理。 声表滤波一种电子装置,用于调节声音的频率特性。它能够做到根据需求
    的头像 发表于 02-01 16:44 1242次阅读

    介绍一种新的可以约束光的纳米领结结构

    结合自下而上和自上而下两种方法,利用两表面力,制备出可以用来约束光的、原子尺度的领结型间隙,在电子学、纳米机器人、传感、量子技术等领域具有巨大潜力。
    的头像 发表于 01-23 10:26 406次阅读
    介绍<b class='flag-5'>一种</b>新的可以<b class='flag-5'>约束</b>光的纳米<b class='flag-5'>级</b>领结结构

    FPGA物理约束之布局约束

    能够保持稳定不变,使用增量式编译是一种选择,而使用布局约束是另一种更灵活的选择。此时的布局约束,通常不会针对用户逻辑部分,而是针对些相对固
    的头像 发表于 01-02 14:13 1407次阅读
    FPGA物理<b class='flag-5'>约束</b>之布局<b class='flag-5'>约束</b>

    一种八腔带通腔体滤波的设计方法

    摘 要: 介绍了一种八腔带通腔体滤波的设计方法。结合仿真软件SuperFilter与Ansoft HFSS的三维场仿真,能极大减少设计微波腔体滤波
    的头像 发表于 12-16 16:51 1773次阅读
    <b class='flag-5'>一种</b>八腔带通腔体滤波<b class='flag-5'>器</b>的设计方法

    SV约束随机化总结

    constraint 约束随机化类中的变量 在main_phase 之前就已经提前产生个变量的随机值。 用法:般在类中定义
    的头像 发表于 12-14 14:30 805次阅读
    SV<b class='flag-5'>约束</b><b class='flag-5'>随机</b>化总结

    介绍一种飞米电子显微镜的原理

    本文介绍了一种飞米电子显微镜的原理,未来这种技术有望用于探测远离稳定谷的核。
    的头像 发表于 12-13 15:59 662次阅读
    介绍<b class='flag-5'>一种</b>飞米<b class='flag-5'>级</b>电子显微镜的原理

    芯片前仿真和后仿真的区别

    在芯片设计中,前仿真和后仿真都是非常重要的环节,但它们在功能和目的上存在明显的区别。本文将详细介绍前仿真和后仿真的区别,以及它们在芯片设计中的应用和重要性。
    的头像 发表于 12-13 15:06 7084次阅读

    介绍一种通过SystemC做RTL/C/C++联合仿真的方法

    当FPGA开发者需要做RTL和C/C++联合仿真的时候,些常用的方法包括使用MicroBlaze软核,或者使用QEMU仿真ZYNQ的PS部分。
    的头像 发表于 12-13 10:11 1826次阅读
    介绍<b class='flag-5'>一种</b>通过SystemC做RTL/C/C++联合<b class='flag-5'>仿真的</b>方法

    Saber中如何更好地提高仿真的收敛性()

    仿真过程中,由于仿真模型的不连续性,或者模型没有适当地表征/参数化,或者当求解无法求解控制模型行为的方程时,可能就会出现
    的头像 发表于 12-05 14:43 1531次阅读
    Saber中如何更好地提高<b class='flag-5'>仿真的</b>收敛性(<b class='flag-5'>一</b>)