Skip to content

Releases: pulp-platform/axi

v0.35.3

03 May 10:17
Compare
Choose a tag to compare

Fixed

  • axi_demux: Eliminate unnecessary stalls of AW channel when the AR channel has reached its
    maximum number of transactions. Prior to this fix, axi_demux would always stall AWs while read
    transactions were at their maximum (that is, while MaxTrans read transactions were outstanding).
    However, this stall is only required when the AW that is being handled by axi_demux is an atomic
    operation (ATOP) that entails an R response. This fix therefore removes unnecessary stalls as
    well as an unnecessary dependency between reads and writes. The integrity of data or transactions
    was not affected by this problem.

v0.35.2

14 Apr 18:09
Compare
Choose a tag to compare

Fixed

  • axi_lite_mux_intf: Fix type of slv and mst interface ports; they were AXI_BUS instead of
    AXI_LITE.
  • axi_xbar_intf: Fix order of parameters. Prior to this fix, the CONNECTIVITY parameter was
    defined using the Cfg parameter before the Cfg parameter was defined.
  • axi_test::axi_rand_master: Improve compatibility with simulators by changing an implication
    inside an assertion to a conditional assertion.

v0.35.1

31 Mar 06:46
Compare
Choose a tag to compare

Fixed

  • axi_demux and axi_lite_demux: Add missing spill registers for configurations with a single
    master port.
  • axi_demux_intf: Add missing parameter (ATOP_SUPPORT) to optionally disable support for atomic
    operations.
  • axi_mux and axi_lite_mux: Add missing spill registers for configurations with a single slave
    port.
  • axi_lite_mux_intf: Add missing parameter values on the internal axi_lite_mux instance
    (axi_req_t and axi_resp_t).
  • axi_sim_mem: Propagate the AR channel's user signal correctly to the monitor.

v0.35.0

11 Mar 15:21
Compare
Choose a tag to compare

Added

  • axi_sim_mem: Add monitoring interface to observe the point of coherency between the write and
    the read channel.

Fixed

  • axi_sim_mem: Keep R response stable while not accepted.

v0.34.0

09 Mar 09:48
Compare
Choose a tag to compare

Added

  • axi_demux and axi_isolate: Add parameter AtopSupport to optionally disable the support for
    atomic operations (ATOPs). This parameter defaults to 1'b1, i.e., ATOPs are supported.
    Therefore, this change is backward-compatible.
  • axi_isolate: Add parameter TerminateTransaction to optionally respond to transactions during
    isolation. This parameter defaults to 1'b0, i.e., transactions do not get responses.
    Therefore, this change is backward-compatible.
  • axi_xbar: Add Connectivity parameter to enable the implementation of partially-connected
    crossbars. This parameter defaults to '1, i.e., every slave port is connected to every master
    port. Therefore, this change is backward-compatible.
  • axi_test: Add monitor class axi_monitor.
  • axi_test::axi_driver: Add monitor tasks.

Changed

  • axi_isolate: Add parameters for the address, data, ID, and user signal width. This is required
    for the implementation of the TerminateTransaction parameter (see Added section). This change
    is backward-incompatible for all instances of axi_isolate outside this repository. Users
    must update all instances of axi_isolate in their code. The interface variant is not affected
    and remains backward-compatible.

v0.33.1

26 Feb 14:46
Compare
Choose a tag to compare

Fixed

  • axi_xbar_intf: Add missing ATOPS parameter to optionally disable the support of atomic
    operations (introduced in v0.25.0 for axi_xbar). The default value of the added parameter makes
    this fix backward-compatible.

v0.33.0

21 Feb 15:11
Compare
Choose a tag to compare

Added

  • Add axi_sim_mem_intf interface variant of axi_sim_mem.

Fixed

  • axi_cdc: Improve compatibility with VCS by restricting a QuestaSim workaround to be used only
    for QuestaSim (issue #207).
  • axi_id_remap: Improve compatibility with Verilator by excluding asserts for that tool.
  • axi_lite_demux: Improve compatibility with VCS (issue #187 reported for axi_demux, which was
    fixed in v0.29.2).
  • axi_xbar: Improve compatibility with VCS by adding VCS-specific code that does not use constant
    function calls (#208).

v0.32.0

25 Jan 18:44
Compare
Choose a tag to compare

Changed

  • axi_atop_filter, axi_burst_splitter, axi_cut, axi_delayer, axi_demux, axi_err_slv,
    axi_isolate, axi_lite_demux, axi_lite_mux, axi_lite_to_axi, axi_lite_xbar,
    axi_multicut, axi_serializer, and axi_sim_mem: Prefix req_t and resp_t type parameters with
    axi_. This prevents type collisions in tools that have problems with correct type resolution
    and isolation. This change is backward-incompatible for all instances of the listed modules
    outside this repository. Users must update all instances of the listed modules in their code.
    Interface variants are not affected and remain backward-compatible.

v0.31.1

17 Jan 19:27
Compare
Choose a tag to compare

Fixed

  • axi_xbar: Fix signal width for single master port. Before this fix, a crossbar instantiated
    with a single master port would contain arrays with incorrect dimensions.

v0.31.0

07 Dec 13:54
Compare
Choose a tag to compare

Added

  • Add three modules to convert between any two AXI ID widths under many different concurrency
    requirements:
    • axi_iw_converter is the top-level module that converts between any two AXI ID widths with all
      supported parameters. It upsizes IDs by extending the MSBs with zeros and joins two interfaces
      with identical ID widths. For downsizing IDs, it instantiates one of the following two modules:
    • axi_id_remap remaps AXI IDs from wide IDs at the slave port to narrower IDs at the master
      port without serializing transactions.
    • axi_id_serialize reduces AXI IDs by serializing transactions when necessary.