Luke Wren
5976a8a9b7
Add activity LED to iCEBreaker
2021-07-25 13:13:41 +01:00
Luke Wren
91edd62ea1
Bump libfpga for FIFO coding style tweak
2021-07-24 22:06:57 +01:00
Luke Wren
8263ee3a5d
Fix reporting DPC after an excepting instruction when halt request is simultaneous with exception
2021-07-24 15:31:33 +01:00
Luke Wren
6fcc74a043
Add some instructions to Readme
2021-07-24 11:53:08 +01:00
Luke Wren
70a44d9681
Small code cleanup
2021-07-24 10:08:27 +01:00
Vadzim Dambrouski
2b1dee4bcc
Fix broken submodule path
2021-07-24 09:55:06 +01:00
Luke Wren
155d3ba554
Tie off 1 or 2 LSBs of DPC depending on IALIGN
2021-07-23 23:09:03 +01:00
Luke Wren
115cb2c50f
Tweaks to example soc configuration
2021-07-23 23:08:23 +01:00
Luke Wren
279e4b4f29
Implement mstatush as hardwired-0, as required by priv-1.12
2021-07-23 21:52:01 +01:00
Luke Wren
2ae30183aa
Working ECP5 debug, seems a bit slow but maybe just due to bitbanged FT231X JTAG.
2021-07-23 18:32:47 +01:00
Luke Wren
8ceae7e9e6
Start hacking on ECP5 JTAG DTM
2021-07-23 00:36:55 +01:00
Luke Wren
41477ce479
Extract DTM bus/control logic from the JTAG-related parts
2021-07-22 19:26:25 +01:00
Luke Wren
b0d11c0ab7
Add RISC-V debug tests
2021-07-22 17:50:04 +01:00
Luke Wren
c14960ee1b
Add mtime/mtimecmp to openocd testbench
2021-07-22 17:31:26 +01:00
Luke Wren
5d2a562f65
Just use read_verilog; write_cxxrtl when building tb_cxxrtl
2021-07-22 17:30:30 +01:00
Luke Wren
8cdde82248
Coding style tweaks for ALU to workaround upstream Yosys issue, see #1 and friends
2021-07-20 00:13:26 +01:00
Luke Wren
7d24f42da9
Oops, properly fix platform IRQ mcause numbers
2021-07-19 09:32:59 +01:00
Luke Wren
65fb62901e
Mask off trap entry assertion from IRQs when in debug mode. Because the IRQ is level-sensitive, this caused trap entry to be held asserted when an IRQ fired in debug mode. This was exposed by the last bug fix -- it is only seen now that MIE+MPIE shuffling is correctly disabled in debug mode.
2021-07-19 00:19:56 +01:00
Luke Wren
70443fa557
Disable shifting of MIE/MPIE stack when in or entering debug mode
2021-07-18 21:14:11 +01:00
Luke Wren
e4b0d999cb
Minor doc updates
2021-07-18 20:45:08 +01:00
Luke Wren
d30fc46f5b
Fix IRQ mcause not being set correctly when vectoring is disabled
2021-07-18 20:44:39 +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
e95b465e26
Typo in address of mcountinhibit!
2021-07-17 19:27:01 +01:00
Luke Wren
d9300ee127
Fix bad handshake on bus error response (need to report both phases of response, to get clean exception entry
2021-07-17 19:26:45 +01:00
Luke Wren
8014239d47
openocd tb: report AHB error response when processor accesses outside of RAM/IO
2021-07-17 19:26:05 +01: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
46f95f859d
Some doc updates
2021-07-17 13:07:09 +01:00
Luke Wren
14ba030271
Example soc tweaks, add openocd config
2021-07-16 20:44:25 +01:00
Luke Wren
8e3dc62b97
Fiddly handshake changes for hardware single-stepping. Can now step correctly through illegal instructions
2021-07-16 20:43:24 +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
62822b2e1d
Couple of usability improvements for openocd testbench
2021-07-15 19:42:49 +01:00
Luke Wren
011008efd1
Fix detection of exception-like vs IRQ-like halt/trap entries
2021-07-15 19:41:35 +01:00
Luke Wren
71ec9fa283
Fix exception entry not counting as a step point for dcsr.step, and mask off IRQs in step mode (we tie dcsr.stepie = 0)
2021-07-14 20:39:51 +01:00
Luke Wren
9643a57ba9
Slightly less braindead TCP interactions for openocd JTAG bitbang testbench, much more interactive now
2021-07-14 19:20:27 +01:00
Luke Wren
f4952ab66d
Add simple example SoC, hangs nextpnr for some reason!
2021-07-13 03:40:06 +01:00
Luke Wren
307955c810
Make CPU regfile nonresettable when FPGA symbol is defined, to support BRAM inference
2021-07-13 01:10:55 +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
42632e325a
Fix brokenness of JTAG-DTM and CDC, add openocd remote bitbang testbench for DTM + DM + core
2021-07-12 21:21:16 +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
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
47fa7f4d10
Associated doc updates
2021-07-10 18:53:59 +01:00
Luke Wren
63d661af63
Start hacking in debug support to the core -- seems to work as well as before adding debug!
2021-07-10 18:53:48 +01:00