EDA实验报告总结:序列检测器设计.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
序列检测器设计 实验目的 了解序列检测器的工作原理,学习使用有限状态机设计序列检测器。 实验内容 建立工程,使用有限状态机的VHDL编写方法编写序列“1110”的检测器,并通过数码管显示状态机当前所在状态,然后把每个简单的VHDL程序(Create Symbol Files For Current File)作为一个模块,在原理图输入中引入,最后把原理图设置成顶层文件,下载到FPGA芯片中,最后在实验箱上进行硬件测试。 实验原理 实验程序用VHDL语言编写,利用开发软件Quartus II完成编译,完成本实验,主要有4部分参考程序,分别是状态机主程序(s_machine.vhd)、并串转换器(CtoP.vhd),按键防抖器(steady.vhd)和led控制器(led_c.vhd)。 状态机主程序主要实现“1110”序列的检测。在程序中,自定义数据类型sta,分别代表了在不同情况下状态机对应的状态,由于输出为4位比特,所以状态机总共需要5个状态,具体的状态转换图如下图所示: 并串转换器的主要功能是并行输入转为串行输出,主要使用的是带预置数功能的移位寄存器,它具有置数管脚,当该管脚为0时,并行的输入将存入移位寄存器当中,随着时钟的输入使得数据串行输出,作为状态机的数据输入。 按键消抖器的主要功能是消除按键的抖动,由于按键被按下的时候总伴有抖动,所以有必要对按键进行消抖。延时的原理是当按键按下时首先延时一段时间,然后再次检测按键,若此时按键仍为按下,则为有效的按键。按键主要为状态机提供时钟。 led控制器的主要功能是对序列检测的结果进行显示。若成功检测到序列,则核心板上的led灯亮,若没检测到,则led等熄灭。 实验步骤 打开Quartus II软件并建立工程 在Windows桌面上选择“开始”→“程序”→“Altera”→Quartus II 9.0,打开Quartus II 9.0软件,软件界面如图1所示。 图1 Quartus II软件界面 在图1中选择File → New Project Wizard来新建一项工程。 单击Next进入如图2所示对话框。图2中的第一栏用于指定工程所在的工作库文件夹;第二栏用于指定工程名;第三栏用于指定顶层文件的实体名。本次实验工程的路径为E:\EDA\muchine_1110,工程名与顶层文件的实体名同为s_muchine。 单击Next进如图3所示对话框。由于是新建工程,暂无输入文件。 单击Next,进入图4所示对话框。在该对话框中指定目标器件,这里我们选择的是QuikSOPC核心板上用的Cyclone系列的EP1C12Q240C8。 图2 新建工程向导说明对话框 在图4所示的对话框中点击Finish完成新建工程的建立。 图3 新建工程添加文件对话框 图4 新建工程器件选择对话框 建立图形设计文件 在Quartus II主界面中,选择File → New打开如图5所示对话框。 在图5所示对话框中选择Block Diagram/Schematic Files,单击OK建立一个空的图形设计文件,默认名为Block1.bdf。 图5 新建文件对话框 在Quartus II主界面中,选择File → Save As打开将bdf文件存盘的对话框。将bdf命名为machine_1110.bdf,并选中Add File to current project 选项,以使该文件添加到工程中。 建立文本编辑文件 在Quartus II主界面中选择File → New打开新建文件对话框,如图5所示,在该对话框中选择VHDL File,单击OK建立一个空的VHDL文件,默认名为Vhd1.vhd。在Quartus II主界面中选择File → Save As改名为s_machine.vhd并保存。随后建立CtoP.vhd,steady.vhd和led_c.vhd。 Quartus II工程设计 在第1步中已经建立好了Quartus II工程文件,现在要对Quartus II工程进行编程设计。 在新建VHDL源程序文件中输入程序代码并保存。 s_machine程序代码如下所示: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY s_machine IS PORT( clk : IN STD_LOGIC; input : IN STD_LOGIC; res : IN STD_LOGIC; output : OUT STD_LOGIC; led7s : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); sel : out STD_LOGIC);

文档评论(0)

byzztbyzztfc1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档