Я пишу программу, которая действует как денежный депозит. Все происходит на краю часов. Если включено значение true, а сброс - true, значение в поле сбрасывается до 0. Если включено значение true и добавлено 1, мы добавляем сумму в поле. Если включено значение true, а add - 0, мы вычитаем из поля.Добавление и вычитание значений в Verilog
Вот мой код и испытательный стенд
module cashbox(output [15:0] value, input [15:0] amount, input add,enable, clock, reset);
reg value;
always @(posedge clock)
begin
if(enable) begin
if(reset)begin
value <= 0;
end
else begin
if(add)begin
value <= value + amount;
end
else begin
value <= value - amount;
end
end
end
end
endmodule
// cashbox testbench
module cashbox_tb;
reg [15:0] amt;
reg add, en, clk, rst;
wire [15:0] value;
cashbox cb(value, amt, add, en, clk, rst);
always
#50 clk = ~clk;
initial begin
$display("Amount in box %d", value);
clk = 1; en = 1; add = 1;
rst = 1; #10 rst = 0;
amt = 100; add = 1;
#170 en = 1; #100 en = 0; // 90
#20 amt = 50; add = 0;
#180 en = 1; #100 en = 0; // 290
#20 amt = 75; add = 1;
#180 en = 1; #100 en = 0; // 490
#20 amt = 35; add = 0;
#180 en = 1; #100 en = 0; // 690
#20 amt = 50; add = 0;
#180 en = 1; #100 en = 0;
#810 $finish;
end
endmodule
Все компилируется, но когда я запускаю его, он отображает Количество в коробке X. Она не отображает значение
Я изменил свой испытательный стенд для этого // кассовое испытательный стенд
module cashbox_tb;
reg [15:0] amt;
reg add, en, clk, rst;
wire [15:0] value;
cashbox cb(value, amt, add, en, clk, rst);
always
#50 clk = ~clk;
initial begin
$monitor("Amount in box %d",value);
clk = 0; en = 0; add = 0;
rst = 1; #10 rst = 0;
#10 amt = 100; add = 1;
#170 en = 1; #100 en = 0; // 90
#20 amt = 50; add = 0;
#180 en = 1; #100 en = 0; // 290
#20 amt = 75; add = 1;
#180 en = 1; #100 en = 0; // 490
#20 amt = 35; add = 0;
#180 en = 1; #100 en = 0; // 690
#20 amt = 50; add = 0;
#180 en = 1; #100 en = 0;
#810 $finish;
end
endmodule
А теперь мой выход обратно говоря Количество в коробке X
Вы не получите компиляции предупреждений ? Какой инструмент вы используете? – toolic
Я использую онлайн-компилятор на tutorialspoint.com – user3370950