cvw/wally-pipelined/testgen/privileged
2021-04-29 16:39:18 -04:00
..
README.md Add tests for scause, and improve tests for sepc. Also make improvements to privileged test generator run.sh file 2021-04-21 01:12:55 -04:00
run.sh Add tests for scause, and improve tests for sepc. Also make improvements to privileged test generator run.sh file 2021-04-21 01:12:55 -04:00
testgen-CAUSE.py Add machine-mode timer interrupts to mcause tests 2021-04-29 16:39:18 -04:00
testgen-DELEG.py Add machine-mode timer interrupts to mcause tests 2021-04-29 16:39:18 -04:00
testgen-EPC.py Add tests for scause, and improve tests for sepc. Also make improvements to privileged test generator run.sh file 2021-04-21 01:12:55 -04:00
testgen-IE.py Working MIE timer tests 2021-04-29 15:19:43 -04:00
testgen-READONLY.py
testgen-RET.py
testgen-TVAL.py Add tests for stval and mtval 2021-04-21 02:31:32 -04:00
testgen-TVEC.py Add medeleg tests 2021-04-29 15:02:36 -04:00

Privileged Test Generators

Create a test generator in this folder with the name testgen-NAME.py. Then, to generate and compile these tests, use:

sh run.sh NAME

For example, for testgen-CAUSE.py, we would run sh run.sh CAUSE.

This bash file is super basic, so only allows for a single argument after the name. Provide -sim as the second argument to simulate the compiled tests using wally.

sh run.sh NAME -sim

To compile tests without running them in OVPsim, provide -c as the second argument

sh run.sh NAME -c

The test generator also has a really nice feature that grabs the location of begin_signature after compiling the tests. For example, running sh run.sh EPC will output something like this at the end:

rv64p = '{
    'rv64p/WALLY-MEPC', '5000',
    'rv64p/WALLY-SEPC', '4000'
};

rv32p = '{
    'rv32p/WALLY-MEPC', '5000',
    'rv32p/WALLY-SEPC', '4000'
};