【EDA实验一】Quartus II 软件和 DE2-115 开发板 使用入门实验

简介: 【EDA实验一】Quartus II 软件和 DE2-115 开发板 使用入门实验

一、实验目的

熟悉 Quartus II 开发环境,掌握原理图输入方式、文本输入方式和波

形仿真;熟练掌握在 Quartus II 环境中进行 FPGA 设计的流程;熟悉 DE2-115

开发板及其使用;


二、实验任务及要求

**任务一:**熟悉 Quartus II 开发环境,掌握原理图输入方式,在 Quartus II 中用原 理图方式实现半加器,并用 Quartus II5.1 中的波形仿真。仿真成功后,生成半加器图形符号以供后续程序调用;


**任务二:**在 Quartus II 中用原理图方式实现全加器,并用 Quartus II5.1 中的波形仿真。要求调用任务一中的半加器来实现。


任务三. 采用文本输入方式编写一个简单的程序,要求用 DE2-115 开发板上的

SW0 拨动开关控制 LED0 二极管的亮灭,当 SW0 拨到 1 的位置,LED0 亮,否则 LED0 灭。通过该任务的实现,要求熟练掌握 DE2-115 开发板的使用方法,JTAG 下载电缆驱动的安装方法。


**任务四,**采用文本输入方式编写一个简单的程序,要求用 DE2-115 开发板上的

SW17 拨动开关控制 LEDR17 二极管的亮灭,当 SW17 拨到 1 的位置,LED17

亮,否则 LED17 灭。


**任务五(选做).**尝试采用 2 个拨动开关控制 4 个 LED 等的亮灭,要求:当输入 00 时,LEDR0 亮;当输入为 01 时,LEDR1 亮;当输入为 10 时,LEDR2 亮;当输入为 11 时,LEDR3 亮;


三、实验原理与步骤

前提:

QuartusII5.1 软件是和谐版本的,使用前需要修改一下其 license,和谐步骤

如下:

(1) 单击开始->QuartusII5.1,启动 QuartusII5.1。


(2) 选择图 1 对话框的第三项,点 ok 按钮。

(3) 复制图2中的 Network interface Card(NIC)ID:后面的网卡号,参考图 4,

注意:只能选其中一个网卡号,不能 3 个都选,建议选用第 1 个网卡号。

(4)按图 2 所示的 license file 路径(参考图 5),找到 license.DAT,用记事本打开 。

(5)用第(4)步所复制的本机器的网卡号覆盖图 6 中 HOSTID=后面的那串

网卡号值,共有 4 处需要覆盖。其它地方不变,然后保存 license 文件,并关闭。

至此,QuartusII5.1 的 license 已经和谐完毕,可正常使用了,由于实验室

的机器装了系统恢复软件,所以大家每次来做实验时,都需要先将 QuartusII5.1

软件的 license 修改一下。


任务一:

步骤:

(1) 在开始菜单中打开 quartusII5.1 软件。

(2) 在 D 盘新建一个名为 sy11 的文件夹。

(3) 新建一个工程:在 quartusII5.1 软件中,单击 File 菜单,选择 New Project

Wizard 菜单项,单击 next,出现如下对话框,选择工程所在文件夹并输

入工程名后单击 finish。

(4) 新建文件:在 quartusII5.1 软件中,单击 File 菜单,选择 New 菜单项,

弹出如下的窗口,选择 Block Diagram/Schematic File(原理图输入方式)后单击 ok

按钮。

(5) 在画布上画出电路图:在画布上双击鼠标左键,弹出 Symbol 对话框,

单击左侧 libraries 下单+号,并单击 primitives 左侧的加号和 logic 左侧的加号。双击 and2,并在画布中单击左键确定,则 and2 出现在画布上,同 理将 xnor 和 not 符号放在画布上,然后将单击 logic 左侧的减号,并单击 pin 左

侧的加号,双击 input,将输入端口放到画布上,然后双击 output,将输出端口

放到画布上。然后在画布的 input 上单击右键,选择 copy,在画布的空白处点击paste。同理放 output 管脚。双击各管脚,将其 pinname 分别改成 a,b,sum,cout。然后单击左侧的橡皮筋 按钮,将鼠标移动到右侧画布上的某个器件的管脚处时鼠标变成橡皮筋按钮的形状,此时可进行连线。

(6) 保存文件,文件名保存为 sy11.bdf(注意扩展名为 bdf)

