Coder Social home page Coder Social logo

Comments (6)

omeag avatar omeag commented on May 16, 2024

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.

alexforencich avatar alexforencich commented on May 16, 2024

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.

shawn110285 avatar shawn110285 commented on May 16, 2024

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.

alexforencich avatar alexforencich commented on May 16, 2024

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.

mrdiogodias avatar mrdiogodias commented on May 16, 2024

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.

mrdiogodias avatar mrdiogodias commented on May 16, 2024

Nvm, #16 answered my questions.
Thanks for your work

from verilog-axi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.