JumpStart: Framework for writing diags (tests) for RISC-V CPU/SOC validation

42 views
Skip to first unread message

Jerin Joy

unread,
Oct 5, 2023, 5:38:14 PM10/5/23
to RISC-V SW Dev
Rivos is open sourcing JumpStart which provides Design Validation engineers a framework with which to write diags (tests) for RISC-V CPU and SOC validation:

JumpStart includes a bare-metal kernel, APIs and build infrastructure. It is used internally for design validation at Rivos and is in active development.

Diags can be written in C and/or RV64 Assembly and use the APIs provided by JumpStart. The diags built with JumpStart can be run on the Spike simulator by default and enhanced to run on any RV64 RISC-V system. 

A breakdown of an example diag written using JumpStart:

For more details, please refer to the README and Reference Manual in the repo.

Jerin


Daniel Petrisko

unread,
Oct 5, 2023, 7:03:16 PM10/5/23
to Jerin Joy, RISC-V SW Dev
Wow, thanks for sharing! This is the most comprehensive open-source PTE generation I have seen, excited to give it a shot. 

I may have missed it, but are there capabilities to trigger interrupts in diags?

Is there a guide on how to move from spike to another processor? (Presumably changing print/finish routines or some such)

Best,
-Dan

On Oct 5, 2023, at 5:38 PM, Jerin Joy <j...@rivosinc.com> wrote:


--
You received this message because you are subscribed to the Google Groups "RISC-V SW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sw-dev+un...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/ed03607c-f708-4862-a408-3901c102a8a1n%40groups.riscv.org.

Jerin Joy

unread,
Oct 6, 2023, 2:54:19 AM10/6/23
to Daniel Petrisko, RISC-V SW Dev
Thanks Dan.

I may have missed it, but are there capabilities to trigger interrupts in diags?

This should show up in a future PR. 

Is there a guide on how to move from spike to another processor? (Presumably changing print/finish routines or some such)

Yes, the change should primarily be in the end of sim code in src/public/end.machine.S:

Right now it runs the spike end of sim sequence.

Jerin
Reply all
Reply to author
Forward
0 new messages