Commit Graph

146 Commits

Author SHA1 Message Date
Robert Korn fac01cee1c - fix missing brackets 2020-03-30 19:00:28 +02:00
Robert Korn 258d63d476 - fix missed timer interrupts,
when another interrupt activates shortly before
2020-03-27 07:26:48 +01:00
Clifford Wolf e6779ba52b Disable verilator warnings, fixes #128
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-08-06 15:16:06 +02:00
Clifford Wolf d046cbfa49 Add PICORV32_TESTBUG_nnn ifdefs for testing purposes
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-06-30 11:30:18 +02:00
Clifford Wolf 18cd609853 Add rvfi_ixl
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-06-26 00:07:16 +02:00
Clifford Wolf e0baf2e0bd Add RVFI CSRs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-06-07 00:04:37 +02:00
Clifford Wolf 6d145b708d Rename decoded_imm_uj to decoded_imm_j
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-03-02 14:29:27 -08:00
Clifford Wolf 23d7bbdc8b Add rvfi_mode (set to constant 3 = M-mode)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-31 12:21:01 +02:00
Clifford Wolf ed69f9e451 Update riscv-formal altops bitmasks 2017-10-07 01:24:59 +02:00
Clifford Wolf 7b6aa21f34 Fix bug in picorv32_pcpi_div, Add RISCV_FORMAL_ALTOPS support 2017-10-06 17:33:44 +02:00
Clifford Wolf ad08edd2e5 Add PICORV32_REGS mechanism for ASIC sram instantiation 2017-10-01 15:45:46 +02:00
Clifford Wolf 1c889ee3b5 Silenced some warnings when ENABLE_MUL but not ENABLE_PCPI 2017-09-22 04:50:48 +02:00
Clifford Wolf 8db3073ff9 Add correct interupt handling in RVFI trace 2017-09-13 18:45:17 +02:00
Clifford Wolf 9fca5934aa Add rvfi_halt and rvfi_intr to picorv32_axi and picorv32_wb 2017-09-13 18:44:57 +02:00
Clifford Wolf 13f93b7000 Revert "Fix RISCV_FORMAL_BLACKBOX_REGS (broke liveness on branch ops)"
This reverts commit 624bc05f98.
2017-09-13 02:24:15 +02:00
Clifford Wolf 624bc05f98 Fix RISCV_FORMAL_BLACKBOX_REGS (broke liveness on branch ops) 2017-09-12 22:46:25 +02:00
Clifford Wolf cd72560937 Update rvfi_order according to current rvfi spec 2017-09-05 01:10:04 +02:00
Clifford Wolf f99cd747da Suppress writes to cpuregs[0] to prevent confusion 2017-07-14 11:20:55 +02:00
Larry Doolittle c9de8001fe Remove some trailing whitespace 2017-06-13 13:22:25 +02:00
Clifford Wolf 45b80f985a Add rvfi_halt and rvfi_intr ports 2017-06-06 20:27:45 +02:00
Clifford Wolf f295b900bc Add RVFI to AXI and WB wrappers modules, Add RVFI monitor support to test bench 2017-05-27 19:58:44 +02:00
Clifford Wolf bb9ebeb9e3 Fixed jalr, c_jalr, and c_jr insns (bug discovered by riscv-formal) 2017-05-18 17:19:08 +02:00
Clifford Wolf 436544ccab Fix decoding of C.ADDI instruction
See https://groups.google.com/a/groups.riscv.org/forum/#!topic/isa-dev/mr3H6S6IIts
for discussion. There was a bug in the ISA manual.
2017-05-13 12:28:54 +02:00
Clifford Wolf cd30db3425 Add riscv-formal alu/regs blackboxing 2017-05-11 00:13:01 +02:00
Clifford Wolf bf9687028d Fix decoding of illegal/reserved opcodes as other valid opcodes 2017-05-07 21:13:46 +02:00
Antony Pavlov 7c852571f0 testbench_wb.v: unify verbose output with axi testbench
Unification of testbench output makes it possible to use the diff
utility for comparing testbench instruction traces.

