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.
- Fix non-setable MEIE bit in MIE CSR
- Check execute PMA on instruction frontend
- Add support for non-contiguous cacheable regions to the PMA checks
- Provision exponential backoff for AMO SC in L1 D$ miss handler
- Several small fixes to get the code running on VCS
- Fix compressed instruction decoding in tracer
- Fix privilege bug in performance counters. The counters have always been accessible in user mode.
- Fix RISC-V PK simulation bug caused due to insufficient time to init the
a0
anda1
registers via the bootrom - Fix bug in
wt_axi_adapter
(only appeared when dcache lines were wider than icache lines) - Fix potentially long timing path in
axi_lite_interface
- Fix VCS elab warning in
load_store_unit
- Replace PLIC with implementation from lowRISC
- Re-work interrupt and debug subsystem to associate requests during decode. This improves stability on for non-idempotent loads.
- Bump
fpnew
tov0.5.5
- Bump
axi
tov0.7.0
- Bump
common_cells
tov1.13.1
- Bump
riscv-dbg
tov0.1
- Improve FPU pipelining and timing around scoreboard
- Reworked the
axilite
to PLIC shim for OpenPiton+Ariane - Remove
in
andout
aliases for AXI interfaces - Fix small issues with DC synthesis
- Fix wrong dirtying of
sd
flag inmstatus
- Synthesis fix for
Vivado 2018.3
- Clean-up instruction front-end, small IPC improvement
- Move to Verilator
4.014
- Update FPU headers (license)
- Hotfix: add missing defines for OpenPiton cache system.
- Official support for floating point unit
- Added AXI-64bit adapter for write-through cache system
- Added AXI atomic ops and exclusive access support to write-through cache system
- Provision
riscv-isa-sim
tandem simulation - Support for preloading
- Rerouted the JTAG from PMOD to second channel of FTDI 2232 chip on Genesys 2 board
- Increase available RAM size on Genesys II board to 1 GiB
- Fixed problem which decoded compressed hints as illegal instructions
- Reduce clock frequency of FPGA to 30 MHz to accomodate FPU
- Bugfixes in write-through cache system
- ID width fix in random delayer
- Preliminary support for A-Extension
- Preliminary FP support
- Preliminary support for OpenPiton cache system
- Commit log feature
- Provisioned
aw_top
signal for close to memory atomics - FPGA Support
- Misc bug-fixes
- Platform Level Interrupt Controller (PLIC)
- FPGA Bootrom with capability to boot from SD Card
- core_id / cluster_id inputs have been merged to hard_id input (interface changes)
- The three AXI ports have been merged into one (interface changes)
- [Bugfix] Wrong flagging of memory in machine mode if high bits (63-38) are not equal #136
- Added RISC-V compliant debug (interface changes)
- Implemented basic re-naming
- [Bugfix] Cache-refill AXI logic (AXI protocol violation)
- [Bugfix]
MSTATUS
write-able throughSSTATUS
#65 - [Bugfix] PTW has protocol violation #61
- [Bugfix] Race-condition #54
- Removed timer input. Access to mtime will trap and must be handled by M-mode SW.
- Bugfix in flush behaviour of cache #34
- Pumped submodules
- Improved instruction fetch fronten-end
- Add RAS
- Add support for Bender hardware management
- Bugfix in non-detected illegal instruction #12
- Bugfix in non-detected illegal instruction JALR (funct3 != 0)
- Bugfix in non-detected illegal instruction FENCE (some bit-checks missing)
- Instruction cache added
- Support for Verilator
- CI support for verilator
- Update documentation
- Non-blocking data cache
- Two AXI interfaces on top level, one for bypassing and one for actual cache-able regions
- Performance Counters
- Hardware multiplication (full M-Extension)
- Support for inter processor interrupts (IPI)
- Testbench: EOC component now listening on store interface only
- Store interfaces has been simplified by removing the
valid
signal, a transaction is now considered finished as soon as the dcache gives the grant signal. - EOC and dcache checker has been reworked to get rid of absolute path in UVM testbench
- Fix problem when bypassing the data cache
Linux booting on FPGA.
- Support for M Extension (mul, div and reminder) in simulation
- Preliminary debug support
- Added support for cache management instructions
- Various bug fixes (branch-prediction, PTW and TLB problems, interrupt handling)
- Fixed synthesis issues
- Added support for device tree in Ariane's testbench
- Bugfixes in compressed decoder (legal shifts where throwing an illegal instruction although they where legal)
- Increase memory size to 16 MB in-order to simulate a full Linux boot
- Re-worked timer facilities in the CSR section, moved to a platform RTC
- Core completed its first full Linux boot
- Changelog design, adhering to a common standard
- Virtual memory support according to RISC-V privilege specification 1.11 (WIP)
- Add support for Torture test framework
- IPC improvements
- Timing improvements
- New fetch interface, smaller and ready for macro-op fusion and dual-issue
- Initial development, getting to a stable point