我正在尝试使用Yosys形式验证功能以及Verific解析器。
与“read_verilog -formal”命令相比,具有verific for formal验证的yosys支持的功能有哪些? 例如,快速编译与read_verilog一起使用的正式代码会给出“假定属性”语法的错误: “sva指令对时钟不敏感。不支持非时钟指令”
我不确定是否应该以任何方式修改Verific库标志以使其支持更多功能,或者它是不受支持的。
答案 0 :(得分:2)
目前Yosys对有或没有Verific的SVA的支持非常有限。但是,我们计划在不久的将来通过Verific极大地扩展Yosys对SVA的支持。目标是为Verific可以解析的所有内容提供非常完整的支持。
关于“sva指令对时钟不敏感。不支持非时钟指令”错误消息:这是一个Verific错误消息,我不认为有一个Verific库标志可以绕过它。 (但我不确定。)技术上非时钟属性不属于SystemVerilog标准。 (语法允许它,但标准文本没有为它定义语义。)
Yosys支持非时钟SVA属性。 (但只有琐碎的表达属性。)
Verific和Yosys都支持立即断言和假设。 (这是始终阻塞中的断言和假设。)现在,对于人们编写新属性的大多数情况,这是我推荐的,也是因为大多数模拟器对立即断言有更好的支持(或者如果支持是更容易添加到目前为止失踪了。)
现在我想说使用Verific和Yosys的最大优势是支持非SVA系统Verilog(和VHDL)代码。在几个月内,我们希望通过Verific支持更多的SVA构造,但尚未实现。
编辑/更新:通过Verific的SVA支持现在正在缓慢改进。有关可通过Verific处理的示例,请参阅this directory。随着新功能添加到Verific绑定中,添加了新示例。目前counter.sv是最先进的例子。