Quartus ii 软件的使用

这篇具有很好参考价值的文章主要介绍了Quartus ii 软件的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、开发工程

1.新建工程

选择一个路径作为工程存放位置,然后在工程文件夹创建4个子文件夹,分别命名为: doc、par、rtl和sim。 doc文件夹用于存放项目相关的文档, par文件夹用于存放Quartus软件的工程文件,rtl文件夹用于存放源代码, sim文件夹用于存放项目的仿真文件

quartus ii怎么用,FPGA,fpga开发,驱动开发

打开Quartus ii 软件,在菜单栏上选择【 File】→【 New Project Wizard…】来新建一个工程,

quartus ii怎么用,FPGA,fpga开发,驱动开发

 新建工程向导说明页面如图

quartus ii怎么用,FPGA,fpga开发,驱动开发

 在“ Introduction”介绍页面中,我们可以了解到在新建工程的过程中要完成以下五个步骤:
 

1、 工程的命名以及指定工程的路径;
2、 指定工程的顶层文件名
3、 添加已经存在的设计文件和库文件
4、 指定器件型号
5、 EDA工具设置

单击上图页面下面的【 Next>】按钮进入下图

quartus ii怎么用,FPGA,fpga开发,驱动开发

第一栏用于指定工程所在的路径;第二栏用于指定工程名,建议直接使用顶层文件的实体名作为工程名;第三栏用于指定顶层文件的实体名。这里设置的工程路径为D:/Data/FPGA/verilog/led/par文件夹,工程名与顶层文件的实体名同为led。文件名和路径设置完毕后,单击【 Next】按钮,进入下一个页面

quartus ii怎么用,FPGA,fpga开发,驱动开发

 这里选择创建一个空的工程,单击【 Next】按钮,进入下一个页面

quartus ii怎么用,FPGA,fpga开发,驱动开发

可以通过点击【 …】 符号按钮添加已有的工程设计文件( Verilog或 VHDL文件),由于这里是一个完全新建的工程,没有任何预先可用的设计文件,所以不用添加,直接单击【 Next】按钮

quartus ii怎么用,FPGA,fpga开发,驱动开发

 根据实际所用的FPGA型号来选择目标器件,我使用的是开拓者FPGA开发板主芯片是Cyclone IV E系列的“ EP4CE10F17C8”,所以在Device Family一栏中选择“ Cyclone IV E” 。Cyclone IV E系列的产品型号较多,为了方便在Available device一栏中快速找到开发板的芯片型号,在Package一栏中选择FBGA封装, Pin Count选择256引脚, Speed grade速度等级一栏中选择8, 之后在可选择的器件中只能看见符合要求的芯片型号了。
quartus ii怎么用,FPGA,fpga开发,驱动开发

 在“ EDA Tool Settings”页面中,可以设置工程各个开发环节中需要用到的第三方EDA工具,比如:仿真工具Modelsim、综合工具Synplify。这里并没有使用任何的EDA工具,所以此页面保持默认不添加第三方EDA工具,直接单击【 Next>】

quartus ii怎么用,FPGA,fpga开发,驱动开发

该界面可以看到工程文件配置信息报告,接下来点击【 Finish】完成工程的创建。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 可以在工程文件导航窗口中看到刚才新建的led工 程 , 如果需要修改器件的话 ,直接双击工程文件导航窗口中的 “Cyclone IVE:EP4CE10F17C8” 即可。

2.设计输入

创建工程顶层文件,在菜单栏中找到【 File】→【 New】
quartus ii怎么用,FPGA,fpga开发,驱动开发

由于使用Verilog HDL语言来作为工程的输入设计文件,所以在Design Files一栏中选择Verilog HDL File
quartus ii怎么用,FPGA,fpga开发,驱动开发

 然后会出现一个Verilog1.v文件的设计界面,用于输入Verilog代码

 quartus ii怎么用,FPGA,fpga开发,驱动开发

 接下来就可以编写代码了。以流水的代码为例如下:

quartus ii怎么用,FPGA,fpga开发,驱动开发

 然后保存源文件,将存放的路径修改为rtl文件夹下

