卖报机代码,以及仿真

如题所示,经典面试题,卖报机。现有卖报机,投币口收1分,2分,5分,一份报纸5分。

端口

input:a,b,c
output:y,z
注释:
a=1,表示投入5分;
b=1,表示投入2分;
c=1,表示投入1分;
y=1,表示吐出1份报纸;
z=1,表示找零;

状态

S0:空闲态(完成态)
S1:余额为1分;
S2:余额为2分;
S3:余额为3分;
S4:余额为4分;

上面五个状态,余额为5,即为S0,余额为6,即为S1,以此循环
画出状态图如下:
卖报机状态图

真值表

根据状态图可以列出真值表如下:
真值表

rtl

本次rtl使用3段式fsm
第一段
接上段代码
第二段fsm部分
接上段代码
第二段fsm部分
第三段fsm
第三段fsm
此段代码后边还有一个end和endmodule,若想正确运行,需补上。
tb比较简单,就不截图了。
波形如下:
卖报机波形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值