Intel Accelerator Functional Unit Simulation Environment Quick Start User Guide

ID 683200
Date 3/06/2020
Public

5. AFU Examples

Table 2.  AFU ExamplesEach AFU example includes a detailed README file, providing an operational description and notes on how to simulate the design. For a full understanding of the simulation process, review the README file in each AFU example.
AFU Description
hello_mem_afu hello_mem_afu demonstrates an AFU that builds a simple state machine to access memory. The state machine is capable of several access patterns to local memory directly attached to FPGA pins, such as DDR4 DIMMs. This memory is distinct from the host memory accessed over CCI-P. The host manages the hello_mem_afu controller state machine using memory-mapped I/O (MMIO) requests to control and status registers (CSRs).
hello_intr_afu hello_intr_afu demonstrates the application interrupt feature in the ASE.
dma_afu 2 dma_afu demonstrates a DMA Basic Building Block for host to FPGA, FPGA to host, and FPGA to FPGA memory transfers. When simulating this AFU, the buffer size used for DMA transfer is small to keep the simulation time reasonable. For more information, refer to the DMA Accelerator Functional Unit (AFU) User Guide.
nlb_mode_0 nlb_mode_0 is a CCI-P system demonstrating the memory copy test. $OPAE_PLATFORM_ROOT/sw/opae-<release_number>/sample/hello_fpga.c includes nlb_mode_0.
	$ sh regress.sh -a <afu dir> -r rtl_sim  
		-s < vcs|modelsim|questa > [-i <opae install path>] 
		-b <path to opae source dir>
streaming_dma

streaming_dma demonstrates how to transfer data between host memory and an FPGA streaming port. For more information, refer to the Streaming DMA Accelerator Functional Unit (AFU) User Guide.

hello_afu hello_afu is a simple AFU that demonstrates the primary CCI-P interface. The RTL satisfies the bare minimum requirements of an AFU, responding to MMIO reads to return the device feature header and the AFU's UUID.
2 Available only in Client-Server mode