quartus ii怎么用,FPGA,fpga开发,驱动开发

 quartus ii怎么用,FPGA,fpga开发,驱动开发

 可以在工程文件导航窗口File一栏中找到新建的led.v文件。

3.配置工程

在工程中,需要配置双用的管脚。首先在 Quartus软件的菜单栏中找到【 Assignments】→【 Device...】

quartus ii怎么用,FPGA,fpga开发,驱动开发

quartus ii怎么用,FPGA,fpga开发,驱动开发

该页面就是可以重新选择器件页面,然后点击【 Device and Pin Options】 按钮, 会弹出一个设置页面,在左侧Category一栏中选择Dual-Purpose Pin。对于需要使用EPCS器件的引脚时,需要将下图页面中所有的引脚都改成Use as regular IO,如果大家不确定工程中是否用到EPCS器件时,可以全部修改。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 该页面就是可以重新选择器件页面,然后点击【 Device and Pin Options】 按钮, 会弹出一个设置页面,在左侧Category一栏中选择Dual-Purpose Pin。对于需要使用EPCS器件的引脚时,需要将下图页面中所有的引脚都改成Use as regular IO,如果大家不确定工程中是否用到EPCS器件时,可以全部修改

3.分析与综合

为了验证代码是否正确,可以在工具栏中选择【 Analysis & Synthesis】图标来验证语法是否正确,也可以对整个工程进行一次全编译,即在工具栏中选择【 Start Compilation】图标, 不过全编译的时间耗时会比较长。 接下来我们对工程进行语法检查,点击工具栏中的【 Analysis & Synthesis】图标。

quartus ii怎么用,FPGA,fpga开发,驱动开发

在编译过程中如果没有出现语法错误,编译流程窗口【 Analysis & Synthesis】 前面会变成对勾,表示编译通过。

quartus ii怎么用,FPGA,fpga开发,驱动开发

4.分配引脚

 编译通过以后,接下来我们就需要对工程中输入、输出端口进行管脚分配。可以在菜单栏中点击【 Assignments】→【 Pin Planner】或者在工具栏中点击【 Pin Planner】的图标。

quartus ii怎么用,FPGA,fpga开发,驱动开发

如图

quartus ii怎么用,FPGA,fpga开发,驱动开发

 可以看到该界面出现了6个端口分别是4个LED、时钟和复位,可以参考原理图来对引脚进行分配

quartus ii怎么用,FPGA,fpga开发,驱动开发

FPGA_CLK连接FPGA的引脚E1和晶振, RESET连接FPGA的引脚M1和复位按键,所以在
对引脚进行分配时,输入的时钟sys_clk引脚分配到E1, sys_rst_n引脚分配到M1, LED的引脚
查看方法同理,如图

quartus ii怎么用,FPGA,fpga开发,驱动开发

 引脚分配完成后, 直接关闭引脚分配窗口, 软件会在工程所在位置生成一个.qsf文件用来存放引脚信息。

5.编译工程

分配完引脚之后, 需要对整个工程进行一次全编译,我们在工具栏中选择【 Start Compilation】 图标。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 编译完成后如下

quartus ii怎么用,FPGA,fpga开发,驱动开发

 左侧编译流程窗口全部显示打钩,说明工程编译通过, 右侧FlowSummary观察FPGA资源使用的情况。

6.程序的下载与固化

在工具栏上找到【 Programmer】按钮或者选择菜单栏【 Tools】→【 Programmer】,
quartus ii怎么用,FPGA,fpga开发,驱动开发

 点击上图页面中的【 Hardware Setup...】按钮,选择“ USB-Blaster”

quartus ii怎么用,FPGA,fpga开发,驱动开发

 然后点击Close按钮完成设置,接下来回到下载界面,点击【 ADD File...】按钮,添加用于下载程序的sof文件

quartus ii怎么用,FPGA,fpga开发,驱动开发

 找到“ output_files”下面的“ flow_led.sof”文件点击【 Open】即可。

 quartus ii怎么用,FPGA,fpga开发,驱动开发

 下载成功后如图所示。

