UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
3,541 Views
Registered: ‎06-29-2017

AXI VIP Usage Guide

Hello,

 

Is there a documentation that is detailed and updated about the VIPs' classes and usage guide? I have been using the product guide and some of the code snippets and examples are not updated. Example, I followed the code from the Product Guide:

    // Master agent create write transaction
    wr_transaction = mst_agent.wr_driver.create_transaction("write transaction");
    // set_transaction_depth is used to setup maximum outstanding write transactions
    // for master VIP,if not set, default is 16 (optional)
    mst_agent.wr_driver.set_transaction_depth(2);
    // randomize the transaction
    WR_TRANSACTION_FAIL_1a: assert(wr_transaction.randomize());
    // send the transaction to VIP interface
    mst_agent.wr_driver.send(wr_transaction);

 

I get an error message: 

   "ERROR: [VRFC 10-93] wr_driver is not declared under prefix mst_agent."

 

Also, is there an example testbench implementation of a simple VIP usage and transaction to show the basic classes and functions used by the VIP to generate and send transactions?

 

Regards,

Edzel

7 Replies
Moderator
Moderator
3,514 Views
Registered: ‎11-09-2015

Re: AXI VIP Usage Guide

Hi @edzel.raffinan,

 

Is there a documentation that is detailed and updated about the VIPs' classes and usage guide?

-> Yes. You can find the API in the attachment of AR#68234 for the VIP(PG267). But it seems, from the code you have posted that you are looking at the PG of the AXI4-Stream PG (pg277). So for the AXI4-Stream VIP the API is in AR#68726

 

Also, is there an example testbench implementation of a simple VIP usage and transaction to show the basic classes and functions used by the VIP to generate and send transactions?

-> Yes, this is in the example design: add the IP to Vivado, right click on it and then generate example design.

 

I get an error message: 

   "ERROR: [VRFC 10-93] wr_driver is not declared under prefix mst_agent."

-> I have spotted an error in the PG

wr_transaction = mst_agent.wr_driver.create_transaction("write transaction");

should be

wr_transaction = mst_agent.driver.create_transaction("write transaction");

 

Hope that helps,

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
3,492 Views
Registered: ‎06-29-2017

Re: AXI4-stream VIP Usage Guide

Hello!

 

Thank you very much for the reply. Yes I am actually asking about the AXI4-Stream VIP (sorry about the wrong subject, I have corrected it in this reply). I have downloaded the API documentation, but I am looking for example of how to use the VIP. The snippet found in the Product Guide would have been useful, but as you have pointed out, the function is wrong (from "wr_driver", it should be "driver").

 

I was trying to look for that in the API documentation, but don't know where to start from there. I have also encountered other errors , e.g. "XIL_AXI_VIF_DRIVE_NONE is not declared", and found from the API that it should be "XIL_AXI4STREAM_VIF_DRIVE_NONE".

 

Thank you also for the procedure to get the Design Example. I read from the Product Guide that: "The example design is available in the AXI4-Stream VIP installation area in the Tcl Console folder in an encrypted format." But I was not able to find the Tcl Console folder that it stated. I will try the procedure you mentioned.

 

So I am looking for an updated and working guide for the AXI4-Stream VIP, if Xilinx can provide one.

 

Regards,

Edzel

0 Kudos
Moderator
Moderator
3,485 Views
Registered: ‎11-09-2015

Re: AXI4-stream VIP Usage Guide

Hi @edzel.raffinan,

 

Thank you also for the procedure to get the Design Example. I read from the Product Guide that: "The example design is available in the AXI4-Stream VIP installation area in the Tcl Console folder in an encrypted format." But I was not able to find the Tcl Console folder that it stated. I will try the procedure you mentioned.

-> I don't know why there is this mention. This is a bit confusing. I guess this is just an encrypted tcl to generate the example design. Don't worry about these lines. Just right click on the IP and generate the example design

exdes.JPG

 

So I am looking for an updated and working guide for the AXI4-Stream VIP, if Xilinx can provide one.

-> It is a bit hard as comment... Only because there is one mistake in the user guide?

Come on, I have been able to make the AXI4-stream VIP without training. Just reading fully the PG

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
3,352 Views
Registered: ‎06-29-2017

Re: AXI4-stream VIP Usage Guide

Hello,

 

Sorry, I didn't mean anything bad about my comment. Well, I believe it is not just one problem in the document, as I have also asked about the example codes in the guide that are not correct, and then you pointed me to a separate document about the API. I am just simply asking politely for documents that as a customer can help me use the product. It is good for you that you were able to make it work. 

 

Regards,

Edzel

0 Kudos
Moderator
Moderator
3,273 Views
Registered: ‎11-09-2015

Re: AXI4-stream VIP Usage Guide

Hello @edzel.raffinan,

 

Sorry about this.

 

The AXI4-Stream VIP is pretty new and the PG is also new. There are some mistakes. If you report them, then we can correct them. The updated PG will be available for 2017.3.

 

And if you still have some question about how to make it work, let me know here. If we don't know were you can have issue then we won't be able to know where we need to improve the PG. So waiting for an updated version of the PG is not really the best solution. You can be pro-active on this. This is good for you because you may have the answer quicker and this is good for Xilinx because we can improve our products/documentations.

 

Kind Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Highlighted
Adventurer
Adventurer
1,580 Views
Registered: ‎08-28-2017

Re: AXI4-stream VIP Usage Guide

Hi @florentw

 

I am using the AXI stream VIP and having a hard time figuring out as to how to set the data for a transaction manually than to randomize it.

 

so basically i create write transaction

 

wr_transaction = mst_agent.driver.create_transaction("write transaction");

 

Now i want to read data from a file. I have the data read in to a 24 bit reg. Then I do this

 

                                wr_transaction.set_id(0);
                                wr_transaction.set_data(DATA);
                                wr_transaction.set_dest(0);
                                wr_transaction.set_last(0);
                                wr_transaction.set_strb(0);
                                wr_transaction.set_user(1);
                                mst_agent.wr_driver.send(wr_transaction);

 

Is this the right way to do? When i set the data there is a mismatch (packed and unpacked types)

 

Regards,

K

 

 

 

 

0 Kudos
Moderator
Moderator
1,529 Views
Registered: ‎11-09-2015

Re: AXI4-stream VIP Usage Guide

Hi @skaat27,

 

Our Community Help has a tip that might help you : Tip: If the message is older than 6-12 months, please post a new message rather than adding to the existing thread. Your inquiry will have a better chance of being picked up by an expert if it is a new topic.

 

https://forums.xilinx.com/t5/help/faqpage/faq-category-id/posting#posting

 

I would suggest you create a new topic on the appropriate board. I will no reply on this topic as this is a different question.

 

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos