Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15309 Discussions

Learning about Altera Verification IP

gyuunyuu
New Contributor II
384 Views

I am trying to get my head around the Altera Verification IP. The document that describes the subject is the "Avalon Verification IP Suite" user guide. This document contains description of a lot of functions but it falls short of explaining how everything connects together to actually make us carry out verification in a real teste bench. There is no document in existence anywhere that describes this process and no YouTube tutorial yet on this subject as well!

The closest that one can get to example is a rather highly cryptic testbench that can be downloaded in the form of ug_avalon_verification.zip file.

The examples provided for Avalon-MM component contain a package called test_template_pkg.vhdtemp along with a test program called test_template.vhdtemp and finally the testbench that instantiates the dut and test program components called tb.vhd. There are a few examples with code presented in VHDL and also Verilog.

The examples provided for Avalon-ST component are only in SystemVerilog and even more difficult to follow.

I want to ask Intel/Altera, why have you not provided more examples of how to use the VIP components? Also, why are the example of the Avalon-ST components even more obscure and in SystemVerilog only? Don't you think it is about time to create video tutorials on this subject or provide more examples on how to use them? The VIP components are quite complex and more guidance is required so the user is able to use them with confidence and not get intimidated.

Finally, what about examples of other Avalon interfaces? Also, what about the new BFMs like the ones used with AXI bus? Why do you not provide any examples for them? Do you not want a lot of people to use these at all?

 

0 Kudos
9 Replies
sstrell
Honored Contributor III
376 Views

This is old but mostly still relevant:

https://www.intel.com/content/www/us/en/programmable/support/training/course/oavl1100.html

 

This is newer (not sure what's going on with the description there:

https://www.intel.com/content/www/us/en/programmable/support/training/course/oaqsyssim.html

 

Nothing about simulating Avalon streaming, though.

gyuunyuu
New Contributor II
373 Views

I live in the UK. The "new" link says:

Class Schedule

No class is being offered at this time. Request a class in your region.

sstrell
Honored Contributor III
357 Views
gyuunyuu
New Contributor II
340 Views
OK. This has been helpful to an extent.

The API contains many functions that start with prefix "signal_" and "event _". How are these supposed to be used? It is not clear to me so far. The get and set calls make sense.
gyuunyuu
New Contributor II
302 Views

It appears to me that the event_ functions are blocking calls. The signal_ are their counter parts that be used in a process to wait on i.e process will only execute when their is activity on the signal. The example code shows that the event_ functions are being used in the VHDL code while the signal_ functions are being used in the verilog code to do the exact same thing.

gyuunyuu
New Contributor II
294 Views

Are the examples inside the ug_avalon_verification.zip supposed to work? I am getting considerable difficulty trying to get it to compile and run.

gyuunyuu
New Contributor II
275 Views

The examples in the ug_avalon_verification do not work out of the box. I took quite a lot of effort to get them to work with my ActiveHDL by making changes to the scripts inside.

By the way, whenever there is an example project from Altera/Intel, the project itself is configured for Stratix or Arria device. Why is this done? Why not put a low end device in the project settings so the project can open on most people's computer without trouble? The same applies to Qsys files in example designs.

RichardTanSY_Intel
249 Views

I understand your concern but I don't have the answer as to why the project itself is configured for Stratix or Arria device initially.

If you somehow able to made the project work using the low end device. Feel free to share here with the community the project/qsys file.

This may helps those who may having similar issue and vice versa. 

Richard Tan

p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos. 

RichardTanSY_Intel
211 Views

I’m believe your inquiries have been answered. With that, I now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.

Best Regards,
Richard Tan

p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos. 

Reply