openhwgroup / core-v-verif

Functional verification project for the CORE-V family of RISC-V cores.

Home Page:https://docs.openhwgroup.org/projects/core-v-verif/en/latest/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CV32E40P : Interrupts not working on core simple test-bench and using verilator

Nicolas-Gaudin opened this issue · comments

CV32E40P : Interrupts not working

Hello,
I'm having problems using the tests provided to test interrupts on CV32E40P.

Type

When I use the 'interrupt_test' and 'interrupt_bootstrap' tests on , irq tests fail from the first test
https://github.com/openhwgroup/core-v-verif/tree/master/cv32e40p/tests/programs/custom/interrupt_test :
The first functional test fails at irq[3], which is the first irq.

https://github.com/openhwgroup/core-v-verif/tree/master/cv32e40p/tests/programs/custom/interrupt_bootstrap :
Precheck fails when checking the value of mtvec's CSR

Steps to Reproduce

cd cv32e40p/sim/core
make veri-test TEST={interrupt_test, interrupt_bootstrap}

Results

I get the following results for the respective tests:

  1. interrupt_test
tb_top_verilator - finished dumping memory
TEST 1 - TRIGGER ALL IRQS IN SEQUENCE:
Test1 -> Testing interrupt 0
Test1 -> Testing interrupt 1
Test1 -> Testing interrupt 2
Test1 -> Testing interrupt 3
MIP for IRQ[3] not set
TOP.tb_top_verilator @ 1: EXIT FAILURE:               160870
  1. interrupt_bootstrap
tb_top_verilator - finished dumping memory
MTVEC bootstrap failure, exp 0x00000201, act 0x00000000
TOP.tb_top_verilator @ 1: EXIT FAILURE:                48970

Is this normal or should it be different?

Hi @Nicolas-Gaudin, thanks for your interest in CORE-V-VERIF. We do not use Verilator as a sign-off simulator, so Verilator has "best effort" support. Having said that, the interrupt test is expected to work, so I will have a look.