  Real time data acquisition systems in nuclear science often rely on
high-speed logic designs to reach the fast data rate requirements. They are
mostly coded in a hardware description language (HDL). However, in recent
years, high level synthesis (HLS) compilers have appeared, with the notable
advantage that they rely on the widespread C/C++ syntax. This paper's aim is to
outline differences between HDL and C/C++ HLS based designs for two real-time
data acquisition modules used in nuclear science. The first module is a
real-time crystal identification module, and the second is a compact event
timestamp sorting module. This evaluation was done by an experienced VHDL
programmer with no prior HLS training. For the crystal identification module,
both HDL and HLS versions have the same event processing interval, and the HLS
implementation consumes twice as many lookup tables and flip flops as the HDL
version. On the other hand, the HLS version took half the time to write and
debug. For the sorter module, the HLS version requires about 3 to 4 times more
logic resources, with a slightly longer processing interval. It was also
completed in half the time compared to the original HDL code. While different
compiler directives can still be explored to improve source code clarity,
resource usage and timing closure in these designs, this trial shows that HLS
is a compelling alternative to custom HDL implementations for real time systems
in nuclear and plasma science.
