我已经创建了一个测试平台来测试加法器进位电路(尽管电路的作用并不重要)
你可以在下面看到我从我的测试平台吐出'错误'失败。在261901ps,我在isim调试器中显示值.test_s(8)和(0)都是'1'和cout是'1'。
现在,我的测试平台看起来像这样:
ASSERT (test_s(8) = cout)
REPORT "Carry out failed for cin = 1!";
那有什么不对?我也试过/ = cout以防万一..我似乎也得到了相同的东西。我想要的是,如果test_s MSB(8)与cout不同,则发出错误,因为这是破坏的行为
Cout是std_logic; test_s是std_logic_vector(8 downto 0);
答案 0 :(得分:3)
您的VHDL是正确的。你断言test_s(8)应该等于cout,你报告它不是。
在波形上的光标处,test_s(8)为0,cout为1.您的断言正在检测并报告它。