27 lines
745 B
C++
27 lines
745 B
C++
// Copyright (2019-2023) Paul Scherrer Institute
|
|
|
|
#include "hls_jfjoch.h"
|
|
|
|
void axis_broadcast(STREAM_512 &data_in,
|
|
STREAM_512 &data_out_0,
|
|
STREAM_512 &data_out_1) {
|
|
#pragma HLS INTERFACE ap_ctrl_none port=return
|
|
#pragma HLS INTERFACE axis register both port=data_in
|
|
#pragma HLS INTERFACE axis register both port=data_out_0
|
|
#pragma HLS INTERFACE axis register both port=data_out_1
|
|
packet_512_t packet;
|
|
data_in >> packet;
|
|
data_out_0 << packet;
|
|
data_out_1 << packet;
|
|
|
|
data_in >> packet;
|
|
while (!packet.user) {
|
|
#pragma HLS PIPELINE II=1
|
|
data_out_0 << packet;
|
|
data_out_1 << packet;
|
|
data_in >> packet;
|
|
}
|
|
data_out_0 << packet;
|
|
data_out_1 << packet;
|
|
}
|