@@ -8,30 +8,62 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
8
8
## Unreleased
9
9
10
10
### Added
11
- - Add ` axi_chan_compare.sv ` : Non-synthesizable module comparing two AXI channels of the same type
12
- - Add ` axi_bus_compare ` and ` axi_slave_compare ` ; two synthesizable verification IPs meant to be used
13
- to compare two AXI buses on an FPGA.
14
- - Add ` axi_lite_from_mem ` and ` axi_from_mem ` acting like SRAMs making AXI4 requests downstream.
15
- - Add ` axi_rw_join ` and ` axi_rw_split ` to split/join AXI buses.
16
- - Add ` #_width ` functions returning the width of the AXI channels.
17
- - Add ` axi_lite_dw_converter ` : Convert the data width of AXI4-Lite transactions. Emmits the
18
- appropriate amount of downstream transactions to perform the whole requested access.
19
-
11
+ - Synthesizable IPs:
12
+ - ` axi_bus_compare ` and ` axi_slave_compare ` ; two synthesizable verification IPs meant to be used
13
+ to compare two AXI buses on an FPGA.
14
+ - ` axi_lite_from_mem ` and ` axi_from_mem ` acting like SRAMs making AXI4 requests downstream.
15
+ - ` axi_lite_dw_converter ` : Convert the data width of AXI4-Lite transactions. Emits the
16
+ appropriate amount of downstream transactions to perform the whole requested access.
17
+ - ` axi_rw_join ` and ` axi_rw_split ` to split/join the read and write channels of an AXI bus.
18
+ - ` CT ` -macros allowing to instantiate AXI structs with custom channel type names.
19
+ - ` axi_pkg': Add documentation to ` xbar_cfg_t`.
20
+ - Testbench IPs:
21
+ - ` axi_chan_compare.sv ` : Non-synthesizable module comparing two AXI channels of the same type
22
+ - Add ` axi_file_master ` to ` axi_test ` , allowing file-based AXI verification approaches.
23
+ - Add ` #_width ` functions to ` axi_test ` returning the width of the AXI channels.
20
24
21
25
### Changed
22
- - ` axi_demux ` : Replace FIFO between AW and W channel by a register plus a counter. This prevents
23
- AWs from being issued to one master port while Ws from another burst are ongoing to another
24
- master port. This is required to prevents deadlocks due to circular waits downstream.
25
- - ` axi_xbar ` : Add parameter ` PipelineStages ` to ` axi_pkg::xbar_cfg_t ` . This adds ` axi_multicuts `
26
- in the crossed connections in the xbar between the demuxes and muxes.
27
- - ` axi_pkg ` : Add documentation to ` xbar_cfg_t ` .
28
- - Move ` mem_to_banks ` to ` common_cells ` .
29
- - Update ` common_cells ` from version ` v1.26.0 ` to ` v1.27.0 ` .
26
+ - Synthesizable IPs:
27
+ - ` axi_demux ` : Replace FIFO between AW and W channel by a register plus a counter. This prevents
28
+ AWs from being issued to one master port while Ws from another burst are ongoing to another
29
+ master port. This is required to prevents deadlocks due to circular waits downstream. Removes
30
+ ` FallThrough ` parameter from ` axi_demux ` .
31
+ - Split the ` axi_demux ` logic and timing decoupling. A new module called ` axi_demux_simple ` contains
32
+ the core logic.
33
+ - ` axi_dw_downsizer ` uses ` axi_pkg::RESP_EXOKAY ` as a default value.
34
+ - Simplify the ` casez ` in ` axi_id_remap ` .
35
+ - Add optional explicit mapping to the ` axi_id_serialize ` module.
36
+ - Expand ` axi_to_mem ` to ` axi_to_detailed_mem ` exposing all of AXI's side-signals; namely ` id ` , ` user ` ,
37
+ ` cache ` , ` prot ` , ` qos ` , ` region ` , ` atop ` . Add possibility to inject ` err ` and ` exokay ` .
38
+ - ` axi_xbar ` : Add parameter ` PipelineStages ` to ` axi_pkg::xbar_cfg_t ` . This adds ` axi_multicuts `
39
+ in the crossed connections in the ` xbar ` between the * demuxes* and * muxes* . Improve inline
40
+ documentation.
41
+ - Move ` mem_to_banks ` to ` common_cells ` .
42
+ - ` axi_pkg ` : Improve for better compatibility with * Vivado* .
43
+ - `axi_test:
44
+ - ` axi_lite_rand_slave ` : ` R ` response field is now randomized.
45
+ - Remove excessive prints from random master and slave.
46
+ - Properly size-align the address.
30
47
- ` axi_pkg ` : Define ` localparams ` to define AXI type widths.
31
- - ` axi_test:axi_rand_lite_slave ` : R response field is now random.
48
+ - Update ` common_cells ` from version ` v1.26.0 ` to ` v1.27.0 ` .
49
+ - Tooling:
50
+ - Use ` pulp-platform/pulp-actions/gitlab-ci@v2 ` in the GitHub CI to communicate with the internal CI.
51
+ - Bump ` DC Shell version ` from ` 2019.12 ` to ` 2022.03 `
52
+ - No longer check * ModelSim* versions ` 10.7e ` and ` 2021.3 ` , add ` 2022.3 ` .
53
+ - More thorough verification runs for the ` xbar ` .
54
+ - Start transitioning from shell script to Makefile to run simulations.
55
+ - Use ` scripts/update_authors ` to update authors, slight manual fixes performed.
32
56
33
57
### Fixed
58
+ - ` axi_to_mem_banked ` : Reduce hardware by properly setting ` UniqueIds ` .
59
+ - ` axi_to_mem_interleaved ` and ` axi_to_mem_split ` properly instantiates a demultiplexer now.
60
+ Adds ` test_i ` port for DFT.
34
61
62
+ ### Breaking Changes
63
+ There are breaking changes between ` v0.38.0 ` and ` v0.39.0 ` :
64
+ - ` axi_demux ` : ` FallThrough ` parameter was removed.
65
+ - ` axi_xbar ` : ` axi_pkg::xbar_cfg_t ` added ` PipelineStages ` parameter.
66
+ - ` axi_to_mem_interleaved ` and ` axi_to_mem_split ` : Added ` test_i ` input port.
35
67
36
68
## 0.38.0 - 2022-09-28
37
69
0 commit comments