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

游戏机计费程序

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)
         remain<=0;
         else if(set)
         remain<=remain+money;
         else if(boost)
          remain<=remain-2;
          else 
          remain<=remain-1;
    end
   always@(posedge clk or negedge rst_n )begin 
        if(!rst_n)
        begin 
            yellow<=0;
            red<=0;
        end
        else if(remain==0)
          begin 
            yellow<=0;
            red<=1;
        end
        else if(remain>=10)
      begin 
            yellow<=0;
            red<=0;
        end
        else 
         begin 
            yellow<=1;
            red<=0;
        end
  
         
   end
endmodule

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务