Skip to content

cvwsoc: First Renode co-simulation setup. - #22

Merged
juanschroeder merged 1 commit into
cvwsocfrom
feature/renode_cosim
Jul 29, 2026
Merged

cvwsoc: First Renode co-simulation setup.#22
juanschroeder merged 1 commit into
cvwsocfrom
feature/renode_cosim

Conversation

@juanschroeder

Copy link
Copy Markdown
Owner

It allows to co-simulate Renodes Hifive FU540 SoC with CVWSoC AXI setup.

Many limitations still exist:

  • AXI bus at 2 MHz for simulation performance reasons
  • 200M Ethernet clock, 22.xx MHz audio clock and 48 MHz USB clock are not simulated for co-simulation performance reasons
  • All Renode CPUs but one had to be disabled because otherwise simulation hangs completely (????)
  • Many issues when passing/using -e settings to Renode. Full paths are generated from the caller Makefile.

Features:

  • MMIO access to all peripherals
  • For audio testing the real audio clock must be enabled (slow)
  • SD card model with test SD card image connected to SDHCI peripheral
  • iDMA tested without issues (slow)
  • Ethernet starts up on boot (not really usable)
  • USB initialized on boot (not really usable)
  • VGA not tested. Needs either u-boot or Linux initialization. It will probably slow down simulation quite a bit.

The 'cosim-run' target needs a 'fw_payload.elf' with Kernel (with initramfs) payload. This is built in the specific Yocto (KAS) target.

It allows to co-simulate Renodes Hifive FU540 SoC with CVWSoC AXI
setup.

Many limitations still exist:
- AXI bus at 2 MHz for simulation performance reasons
- 200M Ethernet clock, 22.xx MHz audio clock and 48 MHz USB clock are
not simulated for co-simulation performance reasons
- All Renode CPUs but one had to be disabled because otherwise simulation
hangs completely (????)
- Many issues when passing/using -e settings to Renode. Full paths are
generated from the caller Makefile.

Features:
- MMIO access to all peripherals
- For audio testing the real audio clock must be enabled (slow)
- SD card model with test SD card image connected to SDHCI peripheral
- iDMA tested without issues (slow)
- Ethernet starts up on boot (not really usable)
- USB initialized on boot (not really usable)
- VGA not tested. Needs either u-boot or Linux initialization. It will
probably slow down simulation quite a bit.

The 'cosim-run' target needs a 'fw_payload.elf' with Kernel (with
initramfs) payload. This is built in the specific Yocto (KAS) target.

Signed-off-by: Juan Schroeder <jcschroeder@gmail.com>
@juanschroeder
juanschroeder merged commit 3fcecc8 into cvwsoc Jul 29, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant