Coder Social home page Coder Social logo

Comments (28)

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024 1

Do you import tvip_axi_pkg into your env pkg like this?
https://github.com/taichi-ishitani/tnoc/blob/c16b918b3247874d754a15d9a2b2eb5d911e042c/env/axi_adapter/tnoc_axi_adapter_env_pkg.sv#L7

Thanks Taichi, I checked it and found that I didn't import the tvip_axi_pkg into env pkg.

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024 1

how can I call the axi_cfg[0] (within your env files) in my own env file?

You need to define a configuration class for your env like the sample configuration class.
https://github.com/taichi-ishitani/tvip-axi/blob/master/sample/env/tvip_axi_sample_configuration.svh

how can I connect tvip-axi master monitor and driver to my own sequence?

First, you need to add a handle of tvip_axi_master_sequencer to your env sequencer.
Then, you can send AXI transactions by executing tvip_axi_master_write_sequence/tvip_axi_master_read_sequence on the AXI sequencer. For example:

tvip_axi_master_write_sequence write_sequence;
`uvm_do_on_with(write_sequencer, p_sequencer.axi_master_sequencer, {
  // ...
})

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024 1

I have no idea to to resolve this error without -warn_multiple_driver option because I'm not familiar with Cadence simulator.
How about asking Cadence support?

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024 1

first:
You don't refer write_monitor and read_monitor directly. You need to use axi_agent.item_port.
In this case, you need to do like this:

axi_test_in_if_agt[i].item_port.connect(axi_test_in_if_agt_mdl_fifo[i].analysis_export);

the type in my scoreboard is uvm_sequence_item. How can I connect these two together?

The type should be tvip_axi_item.

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

Yes, you can.
But you need to compile all files even through you use master only.

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

@sfjiang-astri
Can you close this issue if you have no topics?

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,

I found that there are some ack signals in your design, which are not in the AXI standard.
"awack,wac,back,arack,rack."
Is it possible that I ignore these signals? Will the testbench hungout if I don't use these signals?
thanks~

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

These are utility signals for the VIP implementation so you can ignore.

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

These are utility signals for the VIP implementation so you can ignore.

thanks

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,
An error occured that the class "tvip_axi_master_sequencer" cannot be found when running the simulation, shown in figure.
however, I'm sure the file"tvip_axi_master_sequencer.svh" is included and compiled sucessfully.
image

thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

Do you import tvip_axi_pkg into your env pkg like this?
https://github.com/taichi-ishitani/tnoc/blob/c16b918b3247874d754a15d9a2b2eb5d911e042c/env/axi_adapter/tnoc_axi_adapter_env_pkg.sv#L7

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,
Since i dont need to include all the tvip-axi env files in my filelist, how can I call the axi_cfg[0] (within your env files) in my own env file?
And how can I connect tvip-axi master monitor and driver to my own sequence? Is it from " tvip_axi_master_item"?
Thanks

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,
Thanks for your reply and I need some time to try, and one more question about "slave_cb" in the "tvip_axi_if.sv".
Since I want to use mater axi from tvip-axi in my project, there're some error occurs like this:
image
When I commented all the inputs/ouputs inside the "slave_cb",as well as the slave axi parts in the "tvip_axi_pkg.sv", and the error disappears.
image
the top.sv in my testbench looks like this:
image
How can I do this without change any code in your tvip-axi?
thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

Did you add -warn_multiple_driver to your simulation command?

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Did you add -warn_multiple_driver to your simulation command?

I didn't add this option, since this option is turn the error into warning. While I wonder if there's a way to avoid the top.v (the input/output part for mater axi) using the input/output inside "slave_cb".

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

I have no idea to to resolve this error without -warn_multiple_driver option because I'm not familiar with Cadence simulator.
How about asking Cadence support?

Thanks Taichi.

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,
Is there a DUT in tvip-axi?

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

The sample env includes a DUT.
https://github.com/taichi-ishitani/tvip-axi/blob/master/sample/env/tvip_axi_sample_delay.sv

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,
There're two monitors (write_monitor & read_monitor) in the "tvip_axi_master_monitor.svh" .Do i need to connect both these monitors into env? And normally, I noly have one monitor in my agent, how can I connect these two monitors into my env?
thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

You only have to instantiate tvip_axi_master_agent or tvip_axi_slave_agent.
You don't need to care implementation of these agents.

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

You only have to instantiate tvip_axi_master_agent or tvip_axi_slave_agent.
You don't need to care implementation of these agents.

Thanks Taichi,
Normally, I connect a monitor port to the reference model in the env, shown in the figure.
image
However, I don't know which monitor (read_monitor / write_monitor) should I connect whthin the tvip-axi, or how can I connect these two monitors?
thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

AXI agents has an analysis port named item_port.

uvm_analysis_port #(tvip_axi_item) item_port;

This port is connected with write_monitor and read_monitor.
So you can get write and read items via this port.

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Hi Taichi,

I find out there are two monitors connect to item_port in tvip_axi_agent_base.svh.
image
What's the difference between the write_monitor and read_monitor? Can I only connect one monitor to env?

thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

write_monitor monitors write channels (aw/w/b) and read_monitor monitors read channels (ar/r).
You can get both of write transactions and read transactions via agent.item_port.

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Thanks Taichi,
here is my originonal env:
image
and the mon_port define is as below:
image
I only have one mon_port (same as item_port in tvip_axi) in my design, while item_port in tvip_axi has write_monitor and read_monitor. I'm confused that how can I connect the item_port to my env.
Thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

You can connect AXI agent and scoreboard or something like this.

axi_agent.item_port.connect(scoreboard.item_export);

Write items and read items pass from the agent to the scoreboard via axi_agent.item_port.

from tvip-axi.

sfjiang-astri avatar sfjiang-astri commented on August 15, 2024

Thanks Taichi,
I found out that the data type of write_monitor.item_port in tvip-axi is uvm_object, while the type in my scoreboard is uvm_sequence_item. How can I connect these two together?
image

Thanks

from tvip-axi.

taichi-ishitani avatar taichi-ishitani commented on August 15, 2024

@sfjiang-astri
Can you open a new ticket when you have a new question?

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