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

ID 683398
Date 9/24/2018
Public
Document Table of Contents

2.2.7. interface

In the board_spec.xml file, each global memory, channel or kernel interface is comprised of individual interfaces. For the global_mem, channels, and interfaces XML elements, include an interface attribute for each interface and specify the corresponding parameters.
Table 16.  Parameters for the interface XML Attribute
Parameter Applicable Interface Description
name All For global_mem: instance name of the Platform Designer (Standard) component.

For channels: instance name of the Platform Designer (Standard) component that has the channel interface.

For interfaces: name of the entity in which the kernel interface resides (for example, board).

port For global_mem: name of the Avalon®-MM interface in the Platform Designer (Standard) component that corresponds to the interface attribute.

For channels: name of the streaming interface in the Platform Designer (Standard) component.

For interfaces: name of the interface to the OpenCL™ Kernel Interface Platform Designer (Standard) component. For example, kernel_cra is the Avalon®-MM interface, and kernel_irq is an interrupt.

type For global_mem: set to slave.

For channels:

  • Set to streamsource for a stream source that provides data to the kernel.
  • Set to streamsink for a stream sink interface that consumes data from the kernel.

For interfaces: set to either master, irq, or streamsource.

width For global_mem: width of the memory interface in bits.

For channels: number of bits in the channel interface.

For interfaces: width of the kernel interface in bits.

waitrequest_allowance

For global_mem: [Optional] Amount of Avalon-MM waitrequest allowance supported on the slave interface (that is, kernel-facing interface) of the clock-crossing bridge that spans between the memory and the kernel clock domains.

For kernel_cra: [Optional] Amount of Avalon-MM waitrequest allowance that the kernel_cra slave interface must support.

This parameter defaults to 0 if you do not specify it in the board_spec.xml file. A value of 0 indicates that this waitrequest allowance feature is disabled.

maxburst global_mem Maximum burst size for the slave interface.
Attention: The value of width ÷ 8 x maxburst must equal to the value of interleaved_bytes.
address Starting address of the memory interface that corresponds to the host interface-side address.

For example, address 0 should correspond to the bank1 memory master from the OpenCL Memory Bank Divider. In addition, any non-zero starting address must abut the end address of the previous memory.

size Size of the memory interface in bytes. The sizes of all memory interfaces should be equal.
latency_type If the memory interface has variable latency, set this parameter to average to signify that the specified latency is considered the average case. If the complete kernel-to-memory path has a guaranteed fixed latency, set this parameter to fixed.
chan_id channels A string used to identify the channel interface. The string may have up to 128 characters.
clock interfaces For the streamsource kernel interface type, the parameter specifies the name of the clock that the snoop stream uses. Usually, this clock is the kernel clock.