Verilog Деление деления на два счетчика из D Вьетнамки не работает

У меня есть рабочий DFF под модулем ниже.

d_flip_flop_edge_triggered DFFT(Q, Qn, C, D);

Однако, когда я переключаю вход "D" на "Qn" - чтобы сделать счетчик деления на 2 - результаты тестового стенда не показывают ни Q, ни Qn. Его красный, как будто произошла ошибка.

Вот полный код:

module divBy2UsingDFF(Q, Qn, C, D
    );
   output Q;
   output Qn;
   input  C;
   input  D;
    wire Qn;
    d_flip_flop_edge_triggered DFFT(Q, Qn, C, Qn);

endmodule

Я новичок в Verilog, и я предполагаю, что это проблема синтаксиса.

1 ответ

Проверьте значение Q в симуляторе, так как красный цвет, вероятно, означает X, что указывает на то, что значение данных триггера не определено, что обычно происходит после сброса.

Есть несколько способов решить эту проблему:

  • Используйте триггер с асинхронным сбросом
  • Добавить синхронную загрузку для данных триггера

Btw. вместо создания экземпляра DFFT вы могли бы написать триггер делителя с always, Так же wire Qn; не требуется.

Другие вопросы по тегам