下载.sof文件格式,开发板断电后程序将会丢失。如果想要程序断电不丢失的话,就必须将程序保存在开发板的片外Flash中, Flash的引脚是和FPGA固定的引脚相连接, FPGA会在上电后自动读取Flash中存储的程序,只需要通过JTAG下载jic文件即可。 jic文件不是软件自动生成的, 而是
需要手动的将sof文件转换成jic文件。在菜单栏【 File】→【 Convert Programming Files…】

首先修改“ programming file type”为【 JTAG Indirect ConfigurationFile (.jic)】;然后修改“ Configuration device”为【 EPCS16】 (开拓者开发板Flash型号为M25P16,完全兼容EPCS16);

quartus ii怎么用,FPGA,fpga开发,驱动开发

然后选中窗口中的“ Flash Loader”点击右边的【 Add Device..】按钮出现如图

quartus ii怎么用,FPGA,fpga开发,驱动开发

 选择开发板器件(这里我们开拓者开发板为Cyclone IV E EP4CE10)点击【 OK】按钮

quartus ii怎么用,FPGA,fpga开发,驱动开发

 然后选中“ SOF Data”,点击右边的按钮【 Add file….】,找到“ output_files”下面的“ flow_led.sof”文件点击【 Open】即可。

最后配置如图:

quartus ii怎么用,FPGA,fpga开发,驱动开发

 点击【 Generate】 按钮,如图

quartus ii怎么用,FPGA,fpga开发,驱动开发

所以 .jic文件就已经生成了,关闭“ Convert Programming File”页面。点击菜单栏【 Tools】下的【 Programmer】(如果下载界面关闭了的话),选中.sof文件, 点击左侧按钮【 Delete】 删去之前添加的sof文件。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 添加下载.jic文件,需要在【 Program/Configure】方框下面点击打勾

quartus ii怎么用,FPGA,fpga开发,驱动开发

 点击【 Start】,开始固化程序,当下载进度显示100%之后,即可固化成功。

如果需要擦除Flash中的程序的话, 可以通过勾选【 Erase】下面的方框来擦除程序。需要注意的是,如果已经勾选了【 Program/Configure】方框,是无法勾选【 Erase】方框的,所以先取消勾选【 Program/Configure】,然后再勾选【 Erase】。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 当点击勾选【 Erase】方框后,【Program/Configure】下面第一个方框也会自动勾选,这个时候点击【 Start】即可开始擦除程序。


 

二、SignalTap的使用

SignalTap II全称SignalTap II Logic Analyzer,是第二代系统级调试工具,可以捕获和显示实时信号,是一款功能强大且极具实用性的FPGA片上调试工具软件。SignalTap II可以选择要捕获的信号、捕获的触发方式以及捕获的数据样本深度,实时数据提供给工程师帮助debug。

在菜单栏中,点击【 Tool】→【 SignalTap II Logic Analyzer】,ru如图
quartus ii怎么用,FPGA,fpga开发,驱动开发

 从SignaTap II软件界面中我们可以看出,它主要有例化管理器、 JTAG链配置、 信号配置、数据日志、分层显示、节点列表和触发条件组成。

添加需要观察的信号, 双击节点列表和触发条件的空白区域。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 点击【 List】按钮,此时Nodes Found一栏就会出现工程代码中的信号,然后将counter、sys_rst_n和led添加至右侧一栏中,添加方法是直接双击左侧一栏的信号名,如果需要删除的话,可以直接双击右侧一栏的信号名, 接下来我们点击【 insert】按钮。

quartus ii怎么用,FPGA,fpga开发,驱动开发

如果发现添加的信号变成了红色,或者有些reg与wire定义的信号可以观察,有些不可以, 这是因为reg与wire被Quartus软件优化掉了,导致无法使用SignalTap观察。

方法1:将reg与wire信号改成输出端口信号, 但这种方式较为繁琐

方法2:在待观察的wire信号旁边加上/*synthesis keep*/; 对于reg信号则加/*synthesis noprune*/

在信号配置页面中,添加采样时钟

quartus ii怎么用,FPGA,fpga开发,驱动开发

 这个页面和添加待观察信号的页面一样, 将系统时钟( sys_clk) 作为采样数据的时钟添加至Selected Nodes一栏中, 然后点击【 OK】 按钮。

