- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字电路与VerilogHDL--时钟同步的状态机4.1.1状态机的基本结构及类型 有限状态机的标准模型如图4.1.1所示,由三部分组成:一是下一状态的逻辑电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路。4.1.1状态机的基本结构及类型 一般情况下,状态触发器的数量是有限的,其状态数也是有限的,故称为有限状态机(Finite State Machine,简称为FSM)。状态机中所有触发器的时钟输入端被连接到一个公共时钟脉冲源上,其状态的转换是在同一时钟源的同一脉冲边沿同步进行的,所以它也被称作时钟同步状态机。 一般来说,状态机的基本操作主要有以下两种:1.状态机的内部状态转换。2.产生输出信号序列。 根据电路的输出信号是否与电路的输入有关,可以将状态机分为两种类型:一类是米利型(Mealy)状态机,电路的输出信号不仅与电路当前的状态有关,还与电路的输入有关;另一类是穆尔型(Moore)状态机,电路输出仅仅取决于各触发器的状态,而不受电路当时的输入信号影响或没有输入变量。Z = F1 [Qn] Moore型: 从输出信号特点分类:Z = F1 [ X , Qn] Mealy型: Moore and Mealy FSM structuresFinite State Machinefrom: Actel HDL CodingStyle Guide4.1.2状态机的状态图表示法 图4.1.2是米利型状态图的一个例子。在状态图中,每个状态用一个圆圈表示,圆圈内有指示状态的符号。用带箭头的方向线指示状态转换的方向,当方向线的起点和终点都在同一个圆圈上时,则表示状态不变。一般来说,状态机中的状态转移有两种方式:无条件转移和有条件转移。在图4.1.2中,从状态A转移到状态B为无条件转移,其它状态之间的转移都是有条件要求的。4.1.2状态机的状态图表示法 需要强调指出,米利型状态图中,输出值的表示方法容易引起读者的误解。当状态机处于所在的状态,并且在所示的输入的作用下,就会产生输出值,并非在状态机转移到下一状态时才出现输出。由于穆尔型电路的输出只依赖于状态机的当前状态,其状态图的表示方法略有不同,通常将输出变量写在表示状态的圆圈内部,图4.1.3是穆尔型状态图表示的例子。4.1.3状态机的设计步骤一般来说,状态机的设计步骤如下所示:1.依据具体的设计原则,确定采用穆尔型状态机还是米利型状态机。2.分析设计要求,列出状态机的所有状态,并对每一个状态进行状态编码。3.根据状态转移关系和输出函数,画出状态图。4.根据所画的状态图,采用硬件描述语言对状态机进行描述。第3步是最困难也是最有创造性的一步。状态图直观地反映了状态机各个状态之间的转换关系以及转换条件,但要求设计的状态个数不能太多。状态个数较多,采用状态表的方法列出状态机的转移条件。输出信号较多,可采用输出逻辑真值表进行表示。4.2 基于Verilog HDL的状态机描述方法// Three-Always Block Mealy State Machinemodule mealy (data_in, data_out, reset, clock);output data_out;input [1:0] data_in;input reset, clock;reg data_out;reg [2:0] pres_state, next_state;parameter st0=3d0, st1=3d1, st2=3d2, st3=3d3, st4=3d4;// FSM registeralways @ (posedge clock or negedge reset)begin: statereg if(!reset) // asynchronous reset pres_state = st0; elsepres_state = next_state;end // statereg// FSM combinational blockalways @(pres_state or data_in)begin: fsmcase (pres_state)st0: case(data_in)2b00: next_state=st0;2b01: next_state=st4;2b10: next_state=st1;2b11: next_state=st2;endcasest1: case(data_in)2b00: next_state=st0;2b10: next_state=st2;default: next_state=st1;endcasest2: case(data_in)2b0x: next_state=st1;2b1x:
您可能关注的文档
最近下载
- 《员工敬业度》课件.ppt VIP
- 2025年智能数据中心智慧数据中心规划建设方案.docx
- 川教版《生命生态安全》九年级上册第四课 正确使用金融支付工具 教学设计.pdf VIP
- 健身强体体魄锻炼主题班会PPT课件.pptx VIP
- 高标准农田项目施工部冬季施工已有设施和管线的加固保护等特殊情况下的施工措施.docx VIP
- 九年级语文上册教学探究积累课件《智取生辰纲》.pptx VIP
- 2025年党政领导干部拟任县处级资格考试试题全套.doc VIP
- 民航市场营销 项目6 互利共赢——民航市场营销的分销策略.pptx
- -互联网协议IP.ppt VIP
- T_CCUA 016-2021 超级计算数据中心设计要求.docx VIP
原创力文档


文档评论(0)