sequence and property operator summary

本文介绍了形式化验证中使用的属性规范语言,包括序列操作符、属性运算符及复杂属性示例。通过这些规范,可以精确地定义系统行为,确保硬件和软件系统的正确性和可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sequence:

concatenation:              seq1 ##1 seq2

overlap:                         seq1 ##0 seq2

ended detection:           seq1 ##1 seq2.ended    

repetition:                      seq1[*n:m]

first match detection:     first_match(seq1)            

or:                                  seq1 or seq2                     一个满足就行了

and:                               seq1 and seq2                   起始时间一致,终止时间可以不一致

length-matching and:    seq1 intersect seq2            seq1和seq2起始和终止时间一致

conditional qualification:    cond throughout seq       条件在seq期间始终成立

within:                                seq1 within seq2            时间跨度上seq2 包含 seq1

 

此外还有triggered,例如:

property  p_data_xfr(req,ack,enb,done);

     @(posedge clk) disable iff(qAbort.triggered)

          $rose(req)|=>qDataXfr(ack,enb,done);

endproperty

 

property operators

not:              not(read && write)    property is never occur

and:             prop1 and prop2

or:                prop1 or  prop2

if ... else ... :      if (expr) prop1  else prop2

if ... else if ... else     

|->:                    seq1|->prop

|=>:                   seq1|=>prop

 

 

下面举几个复杂的property

1. 条件

property p_busAbusB_allocation;

   if($rose(req_busA) && !busyA && !busyB)

        ##1 lock_busB && busyA ##[0:5] ackA ##[1:10] doneA && !busyA

   else if ($rose(req_busB) && !busyA && !busyB)

        ##1 lock_busA && busyB ##[0:10] ackB ##[1:20] doneB && !busyB

   else

        busyA||busyB |->buses_busy;

endproperty

 

2. 分布

property p_switch_prop;

   if(switch_enb)

       if(switch_select inside {2'b00,2'b01,2'b10,2'b11} )

            if(switch_select==2'b00 && $past(switch_select==2'b11))

                    ##1 lock_enb[*1:10]##1 done;

            else

                    lock_enb[*1:2] ##1 done;

endproperty

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值