《EDA技术与应用实验报告模板(共20页).doc》由会员分享,可在线阅读,更多相关《EDA技术与应用实验报告模板(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上EDA实验报告题目:实验一 应用Quartus 完成LED的驱动姓名班级学号成员1:朱梦电科1405成员2:李嘉欣电科1405成员3:樊志立电科1405联系电话物理与电子学院2017年4月专心-专注-专业实验平台说明特征说明计算机配置(机器型号,主板型号可选)处理器,内存,硬盘,显卡,显示器操作系统Windows 7 64 bit enterprise editionEDA软件Quartus II 9.1 64 bit开发板编号盒子编号验证图清单特征图编号RTL图图5,图10,图12仿真图硬件运行图在线调试图状态机图实验一 应用Quartus 完成LED的驱动1、 实
2、验目的通过实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartus 的使用方法及VHDL的编程方法。本实验力求以详细的步骤和讲解让读者以最快的方式了解EDA技术开发以及软件的使用而快速入门,并激起读者对EDA技术的兴趣。2、 实验内容SmartSOPC 实验箱上有8个发光二极管LED1LED8,在QuikSOPC 核心板上LED1LED8分别于FPGA芯片的第50、5355、176和第4749引脚相连(SmartSOPC 实验箱的LED1LED8通过跳线JP6的LED0LED7分别与FPGA的第50、5355、176和第4749引脚相连)。本实验的内容是建立可用于控制LED亮/灭的简单硬件
3、电路,要求点亮SmartSOPC试验箱上的4个发光二极管(LED1、LED3、LED5、LED7)。具体包括:1 使用Quartus 建立工程;2 Quartus 工程设计;3 设置编译选项并编译硬件系统;4 下载硬件设计到目标FPGA;5 观察LED的状态。3、 实验原理FPGA器件同单片机一样,为用户提供了许多灵活独立的输入/输出I/O口(单元)。FPGA每个I/O口可以配置为输入、输出、双向I/O、集电极开路和三态门等各种组态。做为输出口时,FPGA的I/O口可以吸收最大为24mA的电流,可以直接驱动发光二极管LED等器件。所以只要正确分配并锁定引脚后,在相应的引脚上输出低电平“0”,就
4、可实现点亮该发光二极管的功能。4、 实验步骤使用Quartus 建立工程打开QuartusII软件并建立工程1 在Windows桌面上选择“开始”“程序”“Altera”Quartus 64-Bit,打开Quartus 64-Bit软件,软件界面如图1所示。图1 Quartus 软件界面2 在图1中选择FileNew Project Wizard来新建一项工程。注意不要把New误以为New Project Wizard。新建工程向导说明如对话框图2所示。图2 新建工程向导说明对话框在图2中可以了解在新建工程的过程中要完成哪些工作,这些工作包括:指定项目目录、名称和顶层实体;指定项目设计文件;指
5、定该设计的Altera器件系列;指定用于该项目的其他EDA工具;项目信息报告。3 在图2中单击Next进入如图3所示对话框。任何一项设计都是一项工程Project,必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被Quartus 默认为工作库(Work Library)。一般来说不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。图3中的第一栏用于指定工程所在的工作库文件夹;第二栏用于指定工程名,工程名可以去任何名字,也可以直接用顶层文件的实体名作为工程名(建议使用);第三栏用于指定顶层文件的实体名。本例工程的路径为E:EDAExamplel
6、ed_test,工程名与顶层文件的实体名同为led_test。图3 新建工程路径、名称、顶层实体指定对话框4 单击Next进如图4所示对话框。由于是新建工程,暂无输入文件。图4 新建工程添加文件对话框5 单击Next,进入图5所示对话框。在该对话框中指定目标器件,这里我们选择的是QuikSOPC核心板上用的Cyclone系列的EP3C5E144C8。图5 新建工程器件选择对话框6 在图5右边的Filter(过滤器)选项中,可以通过指定封装、引脚数以及期件速度等级来加速器件查找的速度。指定完器件后,单击Next进入图6所示对话框。本实验利用Quartus 的集成开发环境开发,不使用任何EDA工具
7、,因此这里不作任何改动。图6 新建工程EDA工具设置对话框7 单击图6中的Next进入图7所示对话框。从该对话框中,可以看到工程文件配置信息报告。单击Finish,完成新建工程的建立。图7 新建工程配置信息报告对话框需要注意的是,建立工程后,还可以根据设计中的实际情况对工程进行重新设置,可选择AssignmentSettings(或工具栏上的按钮)进行设置。建立图形设计文件Quartus 图形编辑器也成为块编辑器(Block Editor),用于以原理图(Schematics)和结构图(Block Diagrams)的形式输入和编辑图形设计信息。Quartus 的块编辑器可以读取并编辑结构图设
8、计文件(Block Design Files)和MAX+Plus 图形设计文件(Graphic Design Files)。可以在Quartus 软件中打开图形设计文件并将其另存为结构图设计文件。1 在Quartus 主界面中,选择FileNew打开如图8所示对话框。2 在图8所示对话框中选择Block Diagram/Schematic Files,单击OK建立一个空的图形设计文件,默认名为Block1.bdf。图8 新建文件对话框3 在Quartus 主界面中,选择FileSave As打开将bdf文件存盘的对话框,如图9所示。在该对话框中接受默认的文件名,并选中Add File to c
9、urrent project 选项,以使该文件添加到工程中。图9 BDF文件存盘对话框至此,便完成了顶层模块的建立。接下来应该将VHDL语言生成的模块加入到顶层模块中。建立文本编辑文件Quartus 的文本编辑器是个非常灵活的编辑工具,用以AHDL、VHDL、和Verilog HDL语言形式以及Tcl脚本语言输入文本型设计,还可以再该文本编辑器下输入、编辑和查看其它ASCII文本文件。在这里要建立的是VHDL文件,建立的流程与建立图形设计文件一样。在创建好一个设计工程文件以后,在Quartus 主界面中选择FileNew打开新建文件对话框,如图8所示,在该对话框中选择VHDL File ,单击
10、OK建立一个空的VHDL文件,默认名为Vhd1.vhd。在Quartus 主界面中选择FileSave As改名为led.vhd并保存。Quartus 工程设计在第1步中已经建立好了Quartus 工程文件,现在要对Quartus 工程进行编程设计。(1) 在VHDL文件中编写源程序在新建VHDL源程序文件中输入程序代码并保存。完整的程序代码参考程序清单1(注意,程序的模块名应与文件名一致。)对该VHDL文件进行编译处理,具体操作如下:1 在Quartus 主界面的Project Navigator 窗口中选择Files选项卡,右击led.vhd文件,在弹出的快捷菜单中单击Set As Top
11、-level Entity 选项,将led.vhd设置为顶层实体;2 在Quartus 主界面中选择ProcessingStartStart Analysis & Synthesis 进行综合编译,也可以选择工具栏上的按钮启动编译。若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。(2) 从设计文件创建模块在层次化工程设计中,经常需要将已经设计好的文件生成一个模块符号文件(Block Symbol Files.bsf)作为自己的功能模块符号在顶层调用,该符号可以向图形设计文件中的任何其它宏功能一样被高层设计重复调用。在Project Navigator 窗口中Files选项卡中的le
12、d.vhd文件,在弹出的快捷菜单中单击Create Symbol Files for Current File 选项,会弹出一个对话框提示原理图文件创建成功,单击“确定”按钮,即可创建一个代表现行文件功能的符号(led.bsf)。设计好的图形文件(Block Symbol Files.bdf)也可应生成一个模块符号文件(Block Symbol Files.bsf)作为自己的功能模块富豪在顶层调用。操作如下:1 在Quartus 主界面的Project Navigator 窗口中右击Files选项卡中的 .bdf 文件,在弹出的快捷菜单中单击Set As Top-level Entity 选项
13、,将 .bdf 设置为顶层实体;2 在Quartus 主界面中选择FileCreate/UpdataCreate Symbol Files for Current file,然后在出现的对话框中单击“确定”按钮,即可创建一个代表现行文件功能的符号问件(.bsf)。(3) 将led.bsf 模块添加到Quartus 顶层模块执行下列步骤可将led符号(led.bsf)加入到BDF文件中(在第1步中已将建立好的led_test.bdf):1 在Quartus 主界面下led_test.bdf 窗口中的任意处双击,弹出添加符号(Symbol)对话框,如图10所示;图10 添加Symbol对话框2 在
14、Project下选择led,在右边的窗口中出现一个很大的符号,这就是led.vhd源文件生成模块符号;3 单击OK,关闭Symbol对话框,led符号被附在鼠标的指针上,用户可以在led_test.bdf窗口中适当位置上放置该符号;4 在Quartus 主界面中选择FileSave As来保存Quartus 顶层文件led_test.bdf。(4) 添加引脚和其它基本单元引脚包括输入(input)、输出(output)和双向(bidir)三种类型。在添加引脚和其它基本单元时,将使用到模块编辑工具栏中的各种工具,图11显示了工具栏中个工具的功能。图11 模块编辑工具栏执行下面步骤为顶层模块添加输
15、出引脚:1 在模块编辑工具栏中单击 按钮,插入如图12所示符号对话框。恶意看出,这个对话框就是图11所示对话框,其不同之处在于,适用按钮时,默认重复插入模式(Repeat Insert Mode)选中,这样既可以重复的插入符号,当然,前面插入led符号也也可以适用 按钮。图12 添加输入引脚对话框2 在图12中单击C:/altera/quartus50/libraries文件夹前的“+”将其展开,再分别单击展开primitives和pin文件夹。3 在pin文件夹下选择output组件(也可以在Name文本框下直接输入名称)。4 单击OK按钮关闭Symbol对话框。5 在led符号左侧的空白粗
16、单击,插入一个output引脚符号。6 拖动引脚符号连接到led符号的输出口。7 双击各引脚符号,进行引脚命名。将与led符号了的led7.0连接的引脚命名为led7.0,完整的顶层模块图,如图13所示。8 在Quartus 主界面中选择FileSave 保存BDF文件。图13 完整的顶层模块图(5) 选择器件型号每种型号的FPGA芯片的引脚可能都不相同,在Quartus 工程创建好后仍然可以选择并修改器件型号。在Quartus 主界面中选择AssignmentsDevice打开如图14所示对话框。在该对话框中指定所需的目标器件型号,本实验为EP3C5E144C8。图14 器件选择对话框(6)
17、分配FPGA引脚本实验中各引脚以及与目标FPGA器件引脚的关系如表1所示,用户可以根据自己的核心板选择相应的引脚进行分配(这里以1C6、1C12和EDA分别代表QuickSOPC-1C6、QuickSOPC-1C12和QuickEDA核心板的引脚分配)。信号引脚信号引脚1C61C12EDA1C61C12EDAled0505050led4176176176led1535353led5474747led2545454led6484848led3555555led7494949表1 引脚锁定方法要执行FPGA引脚的分配,可按下面步骤进行:1 在Quartus 主界面中选择AssignmentsPin
18、s打开如图15所示对话框;图15 分配引脚对话框2 按照表1 在To栏中输入各引脚名称,在Location栏中选择相应的引脚,也可以在Location栏中输入引脚号来快速定位,最终分配的结果如图15所示;3 选择FileSave来保存分配,然后关闭Assignment Editor窗口。 (7)器件和引脚的其他设置单击图14中的Device & Pin Option,打开Device & Pin Option对话框。在该对话框中选择Configuration选项卡,并按图16所示进行配置,即采用串行配置器件EPS4的主动配置方式。在Device & Pin Option对话框中选择Unused
19、 Pins选项卡进行没有使用引脚的配置,按照图17所示将未使用引脚设置为高阻输入,这样上电后FPGA的所有不使用引脚将进入高阻抗状态。图16 Configuration设置图17 为使用引脚分配1. 设置编译选项并编译硬件系统(1) 设置编译选项 在图14中左边框中选择相应的设置选项进行设置。本实验采用默认的编译设置,不需要进行任何修改。若要进行编译选项的设置,请参考Altera公司的Quartus II使用手册。(2) 编译硬件系统 在编译过程中,编译器定位并处理所有的工程文件,生成与编译有关的消息和报告,创建SOF文件及任何可选配置文件。1. 在Quartus 主界面的Project Na
20、vigator 窗口中选择Files选项卡,右击led_test.bqf文件,在弹出的快捷菜单中单击Set As Top-level Entity 选项,将led_test.bqf设置为顶层实体。2. 在Quartus II主界面下选择ProcessingStart Complication进行全程编译,也可选择工具栏上的按钮启动编译,对该过程文件进行编译处理。若在编译过程中发现错误,找出并更正错误,直至编译成功为止。在编译硬件系统时,状态窗口显示这个编译进程及每个编译阶段所用的时间。编译结果显示在Complication Report窗口中。整个编译时间大约需要几秒到一分钟,这取决于计算机的
21、性能以及编译选项的设置。在编译过程中,可能产生很多的警告信息,但是这些不会影响设计结果。(3) 查看编译报告 编译结束后,对话框显示消息“Full complication was successful.”,单击OK进入Complication Report窗口,如图18所示,包括编译报告、综合报告、适配报告和时序分析报告等。由于本设计比较简单,器件适配、静态时序等情况很容易满足要求,所以在本实验中不详细分析这些报告。图18 查看编译报告2. 下载硬件设计到目标FPGA成功编译硬件系统后,将产生led_test.sof的FPGA配置文件输出,下面简单介绍将SOF文件下载到目标FPGA器件的步骤
22、。1、 将掉线短接帽跳接到SmartSOPC实验箱上的JP6的LED0LED7,使LED1LED8分别与FPGA引脚50、5355、176和4749相连。2、 通过ByteBlaster II下载电缆连接实验箱JTAG口和主计算机,接通实验箱电源。3、 在Quartus II主界面中选择ToolsProgrammer,也可以单击工具栏上的按钮,打开编程器窗口并自动打开配置文件(led_test.sof)。如果没有自动打开配置文件,则需要自己添加需要的配置文件。4、 确保编程器窗口左上角的Hardware Setup栏中硬件已经安装。5、 确保Program/Configure下的方框选中。6、
23、 单击“Start”开始使用配置文件对FPGA进行配置,Progress框中显示配置进度。如果使用QuickSOPC核心板,板上的配置绿色指示灯CONF亮,说明配置成功。本实验只讲述如何将配置文件下载到FPGA中,掉电后FPGA中配置的数据将丢失。也可以将配置文件写入掉电保护的EPCS,在上电时使用EPCS对FPGA进行配置。3. 观察LED的状态观察SmartSOPC实验箱上的发光二极管LED1LED8,看是否与设计符合。5、 实验参考程序程序清单1 点亮LED灯LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_Ari
24、th.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY led ISPORT(led:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END;ARCHITECTURE one OF led ISCONSTANT number:STD_LOGIC_VECTOR(7 DOWNTO 0):=;BEGINled=number;END;6、 实验体会在实验过程中,我们主要遇到了以下几个问题。1.编译过程中:一是虽然有样板代码,但是在实际编译过程中还是遇到了一些问题,不停地出error,我们通过对比原代码和错误提示,将所有的错误改正出来。二是代码无误之
25、后,编译结果显示:许可证不支持所选芯片。经过多方资料查询,我们得知问题出在软件安装过程,所以,我们改为安装了Quartus 9.0版本。之后再次重新编译,错误消除。2.引脚设置和硬件验证过程中:USB-Blaster驱动器无法正常安装使用。这个问题经常发生在我们的各种实验过程中,我们当下决定重新安装一个驱动器。经过几次安装尝试之后,这个问题也得到了很好的解决。本次实验虽然内容较之其他实验简单,但是我们在实验操作的过程中还是遇到了不少的问题,同时也学会了一些解决问题的技巧。所谓实践出真知,这次实验也让我们更加理解了所学知识,并且能一定程度的去运用它。虽然只是一个简单的实验,但让我们收获了许多经验,也激发了我们对于EDA学习与动手的兴趣。