使用主动串行配置模式对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 下载用的,

打开我们的下载对话框,

选择下载模式

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

接下来我们就天剑POF 文件

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

下面讲解一种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,关闭选择器件对话框。

选择器件

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

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

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

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

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

通过上面的步骤,即可完成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 开始编程,等待编程完成。

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

利用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的型号

转载http://www.cr173.com/html/46165_1.html

FPGA的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)的更多相关文章

  1. 图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法

    转自: http://www.it165.net/embed/html/201308/2332.html 用过stm32的人都知道stm32有两种常用下载程序的方法,用串口和jlink.串口下载方法和 ...

  2. .net下载文件的方法

    最近做项目遇到文件下载的问题,原本采用的是直接用一个href链接到需要下载的文件来处理这个问题,后来发现,如果文件是一个图片,浏览器会自动打开图片而不是下载,需要用户右击另存为才可以下载,很不友好,后 ...

  3. thinkphp的钩子的两种配置和两种调用方法

    thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十 ...

  4. 【Java】java数据库连接池配置的几种方法

    今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META- ...

  5. Linux系统下安装jdk及环境配置(两种方法)

    https://blog.csdn.net/qq_42815754/article/details/82968464 这里介绍两种linux环境下jdk的安装以及环境配置方法在windows系统安装j ...

  6. Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!

    Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了. 比如:数据 ...

  7. 【Android】一种提高Android应用进程存活率新方法

    [Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...

  8. log4j配置日志文件log4j.appender.R.File相对路径方法

    方法一. 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs ...

  9. Myeclipse 10/2014 配置插件(svn、maven、properties、velocity)方法

    一.构造SVN具体说明 什么是SVN? 管理软件开发过程中的版本控制工具. 以下会以两种方式来介绍怎么安装svn,myeclipse安装SVN插件步骤.以myeclipse 2014为例,第一种是最常 ...

随机推荐

  1. Spring EL方法调用实例

    Spring表达式语言(使用SpEL)允许开发人员使用表达式来执行方法和将返回值以注入的方式到属性,或叫作“使用SpEL方法调用”. Spring EL在注解的形式 了解如何实现Spring EL方法 ...

  2. 【转】2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题

    腾讯面试(WEB高级应用开发工程师<PHP>)非答案啊!!! 开始正题之前,容博主啰嗦两句吧,呵呵.(你也可跳过直接到红色字体看题!) 腾讯一直是我很敬重的企业,尽管小企鹅在战略上饱受争议 ...

  3. text段,data段,bss段,堆和栈

    转载:http://blog.chinaunix.net/uid-29025972-id-3874376.html   程序编译后生成的目标文件至少含有三个段,分别为:.text..data和.bss ...

  4. Openfire 性能优化

    Openfire  是一个XMPP协议的IM Server. Openfire使用mysql配合它不知所谓几乎无效的的Cache机制就注定无法支撑高并发, 所以第一步,将数据库切换为比较强一点的Mon ...

  5. Unity3d 换装 之 模型动画分离

    在手游中换装成了越来越不可缺的一个功能,毫无疑问各式各样的时装为游戏增添了不同的色彩. 对于2D手游,或许是更换对应的序列帧,也或许是如同3D手游一般,更换模型动画. 对于游戏中的人物,一般分为头.上 ...

  6. 判断浏览器内核JS代码

    <script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCa ...

  7. (转)SqlServer里DateTime转字符串

    原文:http://www.cnblogs.com/kimbosung/p/4515670.html ), )::: ), ): :::953PM ), ): ), ): ), ): ), ): :: ...

  8. OpenShift负载分区策略(Router Shading)

    在很多场景下,单靠几个在Infra节点上的Router进行服务请求的转发是不够的,项目中很多时候都有流量隔离的需求,主要场景在于: 一个集群中的不同的环境的流量隔离需求,比如开发走几个Router,生 ...

  9. LaTex 制作表格 合并行\multirow 合并列\multicolumn

    在latex文件最前面用这个包\usepackage{multirow} multirow 宏包提供了 \multirow 命令可以在表格中排版横跨两行以上的文本.命令的格式如下: \multirow ...

  10. ssh免密登录方法不生效?Authentication refused: bad ownership or modes for directory

    机器A通过ssh登录机器B,方法有两种: 1.密码方式 2.密钥方式: 两种方式同时开启的时候,优先使用密钥方式. 密钥登录方式的配置方法是,首先在登录机器B上创建文件authorized_keys( ...