Design of FPGA-Based Computing Systems with OpenCL (2018)