Example: RapidChannel

Top  Previous  Next

This example shows how to use the RapidChannel links available on the Signal Master Dual board (SMD).

 

The example uses two tasks: master and slave connected by two channels going in opposite directions. The tasks are placed on DSP1 and DSP2 and a wire is declared between the two DSPs connecting RCH_INT to RCH_FPL. Channel connections are configured to be physical to maximize performance by preventing Diamond from using virtual channels on the link. The two channels are placed on the wire to ensure that Diamond  use the RapidChannel link to transfer the data.

 

Note that Diamond has a built-in default firmware already providing all the necessary connections. When it builds the application it  use this firmware instead of recreating a new bitstream, thus speeding-up compilation.

 

 

The example runs three tests, each with various buffer sizes.

 


Test 1

Sends a buffer of data from DSP1 to DSP2 and then back from DSP2 to DSP1. Data is checked on DSP1.


Test 2

Starts two threads of each DSP: one thread writes a buffer to the link while the other reads a buffer from the link. Data is checked on both DSPs.


Test 3

Measures the speed of the link when data are sent from DSP1 to DSP2 and from DSP2 to DSP1.

 

Running the Example

You can build the application by typing Ctrl+B and then execute it by clicking run.

 

Prerequisites

You  need the following components to be able to run this example:

 


Hardware

Quantity


SignalMaster Dual

1


DRC

1


RapidChannel cable

2


3L Diamond DSP

2


3L Diamond FPGA

0

 

The DRC module should be plugged on the LYRIO+ site of the SMD board. The RapidChannel cables should be connected between the SMD and the DRC.