「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
相关推荐
BlackWolfSky9 分钟前
鸿蒙中级课程笔记12—应用质量建议与测试指南
笔记·华为·harmonyos
啊我不会诶19 分钟前
Codeforces Round 1071 (Div. 3) vp补题
开发语言·学习·算法
星火开发设计37 分钟前
命名空间 namespace:解决命名冲突的利器
c语言·开发语言·c++·学习·算法·知识
卖芒果的潇洒农民38 分钟前
20260201 GPT VPC中的CIDR Block 概念
笔记·gpt
强子感冒了44 分钟前
CSS基础学习:CSS选择器与优先级规则
前端·css·学习
vortex51 小时前
深度字典攻击(实操笔记·红笔思考)
前端·chrome·笔记
闪闪发亮的小星星1 小时前
主旋参数(四元数)与欧拉参数
笔记·其他
修己xj1 小时前
一月存档,二月加载
学习
蒸蒸yyyyzwd1 小时前
c网络编程学习笔记
c语言·网络·学习
驱动探索者1 小时前
linux hwspinlock 学习
linux·运维·学习