beautypg.com

Nwrite_r completion indication – Altera RapidIO MegaCore Function User Manual

Page 164

background image

7–2

Chapter 7: Testbenches

RapidIO MegaCore Function

August 2014

Altera Corporation

User Guide

1

Your specific variation may not have all of the interfaces enabled. If an interface is not
enabled, the transactions supported by that interface are not exercised by the
testbench.

In addition, the RapidIO IP core modules implement the following features:

Multicast-event control symbol transmission and reception. The RapidIO IP core
under test generates and transmits multicast-event control symbols in response to
transitions on its multicast_event_tx input signal. The sister module checks that
these control symbols arrive as expected.

Disabled destination ID checking, or not, selected at configuration.

NWRITE_R completion indication.

Transaction order preservation between DOORBELL transactions and I/O write
transactions, or not, selected at configuration. If this feature is selected, the
RapidIO IP core under test generates and transmits DOORBELL and write
transactions. The testbench checks that the transaction packets arrive on the link in
the expected order.

Figure 7–1

illustrates the system specified in Verilog HDL in the testbench

connections file (_hookup.iv in non-Arria 10 variations, and in the
main testbench file <design_name>_altera_rapidio_140.tb_rio in Arria 10 variations).

Activity across the Avalon-MM interfaces is generated and checked by running tasks
that are defined in the bus functional models (BFMs). In non-Arria 10 variations,
These models are implemented in the following files:

Figure 7–1. RapidIO IP Core Testbench

PHY

PHY

Avalon-MM

sister_rio

Serial

RapidIO

Interface

Avalon-MM

Avalon-ST

DUT

Avalon-ST

Maintenance

Slave

sister_bfm_mnt_slave

sister_bfm_mnt_master

Maintenance

Master

Maintenance

Slave

Maintenance

Master

bfm_mnt_slave

bfm_mnt_master

sister_receive_packet_avalon_st

sister_send_packet_avalon_st

bfm_receive_packet_avalon_st

bfm_send_packet_avalon_st

I/O

Master

I/O

Slave

bfm_io_read_master

bfm_io_write_master

bfm_io_write_slave

bfm_io_read_slave

sister_bfm_io_read_master

sister_bfm_io_write_master

sister_bfm_io_write_slave

sister_bfm_io_read_slave

I/O

Master

I/O

Slave

sister_bfm_drbell_master

sister_bfm_cnt_master

System

Maintenance

Slave

Doorbell

Slave

System

Maintenance

Slave

Doorbell

Slave

bfm_drbell_master

bfm_cnt_master

Pass-

Through

Pass-

Through