Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased]
[0.7.0] - 2022-11-02
Fixed
- 64-bit unaligned accesses (#145) @creinwar
- Various minor testbench fixes (#146)
Changed
- Halted, Resume and Exception addresses are now aligned to 8 bytes
[0.6.0] - 2022-10-11
Fixed
- Testbench build (#141, #142)
- remote_bitbang tb build for newer GCC versions (#133) @epsilon537
- 32-bit access to abstract data (#27) @Silabs-ArjanB
dm_mem
: Clear state of hart upon ndmreset (#140) @andreaskurthdmi_jtag_tap
: Bring all state to initial value in test-logic-reset (#139) @andreaskurth- Fix DMI response when command or SBA are busy (#138) @andreaskurth
Changed
- Add expontential backoff to read_dmi in tb (#134) @colluca
[0.5.1] - 2022-04-12
Fixed
- Fixed dmi_bscane_tap top-level signals
[0.5.0] - 2022-04-04
Added
- Add sbaccess8 and sbaccess16 support (#106) @noytzach
- Implement SBA bad address error (#12) @msfchaffner
- Added random reset tests to dmi testbench.
Changed
- Implement
dmihardreset
functionaliy in dtmcs
register. dmi_rst_ni
of dm_top
is now a synchronous signal. However, dmi_rst_no
of dmi_jtag
is glitch-free and asserted during all forms (functional or POR) of resets.
Fixed
- Fixed documentation (csr)
- Fixed reset value of sbcs register (#127) @msfchaffner
- Fixed various ascent lint warnings @msfchaffner
- Implement proper CDC flushing behavior on functional resets and JTAG resets (asynchronous or TestLogicReset driven).
- Fix JTAG non-compliance in TestLogicReset state (IR should reset to IDCODE).
[0.4.1] - 2021-05-04
Added
Changed
Fixed
- Remove superfluous helper variable in dm_csrs.sv
- Synchronized Bender.yml entries
- Various Lint warnings
[0.4.0] - 2020-11-06
Added
- Added parameter ReadByteEnable that may be disabled to revert SBA be behavior to 0 on reads
- Optional wrapper
dm_obi_top.sv
that wraps dm_top
providing an OBI compliant interface tb
that runs dm in conjunction with ri5cy and OpenOCD.travis-ci.yml
running tb
with verilator
Changed
- Made second scratch register optional (default is two) from @zarubaf
- Use latest version of CV32E40P in testbench (#82) @Silabs-ArjanB
- Move assertions into separate module (#82) @Silabs-ArjanB
Fixed
- Fix for SBA be when reading to match the request size from (#70) @jm4rtin
- Off-by-one error in data and progbuf end address from @pbing
- Haltsum1-3 calculation
- A DMI read of SBAddress0 andSBAddress0 will (wrongly) trigger SBBUSYERROR when the system bus master is busy (#93) @Silabs-ArjanB
- When the two scratch mode is being used, a0 was loaded instead of saved into scratch1 (#90) @Silabs-ArjanB
- dmireset can be accidentally triggered (#89) @Silabs-ArjanB
- enumeration lint issue in ProgBuf (#84) @Silabs-ArjanB
- Fix faulty assertion because of bad
hartinfo_i
in testbench (#82) @Silabs-ArjanB - Return
CmdErrBusy
if accessing data or progbuf while command was executing (#79) @noytzach
[0.3.0] - 2020-01-23
Added
Changed
Fixed
[0.2.0] - 2019-08-16
Added
Fixed
- Fix haltsum1, haltsum2 and haltsum3
- Fix minor linter issues
[0.1.0] - 2019-05-18
Added
- Parametrize buswidth to support 32-bit and 64-bit cores
- Support arbitrary base addresses in debug ROM
- Add misc helper functions to facilitate code generation
- Add README
- Fork from Ariane
Changed
- Allow generic number of data registers
- Make JTAG IDCODE parametrizable
Removed
- Remove ariane specific packages
Fixed
- Fix resumeack and resumereq behaviour to be cleared and set according to debug specification
- Add missing JTAG test logic reset handling
- Fix resume logic in multihart situations
- Fix missing else(s) in system bus access
- Fix bad transitions into program buffer
- Fix error handling when using unsupported abstract commands
- Prevent harts from being in multiple states
- Fix various style issues