perilus

git clone https://git.bradleygannon.com/perilus.git
Log | Files | Refs | Submodules | README

commit 6531dd4072ced92cdbacd56d4e681d5b5157aa96
parent 969640aaafc5bc2a6f86bf9a3708ef670cf75fd8
Author: Bradley Gannon <bradley@bradleygannon.com>
Date:   Mon, 23 Feb 2026 19:44:27 -0500

Add test for jal

Diffstat:
Msrc/test/scala/perilus/main.scala | 25++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/test/scala/perilus/main.scala b/src/test/scala/perilus/main.scala @@ -342,7 +342,30 @@ class PerilusTests extends AnyFunSpec with ChiselSim { } } it("executes jal") { - cancel("Not yet implemented") + var registerFile = ArrayBuffer.fill(32)(0x00000000) + var memory = ArrayBuffer.fill(64)(0x00000000) + memory(0) = 0x01e003ef // jal x7, 0x1e + simulate( + new Perilus( + initRegs = initMemFile(registerFile), + initMem = initMemFile(memory), + withDebug = true + ) + ) { perilus => + { + val perilusDebug = perilus.io.debug.get + + perilus.io.pc.expect(0) + perilusDebug.reg.poke(7) + perilusDebug.regData.expect(0) + + perilus.clock.step(4) + + perilus.io.pc.expect(0x1e) + perilusDebug.reg.poke(7) + perilusDebug.regData.expect(4) + } + } } describe("runs small test programs") { it("20th Fibonacci number") {