接下来需要设置采样的深度,信号配置页面Sample depth一栏中将采样深度设置为2K, 这里采样深度的值越大, 所能观察信号的时间范围也就越长,但同时所消耗的FPGA RAM资源也就越大。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 保存分析文件,点击SignalTap软件菜单栏的【 File】→【 Save】。将分析文件保存在工程所在路径par文件夹下, 然后点击【 保存】 按钮。 接下来会弹出是否将分析文件添加至工程的页面, 直接点击【 YES】。

返回到Quartus软件界面, 在工程文件导航窗口可以看到File一栏多了一个stp1.stp文件,这个文件就是刚才添加至工程中的分析文件。

quartus ii怎么用,FPGA,fpga开发,驱动开发

接下来需要对工程进行全编译, 全编译的工具栏图标, 开始编译工程。工程编译完成后,连接开发板,回到SignalTap软件界面。

quartus ii怎么用,FPGA,fpga开发,驱动开发

在JTAG链配置窗口中点击【 Setup】找到USB-Blaster[USB-0]。

SignalTap软件也是可以给开发板下载程序的,同样也是在JTAG链配置页面的SOF Manager一栏中,点击【 ...】 按钮,选择工程所在路径output_files文件夹下的led.sof,选中后点击Open按钮。

quartus ii怎么用,FPGA,fpga开发,驱动开发

 下载程序按钮下载程序,程序下载完后,点击SignalTap软件工具栏中的开始分析图标。

quartus ii怎么用,FPGA,fpga开发,驱动开发

第一个图标表示只运行一次; 第二个图标表示自动运行, 会一直刷新采样的波形; 第三个图标表示停止运行。点击第一个开始运行图标即可采集到数据。

可以通过点击和右击波形图的方式进行放大和缩小,数据默认是以16进制显示的, 为了方便观察数据,我们将格式改成无符号的十进制。操作方式是选中counter信号名,右击选择【 Bus Display Format】 →【 Unsigned Decimal】

quartus ii怎么用,FPGA,fpga开发,驱动开发

SignalTap软件支持通过设置触发方式来采集波形, 在SignalTap信号列表Setup一栏中,
右击sys_rst_n信号的Trigger Conditions方框内的图标

quartus ii怎么用,FPGA,fpga开发,驱动开发

 Don’t Care表示不关心,即不设置触发方式; Low表示低电平触发; Falling Edge表示下降沿触发; Rising Edge表示上升沿触发; High表示高电平触发; Either Edge表示双沿触发。

小结

Quartus软件的使用流程:

quartus ii怎么用,FPGA,fpga开发,驱动开发

 首先打开Quartus软件, 然后新建一个工程,在新建工程的时候,可以通过创建工程向导的方式来创建工程;工程建立完成后,需要新建一个Verilog顶层文件, 然后将设计的代码输入到新建的Verilog顶层文件中,并对工程进行配置;接下来就可以对设计文件进行分析与综合了, 此时Quartus软件会检查代码,如果代码出现语法错误,那么 Quartus软件将会给出相关错误提示,如果代码语法正确, Quartus软件将会显示编译完成;工程编译完成后,还需要给工程分配引脚,引脚分配完成后, 接下来就开始编译整个工程了;在编译过程中, Quartus软件会重新检查代码,如果代码及其它配置都正确后,Quartus软件会生成一个用于下载至FPGA芯片的.sof文件。 最后,通过下载工具将编译生成的.sof文件下载至开发板,完成整个开发流程。
 文章来源地址https://www.toymoban.com/news/detail-818891.html

