system verilog assertion

assertion 作用

(1) 检测一个条件有没有发生;(2)检测一系列动作有没有发生。可以直接介入硬件内部信号,bind到硬件。

1. 当拍assert,“ |-> ”。

上升沿
always @(posedge clock) 
a_example1: assert(A && !B);
或者
property example1;
    @(posedge clock) A |-> !B;
endproperty
a_example1: assert property(example1);
或者
a_example1: assert property(@(posedge clock) A |-> !B);


下降沿
always @(negedge clock) 
a_example2: assert(A && !B);
或者
property example2;
    @(negedge clock) A |-> !B;
endproperty
a_example2: assert property(example2);
或者
a_example2: assert property(@(negedge clock) A |-> !B);

变化沿
a_example2: assert property(@(A or B)  C || D);

2. 下一拍assert,“ |=> ”。

always @(posedge clock)
a_example1: assert(A |=> B);
或者
property example1;
    @(posedge clock) A |=> B;
endproperty
assert property(example1);
或者
a_example1: assert property(@(posedge clock) A |=> !B);

3. 推后几拍,##clcyes。

a_example1: assert property(@(posedge clock) A ##1 B ##2 C);//this will check the condition every cycle, the expression must be true every cycle.

a_example2: assert property(@(posedge clock) A |-> B ##2 C);//this will check the condition every cycle, the expression must be true only when A is true at posedge clock.

a_example3: assert property(@(posedge clock) A |=>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值