Skip to content

EC2 F1: AWS FPGA DRAM DMA Example fails during execution #584

@jasmisbvb

Description

@jasmisbvb

We are currently evaluating AWS's EC2 F1 instances as solution for a multitude of FPGA projects. As part of that we are running the example code provided by AWS in https://github.com/aws/aws-fpga/tree/master/hdk/cl/examples .
Observed behaviour:

  • The Hello World example builds and executes successfully.
  • The DRAM DMA example builds successfully and executes without crashing, but the C code logic in the example returns with an error and fails:
    "
    ERROR, test_dram_dma.c +145: dma_example(): DIMM 0 failed with 16711498 bytes which differ.
    "
    Please refer to the attached screenshot for the complete output.
    The error repeats for all 4 DIMMs. The number of differing bytes is different on each execution of the example code.

Expected behaviour:

  • Just like the Hello World example, the DRAM DMA example finishes its execution successfully. It's comparison of data written to/read from memory through the C code does not find any differing bytes.

Performed steps for each of the examples:

  1. Setup the HDK on an EC2 instance with AWS FPGA Developer AMI. Then build the FPGA CL of the example by following the steps described on https://github.com/aws/aws-fpga/blob/master/hdk/README.md
    Result of step: AFI is indicated as available in AFI storage.
  2. Setup the SDK on an EC2 F1 instance with AWS Linux Base AMI according to https://github.com/aws/aws-fpga/blob/master/sdk/README.md also tried using latest FPGA Developer AMI (Amazon Linux 2)
  3. Build the XDMA driver and load it into the kernel according to https://github.com/aws/aws-fpga/blob/master/sdk/linux_kernel_drivers/xdma/xdma_install.md
  4. Load the AFI as described on the hdk/sdk READMEs.
  5. Build the C code host application part of the example and then execute it as described on the same READMEs.
  6. The observed behaviour occurs.

It is important for us that the DRAM DMA example works correctly, as performant memory access through XDMA is essential for our FPGA projects.

Please support here, is it possible that the DRAM DMA example or the XDMA driver are faulty?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions