- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I am trying to compile the vector-addition OpenCL kernel from https://www.intel.com/content/www/us/en/programmable/products/design-software/embedded-software-developers/opencl/developer-zone.html#design-examples for the Arria 10 reference BSP. The command that I use is "aoc -o bin/vector_add_a10gx_hostch_centos.aocx -v -report -board=a10gx_hostch device/vector_add.cl" During synthesis, Quartus issues a number of errors, and the root seem to be:
Error (287078): Assertion error: Valid clear box generator not found or Errors encountered during clear box generation File: /home/jamesliu/intelFPGA_pro/17.1/quartus/libraries/megafunctions/altera_syncram.tdf Line: 127
Error (287078): Assertion error: Stratix does not support a fifo with LPM_SHOWAHEAD = "ON" File: /home/jamesliu/intelFPGA_pro/17.1/quartus/libraries/megafunctions/a_dpfifo.tdf Line: 112
My Quartus Prime Pro and AOCL versions are both 17.1.0.240. Furthermore, these errors pop up both when I run aoc under CentOS 7 and Ubuntu 16.04. Please see the attachement for the complete logs dumped by Quartus.
I wonder if anyone has run into the same issues and figured out some workarounds.
Jmuse
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have not seen the error before so I cannot give an exact solution. However, I have some recommendations that might solve your problem:
- Make sure you have enough disk space left for the compilation files to be stored.
- Try updating both Quartus and AOC to v17.1.2.
- Use the standard reference BSP rather than the "hostch" one which is for designs that use host channels.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
After experimenting with the environment variables for a while, I finally solved the issue.
Previously, I set some of the OpenCL SDK environment variables using relative path:
export INTELFPGAVERSION=17.1
export INTELFPGAOCLSDKROOT=/opt/intelFPGA_pro/$INTELFPGAVERSION/hld
export ALTERAOCLSDKROOT=$INTELFPGAOCLSDKROOT
export QUARTUS_ROOTDIR_OVERRIDE=$INTELFPGAOCLSDKROOT/../quartus
export QUARTUS_ROOTDIR=$QUARTUS_ROOTDIR_OVERRIDE
export QSYS_ROOTDIR=$INTELFPGAOCLSDKROOT/../qsys
export SOPC_KIT_NIOS2=$INTELFPGAOCLSDKROOT/../nios2eds
export PATH=$PATH:$INTELFPGAOCLSDKROOT/bin:$INTELFPGAOCLSDKROOT/linux64/bin:$INTELFPGAOCLSDKROOT/host/linux64/bin:$QUARTUS_ROOTDIR_OVERRIDE/bin:$QSYS_ROOTDIR/bin
Apparently the relative paths (e.g. /../) eventually caused Quartus to incorrectly assume that the device family was Stratix instead of Arria when elaborating the components inside the kernenl . Everything worked after I changed all the environment varible to absolute path:
export INTELFPGAVERSION=17.1
export INTELFPGAOCLSDKROOT=/opt/intelFPGA_pro/$INTELFPGAVERSION/hld
export ALTERAOCLSDKROOT=$INTELFPGAOCLSDKROOT
export QUARTUS_ROOTDIR_OVERRIDE=/opt/intelFPGA_pro/$INTELFPGAVERSION/quartus
export QUARTUS_ROOTDIR=$QUARTUS_ROOTDIR_OVERRIDE
export QSYS_ROOTDIR=/opt/intelFPGA_pro/$INTELFPGAVERSION/qsys
export SOPC_KIT_NIOS2=/opt/intelFPGA_pro/$INTELFPGAVERSION/nios2eds
export PATH=$PATH:$INTELFPGAOCLSDKROOT/bin:$INTELFPGAOCLSDKROOT/linux64/bin:$INTELFPGAOCLSDKROOT/host/linux64/bin:$QUARTUS_ROOTDIR_OVERRIDE/bin:$QSYS_ROOTDIR/bin
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page