Comments (6)
And, in this code below, I see when arvalid is received, s_axil_arready is set to 1. Did you verify whether the slave was idle during this process? What happens if the slave is not free?
if (read) begin
// reading
axil_addr_next = current_s_axil_araddr;
axil_prot_next = current_s_axil_arprot;
s_axil_arready_next[s_select] = 1'b1;
from verilog-axi.
In AXI and AXI lite, if you start a write operation by setting awvalid
high, you must complete it by providing the write data and setting wvalid
high. If you didn't intend to perform a write operation, then don't set awvalid
high in the first place..... If you don't follow the protocol, then you will likely get a hang and you'll have to reset the entire design.
For the second question, it doesn't matter if the slave is idle or not, the interconnect accepts the address, decodes it, and then presents it to the slave, then waits for the slave to accept it. The ready signal question is going to the upstream master that's issuing the request.
from verilog-axi.
Just to make sure, Should I connect a ram (also from axi_ram.v in your repo) to the axi_interconnect's slave port or master port? My understanding is that I should connect axi_ram to the axi_interconnect's master interface, since the interconnect acts as the master and the ram acts as the slave? and the signals slave and master ports in the axi_connect should be identical? In the current implementation they are different, for example, the awregion, arregion presented in the master but not missed from the slave port.
from verilog-axi.
Yes, that is correct - connect the RAM (which is an AXI slave) to a master interface on the interconnect. The awregion/arregion signals are used to address multiple regions within the same slave so that the slave doesn't need to do a second round of address decoding, it can simply use the region indication from the interconnect. Currently, I don't have any devices that take advantage of that feature, but it is part of the AXI spec.
from verilog-axi.
Hello sir,
I'm also trying to use your axi lite interconnect but I'm having difficulties in how to use it. Do you have any example where you use it?
Thank you :)
from verilog-axi.
Nvm, #16 answered my questions.
Thanks for your work
from verilog-axi.
Related Issues (20)
- AXI Reset Signal
- AXI Lite interconnect in N to 1 configuration HOT 2
- axi_interconnect Synthesis HOT 1
- Why assume packet smaller than max burst size when AXI_MAX_BURST_SIZE >=4096? HOT 10
- awready and wready set high in master without slave value
- I met a question about simulation, please some one help me? HOT 2
- about AXI_VFIFO HOT 3
- Q: Do axi_dma_rd and axi_dma_wr support out of order transactions? HOT 2
- about axi_ram design specification
- Q: is there any component for read data out of standard ram/fifo and then transfer the data to axi master HOT 4
- Will unprocessed awvalid signals be stored in AXI Crossbar? HOT 6
- Axi DMA consistently returns DECERR HOT 6
- Timing issues with `axi_dma_wr`
- About width missmatch HOT 2
- about tb HOT 1
- About the solution for deadlocks HOT 14
- Failed to run test for AXI RAM with DATA_WIDTH=64 and ADDR=64 HOT 4
- AXI_Register hangs when SIM=verilator HOT 3
- about axi_ram HOT 2
- About AXI_FULL_CDC HOT 2
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 verilog-axi.