资源描述:
《实验三_用状态机实现序列检测器的设计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[7:0]Q;reg[3:0]AB;parameteridle=8'b00000000,a=8'b0
3、0000001,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(DIN==data[7])Q<=a;elseQ<=idle;enda:beginif(DIN==data[6])Q<=b;elseQ<=idle;endb
4、: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])Q<=g;elseQ<=idle;endg:beginif(DIN==data[0])Q<=h;elseQ<=idle;enddefault:Q<=idle;endcaseendalways@(Q)
5、beginif(Q==h)AB<=4'b1010;elseAB<=4'b1011;endendmoduleschk波行:功能仿真:时间仿真:第一个主控进程xulie程序:modulexulie(clk,din8,reset,din);inputclk;input[7:0]din8;inputreset;outputdin;parameters0=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
6、@(posedgeclkornegedgereset)if(!reset)cur_state<=s0;elsecur_state<=next_state;always@(cur_stateordin8ordin)begincase(cur_state)s0:begindin<=din8[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
7、<=din8[3];next_state<=s5;ends5:begindin<=din8[2];next_state<=s6;ends6:begindin<=din8[1];next_state<=s7;ends7:begindin<=din8[0];next_state<=s0;enddefault:begindin<=1'b0;next_state<=s0;endendcaseendendmodulexulie波形:xulie功能仿真:xulie时间仿真:2.自己编写数码管