实验三 序列信号检测器的设计

实验三 序列信号检测器的设计

ID:6442708

大小:132.94 KB

页数:11页

时间:2018-01-14

实验三  序列信号检测器的设计_第1页
实验三  序列信号检测器的设计_第2页
实验三  序列信号检测器的设计_第3页
实验三  序列信号检测器的设计_第4页
实验三  序列信号检测器的设计_第5页
资源描述:

《实验三 序列信号检测器的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三序列信号检测器的设计一、实验目的:1、理解序列信号检测器的工作原理;2、掌握原理图和文本输入的混合设计输入方法;3、理解状态划分;4、掌握状态机程序的编写方法;二、实验原理:序列检测器是时序数字电路中非常常见的设计之一。它的主要功能是:将一个指定的序列从数字码流中识别出来。接下来的设计就是针对“011”这个序列的检测器。设input为数字码流输入,output为检出标记输出,高电平表示“发现指定序列”,低电平表示“没有发现指定的序列”。设输入的码流为“001101101111011111...”,在时钟

2、2~4中,码流input里出现指定序列“011”,对应输出output在第4个时钟变为高电平“1”,表示发现指定"011”,以此类推。序列发生器模块采用的是M(n=4)序列发生器,详细可以参考《EDA技术与应用》一书的4.4团队协作及逻辑锁定。三、实验内容(1)最终的顶层设计原理图如下:左侧的四个D触发器组成的电路为M序列信号发生器模块,它可以产生15位随机的二进制码流。发生器产生的二进制码流每隔15个时钟周期重复出现一次。详细的可以在最终的时序仿真图中看出来。右侧的get_str模块为检测模块,给予状态机的

3、结构编写的,具体如下:libraryieee;useieee.std_logic_1164.all;entityget_serisport(clk:instd_logic;input:instd_logic;reset:instd_logic;serout:outstd_logic_vector(1downto0);output:outstd_logic);endentity;architecturertlofget_seris--Buildanenumeratedtypeforthestatemachine

4、typestate_typeis(s0,s1,s2,s3);--Registertoholdthecurrentstatesignalstate:state_type;beginserout<=('0'&input);--Logictoadvancetothenextstateprocess(clk,reset)beginifreset='1'thenstate<=s0;elsif(rising_edge(clk))thencasestateiswhens0=>ifinput='0'thenstate<=s1

5、;elsestate<=s0;endif;whens1=>ifinput='1'thenstate<=s2;elsestate<=s1;endif;whens2=>ifinput='1'thenstate<=s3;elsestate<=s1;endif;whens3=>ifinput='1'thenstate<=s0;elsestate<=s1;endif;endcase;endif;endprocess;--Outputdependssolelyonthecurrentstateprocess(state)

6、begincasestateiswhens0=>output<='0';whens1=>output<='0';whens2=>output<='0';whens3=>output<='1';endcase;endprocess;endrtl;(2)理解状态机请根据上图对照get_str程序理解检测“011”序列的基本编程思路。图中的s0为复位状态,s1为检测到首个‘0’状态,s2为检测到“01”状态,s3为检测到一个“011”序列的状态。(3)完成(1)所示的顶层原理图并进行全编译。最终的设计使用的资源为:

7、最大运行频率为:(4)设计testbench文件并进行时序仿真。Testbench文件如下:LIBRARYaltera;LIBRARYcycloneiii;LIBRARYieee;USEaltera.altera_primitives_components.all;USEcycloneiii.cycloneiii_components.all;USEieee.std_logic_1164.all;ENTITYste_tbISEND;ARCHITECTUREste_tb_archOFste_tbISSIGNAL

8、output:STD_LOGIC;SIGNALclk:STD_LOGIC:='0';SIGNALreset:STD_LOGIC:='0';COMPONENTstePORT(output:outSTD_LOGIC;clk:inSTD_LOGIC;reset:inSTD_LOGIC);ENDCOMPONENT;BEGINDUT:stePORTMAP(output=>output,clk=>clk,res

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

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

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