Alas the testbench and testbench_wb traces are differ
because of interrupts, e.g.

    picorv32$ make testbench_wb.vvp
    iverilog -o testbench_wb.vvp -DCOMPRESSED_ISA -DRISCV_FORMAL testbench_wb.v picorv32.v
    chmod -x testbench_wb.vvp
    picorv32$ make testbench.vvp
    iverilog -o testbench.vvp -DCOMPRESSED_ISA -DRISCV_FORMAL testbench.v picorv32.v
    chmod -x testbench.vvp
    picorv32$ vvp -N testbench_wb.vvp +verbose | head -n 856 > /tmp/testbench_wb.log
    picorv32$ vvp -N testbench.vvp +verbose | head -n 856 > /tmp/testbench.log
    picorv32$ diff -u /tmp/testbench.log /tmp/testbench_wb.log
    --- /tmp/testbench.log  2017-04-06 06:56:06.079804549 +0300
    +++ /tmp/testbench_wb.log       2017-04-06 06:55:58.763485130 +0300
    @@ -850,7 +850,7 @@
     RD: ADDR=000056a0 DATA=00000013 INSN
     RD: ADDR=000056a4 DATA=fff00113 INSN
     RD: ADDR=000056a8 DATA=00000013 INSN
    -RD: ADDR=000056ac DATA=14208463 INSN  <--- testbench: no interrupt
    -RD: ADDR=000056b0 DATA=00120213 INSN
    -RD: ADDR=000056b4 DATA=00200293 INSN
    -RD: ADDR=000056b8 DATA=fe5212e3 INSN
    +RD: ADDR=00000010 DATA=0200a10b INSN  <--- testbench_wb: interrupt
    +RD: ADDR=00000014 DATA=0201218b INSN
    +RD: ADDR=00000018 DATA=000000b7 INSN
    +RD: ADDR=0000001c DATA=16008093 INSN

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
2017-04-06 06:56:39 +03:00
Clifford Wolf 3495604877 Fix indenting in wishbone code 2017-03-14 11:51:09 +01:00
Antony Pavlov e59fa1dfb2 WIP: add WISHBONE interconnect support
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
2017-03-14 09:37:04 +03:00
Clifford Wolf f33ddd3654 Fix in rvfi_mem_ handling (when compressed isa is enabled) 2017-02-27 14:21:42 +01:00
Clifford Wolf aaa9e25756 Add DEBUGNETS debug flag 2017-02-26 16:56:13 +01:00
Clifford Wolf c7cc32ed95 Fix verilog code for modelsim 2017-02-17 15:23:58 +01:00
Clifford Wolf e4312b0fab Fix "mem_xfer is used before its declaration" warning 2017-02-11 12:52:18 +01:00
Clifford Wolf a2107ed4ff Rename RVFI ports 2017-01-27 16:12:02 +01:00
Clifford Wolf f975ce1e45 Fix picorv32_axi STACKADDR default value 2017-01-15 20:34:19 +01:00
Oguz Meteer 510d4de1b1 Add STACKADDR parameter to picorv32_axi module
Signed-off-by: Oguz Meteer <info@guztech.nl>
2017-01-15 14:49:01 +01:00
Clifford Wolf f5d146c2f1 Added rvfi_mem interface 2016-12-20 11:49:09 +01:00
Clifford Wolf ef86b30b25 Fixed some linter warnings in picorv32.v 2016-12-15 14:03:27 +01:00
Clifford Wolf 72d6f6f72d Added rvfi_post_trap 2016-12-13 17:13:53 +01:00
Clifford Wolf 54a8e4b311 Fixed catching jumps to misaligned insn 2016-11-29 18:36:05 +01:00
Clifford Wolf 17c7da49f4 Renamed rvfi_opcode to rvfi_insn 2016-11-28 14:56:29 +01:00
Clifford Wolf 7fc2cbd72a More RVFI bugfixes 2016-11-27 13:46:43 +01:00
Clifford Wolf fd38f876e1 Minor RVFI bugfix 2016-11-24 15:23:33 +01:00
Clifford Wolf 117586ff19 Added RISC-V Formal Interfcae (RVFI) 2016-11-23 03:02:02 +01:00
Clifford Wolf f82af97595 Another bugfix regarding compressed ISA and unaligned insns 2016-11-18 15:36:59 +01:00
Clifford Wolf 4101cfe810 Fixed the nontrivial compressed ISA bug found by tracecmp2 2016-09-16 13:15:21 +02:00
Clifford Wolf c209c016b3 More fixes related to assertpmux checks 2016-09-13 23:21:31 +02:00
Clifford Wolf 5bea3f9917 Added more asserts for the memory interface 2016-09-13 19:34:14 +02:00
Clifford Wolf 2f3e3a6910 Merge pull request #21 from wallclimber21/mem_wdata
Only clock mem_wdata when necesssary
2016-09-08 09:42:51 +02:00
Tom Verbeure 38a760daf8 Fix tabs 2016-09-07 20:34:28 -07:00
Tom Verbeure 80aa70ec2e Only clock mem_wdata when necessary 2016-09-07 20:32:32 -07:00