自动售饮料机设计及原理.pdfVIP

  • 369
  • 0
  • 约1.1万字
  • 约 11页
  • 2018-08-30 发布于湖北
  • 举报
实例学习Robei 芯片设计系列 Copyright © Robei 十.自动售饮料机 1.实验目的 了解自动售货机的工作流程以及各个工作状态,以及其test_bench ,最后在Robei 可视 化仿真软件经行功能实现和仿真验证。 2.实验原理 自动售货机的信号定义:clk :时钟输入;reset :为系统复位信号;half_dollar : 代表 投入 5 角硬币;one_dollar :代表投入 1 元硬币;half_out :表示找零信号;dispense :表示 机器售出一瓶饮料;collect :该信号用于提示投币者取走饮料。 当reset=0 时,售货机处于工作状态,此时连续往售货机中投硬币(可以是5 毛也可以 是一元),投入最后一枚硬币时,如果之前投入的硬币总和为 2.5 元则可以取走一瓶饮料, 如果少于2.5 元则继续投币,如果为3 元则显示可以取出一瓶饮料而且找零显示信号为高电 平。 投入硬币的总额 自动售饮料机给出的信号 2.5 元 继续投币 =2.5 元 可以取出一瓶饮料 =3 元 可以取出一瓶饮料,并且找零 3.实验内容 3.1 sell 模块的设计 1)新建一个模型命名为 sell,类型为module ,同时具备 4 输入 3 输出,每个引脚的属性 和名称参照下图2-10-1 经行对应的修改。 图2-10-1 sell 引脚的属性 实例学习Robei 芯片设计系列 Copyright © Robei 图2-10-2 sell 界面图 2 )添加代码。点击模型下方的 Code 添加代码。 代码: parameter idle=0,half=1,one=2,one_half=3,two=4; reg[2:0] D; always @(posedge clk) begin if(reset) begin dispense=0; collect=0; half_out=0; D=idle; end case(D) idle: if(half_dollar) D=half; else if(one_dollar) D=one; half: if(half_dollar) D=one; else if(one_dollar) D=one_half; one:

文档评论(0)

1亿VIP精品文档

相关文档