(7) 将当前文件设置为 top-level entity:首先在 project navigator 窗口单击 Files按钮,然后单击 Device Design Files 前的加号+,如下图所示。(如果不小

心关闭了 project navigator 窗口,可点击 view 菜单->Utility Windows-> project navigator 打开) 在 project navigator 窗口的 sy11.bdf 文件上单击右键,选择 set as top-levelentity。

(8) 编译,单击工具栏的编译按钮 ,


(9)编译成功后,仿真:一,首先,建立仿真波形文件,在 quartusII5.1 软件 File

菜单中单击 new,弹出下图所示的对话框,选择第一行的 other files 选项

卡,然后选择 vector waveform file 选项,单击 ok 按钮。

二,调整波形文件尺度:在quartusII5.1软件的edit菜单项中选择end time,

将时间改成 100us(微秒),然后在 edit 菜单项中选择 Grid Size 改成 1us。

一直按 ctrl+shift+ space 组合键缩小波形窗口,直至窗口中的竖虚线出现。

三,连续按下 ctrl+shift+space 组合键,将波形窗口缩小,直至波形窗口的

竖直虚线 出现。

四,在波形窗口左侧空白处双击鼠标左键,弹出如图所示的对话框,在该对话框中单击 Node Finder 按钮,弹出 Node Finder 对话框,在 Node

Finder 对话框中的 Filter 框中选 Pins:all,单击 list 按钮,然后单击窗口

中间的 按钮,最后单击右上方的 OK 按钮。

五,按格子给各输入的值,尽量给出所有可能的情况,具体方法为:首先选中需

要给值的格子(选中格子的方法:按住鼠标左键在格子中拖动可选定某个格),需要给 1 时,在选中格子后选择左侧工具栏的 按钮,需要给 0 时,在选中格子后选择左侧工具栏的 按钮。(注意:不用给输出的值,输出的值是执行仿真

命令后,仿真器根据你的输入和你的程序出来的结果)。

六,保存仿真波形文件,文件名为 sy11.vwf。单击 assignments 菜单,选择 settings选项(这个选项很有用,添加文件的时候可用这个),检查一下 settings 窗口中的simulation input 文件是不是当前要用的波形文件 sy11.vwf,如果该项为空,则点击该项右侧的 按钮,将当前的仿真波形文件 sy11.vwf 添加进来。

七,执行仿真命令,单击工具栏的 按钮进行仿真。

八,执行完仿真命令后,观察各种输入情况下得到的输出的值,进行逻辑分析,

若所有逻辑都对,则表明程序或设计无误。否则,需要修改设计。执行完仿真

命令后,按住 ctrl+shift+ space 组合键缩小波形窗口观察。所谓仿真,就是检

查你的程序的逻辑是否正确,给出各种输入的情况,仿真器根据你的程序中的

逻辑得到输出的值,你需要分析当前的输入情况下得到的输出是否正确?若错

误,则说明你的程序逻辑是错误的。

(10) 仿真成功后,将半加器设置成可调用的元件(File-> Create/Update-> create symbol files for current file),供其它程序调用。注意,此步操作一定要先将

sy11.bdf 文件置于最上层(即先使得当前界面为你的图形输入窗口,如下图所示,不能是仿真界面),否则按钮是灰色的没法操作。生成的元件命名为 sy11.bsf。

(11) 实验一完成,此时可关闭工程:File->Close project。


原理:

半加器的设计由两个基本逻辑门元件组成,包括与门和逻辑门。半加器的逻辑表述为:SO = A ⊕B; CO = A ● B;就是SO等于A异或B,CO等于A与中SO是和值端口,CO是进位端口,A、B是数据输入端口。


过程图:

image.png


任务二:

步骤:

(1)在 D 盘新建一个文件夹,命名为 sy12。

(2)新建一个工程,工程路径为 D:/sy12,工程名为 sy12。将任务一的文件夹

sy11中的sy11.bdf和sy11.bsf两个文件拷贝一份到当前工程所在文件夹sy12中。

(3)新建一个原理图文件,按照任务一的方法和步骤在画布中画出全加器的

原理图。注意,需要调用的半加器模块在 project 中,如下图所示。

(4)画好原理图(全加器的原理图请见教材 P64 的图 3.25)后,编译,仿真。

仿真具体过程参见任务一的步骤。该实验完成后直接关掉 quartusII5.1 软件。


