Intel Software: Intel FPGA SDK for OpenCL

Intel Software: Quartus Prime Pro

Intel Software: High Level Design

Type: Answers

Area: Embedded

Area: OpenCL


Last Modified: November 01, 2018
Version Found: v17.1 Update 1
Bug ID: FB: 1408575898;

How can the non-volatile flash be programmed if the Intel® SDK for OpenCL™ command “aocl program” causes the computer to reboot?

Description

When programming the Arria 10 GX Development kit for use with the Intel® SDK for OpenCL™,  the command aocl program may cause the computer to reboot.  The aocl program command makes changes to the PCI Express® interface which may can cause an "Uncorrectable Fatal" error such as  "Surprise Down".  The system reboots to protect from malicious activity.

Note: This unexpected reboot was reported on Ubuntu 16.04, kernel 4.15, but it may occur on other versions of Linux or other operating systems.

 

Workaround/Fix

Program the non-volatile flash device manually with the following steps.

 

Run the following commands to generate the flash.cof and flash.cdf files.

$ cd /hld

$ source init_opencl.sh

$ cd board/a10_ref/bringup

$ aocl flash acl0          

Note: The aocl flash acl0 command above may report “failed” but it still generates the required flash.cof and flash.cdf files.

Verify that files flash.cof and flash.cdf are now in the bringup directory.

 

Run the following commands to generate the flash.pof file and program the flash device.

$ jtagconfig --setparam 1 JtagClock 6M

$ aocl binedit boardtest.aocx get .acl.fpga.bin fpga.bin

$ aocl binedit fpga.bin get .acl.sof fpga_temp.sof

$ quartus_cpf --convert flash.cof 

$ quartus_pgm -c 1 flash.cdf 

 

Fully power off the computer and start it again.

 

Verify that the flash was programmed correctly with the following steps.

Run the following commands to install the driver.

$ cd /hld

$ source init_opencl.sh

$ aocl install /hld/board/a10_ref/

 

Reboot the computer.

Run the following commands to run the diagnostic

$ cd /hld

$ source init_opencl.sh

$ aocl diagnose acl0

 

If aocl diagnose passes then the flash was programmed correctly and you can proceed. 

 

If aocl diagnose fails, use lspci to verify that the card was recognized.  Look for Altera or Intel FPGA boards.

   If lspci shows that the board was recognized, but aocl diagnose fails, then rerun aocl install.

   If lspci does not show that the board was recognized, double check all the switches and jumpers on the board and double check that the memory module is seated correctly.