基于SystemC的TLM设计形式验证实验分析
1. 实验概述
我们将所提出的方法实现为工具SCIVER,并在不同的TLM设计上进行评估。使用模型检查器CBMC v3.7搭配Boolector v1.2作为底层SMT求解器来验证生成的C模型。由于CBMC v3.7尚未完全支持SMT,在某些情况下需切换回使用默认的SAT求解器。该方法构建于CBMC之上,在将问题交给CBMC之前会进行展开和归纳转换,并激活CBMC的内部切片器以移除与属性无关的子公式。
所有实验均在运行Linux的3 GHz AMD Opteron系统(4 GB RAM)上进行,每次运行的时间限制为1小时。实验分为两部分,首先展示基于BMC的验证方法(SC - BMC)的结果,然后给出基于归纳的方法(SC - IND)的结果。我们还将该方法与ESST方法进行了比较。
1.1 无限SC_THREAD循环展开代码
1 if (t resume point==1)
2 goto resume point 1;
3 // begin of the first unwound iteration
4 body1;
5 { // wait(e);
6 t waiting e = true;
7 t status = WAITING;
8 t resume point = 1;
9 goto t end;
10 t resume point 1:
11 }
12 body2;
13 // end of the first unwound iteration
14 // begin of the second unwound iteration
超级会员免费看
订阅专栏 解锁全文

77

被折叠的 条评论
为什么被折叠?



