#include <adf.h>
#include "conv_corr_graph.hpp"
using namespace adf;
namespace conv_example {
#define DATATYPE_F_CONV int16
#define DATATYPE_G_CONV int16
#define DATATYPE_OUT_CONV int32
#define FUNCT_TYPE_CONV 1
#define COMPUTE_MODE_CONV 0
#define F_LEN_CONV 128
#define G_LEN_CONV 32
#define SHIFT_CONV 7
#define API_CONV 0
#define RND_CONV 0
#define SAT_CONV 1
#define NUM_FRAMES_CONV 1
#define CASC_LEN_CONV 1
#define PHASES_CONV 1
#define USE_RTP_VECTOR_LENGTHS_CONV 0
class test_conv : public adf::graph {
public:
xf::dsp::aie::port_array<input, PHASES_CONV> inF;
xf::dsp::aie::port_array<input, 1> inG;
xf::dsp::aie::port_array<output, PHASES_CONV> out;
xf::dsp::aie::conv_corr::conv_corr_graph<DATATYPE_F_CONV,
DATATYPE_G_CONV,
DATATYPE_OUT_CONV,
FUNCT_TYPE_CONV,
COMPUTE_MODE_CONV,
F_LEN_CONV,
G_LEN_CONV,
SHIFT_CONV,
API_CONV,
RND_CONV,
SAT_CONV,
NUM_FRAMES_CONV,
CASC_LEN_CONV,
PHASES_CONV,
USE_RTP_VECTOR_LENGTHS_CONV>
conv;
test_conv() {
for (int i = 0; i < PHASES_CONV; i++) {
connect<>(inF[i], conv.inF[i]);
connect<>(conv.out[i], out[i]);
}
connect<>(inG[0], conv.inG);
};
};
};