Commit Graph

41 Commits

Author SHA1 Message Date
Scott Shawcroft 7fbdb69328 Allow reconnecting to the testbench JTAG socket 2022-12-17 11:58:14 +00:00
Luke Wren dff278ea05 Increase DTM idle cycle hint to 8 cycles -- see #6 2022-10-19 21:11:18 +01:00
Luke Wren 0b18fae32e Fix swapped MHARTID/MCONFIGPTR values in tb configs 2022-10-08 08:42:50 +01:00
Luke Wren 874cb20910 Add config headers to tb_cxxrtl instead of using defparams in Makefile 2022-10-08 08:09:26 +01:00
Luke Wren da4097ecd8 Delay pwrup_req->pwrup_ack in tb 2022-08-29 14:55:11 +01:00
Luke Wren 2ae2463b97 First stab at adding wake/sleep state machine 2022-08-28 19:50:04 +01:00
Luke Wren bf38d93d33 Remove references to AHB-Lite, describe buses as (a subset of) AHB5 2022-08-28 14:15:20 +01:00
Luke Wren 6e3799eed0 First attempt at hacking in triggers, at least seems to have not broken other exception logic. Not yet tested. 2022-08-22 08:47:03 +01:00
Luke Wren 15cb21ae43 First pass at implementing the new IRQ controls. Works well enough that the old tests pass :) 2022-08-07 20:51:12 +01:00
Luke Wren 91be98f2da Make rvpy IO output look exactly like tb_cxxrtl (bringing up embench) 2022-07-06 23:53:11 +01:00
Luke Wren b7d9defcf2 Add MUL_FASTER option to retire fast mul to stage 2 instead of stage 3 2022-07-05 03:37:19 +01:00
Luke Wren 9e15cd3485 Add standalone SBA-to-AHB shim, and make SBA off by default in the DM 2022-07-03 15:30:33 +01:00
Luke Wren d5cd3e0681 Add SBA patch-through to 1-core wrapper.
Add SBA properties to bus compliance checks.
Hook up SBA in dual-core single-port debug tb.
2022-07-03 15:17:44 +01:00
Luke Wren 51bc26f8ac First pass at adding system bus access to DM. Currently only the 2-port processor supports SBA patchthrough. 2022-07-03 00:25:47 +01:00
Luke Wren 8ef9d77be8 Add 'everything but MHARTID' option to config_inst, to allow its reuse in multicore instantiations.
Use this to fix the multicore tb not instantiating cores with all parameters correct (e.g. U_MODE)
2022-06-25 13:11:40 +01:00
Luke Wren 9e2f5df00a Add testbench flag to propagate CPU return code to testbench return 2022-05-28 15:00:28 +01:00
Luke Wren 20f06c4a02 Build tb with 4 PMP regions by default 2022-05-24 20:06:57 +01:00
Luke Wren cfed35b3da Fix the stupid printf warning on x86-64 as well as arm64 2022-05-24 18:22:25 +01:00
Luke Wren ba81b533d2 Build core with U mode support for tb 2022-05-24 16:44:22 +01:00
Luke Wren 4ba3f7ceb9 Fix format warning in tb.cpp on arm64 2022-05-24 16:17:54 +01:00
Luke Wren 7dc5046505 Perf option for dedicated branch comparator 2022-04-02 11:40:47 +01:00
Luke Wren a81d129961 Add exclusives monitor to testbench 2021-12-17 17:03:35 +00:00
Luke Wren 5ab60422ad Add minimal multicore launch code 2021-12-17 01:24:11 +00:00
Luke Wren 01d9617f9c Add multicore tb integration file 2021-12-17 00:41:23 +00:00
Luke Wren 207566660d tb: handle both ports identically. Preparing for dual core 2021-12-17 00:04:00 +00:00
Luke Wren 9fb2af800f Allow IRQs to be set/cleared by sw in tb. Add soft IRQ test 2021-12-12 14:58:50 +00:00
Luke Wren f64f44f7af Add test for identification CSRs vs expected values 2021-12-11 13:26:59 +00:00
Luke Wren c90727b05a Remove padding after vector table in init.S 2021-12-11 12:22:23 +00:00
Luke Wren 6d55cd2d55 Consolidate openocd and bin-load testbenches 2021-12-11 09:46:38 +00:00
Luke Wren 3d2c912b4f Add test script to make it easier to add software testcases 2021-12-09 22:25:18 +00:00
Luke Wren 5e17bb805e Add basic support for lr/sc instructions from the A extension 2021-12-04 15:02:31 +00:00
Luke Wren c8afb4ac33 Add option for fast high-half multiplies 2021-11-29 18:48:02 +00:00
Luke Wren c1f17b0b23 Add wfi timer loop example, and add mtime/mtimecmp to non-debug testbench 2021-11-06 09:59:27 +00:00
Luke Wren 5d2a562f65 Just use read_verilog; write_cxxrtl when building tb_cxxrtl 2021-07-22 17:30:30 +01:00
Luke Wren c56c75e14b More dicking with yosys cmd for tb_cxxrtl;
Removing the prep pass as suggested leads to invalid VCD net names.
Adding a opt_clean (+ prerequisites) fixes that.
Adding splitnets -driver afterward wins back the performance lost by
that last addition. Can you tell I don't know what I'm doing
2021-07-18 16:46:00 +01:00
whitequark 12bf9bb570 Make CXXRTL testbench ~25% faster 2021-07-18 16:04:19 +01:00
Luke Wren 2618ae0c07 Double-step() after clock posedge to workaround CXXRTL port propagation issue 2021-07-18 16:03:53 +01:00
Luke Wren ce5cc1f150 oops, bounds checking on free-running tb_cxxrtl 2021-07-18 15:20:25 +01:00
Luke Wren 5cc483898d Add smoke test for core debug interface, and suppress bus fetch incrementing frontend level counter when in debug mode 2021-07-10 21:02:18 +01:00
Luke Wren 1b252d4bda Significant overhaul of trap handling. Exceptions now taken from stage 3 instead of stage 2 2021-05-23 11:59:46 +01:00
Luke Wren 90acfdcbe8 Organise test directory into formal and sim 2021-05-23 07:42:35 +01:00