Quartus II FPGA烧写教程
在Quartus II中使用JTAG模式固化程序到EPCS中的方法.[Quartus II]范例
流水灯
图1 流水灯范例
实现步骤
步骤1:
在Quartus II中,单击File->Convert Programming Files..。
打开编程文件转换程序,如图2所示。
图2 编程文件转换程序界面
在此界面中。
在Programming file type:标签后选择JTAG Indirect Configuration File (.jjc);在C onfiguration device:标签后选择你所使用的EPCS型号,此外我选择EPCS4。
在Input file to conv ert方框中,单击Flash Leader,再单击Add Device..,如图3一样选择EP2C8(请根据自己的FPG A型号自行选择);单击SOF Data,再单击Add File..,选择Quartus II编译后的sof文件。
配置完成界面如图4所示。
图3 Add Device
图4 配置完成界面
单击Generate,开始生成jjc文件。
成功界面如图5。
图5 成功界面
关闭Convert Programming Files界面,进入下一步骤。
步骤2:
在Quartus II中,单击Tools->Programmer,进入下载界面,如图6所示。
图6 下载界面
在此界面,单击Hardware Setup,选择下载线缆。
双击选择Usb-Blaster,如图7所示。
图7 选择Usb-Blaster
回到下载界面,单击led_water.sof,再单击Change File..,选择刚才转换的output_file.jjc。
添加完成后,安装图8所示勾选选项,选择jjc文件。
图8 选择jjc文件
单击Start,开始下载。
下载完成后,请点击复位键或者重启开发板,就会看见固化的程序了。
友情提示:EPCS擦写次数有限(请自行查询),请尽量采用JTAG模式下载sof文件测试程序。
FPGA烧写的方式和具体过程分析
FPGA烧写的方式和具体过程分析做了三年四个项目最近才第一次需要深入的搞一下FPGA 烧写。
在这里简单总结一下FPGA烧写的具体过程和玩的花样大家常用的办法对于大部分人来说,至少入门时会用到的烧写方式就两种:① 通过JTAG直接将bitsteam 烧录到FPGA。
断电后信息丢失。
这种方式多用于发开调试阶段,板子一直连着电脑。
通过ISE 或者 Vivado (2020年开始估计还有Vitis)使用JTAG接口烧录。
② 在设计release以后,到产品上一般都是把配置文件通过IDE工具保存存在Nor Flash里。
上电后自动编程FPGA。
较为进阶的一种方法通常情况下这两种方式也就可以满足大部分需求了。
开发调试直接JTAG。
产品出货前,配置文件通过JTAG接口,用VIVADO或者SDK等工具烧进Flash。
之后把接口封起来。
产品需要更新的时候,派技术支持去,重新打开接口,插上JTAG,把新的配置文件烧入Flash。
但是这次项目是个小型手持测量设备,JTAG接口只有在设备拆散状态下通过扩展板才能使用。
组装好后FPGA只能通过Flash来编程。
由于是个精密仪器,每次拆开再组装,整个设备都需要重新校准,非常费事费力。
组装后更新Flash里面的配置文件只能用别的办法了。
这种情况下常用的方法是通过一个和外界有通信能力的微控制器将image发送给FPGA,再由FPGA写入Flash。
这种remote update Xilinx提供了一种解决方案,相对应的ApplicaTIon Note 是:QuickBoot Method for FPGA DesignRemote Update (文档号码XAPP1081)采用这种方案的前提是理解FPGA通过Flash配置的细节,所以以7系FPGA为例先需要看一下这个文档:7 Series FPGAsConfiguraTIon (UG470)主要是看第五章:Chapter 5 ConfiguraTIon DetailsXilinx 远程烧录FPGA方法远程烧录一般是为了设备出厂以后还需对FPGA进行更新或者升级。
FPGA烧录步骤(Quartus II)
下载SOF文件程序到FPGA
Step1
安装相应的驱动,点击Programmer按钮,点击Hardware Setup按钮,选择下载口。
Step2
在Programmer界面点击Auto Detect按钮,选择配置芯片。
双击none文件,选择要烧录的sof文件。
勾选Program/Configure选项,点击Start按钮,下载SOF文件到FPGA。
固化程序
Step1
点击Flie,选择Convert Programming File选项,在Programming file type选项中选择jic文件格式。
Step2
在Configuration Device选项中选择配置芯片。
Step3
在File name选项中更改生成的jic文件名称以及存放的位置。
Step4
在Input files to convert栏中,点击选择Flash Loader,点击Add Device按钮,选择Flash Loader 的芯片,点击SOF Data,选择相应的SOF文件。
点击Generate按钮,生成jic文件。
Step5
回到Programmer界面,点击Add File按钮,选择相应的jic文件。
Step6
删除sof格式的文件(通常情况下在第一行),在名称含有jic的文件选项中,勾选以下几个选项:Program/configure,Verify,Blank-Check。
勾选Program/configure时其他文件的该选项也会自动勾选。
Step7
点击Start按钮,进行程序固化。
By Shawn。
FPGA烧录步骤(Quartus II)
下载SOF文件程序到FPGA
Step1
安装相应的驱动,点击Programmer按钮,点击Hardware Setup按钮,选择下载口。
Step2
在Programmer界面点击Auto Detect按钮,选择配置芯片。
双击none文件,选择要烧录的sof文件。
勾选Program/Configure选项,点击Start按钮,下载SOF文件到FPGA。
固化程序
Step1
点击Flie,选择Convert Programming File选项,在Programming file type选项中选择jic文件格式。
Step2
在Configuration Device选项中选择配置芯片。
Step3
在File name选项中更改生成的jic文件名称以及存放的位置。
Step4
在Input files to convert栏中,点击选择Flash Loader,点击Add Device按钮,选择Flash Loader 的芯片,点击SOF Data,选择相应的SOF文件。
点击Generate按钮,生成jic文件。
Step5
回到Programmer界面,点击Add File按钮,选择相应的jic文件。
Step6
删除sof格式的文件(通常情况下在第一行),在名称含有jic的文件选项中,勾选以下几个选项:Program/configure,Verify,Blank-Check。
勾选Program/configure时其他文件的该选项也会自动勾选。
Step7
点击Start按钮,进行程序固化。
By Shawn。
FPGA创建工程及烧录程序简单教程
FPGA创建工程及烧录程序简单教程(适用于IntelCycloneII EP2C35F672C8N)1.双击应用程序2.创建一个新工程(文件夹、工程名、文件名及文件路径中都不要带中文)最后finish,工程就建好了3.创建文件点击file~>new~>Design Files~>VHDL File或Verilog HDL File,然后请开始你的表演!(编写程序)(VHDL文件名应与工程名一致4.引脚编辑引脚如何编辑在FPGA自带的光盘中有提及,请在其中寻找并编辑。
(在光盘文件中也有流水灯的引脚文件waterled.qsf,找到并替换工程文件夹下的qsf文件即可实现引脚编辑)这时打开Quartus II 的Pin Planner可以看见引脚分配5.调试程序程序调试成功后会产生waterled.sof与waterled.qof文件6.烧录程序到软件中在烧录程序时应将电源线与USB-blaster如图示插入并打开电源。
打开Programmer后,应如下图所示6.(1)如果未自动弹出hardware,点开Hardware Setup,双击USB-Blaster,然后Close即可。
6.(2)如果没有USB-Blaster,可能是因为没有安装驱动程序右键安装或更新驱动程序文件路径不尽相同,Quartus II 安装在哪个盘就去哪个盘里面找在解决了驱动的问题后我们继续烧录程序Add Device:双击下图箭头位置添加文件(之前调试产生的waterled.sof文件):箭头位置的Program Configure一定要选上!!!然后点击Start,烧录程序烧录成功!!!!!。
Quartus II 9.1 使用教程 ALTERA FPGA 入门教程
添加脚本文件到工程
查看管脚是否指定成功(此过程可以忽略) 路径:Assignments->Pins
重新编译
用JTAG模式,直接下载程序到FPGA运行 掉电后程序不保存
掉电存储方式 将程序下载到EPCS存储芯片
见 “使用JTAG下载EPCS器件的方法.pdf”
tcl脚本文件tcl脚本文件?指定系统时钟输入管脚从l1输入?setlocationassignmentpinl1tosysclk?指定复位信号输入管脚从u12输入?setlocationassignmentpinu12torstn??指定led灯闪动信号从d15e14c14d14输出?setlocationassignmentpind15toled0?setlocationassignmentpine14toled1?setlocationassignmentpinc14toled2?setlocationassignmentpind14toled3?点亮led灯设计流程点亮led灯设计流程?打开quartusii软件?新建工程文件?编辑led灯hdl文件?添加tcl脚本文件?编译程序?用jtag直接下载到fpga运行?用jtag下载到epcs运行新建工程文件新建工程文件输入工程名输入工程名选择目标板fpga型号选择目标板fpga型号选择filenewvhdlfile新建hdl文件选择filenewvhdlfile新建hdl文件编辑文本并作必要注释跟工程文件保存同一文件夹编辑文本并作必要注释跟工程文件保存同一文件夹编译工程编译工程代码有错编译器提示错误代码有错编译器提示错误修改错误图示
广州邦讯信息系统有限公司 FPGA培训教程
liuts 2011-8
Quartus II 9.1 使用教程
将Quartus程序和Nios程序同时烧写到FPGA的FLASH中
笔者使用的FPGA硬件平台:不同的平台,只是某些步骤的顺序或者软件的界面不一样罢了,笔者也是看着网络中的各种各样资料走过来的,究其本质所有的设置参数都是通用的,好了不多说,开始介绍怎样把Quartus的程序和Nios的程序同时都下载到FLASH中达到掉电不失,上电自动运行。
1.首先是创建一个工程,选好器件型号,不多说。
(注:工程的路径不要包含中文和空格,同时工程不要创建在桌面后面的flash programmer 不识别桌面工程)2.新建一个block 文件,并立即save as ,文件名不需要改。
3.Tools -> SOPC Builder ,选好型号并设置CPU的工作时钟(输入时钟)。
4.Processor -> Nios II Processor,创建自己的一个Nios II 核。
Nios II/e 经济型最慢最省空间Nios II/s 标准型标准标准Nios II/f 快速性最快最费空间(如果选择此类,需将cache关闭)选好类型之后,即可直接finish5.程序运行都需要memory,而笔者使用的为核心板上的外部ram,且一般情况下on_chip_memory的大小太小不足以跑中大型Nios系统。
Memories and Memory Controllers -> SDRAM -> SDRAM Controller,将数据线改为16,其余不变。
6.因为我们下载程序的过程是,先在FPGA上烧写一个Nios核,然后通过Nios核将quartus和nios工程一次性烧写到flash中去。
所以我们构造的Nios核必然要包含一个CFI控制器。
Memories and Memory Controllers -> Flash -> EPCS Serial Flash Controller,直接finish。
7.为了让程序便于调试,我们再添加一个JTAG串口。
Interface Protocols -> Serial -> JTAG UART,直接finish。
FPGA入门及QuartusII使用教程(内部资料)
FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。
可以这样讲,ASIC(内部的所有资源,是Application Specific Integrated Circuit )用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。
并且可以通过软件仿真,我们可以事先验证设计的正确性。
第一章 FPGA的基本开发流程下面我们基于Altera 公司的QuantusII 软件来说明FPGA 的开发流程。
下图是一个典型的基于Quartus II的FPGA开发整体流程框图。
1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管理。
2、建立顶层图。
可以这样理解,顶层图是一个容器,将整个工程的各个模块包容在里边,编译的时候就将这些模块整合在一起。
也可以理解为它是一个大元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样的大元件。
3、采用ALTERA公司提供的LPM功能模块。
Quartus软件环境包含了大量的常用功能模块,比如计数器、累加器、比较器等等。
4、自己建立模块。
由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。
使用硬件描述语言,当然也可以用原理图的输入方法,可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol),类似于那些LPM功能模块。
这里可以理解为,如果我们需求的滤波器,没有现成的合适的,那我们可以通过LC自己来搭建一个滤波器。
5、将顶层图的各个功能模块连线起来。
FPGA程序烧写手册
FPGA程序烧写手册李贵鹏,2012.2.4一、程序的安装注意事项先安装80_quartus_windows,再安装80_nios2eds_windows。
安装需要注意:安装路径和工程路径都不能有空格和中文路径。
破解:打开Crack_QII8.0文件夹。
Step 1:Patch sys_cpt.dll执行QuartusII80_patch.exe,按下[应用补丁]。
若程式出现乱码別在意,此为简体中文,在繁体Windows下会有乱码属正常,若你在乎乱码,请下载微软的AppLocale解決。
Step 2:开启sys_cpt.dllsys_cpt.dll预设会放在C:\altera\80\quartus\bin\下储存license.DAT將license.DAT储存到c:\altera\80\下Step 4:修改license.DAT的HOSTID用记事本开启c:\altera\80\license.DAT,將HOSTID=xxxxxxxxxxxx,改成你的网络卡的physical address,注意不含dash(-),仅含数字和英文字母,修改后存档。
如何得知网络卡的physical address?开始->所有程序->附件->命令提示符输入ipconfig/all,出下以下讯息,红色部分即为physical address(每台电脑不同)。
#把license.dat里的XXXXXXXXXXXX 用您老的网卡号替换(在Quartus II 8.0的Tools菜单下选择License Setup,下面就有NIC ID)检查Quartus II 8.0是否破解成功执行Quartus II,如出現以下画面,表示尚未设定license,选Specify valid license file。
若沒出现此画面,进入Quartus II后,请自行选择Tool->License Setup指定你的License File(license.DAT)位置,必須出现下方紅色圆圈的內容才表示设定成功。
Quartus II软件使用流程详解
Quartus II使用流程详解不久前学习了Quartus II软件,感觉过程还是比较繁杂的,所以详细整理了一下。
这里先理一下软件的使用大致流程。
Quartus II使用流程图下面进入正题,首先打开软件创建工程,这里我们以Quartus II 13.0为例。
首先点击:File->New Project Wizard,可以看到下图中的界面。
这是一个工程创建向导,按照上述五个步骤完成工程创建。
点击Next >进入下一步,如下图所示;输入工程路径、工程名称以及顶层设计文件名称,注意不要使用中文路径。
这里可以添加一些文件,没有的话直接跳过,点击Next >;上图中是选择器件,对应好自己所使用的FPGA的型号,选择后点击Next;击Next >后,可以看到一个汇总的页面如下图,前面所以的设置都能看到。
接下来,工程创建完成了,进入设计环境如下图。
此时,工程还是一个空的,需要添加Verilog代码文件,点击File -> New,如下图所示,可以看到很多文件类型,这里选择Verilog HDL File,下面进入代码编辑窗口,如下图所示。
开始编写代码,这里写了一个简单的点亮Led的程序,如下图所示。
保存文件,双击左下角的Compile Design或者点击菜单栏的三角图标进行工程编译。
工程编译完成后,可以看到编译成功提示,下面进行管脚分配设置。
管脚分配的方法有两种:手动分配和TCL脚本文件分配,下面依次介绍这两种方法。
首先,我们介绍手动分配,点击Assignments -> Pin Planner,可以看到下图界面。
在location栏进行管脚分配,这里需查阅所使用的电路板的原理图,确认管脚号,再进行分配,分配完成后如下图所示。
关闭窗口,再次编译工程即可。
下面来介绍另外一种方法,使用Tcl文件进行管脚分配。
点击Project -> Generate Tcl File for Project…如下图所示,点击OK生成Tcl文件。
USB口烧写器烧写FPGA步骤
USB口烧写器烧写FPGA步骤
一、创建编程文件:
1、启动impact
2、选中create a new project后点击ok
3、选中Prepare a PROM File后点击Next
4、指定将要生成的编程的路径及编程文件名后点击Next
5、选择PROM类型
6、点击Add按钮后点击Next
7、在弹出的对话框中点击Finish
8、点击ok
9、选择由ISE生成的可编程文件.bit的路径并加载
10、选择No
11、点击Ok
12、点击Generate File
二、链接FPGA电路
1、重新启动impact
2、选中create a new project
3、点击Finish
4、扫描FPGA器件
5、选择impact生成的.mcs文件的路径及其文件名后点击Open
6、点击Cancel
7、选中左侧图标,右键点击program
8、点击Ok
9、执行烧写
10、烧写失败
三、更改烧写配置后重新烧写
1、执行上述烧写步骤(二),直到加载.mcs文件后,更改烧写配置:选择Ouput工具栏下的Cable Setup选项
2、选择1.5MHz选项后点击Ok
3、再次执行编程操作
4、点击Ok
5、执行烧写
6、烧写成功
7、关闭impact选择No不保存烧写过程中创建的工程。
