序列检测器Mealy状态机描述.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA/CPLD应用技术 温国忠 、余菲、曾启明 晏凯、刘俐 序列检测器Mealy状态机描述 温国忠 副教授 电子邮件:buddy@szpt.edu.cn 电话 主要内容: 设计任务分析 1 序列检测器Mealy状态机状态转换图 2 Verilog HDL描述 3 * 设计任务分析 序列检测器有固定的检测码,接受一位din串行随机信号,在时钟clk控制下,识别接收的数据与检测码是否相同,相同时输出dout=1,不相同时输出dout=0。序列检测器的电路框图如图所示。 序列检测器框图 * 设计任务分析 这里我们设计一个“11”序列检测器,检测码是“11”,即在输入的串行数据流中检测“11”序列,如果在连续的两个时钟周期内输入为“1”,就在下一个时钟周期输出“1”,输入输出波形如图所示。 序列检测器波形 clk din dout 1 1 1 1 1 1 1 1 检测码 * Mealy状态机设计 我们假定电路中有两个稳定状态S0和S1,状态S0表示前一个时钟周期的数据为“0”,状态S1表示前一个时钟周期的数据为“1”,状态转移图如图所示。 从状态转换图可以看出,这是一个序列检测器的Merly状态机转换图 * Verilog HDL设计 module seridec1 (clk,rst,din,dout); input clk,rst; input din; output dout; reg dout; reg c_state,n_state; //状态机现态和次态定义; parameter S0=1’b0, //状态机状态参数定义,S0与S1态 S1=1’b1; always@(posedge clk or posedge rst) begin if(rst==1’b1) c_state <= S0; else c_state<=n_state; end 状态机的当前时序逻辑描述 * Verilog HDL设计 always@(c_state or din) begin case (c_state) S0:begin if (din==1) n_state = S1; else n_state = S0; end S1:begin if(din==0) n_state = S0; else n_state = S1; end endcase end 状态机状态转换的组合逻辑描述 * Verilog HDL设计 always@(posedge clk or posedge rst) begin if(rst==1’b1) dout<=1’b0; else if(c_state==S1&& din==1’b1) dout<=1’b1; else dout<=1’b0; end endmodule 状态机寄存器输出逻辑描述 * 功能仿真 当检测到输入信号din连续两个或者两个以上1时,状态机输出高电平 1 1 1 谢谢! * *

文档评论(0)

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

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

1亿VIP精品文档

相关文档