Text Blame History Raw

fpgamux

SYNOPSIS

fpgamux [-h] [-S|--socket-id SOCKET_ID] [-B|--bus-number BUS] [-D|--device DEVICE] [-F|--function FUNCTION]
        [-G|--guid GUID] -m|--muxfile <filepath.json>

DESCRIPTION

fpgamux tests multiple AFUs that are synthesized into a single AFU along with the CCIP-MUX basic building block (BBB). The CCIP-MUX uses the upper bits in the MMIO addresses to route MMIO reads and writes to the AFU running on the corresponding CCIP-MUX port. fpgamux uses a configuration file that lists the software components and correct configuration. fpgamux only runs on the Integrated FPGA Platform. You cannot run it on the PCIe accelerator card (PAC).

.. note::

  The OPAE driver discovers only the first AFU. The first software component in the configuration 
  determines the GUID to use for enumeration. Use the -G|--guid option to override the GUID
  for the first software component.

OPTIONS

-S SOCKET_ID, --socket-id SOCKET_ID

socket id of FPGA resource.

-B BUS, --bus BUS

bus id of FPGA resource.

-D DEVICE, --device DEVICE

The device id of FPGA resource.

-F FUNCTION, --function FUNCTION

The function id of FPGA resource.

-G, --guid

Specifies the GUID to use for the resource enumeration.

-m, --muxfile <filepath.json>

The path to the fpgamux configuration file. This file must be in JSON format following the schema described below.

CONFIGURATION

fpgamux uses a configuration file (in JSON format) to determine what software components to instantiate and how to configure them to work with the AFUs. The schema includes the following elements:

    [
        {
            "app" : "fpga_app",
            "name" : "String",
            "config" : "Object"
        }
    ]

EXAMPLES

The following example shows a configuration with two components:

    [
        {
            "app" : "nlb0",
            "name" : "nlb0",
            "config" :
            {
                "begin" : 1,
                "end" : 1,
                "multi-cl" : 1,
                "cont" : false,
                "cache-policy" : "wrline-M",
                "cache-hint" : "rdline-I",
                "read-vc" : "vh0",
                "write-vc" : "vh1",
                "wrfence-vc" : "write-vc",
                "timeout-usec" : 0,
                "timeout-msec" : 0,
                "timeout-sec" : 1,
                "timeout-min" : 0,
                "timeout-hour" : 0,
                "freq" : 400000000
            }
        },
        {
            "app" : "nlb3",
            "name" : "nlb3",
            "config" :
            {
                "mode" : "read",
                "begin" : 1,
                "end" : 1,
                "multi-cl" : 1,
                "strided-access" : 1,
                "cont" : false,
                "warm-fpga-cache" : false,
                "cool-fpga-cache" : false,
                "cool-cpu-cache" : false,
                "cache-policy" : "wrline-M",
                "cache-hint" : "rdline-I",
                "read-vc" : "vh0",
                "write-vc" : "vh1",
                "wrfence-vc" : "write-vc",
                "alt-wr-pattern" : false,
                "timeout-usec" : 0,
                "timeout-msec" : 0,
                "timeout-sec" : 1,
                "timeout-min" : 0,
                "timeout-hour" : 0,
                "freq" : 400000000
            }
        }
    ]

Revision History

Document Version Intel Acceleration Stack Version Changes
2018.05.21 1.1 Beta.
(Supported with Intel Quartus Prime Pro Edition 17.1.)
No changes from previous release.