Releases: pulp-platform/axi
Releases · pulp-platform/axi
v0.35.3
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, whileMaxTrans
read transactions were outstanding).
However, this stall is only required when the AW that is being handled byaxi_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
Fixed
axi_lite_mux_intf
: Fix type ofslv
andmst
interface ports; they wereAXI_BUS
instead of
AXI_LITE
.axi_xbar_intf
: Fix order of parameters. Prior to this fix, theCONNECTIVITY
parameter was
defined using theCfg
parameter before theCfg
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
Fixed
axi_demux
andaxi_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
andaxi_lite_mux
: Add missing spill registers for configurations with a single slave
port.axi_lite_mux_intf
: Add missing parameter values on the internalaxi_lite_mux
instance
(axi_req_t
andaxi_resp_t
).axi_sim_mem
: Propagate the AR channel's user signal correctly to the monitor.
v0.35.0
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
Added
axi_demux
andaxi_isolate
: Add parameterAtopSupport
to optionally disable the support for
atomic operations (ATOPs). This parameter defaults to1'b1
, i.e., ATOPs are supported.
Therefore, this change is backward-compatible.axi_isolate
: Add parameterTerminateTransaction
to optionally respond to transactions during
isolation. This parameter defaults to1'b0
, i.e., transactions do not get responses.
Therefore, this change is backward-compatible.axi_xbar
: AddConnectivity
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 classaxi_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 theTerminateTransaction
parameter (see Added section). This change
is backward-incompatible for all instances ofaxi_isolate
outside this repository. Users
must update all instances ofaxi_isolate
in their code. The interface variant is not affected
and remains backward-compatible.
v0.33.1
Fixed
axi_xbar_intf
: Add missingATOPS
parameter to optionally disable the support of atomic
operations (introduced in v0.25.0 foraxi_xbar
). The default value of the added parameter makes
this fix backward-compatible.
v0.33.0
Added
- Add
axi_sim_mem_intf
interface variant ofaxi_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 excludingassert
s for that tool.axi_lite_demux
: Improve compatibility with VCS (issue #187 reported foraxi_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
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
, andaxi_sim_mem
: Prefixreq_t
andresp_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
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
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.