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.
axi_riscv_lrsc
: Enable full bandwidth on ID queues for performance
axi_riscv_lrsc
: Fix burst invalidation length
axi_riscv_lrsc
: Fix missing sequential logic for aw_wait reg
axi_riscv_lrsc
: Add support for AXI write bursts onto memory regions that may have reservations.axi_riscv_lrsc
: Add capability to specify the reservation granularity.
axi_riscv_atomics_structs
: Add wrapper using struct ports
axi_riscv_atomics
: Add parameterizable cut between amo and lrsc stage
axi_riscv_lrsc_tb
: Remove timeunit to improve tool compatibility
axi_riscv_lrsc
: Always apply tool workaround, as VCS also has trouble with the syntax and it is likely that other Synopsys tools suffer from the same problem.
axi_riscv_atomics
: Add capability to use the AXI User signal as reservation ID.
axi_riscv_amos
: Useaxi_pkg::ATOP_R_RESP
to determine the need for an R response.axi_riscv_amos
: Only treat requests as ATOPs if the two MSBs are nonzero.
- Add testbench for
axi_riscv_atomics
axi_riscv_lrsc
now supports a configurable number of in-flight read and write transfers downstream.
axi_riscv_lrsc
is now able to sustain the nominal write bandwidth.axi_riscv_lrsc
now orders SWs and SCs in accordance with RVWMO (#4).axi_riscv_amos
use LR/SC to guarantee atomicity despite in-flight writes downstream.
- Update
axi
dependency to v0.6.0 (from an intermediary commit).
axi_riscv_amos
: Fixed timing of R response (#10).
- Made SystemVerilog interfaces optional. Top-level modules now expose a flattened port list, and an optional wrapper provides SystemVerilog interfaces. This improves compatibility with tools that have poor support for SystemVerilog interfaces.
axi_riscv_amos
: Fixed burst, cache, lock, prot, qos, region, size, and user of ARs.
axi_res_tbl
: Fixed assignments inalways_ff
process.axi_riscv_amos
: Removed unused register.axi_riscv_amos
: Added missing default assignments in AW FSM.axi_riscv_amos
: Fixed sign extension of 32bit AMOs on 64bit ALU.axi_riscv_amos
: Removed unused signals.axi_riscv_atomics_wrap
: Fixed syntax of interface signal assignments.axi_riscv_lrsc
: Added missing feedthrough ofaw_atop
.axi_riscv_lrsc
: Fixed assignments inalways_ff
process.axi_riscv_lrsc_wrap
: Fixed syntax of interface signal assignments.
- Added simple standalone synthesis bench for
axi_riscv_atomics
. - Added simple standalone synthesis bench for
axi_riscv_lrsc
.
Initial public development release