Releases: pulp-platform/axi
Releases · pulp-platform/axi
v0.39.9
Added
Fixed
axi_to_detailed_mem: Avoid spurious write responses with HideStrb. #383axi_dw_downsizer: Fix linting warnings. #385axi_burst_unwrap: Remove overly pessimistic assertion. #387axi_burst_splitter_gran: Ensure IP has stablew.last. #393axi_fifo_delay_dyn_intf: Use DELAY_WIDTH for delay ports. #395axi_to_mem: Fix strb inputs to dead_response_fifo. #389axi_id_prepend: Fix implicit conversion linter warning. #397
Changed
axi_burst_unwrap: Only invalidate WRAP bursts if they are unmodifiable. #382
v0.39.8
Added
- Add a non-synthesizable IP to delay each channel of an AXI bus individually. #380
- Add granular version of the
burst_splitter, originally developed for AXI-Realm. #377 - Add linting pass to CI elaborating with Verilator. #378
Fixed
axi_burst_splitter: Fix address alignment issues. #375axi_lite_to_apb: Various fixes. #375axi_to_mem: Fix edge cases. #376- Various lint fixes. #374
`
Changed
v0.39.7
0.39.7 - 2025-05-20
Added
- Add
axi_burst_unwrap. #326
Fixed
- Modify
axi_dw_upsizerto avoid unnecessarily wide indices into r_data. #362 - [test] Remove begin/end from constructors to fix morty ci err
axi_lite_lfsr: Add missing signal declaration. (#363)axi_to_mem_interleaved: Fix busy signal.axi_dw_downsizer: Fix unnecessarily wide indices for verilator compatibility. #366
Changed
- Add random user signal generation for llc-partition test. #315
- Update
common_verificationfromv0.2.4tov0.2.5. - Add selective channel bypassing to
axi_cut.
v0.39.6
0.39.6 - 2024-12-04
Added
- Support connectivity in
axi_intercon_gen. #351 - Add
iomsbfunction to avoid underflow in array lengths toaxi_pkg. #355
Fixed
- Make the case statements in
axi_dw_upsizerunique. Add default cases to prevent simulator warnings. #348 - Fix write channel assertions in
axi_rw_split. #357 - Tie unused
demuxport in pass-through termination inaxi_isolate. #359
Changed
- Improve VCS and Verilator support treewide. #358
- Update
common_verificationtov0.2.4to include Verilator fixes.
v0.39.5
v0.39.4 (Yanked)
0.39.4 - 2024-07-25 (Yanked 2024-10-24)
Caution
This release was yanked due to a bug in the axi_id_serialize module. PLEASE DO NOT USE THIS RELEASE.
Added
axi_sim_mem: Increase number of request ports, add multiport interface variant.axi_bus_compare: Optionally consider AXIsizefield to only compare used data.AXI_BUS_DV: Add property checking that bursts do not cross 4KiB page boundaries.- Add
axi_xbar_unmuxed: Partial crossbar with unmultiplexed mst_ports.
Fixed
axi_bus_compare: Fix mismatch detection.axi_to_detailed_mem: Only respond withexokayiflockwas set on the request.
Bumpcommon_cellsformem_to_banksfix.axi_dw_downsizer: Fixi_forward_b_beats_queueunderflow.axi_atop_filter: Add reset state to internal FSM to avoid simulation bug in XSIM.axi_test: Ensure random requests do not cross 4KiB page boundaries.
Changed
axi_id_serializer: Change internal design (and behavior) for simpler code, less hardware, and
less stalling.
v0.39.4 is fully backward-compatible to v0.39.3.
v0.39.3
0.39.3 - 2024-05-08
Added
axi_sim_mem: Allow response data for uninitialized region to have configurable defined value.axi_test: addclear_memory_regionstoaxi_rand_master.axi_test: Addadd_traffic_shaping_with_sizetoaxi_rand_masterto allow for traffic shaping
with a custom size.
Changed
axi_pkg: AdjustLatencyModeparameter ofxbar_cfg_tto bit vector fromxbar_pipeline_e
enum to allow custom configurations.
v0.39.3 is fully backward-compatible to v0.39.2.
v0.39.2
0.39.2 - 2024-03-13
Added
axi_interleaved_xbar: An experimental crossbar extension interleaving memory transfers over #334
subordinate devices. Use at your own risk.axi_zero_mem: Implementing \dev\zero function for AXI. #334
Fixed
axi_to_detailed_mem: VCS crashed on default parameters 0, changed them to 1 #334axi_to_mem: Add missing testmode pins #327axi_sim_mem: Fix byte calculation in R and W forks #331
v0.39.2 is fully backward-compatible to v0.39.1.
v0.39.1
Added
axi_cdc: AddSyncStagesparameter.axi_to_mem_interleaved: Add interface variant.axi_burst_splitter: Exposeid_queue'sFULL_BWparameter.axi_chan_compare: Add parameter to allow reordered transactions.- Add
AXI_HIGHLIGHTmacro to highlight AXI signals. - Add flat port instantiation macros.
Fixed
axi_test: Avoid false negatives for misaligned reads inaxi_scoreboard.axi_to_detailed_mem: Ensure proper propagation orerrandexokaysignals.
v0.39.0
Added
- Synthesizable IPs:
axi_bus_compareandaxi_slave_compare; two synthesizable verification IPs meant to be used
to compare two AXI buses on an FPGA.axi_lite_from_memandaxi_from_memacting like SRAMs making AXI4 requests downstream.axi_lite_dw_converter: Convert the data width of AXI4-Lite transactions. Emits the
appropriate amount of downstream transactions to perform the whole requested access.axi_rw_joinandaxi_rw_splitto split/join the read and write channels of an AXI bus.
CT-macros allowing to instantiate AXI structs with custom channel type names.axi_pkg': Add documentation toxbar_cfg_t`.- Testbench IPs:
axi_chan_compare.sv: Non-synthesizable module comparing two AXI channels of the same type- Add
axi_file_mastertoaxi_test, allowing file-based AXI verification approaches. - Add
#_widthfunctions toaxi_testreturning the width of the AXI channels.
Changed
- Synthesizable IPs:
axi_demux: Replace FIFO between AW and W channel by a register plus a counter. This prevents
AWs from being issued to one master port while Ws from another burst are ongoing to another
master port. This is required to prevents deadlocks due to circular waits downstream. Removes
FallThroughparameter fromaxi_demux.- Split the
axi_demuxlogic and timing decoupling. A new module calledaxi_demux_simplecontains
the core logic. axi_dw_downsizerusesaxi_pkg::RESP_EXOKAYas a default value.- Simplify the
casezinaxi_id_remap. - Add optional explicit mapping to the
axi_id_serializemodule. - Expand
axi_to_memtoaxi_to_detailed_memexposing all of AXI's side-signals; namelyid,user,
cache,prot,qos,region,atop. Add possibility to injecterrandexokay. axi_xbar: Add parameterPipelineStagestoaxi_pkg::xbar_cfg_t. This addsaxi_multicuts
in the crossed connections in thexbarbetween the demuxes and muxes. Improve inline
documentation.- Move
mem_to_bankstocommon_cells.
axi_pkg: Improve for better compatibility with Vivado.- `axi_test:
axi_lite_rand_slave:Rresponse field is now randomized.- Remove excessive prints from random master and slave.
- Properly size-align the address.
axi_pkg: Definelocalparamsto define AXI type widths.- Update
common_cellsfrom versionv1.26.0tov1.27.0. - Tooling:
- Use
pulp-platform/pulp-actions/gitlab-ci@v2in the GitHub CI to communicate with the internal CI. - Bump
DC Shell versionfrom2019.12to2022.03 - No longer check ModelSim versions
10.7eand2021.3, add2022.3. - More thorough verification runs for the
xbar. - Start transitioning from shell script to Makefile to run simulations.
- Use
- Use
scripts/update_authorsto update authors, slight manual fixes performed.
Fixed
axi_to_mem_banked: Reduce hardware by properly settingUniqueIds.axi_to_mem_interleavedandaxi_to_mem_splitproperly instantiates a demultiplexer now.
Addstest_iport for DFT.
Breaking Changes
There are breaking changes between v0.38.0 and v0.39.0:
axi_demux:FallThroughparameter was removed.axi_xbar:axi_pkg::xbar_cfg_taddedPipelineStagesparameter.axi_to_mem_interleavedandaxi_to_mem_split: Addedtest_iinput port.