Giter Club home page Giter Club logo

Comments (9)

alexforencich avatar alexforencich commented on September 23, 2024

What signals specifically do you want to set? You can influence quite a bit, but you can't arbitrarily set whatever you want.

from cocotbext-axi.

ManjunathKalmath avatar ManjunathKalmath commented on September 23, 2024

Yes, mainly address, length, size, cache, protection bits

from cocotbext-axi.

alexforencich avatar alexforencich commented on September 23, 2024

You should be able to set all of that when calling read(). Length and address will naturally be modified when the request is split up into bursts, but the other values should get passed through as is. What issue are you running in to, exactly?

from cocotbext-axi.

ManjunathKalmath avatar ManjunathKalmath commented on September 23, 2024

Thanks Alex!!

I am using your AXI IPs (Verilog AXI Components). And I would like to do only one request(either write or read).
Say, I am performing one write transaction, no read. Simulation resulting in successful pass but I am able to see unknown('x') when I view waveform under Read Channel Signals.

I want to avoid this. I need some help here.

from cocotbext-axi.

ManjunathKalmath avatar ManjunathKalmath commented on September 23, 2024

I am able to remove unknowns("x").

I wanted to pass length as an argument for tb.axi_master.write().

But, found that it throws TyperError: Unexpected keyword argument.

Can you guide me, any alternative I can follow?

Thanks Alex!!

from cocotbext-axi.

alexforencich avatar alexforencich commented on September 23, 2024

I think all of the signals aside from ready/valid are set to X initially. They will get changed when the first operation takes place. There has been some talk about setting everything to X whenever the valid signal is low, but it's not set up that way yet.

Are the Xs causing problems in your design somehow? In general, I think they should not be an issue so long as you're properly handling the ready/valid handshaking.

You can't specify a length for write operations as the length is derived from the write data. So just pass in however much data you want to write and the BFM will take care of the rest.

from cocotbext-axi.

ManjunathKalmath avatar ManjunathKalmath commented on September 23, 2024

Okay, I got it on handling X's.

So just pass in however much data you want to write , you mean I can write any number of bytes. (Ex : data = 128bytes)

Thanks Alex!!

from cocotbext-axi.

alexforencich avatar alexforencich commented on September 23, 2024

Yep. Just pass in whatever data you want to write as bytes or bytearray (or something that can be cast to bytes), and it will get split up and re-packed as necessary. If you want to pass in a list of 32 bit ints or something instead of bytes, then there are word access versions as well (write_dwords/read_dwords, etc.)

from cocotbext-axi.

ManjunathKalmath avatar ManjunathKalmath commented on September 23, 2024

Thanks Alex!!

from cocotbext-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.