The RTG Coprocessor Link and Target Streaming base classes provide all of the functionality to communicate between the custom coprocessor bitfile and the RTG.

There are two options for using the class in a custom RTG + coprocessor application:

  • Keeping the Base Class Separate—Use the base class as the top-level class for interacting with the RTG. Create a separate set of code to control all coprocessor custom configurations.

    There are two independent code modules in this architecture:

    • The existing base class starts the coprocessor FPGA, connects it to the RTG, and closes the coprocessor FPGA at the end.
    • A separate code module performs any required custom actions.

    Calling the base class Get Coprocessor Refnum VI returns a handle to the FPGA that can be used to communicate with it. The handle is a dynamic FPGA reference to cast to the specific data type. The separate code module should not start, stop, reset, or redownload the bitfile to the FPGA because it will interfere with the RTG API’s interaction with the coprocessor.

    When using this architecture, you can call Create Coprocessor VI from the RTG Coprocessor Link Interface class library. You must store the bitfile path in the INI file.

  • Extending the Base Class—Extend the base class to include custom functionality.

    This method allows a single class to provide all coprocessor interaction. Do not override existing base class functionality unless necessary.

    When using this architecture, you must use the base class Initialize Coprocessor Session VI. You are responsible for creating your own constructor that uses the Create Coprocessor VI.