1、 电子技术基础电子技术基础 课课 程程 设设 计计 题目名称:题目名称: 自动售货机自动售货机 姓姓 名:名: 学学 号:号: 组员姓名:组员姓名: 班班 级:级: 指导教师指导教师: 评语:评语: 成绩:成绩: 教师签名:教师签名: 摘要摘要 自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、 方便交易。 1925 年美国研制出售香烟的自动售货机,此后又出现了出售邮票、车票的各种 现代自动售货机。一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组 成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的 种类,计算金额。如果投入的金额达到购买物品的数值即
2、发出售货信号,并找出 余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出 售指示信号,把顾客选择的商品送至付货口。一般售货机的钱币装置由投币口、 选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成。 而本次课程设计的内容就是在学习相关 Verilog 代码之后,再结合本学期学习的数 字电子技术及其实验的相关知识, 通过画出状态图等方式, 清楚其逻辑关系和运算过程, 编写一个简单的自动售货机程序,实现投入不同的硬币数量和面值,可以得到相应的实 际结果,包括出货、找零等功能。并且利用ModelSim软件来实现程序的测试,以及结果 的输出和检验。 关键字:关键字:
3、 自动售货机 Verilog ModelSim软件 状态图 目录目录 1 1 设计目的设计目的 . 1 2 2 设计题目设计题目 . 1 3 3 设计要求设计要求 . 1 4 4 设计内容设计内容 . 2 4.1 有限状态机的描述 2 4.2 状态变化图 . 2 4.3 定义时钟信号 . 3 4.4 定义输入和输出端口 3 4.5 VERILOG代码编写 . 4 4.5.1 主程序:用 Verilog 语言的 case 语句 . 4 4.5.2 测试程序 6 4.6 有限状态机图 . 8 5 5 设计内容仿真实验结果设计内容仿真实验结果 9 5.1 运行过程 . 9 5.2 波形分析 . 10
4、 6 6 参考文献参考文献 . 12 电子课程设计总结与体会电子课程设计总结与体会 13 1 1 1 设计目的设计目的 (1) 掌握有限状态机的概念和描述方法; (2) 掌握时序电路系统的设计方法; (3) 学些和掌握 Verilog描述数字系统的方法; (4) 学习和掌握 ModelSim等软件的使用方法; (5) 学习和了解 IC 设计的基本流程。 2 2 设计题目设计题目 (1) 可投 5 角和一元两种硬币; (2) 饮料单价为 2.5 元; (3) 系统能够根据用户输入的硬币,判断钱币是否足够,当所投硬币达到或者超过购 买者所选面值时,则根据顾客的要求自动售货,并找回剩余的硬币,然后回
5、到初 始状态, 当所投硬币面值不够时, 则给出提示, 并通过一个复位键退回所投硬币。 然后回到初始状态。 3 3 设计要求设计要求 (1) 描述有限状态机; (2) 定义输入和输出端口; (定义各种输出状态,显示操作结果) (3) 定义时钟; (4) Verilog代码编写; (5) ModelSim综合电路,输出电路的网表; (6) 编写测试向量,绘制测试波形; 2 4 4 设计内容设计内容 4.1 有限状态机的描述 有限状态机(finite-state machine, FSM)是表示有限个状态以及在这些状态之 间的转移和动作等行为的数学模型。在数字电路系统中,有限状态机是一种十分重要的
6、时序逻辑电路模块。它对数字系统的设计具有十分重要的作用。有限状态机是指输出取 决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部 分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有 限状态机的内部状态,它们常被称为状态寄存器。在有限状态机中,状态寄存器的的下 一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又 可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状 态机的内部状态;而组合逻辑又可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能 是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。 4.2 状态变化图 线段表示 money_in=2b01 表示每次投币 5 角(S1S2,S2S3,S3S4, S4S5) 线段表示 money_in=2b10 表示每次投币 1 元(S1S3,S