Visible to Intel only — GUID: ewa1400613054429
Ixiasoft
2.1. Initializing Your Custom Platform
2.2. Removing Unused Hardware
2.3. Integrating Your Custom Platform with the Intel® FPGA SDK for OpenCL™
2.4. Setting up the Software Development Environment
2.5. Building the Software in Your Custom Platform
2.6. Establishing Host Communication
2.7. Connecting the Memory
2.8. Integrating an OpenCL Kernel
2.9. Programming Your FPGA Quickly Using CvP
2.10. Guaranteeing Timing Closure
2.11. Troubleshooting
3.1. Host-FPGA Communication over PCIe
3.2. DDR3 as Global Memory for OpenCL Applications
3.3. QDRII as Heterogeneous Memory for OpenCL Applications
3.4. Host Connection to OpenCL Kernels
3.5. Implementation of UDP Cores as OpenCL Channels
3.6. FPGA System Design
3.7. Guaranteed Timing Closure
3.8. Addition of Timing Constraints
3.9. Connection to the Intel® FPGA SDK for OpenCL™
3.10. FPGA Programming Flow
3.11. Host-to-Device MMD Software Implementation
3.12. OpenCL Utilities Implementation
3.13. Stratix V Network Reference Platform Implementation Considerations
Visible to Intel only — GUID: ewa1400613054429
Ixiasoft
2.9. Programming Your FPGA Quickly Using CvP
After you verify that the host can program you FPGA device successfully, establish the CvP programming capability of your Custom Platform.
- Invoke the following command to generate the CvP files:
quartus_cpf -c --cvp <revision_name>.sof <revision_name>.rbfYou may include this command in the <your_custom_platform_name>/hardware/<board_name>/scripts/post_flow.tcl file so that it generates the CvP files automatically after each compilation.Your Intel® Quartus® Prime compilation directory should contain the files <revision_name>.sof, <revision_name>.periph.rbf, and <revision_name>.core.rbf files.
- Program the base.sof file and then reboot your machine.
- (Optional) You may use the Intel® Quartus® Prime Programmer to verify basic CvP functionality. Invoke the quartus_cvp command to program the base.core.rbf file.
- Define the contents of your fpga.bin file by adding Tcl code to the <your_custom_platform_name>/hardware/<board_name>/scripts/post_flow.tcl file that generates the fpga.bin file. Then, modify the MMD source code and the program utility so that you can use the file.
You may use the existing format if you remove the proprietary host-to-flash programming over the cpld_bridge component from both the hardware and software.
- If you set the environment ACL_PCIE_FORCE_USB_PROGRAMMING earlier, unset it. Then, set the environment variable ACL_PCIE_FORCE_PERIPH_REPLACE_USB to a value of 1. Alternatively, modify the <your_custom_platform_name>/source/host/mmd/acl_pcie_device.cpp file to use CvP but not flash memory for reprogramming periphery changes. Flash programming is unavailable because of the removal of the cpld_bridge component.
- Navigate to the directory containing the boardtest.aocx file. Invoke the command aocl program <device_name> boardtest.aocx to reprogram the device. Confirm that the message Program succeed appears.
Note: By default, <device_name> is the acl number. If you have retained the default naming convention, invoke the aocl program command using acl0 as <device_name>. Alternatively, if you use another naming convention for <device_name>, use that in your aocl utility command.
Related Information