我几个小时以来一直在敲桌子,因为这应该很简单。即使直接来自课堂笔记,我也无法从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
答案 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