Xilinx FPGA的MultiBoot

方式一 (bitstream):

若MultiBoot Image启动失败,则运行Golden Image;
MultiBoot Image起始地址为0x007FFFFF

Golden Image 的XDC配置:


#bit compress
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 2 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

#8 MByte
set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 0X7FFFFF [current_design]
set_property BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT Enable [current_design]

MultiBoot Image的XDC配置:

#bit compress
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 2 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

#FALLBACK
set_property BITSTREAM.CONFIG.CONFIGFALLBACK Enable [current_design]

注:这里用的是16MByte的Flash。

方式二(ICAP2):

module ICAP2_RTL(
        input  wire     sclk       //25MHZ
    );

	//延迟5秒后跳转到下一个IMAGE
    localparam  SECOND_TIME = 65535;
    localparam  FIVE_S      = 1907;

    reg [15:0] second_cnt = 'd0;
    reg [10:0] five_s_cnt = 'd0;

    reg        setup_flag = 'd0;
    reg        setup_flag1= 'd0;

//----------------------------------------------------
    localparam  IDLE          = 9'b0000_00001;
    localparam  DUMMY_WORD    = 9'b0000_00010;
    localparam  SYNC_WORD     = 9'b0000_00100;
    localparam  TYPE1_NO_OP0  = 9'b0000_01000;
    localparam  TWW_TO_WBSTAR = 9'b0000_10000;
    localparam  WBSA          = 9'b0001_00000;
    localparam  TWW_TO_CMD    = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值