|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我们先从它的功能介绍讲起来;MultiBoot功能是大部分Xilinx FPGA可以实现的固有特性;其主要优点如下所示:
* h' U" Y8 g5 f% R' j/ C6 K m" g& |7 N. ~. T* W* ^5 @) H
1、我们可以把多个bitstream存储在配置Flash中,通过MultiBoot功能来实现多个bitstream之间的动态切换,从而达到使用FPGA来实现多种任务;
4 p6 \. }% l! |! w) P: }. n6 v2 Q; r- O W; L N/ w# O9 \$ M
2、在一个工程里面实现多个功能模块,而每个功能模块不需要同时运行的情况,可以通过MultiBoot功能使用相对小规模的FPGA来实现其功能,从而提高性价比;
7 r/ e, K9 R+ i& v! G5 Q0 N" N, c! ^3 K1 \8 P
3、MultiBoot和Fallback可以支持实现FPGA远程在线升级,当升级bit有错误可以触发Fallback来返回到Golden Image去正常运行。; |! _5 u% G4 w7 p
* k7 I# P) j9 G- i; Q
Golden Image里面正常会包含FPGA实现的基本功能,例如外设配置和初始化、远程升级等等客户需要的基本功能;如果Golden Image损坏的情况下,FPGA是无法工作的,需要返回工厂重新手动烧写bit文件到Flash中。
8 [( B2 T" x5 o8 y0 @9 Y
6 ` J+ G2 `3 G4 N8 H: F) tGolden Image设计要求主要包含下面几点:5 K0 b1 r4 c0 U& F
2 R8 H5 m$ P! \: f
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, L1 S5 ~1 O D' p/ l6 z6 D! o
0 z4 {: o1 {! K0 yIPROG command关掉,在这种情况下上电后会直接去加载Golden Image;$ s* x, T; r" m/ V, |: e. Y6 s
, o/ ]4 [8 N* H1 j( k
2、跳转地址寄存器WBSTAR(wARM boot start address)可以在bitstream或者ICAP里面来设定;; T% H# E" x3 d* b$ R& w) {# Y
8 T4 W( S1 v7 i# x8 B6 u
3、MultiBoot Image必须存储在WBSTAR设置的Flash地址位置;
1 b+ P3 m) c. c! {. [
4 L% M, c( @4 Z 4、Watchdog timer包含configuration monitor和user logic monitor两种模式;在配置模式下面,Timer times out情况下,配置电路会去加载fallback bitstream。Watchdog Timer可以在bitstream options里面使能。
% C3 v2 E8 C, R! B) X1 v1 k3 U' C( [
+ }9 i1 I; b- Q5 ^ 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。
/ t: E) I& x' e/ B |
|