牛客网Verilog刷题——VL39

牛客网Verilog刷题——VL39

  • 题目
  • 答案

题目

  设计一个自动贩售机,输入货币有两种,为0.5/1元,饮料价格是1.5/2.5元,要求进行找零,找零只会支付0.5元。

1、投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在下降沿到0的脉冲信号

2、此题忽略出饮料后才能切换饮料的问题

  注意rst为低电平复位。

  信号示意图:
在这里插入图片描述

  输入输出描述:

信号类型输入/输出位宽描述
clkwireIntput1系统时钟信号
rstwireIntput1异步复位信号,低电平有效
d1wireIntput1投入0.5元
d2wireIntput1投入1元
selwireIntput1选择饮料,0表示选择1.5元饮料,1表示选择2.5元饮料
out1regOutput1输出饮料1
out2regOutput1输出饮料2
out3regOutput2找零,只找零0.5元

答案

`timescale 1ns/1nsmodule seller2(input wire clk  ,input wire rst  ,input wire d1 ,input wire d2 ,input wire sel ,output reg out1,output reg out2,output reg out3
);
//*************code***********//
//金额状态
reg		[6:0]	cuur_state; 
reg		[6:0]	next_state; parameter	S0 = 7'b000_0001; //0元
parameter	S1 = 7'b000_0010; //0.5元
parameter	S2 = 7'b000_0100; //1元
parameter	S3 = 7'b000_1000; //1.5元
parameter	S4 = 7'b001_0000; //2元
parameter	S5 = 7'b010_0000; //2.5元
parameter	S6 = 7'b100_0000; //3元always @(posedge clk or negedge rst) beginif(!rst)cuur_state <= S0;elsecuur_state <= next_state;
endalways @(*) begincase(cuur_state) S0 : next_state = d1 ? S1 : d2 ? S2 : next_state;S1 : next_state = d1 ? S2 : d2 ? S3 : next_state;S2 : next_state = d1 ? S3 : d2 ? S4 : next_state;S3 : next_state = ~sel ? S0 : d1 ? S4 : d2 ? S5 : next_state;S4 : next_state = ~sel ? S0 : d1 ? S5 : d2 ? S6 : next_state;S5 : next_state = S0;S6 : next_state = S0;default : next_state = S0;endcase
endalways @(*) beginif(!rst) begin{out1,out2,out3} = 3'b000;endelse begincase(cuur_state) S0,S1,S2 :  {out1,out2,out3} = 3'b000;S3		 :  {out1,out2,out3} = ~sel ? 3'b100 : 3'b000;S4		 :  {out1,out2,out3} = ~sel ? 3'b101 : 3'b000;S5		 :  {out1,out2,out3} = ~sel ? 3'b101 : 3'b010;S6		 :  {out1,out2,out3} = ~sel ? 3'b101 : 3'b011;default : {out1,out2,out3} = 3'b000;endcaseend
end//*************code***********//
endmodule

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样寻找SEO服务商,需要注意那些问题?

网上提供SEO服务的公司或个人多如牛毛&#xff0c;随便在搜索引擎上搜索一下&#xff0c;成千上万的公司就在眼前。大部分网站设计公司也兼职SEO服务&#xff0c;寻找合适的SEO服务商并不简单&#xff0c;鉴别合格的SEO服务商是关键。 1、确定外包任务 如果没有SEO团队&…

单表查询练习

查看表的字符集编码 show create table tbname; 查看系统默认字符集 SHOW VARIABLES LIKE character_set_database; 显示所有可用的字符集 SHOW CHARACTER SET; 修改系统默认字符集 ①在 /etc/my.cnf 文件中的 [mysqld] 下添加&#xff1a; ②重启数据服务 systemctl re…

火车头采集器AI伪原创[php源码]

本文介绍php版本的火车头采集器AI伪原创&#xff0c;对于网站的原创内容&#xff0c;站长朋友们一定很头疼。作为一个草根站长&#xff0c;自己写原创文章太累了。当然&#xff0c;我并不是说你不能写。自己写原创文章是不现实的。时间是最大的问题。 也许有的站长朋友会问&…

Zabbix(二)

Zabbix(二) 一、部署代理服务器 1.作用 分布式监控的作用&#xff1a; ●分担 server 的集中式压力 ●解决多机房之间的网络延时问题2.步骤 2.1部署代理服务器端 systemctl disable --now firewalld setenforce 0 hostnamectl set-hostname zbx-proxy//设置 zabbix 的下载…

【数据结构】双向带头循环链表

⭐️ 往期相关文章 ✨链接1&#xff1a;数据结构和算法的概念以及时间复杂度空间复杂度详解 ✨链接2&#xff1a;【数据结构】手撕顺序表(动态版)代码详解 ✨链接3&#xff1a;【数据结构】手撕单链表代码详解 ⭐️ 双向带头循环链表 图解&#xff1a; 双向&#xff1a; 链表…

LVS简介及LVS-NAT负载均衡群集的搭建

目录 一、LVS群集简介 1.群集的含义和应用场景 2.性能扩展方式 3.群集的分类 负载均衡&#xff08;LB&#xff09; 高可用&#xff08;HA&#xff09; 高性能运算&#xff08;HPC&#xff09; 二、LVS负载均衡群集简介及搭建 1.负载均衡群集架构 2.三种工作模式 3.启…

C++教程(一)开发环境visual studio的安装——图文详细

一、visual studio下载地址&#xff1a; 1、百度网盘 链接&#xff1a;https://pan.baidu.com/s/1QJosSoAT7EumuvyjtC_1Iw?pwdwuqz 提取码&#xff1a;wuqz 2、官网下载 Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com)https://visualstudio.…

python flask sqlite http服务

python flask 服务 为了让拼接项目能够简单实用http服务&#xff0c;用python flask 来做一个http服务&#xff0c;使用python的原因是拼接项目本身很多人工智能的服务是用python来写。数据库为了简单实用sqlite&#xff0c;python自带sqlite3 ,很方便 db.sql CREATE TABLE …

uni-app

uni-app 一、准备工作1.新建项目2.配置浏览器3.兼容4.新建页面 二、上手1.pages.json文件的页面配置与全局配置2.rpx尺寸单位3.内置组件4.vue2写法&#xff08;1&#xff09;模板&#xff08;2&#xff09;插值语法&#xff08;3&#xff09;指令&#xff08;4&#xff09;styl…

猿人学web刷题1

1.第一题 js混淆源码乱码 - 猿人学 : url 时间戳加密 右键遇到反调试&#xff0c;参考前面的文章 过反调试 2.ast解混淆 首页1.js 拿到 function oo0O0, 在<script>标签里面, 无法调试&#xff0c;分析自己提取出来&#xff0c;或则hook替换 加密逻辑存在于window.a中&a…

分布式概念

分布式系统中的相关概念 1 大型互联网项目架构目标 2 集群和分布式 替换模块 3 架构演进

代码随想录day11

20. 有效的括号 思路&#xff1a;这里用模拟栈的方法会更好理解&#xff0c;也就是我们每次遇到朝左方向的三种类型的时候&#xff0c;就加入相反方向的右括号到result栈中。由于栈是一个先进后出的方式&#xff0c;所以我们会有一个判断stack当前为不为空&#xff0c;和stack[…