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是数据输入端口。

过程图:

任务二:
步骤:
(1)在 D 盘新建一个文件夹,命名为 sy12。
(2)新建一个工程,工程路径为 D:/sy12,工程名为 sy12。将任务一的文件夹
sy11中的sy11.bdf和sy11.bsf两个文件拷贝一份到当前工程所在文件夹sy12中。
(3)新建一个原理图文件,按照任务一的方法和步骤在画布中画出全加器的
原理图。注意,需要调用的半加器模块在 project 中,如下图所示。
(4)画好原理图(全加器的原理图请见教材 P64 的图 3.25)后,编译,仿真。
仿真具体过程参见任务一的步骤。该实验完成后直接关掉 quartusII5.1 软件。

原理:
Verilog语言支持模块调用来简化设计步骤。
过程图:

任务三:
步骤:
(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的亮暗。因此,可以实现该功能。
过程图:

任务四:
采用文本输入方式编写一个简单的程序,要求用 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的亮暗。因此,可以实现该功能。

过程图:

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

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




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

四、实验结果与分析

任务一:

半加器: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;
根据半加器特点与仿真结果对比设计正确。
任务二:

全加器:
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 开发板使用入门实验。

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

  1. 基于DE2 115开发板驱动HC_SR04超声波测距模块【附源码】

    目录 1. 实验平台与目的 2. 实验要求 3. 实验原理 3.1. 理论原理 3.2. 硬件模块时序图 4. 系统架构设计 5. 模块说明 5.1. hc_sr_driver端口信号列表 5.2. ...

  2. 基于Quartus II软件的FPGA综合实验——多功能数字钟

    有很多自制元器件,内部电路附在文章中 文章目录 前言 一.设计要求 二.设计原理 三.设计过程 1.数码管扫描模块 2.计时模块 3.闹钟模块 4.闹钟响铃模块 5.数码管显示模块 6.整点报时功能 ...

  3. 基于Quartus II软件FPGA与PC之间的串行通信系统开发(9000+字)

    1.简介与仿真结论 随着集成电路技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域.电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与 ...

  4. 基于Quartus II 软件(VHDL)设计

    目录 一,基于 Quartus II 的数字系统设计流程 二,Quartus II 软件使用介绍 1. 建立工程 2. 设计输入 3. 编译 4. 时序仿真 quartus ii 安装请参考: Qua ...

  5. Quartus ii 软件的使用

    一.开发工程 1.新建工程 选择一个路径作为工程存放位置,然后在工程文件夹创建4个子文件夹,分别命名为: doc.par.rtl和sim. doc文件夹用于存放项目相关的文档, par文件夹用于存放Q ...

  6. Quartus II 软件编写程序及烧录步骤

    Quartus II 软件编写程序及烧录步骤 最近刚开始接触这个软件,这次详细记录了部分使用步骤,当做备忘录.

  7. FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装

    文章目录 一.Quartus II软件的安装 二.USB-BLaster驱动安装 一.Quartus II软件的安装 当然,这种东西我要是再写一遍就很无聊了,这里给出方法和连接 视频:Quartus ...

  8. Quartus ii 软件仿真基本流程(使用VHDL)

    文章首发于我的个人博客 这是VHDL系列教程的第一个教程.所谓教程,其实也就是记录我本人在学习过程中遇到的问题和学习内容的笔记,分享在这里供其他初学者参考,如果博客中出现任何错误或不严谨的地方,您可以 ...

  9. Quartus II软件添加设备

    文章目录 前言 一.前期准备 二.进入网站并下载对应的.qdz文件 1.先进入Intel主页并登录账号 2.找到下载地址 Quartus软件中添加设备 前言 最近为了调试Cyclone V系列的一个F ...

最新文章

  1. java 反射 getclass_java 反射getClass .class 的使用方法示例
  2. larvel 中的api.php_Laravel API 系列教程(一): 基于 Laravel 5.5 构建 测试 RESTful API...
  3. yum 安装报Header V3 DSA signature: NOKEY 的错
  4. ASP.NET Core 中使用IHttpClientFactory发出HTTP请求
  5. 分割函数python_python strip() 函数和 split() 函数的详解及实例
  6. .NET的RedisProvider
  7. 【Hive】性能调优 - map-side JOIN
  8. Servlet和JSP的区别与MVC模式
  9. 两台计算机如何组成局域网,两台电脑如何建立局域网
  10. css div背景图大小,divcss如何改变背景图片大小
  11. 【k8s权威指南】第三章 k8s核心原理
  12. 也许我们喜欢数学,只是不喜欢数学课
  13. 由人眼追踪技术想到的
  14. 常见CAD/CAM控件大全
  15. 以Fitbit看新智能硬件商业模式
  16. 国民游戏机小霸王从辉煌到没落仅用了30年
  17. IT职场人生系列之二十三 知识体系(专家与杂家)
  18. (转)58同城上市背后:分类信息网站集体转型艰难
  19. 文华财经指标公式博易大师软件指标公式期货多空买卖指标图,文华加密破解二次加密
  20. 利用GDAL(python)读取Landsat8数据

热门文章

  1. FME中的空间数据库转换器
  2. 18个搞死创业公司的致命伤
  3. 额叶脑电非对称性的评估和概念化
  4. Part 3 中值定理与导数应用
  5. 无胁科技-TVD每日漏洞情报-2022-10-27
  6. Ubuntu16.04(GTX1660ti)cuda10.0和cudnn7.6环境配置 (环境乃一生之敌!!!)
  7. 2022-8-21 计算机网络复习_谢希仁
  8. android天气预报项目源代码下载,Android适合新手学习的天气预报项目代码
  9. UOS共享文件夹给windows系统访问的方法
  10. 悠闲的老鼠动画片,小鼠波波 Maisy教孩子学英语