verilog学习笔记- 1)Quartus软件的使用

目录

新建工程:

设计输入:

配置工程:

编译 :

分配引脚:

编译工程:

下载程序:

固化程序 :


在开始使用 Quartus 软件之前,我们先来了解一下 Quartus 软件的使用流程:

新建工程:

在创建工程之前,我们建议大家在硬盘中新建一个文件夹用于存放自己的 Quartus 工程,这个工程目录 的路径名应该只有字母、数字和下划线,以字母为首字符,且不要包含中文和其它符号。

接下来启动 Quartus II 软件

在菜单栏上选择【File】→【New Project Wizard„】来新建一个工程

接下来我们可以单击上图页面下面的【Next>】

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

 ​​​​

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

这里我们要根据实际所用的 FPGA 型号来选择目标器件,由于我们新起点 FPGA 开发板主芯片是 Cyclone IV E 系列的“EP4CE10F17C8”,所以在 Device Family 一栏中选择―Cyclone IV E‖。 Cyclone IV E 系列的产品型号较多,为了方便我们在 Available device 一栏中快速找到我们开发板的芯片型号,我们在Package 一栏中选择 FBGA 封装,Pin Count 选择 256 引脚,Speed grade 速度等级一栏中选择 8,之后在可 选择的器件中只能看见四个符合要求的芯片型号了,选中―EP4CE10F17C8‖,接着我们再单击【Next】按钮

 在“EDA Tool Settings”页面中,我们可以设置工程各个开发环节中需要用到的第三 方 EDA 工具,比如:仿真工具 Modelsim、综合工具 Synplify。由于本实例着重介绍 Quartus II 软件,并没 有使用任何的 EDA 工具,所以此页面保持默认不添加第三方 EDA 工具,直接单击【Next>】

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


设计输入:

下面我们就来创建工程顶层文件,我们在菜单栏中找到【File】→【New】

在 Design Files 一栏中选择 Verilog HDL File,然后点击【OK】按钮

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

代码编写完成后,在软件中显示的界面如图

接下来我们保存编辑完成后的代码,按快捷键【Ctrl】+【S】或选择【File】→【Save】

在上图的界面中,点击【保存】按钮即可保存代码文件,然后我们可以在工程文件导航窗口 File 一栏 中找到新建的文件

设计输入除了像上述直接创建新文件之外还可以把事先写好的源文件直接加载进工程里这里在加载源文件之前大家一定要把源文件拷贝到工程的 rtl 文件夹下(.V 文件放到 rtl 文件夹里)然后在加载到工程 里去,有些粗心的同学在移植源文件的时候源文件并没有拷贝到工程文件夹里,虽然功能也能正常执行, 但是当你将工程拷贝到另一台电脑的时候就会发现报路径错误,所以大家在移植源文件时一定要记得把文 件拷贝到工程文件夹下。下面来给大家演示以下如何把源文件添加到工程里去,这里我们还拿流水灯为例, 先把刚刚已经创建好的流水灯工程的源文件从工程中移除,如下图所示:

移除后,我们的流水灯工程就又是一个空壳工程了,但是大家需要注意,把文件从工程中移除并不意 味着删除文件,我们刚刚移除的流水灯代码源文件虽然不在工程中了,但是它依保存在我们之前创建好的 rtl 文件夹里。现在我们再把刚刚删除的源文件添加回工程如下图所示:

如上图所示我们先点击工具栏的“Project”再点击“Add/Remove Files in Project”打开添加文件选择窗 口,如下图所示:

如上图所示先点击“…”弹出文件选择窗口,找到要添加的文件,选中它后点击“打开”,这样就选 中了我们要添加的文件了,接下来我们把文件加载到工程去,如下图所示:

按照上图标号 1、2、3 的步骤就可以把文件加载到工程里了,加载好后我们回到 Quartus 的“Files”窗 口,可以看到刚刚移除的源文件又回来了,如下图所示:

到这里文件的移除和加载就跟大家演示完了,不仅仅.V 源文件可以这么加载,其他类型的文件也是同 样的步骤去移除或加载


配置工程:

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

 ​​​​​

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