到了这里,关于Quartus ii 软件的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA学习笔记 1 -- Quartus软件的使用

    打开软件→新建工程→设计输入(verilog代码)→配置工程(I/O引脚复用)→分析与综合(对设计输入进行分析,检查是否有语法错误)→分配引脚(根据原理图分配)→编译工程(生成sof文件)→下载程序 或 找到工程路劲下的.qsf文件,直接添加或修改引脚 或 创建一个tcl文

    2024年02月12日
    浏览(36)
  • 基于Quartus II的fpga设计流程

    本文仅用于记录与学习。参考 串口(UART)的FPGA实现(含源码工程) 逻辑综合(logic synthesis)入门指南 quartusII关于时钟约束 FPGA内部硬件结构简介 如有侵权,联系删除 指用Verilog或VHDL语言实现的一个单元模块。在这个单元模块中,通过实例化将待验证设计(DUV)作为一个子模块

    2024年02月05日
    浏览(53)
  • FPGA之Quartus II 自带的IP核的使用(IP核仅自己学习,未完成)

    1、锁相环:       锁相环是对接收到的信号进行处理,并从其中提取某个时钟的相位信息。锁相环由鉴相器、环路滤波器和压控振荡器组成。  锁相环原理图 鉴相器:         用来鉴别输入信号输入信号Ui与输出信号输出信号Uo之间的相位差相位差,并输出误差电压Ud。Ud

    2023年04月09日
    浏览(49)
  • Quartus II Altera FPGA设置默认打开工程文件路径

    刚用Quartus II没多久,每次打开工程,Quartus II都是打开Quartus II默认打开工程文件路径,不是自已存放工程的文件路径,网上搜设置方法,教程很少,现在把我找到的方法分享给大家。 1:打开软件,在软件菜单栏选择“Tools”,如下图所示: 2:展开“Tools”菜单栏,选择“optio

    2024年02月07日
    浏览(67)
  • FPGA学习任意波函数信号发生器的设计(基于quartus II13.0)

    平台: quartus II 13.0 仿真:signal tap II 语言:VHDL 方式:原理图bdf输入 芯片:Cyclone IV E: EP4CE6E22C8 设计一任意波函数信号发生器,具备以下两功能: ①能输出标准正弦波波形。 ②能输出任意函数波形。 首先明确实验用到的宏模块操作是在tool——MeGaWizard Plug-In Manager中(如下图)

    2024年02月03日
    浏览(46)
  • FPGA-Quartus II 13.1画逻辑门电路图的详细步骤

            作为学习FPGA的小白一枚,总是在看论文的时候发现大牛们的内容中包含逻辑设计图也就是门电路的截图,而我自己在学习的时候看正点原子或者野火视频的时候没有发现这一部分(也有可能有,但我没全部看完系列视频,所以也就没发现),就上网搜索了这一部

    2024年02月12日
    浏览(90)
  • FPGA—基于Quartus软件设计全加器

    本篇博客主要是基于Quartus软件件完成一个1位全加器的设计,分别采用:1)原理图输入 以及 2)Verilog编程 这两种设计方法。开发板基于Intel DE2-115。 1、半加器 1、定义: 半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路。 2、真值表: A,B表示

    2024年02月06日
    浏览(44)
  • 全定制FPGA硬件电路设计实现最大公约数求取算法(Quartus II)

    目录 一、设计需求 二、设计工具及版本 三、设计原理及结构方案 四、电路设计描述 1. 32位D触发器 2. 32位多路选择器 3. 32位减法器 4. 32位求余电路 5. GCDOUT信号产生电路 6. DONE_L信号产生电路 五、仿真激励设计方案及电路仿真结构 六、设计总结 当前,FPGA设计在很多场合得到

    2024年02月20日
    浏览(49)
  • Quartus ii 软件的使用

    选择一个路径作为工程存放位置,然后在工程文件夹创建4个子文件夹,分别命名为: doc、par、rtl和sim。 doc文件夹用于存放项目相关的文档, par文件夹用于存放Quartus软件的工程文件,rtl文件夹用于存放源代码, sim文件夹用于存放项目的仿真文件 。 打开Quartus ii 软件,在菜单

    2024年01月23日
    浏览(39)
  • 一、Quartus II软件的使用

    使用流程图总结图:  选择【 File】→【 New Project Wizard…】来新建一个工程  【 File】→【 New】  输入代码:  代码保存到rtl目录 【 Assignments】→【 Device...】 【 Analysis Synthesis】进行语法检查编译  根据原理图配好下面管脚 这里下载的程序是.sof文件格式,开发板断电后程序

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包