牛客网Verilog刷题——VL38

news2024/9/22 23:28:35

牛客网Verilog刷题——VL38

  • 题目
  • 答案

题目

  设计一个自动贩售机,输入货币有三种,为0.5/1/2元,饮料价格是1.5元,要求进行找零,找零只会支付0.5元。需要注意的是,投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在下降沿到0的脉冲信号,其中rst为低电平复位。
  信号示意图如下:

在这里插入图片描述

  波形示意图如下。
在这里插入图片描述
  输入输出描述:

信号类型输入/输出位宽描述
clkwireIntput1系统时钟信号
rst_nwireIntput1异步复位信号,低电平有效
d1wireIntput1投入0.5元
d2wireIntput1投入1元
d3wireIntput1投入2元
out1regOutput1输出饮料
out2regOutput2找零,00表示0元,01表示0.5元,10表示1元,11表示1.5元

答案

`timescale 1ns/1ns
module seller1(
	input wire clk  ,
	input wire rst  ,
	input wire d1 ,
	input wire d2 ,
	input wire d3 ,
	
	output reg out1,
	output reg [1:0]out2
);
//*************code***********//

//当次投入金额
wire	[2:0]	d;
assign d = {d3,d2,d1};//100、010、001

//投入累计金额
localparam S0  = 7'b000_0001; //0
localparam S1  = 7'b000_0010; //0.5
localparam S2  = 7'b000_0100; //1
localparam S3  = 7'b000_1000; //1.5
localparam S4  = 7'b001_0000; //2
localparam S5  = 7'b010_0000; //2.5
localparam S6  = 7'b100_0000; //3

reg	[6:0] curr_state;
reg	[6:0] next_state;

always @(posedge clk or negedge rst)
	if(!rst)
		curr_state <= S0;
	else
		curr_state <= next_state;
		
always @(*)
	case(curr_state)
		S0:
			if(d==3'b001)
				next_state = S1;
			else if(d==3'b010)
				next_state = S2;
			else if(d==3'b100)
				next_state = S4;
			else
				next_state = next_state;
		
		S1:
			if(d==3'b001)
				next_state = S2;
			else if(d==3'b010)
				next_state = S3;
			else if(d==3'b100)
				next_state = S5;
			else
				next_state = next_state;		
	
		S2:
			if(d==3'b001)
				next_state = S3;
			else if(d==3'b010)
				next_state = S4;
			else if(d==3'b100)
				next_state = S6;
			else
				next_state = next_state;

		S3:
			next_state = S0;

		S4:
			next_state = S0;
			
		S5:
			next_state = S0;
		
		S6:
			next_state = S0;
			
		default:next_state = S0;
			
	endcase

always @(posedge clk or negedge rst)
	if(!rst)
		out1 <= 1'b0;
	else if((next_state==S3) || (next_state==S4) || (next_state==S5) || (next_state==S6))
		out1 <= 1'b1;
	else
		out1 <= 1'b0;

always @(posedge clk or negedge rst)
	if(!rst)
		out2 <= 2'd0;
	else if(next_state==S3)
		out2 <= 2'd0;
	else if(next_state==S4)
		out2 <= 2'd1;
	else if(next_state==S5)
		out2 <= 2'd2;
	else if(next_state==S6)
		out2 <= 2'd3;
	else
		out2 <= 2'd0;

//*************code***********//
endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/465090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【采坑专栏】【错误记录】起系统

doc说明 一级标题分大的&#xff0c;二级标题尽量加&#xff0c;三级标题是具体问题 语法 我的老毛病-易错的 多驱 复制粘贴导致前后一样 管脚约束还是直接选吧 多驱动 Vivado WARNING&#xff1a;Multi-driven net Q with xth driver pin 警告的原因和消除方法 出现这…

注意力机制:基于Yolov8的Triplet注意力模块,即插即用,效果优于cbam、se,涨点明显

论文&#xff1a;https://arxiv.org/pdf/2010.03045.pdf 本文提出了可以有效解决跨维度交互的triplet attention。相较于以往的注意力方法&#xff0c;主要有两个优点&#xff1a; 1.可以忽略的计算开销 2.强调了多维交互而不降低维度的重要性&#xff0c;因此消除了通道和权…

STM32F4_SRAM中调试代码

目录 1. 在RAM中调试代码 2. STM32的三种存储方式 3. STM32的启动方式 4. 实验过程 通过上一节的学习&#xff0c;我们已经了解了SRAM静态存储器&#xff1b; 1. 在RAM中调试代码 一般情况下&#xff0c;我们在MDK中编写工程应用后&#xff0c;调试时都是把程序下载到芯片…

Android类似微信聊天页面教程(Kotlin)四——数据本地化

前提条件 安装并配置好Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built on February 17, 2023 Runtime version: 11.0.150-b2043.56-9505619 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 …

Flink从入门到精通之-07处理函数

Flink从入门到精通之-07处理函数 之前所介绍的流处理 API&#xff0c;无论是基本的转换、聚合&#xff0c;还是更为复杂的窗口操作&#xff0c;其实都是基于 DataStream 进行转换的&#xff1b;所以可以统称为 DataStream API&#xff0c;这也是 Flink 编程的核心。而我们知道…

同样是测试,你年薪50W,我年薪10W,我哭了...

软件测试可以拿到年薪50万&#xff1f; 开什么玩笑&#xff1f; 我才月薪15K。 小伙伴看到标题是不是一开始的反应是这样的&#xff1f;是的话举一个小爪爪吧&#xff01; 那软件测试到底能不能拿到年薪50万呢&#xff1f; 没有吃过猪肉还没见过猪跑吗&#xff0c;你自己没…

【云原生-深入理解Kubernetes-1】容器的本质是进程

文章目录 &#x1f479; 关于作者一、为什么会出现容器&#xff1f;二、容器是什么&#xff1f;三、容器“边界”的实现手段3.1、进程如何运行的&#xff1f;3.2、Namespace 与 Docker 边界容器的本质是一个进程这是怎么做到的呢&#xff1f; 总结✊ 最后参考 &#x1f479; 关…

践行公益担当|人情如故,爱心依旧

爱心助学 情暖童心 随着改革开放&#xff0c;少数民族地区发生了翻天覆地的变化&#xff0c;城乡经济持续发展&#xff0c;人民生活水平日益提高。但对于很多居住在偏远山区的民族自然村&#xff0c;由于山区的地形限制&#xff0c;自然生存环境恶劣&#xff0c;交通及文化、教…

Android 项目必备(四十五)-->2023 年如何构建 Android 应用程序

Android 是什么 Android 是一种基于 Linux 内核并由 Google 开发的开源操作系统。它用于各种设备包括智能手机、平板电脑、电视和智能手表。 目前&#xff0c;Android 是世界上移动设备使用最多的操作系统; 根据 statcounter 的一份最近 12 个月的样本报告;Android 的市场份额…

C++ 编程笔记(本人出品,必属精品)

文章目录 Part.I IntroductionChap.I 快应用 Part.II C 基础Chap.I 一些待整理的知识点Chap.I 常用的库或类 Part.III 杂记Part.X Others WorkChap.I 大佬的总结Chap.II 大佬的轮子 Part.I Introduction 前言&#xff1a;C 用的人还是比较多的&#xff0c;主要是它比较快并且面…

2023-4-26-C++11新特性之正则表达式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

太为难我了,阿里面试了7轮...

前言 今年的大环境非常差&#xff0c;互联网企业裁员的现象比往年更严重了&#xff0c;可今年刚好是我的第一个“五年计划”截止的时间点&#xff0c;说什么也不能够耽搁了&#xff0c;所以早早准备的跳槽也在疫情好转之后开始进行了。但是&#xff0c;不得不说&#xff0c;这…

SOLIDWORKS认证考试流程

一、SOLIDWORKS认证考试前的准备工作 1、检查电脑硬件设备是否可以正常使用&#xff0c;如键盘鼠标等。 2、检查Solidworks软件是否可以正常使用。 3、关闭电脑所有杀毒软件。 4、检查电脑网络&#xff08;外网&#xff09;是否正常。 5.请联系我们获取考试系统软件安装包。…

redis面试题(二)附答案

书接上回&#xff0c;接着分享面试题&#xff0c;最近开发了几个小伙伴的项目&#xff0c;耽误更新了&#xff0c;来点干货&#xff0c;表示歉意。大家有需求也可以找小编。 2、缓存穿击 业务通常会有几个数据会被频繁地访问&#xff0c;比如秒杀活动&#xff0c;这类被频地访…

好程序员:前端JavaScript全解析——Canvas绘制形状(上)

●今天&#xff0c;我们来通过 canvas 提供的方法开绘制一些简单的形状绘制矩形 绘制基础矩形。下面一起看看好程序员老师的讲解吧~ ●语法 : 工具箱.rect( 矩形起点 x 轴坐标, 矩形起点 y 轴坐标, 矩形宽度, 矩形高度 ) // 0. 获取到页面上的 canvas 标签元素节点 const canva…

Camtasia2023简体中文标准版免费更新下载

Camtasia专业的 屏幕录制和视频剪辑软件3000多万专业人士在全球范围内使用Camtasia展示产品&#xff0c;教授课程&#xff0c;培训他人&#xff0c;以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得更为简单。 Camt…

Vue3 element-plus el-select 无法选中,又不报错

html 结构 <el-form :model"conditionForm"ref"conditionForm"label-width"100px" class"demo-ruleForm"><el-selectv-model"conditionForm.personnel"multipleplaceholder"Select"style"width: 2…

知网导入EndNote

首先进入知网&#xff0c;搜索你想要找的期刊论文。 选择EndNote 点击导出 浏览器自动下载以txt为后缀的文件 导入到EndNote中

【C++】异常,你了解了吗?

在之前的C语言处理错误时&#xff0c;会通过assert和错误码的方式来解决&#xff0c;这导致了发生错误就会直接把程序关闭&#xff0c;或者当调用链较长时&#xff0c;就会一层一层的去确定错误码&#xff0c;降低效率&#xff0c;所以c针对处理错误&#xff0c;出现了异常&…

ChatGPT写小论文

ChatGPT写小论文 只是个人对写小论文心得?从知乎,知网自己总结的,有问题,可以留个言我改一下 文章目录 ChatGPT写小论文-1.写论文模仿实战(狗头)0.论文组成1.好论文前提:2.标题3.摘要4.关键词5.概述6.实验数据、公式或者设计7.结论&#xff0c;思考8.参考文献 0.模仿1.喂大纲…