abstractaccelerator/Cores-SweRV/release-notes.md

177 lines
6.9 KiB
Markdown
Raw Normal View History

2021-01-28 01:36:43 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.9 from Western Digital
## Release Notes
* Removed unused scan_mode input from dmi_wrapper (PR#89)
* Enhanced DMA/Side-Effect-load interlock to conditionally allow Side-Effect loads to be non-blocking
* See PRM for new enable bit in MFDC[13]
* Bug fixes for NMI, MPC, PMU corner cases, MPC ack timing fixes
* Trigger chaining compliance fixes for 0.13.2 missing cases
* Fixed qualification in DCCM access fault equation
* Updated reset hookup for AHB gasket
* Demo TB updates:
* added AXI LSU/DMA bridge and ICCM preload by CPU test,
* dhrystone test,
* exec.log shows instruction mnemonics
2020-09-19 04:34:02 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.8 from Western Digital
## Release Notes
* Enhanced Debug module to support access to system bus via access memory abstract commands (see PRM chapter 9)
* Enhanced mpmc firmware halt CSR to add atomic MSTATUS.MIE enable to mpmc CSR (see PRM section 5.5.1)
2020-09-19 04:34:02 +08:00
* Fixed 3 debug module issues reported by Codasip
* Fixed bug with IO load speculation
* Fixed issue with PIC ld/st access following a pipe freeze
* Improvements to demo testbench
2020-06-26 10:59:36 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.7 from Western Digital
## Release Notes
* RV_FPGA_OPTIMIZE is now default build option.
* Use -fpga_optimize=0 to build for lower power (ASIC) flows.
* Fixed a couple of cases of clock enable qualification for power reduction
* Fixes for 4 debug compliance issues reported by Codasip
* Fixed some remaining clock gating issues for RV_FPGA_OPTIMIZE to improve fpga speed
2020-05-16 02:40:52 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.6 from Western Digital
## Release Notes
* Added internal timers support. Please see Chapter 4 of the RISC-V SweRV EH1<sup>TM</sup> Programmers Reference Manual.
* Fixed an openOCD compliance case with abstract command error codes.
2020-02-19 05:40:11 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.5 from Western Digital
## Release Notes
This is a bug-fix and performance-improvement release. No new functionality
is added to the SweRV core.
2020-05-16 02:40:52 +08:00
##### 1. Bug fixes:
2020-02-19 05:51:15 +08:00
* Hart incorrectly cleared dmcontrol.dmactive on reset (reported by
2020-05-16 02:40:52 +08:00
Codasip). *Note that a separate system power-on-reset signal `dbg_rst_l`
2020-02-20 10:18:48 +08:00
was added to differentiate power-on-reset vs core reset.
2020-05-16 02:40:52 +08:00
They can be tied together is there is a single reset on chip.*
2020-02-19 05:51:15 +08:00
* Hart never asserted the dmstatus.allrunning signal on reset which
caused a timeout in OpenOCD (reported by Codasip).
* Debug module failed to auto-increment register on system-bus access
of size 64-bit (reported by Codasip).
* The core_rst_n signal was incorrectly connected (reported by Codasip).
2020-02-19 23:07:31 +08:00
* Module/instance renamed for tool compatibility.
2020-02-19 05:51:15 +08:00
* The program counter was getting corrupted when the load/store unit
indicated both a single-bit and a double-bit error in the same
cycle.
2020-02-19 23:07:31 +08:00
* The MSTATUS register was not being updated as expected when both a
non-maskable-interrupt and an MSTATUS-write happened in the same
cycle.
2020-05-16 02:40:52 +08:00
* Write to SBDATA0 was not starting a system-bus write access when
sbreadonaddr/sbreadondata is set.
* Minstret was incorrectly counting ecall/ebreak instructions.
2020-02-19 05:51:15 +08:00
* The dec_tlu_mpc_halted_only signal was not set for MPC halt after
reset.
2020-02-19 23:07:31 +08:00
* The MEPC register was not being updated when a firmware-halt request
was followed by a timer interrupt.
2020-02-19 05:51:15 +08:00
* The MINSTRETH control register was being incremented when
performance counters were disabled.
* Bus driver contained combinational logic from multiple clock
domains that sometimes caused a glitch.
* System bus reads were always being made with 64-bit size for the
AXI bus which is incorrect for IO access.
2020-02-19 23:07:31 +08:00
* DCCM single-bit errors were counted for instructions that did not
2020-02-19 05:51:15 +08:00
commit.
2020-02-19 23:07:31 +08:00
* ICCM single bit errors were double-counted.
2020-02-19 05:51:15 +08:00
* Load/store unit was not detecting access faults when DCCM and PIC
memories are next to each other.
2020-02-19 23:07:31 +08:00
* Single-bit ECC errors on data load were not always corrected in
2020-02-19 05:51:15 +08:00
the DCCM.
2020-02-19 23:07:31 +08:00
* Single-bit ECC errors were not always corrected in the DCCM for DMA
accesses.
* Single-bit errors detected while reading ICCM through DMA were not
2020-02-19 05:51:15 +08:00
being corrected in memory.
2020-05-16 02:40:52 +08:00
##### 2. Improvements:
2020-02-19 05:51:15 +08:00
* Improved performance by removing redundant term in decode stall
logic.
* Reduced power used by the ICCM memory arrays.
2020-05-16 02:40:52 +08:00
##### 3. Testbench Improvements:
2020-02-19 05:51:15 +08:00
* AXI4 and AHB-Lite support.
* Updated bus memory to be persistent and handle larger programs.
* Makefile supports ability to run with source or pre-generated hex
files.
2020-02-19 23:07:31 +08:00
* Makefile supports targets for CoreMarks benchmark (issue #25).
2020-02-19 05:51:15 +08:00
* Questa support in Makefile (Issue #19).
2020-02-19 05:40:11 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.4 from Western Digital
## Release Notes
Move declarations to top of Verilog file to fix fpga compile issues.
# SweRV RISC-V Core<sup>TM</sup> 1.3 from Western Digital
## Release Notes
2019-09-05 05:44:15 +08:00
1. Make the FPGA optimization code work with the latest version of Verilator.[Pull request #13](https://github.com/chipsalliance/Cores-SweRV/pull/12)
1. Move JTAG TAP to swerv_wrapper module. [Pull request #10](https://github.com/chipsalliance/Cores-SweRV/pull/10)
2019-08-14 03:43:09 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.2 from Western Digital
2019-08-11 04:23:08 +08:00
## Release Notes
1. SWERV core RISCV compatibility improvements
* The ebreak and ecall instructions are no longer counted in the MINSRET
2020-05-16 02:40:52 +08:00
control and status register.
2019-08-14 04:08:45 +08:00
* Write to SBDATA0 does not start SB write access when both
2020-05-16 02:40:52 +08:00
sbreadonaddr/sbreadondata are zero. This fixes issue number
5 on github.
2019-08-11 04:23:08 +08:00
1. FPGA support: Add fpga_optimize option to swerv.config which
eliminates over 90% of clock-gating enabling faster FPGA
simulation.
2019-08-14 03:43:09 +08:00
2019-08-14 05:42:26 +08:00
1. Usability: Untabified all the verilog files. This fixes issue number 3 on github.
2019-08-11 04:23:08 +08:00
2019-06-05 00:29:22 +08:00
# SweRV RISC-V Core<sup>TM</sup> 1.1 from Western Digital
## Release Notes
1. SWERV core RISCV compatibility improvements
* Illegal instructions no longer increment minstret
* Debug single-step command no longer executes multiple instructions
* For instructions, MTVAL register holds the address that actually
triggered an access fault
* DICAD1 debug CSR ECC read size enhancements
1. SWERV core performance enhancements
* Improved instruction fetch unit external memory access performance
* Instruction fetcher no longer stalls due to DMA ICCM requests
* Improved performance of streaming stores
* Improved performance of divide instruction
* Improved I/O Timing
* Non-idempotent Ld/St changed to non-posted in MFDC
* DMA QoS Configurable in MFDC
1. SWERV core miscellaneous changes
* Non-word access to PIC memory generates access-error
* Improved streaming performance with unified read/write buffer
* Non-idempotent load enhancements
* Debug, single-step, and trigger enhancements
* DMA, IFU, and LSU interaction enhancements
* Bus error handling improvements
* DMA h-ready addition
* DMA slave error response enhancements
2019-06-05 00:31:56 +08:00
1. Added memory protection windows
2019-06-05 00:29:22 +08:00
2020-05-16 02:40:52 +08:00
* Now able to define up to eight instruction fetch windows and up to eight
data load/store windows. See the programmer reference manual for more
details.