vjcmain 发表于 2018-5-9 14:13:26

如何FPGA远程FPGA版本更新

本帖最后由 vjcmain 于 2018-5-9 14:20 编辑

RT 带有FPGA芯片的 投放到市场有可能因为修复BUG 或者增加功能 需要对FPGA的配置进行更新,使用JTAG编程器拆机烧录FLASH 看起来不是一个好方法。请问大家都是用什么方案来在线更新FPGA?





请问可以可以利用FPGA与FALSH的配置接口往FALSH写入数据吗?FPGA配置引脚在完成配置后用户是否可以使用?
如果能使用的话意味着可以往里写数据,那么就可以更新FPGA 版本了?

aozima 发表于 2018-5-9 14:58:20

问一下厂家要如何热更新。

有个想法,如果怕变砖的话,可以在板上放个小单片机来做辅助,如果FPGA没有正确启动起来,可以由MCU来更新FPGA的程序。

gwj221 发表于 2018-5-9 15:07:02

xilinx,lattice都可以双boot

jiaowoxiaolu 发表于 2018-5-9 15:08:56

以前做过一块板子,上面有单片机和fpga两部分,fpga是通过单片机主动配置的,配置文件是单片机内部存着的,这样不用说更新,即使你想一块板跑N个fpga程序都没问题{:titter:}

wye11083 发表于 2018-5-9 15:48:49

那个脚是可以直接用的,本来就是双用io。只是在线升级变砖后就再也起不来了,只能拆机烧

xivisi 发表于 2018-5-9 16:00:22

单片机外部通信,接收、存储、配置FPGA固件;

FPGA设置为被动加载模式,花样可以更多

vjcmain 发表于 2018-5-9 16:46:18

wye11083 发表于 2018-5-9 15:48
那个脚是可以直接用的,本来就是双用io。只是在线升级变砖后就再也起不来了,只能拆机烧 ...

大神,你的意思是说这个配置管脚在加载完成后用户可以访问?

vjcmain 发表于 2018-5-9 16:46:52

xivisi 发表于 2018-5-9 16:00
单片机外部通信,接收、存储、配置FPGA固件;

FPGA设置为被动加载模式,花样可以更多 ...

硬件已经发布了。改板成本太高了。当前的架构能否实现升级呢?

vjcmain 发表于 2018-5-9 16:47:14

gwj221 发表于 2018-5-9 15:07
xilinx,lattice都可以双boot

所谓的mutiboot (多重启动)?

vjcmain 发表于 2018-5-9 16:49:21

aozima 发表于 2018-5-9 14:58
问一下厂家要如何热更新。

有个想法,如果怕变砖的话,可以在板上放个小单片机来做辅助,如果FPGA没有正确 ...

新的项目考虑使用MCU 外挂FLASH存FPGA的配置文件,然后电MCU直接配置FPGA。 但现在木已成舟。

wye11083 发表于 2018-5-9 17:39:18

vjcmain 发表于 2018-5-9 16:46
大神,你的意思是说这个配置管脚在加载完成后用户可以访问?

我一直在这样用,现在我干脆把spi绑到fx3上去了(我这主要是usb),这样随时可以在线下载。之前用fpga下载容易变砖,时序有一点不稳定就变砖。基本上除了几个固定功能脚,其它全是多用脚,你找找手册,说的很清楚。

RAMILE 发表于 2018-5-9 17:44:38

lattice XO2 可以

gwj221 发表于 2018-5-9 18:01:04

vjcmain 发表于 2018-5-9 16:47
所谓的mutiboot (多重启动)?

是啊 最方便 如果更新的挂了 从原始的驱动再更新 一直到更新成功为止

liugu 发表于 2018-5-10 23:28:04

加个单片机   用于升级

proteldxp 发表于 2018-5-10 23:43:21

记得以前用过周立功的逻辑分析仪,里面有个fpga芯片但是没有配置芯片,固件是使用的时候直接从上位机通过USB数据线配置到fpga里面的。用单片机模拟FPGA 配置数据的协议。

honeybear 发表于 2018-5-10 23:49:17

可以用的,不需要加单片机

xtlihan2 发表于 2018-5-11 06:39:35

xilinx可以在的spi flash里面放置2个固件,一个main,一个backup或者叫golden,启动时候先启动main,如果启动失败,就会自动切换到从backup启动。
这样backup出厂写死,保证可升级的基本功能,而main则是可以FPGA自己擦写spi flash升级的,对应的管脚在启动完成后都是可以使用的用户管脚,就是擦写逻辑注意约束地址部分,别擦到backup了。

