|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我们先从它的功能介绍讲起来;MultiBoot功能是大部分Xilinx FPGA可以实现的固有特性;其主要优点如下所示:
7 [3 V4 i& p# ~) P7 Y# {: o, b+ d
; J1 o! D6 t) m& n, ^ C 1、我们可以把多个bitstream存储在配置Flash中,通过MultiBoot功能来实现多个bitstream之间的动态切换,从而达到使用FPGA来实现多种任务;0 v. C" N8 G% E- R2 o5 [1 q$ u* R, ]
9 x& B, j6 T6 p- M3 J) Z/ d7 i 2、在一个工程里面实现多个功能模块,而每个功能模块不需要同时运行的情况,可以通过MultiBoot功能使用相对小规模的FPGA来实现其功能,从而提高性价比;+ u1 _, W' h0 @
0 s5 `: }. i; p8 R$ z 3、MultiBoot和Fallback可以支持实现FPGA远程在线升级,当升级bit有错误可以触发Fallback来返回到Golden Image去正常运行。: K* p* L1 B* u g" e
, S J7 i0 }* z% _1 q Golden Image里面正常会包含FPGA实现的基本功能,例如外设配置和初始化、远程升级等等客户需要的基本功能;如果Golden Image损坏的情况下,FPGA是无法工作的,需要返回工厂重新手动烧写bit文件到Flash中。4 C! R4 |4 \: J; j8 N |! [
5 I3 `1 L5 o% ^ T% nGolden Image设计要求主要包含下面几点:& A! B. ~ V2 p% v
8 }! W: r6 o0 X' _ 1、IPROG(Internal program) command在Golden Image里面可以通过设置bitstream setting里面的next configuration address (BITSTREAM.CONFIG.NEXT_CONFIG_ADDR),或者在HDL代码使用ICAPE3原语来设定加载地址值;通过设置BITSTREAM.CONFIG.NEXT_CONFIG_REBOOTDISABLE来把. K" \5 T( I7 l
3 _! m5 {. r4 w# a* o$ ^3 n* F
IPROG command关掉,在这种情况下上电后会直接去加载Golden Image;
; p. P9 h7 v6 n& W1 Y( N6 r, d8 d6 J" B6 n1 r' D+ T8 M
2、跳转地址寄存器WBSTAR(wARM boot start address)可以在bitstream或者ICAP里面来设定;
8 r! Z- w- L, n# F, I5 a) _- @, q
7 x+ {7 h$ Y! z7 B$ O# o1 j! i: e 3、MultiBoot Image必须存储在WBSTAR设置的Flash地址位置;
' u, E% e4 b x1 Z" R
3 W' n% W$ Y9 g, U$ M4 c 4、Watchdog timer包含configuration monitor和user logic monitor两种模式;在配置模式下面,Timer times out情况下,配置电路会去加载fallback bitstream。Watchdog Timer可以在bitstream options里面使能。! x% j* P4 `/ l A- x. N7 L4 s
% K q4 ?( P N* F) N: K9 P6 U& v- H, T
Golden Image是从Flash中的0地址开始存储;其帧头会包括WBSTAR(next_config_addr)寄存器里面指定的upper address space等信息。FPGA器件上电后会从0地址开始加载Golden Image后,会根据里面的设定来决定加载Golden Image还是直接跳转到MultiBoot Image存储地址去执行MultiBoot Image;当MultiBoot Image加载时候遇到错误,Fallback电路会触发去重新从0地址去加载Golden Image。6 V4 v7 `: G! q" O+ j4 P# @$ n
|
|