SystemVerilog Assertions应用指南 Chapter1.19使用true表达式的SVA检验器

 1.19使用true表达式的SVA检验器

        使用true表达式,可以在时间上延长SⅤA检验器。这代表一种忽略的状态,它使得序列延长了一个时钟周期。这可以用来实现同时监视多个属性且需要同时成功的复杂协议
        序列s18a检查一个简单的条件。序列s18a_ext检查相同的条件,但是序列的成功被往后移了一个时钟周期。当这个序列被用在一个属性的现行算子时,它会造成一些差异。两个序列的结束点不同,因此开始检査后续算子的时钟周期也不一样。
        属性p18检查先行算子中的sl8a.end,如果成功,两个时钟周期后,检查s18b.end是否成功。属性p18_ext检查s18a_ext在先行算子中是否成功。这个成功与s18a.ended的成功相同,但是早了个时钟周期。因此属性pl8_ext的后续算子需要在一个时钟周期而不是像p18中定义的两个时钟周期后成功。属性p18和p18_ext检查相同的情况,但是他们在先行算子中的成功点却不同。

`define true 1

sequence s18a;
	@(posedge clk) a ##1 b;
endsequence

sequence s18a_ext;
	@(posedge clk) a ##1 b  ##1 `true;
endsequence

sequence s18b;
		@(posedge clk) c ##1  d;
endsequence

property p18;
	@(posedge clk) s18a.ended |-> ##2 s18b.ended;
endproperty

property p18_ext;
	@(posedge clk) s18a_ext.ended |=> s18b.ended;
endproperty

a18 :assert property (p18);
a18_ext :assert property(p18_ext);

        图1-21显示了属性p18和p18_ext在模拟中的响应。可以清楚地看到与断言a18比较,断言a18_ext的起始点被推迟了一个时钟周期。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值