题解 | 游戏机计费程序

游戏机计费程序

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
    );
//remain信号
always@(posedge clk or negedge rst_n)
if(!rst_n)
  remain <= 0;
else if(set)
  remain <= remain + money;
else if(boost && (remain > 10'd1))
  remain <= remain-10'd2;
else if(~boost && (remain > 10'd0))
  remain <= remain-1'b1;
else
  remain <= remain;

always@(posedge clk or negedge rst_n)
if(!rst_n) begin
  yellow <= 0;
  red <= 0;
end
else begin
  yellow <=((remain >0) && (remain < 10'd10))? 1 : 0;
  red <= (((boost && (remain < 10'd2))||(~boost && (remain <1))))?1:0;
end

  
endmodule

这道题我其实做的还有点迷茫。首先就是set、boost信号是按了按钮一直保持1还是只保持一个周期。

好像是一个周期(至少set应该是这样的)。

全部评论

相关推荐

牛客464620405号:随便投,随便找,中国经过40多年的改革开放,人才缺口和职位空缺是巨大的,中国现在属于遍地黄金的年代,属于90后和00大机遇的时代
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务