修改完成后,点击【OK】按钮完成设置 


编译 :

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

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

最后,我们可以查看打印窗口的“Processing”里的信息,如图 4.3.27 所示。包括各种“Warning”和 “Error”。“Error”是必须要关心的,“Error”意味着代码有错误,后续的编译将无法继续,如果出现错 误,可以双击错误信息,此时编辑器会定位到语法错误的位置,修改完成后,重新开始编译;而“Warning” 则不一定是致命的,有些潜在的问题可以从“Warning”中寻找,如果一些“Warning”信息对设计没有什么 影响,也可以忽略它。信息提示窗口界面如下图所示


分配引脚:

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

引脚分配界面如图

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

 直接输入 M2 接下来按下回车键

引脚分配完成后,直接关闭引脚分配窗口,软件会在工程所在位置生成一个.qsf 文件用来存放引脚信息。 当然我们也可以生成一个 TCL 文件,这样下次在使用的时候就可以直接运行 TCL 文件自动分配引脚。

先点击“Project”然后选择“Add/Remove Files in Project”,随后弹出如下图所示界面

在上图界面中点击“…”然后弹出选择文件窗口如下图所示:

在上图的窗口中找到我们存放 TCL 的路径(大家可以把 TCL 文件从资料盘中拷贝出来放到自己的工程 文件夹中,注意我们提供的 TCL 文件是包含所有例程的引脚分配的,大家使用单个例程时要把其他多余的 引脚删除掉),找到事先写好的 TCL 文件,选中它并把它加入到工程,如下图所示:

 按上图所示步骤添加完 TCL 文件后我们就可以运行它了,如下图所示:

按照上图所示的步骤操作完后会出现 TCL 文件运行窗口如下图所示:

 

 如上图所示选中我们添加的 TCL 文件,然后点击“Run”。这样我们的引脚就自动分配好了,这里要 注意代码中的端口名和 TCL 文件中定义的是否一致,尤其要注意大小写。


 编译工程:

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

编译完成后的界面如图


 下载程序:

 编译完成后,我们就可以给开发板下载程序,来验证我们的程序能否正常运行。图 4.3.40 为新起点硬 件连接图。首先我们将 USB Blaster 下载器一端连接电脑,另一端与开发板上的 JTAG 接口相连接;然后连 接开发板电源线,并打开电源开关

接下来我们在工具栏上找到【Programmer】按钮或者选择菜单栏【Tools】→【Programmer】,操作界 面如图

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

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

下载程序时,我们可以在 Process 一栏中观察下载进度,程序下载完成后,可以看到下载进度为 100%


固化程序 :

这里下载的程序是.sof 文件格式,开发板断电后程序将会丢失。如果我们想要程序断电不丢失的话,就 必须将程序保存在开发板的片外 Flash 中,Flash 的引脚是和 FPGA 固定的引脚相连接,FPGA 会在上电后 自动读取 Flash 中存储的程序,这个过程不需要我们编写驱动代码和人为干预,只需要通过 JTAG 下载 jic 文件即可。需要注意的是,jic 文件不是软件自动生成的,而是需要我们手动的将 sof 文件转换成 jic 文件。 首先在 Quartsu 软件的菜单栏【File】→【Convert Programming Files„】,操作界面如图

首先修改“programming file type”为【JTAG Indirect ConfigurationFile (.jic)】;然后修改“Configuration device”为【EPCS16】 然后选中窗口中的“Flash Loader”点击右边的【Add Device..】按钮出现如图

选择开发板器件(这里我们新起点开发板为 Cyclone IV E EP4CE10)点击【OK】按钮。然后选中“SOF Data”,点击右边的按钮【Add file„.】

找到“output_files”下面的“flow_led.sof”文件点击【Open】即可。最后完成所有设置界面

点击【Generate】按钮

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

点击左边的【Add File..】找到“output_files”文件下的“output_file.jic” 

 添加完成后发现【start】不能点击,需要在【Program/Configure】方框下面点击打勾

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

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

物联沃分享整理
物联沃-IOTWORD物联网 » verilog学习笔记- 1)Quartus软件的使用

发表评论