实验三_用状态机实现序列检测器的设计1

实验三_用状态机实现序列检测器的设计1

ID:14596903

大小:953.50 KB

页数:9页

时间:2018-07-29

实验三_用状态机实现序列检测器的设计1_第1页
实验三_用状态机实现序列检测器的设计1_第2页
实验三_用状态机实现序列检测器的设计1_第3页
实验三_用状态机实现序列检测器的设计1_第4页
实验三_用状态机实现序列检测器的设计1_第5页
资源描述:

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

1、西南科技大学实验报告FPGA现代数字系统设计实验题目:用状态机实现序列检测器的设计专业班级:对抗0802班学生姓名:龙钱梅学生学号:20080877实验时间:4个小时指导教师:刘桂华实验三用状态机实现序列检测器的设计一、实验目的:用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。二、原理说明:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出a,否则输出b。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次

2、的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。例3-1描述的电路完成对序列数"11100101"的。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“a”,否则仍然输出“b”。三、实验内容:1.编写由两个主控进程构成的有限状态机。画出状态图,并给出其仿真测试波形;第一个主控进程schk程序:moduleschk(DIN,CLK,CLR,AB);inputDIN,CLK,CLR;output[3:0]AB;reg

3、[7:0]Q;reg[3:0]AB;parameteridle=8'b00000000,a=8'b00000001,b=8'b00000010,c=8'b00000100,d=8'b00001000,e=8'b00010000,f=8'b00100000,g=8'b01000000,h=8'b10000000;parameterdata=8’b11100101;always@(posedgeCLKornegedgeCLR)if(!CLR)beginQ<=idle;endelsebegincase(Q)idle:beginif(DI

4、N==data[7])Q<=a;elseQ<=idle;enda:beginif(DIN==data[6])Q<=b;elseQ<=idle;endb:beginif(DIN==data[5])Q<=c;elseQ<=idle;endc:beginif(DIN==data[4])Q<=d;elseQ<=idle;endd:beginif(DIN==data[3])Q<=e;elseQ<=idle;ende:beginif(DIN==data[2])Q<=f;elseQ<=idle;endf:beginif(DIN==data[1]

5、)Q<=g;elseQ<=idle;endg:beginif(DIN==data[0])Q<=h;elseQ<=idle;enddefault:Q<=idle;endcaseendalways@(Q)beginif(Q==h)AB<=4'b1010;elseAB<=4'b1011;endendmoduleschk波行:功能仿真:时间仿真:第一个主控进程xulie程序:modulexulie(clk,din8,reset,din);inputclk;input[7:0]din8;inputreset;outputdin;parame

6、ters0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100,s5=3'b101,s6=3'b110,s7=3'b111;reg[2:0]cur_state,next_state;regdin;always@(posedgeclkornegedgereset)if(!reset)cur_state<=s0;elsecur_state<=next_state;always@(cur_stateordin8ordin)begincase(cur_state)s0:begindin<=din8

7、[7];next_state<=s1;ends1:begindin<=din8[6];next_state<=s2;ends2:begindin<=din8[5];next_state<=s3;ends3:begindin<=din8[4];next_state<=s4;ends4:begindin<=din8[3];next_state<=s5;ends5:begindin<=din8[2];next_state<=s6;ends6:begindin<=din8[1];next_state<=s7;ends7:begindin<

8、=din8[0];next_state<=s0;enddefault:begindin<=1'b0;next_state<=s0;endendcaseendendmodulexulie波形:xulie功能仿真:xulie时间仿真:2.自己编写数码管

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

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

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