VHDL序列检测器_第1页
VHDL序列检测器_第2页
VHDL序列检测器_第3页
VHDL序列检测器_第4页
VHDL序列检测器_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作业一:序列检测器(1110010)1 设计功能与要求(1)利用有限状态的状态机设计一个序列检测器,序列检测器要检测的序列设定为“1110010。(2)根据设计功能和要求运用 VHDL 硬件描述语言进行设计编程,并且画出序列检测器的原理流程图。(3)对设计的序列检测器程序进行仿真,并予以分析和说明。2 设计思路序列检测器的设计是采用 VHDL 硬件描述语言设计程序,对预先设置的序列信号进行检测。序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的相同,则输出 1,否则输出 0o 设计采用有限状态机来实现序列检测器。3

2、 原理流程图根据预先设置的序列信号“1110010,根据有限状态机的原理进行编程,设计出符合要求的八状态的状态机的序列检测器,原理流程说明如下图。如图所示, 假设状态机的初始状态为 S1,当输入信号为“1”时, 进入 S2 状态; 为“0”还是在 S1 状态。在 S2 状态下,如果输入信号为“1”,则进入 S3 状态,为“0”则返回 S1 状0在 S3 状态下,如果输入信号为“1”,则进入 S4 状态,为“0”则返回 S1 状0在 S4 状态下,如果输入信号为“0”,则进入 S5 状态,为“0”还是在 S4 状0在 S5 状态下,如果输入信号为“0”,则进入 S6 状态,为“1”则进入 S2

3、状0在 S6 状态下,如果输入信号为“1”,则进入 S7 状态,为“0”则返回 S1 状0在 S7 状态下,如果输入信号为“0”,则进入 S8 状态,为“1”则进入 S3 状0在 S8 状态下,如果输入信号为“1”,则进入 S2 状态,为“0”则返回 S1 状态,并输出序列信号 111001004 序列检测器 VHDL 程序代码在序列检测器的程序代码中采用 cin 表示输入序列信号,clr 为复位控制信号,clk为时钟信号,cout 为输出信号。当检测到序列信号中出现“1110010”序列的时候,cout输出为高电平,否则为低电平,详细程序代码如下。libraryieee;useieee.st

4、d_logic_1164.all;entitysq_detisport(cin,clr,clk:instd_logic;cout:outstd_logic);endsq_det;architecturebehavofsq_detistypestateis(s1,s2,s3,s4,s5,s6,s7,s8);signalc_state,n_state:state;beginprocess(clk,clr)beginif(clr=1)thenc_state=s1;elsif(clkeventandclk=1)thenc_statecout=0;if(cin=1)thenn_state=s2;else

5、n_statecout=0;if(cin=1)thenn_state=s3;elsen_statecout=0;if(cin=1)thenn_state=s4;elsen_statecout=0;if(cin=1)thenn_state=s4;elsen_statecout=0;if(cin=1)thenn_state=s2;elsen_statecout=0;if(cin=1)thenn_state=s7;elsen_statecout=0;if(cin=1)thenn_state=s3;elsen_statecout=1;if(cin=1)thenn_state=s2;elsen_stat

6、eIF(Din=1)THENnext_state=S2;ELSEnext_stateIF(Din=1)THENnext_state=S4;ELSEnext_stateIF(Din=1)THENnext_state=S6;ELSEnext_stateIF(Din=1)THENELSEnext_stateIF(Din=1)THENnext_state=S10;ELSEnext_stateIF(Din=1)THENnext_state=S12;ELSEnext_stateIF(Din=1)THENnext_state=S14;ELSEnext_stateIF(Din=1)THENnext_state

7、=S8;ELSEnext_stateELSEnext_stateIF(Din=1)THENnext_state=S12;ELSEnext_stateIF(Din=1)THENnext_state=S14;ELSEnext_stateIF(Din=1)THENnext_state=S8;ELSEnext_stateIF(Din=1)THENnext_state=S10;ELSEnext_stateELSEnext_stateIF(Din=1)THENnext_state=S14;ELSEnext_state=S13;ENDIF;ENDCASE;ENDPROCESS;PROCESS(Clk,res

8、et)BEGINIF(reset=1)thenpre_state=s0;ELSIF(clkeventandclk=1)THENpre_state=next_state;ENDIF;ENDPROCESS;PROCESS(pre_state)BEGINIF(pre_state=S7)THENDout_000=1;ELSEDout_000=0;ENDIF;Dout_001=1;ELSEDout_001=0;ENDIF;IF(pre_state=S9)THENDout_010=1;ELSEDout_010=0;ENDIF;IF(pre_state=S10)THENDout_011=1;ELSEDout_011=0;ENDIF;IF(pre_state=S11)THENDout_100=1;ELSEDout_100=0;ENDIF;IF(pre_state=S12)THENDout_101=1;ELSEDout_101=0;ENDIF;Dout_110=1;ELSEDout_110=0;ENDIF;IF(pre_state=S14)THENDout_111=1;ELSEDout_111=0;ENDIF;ENDPROCESS;ENDRTL;6 .仿真图15Gnx200ns&a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论