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