|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我们先从它的功能介绍讲起来;MultiBoot功能是大部分Xilinx FPGA可以实现的固有特性;其主要优点如下所示:& s0 o7 E' u) c4 z% }$ p; x
; n6 l( p1 c$ w' s: T* {0 J/ ~
1、我们可以把多个bitstream存储在配置Flash中,通过MultiBoot功能来实现多个bitstream之间的动态切换,从而达到使用FPGA来实现多种任务;
+ A/ H5 V% X# ]7 U- o2 g$ V; ^& O( Z3 U: H& W
2、在一个工程里面实现多个功能模块,而每个功能模块不需要同时运行的情况,可以通过MultiBoot功能使用相对小规模的FPGA来实现其功能,从而提高性价比;, u: s R8 a$ ?2 ^' y) W0 w
; V) T' g( {% L$ t/ K8 W3 |8 t 3、MultiBoot和Fallback可以支持实现FPGA远程在线升级,当升级bit有错误可以触发Fallback来返回到Golden Image去正常运行。
; y5 C0 N# k4 U1 K( ~) L9 O
, b z: w/ d0 B4 c Golden Image里面正常会包含FPGA实现的基本功能,例如外设配置和初始化、远程升级等等客户需要的基本功能;如果Golden Image损坏的情况下,FPGA是无法工作的,需要返回工厂重新手动烧写bit文件到Flash中。# w' H- V% y; {/ O. L S
: ?! v* d9 ]! h4 }( I4 G' ?
Golden Image设计要求主要包含下面几点:7 E9 n, F' \: B+ o, U* G
( \: c& o' i, a" G$ a
1、IPROG(Internal program) command在Golden Image里面可以通过设置bitstream setting里面的next configuration address (BITSTREAM.CONFIG.NEXT_CONFIG_ADDR),或者在HDL代码使用ICAPE3原语来设定加载地址值;通过设置BITSTREAM.CONFIG.NEXT_CONFIG_REBOOTDISABLE来把4 ?4 G6 K% y7 u, Z
9 O! i- {" F( J3 S# N
IPROG command关掉,在这种情况下上电后会直接去加载Golden Image;
3 Y3 c4 V+ b K+ ~
; V* Y& g- ~. G& M 2、跳转地址寄存器WBSTAR(wARM boot start address)可以在bitstream或者ICAP里面来设定;# o8 L5 C, D4 P2 Z+ r- c
. b3 e }* ]( B6 i/ ~2 F& ^
3、MultiBoot Image必须存储在WBSTAR设置的Flash地址位置;5 r# n$ Q' {1 n+ |" @# a
( N0 A. v3 S; ]. e$ } E. \
4、Watchdog timer包含configuration monitor和user logic monitor两种模式;在配置模式下面,Timer times out情况下,配置电路会去加载fallback bitstream。Watchdog Timer可以在bitstream options里面使能。
. n* F2 Q% W, m2 s8 d+ I
' c- V4 X4 K8 t1 n4 z9 d 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。 m% H$ Z: i- U6 e$ ~* o2 D
|
|