「Verilog学习笔记」游戏机计费程序

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

`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 (boost) remain <= set ? remain + money : remain < 2 ? remain : remain - 2 ; 
            else remain <= set ? remain + money : remain < 1 ? remain : remain - 1 ; 
        end

        always @ (posedge clk or negedge rst_n) begin 
            if (~rst_n) begin 
                yellow <= 0 ; 
                red <= 0 ; 
            end
            else begin 
                yellow <= remain && remain < 10 ; 
                red <= boost ? remain < 2 : remain < 1 ;
            end
        end
endmodule
相关推荐
W u 小杰20 分钟前
Docker学习笔记
笔记·学习·docker
~在杰难逃~1 小时前
Day23笔记-Day21和Day22作业讲解&单例类
开发语言·笔记·python·pycharm·数据分析
白帽黑客cst1 小时前
自学网络安全(黑客技术)2024年 —90天学习计划
网络·windows·python·学习·mysql·安全·web安全
笑鸿的学习笔记2 小时前
git笔记之在多个分支中复用某个分支提交的更改
笔记·git
禁默3 小时前
第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024)
学习
非常规定义M6 小时前
Day30_0.1基础学习MATLAB学习小技巧总结(30)——优化工具箱及
开发语言·人工智能·学习·算法·数学建模·matlab
王俊山IT7 小时前
C++学习笔记----7、使用类与对象获得高性能(二)---- 理解对象生命周期(7)
开发语言·c++·笔记·学习
林九生8 小时前
【Redis】个人笔记
数据库·redis·笔记
OEC小胖胖8 小时前
MyBatis系统学习(四)——MyBatis的关联映射和缓存机制
java·后端·学习·缓存·mybatis·web
清流君8 小时前
【自动驾驶】控制算法(八)横向控制Ⅳ | 调试与优化——让车辆行驶更平稳!
人工智能·笔记·算法·自动驾驶·控制算法