Перейти к содержанию

    

Anophele

Новичок
  • Публикаций

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Закройте, пожалуйста, тему. Нашел ошибку самостоятельно. Оказывается, что имеет значение порядок ввода переменных в функцию. Перепутал местами y и s Код    mplex8 dut(d0, d1, d2, d3, d4, d5, d6, d7[b], y, s);[/b] Здравствуйте, только познаю азы, выполняю разные упражнения из учебника харрисов Написал восьмивходовой мультиплесор, но при модуляции выходной сигнал почему-то оказывается в неопределенных значениях. Прошу помочь разобраться почему. код на SystemVerilog, делал двумя способами, закоментил один из них, разницы никакой Кодmodule mplex8     (     input logic [2:0] d0, d1, d2, d3, d4, d5, d6, d7,     input logic [2:0] s,     output logic  [2:0] y     );     always_comb         case(s)             3'b000:    y = d0;             3'b001:    y = d1;             3'b010:    y = d2;             3'b011:    y = d3;                      3'b100:    y = d4;             3'b101:    y = d5;             3'b110:    y = d6;             3'b111:    y = d7;         endcase /*assign y = s[2] ?      (s[1] ? (s[0] ? d7 : d6)                                       : (s[0] ? d5 : d4) )                          :   (s[1] ? (s[0] ? d3 : d2)                                       : (s[0] ? d1 : d0) );*/ endmodule [spoiler] тестбенч Кодmodule tb1 ();     logic [2:0] s;     logic  [2:0] d0, d1, d2, d3, d4, d5, d6, d7;     logic [2:0] y;     mplex8 dut(d0, d1, d2, d3, d4, d5, d6, d7, y, s);     initial begin         d0 = 0; d1 = 1; d2 = 2; d3 = 3; d4 = 4; d5 = 5; d6 = 7; d7 = 7;         s = 3'b000; #10;         s = 3'b001; #10;         s = 3'b010; #10;         s = 3'b011; #10;                  s = 3'b100; #10;         s = 3'b101; #10;         s = 3'b110; #10;         s = 3'b111; #10;     end endmodule результат модуляции Еще прошу подсказать, как во время теста с самопроверкой нужно проводить модуляцию. При использовании конструкции Код assert (data == 1) else $error("1 failed."); я даже специально вводил в тест на проверку неправильные данные, а никакого предупреждения не вылезало. Кстати modelSim в том проекте давал корректный результат, но его было трудоемко проверять Заранее благодарю за помощь