Comments (3)
@WRoenninger: What do you think?
from axi.
Yes, as you mentioned, the intend was to have the default ports runtime configurable. However I have not seen this feature being used dynamically yet and see the overhead that arises when trying to use it.
I am fine with changing it to a parameter. However this should probably be done after #157 as there is the whole config struct replacement going on.
Also this ties in with an issue I see with the addr_decode
from common_cells
. The recommended struct definition there is:
typedef struct packed {
int unsigned idx;
addr_t start_addr;
addr_t end_addr;
} rule_t;
The main issue that can happen with this struct definition is that some tools do not like the int unsigned
inside of a packed
structure. For the default mst_port functionality it should not be an issue, as the decoder requires the cf_math_pkg::idx_width(NumIdx)
typed index for its default mapping anyway, because the decoder does a typecast form addr_map_i.idx
to this idx_t
when it is checking the address map for a rule.
I am wondering if it would be a good idea to recommend defining the addr_map_t.idx
field to be of type idx_t
or a set a fixed width logic in the example rules found in axi_pkg
?
So e.g. the rule xbar_rule_32_t
would then read:
typedef struct packed {
logic [31:0] idx;
logic [31:0] start_addr;
logic [31:0] end_addr;
} xbar_rule_32_t;
This struct definition change should not have any influence on the behavior of addr_decode
and help with tool compatibility.
from axi.
However this should probably be done after #157 as there is the whole config struct replacement going on.
Okay, I agree.
I am wondering if it would be a good idea to recommend defining the
addr_map_t.idx
field to be of typeidx_t
or a set a fixed width logic in the example rules found inaxi_pkg
?
Yes, makes sense to me.
from axi.
Related Issues (20)
- Should we add an option to force aligned accesses of given `ax_size` in class `axi_rand_master`? HOT 1
- Example of usage for axi_to_axi_lite converter
- Improve AXI cut/multicut.
- [Question] AXI Ordering
- `axi_to_mem`: Comb path from `b_ready` to `w_ready` HOT 1
- axi_to_mem: Starvation issue: AW channel blocks AR channel forever
- axi_dw_downsizer: AXI Slave BRESP changes in value during BVALID’s wait for BREADY
- axi_pkg::LenWidth not compatible with vivado IP packager
- axi_cdc fpga implementation very inefficient HOT 2
- run_vsim.sh: Run simulations in parallel HOT 4
- tb_axi_lite_xbar is not included in scripts/run_vsim.sh
- Vivado Synthesis Error - [Synth 8-6038] cannot resolve hierarchical name
- ``axi_to_mem``: Error response signals in B and R response channels
- axi_dw_downsizer writing data beats with wstrb == 0
- Logging not supported for Queue item error : AXI HOT 2
- axi_iw_convertor connection
- AXI_BUS and AXI_BUS_DV package missing? HOT 2
- Pipelines between demux and mux would still cause deadlock in an axi_xbar? HOT 2
- Can't find cdc_fifo_gray_dst HOT 2
- Compile errors with CDC module
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from axi.