IC学习笔记:02.自动售货饮料-有限状态机-mealy型

第一步:看要求

编写一个自动售货机,功能如下:
1)共有三种纸币入口,分别支持10元,20元,50元;
2)货物售价为80元;
3)需要支持找钱功能(注意,找钱有四种种情况)。
RTL编码,完成testbench编码,用QuestaSim仿真波形通过。

答题

第一步画出状态转移图

有7种状态,状态图从s0到s7如下图
状态转移图

第二步:辨别情况,设置输入输出及s0~s7的状态

(1)输入与输出状态

设置投钱10元为:in10,
设置投钱20元为:in20,
设置投钱50元为:in50
设置出货为:out,
设置找钱10元为: return_10,
设置找钱20元为: return_20,
设置找钱30元为: return_30,
设置找钱40元为: return_40。

(2)s0~s7的状态定义如下

parameter [2:0] s0 = 3’b000,
s1 = 3’b001,
s2 = 3’b010,
s3 = 3’b011,
s4 = 3’b100,
s5 = 3’b101,
s6 = 3’b110,
s7 = 3’b111。

第三步:写RTL如下

module sell(
  output out,
  output return_10,
  output return_20,
  output return_30,
  output return_40,
  input  clk,
  input  reset,
  input  in10,
  input  in20,
  input  in50
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值