I am trying to set up the OpenCL compilation for my Intel Programmable Acceleration Card. I installed the board and the acceleration software stack provided by Intel. I was able to program the board with the hello_world.aocx and vector_add.aocx bitstream provided in the installation folder and everything was fine. However, when I tried to compile the same hello_world kernel for my board, I got the following error when I tried to program the board with the .aocx file generated after I compiled the code with OpenCL myself.
libopae-c reconf.c:427:fpgaReconfigureSlot() **ERROR** : Failed to reconfigure bitstream: Input/output error
libopae-c reconf.c:450:fpgaReconfigureSlot() **ERROR** : PR incompatible bitstream error detected
Error writing bitstream to FPGA: reconfiguration error
Error programming device
Also, I checked the quartus_sh_compile.log and noticed the following error despite the fact the OpenCL finished compilation and generated the .aocx file.
Critical Warning (125091): Tcl error: couldn't read file "a10_hpr_floorplan.qsf": no such file or directory
(file "afu_ip_gt.qsf" line 61)
Error (125080): Can't open project -- Quartus Prime Settings File contains one or more errors
Error (23035): Tcl error: ERROR: You must open a project before you can use this command.
"set_global_assignment -name SEARCH_PATH $CCIP_AVMM_SRC/hw/rtl"
(file "./BBB_ccip_avmm/hw/par/ccip_avmm_addenda.qsf" line 14)
invoked from within
(procedure "add_bbb_assignments" line 4)
invoked from within
(file "add_bbb_to_pr_project.tcl" line 30)
Error (23031): Evaluation of Tcl script add_bbb_to_pr_project.tcl unsuccessful
I am using the latest version of Intel Acceleration Stack, OpenCL on Ubuntu 18.04, and I also tried it on another system with rhel7.8 and the issue was same both of the times.
I appreciate it if anybody could help me with this issue.
Ran into this as well since I wasn't familiar with all the new security features in the PAC cards. You basically need to take the extra step to either add in just the security metadata to your bitstream (unsigned), or fully encrypt your bitstream (signed). I recommend you read this document here for more info: https://www.intel.com/content/www/us/en/programmable/documentation/xfr1578356347803.html#bdv15787901...
From the docs, the fastest way to test out your bitstream above would be to create an unsigned bitstream via:
$AOCL_BOARD_PACKAGE_ROOT/linux64/libexec/sign_aocx.sh -H openssl_manager \ -i <path_to_input_file/input_filename.aocx> -r NULL -k NULL \ -o <path_to_output_file/output_filename.aocx>
Then you can program or run the host code provided that the output filename/pathing is still correct.
Hope this helps.
Thanks for your reply, Micheal. It was really helpful. I checked that and It worked. Just one more question, do you get the same error during the code compilation? The one that saying "couldn't read file "a10_hpr_floorplan.qsf".