Files
Jungfraujoch/tests/FPGAFrameGeneratorTest.cpp

26 lines
1.0 KiB
C++

// Copyright (2019-2023) Paul Scherrer Institute
#include <catch2/catch.hpp>
#include "../fpga/hls/hls_jfjoch.h"
TEST_CASE("FPGA_FrameGenerator_Cancel") {
STREAM_512 data_out;
std::vector<ap_uint<256>> d_hbm_p0(RAW_MODULE_SIZE/(256/8));
std::vector<ap_uint<256>> d_hbm_p1(RAW_MODULE_SIZE/(256/8));
ap_uint<1> cancel = 1;
ap_uint<32> nframes = 256;
ap_uint<6> nmodules = 8;
REQUIRE(frame_generator(data_out, d_hbm_p0.data(), d_hbm_p1.data(), 0, nframes, nmodules, 0, 0, 0, 0, 0, 0, 0, cancel) == 0);
REQUIRE(data_out.size() == 130);
}
TEST_CASE("FPGA_FrameGenerator_No_Cancel") {
STREAM_512 data_out;
std::vector<ap_uint<256>> d_hbm_p0(2*RAW_MODULE_SIZE/(256/8));
std::vector<ap_uint<256>> d_hbm_p1(2*RAW_MODULE_SIZE/(256/8));
ap_uint<1> cancel = 0;
ap_uint<32> nframes = 2;
ap_uint<6> nmodules = 2;
REQUIRE(frame_generator(data_out, d_hbm_p0.data(), d_hbm_p1.data(), 0, nframes, nmodules, 0, 0, 0, 0, 0, 0, 0, cancel) == 0);
REQUIRE(data_out.size() == (nframes * nmodules * 128 + 1) * 130);
}