Intel® FPGA SDK for OpenCL™ Pro Edition: Custom Platform Toolkit User Guide

ID 683085
Date 3/28/2022
Document Table of Contents OpenCL Kernel Interface

The OpenCL™ Kernel Interface is a Platform Designer component that allows the host interface to access and control the OpenCL kernel.
Table 6.  Parameter Settings for the OpenCL Kernel Interface Component
Parameter Description
Number of global memory systems Number of global memory types in your board design.
Table 7.  Signals and Ports for the OpenCL Kernel Interface Component
Signal or Port Description
clk The clock input used for the host control interface. The clock rate of clk can be slow.
reset This reset input resets the control interface. It also triggers the kernel_reset signal, which resets all kernel logic.
ctrl Use this agent port to connect to the OpenCL host interface. This interface is a low-speed interface with which you set kernel arguments and start the kernel's execution.
kernel_clk The kernel_clk output from the OpenCL Kernel Clock Generator drives this clock input.
kernel_cra This Avalon®-MM host interface communicates directly with the kernels generated by the Intel® FPGA SDK for OpenCL™ Offline Compiler. Export the Avalon-MM interface to the OpenCL Kernel Interface and name it in the board_spec.xml file.
sw_reset_in When necessary, the OpenCL host interface resets the kernel via the ctrl interface. If the board design requires a kernel reset, it can do so via this reset input. Otherwise, connect the interface to a global power-on reset.
kernel_reset Use this reset output to reset the kernel and any other hardware that communicates with the kernel.
Warning: This reset occurs between the MMD open and close calls. Therefore, it must not reset anything necessary for the operation of your MMD.
sw_reset_export This reset output is the same as kernel_reset, but it is synchronized to the clk interface. Use this output to reset logic that is not in the kernel_clk clock domain but should be reset whenever the kernel resets.
acl_bsp_memorg_host The memory interfaces use these signals.

Based on the number of global memory systems you specify in the OpenCL Kernel Interface component parameter editor, the Intel® Quartus® Prime Pro Edition software creates the corresponding number of copies of this signal, each with a different hexadecimal suffix. Connect each signal to the OpenCL Memory Bank Divider component associated with each global memory system (for example, DDR). Then, list the hexadecimal suffix in the config_addr attribute of the global_mem element in the board_spec.xml file.

kernel_irq_from_kernel An interrupt input from the kernel. This signal is exported and named in the board_spec.xml file.
kernel_irq_to_host An interrupt output from the kernel. This signal connects to the host interface.