奋斗的小孩之altera系列第二十四篇自动售货机.PDFVIP

奋斗的小孩之altera系列第二十四篇自动售货机.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
奋斗的小孩之altera系列第二十四篇自动售货机.PDF

FPGA 培训专家 奋斗的小孩之altera 系列 第二十四篇 自动售货机 对于每一个的小实验,我们都可以把它看作是一个小项目,逐步 的去分析,设计,调试,最后完成功能。下面我们就开始我们的“小 项目”。 项目名称:自动售货机 具体要求:一个饮料自动售货机,每听饮料的售价 2.5 美元,可 以使用两种硬币:1 美元(one_dollar),0.5 美元(half_dollar), 同时售货机有找零的功能。 架构图如下: one_dollar:代表投入1 美元硬币 half_dollar:代表投入0.5 美元硬币 至芯科技论坛 FPGA 培训专家 half_out:表示找零信号 dispense:表示机器售出一听饮料 系统设计: 1. 工程的名称:sell 2. 状态转移图如下: IDLE:没有钱的状态 HALF:0.5 美元的状态 ONE:1 美元的状态 ONE_HALF:1.5 美元的状态 TWO:2 美元的状态 由于此状态转移图较为简单,故而没有写出转移条件,读者简单 分析就可理解。例如:当前已经投入 1 美元,若再次投入1 美元时, 应该进入2 美元的状态。 至芯科技论坛 FPGA 培训专家 设计代码如下: /* 模块名称:sell 模块功能:一个饮料自动售货机,每听饮料的售价 2.5 美元,可 以使用两种硬币:1 美元(one_dollar),0.5 美元(half_dollar), 同时售货机有找零的功能。 编写时间:2016-08-24 作者:至芯科技奋斗的小孩 邮箱:zxopenhxs@126.com */ module sell (clk, rst_n, half_dollar, one_dollar, dispense, half_out); input clk; input rst_n; input half_dollar; input one_dollar; output reg dispense; output reg half_out; 至芯科技论坛 FPGA 培训专家 reg [2:0] state;//状态寄存器 localparam IDLE = 3b000,//定义状态 HALF = 3b001, ONE = 3b010, ONE_HALF = 3b011, TWO = 3b100; always @ (posedge clk or negedge rst_n) begin if (!rst_n) begin state = IDLE; dispense = 1b0; half_out = 1b0; end else begin case (state) IDLE : begin 至芯科技论坛 FPGA 培训专家 if (one_dollar) begin state = ONE;

文档评论(0)

tangtianbao1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档