Avalon-ST Streaming Interface Verification IP

The Avalon-ST Verification IP is a simple solution for verification of Altera Avalon Streaming source and sink interfaces. The provided Avalon-ST verification package includes master (source) and slave (sink) SystemVerilog verification IPs and examples. It will help engineers to quickly create verification environment end test their Avalon Streaming interfaces.

You can download the Avalon-ST Verification IP from Downloads page.

Features

  1. Free SystemVerilog source code
  2. Easy integration and usage
  3. Compliant to Avalon Interface Specifications Ver1.2
  4. Operates as a Master or Slave
  5. Supports 1, 2, 4, 8, 16 and 32 bytes data block size
  6. Configurable endians (little endian or big endian)
  7. Supports wait states injection
  8. Supports full random “empty” value generation
  9. Supports full random timings
  10. Supports wrong start/end of packet insertion and detection

Limitations

  1. Doesn’t support multiple channels
  2. Doesn’t support error signals
  3. readyLatency is fixed to zero

Installation

  1. Download Avalon-ST Verification IP and unpack it.
  2. If you want to run examples
    1. Go to the following folder: <unpack_dir>/avalonst_vip/examples/sim
    2. For VCS type the following command: vcs -f file_list.f -sverilog
    3. For QuestaSim6.4 type the following command: qverilog -f file_list.f
  3. Please read the Avalon-ST Verification IP User Manual.

Support

If you have any questions please don’t hesitate to contact me.

You can also use article comments below to ask your questions, to report about bugs or to tell some ideas for future improvement. Your comments are always welcome!

One thought on “Avalon-ST Streaming Interface Verification IP

  1. I found a small issue in the Avalon-ST slave verification IP. The problem is that printStatus()function does not display read time out error messages.
    To fix the problem, open the avalon_st_s.sv file go to the line number 260 and change
    super.trInBox.put(trErr); line for the following one:
    super.statusBox.put(trErr);

    Sorry for inconvenience.

Leave a Reply

Your email address will not be published.