使用主动串行配置模式对Cyclone FPGA进行配置前,必须将配置文件写入串行配置器件EPCS。将配置文件写入EPCS的方法有三种:

(1)在Quartus II的Programmer中,通过专门与EPCS连接的AS下载接口下载.pof文件到EPCS。不同之处在于将下载线连接到AS接口而不是JTAG接口,选择编程文件时是*.pof而不是*.sof。

(2)在Quartus II的Programmer中,使用JTAG接口通过FPGA中间通道间接对EPCS进行编程。

(3)使用Nios II IDE中的Flash Programmer对EPCS进行编程。

这里要讲的第一种,是常见的AS方法:

首先就是编译好一个文件以后,就会自动生成.POF和.SOF 的文件,SOF 当然就是给FPGA SRAM 调试用的,POF 就是给AS 下载用的,

打开我们的下载对话框,

esp01sAT模式接线_esp01sAT模式接线

选择下载模式

esp01sAT模式接线_ios_02

提示一些器件会丢失,因为我们常用的JTAG 模式下面的器件会找不到,因此我们直接确定

esp01sAT模式接线_选择器_03

接下来我们就天剑POF 文件

esp01sAT模式接线_ios_04

选中 编程,校验,就可以点击开始下载了!

esp01sAT模式接线_配置文件_05

下面讲解一种JTAG 模式下面的配置方法,转换生成一个JIC (JTAG Indirect Configuration File )

在Quartu s II 界面选择File > C o nv ert Program mi ng Files,对 SOF 和POF 文件进行转换,
生成各种格式的文件。将SOF 配置文件转换为JIC 文件的步骤如下(参见图):

(1)  在Quartu s II 界面中选择File >  Co nv ert Progra mmi ng Files ,打开Convert Programming Files 对话框,参照下图,从Programmi ng file ty pe 下拉列表框中选择编程文件的类型为JTAG Indirect Configuration File (.jic)。

(2)  在Configuration d e vi ce 下拉列表框中根据实际设计选择被编程目标器件,对于EP1C3 选择EPCS1 ;EP1C12选择EPCS4 。

(3)  在File name 文本框中,输入或浏览选择JIC 文件名和存放路径。

(4)  在Input files to convert 栏中单击Flash Loader,使其高亮。

(5)  单击   add device  打开Select Device (选择器件)  对话框,如图所示。

(6)  参照图中选择器件类型和型号。例如器件类型选择Cyclone。

(7)  器件型号选择EPlC3 ,然后单击OK,关闭选择器件对话框。

esp01sAT模式接线_esp01sAT模式接线_06

esp01sAT模式接线_选择器_07

选择器件

(8)  参照图,在Input files to convert 栏中单击SOF Data ,使其高亮。

(9)  单击Add File 打开Select Input File (选择输入文件)对话框。

(10)   在该对话框中选择要进行转换的SOF 文件,然后单击打开按钮。

esp01sAT模式接线_选择器_08

esp01sAT模式接线_ios_09

(11)   选择完输入文件后,会在SOF Data 下面出现要被转换的输入SOF 文件,如图所示。单击SOF Data 下的输入SOF 文件使其高亮。

(12)   参照图,单击Properties打开SOF File Properties (SOF 文件属性)  对话框。(注意SOF选中的时候,才能打开Properties)

esp01sAT模式接线_esp01sAT模式接线_10

esp01sAT模式接线_esp01sAT模式接线_11

通过上面的步骤,即可完成SOF 文件到JIC 文件的转换。转换后的JIC 文件存放到用户指定的路径。 

下面我们就 使用JlC 文件和Quartus II Pr ogrammer 对EPCS 编程在第1) 步中已经将SOF 文件转换成JIC 文件。现在可以利用JIC 文件和Quartu s II 
Programme r 对串行配置器件EPCS 进行编程。步骤如下:

(1)  打开Programme r,选中JTAG模式,确保硬件(下载电缆)已安装,添加要进行编程,

(2)  参照下图,选中图中的Program/Configure 下的两个复选框;注意,如果有打开的SOF文件,在JTAG 烧写JIC 的时候,需要先删除掉,

(3)  单击户St a rt 开始编程,等待编程完成。

以上的编程过程要确保目标系统的电源打开、下载电缆的连接良好。

esp01sAT模式接线_配置文件_12

利用JTAG配置EPCS芯片的方法

可以不用AS接口,而用JTAG接口配置EPCS器件,具体操作步骤如下:

1.在QuartusII中打开工程,然后编译链接,生成JTAG配置文件.sof;

2.选择File->Convert Programming Files,调出Convert Programming Files对话框;

3.Output programming file对话栏内,Programming file type选择JTAG Indirect Configuration File(.jic);

4.Configuration device选择你所使用的配置芯片,如EPCS16;

5.File name填写输出文件的名字,如output_file.jic;

6.Input files to convert对话栏内,选中Flash Loader,点击Add Device按钮,在弹出对话框中选择你的FPGA芯片,如EP2C35;

7.选中SOF Data,点击Add File按钮,在弹出的资源浏览器中找到并选中编译生成的.sof文件,点击打开按钮;

8.点击Generate按钮生成output_file.jic文件;

9.打开Programmer对话框,选择JTAG模式;

10.点击Add File按钮,选择output_file.jic文件,并在Program/Configure复选框上打勾;

11.确定链接好JTAG电缆后,点击Start,QuartusII会先配置FPGA,然后再有FPGA烧写配置芯片。

利用这种方法可以在不使用AS接口的情况下完成对配置芯片的烧写,缺点是配置过程时间稍长,且每次配置完之后,要将板卡断电后重新加电,程序才能开始运行。我所使用的FPGA芯片和配置芯片分别是,Stratix II EP2S60和EPCS64,以及Cyclone II EP2C35和EPCS16。

FPGA——下载程序的方法(这里指把程序下载到配置芯片中)

1.无Nios情况下

(1)利用AS口和.pof配置文件

(2)利用JTAG口和.JIC、.JAM文件

2.有Nios情况下

(1)利用AS口和.pof配置文件

操作方法:SOPC_Builder中添加onchip_rom和onchip_ram(或其他RAM)

Nios 的cpu内核设置:Reset:onchip_rom 

Exception:onchip_ram(或其他RAM)

(2)在Nios IDE中用Flash Programmer

操作方法:SOPC_Builder 中添加EPCS_controller,SDRAM或SRAM

Nios 的cpu内核设置:

Reset:EPCS_controller

Exception:SDRAM(或SRAM)

Nios IDE 中的设置: stdout:null stderr:null

programme memory:SDRAM

Quartus软件中下载.sof或.pof文件,选择对应的模式(JTAG,AS)

然后在IDE中Tools——>Flash programmer 选择你要下载的工程和.sof文件,Hardware Image:Custom 运行即可

其中,第一种方法是当用户程序比较小时可以用,当用户程序比较大时,就会超出onchip_ram的容量。

需要注意一点:在Quartus中Assignment》Setting中Device and Pin Option>Configration,选择Active Serial模式,然后选择Flash的型号