我们可以通过降低约束的复杂度来优化formal的执行效率,但是这个主要是通过减少formal验证空间来实现的,很容易出现过约,导致bug遗漏。
简化断言以优化formal形式分析的主要挑战是:
由于dut一般是比较复杂的,所以工程师们都倾向于使用长而复杂的,甚至单行断言来精确地编码dut的期望行为。但是对于formal形式分析而言,断言应该尽可能简单,断言所涉及的时序逻辑深度应该尽可能短,这样才能更快地完成证明。
断言简化的关键在于将你需要验证的复杂行为“分解”为最基本的行为元素,注意分解前后的断言一定要是等价的。
“相信”formal形式工具能够合理安排这些浅逻辑深度断言的证明,下面是一个简单的例子示意:假设你有一个错误指示信号“error”,它的生成逻辑如下
assign error = err1 | err2;
其中“err1”和“err2”用于检测两种不同的错误场景。下面的原始的断言:断言error永远不会发生。
当其中“err1”或者“err2”后面的逻辑锥(coi)电路很大时,我们可能没有办法完成这个断言的证明。我们可以分解原始的断言,分别验证“err1“和“err2”。
如果“err1的逻辑锥比较小,“err2”的逻辑锥比较大,我们可能首先比较快地完成“err1”的断言证明,后面再针对性地优化“err2”的证明。
同样,对于下面这个例子:
我们也可以对复杂断言做简化,简化前后的断言版本是等价的,但是formal形式分析的效果会好很多。
因为对于formal工具而言,逻辑锥小的断言更容易完成证明,并且如果已经完成了一个简单断言验证之后,formal工具会利用这个断言验证的结果去证明其他的断言。
乐视魅族小米等厂争上春晚 斥近亿人币
合肥研究院建立水中VOCs走航监测的船载质谱系统
小米6最新消息:小米6饥渴营销到底几时休?雷军:小米6不能背这锅!
泰鼎和恩智浦完成机顶盒和电视系统业务的整合交接
图解科技公司间纷杂专利诉讼
可以通过降低约束的复杂度来优化Formal的执行效率吗?
RS232转Profinet网关rs232转网线
工业机器人产业链分析
聊一聊MCU如何选型
防水试验箱要知道的几件事 了解一下吧!
凌科电气YM系列工业防水连接器之卓越的耐高低温性能解析
聊天机器人会帮助旅游业提升效率吗
踩坑rust的partial copy导致metrics丢失
罗德与施瓦茨公司支持未来移动通信网络5G测试解决方案
信步科技SV1a-19016-KP嵌入式主板介绍
大涨90.73%,又一半导体企业科创板上市!
一款工具,借助深度学习模型可以一键抠去漫画中的文字
太阳能语音警示杆森林防火的新选择
智能感应灯,可以达到什么程度?
好的不止是音质,做工同样也精致,vivo X6拆解