AN 780: Compiling and Customizing an Intel® Arria® 10 Custom Platform for OpenCL*

ID 683045
Date 10/30/2018
Public
Document Table of Contents

1.3. Hierarchical Structure of the Intel® Arria® 10 GX FPGA Development Kit Reference Platform's Hardware

The Intel® Arria® 10 GX FPGA Development Kit Reference Platform consists of four main blocks, as implemented in a Intel® Quartus® Prime project.
Figure 2. Hierarchical Structure of the OpenCL Hardware System on an Intel® Arria® 10 Device

Root Partition (top.v)

The top.v file describes the I/O ring of the FPGA, which specifies in RTL all of the interfaces to which the FPGA will connect on the PCB.

Board Interface (board.qsys)

The board.qsys file is a Platform Designer representation of the Reference Platform. This Platform Designer representation contains IP such as external memory interface (EMIF) to connect to external memory, and hard processor system (HPS) to act as an internal host. When modifying an existing platform, you must update the board.qsys file. This file typically contains the logic for the interfaces which are described in the top.v file.

Freeze Wrapper (freeze_wrapper.v)

The freeze_wrapper.v file is used for Partial Reconfiguration (PR). If your design does not use PR, this file simply acts as a wrapper around the OpenCL kernel. You must change the freeze_wrapper.v file if you wish to modify an existing platform that connects to the kernel. Refer to the Kernel Reprogramming via Partial Reconfiguration section of the Intel® FPGA SDK for OpenCL™ Intel® Arria® 10 GX FPGA Development Kit Reference Platform Porting Guide for more details on how to implement the freeze wrapper.

OpenCL Kernel (kernel_system.qsys)

When the SDK user compiles an OpenCL kernel, the Intel® FPGA SDK for OpenCL™ Offline Compiler creates the kernel_system.qsys file as part of the compilation flow. The SDK user designs this Platform Designer representation of the kernel to optimize its performance when using the FPGA as a hardware acceleration engine.