原理:

Verilog语言支持模块调用来简化设计步骤。

过程图:

image.png


任务三:

步骤:

(1) 在开始菜单中打开 quartusII10.0 软件。

(2) 在 D 盘新建一个文件夹,命名为 sy13。

(3) 在 quartusII10.0 软件中新建一个工程,工程路径为 D:/sy13,工程名为 sy13选。好器件后直接点 finish。若在选器件之前不小心 点了 finish 也没关系,可单击 Assignments 菜单栏中的 Device 选项打开器 件选择窗口进行器件选择。也可在工程管理窗口的器件上点击右键,选择 Device 选项设置。

(4) 新建一个文本文件,file->new->VerilogHDL File 如下图所示:注意,以后的实验都是用文本输入方式,都是选择“VerilogHDL File”选项。选好后单击

ok 按钮。

(5) 输入程序。并进行管脚分配,分配管脚需要参考文件“DE2-115 中文说明

书”第四章的内容,用到哪个连接到 FPGA 上的元件,就要看该元件的说

明,比如用到拨动开关 sw0 和 LEDR0,则需要参考 de2-115 第四章的 4.2

节(使用拨动开关)和第 4.3 节(使用 LED),具体管脚分配方法请参考

本实验指导最前面开篇部分介绍的管脚分配方法,选择其中一种方法来分

配管脚即可。

程序如下:

module sy13(in,out); 说明:此处 sy13 为模块名

(chip_pin=“AB28”)input in;

(chip_pin=“G19”)output out;

assign out=in;

endmodule

(6) 保存文件,注意:文件名一定要和模块名一模一样(可把模块名复制一下,

然后在保存的时候粘贴)。

(7) 编译。

(8) 编译成功后,下载程序。下载之前需要把 de2-115 开发板和电脑连起来,

并安装 de2-115 的驱动,具体方法请参见该指导书的前言第 0.3.1 节的

usb-blaster 驱动安装方法。

(9) 下载程序。单击 Tools 菜单,选择 Programmer 选项,打开 Programmer 对

话框,在 Programmer 对话框中点击 hardware setup,点击 hardware setup

对话框中的 currently selected hardware 选项后的 no hardware 下拉菜单,选

择usb-blaster[USB-0],若没看到usb-blaster[USB-0]选项,重新点击hardware

setup 进行选择(usb-blaster 驱动装好后有延时,需要耐心选择)硬件选择

好后 hardware setup 后面的那个框显示的是 usb-blaster[USB-0],而不是 no

hardware。最后单击 Programmer 对话框中的 start 按钮进行程序下载。

(10)在线测试。程序下载到开发板后观察程序运行结果是否与预期的一样,若

不一样则需要修改程序。

原理:

SW0有两种情况1,0,分别对应LED0的亮暗。因此,可以实现该功能。

过程图:

image.png


任务四:

采用文本输入方式编写一个简单的程序,要求用 DE2-115 开发板上的

SW17 拨动开关控制 LEDR17 二极管的亮灭,当 SW17 拨到 1 的位置,LED17

亮,否则 LED17 灭。


步骤:

(1) 在开始菜单中打开 quartusII10.0 软件。

(2) 在 D 盘新建一个文件夹,命名为 sy14。

(3) 在 quartusII10.0 软件中新建一个工程,工程路径为 D:/sy14,工程名为 sy14选。好器件后直接点 finish。若在选器件之前不小心 点了 finish 也没关系,可单击 Assignments 菜单栏中的 Device 选项打开器 件选择窗口进行器件选择。也可在工程管理窗口的器件上点击右键,选择 Device 选项设置。

(4) 新建一个文本文件,file->new->VerilogHDL File 如下图所示:注意,以后的实验都是用文本输入方式,都是选择“VerilogHDL File”选项。选好后单击

ok 按钮。

(5) 输入程序。

程序如下:

module sy14(in,out); 说明:此处 sy13 为模块名

(chip_pin=“AB28”)input in;

(chip_pin=“Y23”)output out;

assign out=in;

endmodule


(6) 保存文件,注意:文件名一定要和模块名一模一样(可把模块名复制一下,

然后在保存的时候粘贴)。

(7) 编译。

(8) 编译成功后,下载程序。下载之前需要把 de2-115 开发板和电脑连起来,

并安装 de2-115 的驱动。