star_tale 发表于 2018-5-11 09:09:21

mark,收藏备用

辰星和月 发表于 2018-5-11 09:46:02

有点意思,关注下

羿凌天 发表于 2018-5-15 17:11:34

我们一般都是用MCU主动配置FPGA,升级直接固件发到MCU,我觉得这个才是靠谱方案

vjcmain 发表于 2018-5-15 17:23:58

羿凌天 发表于 2018-5-15 17:11
我们一般都是用MCU主动配置FPGA,升级直接固件发到MCU,我觉得这个才是靠谱方案
...

每次开机 MCU都要配置FPGA吗?, 还是MCU 负责接受PC 发来的固件,放到FPGA的配置FLASH里面?。

PaulDE 发表于 2018-5-15 21:13:43

Altera 的可以直接用它的RSU IP

liuzq1981 发表于 2018-5-15 21:37:10

jiaowoxiaolu 发表于 2018-5-9 15:08
以前做过一块板子,上面有单片机和fpga两部分,fpga是通过单片机主动配置的,配置文件是单片机内部存着的, ...

一般用什么单片机,装不下怎么办?
现在ALTERL CYCLONE IV E系列最低端配置文件也不小呀,还不算软核.ELF文件。

liuzq1981 发表于 2018-5-15 21:37:44

羿凌天 发表于 2018-5-15 17:11
我们一般都是用MCU主动配置FPGA,升级直接固件发到MCU,我觉得这个才是靠谱方案
...

一般用什么单片机,装不下怎么办?
现在ALTERL CYCLONE IV E系列最低端配置文件也不小呀,还不算软核.ELF文件。

muok@sohu.com 发表于 2018-5-17 11:05:37

硬件完全不需要改,我有办法搞定这个问题,不过得付费。{:tongue:}

dr2001 发表于 2018-5-17 20:50:58

羿凌天 发表于 2018-5-15 17:11
我们一般都是用MCU主动配置FPGA,升级直接固件发到MCU,我觉得这个才是靠谱方案
...

PCIe有枚举的独特特性。
带MCU,做的不精致的话卡会不好用。

在线升级简单的很,做个MCU挂SPI的IP就行了,升级失败可以用MultiBoot的Fallback加上芯片写保护实现。

zkf0100007 发表于 2018-5-26 22:34:04

xilinx有现成的DEMO
搜索一下XAPP

mubei 发表于 2018-5-27 12:39:55

rerainings 发表于 2018-5-16 10:55
17楼方法正解,我们目前发布的设备有这样实现的。不过现在都换成外部mcu主动配置了。 ...

请问一下,这种mcu主动配置哪里有参考例程?
见过有fpga开发板用f103做主动配置,连接电脑虚拟出优盘,拷贝进去就完成fpga程序更新

幸福的鱼 发表于 2018-5-28 14:37:02

是可以利用FPGA与FLASH的配置接口往FLASH里写入数据的,利用与fpga通讯的接口将需要配置的数据写入flash中,之前的项目没有直接写入配置信息,而是写入了一段在线加载数据代码,是可以完成数据的读写操作

weuser 发表于 2018-5-28 20:41:48

mcu和fpga连接只要mosi 和 sck .done, progB ,FPGA配置好启动模式,直接发送原来主动配置时写到flash的数据就行。

weuser 发表于 2018-5-28 20:48:56

没见过 fpga 主动模式下回写配置flash的。即使原理可以但是不安全呀,如果更新过程中断就变砖了。

梧寒 发表于 2022-11-12 13:26:11

楼主这个功能实现了吗?我最近也在研究这个,想取取经。

carefree1986 发表于 2022-11-13 14:16:38

用MCU 写入,甚至还可以把fpga二进制代码放到mcu的flash里面

狂羁青马 发表于 2022-11-14 18:23:58

之前做的项目是PCIE直接升级flash

dellric 发表于 2022-11-14 18:45:33

不用外接MCU,内部可以用NIOSII来更新

zzsczz 发表于 2022-11-17 11:24:58

dellric 发表于 2022-11-14 18:45
不用外接MCU,内部可以用NIOSII来更新
(引用自37楼)

那xilinx家的怎么说呢?

dellric 发表于 2022-11-17 13:31:06

zzsczz 发表于 2022-11-17 11:24
那xilinx家的怎么说呢?
(引用自38楼)

MicroBlaze

Trylin 发表于 2022-11-17 16:54:48

RAMILE 发表于 2018-5-9 17:44
lattice XO2 可以
(引用自12楼)

这个可以的
页: [1]
查看完整版本: 如何FPGA远程FPGA版本更新