WB_BOOTLOADER_V2 - Configurable Wishbone Flash SPI Bootloader (Version 2)

Frozen Content

Figure 1. WB_BOOTLOADER_V2 - Configurable Wishbone Flash SPI Bootloader (Version 2)
(slave SPI Controller interface enabled).

The Flash SPI Bootloader component (WB_BOOTLOADER_V2) provides the ability to automatically load (or bootstrap) from serial Flash memory on the NanoBoard (NanoBoard NB2 or NanoBoard 3000). The device provides the interface between the NanoBoard's SPI bus and independent SRAM. Provided the device is enabled for boot operation, then as soon as the design is programmed into the User FPGA (or an external reset is issued if already programmed) the content of the serial Flash memory device will be copied into the SRAM.

The device is configurable in that you can specify where in SRAM the content copied from the serial Flash memory is to be written, and the size of the memory involved in the copy.

The WB_BOOTLOADER_V2 can also be used as a standard SPI Controller, with an optional interface to a processor in your design, enabling the processor to communicate with slave SPI-compatible devices external to the FPGA in which the design is running. Operating as an SPI Controller, the device is functionally identical to the WB_SPI peripheral.

Although both M25P80 serial Flash memory devices on the NanoBoard can be used for embedded storage purposes, the WB_BOOTLOADER_V2 is hard-coded to boot from the device that is solely used for embedded purposes (designated U22 on the NanoBoard NB2, and U52 on a 3000-series NanoBoard). In a customized board, other serial flash memory devices can be used provided they support the standard read command – 0x03.

You must ensure that the required embedded code has been loaded into the serial Flash memory. This can be performed manually from the Instrument Rack - NanoBoard Controllers panel. For information on the programming procedure involved, see Using SPI Flash Memory as Embedded Memory.

Alternatively, for the NanoBoard NB2, you can download a design directly from an SD card inserted into the motherboard's SD card reader, through use of an EXAMPLE file (*.example). The programming file referenced in this file will be downloaded to the FPGA on the daughter board, and the referenced HEX file will be programmed into the serial Flash memory device, U22.

You could take this process a step further by setting the NanoBoard NB2 to automatically boot using an EXAMPLE file stored on an inserted SD card, on power-up.

For more information on EXAMPLE files and downloading/booting from an SD card, see Interacting with the Desktop NanoBoard NB2DSK01.

Features at-a-glance

  • Bootloading functionality – copy code from serial Flash memory on the NB2/NB3000 motherboard into independent SRAM on the daughter board/motherboard
  • Configurable from the OpenBus System document or Schematic sheet
    • Specify start address in SRAM at which to write content copied from serial Flash
    • Specify the size of memory to be copied
  • Optional use as SPI Controller peripheral (identical to WB_SPI)
    • Full duplex
    • Serial clock signal configurable for polarity, phase and frequency
  • Ability to bypass bootloading functionality and operate solely as an SPI Controller
  • Wishbone-compliant


From an OpenBus System document, the SPI (Bootloader) component can be found in the Peripherals region of the OpenBus Palette panel.

From a schematic document, the WB_BOOTLOADER_V2 component can be found in the FPGA Peripherals (Wishbone) integrated library (FPGA Peripherals (Wishbone).IntLib), located in the \Library\Fpga folder of the installation.

Working with the WB_BOOTLOADER_V2

Use the following links to explore use of the WB_BOOTLOADER_V2 in more detail:

See Also

You are reporting an issue with the following selected text and/or image within the active document: