0

我在下面的模块下有一个工作 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 的新手,我猜它是一个语法问题。

4

1 回答 1

0

检查模拟器中的Q值,红色可能是X,表示触发器的数据值未定义,通常是复位后的情况。

有几种方法可以解决这个问题:

  • 使用带异步复位的触发器
  • 为数据触发器添加同步加载

顺便提一句。而不是实例化 DFFT,您可以使用always. wire Qn;也不是必需的。

于 2016-03-20T20:18:38.907 回答