题解 | #游戏机计费程序#逻辑清晰,不用状态机

游戏机计费程序

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
        remain <= 10'd0;
    end
    else if(set)begin
        remain <= remain + money;
    end
    else if(~boost && remain > 1'b0)begin       // ~boost 0 费用不足
        remain <= remain - 1'd1;
    end
    else if(boost && remain > 1'b1)begin        //boost 0,1 均费用不足
        remain <= remain - 2'd2;
    end
    else begin
        remain <= remain;
    end
end

always@(posedge clk or negedge rst_n)begin
    if(!rst_n)begin
        yellow <= 1'b0;
    end
    else if(remain > 1'b0 && remain < 4'd10)begin
        yellow <= 1'b1;
    end
    else begin
        yellow <= 1'b0;
    end
end

always@(posedge clk or negedge rst_n)begin
    if(!rst_n)begin
        red <= 1'b0;
    end
    else if((~boost && remain == 1'b0) || (boost && remain <= 1'b1))begin
        red <= 1'b1;
    end
    else begin
        red <= 1'b0;
    end
end




endmodule

全部评论

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
02-18 17:30
腾讯_TEG_技术
多刷**&nbsp;背八股&nbsp;刷面经&nbsp;项目话术准备好&nbsp;不会差的!!!后台看到好多小伙伴们都出现其中一个环节的错误,,,可惜了抓紧机会吧&nbsp;有的是hc&nbsp;但缺的就是稍微用心的人
野猪不是猪🐗:多刷星星,背八股背话术,真的能过你们?对一个个没实习过的学生狂问场景题设计题和底层深挖,别以为我不知道一边说缺人还一边各种kpi面
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务