0

我在一家半导体制造商工作。我们经常尝试测试我们的设计,以确保我们在零件上运行的序列正确连接原理图上的两个点,例如 signal_a 和 signal_b。这两个信号通常具有多个必须打开才能连接两个信号的传输门。为了检查这是否正确发生,我们通常通过原理图和仿真来检查所有通门是否正确打开。似乎 Verilog 已经有一个内置命令来检查这个。例如类似于:

@triggering_signal
begin
  connected=check_connection(signal_a,signal_b)
end

如果它们已连接,connected 将设置为 1,如果未连接,则设置为 0。如果存在这样的事情,如果有人能指出我正确的方向,我将不胜感激。注意我想在代码中放置一个强制信号来切换 signal_a 并使用计数器查看它是否显示在 signal_b 上,但这不适用于我需要的所有情况,因为 signal_a 处于除 1 之外的任何其他状态关闭模具。

4

1 回答 1

0

您可以尝试使用使用序列的 SV 断言来测试 signal_a 值始终与 signal_b 相同。

assert (signal_a == signal_b) else $error("It's gone wrong");
于 2016-04-24T04:33:02.877 回答