题解 | #游戏机计费程序#
游戏机计费程序
https://www.nowcoder.com/practice/50188fb7e23b4eee86f8c463c8284f5e
`timescale 1ns/1ns
module game_count
(
input rst_n, //异位复位信号,低电平有效
input clk, //时钟信号
input [9:0]money,
input set,
input boost,
output reg[9:0]remain,
output reg yellow,
output reg red
);
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
yellow <= 1'd0 ;
red <= 1'd0 ;
end
else if(remain>=10'd10)
begin
yellow <= 1'd0 ;
red <= 1'd0 ;
end
else if(remain<10'd10&&remain>10'd0)
begin
yellow <= 1'd1 ;
red <= 1'd0 ;
end
else if(remain<10'd1)
begin
yellow <= 1'd0 ;
red <= 1'd1 ;
end
else
begin
yellow <= yellow ;
red <= red ;
end
end
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
remain <= 10'd0 ;
end
else if(boost)
begin
if(set)
remain <= remain + money ;
else
remain <= remain - 10'd2 ;
end
else
begin
if(set)
remain <= remain + money ;
else
remain <= remain - 10'd1 ;
end
end
endmodule
就这???
