VHDL序列检测器

VHDL序列检测器

ID:37691823

大小:593.00 KB

页数:13页

时间:2019-05-28

VHDL序列检测器_第1页
VHDL序列检测器_第2页
VHDL序列检测器_第3页
VHDL序列检测器_第4页
VHDL序列检测器_第5页
资源描述:

《VHDL序列检测器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

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

4、q_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(clk'eventandclk='1')thenc_state<=n_state;endif;endprocess;process(c_stat

5、e,cin)begincase(c_state)iswhens1=>cout<='0';if(cin='1')thenn_state<=s2;elsen_state<=s1;endif;whens2=>cout<='0';if(cin='1')thenn_state<=s3;elsen_state<=s1;endif;whens3=>cout<='0';if(cin='1')thenn_state<=s4;elsen_state<=s1;endif;whens4=>cout<='0';if(cin='1')thenn_state<=s4;elsen_state<=s5;

6、endif;whens5=>cout<='0';if(cin='1')thenn_state<=s2;elsen_state<=s6;endif;whens6=>cout<='0';if(cin='1')thenn_state<=s7;elsen_state<=s1;endif;whens7=>cout<='0';if(cin='1')thenn_state<=s3;elsen_state<=s8;endif;whens8=>cout<='1';if(cin='1')thenn_state<=s2;elsen_state<=s1;endif;endcase;endpro

7、cess;endarchitecturebehav;5仿真结果与说明序列检测器程序仿真结果如下图,cin为输入序列信号,clr为复位控制信号,高电平复位清零准备进入工作状态,clk为时钟信号,cout为输出信号。当检测到序列信号cin中出现“1110010“序列的时候,cout输出为高电平。当没有出现“1110010”序列时,cout输出低电平,如下如所示。作业二:三位任意二值序列检测器1设计功能与要求(1)利用有限状态的状态机设计一个序列检测器,序列检测器可以检测输入序列中的任意一个3位2进制数。(2)根据设计功能和要求运用VHDL硬件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。