FPGA配置方式
FPGA有多种配置/加载方式。粗略可以分为主动和被动两种。主动加载是指由FPGA控制配置流程,被动加载是指FPGA仅仅被动接收配置数据。
最常见的被动配置模式就是JTAG下载bit文件。此模式下,主动发起操作的设备是计算机,数据通路是JTAG,FPGA会被动接收数据,根据需要的操作来进行更新FPGA配置。而上位机如何获取配置数据就非常灵活了,可能是本地运行EDA工具生成的,也可以是网络/USB存储设备获取的。
主动配置就是FPGA在配置过程中处于主导地位,主动发起对Flash的读写,获取配置信息进行配置。
下面利用间EDA工具自带的烧录Flash的操作为例,分析一下具体的烧录过程。
通常情况下,完整的过程是:
1.上位机主动发起配置,FPGA被动接收数据进行重配置,此时的配置模式是上文提到的基于JTAG的被动配置。此操作的结果是将FPGA配置为一个Flash的读写器。
2.配置完成后,上位机开始发送/接收Flash的数据,数据通道为JTAG。FPGA通过JTAG接收到数据之后,根据需求发起对Flash的读写操作,将需要更新的数据写入Flash,完成更新。此过程是更新Flash的过程,烧录过程中Flash只收到FPGA的控制。
3.Flash更新完毕后,在合适的时候让FPGA进行重新配置(例如重新上下电),FPGA会开始主动配置过程,从Flash中读取配置数据完成加载。
Intel(Altera)的这种模式使用的文件后缀是jic,全称是JTAG Indirect Configuration File。直接翻译是JTAG间接配置文件。在Quartus的Programmer界面中,当添加了Jic文件之后,可以看到有一个Factory default SFL image,就是将FPGA配置为Flash控制器的镜像。
根据配置的不同,也可以分为主动更新和被动更新两种。
如果是被动更新,那么通常配置过程会有一个主动发起的设备,常见有MCU。这样配置过程相对容易,数据的传输、存储和读取都交给主设备操作。整个更新过程按要求更新即可,然后再合适的时间重新加载FPGA即可。FPGA本身几乎和更新过程完全隔离,所以也很容易满足需求。
主动更新则相对麻烦。首先,Flash很可能只于FPGA有数据接口,表明Flash的读写只能从FPGA来发起;其次,由于FPGA需要发起Flash的更新写入,所以FPGA如何获取数据也是需要考虑的问题。可以参考上文,主动配置更新Flash完整过程的描述,可以看到FPGA需要一个数据通路(JTAG)接收配置数据,并实现一个Flash的读写控制器来读写Flash。更新Flash完成之后,下一次配置被触发(重新上下电)会主动发起读Flash的操作,加载配置数据完成配置。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号
扫描二维码关注杭州卿萃科技FPGA极客空间
FPGA配置方式的更多相关文章
- fpga配置方式 .jic固化为ps模式
FPGA不同下载方式的区别[扫盲]以及如何利用AS模式固化程序(转载) 主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式: AS由FPGA器件引导配置操作过程,它控制着 ...
- FPGA的配置方式
FPGA的配置方式 FPGA的配置方式有以下几种,JTAG,AS,PS,AP,FPP等几种. JTAG模式.JTAG模式下将.sof文件下载到FPGA内部的RAM内部进行运行,掉电程序丢失,主要用于前 ...
- SoC FPGA开发板的FPGA配置数据下载和固化
小梅哥编写,未经许可,严禁用于任何商业用途 2018年7月2日星期一 soc fpga的烧写和固化方式与传统的纯fpga固化方式即存在形式上的相同,也存在细节上的差异,特整理此文. AC501-So ...
- fpga配置过程(转载)
fpga 配置时序图如下 1.FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式. AS 由FPGA器件引导配置操作过程, ...
- Hibernate配置方式
Hibernate配置方式 Hibernate给人的感受是灵活的,要达到同一个目的,我们可以使用几种不同的办法.就拿Hibernate配置来说,常用的有如下三种方式,任选其一. 在 hibernate ...
- ASP.NET 操作Excel中的DCOM配置方式
具体配置方式如下: 1. 组件服务管理窗口 在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,在组件服务->计算机->我的电脑->DCom配置->找到Microsof ...
- ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式】
本文主要阅读目录如下: 1.简介Kettle的Kitchen和Span 2.命令行调度任务配置方式 3.后台进程配置运行方式 4.Windows任务设置 5.Demo下载 1.简介Kettle的Kit ...
- c3p0三种配置方式(automaticTestTable)
c3p0的配置方式分为三种,分别是http://my.oschina.net/lyzg/blog/551331.setters一个个地设置各个配置项2.类路径下提供一个c3p0.properties文 ...
- 【Spring3.0系列】---Bean不同配置方式比较 和适用场合
Bean不同配置方式比较1.基于XML配置定义:在XML文件中通过<bean>元素定义Bean,例如<bean class="com.bbt.UserDao"/& ...
随机推荐
- HDU 1934 特殊数字
有两种车牌号.让你判断第二种是不是在第一种之后且在第一种出Kth之前的车牌号. 本解中是把前面的字母看成一位十进制的数.自己是一个26或者21进制的数.如果比较时有两种.那么第一种和第一种的最后一个比 ...
- Oracle 备份与恢复 15 个典型问题
1.问:Oracle11g数据库数据量有50T,每天增量50g左右,该如何制定备份方案,如何验证备份的有效性? 答:50T的数据也不大,运营商的地市级市数据基本都在100T以上了,只要备份环境允许的话 ...
- Linux内核分析-Linux内核如何装载和启动一个可执行程序
ID:fuchen1994 实验要求: 理解编译链接的过程和ELF可执行文件格式,详细内容参考本周第一节: 编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态 ...
- 接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下
接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会 ...
- 如何查看linux系统的版本信息
前言 有时候需要查看linux系统的版本信息,本文将对此简单介绍. 方法 1.输入"uname -a ",可显示电脑以及操作系统的相关信息. 2.输入"cat /etc/ ...
- 文件的存储GridFS
1.存储路径--->可以理解就是存储路径,然后在通过路径来获取文件 将文件放在本地路径(网络路径)下,然后数据库中存储该文件的查找路径 db.log.insert({filename:" ...
- [Algorithm] A nonrecursive algorithm for enumerating all permutations of the numbers {1,2,...,n}
def permutationN(n): a=[None]*n for i in range(n): a[i]=i+1 sum=1 for j in range(n): sum*=(j+1) i=0 ...
- Complete the Word
ZS the Coder loves to read the dictionary. He thinks that a word is nice if there exists a substring ...
- java导出Excel 好文收藏
http://www.cnblogs.com/Damon-Luo/p/5919656.html https://www.cnblogs.com/klguang/p/6425422.html
- (转) C++中成员初始化列表的使用
C++在类的构造函数中,可以两种方式初始化成员数据(data member). 1,在构造函数的实现中,初始类的成员数据.诸如: class point{private: int x,y;public ...