题解 | #游戏机计费程序#
游戏机计费程序
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 == 1'b0)
remain <= 'd0;
else if(set)
remain <= remain + money;
else if(boost)
remain <= remain - 'd2;
else
remain <= remain - 'd1;
end
always @(posedge clk or negedge rst_n) begin
if(rst_n == 1'b0)
yellow <= 1'b0;
else if(remain < 'd10 & remain >= 'd1)
yellow <= 1'b1;
else
yellow <= 1'b0;
end
always @(posedge clk or negedge rst_n) begin
if(rst_n == 1'b0)
red <= 1'b0;
else if(remain == 'd0)
red <= 1'b1;
else
red <= 1'b0;
end
endmodule
刚敲完代码,居然秒通过!!