(9) 下载程序。单击 Tools 菜单,选择 Programmer 选项,打开 Programmer 对 话框,在 Programmer 对话框中点击 hardware setup,点击 hardware setup

对话框中的 currently selected hardware 选项后的 no hardware 下拉菜单,选

择usb-blaster[USB-0],若没看到usb-blaster[USB-0]选项,重新点击hardware

setup 进行选择(usb-blaster 驱动装好后有延时,需要耐心选择)硬件选择

好后 hardware setup 后面的那个框显示的是 usb-blaster[USB-0],而不是 no

hardware。最后单击 Programmer 对话框中的 start 按钮进行程序下载。

(10)在线测试。程序下载到开发板后观察程序运行结果是否与预期的一样,若

不一样则需要修改程序。


原理:

SW17有两种情况1,0,分别对应LED17的亮暗。因此,可以实现该功能。


过程图:

image.png


任务五(选做):尝试采用 2 个拨动开关控制 4 个 LED 等的亮灭,要求:当输入00 时,LEDR0 亮;当输入为 01 时,LEDR1 亮;当输入为 10 时,LEDR2 亮;当输入为 11 时,LEDR3 亮;


原理:

SW0,SW1有四种情况00,01,10,11,分别对应LEDR0,LEDR1的亮暗。因此,可以实现该功能。

过程图:

image.png

image.png

注:取SW1为高位,SW0为低位。


四、实验结果与分析

任务一:

image.png


半加器:a,b都取0时结果cout为0,和sum为0;

a,b分别取0,1时结果cout为0,和sum为1;

a,b分别取1,0时结果cout为0,和sum为1;

a,b都取1时结果cout为1,和sum为0;

根据半加器特点与仿真结果对比设计正确。

任务二:

image.png


全加器:

a,b,cin分别取0,0,0,cout为0,sum为0;

a,b,cin分别取0,1,0,cout为0,sum为1;

a,b,cin分别取1,0,0,cout为0,sum为1;

a,b,cin分别取0,0,0,cout为0,sum为0;

a,b,cin分别取1,1,0,cout为1,sum为0;

a,b,cin分别取0,0,1,cout为0,sum为1;

a,b,cin分别取0,1,1,cout为1,sum为0;

a,b,cin分别取1,0,1,cout为1,sum为0;

a,b,cin分别取1,1,1,cout为1,sum为1;

根据全加器的真值特点与仿真结果对照,结果正确。

任务三,四,五:

根据开关的闭合情况与灯的亮暗情况比对结果正确。

实验收获:基本完成实验任务,初步Quartus II 软件和 DE2-115 开发板使用入门实验。

相关文章
|
7月前
|
异构计算
Vivado下PLL实验 2
Vivado下PLL实验
96 0
|
传感器
蓝桥杯之单片机学习(二十八)——详解A/D、D/A、PCF8591、AD与DA的综合使用(附官方驱动的一个坑)
蓝桥杯之单片机学习(二十八)——详解A/D、D/A、PCF8591、AD与DA的综合使用(附官方驱动的一个坑)
473 0
蓝桥杯之单片机学习(二十八)——详解A/D、D/A、PCF8591、AD与DA的综合使用(附官方驱动的一个坑)
|
7月前
|
异构计算 Perl
Vivado下PLL实验 1
Vivado下PLL实验
42 0
|
10月前
AD20和立创EDA设计(3)微调原理图和原理图检查
AD20和立创EDA设计(3)微调原理图和原理图检查
297 0
|
10月前
AD20和立创EDA设计(2)提取立创EDA的原理图库和PCB库
AD20和立创EDA设计(2)提取立创EDA的原理图库和PCB库
251 0
|
10月前
AD20和立创EDA设计(5)立创EDA导出3D模型放入AD20使用
AD20和立创EDA设计(5)立创EDA导出3D模型放入AD20使用
1030 0
|
10月前
PCB设计—AD20和立创EDA设计(1)创建项目
PCB设计—AD20和立创EDA设计(1)创建项目
153 0
|
10月前
|
芯片
立创EDA极速入门(2)——完成一个STM32最小系统板
立创EDA极速入门(2)——完成一个STM32最小系统板
931 0
|
10月前
|
C语言 芯片 智能硬件
51单片机基础实验1
51单片机基础实验1
167 0
|
11月前
|
网络虚拟化 网络架构
基于eNSP模拟器完成一次综合实验
基于eNSP模拟器完成一次综合实验
139 0