Commit Graph

30 Commits

Author SHA1 Message Date
Luke Wren cb700f30b1 Fix abstract access GPR command using wrong register number when initiated by abstractauto.
Fixes #20. Bug introduced in  78a5cb9.
2024-10-12 19:35:13 +01:00
Luke Wren 799f4f2c26 Fix verilator lint width issues in triggers, PMP, DM.
There was one genuine issue introduced by PPA changes in 78a5cb98e which
affected instruction injection on multiple harts from the DM (indicating
SMP debug testing needs to be part of regular automated regressions,
instead of semi-manual...). The rest are cosmetic.
2024-05-29 15:32:45 +01:00
Luke Wren 8b9503c804 lint: clean up a couple of width fixes in JTAG DTM, and add missing
default case to DM acmd state machine. Also remove unnecessary clear
of JTAG DR shifter on TAP reset state, which saves a bit of logic. Two
width mismatches are left unfixed in the DTM (the ones with shifts)
because they bizarrely increase area by 100 LUT4s when fixed.
2024-05-27 13:12:18 +01:00
Luke Wren 78a5cb98ea PPA: Register instruction injection output from DM, to reduce routing impact on frontend prefetch queue 2024-05-27 08:12:07 +01:00
Luke Wren af08c0becd Fix initiation of SBA reads not being masked by previous SBA error or busy error. 2024-03-17 05:49:45 +00:00
Luke Wren ba3c3138ef Fix 3 minor Debug Module bugs:
- sbdata0 should ignore writes when sbbusyerror or sberror is set
- All sbaddress0 writes and sbdata0 accesses should set
  sbbusyerror if sbbusy is set
- sbaddress should not increment if access gets bus error
2023-03-03 13:24:31 +00:00
Luke Wren 797bff81ab DM: fix any/allnonexistent going low when hasel is set. The hart array mask is in addition to the hart selected by hartsel. 2022-07-30 19:55:22 +01:00
Luke Wren 0567c2c9fe Two minor DM bugs:
- Writes to dmcontrol.resumereq should be ignored if dmcontrol.haltreq is also set
- aarsize and regno should be ignored when command.transfer is not set
2022-07-30 17:22:46 +01:00
Luke Wren cac98568e6 Ignore read data from failed SBA accesses 2022-07-03 20:58:01 +01:00
Luke Wren c7a32c4d00 SBA: fix alignment check using a stale address when the trigger is an sbaddress write. Fix new transfers being allowed to start when sberror or sbbusyerror are set. 2022-07-03 19:02:30 +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 d6bef56788 Fix missing byte picking/replication in non-word-aligned SBA transfers 2022-07-03 14:22:12 +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 36cee73d1f Fix acmd FSM not selecting the correct hart signal for its state transitions, and make flush take precedence over debug injection in frontend. (Changes from aborted abstract access memory implementation, see abstract-access-memory branch) 2022-07-02 22:46:20 +01:00
Luke Wren c2756e79fc Fix misreading of spec: hartsel hart is selected in addition to those bits set in hart array mask, when hasel is set. 2022-06-26 19:58:01 +01:00
Luke Wren ad8f883406 First pass at hart array mask register in DM 2022-06-25 20:34:53 +01:00
Luke Wren ea2b8888a4 Update copyright years 2022-06-09 00:12:01 +01:00
Luke Wren b0d28447ab New license headers: DWTFPL -> Apache 2.0 2021-12-13 23:23:40 +00:00
Luke Wren 1ebccb7cce Switch DM to use byte addresses on APB, not word addresses 2021-12-02 01:47:30 +00:00
Luke Wren e7466ae4be Move DM data0 CSR into the M-custom space, and document this 2021-11-28 15:52:52 +00:00
Luke Wren e05e9a4109 Add default_nettype none at top of every file, and default_nettype wire at bottom 2021-11-23 22:10:39 +00:00
Luke Wren 5deff12f95 DM: don't report as running/halted in dmstatus if unavailable. 2021-07-17 16:46:39 +01:00
Luke Wren ab0b4a04f0 Also support progbuf in abstractauto. 2021-07-17 15:08:00 +01:00
Luke Wren 5aca6be572 Implement data0 inside of DM instead of core, so it gets correct reset. Add dummy tselect CSR. 2021-07-16 18:28:30 +01:00
Luke Wren ce5152a4f4 Implement HALTSUM0 and HALTSUM1 registers 2021-07-16 17:58:28 +01:00
Luke Wren 93c7039ea1 Sync doc updates 2021-07-12 22:13:31 +01:00
Luke Wren 4b650ac437 DM: add missing w1c to abstract cmderr, add capture of last abstract command for use with abstractauto 2021-07-12 21:26:00 +01:00
Luke Wren 27674be996 Start hacking in a JTAG-DTM 2021-07-12 01:49:32 +01:00
Luke Wren f7b3097ad6 Fix some bugs/typos in DM, add a tb to run read/write vectors against DM, confirm that GPR read/write works 2021-07-11 16:20:39 +01:00
Luke Wren 0dce59daaf Start hacking together a DM 2021-07-11 05:11:19 +01:00