T FlipFlop Verilog

时间:2016-02-02 04:35:36

标签: verilog modelsim

我几个小时以来一直在敲桌子,因为这应该很简单。即使直接来自课堂笔记,我也无法从D触发器中获得T-Flipflop在Modelsim中工作。它一定是简单的,我只是忽略了。

module D_FF (q, Clk, reset_n,d);
  output     q;
  input      Clk, reset_n, d;
  reg        q;

  always @(posedge reset_n or negedge Clk)
    if (~reset_n) 
       q <= 1'b0;
    else
      q <= d;
endmodule

module T_ff (q, Clk, reset_n);
   output q;
   input Clk, reset_n;
   wire d;

  D_FF DFF0 (q, Clk, reset_n, Vcc);
   not n1 (d,q);

endmodule

1 个答案:

答案 0 :(得分:0)

嗨,有两个问题: 1.您的复位为低电平有效,因此它应对时钟的下降沿敏感。 那个VCC是什么?你应该在那里使用d。 这是正确的版本

D_FF:

module D_FF (q, Clk, reset_n,d);
  output     q;
  input      Clk, reset_n, d;
  reg        q;

always @(negedge reset_n or posedge Clk)
    if (~reset_n) 
       q <= 1'b0;
    else
      q <= d;
endmodule

T_FF:

module T_FF (q, Clk, reset_n);
   output q;
   input Clk, reset_n;
   wire d;

  D_FF DFF0 (q, Clk, reset_n, d);
   not n1 (d,q);

endmodule