- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mealy和moore型状态机的主要区别.pdf
Mealy 和moore 型状态机的主要区别
状态机一般分为三种类型:(说的好像什么似的的,其实不就是都叫状态机而已!!!)
Moore 型状态机:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f (现状);
Mealy 型状态机:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输
入),输出=f (现状,输入);
混合型状态机
Mooer 状态机的输出只与当前的状态有关,也就是数当前的状态决定输出,而与此时的输入
无关,输入只决定状态机的状态改变,不影响电路最终的输出(注意:这里所说的输出不是
状态机的状态机状
态的输出,而是当前状态的所代表的含义,比如:检测 110 序列的状态机,当状态机跳转
到STA_GOT110 时,电路会有一个输出信号,假如说是find ,此时find 就会为高电平,其他
(状态时)时find 就会
为低电平。find 是我们最后电路的输出,find 的值置于我们的转台机当前所处的状态有关,
而与输出无关)。用一本书上的话说就是:Moore 状态机的每一状态指定它的输出独立于电
路的输入 。
Mealy 状态机的输出不仅与当前的状态有关,还与当前的输出有关( 同样,不要误认为
状态机的输出只能是状态机的状态),即当前的输入和当前的状态共同决定当前的输入。
Mooer 状态机和 Mealy 状态机的状态的是相同的,当前的状态和输入共同决定下一个
状态是什么。
Verilog
// Example of a 5-state Mealy FSM
module 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 register
always @ (posedge clock or negedge reset)
begin: statereg
if(!reset)// asynchronous reset
pres_state = st0;
else
pres_state = next_state;
end // statereg
// FSM combinational block
always @(pres_state or data_in)
begin: fsm
case (pres_state)
st0: case(data_in)
2b00: next_state=st0;
2b01: next_state=st4;
2b10: next_state=st1;
2b11: next_state=st2;
endcase
st1: case(data_in)
2b00: next_state=st0;
2b10: next_state=st2;
default: next_state=st1;
endcase
st2: case(data_in)
2b0x: next_state=st1;
2b1x: next_state=st3;
endcase
st3: case(data_in)
2bx1: next_state=st4;
default: next_state=st3;
endcase
st4: case(data_in)
2b11: next_state=st4;
default: next_state=st0;
endcase
default: next_state=st0;
}
endcase
end // fsm
// Mealy output definition using pres_state
文档评论(0)