欢迎来到天天文库
浏览记录
ID:30218553
大小:276.82 KB
页数:9页
时间:2018-12-28
《实验三:状态机实现序列检测器设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《FPGA》课程报告设计题目:状态机实现序列检测器设计学生班级:学生学号:学生姓名:指导教师:时间:成绩:一、实验目的:1.理解有限状态机的概念;2.掌握有限状态机的状态图的画法及其含义二、实验原理:本次实验的内容是:应用有限状态机设计思路,检测输入的串行数据是否是”11100101”,本次实验由顶层文件、串行检测、并行数据转串行、数码管显示四个模块组成。1.并行数据转串行数据模块功能是:可以异步复位,可以在时钟控制下,将并行输入数据din[7:0],按照din[7],din[6],din[5],din[4],din[3],din[2],din[1],din[0
2、]的顺序输出至串行检测模块的输入端口din。2.串行检测模块:输入信号:DIN-----1bit的串行输入数据CLK-----同步输入时钟CLR------异步清零信号,当CLR=1,系统输出置0,否则,系统正常工作输出信号:AB--------4bits数据,如果系统检测到“11100101”这8bit的输入,AB=4’b1010,否则,AB=4’b1011.三、实验过程:1.首先建立一个新的工程,添加一个新的VerilogModule文件,然后写入并行数据转串行数据模块的代码,代码如下:然后执行综合,确认无误后,新建一个TestBenchWaveForm文件
3、,进行仿真,仿真图如下:2.再新建一个VerilogModule文件,在其中写入串行检测模块的代码,代码如下:然后执行综合,确认无误后,新建一个TestBenchWaveForm文件,进行仿真,仿真图如下:3.再新建一个VerilogModule文件,数码管显示模块的代码,代码如下:然后执行综合,确认无误后,新建一个TestBenchWaveForm文件,进行仿真,仿真图如下:4.编写顶层文件,将上面三个模块例化在一起,代码如下:然后将新的顶层文件经行综合,确认无误后,新建一个TestBenchWaveForm文件,进行仿真,仿真图如下:5.添加消抖模块,然后编
4、写新的顶层文件,将消抖模块与上面的模块例化在一起,代码如下:保存后生成新的顶层文件:6.完成以上操作后,执行综合确认无误,经行锁引脚操作:锁引脚完成后,编辑、修改约束文件:7.生成下载配置文件,下载到开发板进行经行验证。四、思考题:说明本设计的代码表达的是什么类型的状态机,它的优点是什么?详述其功能和对序列数检测的逻辑过程答:本实验代码表达的是Mealy型状态机,Mealy有限状态机的输出不单与当前状态有关,而且与输入信号的当前值有关,Mealy有限状态机的输出直接受输入信号的当前值影响,而输入信号可能在一个时钟周期内任意时刻变化,这使得Mealy有限状态机对输
5、入的响应发生在当前时钟周期。
此文档下载收益归作者所有