状态机自动售货机.pptxVIP

  • 78
  • 0
  • 约3.07千字
  • 约 22页
  • 2023-02-09 发布于上海
  • 举报
会计学1状态机自动售货机 2023/2/52 状态机(State Machine)是一类很重要的时序电路,是很多数字电路的核心部件,是大型电子设计的基础。状态机相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程。状态机设计 --自动售货机第1页/共22页 2023/2/53图1 一般状态机结构框图 第2页/共22页 2023/2/54 要求:货物单价1.5元,有1元和0.5元两种硬币,每次投入一枚硬币,机器能找零。自动售货机第3页/共22页 2023/2/55状态机设计 --自动售货机 状态转换图2 硬件验证测试4需求分析31 编程及仿真33第4页/共22页 2023/2/561、需求分析货物单价:1.5元两种硬币: 1元或0.5元每次可投入一枚硬币可以输出货物也可能找零投币口找零口出货口自动售货机的VHDL设计。要求:第5页/共22页 2023/2/571、需求分析货物单价:1.5元两种硬币:1元或0.5元每次可投入一枚硬币可以输出货物也可能找零自动售货机的VHDL设计。要求:三种输入:0元0.5元1元五种状态已投入0元已投入0.5元已投入1元已投入1.5元已投入2元S0S1S2S3S4三种输出:无输出有货物,无找零有货物,并找零000110IN1Y001011第6页/共22页 2023/2/582、状态转换图IN1状态/YS0/00S2/00S3/10S1/00S4/110000010000000101011010101010第7页/共22页 2023/2/592、状态转换图IN1状态/YS0/00S2/00S3/10S1/00S4/110000010000000101011010101010第8页/共22页 2023/2/5103、编程及仿真实体结构体第9页/共22页 2023/2/5113、编程及仿真IN1CLKYZDLIBRARY IEEE;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 ;RST实体第10页/共22页 2023/2/5123、编程及仿真结构体第11页/共22页 2023/2/5133、编程及仿真ARCHITECTURE be OF ZD IS…… BEGIN reg:PROCESS(RST,clk) --时序进程 BEGIN …… End process; com:PROCESS(current_state,IN1)--组合进程 BEGIN …… End process;END be; IF RST=1 THEN current_state=S0; ELSIF clkevent and clk=1’ THEN current_state=next_state; END IF;CASE current_state ISWHEN S0=WHEN 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;第12页/共22页 2023/2/5143、编程及仿真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_state=next_state; END IF; END PROCESS;com:PROCESS(current_state,IN1) BEGINCASE current_state ISWHEN S0=Y=00; IF IN1=00 THEN next_state=S0; ELSIF IN1=01 THEN nex

文档评论(0)

1亿VIP精品文档

相关文档