platforms/sqrl_acorn: Add Multiboot Operational/Fallabck bistreams generation.

To allow recovery in case of PCIe update failure (Write error, power issue or crash).
This commit is contained in:
Florent Kermarrec 2021-11-21 19:10:21 +01:00
parent 60b769b624
commit 3e9e9bc425
1 changed files with 16 additions and 3 deletions

View File

@ -128,9 +128,22 @@ class Platform(XilinxPlatform):
"set_property CFGBVS VCCO [current_design]", "set_property CFGBVS VCCO [current_design]",
"set_property CONFIG_VOLTAGE 3.3 [current_design]", "set_property CONFIG_VOLTAGE 3.3 [current_design]",
] ]
self.toolchain.additional_commands = \
["write_cfgmem -force -format bin -interface spix4 -size 16 " self.toolchain.additional_commands = [
"-loadbit \"up 0x0 {build_name}.bit\" -file {build_name}.bin"] # Non-Multiboot SPI-Flash bitstream generation.
"write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit \"up 0x0 {build_name}.bit\" -file {build_name}.bin",
# Multiboot SPI-Flash Operational bitstream generation.
"set_property BITSTREAM.CONFIG.TIMER_CFG 0x0001fbd0 [current_design]",
"set_property BITSTREAM.CONFIG.CONFIGFALLBACK Enable [current_design]",
"write_bitstream -force {build_name}_operational.bit ",
"write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit \"up 0x0 {build_name}_operational.bit\" -file {build_name}_operational.bin",
# Multiboot SPI-Flash Fallback bitstream generation.
"set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 0x00400000 [current_design]",
"write_bitstream -force {build_name}_fallback.bit ",
"write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit \"up 0x0 {build_name}_fallback.bit\" -file {build_name}_fallback.bin"
]
def create_programmer(self, name='openocd'): def create_programmer(self, name='openocd'):
if name == 'openocd': if name == 'openocd':