0

Verilog ProでNANDゲートを使用して基本的なフリップフロップをコーディングしようとしましたが、取得した波形が正しくありません。何が悪いのか見てください。

//design module
module rstt(s,r,q,qbar);
input r,s;
output q,qbar;
nand n1(q,r,qbar);
nand n2(qbar,s,q);
endmodule

//stimulus module 
module test;
reg r,s;
wire q,qbar;
initial begin
r=1'b1;
s=1'b0;
#25 r=1'b0;
  s=1'b1;
#25 r=1'b1;
  s=1'b1;
#100 $finish;
end
endmodule
4

1 に答える 1

2

rsttモジュール内でモジュールをインスタンス化しませんでしたtest。これは、モジュール内のワイヤ(qおよび)が駆動されていないことを意味します。そのため、トグルするのではなく、直線のままになります。IEEE Verilog標準によると、非駆動はデフォルトで。になります。qbartestwire1'bz

次のようなものを試してください。

//design module
module rstt(s,r,q,qbar);
input r,s;
output q,qbar;
nand n1(q,r,qbar);
nand n2(qbar,s,q);
endmodule

//stimulus module 
module test;
reg r,s;
wire q,qbar;

rstt i0 (
    .s    (s),
    .r    (r),
    .q    (q),
    .qbar (qbar)
);

initial begin
r=1'b1;
s=1'b0;
#25 r=1'b0;
  s=1'b1;
#25 r=1'b1;
  s=1'b1;
#100 $finish;
end
endmodule

問題はどのシミュレータにも固有ではないことに注意してください。

于 2010-08-10T16:40:07.193 に答える