成绩指导老师日期 《EDA技术》实验报告试验名称:序列检测器院系名称:___________专业名称:___________课程名称:___________班级 _______学号:_______姓名:_______实验五序列检测器一、实验目的:1、掌握用VerilogHDL实现状态机的方法;2、利用状态机设计一个序列检测器。二、实验原理:序列检测器在数据通讯,雷达和遥测等领域中用与检测步识别标志。它是一种用来检测一组或多组序列信号的电路。例如检测器收到一组串行码{1110010}后,输出标志1,否则,输出0。考查这个例子,每收到一个符合要求的串行码就需要用一个状态进行记忆。串行码长度为7位,需要7个状态;另外,还需要增加一个“未收到一个有效位”的状态,共8个状态;S0~S7,状态标记符的下标表示有几个有效位被读出。画出状态转换图,如图5-1所示,很显然这是一个莫尔状态机。8个状态机根据编码原则可以用3位二进制数来表示。图5-1序列检测器状态变化图三、设计任务及要求:1、用状态机实现一序列检测器,即检测到串行码{1110010}后,检测器输出1,否则输出0;2、设计输入采用VerilogHDL语言;3、对设计进行仿真;四、设计提示:1、状态机是实验时序电路的有效工具,用状态机实现时序检测器就是典型例子;2、状态机的VerilogHDL实现基本有固定模式,参见教程《数字系统设计与VerilogHDL》(第二版)第271~272页。3、状态机实现的要点是在每个状态下,当时钟有效沿到来时,判断输入值是什么,然后决定下一状态跳转到什么地方。五、给出设计的源程序:moduleseq(in,out,state,clk,reset);inputin,clk,reset;outputout;output[2:0]state;reg[2:0]state;regout;parameters0='d0,s1='d1,s2='d2,s3='d3,s4='d4,s5='d5,s6='d6,s7='d7;always@(posedgeclk)beginif(reset)beginstate<=s0;out<=0;endelsecasex(state)s0:beginif(in==0)beginstate<=s0;out<=0;endelse beginstate<=s1;out<=0;endends1:beginif(in==0)beginstate<=s0;out<=0;endelse beginstate<=s2;out<=0;endends2:beginif(in==0)beginstate<=s0;out<=0;endelse beginstate<=s3;out<=0;endends3:beginif(in==0)beginstate<=s4;out<=0;endelse beginstate<=s3;out<=0;endends4:beginif(in==0)beginstate<=s5;out<=0;endelse beginstate<=s1;out<=0;endends5:beginif(in==0)beginstate<=s0;out<
实验报告范例 来自淘豆网m.daumloan.com转载请标明出处.