序列检测器设计.ppt

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

课堂练习——序列检测器设计 序列检测器设计 序列检测器是时序逻辑中的经典问题 序列检测器一般有一个输入X和一个输出Y。输入信号在不断变化,从而形成一个与时间相关的输入序列。序列检测器就是当输入序列中包含特定串时,设置输出信号Y为高电平,表示检测到了特定串。 本设计中需要检测的序列是“1110010” 序列检测器设计的关键是设计相应的 有限状态自动机 自动机初始状态为S0; 当自动机接收到一个“1”时,自动机进入S1状态; 如果在S1状态接收到“1”时,自动机进入到S2状态; 如果在S2状态接收到“1”时,自动机进入到S3状态; 如果在S3状态接收到“0”时,自动机进入到S4状态; 如果在S4状态接收到“0”时,自动机进入到S5状态; 如果在S5状态接收到“1”时,自动机进入到S6状态; 如果在S6状态接收到“0”时,自动机进入到S7状态; 如果自动机处于S7状态,则表示接收到了一个连续的串“1110010”,此时可以设置输出信号为高电平; 这就首先得到了有限状态机的基本框架。 序列检测器的设计难点在于各种状态在各种输入情况下的下一状态设计 以S3状态为例,由于进入S3状态表示前一输入为“1”,因此如果在S3状态下输入“1”,则表示当前三个输入为“111”,考察待检测序列为“1110010”,就知道此时状态机应保持S3状态 序列检测器的设计难点在于各种状态在各种输入情况下的下一状态设计 再如S4状态,由于进入S4状态前的输入序列为“1110”,因此如果在S4 状态下输入“1”,则表示当前输入序列为“11101”,考察待检测序列为“1110010”,可以发现实际输入了“1”,就知道此时状态机应转移到S1状态 为了更清晰的表示各个状态之间的关系,应画出状态转换图 序列检测器的VHDL语言描述 序列检测器的VHDL语言描述 序列检测器的VHDL语言描述 序列检测器的VHDL语言描述 序列检测器的VHDL语言描述 序列检测器的功能仿真波形的建立 序列检测器的功能仿真结果 * library ieee; use ieee.std_logic_1164.all; entity FSM_sequence_detector is port(clk,xi: in std_logic; output: out std_logic ); end FSM_sequence_detector; architecture fsm of FSM_sequence_detector is type states is (s0,s1,s2,s3,s4,s5,s6,s7); signal state: states:=s0; begin process(xi,state) begin if clkevent and clk=1 then case state is when s0=output=0; if(xi=1) then state=s1; else state=s0; end if; when s1=output=0; if(xi=1) then state=s2; else state=s0; end if; when s2=output=0; if(xi=1) then state=s3; else state=s0; end if; when s3=output=0; if(xi=0) then state=s4; else state=s3; end if; when s4=output=0; if(xi=0) then state=s5; else state=s1; end if; when s5=output=0; if(xi=1) then state=s6; else state=s0; end if; when s6=output=0; if(xi=0) then state=s7; else state=s2; end if; when s7=output=1; if (xi=0) then state=s0; else state=s1; end if; end case; end if; end process; end fsm; * * *

文档评论(0)

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

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

1亿VIP精品文档

相关文档