Microblaze-V generic board (amd-microblaze-v-generic)

The AMD MicroBlaze™ V processor is a soft-core RISC-V processor IP for AMD adaptive SoCs and FPGAs. The MicroBlaze™ V processor is based on the 32-bit (or 64-bit) RISC-V instruction set architecture (ISA) and contains interfaces compatible with the classic MicroBlaze™ V processor (i.e it is a drop in replacement for the classic MicroBlaze™ processor in existing RTL designs). More information can be found in below document.

https://docs.amd.com/r/en-US/ug1629-microblaze-v-user-guide/MicroBlaze-V-Architecture

The MicroBlaze™ V generic board in QEMU has following supported devices:

  • timer

  • uartlite

  • uart16550

  • emaclite

  • timer2

  • axi emac

  • axi dma

The MicroBlaze™ V core in QEMU has the following configuration:

  • RV32I base integer instruction set

  • “Zicsr” Control and Status register instructions

  • “Zifencei” instruction-fetch

  • Extensions: m, a, f, c

Running

Below is an example command line for launching mainline U-boot (xilinx_mbv32_defconfig) on the Microblaze-V generic board.

$ qemu-system-riscv32 -M amd-microblaze-v-generic \
  -display none \
  -device loader,addr=0x80000000,file=u-boot-spl.bin,cpu-num=0 \
  -device loader,addr=0x80200000,file=u-boot.img \
  -serial mon:stdio \
  -device loader,addr=0x83000000,file=system.dtb \
  -m 2g