Что не так с моим испытательным стендом VHDL? - PullRequest
0 голосов
/ 03 марта 2011

Я создал тестовый стенд для проверки цепи переноса сумматора (хотя это не имеет значения, что делает схема)

Ниже вы можете видеть, что я получаю сообщения об ошибках «Ошибка», выплевываемых изmy testbench.At 261901ps, я показываю здесь значения в отладчике isim. test_s (8) и (0) оба равны '1', а cout равен '1'.

enter image description here

Теперь мой тестовый стенд выглядит так:

ASSERT (test_s(8) = cout)
    REPORT "Carry out failed for cin = 1!";

Так что же не так?Я также попытался / = cout на всякий случай .. и я, кажется, получаю то же самое.Я хочу сказать, что если test_s MSB (8) отличается от cout, то выдает ошибку, потому что это неправильное поведение

Cout is std_logic;test_s - это std_logic_vector (от 8 до 0);

1 Ответ

3 голосов
/ 03 марта 2011

Ваш VHDL правильный.Вы утверждаете, что test_s (8) должно быть равно cout, и вы сообщаете, когда это не так.

У курсора на вашем сигнале test_s (8) равно 0, а cout равно 1. Ваш ассерт обнаруживает этои сообщать об этом.

...