18、基于SystemC的TLM设计形式化验证方法解析

基于SystemC的TLM设计形式化验证方法解析

1. 逻辑规则与属性类型

在开始验证之前,我们需要了解一些基本的逻辑规则:
- τ ⊨P && Q iff ðτ ⊨PÞ ∧ðτ ⊨QÞ
- τ ⊨P jj Q iff ðτ ⊨PÞ ∧ðτ ⊨QÞ
- τ ⊨next P iff τ1 ⊨P
- τ ⊨always P iff ∀i < τj j : τi ⊨P

这些规则用于判断属性是否在某个执行轨迹 τ 上成立。接下来,我们将介绍不同类型的属性及其监测逻辑的生成方法。

2. 不同类型的属性
2.1 简单安全属性

简单安全属性关注TLM模型中变量在执行过程中的值,通常可以用C逻辑表达式表示。为了验证这些属性,我们只需在改变相关变量值的代码行之后插入断言。例如,对于FIFO的一个简单安全属性:

// 处理的块数永远不会超过已读取的块数
always(num block processed <= num block read)
2.2 事务属性

事务属性用于推理事务的效果,例如检查请求或响应是否有效,或者事务是否成功。监测逻辑通过在相应内联函数调用的前后插入断言来创建。例如,对于TLM总线的一个事务属性:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值