6-2 Verilog Mealy状态机之自动售货机

使用工具:Xilinx ISE 14.7

问题描述:

6-2 Verilog Mealy状态机之自动售货机_第1张图片

分析:

这个系统使用3钟投币输入:5美分,10美分, 25美分。一瓶汽水消耗25美分。所以有以下几种情况:

5美分的状态:当投币25美分时找零5美分,其余情况继续投币进入相应状态

10美分的状态:当投币25美分时找零10美分,其余情况继续投币进入相应状态

15美分的状态:当投币25美分时找零15美分,当投币10美分时找零0美分,其余情况继续投币进入相应状态

20美分的状态:当投币25美分时找零20美分,当投币10美分时找零5美分,当投币5美分时找零0美分

因此有以下状态图设计:

6-2 Verilog Mealy状态机之自动售货机_第2张图片

在这里涉及到了投币过程的模拟,有两种方案一种是3种投币每个投币一个按钮以此来控制,每次投币时按下对应按钮即可;另一种是1个按钮加3个开关,每次投币时拨动对应开关,再按下按钮表示投币。两种方案的优缺点:第一种操作简单但是硬件资源占用较多,对于FlipFlop的资源占用率较高,并且用时高于后者。

在这里由于工程的代码量较大,就不贴出来了,下面给出相应工程下载的链接:

单按钮多开关:点击打开链接

多按钮:点击打开链接


你可能感兴趣的:(Verilog成长记)