Visible to Intel only — GUID: lkn1550718925537
Ixiasoft
Visible to Intel only — GUID: lkn1550718925537
Ixiasoft
1.1. Introduction to Intel® Reference Platform
It allows you to target Intel® FPGA devices either on reference platforms provided by Intel® or Intel® board partners, or on your own custom platforms. A typical setup for using the SDK is illustrated in the following image:
The setup consists of a host application running on the host processor and offloading kernel tasks to the FPGA. The OpenCL kernel is converted to a hardware circuit by the SDK compiler. Leveraging this capability for your FPGA platform requires an Intel® FPGA SDK for OpenCL™ -compatible Board Support Package (BSP). The BSP describes the reference platform to the SDK.
The following illustration depicts segments of the Intel® FPGA SDK for OpenCL™ solution:
Your host application communicates with the BSP layers through the Hardware Abstraction Layer (HAL). A typical Intel® BSP consists of software layers and a hardware project created using the Intel® Quartus® Prime Pro Edition software. The hardware project consists of FPGA board peripheral IPs and custom IPs.
The following illustration depicts the hardware project components, and how these components communicate with software layers:
In Intel® FPGA SDK for OpenCL™ Complete Solution, left side depicts the host application running on host processor while right side depicts the FPGA hardware acceleration board. If you are developing a custom platform to run your software applications, then you must create a custom BSP for your platform. In that case, everything that appears in blue in the image must be included in your custom BSP as follows:
- On the FPGA side, your custom BSP must include all hardware necessary to communicate with the host and the memory, that is, DDR and/or QDR memory interfaces, the DMA host interface (which can be PCIe), and any streaming interfaces to be implemented as channels. The Intel® FPGA SDK for OpenCL™ compiles your OpenCL kernel into a data flow circuit, connects to the BSP hardware components, and generates an FPGA image for this combined circuit, which is used to configure the FPGA.
- On the host side, your custom BSP must provide the Memory Mapped Device layer (MMD) (in the form of a library) to facilitate communication between OpenCL libraries and your hardware. When you compile your host application, the host application links with both the Intel® FPGA SDK for OpenCL™ and MMD libraries to form a host executable.
Intel® provides reference BSPs for Intel® FPGA development kits. Most of these reference BSPs are included in the installed directory for Intel® FPGA SDK for OpenCL™ :
Reference BSP | Install Path |
---|---|
Intel® Arria® 10 GX FPGA Reference Platform | Installed with the Intel® FPGA SDK for OpenCL™ in INTELFPGAOCLSDKROOT/board/a10_ref. |
Intel® Stratix® 10 GX FPGA Reference Platform | Installed with the Intel® FPGA SDK for OpenCL™ in INTELFPGAOCLSDKROOT/board/s10_ref. |
Intel® Arria® 10 SoC FPGA Reference Platform | Installed with the Intel® FPGA SDK for OpenCL™ in INTELFPGAOCLSDKROOT/board/a10soc. |
You can use one of the above BSPs as a reference to get started with custom BSP development. You can also use reference platforms from one of the following Intel® FPGA’s preferred board partners and download BSP from their website if it matches your hardware requirements: