网站大量收购独家精品文档,联系QQ:2885784924

VHDL FPGA 设计实例.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL FPGA 设计实例

◇微程序可以通过很多方法来实现,一般的思路是存储每一个状态所对应的控制字,这一控制字也称为微指令。 ◇微指令规定将要生成的输出,同时也指定下一条微指令的位置。这与状态图或SM图中的状态转移相对应的。 5、微程序 ◇ ROM输出有四个域:TEST、NSF、NST和OUTPUT。 ◇ TEST控制第一个MUX的输入,选择在每个状态下要检测的输入。 ◇如果这一输入为0(逻辑伪),则第二个MUX选择NSF作为下一状态。 ◇如果该输入为1(逻辑真),则第二个MUX选择NST作为下一状态。OUTPUT域的每位比特与控制信号相对应。 ◇ 为此,对应的SM图必须只有Moore输出。 双地址伪代码 针对微程序的SM图变换 ◇ 为了简便有效地实现微程序编程,我们要变换SM图。 ◇ 我们不想使用简单的查找表方法(在LUT法中直接规定了所有输入组合和当前状态)。 ◇ 我们对SM图进行变换,使每个状态只有一个入口。 ◇ 这种变换可能会增加状态数,但是最终得到的微程序的大小仍旧比基于LUT法的ROM的大小要小得多。 5、微程序 去除条件输出 ◇ 我们希望构建Moore控制器,这样就没有条件控制信号。 ◇ 如果控制信号依赖于某些输入条件,则我们应该把不同输入组合所对应的控制信号都存起来。 ◇ 因此,为了便于实现微程序,我们首先把状态图或SM图转换为Moore状态机。 ◇ 通过增添适当数量的状态,我们可以把任何Mealy机转换为Moore机。 5、微程序 每个状态只允许一个限制量 ◇在微程序关联文献中,状态机的每个状态中均要被检测的输入称为限制量(qualifier )。 ◇例如,图5.28中的St,M和K均为限制量。图中S0和S2都只有一个限制量,但是状态S1检测了两个限制量M和K。 ◇如果图5.28使用伪码编写,则需要对S1中的多个限制量使用if嵌套语句。当每个状态含有多个限制量时,微程序也可以实现。 ◇但是当每个状态只有一个限制量时,微程序的实现会简单的多。 5、微程序 5、微程序 变换SM图为Moore机,去除SM图中所有的条件输出 每个状态只检测一个输入(限制量) 5、微程序 状态 ABC TEST NSF NST Load Ad Sh Done S0 000 00 000 001 0 0 0 0 S01 001 11 010 010 1 0 0 0 S1 010 01 100 011 0 0 0 0 S11 011 11 100 100 0 1 0 0 S2 100 10 010 101 0 0 1 0 S3 101 11 000 000 0 0 0 1 乘法器双地址微程序 具有单地址微代码的微程序系统 5、微程序 5、微程序 State ABC TEST NSF Load Ad Sh Done S0 000 00 000 0 0 0 0 S01 001 11 010 1 0 0 0 S1 010 01 101 0 0 0 0 S2 011 10 010 0 0 1 0 S3 100 11 000 0 0 0 1 S11 101 11 011 0 1 0 0 5、微程序 乘法器单地址微程序 方法 ROM大小 入口数x宽度 比特数 基于原SM图的LUT法 32x6 192 双地址微代码 6x12 72 单地址微代码 6x9 54 5、微程序 5、微程序 掷骰子游戏的双地址微程序 5、微程序 掷骰子游戏的单地址微程序 6、链接状态机 本章中我们还对实现控制单元的技术进行了讨论。我们主要介绍了两种技术:硬连线和微程序。我们介绍了如何根据SM图中的链路简单的得到逻辑表达式,还介绍了如何使用这些表达式简单的实现硬连线的控制单元。随后我们又介绍了微程序技术。在此技术中,控制字都被存储在微程序存储器中。微程序的大小可以通过变换SM图(使之每个状态只对一个限制量进行检测)来降低。对于复杂的系统,我们可以使用链接状态机将其控制器并分为几个部分加以实现。 * 数字系统VHDL设计 金明录 教授 2009年 夏季 数字系统的VHDL设计 金明录 教授 状态机流程图 SM图的导出 SM图的实现 骰子游戏的实现 第五章 SM图 信号赋值语句: 信号名 = 表达式 [after 延时]; 复 习 语句的执行: 计算表达式 信号的赋值: 需要延时 C B A C = A and B after 5ns; C = A ? B 数字系统的设计组成 状态图可以用于描述状态机对数字系统的控制 另一种方法: 状态机流程图 SM chart or ASM (Algorithmic State Machine) chart 比状态图更容易理解数字系统的工作原理 直接引出硬件实现 1、状态机流程图 SM图的基

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档