我有一个简单的 C 代码来进行整数比较。
void evaluate_comparison (int addr, int expected, int got)
{
if (got == expected) tunnel_pass (addr, got);
else tunnel_fail (addr, expected, got);
}
expected
&got
实际上是 24 位值,对应于写入/读取到 24 位 DSP 内核的值。(此 C 代码编译为汇编并加载到 DSP 内核中)
在模拟中,有时(尤其是当addr
DSP 不支持某些时),DSP 内核读取got = 24'hxxxxxx
(未定义的 24 位值)。在这种情况下,上述比较通过了,但我不希望这样。
我尝试使用===
& !==
Case Equality 运算符(类似于 Verilog),但代码无法编译。有没有办法在 C 中做到这一点?