Comments (28)
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.
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.
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.
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.
Yes, you can.
But you need to compile all files even through you use master only.
from tvip-axi.
@sfjiang-astri
Can you close this issue if you have no topics?
from tvip-axi.
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.
These are utility signals for the VIP implementation so you can ignore.
from tvip-axi.
These are utility signals for the VIP implementation so you can ignore.
thanks
from tvip-axi.
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.
thanks
from tvip-axi.
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.
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.
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:
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.
the top.sv in my testbench looks like this:
How can I do this without change any code in your tvip-axi?
thanks
from tvip-axi.
Did you add -warn_multiple_driver
to your simulation command?
from tvip-axi.
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.
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.
Hi Taichi,
Is there a DUT in tvip-axi?
from tvip-axi.
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.
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.
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.
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.
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.
AXI agents has an analysis port named item_port
.
tvip-axi/src/tvip_axi_agent_base.svh
Line 12 in 3f5e230
This port is connected with write_monitor and read_monitor.
So you can get write and read items via this port.
from tvip-axi.
Hi Taichi,
I find out there are two monitors connect to item_port in tvip_axi_agent_base.svh.
What's the difference between the write_monitor and read_monitor? Can I only connect one monitor to env?
thanks
from tvip-axi.
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.
Thanks Taichi,
here is my originonal env:
and the mon_port define is as below:
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.
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.
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?
Thanks
from tvip-axi.
@sfjiang-astri
Can you open a new ticket when you have a new question?
from tvip-axi.
Related Issues (20)
- ID field for AXI4-Lite
- Slave driver data before address support
- xcelium simulator HOT 20
- error on find vif failure HOT 11
- problem about sequencer HOT 2
- use TVIP-AXI as a component within in_agent HOT 1
- feature comparison to commercial VIPs HOT 1
- Error when elab with Vivado HOT 9
- tvip_axi_if.sv interface ports are better to be defined as logic instead of bit HOT 1
- Support Vivado simulator HOT 6
- NULL pointer dereference is observed after the reset in the middle HOT 4
- Another NULL pointer dereference after reset in the middle HOT 7
- Add support to drive W channel before AW HOT 7
- Not an issue but a general question
- Cadence Xcelium doesn't support variable substitution in if-condition HOT 4
- Support Veridi Protocol/Performance Analyzer
- Problem with On the Fly Reset HOT 5
- where is the "class tvip_delay_configuration" HOT 4
- axi_slave_sub_driver don't reset response_queue HOT 4
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 tvip-axi.