首页 理论教育 自动售货机系统FPGA设计实现详解

自动售货机系统FPGA设计实现详解

时间:2023-06-15 理论教育 版权反馈
【摘要】:采用状态机设计实现自动售货机的步骤如下。将CS与L混合,NS单独描述。综合以上仿真分析,验证了设计程序,达到了自动售货机控制系统的功能。在VIO核的调试中,用按键模拟投币。图5-63 调试结果1投入五个5角的硬币后,成功售出商品,sell为1,如图5-64所示。图5-64 调试结果2从上述调试结果可以看出自动售货机的设计正确。

自动售货机系统FPGA设计实现详解

采用状态机设计实现自动售货机的步骤如下。

1.创建工程

在D:\ISE_GC\目录下,创建工程名为VD的工程,在这里选择的器件族类型(Device Family)是Virtex2P;器件型号(Device)是XC2VP30 ff896-7;综合工具(Synthesis Tool)是XST(VHDL/Verilog);仿真器(Simulator)是ISE Simulator(VHDL/Verilog)。

2.设计输入

状态机由当前状态(CS)、下一个状态(NS)和输出逻辑(OL)三部分组成,可以很据状态机的不同结构采用不同的VerilogHDL描述方法,常用的方法如下:

(1)将CS、NS与OL分别描述。

(2)将CS、NS与OL混合描述。

(3)将NS与OL混合,S单独描述。

(4)将CS与S混合,L单独描述。

(5)将CS与L混合,NS单独描述。

这里采用第三种描述方法,编码方式为7位独热码(one_hot码),如表5-3所示。

5-3 当前状态下一状态和输出逻辑的描述

978-7-111-42984-5-Chapter05-70.jpg

源代码窗口中单击右键,在弹出的菜单中选择New Source,在弹出的对话框中选择Verilog Moudle,在右端的File name中输入源文件名VD,然后在弹出的源代码编辑框内输入光盘附件5-9所示的代码。

3.行为仿真

(1)由TestBenchWaveForm添加激励 用鼠标右键单击VD.v,在弹出的菜单中选择New Source,在弹出的对话框中选择Test Bench WaveForm,在右端的File name中输入test,单击Next,再单击finish即可。双击test.tbw,在右窗口中设置输入信号的波形,如图5-61所示。

978-7-111-42984-5-Chapter05-71.jpg

图5-61 Test Bench波形

(2)在sources窗口sources for中选择Behavioral Simulation,行为仿真波形如图5-62所示。

978-7-111-42984-5-Chapter05-72.jpg(www.xing528.com)

图5-62 行为仿真波形

由图5-62可以看出:

第一组测试数据:先投入一个5角的硬币,再投入一个1元的硬币,如此反复,即five_jiao和one_yuan间隔设置高电平1,在第二次投入1元硬币的时候,投币总额超过饮料的单价2.5元,系统应该售出商品,有找零,即sell为1,five_jiao_out为1;

第二组测试数据:先投入一个5角的硬币,再连续投入两个1元的硬币,即five_jiao设置高电平1,one_yuan设置2个连续的高电平1,投币总额恰好为饮料的单价2.5元,系统应该售出商品,没有找零,即sell为1,five_jiao_out为0;

第三组测试数据:投入三个1元的硬币,即one_yuan设置三个连续的高电平1,投币总额超过商品的单价2.5元,系统应该售出商品,有找零,即sell为1,five_jiao_out为1。

综合以上仿真分析,验证了设计程序,达到了自动售货机控制系统的功能。

4.进行ChipScope在线调试

(1)生成ChipScope核并添加到工程 只需要使用ICON核和VIO核,利用VIO进行实时观测,ICON核仅控制VIO一个核,所以控制端口数为1。VIO核使用异步输入输出端口,异步输入端口的位宽为2,异步输出端口的位宽为4。

最后得到的核例化后的代码详见光盘附件5-10。

(2)在ISE里进行综合和实现,然后生成bit文件。

(3)在ChipScope里进行观测调试 在Processes窗口中选择双击Analyze Design Using Chipscope进入Chip Scope Pro Analyzer窗口,单击978-7-111-42984-5-Chapter05-73.jpg图标检查连接情况,然后下载bit文件进行在线观测。

在VIO核的调试中,用按键模拟投币。投入一个5角和两个1元的硬币后,sell为高电平1,成功售出商品,如图5-63所示。

978-7-111-42984-5-Chapter05-74.jpg

图5-63 调试结果1

投入五个5角的硬币后,成功售出商品,sell为1,如图5-64所示。

978-7-111-42984-5-Chapter05-75.jpg

图5-64 调试结果2

从上述调试结果可以看出自动售货机的设计正确。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