- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有限状态机课程设计报告 EDASoda Machine 自动售货机
1 有限状态机
有限状态机(Finite State Machine)是一种具有内部记忆的抽象机器模型,是时序电路的一种,通过有限状态机课实现高效率高可靠逻辑控制。
根据输出与输入关系、系统状态的关系,有限状态机又可以分为Moore型有限状态机和Mealy型有限状态机。Moore型状态机的输出信号只于当前的状态有关;Mealy型状态机是输出信号不仅与当前的状态有关,还与输入信号有关。
Mealy机的示意图如图二所示:
图二Mealy机的示意图
Moore机的示意图如图三所示:
图三 Moore机的示意图
Moore型有限状态机和Mealy型有限状态机的区别:
● 在Moore机中,输出的时钟活动沿到达后的几个门电路的延迟时间之后即到达,并且在该时钟周期的剩余时间内保持不变,即使输入在该时钟周期内发生变化,输出值也保持不变。然而,因为输出与当前的输入无关,当前输出产生的任何效果将延迟到下一个时钟周期。Moore机的优点是将输出与输入分隔开。
● 在Mealy机中,因为输出是输入的函数,如果输入改变,则输出可以在下一个时钟周期的中间发生改变。这使得Mealy机比Moore机,对输入变化的响应要早一个时钟周期,一旦输入信号或状态发生变化,输出信号随着输入信号变化。
● 实现同样功能,Moore机要比Mealy机需要更多的状态。
通过分析本次实验,利用Mealy机更加容易理解,并且使用Moore会使用更多的状态,所以本次实验使用Mealy型有限状态机。
2 Soda Machine机的设计
2.1 Soda Machine机的状态转换图
Soda Machine机的状态转换图如图四所示。
图四Soda Machine机的状态转换图
图中共有10个状态,为ST0—ST9。在状态转换图中00代表无输入,11代表输入Q(25c),10代表输入D(10c), 01代表输入N(5c)。在输出中000代表无输出,001代表输出DN(5C),010代表输出的DD(10C),100代表输出DC(1 can)。
ST0是初始态。当没有硬币投入时,状态机始终保持STO状态不变。当投入5分(即01)时,状态机跳转到ST1状态,无输出(即000);当投入10分时(即10),跳转到S2状态,无输出(即000);当投入25分时(即11)跳转到S5状态,无输出(即000)。
ST1是有投入5分后的状态。当没有硬币投入时,状态机始终保持ST1状态不变, 无输出(即000);当投入5分(即01)时,状态机跳转到ST2状态,无输出(即000);当投入10分(即10)时,跳转到ST3状态, 无输出(即000);当投入25分(即11)时,跳转到ST0状态,输出一瓶饮料(即100)。
ST2是投入10分后的状态。当没有硬币投入时,状态机始终保持ST2状态不变, 无输出(即000);当投入5分(即01)时,状态机跳转到ST3状态,无输出(即000);当投入10分(即10)时,跳转到ST4状态, 无输出(即000);当投入25分(即11)时,跳转到ST6状态,输出一瓶饮料(即100),在下一个时钟到来ST6再跳转到ST0,输出5分(即001)。这样可保证每个时钟只输出一个(饮料或10分或5分)。
ST3是投入15分后的状态。当没有硬币投入时,状态机始终保持ST3状态不变, 无输出(即000);当投入5分(即01)时,状态机跳转到ST4状态,无输出(即000);当投入10分(即10)时,跳转到ST5状态, 无输出(即000);当投入25分(即11)时,跳转到ST7状态,输出一瓶饮料(即100),在下一个时钟到来ST7再跳转到ST0,输出10分(即010)。输出正确,同样可保证每个时钟只输出一个(饮料或10分或5分)。
ST4是投入20分后的状态。当没有硬币投入时,状态机始终保持ST4状态不变, 无输出(即000);当投入5分(即01)时,状态机跳转到ST5状态,无输出(即000);当投入10分(即10)时,跳转到ST0状态, 输出一瓶饮料(即100);当投入25分(即11)时,跳转到ST8状态,输出一瓶饮料(即100),在下一个时钟到来ST8再跳转到ST6,输出10分(即010),在下一个时钟到来ST6再跳转到ST0,输出10分(即001)。输出正确,同样可保证每个时钟只输出一个(饮料或10分或5分)。
ST5是投入25分后的状态。当没有硬币投入时,状态机始终保持ST3状态不变, 无输出(即000);当投入5分(即01)时,状态机跳转到ST0状态,输出一瓶饮料(即100);当投入10分(即10)时,跳转到ST6状态, 输出一瓶饮料(即100),在下一个时钟到来ST6再跳转到ST0,输出5分(即001);当投入25分(即11)时,跳转到ST9状态,输出一瓶饮料(即100),
文档评论(0)