Vhdl 有没有一种方法可以忽略HDL代码中的组合循环错误?

Vhdl 有没有一种方法可以忽略HDL代码中的组合循环错误?,vhdl,system-verilog,verification,formal-verification,Vhdl,System Verilog,Verification,Formal Verification,我试图在一个非常大的项目代码中正式验证一个小模块。我对设计进行了分析和阐述。我无法验证这个小模块,因为该工具给了我一个“发现组合循环”错误 我确信这个小模块不会受到这个循环错误的影响。所以我想得到这个错误。有可能吗 谢谢 不确定您使用了什么工具,在JasperGold正式工具中,您可以使用以下命令设置来打破组合循环 stopat u_DUT.signal_a 只需将它放在tcl文件中的prove-all之前(如果您使用tcl文件运行工具) 查看JapserGold手册中的stopat命令,了解

我试图在一个非常大的项目代码中正式验证一个小模块。我对设计进行了分析和阐述。我无法验证这个小模块,因为该工具给了我一个“发现组合循环”错误

我确信这个小模块不会受到这个循环错误的影响。所以我想得到这个错误。有可能吗


谢谢

不确定您使用了什么工具,在JasperGold正式工具中,您可以使用以下命令设置来打破组合循环

stopat u_DUT.signal_a
只需将它放在tcl文件中的
prove-all
之前(如果您使用tcl文件运行工具)


查看JapserGold手册中的
stopat
命令,了解您案例中的更多信息,看看您是否可以轻松打破梳状循环。

不确定您使用了什么工具,在JasperGold正式工具中,您可以使用以下命令设置来打破组合循环

stopat u_DUT.signal_a
只需将它放在tcl文件中的
prove-all
之前(如果您使用tcl文件运行工具)


查看JapserGold手册中的
stopat
命令,了解您案例中的更多信息,看看您是否可以轻松打破梳状循环。

我没有使用正式工具的经验,但我知道静态计时分析仪(也是静态的)有时会感到困惑,或者更可能会找到您不知道的路径。大概是说这条路是什么?你可以添加一些虚拟逻辑来打破这个循环吗?(即使你认为这是一条错误的路径)显然,在开始责怪工具之前,最好先责怪自己的代码——我想你确信工具找到了一些错误的路径?如果你的设计中有一个组合循环,这是一个主要问题。所以,一开始你需要修复这个bug,而不是忽略它,或者在这个bug设计上尝试正式的验证方法。@MatthewTaylor:起初,我只在这个小模块中插入了我的正式工具,并成功地验证了它。现在我试图在更高的层次上插入正式的工具,在这样做的时候,我得到了这个错误。工具提到的路径是正确的。但我不允许在设计上做任何改变(我是实习生)。所以我想知道我是否能以某种方式屏蔽它,并证明这个模块按预期工作?听起来你可能发现了一个bug。如果你不能自己修复,我建议你去设计师那里展示一下。我是@Paebbels的。形式化的要点是发现并修复测试无法轻易发现的缺陷。您已经完成了第一部分…我几乎没有使用正式工具的经验,但我知道静态计时分析器(也是静态的)有时会感到困惑,或者更可能会找到您不知道的路径。大概是说这条路是什么?你可以添加一些虚拟逻辑来打破这个循环吗?(即使你认为这是一条错误的路径)显然,在开始责怪工具之前,最好先责怪自己的代码——我想你确信工具找到了一些错误的路径?如果你的设计中有一个组合循环,这是一个主要问题。所以,一开始你需要修复这个bug,而不是忽略它,或者在这个bug设计上尝试正式的验证方法。@MatthewTaylor:起初,我只在这个小模块中插入了我的正式工具,并成功地验证了它。现在我试图在更高的层次上插入正式的工具,在这样做的时候,我得到了这个错误。工具提到的路径是正确的。但我不允许在设计上做任何改变(我是实习生)。所以我想知道我是否能以某种方式屏蔽它,并证明这个模块按预期工作?听起来你可能发现了一个bug。如果你不能自己修复,我建议你去设计师那里展示一下。我是@Paebbels的。形式化的要点是发现并修复测试无法轻易发现的缺陷。你已经完成了第一部分…谢谢!我正在使用Onespin工具。但是这篇文章让我解决了我的问题。没问题。Onespin是否提供了类似的命令来断开梳子循环?他们有类似的“切割信号”。谢谢!我正在使用Onespin工具。但是这篇文章让我解决了我的问题。没问题。Onespin是否提供了一个类似的命令来断开梳子循环?它们与“cut_信号”类似。