状态机-自动售货机_第1页
状态机-自动售货机_第2页
状态机-自动售货机_第3页
状态机-自动售货机_第4页
状态机-自动售货机_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-7-8#1状态机设计状态机设计-自动售货机自动售货机2022-7-8#2p 状态机状态机(State Machine)(State Machine)是一类很重要的时序是一类很重要的时序电路,是很多数字电路的核心部件,是大型电子设电路,是很多数字电路的核心部件,是大型电子设计的基础。状态机相当于一个控制器,它将一项功计的基础。状态机相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程。换,状态转换

2、的过程就是实现逻辑功能的过程。状态机设计状态机设计-自动售货机自动售货机2022-7-8#3comb_outputsstate_inputsresetclkFSM:s_machineCOMnext_statecurrent_statePROCESSREGPROCESS图图1 1 一般状态机结构框图一般状态机结构框图 2022-7-8#4 要求:货物单价要求:货物单价1.5元,元,有有1元和元和0.5元两种硬币,元两种硬币,每次投入一枚硬币,机每次投入一枚硬币,机器能找零。器能找零。自动售货机2022-7-8#5状态机设计状态机设计-自动售货机自动售货机 状态转换图状态转换图2 硬件验证测试硬件

3、验证测试4需求分析需求分析3 1 编程及仿真编程及仿真3 32022-7-8#61 1、需求分析、需求分析p货物单价:货物单价:1.51.5元元p两种硬币:两种硬币: 1 1元或元或0.50.5元元p每次可投入一枚硬币每次可投入一枚硬币p可以输出货物可以输出货物p也可能找零也可能找零投币口投币口找零口找零口出出货货口口自动售货机的自动售货机的VHDL设计。要求:设计。要求:2022-7-8#71 1、需求分析、需求分析p货物单价:货物单价:1.51.5元元p两种硬币:两种硬币:1 1元或元或0.50.5元元p每次可投入一枚硬币每次可投入一枚硬币p可以输出货物可以输出货物p也可能找零也可能找零自

4、动售货机的自动售货机的VHDL设计。设计。要求:要求:三种输入:三种输入:0元元 0.5元元 1元元五种状态五种状态已投入已投入0元元已投入已投入0.5元元已投入已投入1元元已投入已投入1.5元元已投入已投入2元元S0S1S2S3S4三种输出:三种输出:无输出无输出有货物,无找零有货物,无找零有货物,并找零有货物,并找零000110IN1Y0010112022-7-8#82 2、状态转换图、状态转换图IN1状态状态/YS0/00S2/00S3/10S1/00S4/1100000100000001010110101010102022-7-8#92 2、状态转换图、状态转换图IN1状态状态/YS0

5、/00S2/00S3/10S1/00S4/1100000100000001010110101010102022-7-8#103 3、编程及仿真、编程及仿真实体实体结构体结构体2022-7-8#113 3、编程及仿真、编程及仿真IN1IN1CLKCLKY YZDZDLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY ZD ISPORT(clk,RST:IN std_logic; IN1:IN std_logic_vector(1 DOWNTO 0); Y:OUT std_logic_vector(1 DOWNTO 0);END ZD ;RSTRST实体

6、实体2022-7-8#12comb_outputsstate_inputsresetclkFSM:s_machineCOMnext_statecurrent_statePROCESSREGPROCESS3 3、编程及仿真、编程及仿真结结构构体体2022-7-8#133 3、编程及仿真、编程及仿真ARCHITECTURE be OF ZD IS BEGINreg:PROCESS(RST,clk) -时序进程 BEGIN End process;com:PROCESS(current_state,IN1)-组合进程 BEGIN End process;END be; IF RST=1 THEN c

7、urrent_state=S0; ELSIF clkevent and clk=1 THEN current_stateWHEN S1=WHEN S2=WHEN S3=WHEN S4=END CASE;Y=00; IF IN1=“00” THEN next_state=S0; ELSIF IN1=01 THEN next_state=S1;ELSIF IN1=10 THEN next_state=S2;END IF;TYPE fsm_st IS (S0,S1,S2,S3,S4); SIGNAL current_state,next_state:fsm_st;2022-7-8#143 3、编程及

8、仿真、编程及仿真ARCHITECTURE be OF ZD IS TYPE fsm_st IS (S0,S1,S2,S3,S4); SIGNAL current_state,next_state:fsm_st; BEGINreg:PROCESS(RST,clk) BEGIN IF RST=1 THEN current_state=S0; ELSIF clkevent and clk=1 THEN current_stateY=00; IF IN1=00 THEN next_state=S0; ELSIF IN1=01 THEN next_state=S1; ELSIF IN1=10 THEN

9、next_stateY=00; IF IN1=“00” THEN next_state=S1; ELSIF IN1=01 THEN next_state=S2; ELSIF IN1=10 THEN next_stateY=00; IF IN1=“00” THEN next_state=S2; ELSIF IN1=01 THEN next_state=S3; ELSIF IN1=10 THEN next_stateY=10; IF IN1=“00” THEN next_state=S0; ELSIF IN1=01 THEN next_state=S1; ELSIF IN1=10 THEN nex

10、t_stateY=11; IF IN1=00THEN next_state=S0; ELSIF IN1=01 THEN next_state=S1; ELSIF IN1=10 THEN next_state=S2; END IF; END CASE; END PROCESS;END be; 2022-7-8#163 3、编程及仿真、编程及仿真编程编程2022-7-8#173 3、编程及仿真、编程及仿真仿真仿真2022-7-8#183 3、编程及仿真、编程及仿真结果分析结果分析2022-7-8#194 4、硬件验证测试、硬件验证测试找零找零货物货物0.5元元1元元复位复位硬硬件件管管脚脚定定义义2022-7-8#204 4、硬件验证测试、硬件验证测试硬硬件件测测试试结结果果2022-7-8#21小结小结p状态机的状态机的VHDLVHDL设计模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论