- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA用状态机实现序列检测器的设计
****大学
实验报告
课程名称: FPGA技术
实验名称: 基于原理图的十进制计数器设计
姓 名: ***
学 号: ***************
班 级: 电子1202
指导教师:**************
西南科技大学信息工程学院制
实验三 用状态机实现序列检测器的设计
实验原理
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出A,否则输出b。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。例3-1描述的电路完成对特定的序列数100101的检测的部分HDL代码。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“b”。
本实验由四个模块组成:
实验步骤
建立工程,名为“shiyan3”,在建立第一个verilog HDL的编辑窗口,并保存为“xulie”,即并行数据转串行数据模块;并根据所画的状态转移图,来编写相关代码,代码截图如下:
Testbench截图如下:
仿真截图如下:
另外再建立一个名为“schk”的Verilog HDL的编辑窗口,根据其状态转换图,可以有如下截图所示代码:
再建立一个数码管显示模块,命名为“led_xian”,代码截图如下:
最后是顶层文件“zongde”的建立,在这个里面,还要加上消抖模块,具体代码设计如下:
写好约束文件,并进行综合编译;
拿到板子,点击Generate和Configure,进行下载;
实验结果及分析
理论上应该显示b,但由于诸多问题,结果数码管显示的好像不对,而且我的座位号是8号,那换成六位二进制数应该是001000,但最后在硬件上实现时,却跟理论不一样。
实验思考题解答(实验指导书要求的思考题)
说明代码表达的是什么类型的状态机,它的优点是什么?详述其功能和对序列数检测的逻辑过程。
答:由于状态机输出AB与输入DIN有关,有一定的延时,所以该状态机为Mealy状态机。状态机在系统时钟的控制下,电路按照预先设定的状态运行,有良好的同步时序,较好的解决了竞争冒险和毛刺现象。状态的的结构使其在一个时钟周期内可以完成许多并行的运算和控制操作。
体会
这次实验比上两次实验都有些进步,我拿到了板子,并按照下载步骤将程序下载进去了,但令人失望的是结果是错的,经过仔细分析以后,发现是自己的代码的原因,但因为时间关系,我无法在实验室修改并完善了。经过这么几次实验,我觉得我们在每次实验之前一定要预习到位,不能随便预习,随便看看就行了,这样的话我们根本无法往下走,做出实验结果来。
2
文档评论(0)