template class xf::dsp::aie::widget::api_cast::widget_api_cast_graph

#include "widget_api_cast_graph.hpp"

Overview

widget_api_cast is a design to change the interface between connected components. This component is able to change the stream interface to window interface and vice-versa. In addition, multiple input stream ports may be defined, as well as multiple copies of the window output.

These are the templates to configure the Widget API Cast class.

Parameters:

TT_DATA

describes the type of individual data samples input to and output from the function. This is a typename and must be one of the following:

int16, cint16, int32, cint32, float, cfloat.

TP_IN_API defines the input interface type. 0 = Window, 1 = Stream
TP_OUT_API defines the output interface type. 0 = Window, 1 = Stream
TP_NUM_INPUTS describes the number of input stream interfaces to be processed. When 2 inputs are configured, whe data will be read sequentially from each.
TP_WINDOW_VSIZE describes the number of samples in the window API used if either input or output is a window. Note: Margin size should not be included in TP_INPUT_WINDOW_VSIZE.
TP_NUM_OUTPUT_CLONES sets the number of output ports to write the input data to. Note that while input data from multiple ports is independent, data out is not.
TP_PATTERN sets the interleave or deinterleave pattern for configurations using dual streams, since streams are not considered clones for input nor for output. The patterns supported are: 0 (default) : 128bits are taken from each input, concatenated to 256b and output to window. or one 256b window read is split into upper and lower 128b cunks for output. 1 : kSampleIntlv. One TT_DATA sample is taken from each stream and written to window or vice versa. 2 : kSplit. The window is split into 2 halves with each half going to a stream.
template <
    typename TT_DATA,
    unsigned int TP_IN_API,
    unsigned int TP_OUT_API,
    unsigned int TP_NUM_INPUTS,
    unsigned int TP_WINDOW_VSIZE,
    unsigned int TP_NUM_OUTPUT_CLONES = 1,
    unsigned int TP_PATTERN = 0
    >
class widget_api_cast_graph: public graph

// fields

port <input> in[TP_NUM_INPUTS]
port <output> out[TP_NUM_OUTPUT_CLONES]

Fields

port <input> in [TP_NUM_INPUTS]

The input data to the function. This input may be stream or window. Data is read from here and written directly to output. When there are multiple input streams, a read from each will occur of the maximum size supported (32 bits) with these 2 being concatenated, before being written to the output(s). Multiple input windows is not supported

port <output> out [TP_NUM_OUTPUT_CLONES]

An API of TT_DATA type.

Methods

getKernels

kernel* getKernels ()

Access function to get pointer to kernel (or first kernel in a chained configuration).

widget_api_cast_graph

widget_api_cast_graph ()

This is the constructor function for the Widget API Cast graph.