OVP Virtual Platform: SiFiveFU540

This page provides detailed information about the OVP Virtual Platform Model of the SiFiveFU540 platform.


Open Source Apache 2.0


SiFive FU540-C000 SoC module. On start up or reset, the reset code at 0x1004 will jump to a jump table entry indexed by the MSEL register at address 0x1000 (default initial MSEL value is 0xf which will cause a jump to address 0x10000). Use the msel peripheral's MSEL parameter to change the initial value of this register. To run a bare metal application use the --program command line option to specify an elf file to be loaded. It must be linked to use addresses corresponding to the implemented memory regions. The --program option will override the initial pc with the ELF file's start address. To facilitate booting Linux an OVP SmartLoader psuedo-peripheral has been included that provides the functionality of the ZSBL/FSBL. The SmartLoader's dtb parameter should be used to specify the device tree blob file to load, and the bbl elf file should be loaded using the --objfilenoentry command line option.


SiFive Freedom U540-C000 Manual FU540-C000-v1.0.pdf (


Caches and the Cache Controller are not modeled. The Instruction Tightly Integrated Memory (ITIM) is implemented simply as RAM. Deallocation by writing to the byte immediately following the memory is a NOP. The L2 Loosely Integrated Memory (L2-LIM) is implemented simply as RAM. It is always available, since the Cache Controller is not modeled. The L2 Scratchpad memory is not modeled. The Platform DMA Engine (PDMA) is not modeled. The Pulse Width Modulator (PWM) is not modeled. The Inter-Integrated Circuit (I2C) Master Interface is not modeled. The Serial Peripheral Interface (SPI) is not modeled. Instead a Virtio Block MMIO device has been added at reserved address 0x1f000000, using interrupt 54. The General Purpose Input/Output Controller (GPIO) is not modeled. The One-Time Programmable Memory Interface (OTP) is not modeled. DDR controller is not modeled. DDR memory is modeled as RAM. The Debug Interface is not modeled.


The SiFiveFU540 virtual platform is located in an Imperas/OVP installation at the VLNV: / platform / SiFiveFU540 / 1.0.

Platform Summary

Table : Components in platform


Platform Simulation Attributes

Table 1: Platform Simulation Attributes

wallclock10Specify the wallclock factor
stoponctrlcstoponctrlcStop on control-C

Command Line Control of the Platform

Built-in Arguments

Table 2: Platform Built-in Arguments

extendedargsextendedargsThe Command line parser will accept the extended argument set

When running a platform in a Windows or Linux shell several command arguments can be specified. Typically there is a '-help' command which lists the commands available in the platforms.
For example: myplatform.exe -help

Some command line arguments require a value to be provided.
For example: myplatform.exe -program myimagefile.elf

Platform Specific Command Line Arguments

No platform specific command line arguments have been specified.

Sub-Module [] instance: SiFiveFU540

No connections to this sub-module have been specified.

Page was generated in 0.0193 seconds