实验五 用状态机实现序列检测器的设计.doc_第1页
实验五 用状态机实现序列检测器的设计.doc_第2页
实验五 用状态机实现序列检测器的设计.doc_第3页
实验五 用状态机实现序列检测器的设计.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子设计自动化实验报告实验五 用状态机实现序列检测器的设计一、 实验目的 1. 熟悉Quartus软件应用环境,了解实验流程。2. 编写简单的Verilog代码,并在Quartus中进行调试和验证,并在EDA6000中下载代码和验证。3. 掌握用状态机(State Machine)实现序列检测器的设计。二、 实验原理假设检测器预先已经设定一个8位序列d,那么当由din端口串行输入的一个8位序列,与d完全相同时,检测器输出代码1010,即在试验箱上的LED上显示一个“A”;否则,检测器输出1110,即在试验箱上的LED上显示一个“E”。同时,当清零信号clr有效时,输出为1110。由清零信号clr和输入信号din共同控制状态机的状态变化。三、 实验内容1、检测一组二进制序列信号,当连续的脉冲信号和预先设定的序列d相同时,显示字符“A”,否则显示“E”。2、使用工具为译码器建立一个元件符号3、设计仿真文件,进行验证。4、编程下载并在实验箱上进行验证。四、 实验步骤1. 新建Verilog工程项目,编写代码并保存至与模块名对应的项目文件夹。2. 编译程序,编译无误后,在【tools】【netlist viewers】里面选择RTL Viewer,观察电路结构;在【tools】【netlist viewers】里面选择State Machine Viewer,查看状态机转换图。3. 新建波形文件进行仿真。保存时要和源程序存放在同一目录下。设置好输入波形参数后,开始仿真。在仿真后输入输出波形中观察逻辑关系是否正确。4. 将实验箱和PC合理连接起来。打开EDA6000软件,设置好芯片类型为ACEX1K(EP1K30TC144-3),载入模式12。5. 根据EDA6000界面内管脚对应芯片的实际管脚在QUARTUS里面设定管脚号并检查无误。6. 将程序下载至FPGA内,并在EDA6000软件界面内进行验证测试。程序代码module SCHK(clk,din,clr,d,err);input clk,din,clr; input 7:0d;output 3:0err;parameter s0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8;reg 8:0cs,ns; reg 3:0err;always (posedge clk or posedge clr) begin if(clr) cs=s0; else cs=ns; case (cs) s0:if(din=d0 ) ns=s1; else ns=s0; s1:if (din=d1) ns=s2; else ns=s0; s2:if(din=d2 ) ns=s3; else ns=s0; s3:if(din=d3 ) ns=s4; else ns=s0; s4:if(din=d4 ) ns=s5; else ns=s0; s5:if(din=d5 ) ns=s6; else ns=s0; s6:if(din=d6 ) ns=s7; else ns=s0; s7:if(din=d7 ) ns=s8; else ns=s0; s8:ns=s8; default ns=s0;endcaseend always (ns) begin if(ns=s8) err=4b1010; else err=4b1110; endendmodule编译:选择processing-start compilation命令,开始编译。也可直接点击面板上编译按钮。结果如图:RTL Viewer:选择Tools-netlist viewers-RTL viewer命令,查看寄存器电路结构图,结果如图:State Machine Viewer:选择Tools-netlist viewers- State Machine Viewer,查看状态机转换图。仿真结果: 当输入信号din与预先设定好的序列d完全相同时,仿真结果: 当输入信号din与预先设定好的序列d不完全相同时,仿真结果: 设置引脚,试验箱验证:启动EDA6000,连接试验箱。装入模式12。根据右侧管脚提示进行管脚锁定。在Quartus界面中选择assignmentpins命令。可以用拖放的方式指定管脚,也可以在location中输入管脚号。然后在Quartus界面中选择tools- programmer命令。在弹出的界面中Mode选为passive serial。点击add hardware,选择byteblasterMV,添加驱动成功后,勾选program/configure,点击start,下载文件到试验箱。点击EDA6000start,开始测试。结果如图:五、实验总结通过本次实验掌握了如何用Verilog HDL语言实现状态机的原理,运用状态机实现序列

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论