Comments (4)
Hello, the intent of stream_xbar
is to arbitrate downstream slaves between masters. If two masters access the same slave in the same cycle, rr_arb_tree
determines which master to serve. I hope this answers your question. @thommythomaso feel free to add/correct
from common_cells.
Hello Niwis,
There is still some confusion. Is it compulsory to have a ready_o high when two masters access the same slave?
For example, in the same cycle, if "sel_i[0]=2", "sel_i[1]=2", "valid_i[0]=1" and "valid_i[1]=1", then to access slave number 2, do ready_o[0,1] both have to be high at the same time or only one from these two will be high and other remain low?
from common_cells.
Hi @hayat10x, I'm not sure if I understand your question correctly. A slave can only be accessed by one master at a time. if two masters (0, 1 in your example) request access to the same slave (2), they are arbitrated, and only one of the requests is granted at a time. Therefore, valid values for ready_o
in your examples would be {0, 0}
, {0, 1}
, {1, 0}
(not {1, 1}
)
from common_cells.
Hi Niwis,
Thanks for the clarification.
from common_cells.
Related Issues (20)
- missing assertions.svh in common_cells.core HOT 1
- A gated shift register module HOT 2
- Clock divider configuration fails if divider value is 0
- feature/idea: using a multiplexer to iterate between new and old values in clk_int_div
- Recent change in verilator broke stuff (or at least that's my understanding of it)
- a bug in lzc module?
- popcount for INPUT_WIDTH=1
- Width mismatch error in assign statement with VCS strict compile
- spill_register_flushable assertion improvement HOT 1
- No assertions in Verilator
- Remove wrappers
- Remove deprecated IPs
- Documentation Needed for "stream_xbar.sv" HOT 1
- Need clarification of assertions failure in stream_xbar module HOT 7
- In stream_xbar module, when flush_i is asserted, ready_o[31] remains unset (not set to 0). HOT 7
- Round robin arbitration is not properly implemented in stream_xbar.sv module HOT 5
- ‘steam_join_dynamic’ handshakes unselected streams
- question about CDC modules for synchronization flops
- `stream_arbiter` with priority arbitration inherently violates assertion
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 common_cells.