Verilogを初めて使用しているので、初心者の間違いをお許しください。私はVerilogで3バイトのスタックを実装しようとしています。 R_Wを使用して書き込み(プッシュ/ポップ)と2D配列を読み込み、スタックの内容を格納します。Verilogでスタックを実装しようとしています。コードの何が間違っていますか?
`timescale 1ns/1ps
module one(R_W,PUSH,POP);
input PUSH;
input R_W;
output POP;
wire [31:0] PUSH;
reg [31:0] POP;
wire R_W;
reg [31:0] temp[0:3];
integer tos = 3;
if(R_W == 1 && tos != 3)
begin
POP = temp[tos];
end
if(R_W == 0 && tos != 0)
begin
tos = tos +1;
POP = temp[tos];
end
endmodule
テストベンチ
`include"one.v"
module one_test();
wire pop;
reg [31:0] push;
wire r_w;
initial begin
push = 2'd12;
r_w = 0;
#10
$finish;
end
one one(r_w,push,pop);
endmodule
あなたの質問は何ですか? 「Stack Overflowヘルプ」(http://stackoverflow.com/help)をご覧ください。 –
'always'ブロックがありません。おそらくクロック信号やイネーブル信号も必要です。 – Greg