Intel® FPGA SDK for OpenCL™: Stratix® V Network Reference Platform Porting Guide

ID 683645
Date 11/06/2017
Document Table of Contents

3.1.2. PCIe Device Identification Registers

To build PCIe® hardware, you must set PCIe IDs related to the device hardware.
Table 4.  Device Hardware-Related PCIe ID Registers
ID Register Name Parameter Name in PCIe IP Core Description
Vendor ID vendor_id_hwtcl Identifies the manufacturer of the FPGA device.

Always set this register to 0x1172.

Device ID device_id_hwtcl Identifies the FPGA device.

Set the device ID to the device code of the FPGA device on your accelerator board.

For the Stratix® V Network Reference Platform, this register is set to 0xD800 for the Stratix V D8 FPGA.

Subsystem Vendor ID subsystem_vendor_id_hwtcl Identifies the manufacturer of the accelerator board.

Set this register to the vendor ID of manufacturer of your accelerator board.

If you are a board vendor, set this register to your vendor ID.

Subsystem Device ID subsystem_device_id_hwtcl Identifies the accelerator board.

The Intel® FPGA SDK for OpenCL™ uses this ID to identify the board because the software might perform differently on different boards. If you create a Custom Platform that supports multiple boards, use this ID to distinguish between the boards. Alternatively, if you have multiple Custom Platforms, each supporting a single board, you can use this ID to distinguish between the Custom Platforms.

Important: Make this ID unique to your Custom Platform.

You can find these PCIe ID definitions in the PCIe controller instantiated in the board.qsys system. These IDs are necessary in the driver and the SDK programming flow. The kernel driver uses the Vendor ID, Subsystem Vendor ID and the Subsystem Device ID to identify the boards it supports. The SDK programming flow refers to the Device ID to ensure that it programs a device with a .aocx file targeting that specific device.