题解 | #游戏机计费程序#

游戏机计费程序

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
    );
//     reg mode;
    always@(posedge clk or negedge rst_n)
        begin
            if(!rst_n)
                begin
                    remain <= 0;
                end
            else if(set)
                begin
                    remain <= boost?remain+money:remain+money; // 如果充值时也计费,这里就前面-2后面-1.现在更简洁的当然是直接写成remain+money咯
                end
            else
                begin
                    remain <= boost?(remain<2?remain:remain-2):
                              (remain<1?remain:remain-1);
                end
        end
    always@(posedge clk or negedge rst_n)
        begin
            if(!rst_n)
                begin
                    yellow <= 0;
                    red <= 0;
                end
            else
                begin
                    yellow <= remain<10&&remain>0;
                    red <= boost?remain<2:remain<1;
                end
        end
    
endmodule


全部评论

相关推荐

学java时间比较短不到三个月,基本的技术栈都过了一遍就是都不太深,有个小项目。是继续找实习还是沉淀准备秋招呢?找实习的话会花很多时间在八股,放弃的话又怕秋招简历太难看。有无大佬支招
今天java了吗:1.一定要找实习,实习不一定要去,但是找实习过程中的面试经验和心态经验才是最重要的 2.八股本来就是大头,甚至比项目重要 3.这个时间段也是面试比较多的阶段,可以抓住机会锻炼。面试才会发现自己的不足,感觉自己会了和能给面试官娓娓道来是两码事
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务