考虑到P1 = (R1 or R2) |-> P
和P2 = (R1 |-> P) or (R2 |-> P)
这两个属性,其中R1
和R2
是序列,P
是一个属性,那么说P1
等同于P2
是正确的吗
我根据土地需求评估的附件F所载的紧可满足性和中性可满足性的定义进行计算,结果显示两者是相等的。(我不想排除我在某个地方犯错误的可能性。)
我之所以这样问,是因为我看到模拟工具以不同的方式处理这两个问题。
发布于 2016-08-31 13:12:50
我今天又做了一次数学运算,两者并不相等。在某些情况下,属性或表单通过,但序列或表单将失败。
这方面的一个简单示例是属性:
P1 = (1 or (1 ##1 1)) |-> 1
P2 = (1 |-> 1) or (1 ##1 1 |-> 1)
除⊥外,任何一个时钟周期的长跟踪都能很好地满足P2
。小于两个时钟周期的轨迹永远不能满足P1
。(这是在将两种形式的属性满意度的条件插入到强满意度的定义中时出现的。)
简单地说,这意味着在P1
中启动的两个线程(用于R1
部件的线程和用于R2
部件的线程)都需要完成,直到该属性的断言被认为是成功的。然而,对于P2
,只需要其中一个属性“成熟”,此时,另一个属性的尝试将被丢弃。
乍一看,这似乎有点奇怪,也不是很直观,但它源于SVA的正式语义。我猜,但我不确定,P3 = first_match(R1 or R2) |-> P
等同于P2
。一个人需要做数学计算。
https://stackoverflow.com/questions/39237563
复制