最近出现了一个问题,通常的隐含运算符(|->)和impliesSystemVerilog中的运算符之间有什么区别。不幸的是我找不到一个明确的答案。但是,我收集了以下信息:
第16.12.7节隐含和iff属性:
property_expr1 implies property_expr2
仅当property_expr1的值为false或property_expr2的值为true时,此形式的属性的值为true。
§F.3.4.3.2 派生布尔运算符:
p1 implies p2 ≡ (not p1 or p2)
§F.3.4.3.4 派生的条件运算符:
(if(b) P) ≡ (b |-> P)
但是,LRM并未真正指出实际的区别是什么。我假设在错误的先行情况下(成功与空前成功),它们的评估有所不同,但是我无法找到此假设的任何来源或证据。此外,我知道implies操作员与OneSpin等正式验证工具结合使用非常普遍。
有人可以帮我吗?
PS:似乎在下一本书中对此问题有一个答案:SystemVerilog断言手册,第三版。但是155美元对我来说太过分了,只是为了得到这个问题的答案:)
假设您有一个由另一个人使用 gcc 构建的静态库,并且您想找出用于编译的 gcc 版本号。有没有一种简单的方法可以从库文件中提取这些信息?
我已经尝试过 readelf,但是到目前为止我使用的所有开关都没有导致 gcc 版本号。
我想将记分板与代理的定序器+监视器连接起来。通过使用分析 imp ( uvm_analysis_imp )连接显示器非常简单,因为显示器拥有一个分析端口。
但是,我不确定如何连接定序器和记分板,因为定序器拥有 uvm_seq_item_pull_imp并且不可能简单地将其连接到分析 imp。我的想法是检查uvm_driver使用的端口,即uvm_seq_item_pull_port。
不幸的是,连接定序器和记分板似乎并不常见,但出于我的目的,这是必要的。是否只能使用uvm_seq_item_pull_port进行序列器-记分板连接,还是有更简单的方法?