An a10gx board previously used on a Windows machine with a 16.1_pro package w/o any problems (installed, initialized (flash was programmed with 'acl0 boardtest.aocx', loaded and ran 'hello-world' and 'vector_addition') is now intended for use on a Linux machine with the 17.0 package, The variables on this Linux system are pretty standard:QUARTUS_BASEDIR=/local/home/evgeniy/intelFPGA_pro/17.0/ QUARTUS_ROOTDIR=/local/home/evgeniy/intelFPGA_pro/17.0/quartus QSYS_ROOTDIR=/local/home/evgeniy/intelFPGA_pro/17.0/qsys/bin ALTERAOCLSDKROOT=/local/home/evgeniy/intelFPGA_pro/17.0/hld AOCL_BOARD_PACKAGE_ROOT=/local/home/evgeniy/intelFPGA_pro/17.0/hld/board/a10_ref PATH=$PATH:$QUARTUS_ROOTDIR:$QUARTUS_ROOTDIR/bin:$QSYS_ROOTDIR:$ALTERAOCLSDKROOT/bin:$AOCL_BOARD_PACKAGE_ROOT/linux64/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ALTERAOCLSDKROOT/host/linux64/lib:$AOCL_BOARD_PACKAGE_ROOT/linux64/lib The system is able to see the board with the 'aoc --list-boards' command. However, the installation with 'aocl install' fails. Please, see attached screenshot. 'aocl-diagnose' also fails. Any suggestions? Thank you!
The screenshot is too small to see anything in it but it seems you are getting some errors during the compilation of the kernel driver; my guess is that you are using an unsupported Linux or Linux kernel. Even though v17.0 now officially supports Ubuntu, I recommend sticking with CentOS v6.x or v7.x. The PCI-E driver will fail to compile on any other Linux.
Thank you. Interesting... The 'hello_world' example compiles into the .aocx file with 17.0 and this particular version of Ubuntu. I checked out of curiosity.
The compiler itself will probably work with any Linux distribution and any Linux kernel; the problem is the PCI-E driver which will only compile on supported OSes/OS kernels.
Minimal CentOS should work, but you obviously need basic packages that are needed for compilation (make, gcc, etc.)Virtual Machine will certainly not work since you won't have access to the PCI-E ports from the VM. Note that you don't have to install CentOS on your development machine; you can just put the board on a CentOS machine but design, test and compile the kernels on your development machine and then transfer the aocx binary and the host code to the CentOS machine and compile the host code and run the kernel on the FPGA. P.S. Since v17.0 is supposed to officially support Ubuntu, you can always open a support ticket with Altera and complain as to why the PCI-E driver does not compile on a supported OS.
Could it be because Altera is incompetent ?My experience so far is the following: 1.) The A10 GX board does not fit inside my machine. It appears to not conform to PCIe standards, the cooling fans overlap the next PCI slot, the card is too high, and possibly also too long. (I had to completely deconstruct my workstation to get the card to fit into the PCIe slot. 2.) The installation instructions are completely unclear, and there appear to be multiple versions of the instructions for the same Dev kit. 3.) The installation instructions contain incorrect characters in Text fields meant to be copied. Clearly nobody has tested that copying and pasting of the commands works. 4.) The installation instructions don't actually work. I had to find a file named board_env.xml and copy it into the AOCL_BOARD_PACKAGE_ROOT directory. It should have been there already. 4.) Installation instructions fail: aocl flash command produces "No flash routine supplied." Who does the quality control for this stuff ?
--- Quote Start --- Could it be because Altera is incompetent ? My experience so far is the following: 1.) The A10 GX board does not fit inside my machine. It appears to not conform to PCIe standards, the cooling fans overlap the next PCI slot, the card is too high, and possibly also too long. (I had to completely deconstruct my workstation to get the card to fit into the PCIe slot. 2.) The installation instructions are completely unclear, and there appear to be multiple versions of the instructions for the same Dev kit. 3.) The installation instructions contain incorrect characters in Text fields meant to be copied. Clearly nobody has tested that copying and pasting of the commands works. 4.) The installation instructions don't actually work. I had to find a file named board_env.xml and copy it into the AOCL_BOARD_PACKAGE_ROOT directory. It should have been there already. 5.) Installation instructions fail: aocl flash command produces "No flash routine supplied." Who does the quality control for this stuff ? --- Quote End --- I think that# 4 below will fix your aocl flash problem, as I had a similar problem at one point. I had problems with Quartus Pro 17 in the past, and moved to Quartus Pro 16.0 and successfully ran the basic boardtest.aocx (found below). I'm now trying Quartus Pro 17.0 again for the potential speed improvements, but I am not able to get things working, much the same as you. I'm experiencing a new problem now that I'd love help on if anyone has an idea. Running: Quartus Pro 17.0, Centos 7, Arria 10 GX Development Board.
@c.peterson.intel, the instructions in the page you linked are completely correct and accurate, and if they are followed properly, everything will work correctly. You can extract the "a10_ref_initialization.tgz" file anywhere you want; you should just make sure to run the quartus_pgm commands from that folder. That is all.The fact that your board is not detected is more likely than not because you did not correctly follow the procedure for programming the board via JTAG and rebooting your machine (one soft and one hard reboot).
I discovered - quite by accident - that *NOT* performing the soft reboot (Step 5) is essential.I skipped that step, and performed the next step (Step 6), and suddenly everything started working. I have no idea why that would be, other than that the A10 board somehow loses all the configuration you send to it via the jtag command after the soft reboot and before "aocl flash acl0 boardtest.aocx" step.
Back to a10gx installation. Got my RedHat 7.3 workstation. All variables, which worked in Ubuntu copied to this setup and edited accordingly. When running 'aocl install' getting the following:$ aocl install aocl install: Running install from /home/usd16869/intelFPGA_pro/17.0/hld/board/a10_ref/linux64/libexec Looking for kernel source files in /lib/modules/3.10.0-514.el7.x86_64/build Using kernel source files from /lib/modules/3.10.0-514.el7.x86_64/build Building driver for BSP with name a10_ref make: Entering directory `/usr/src/kernels/3.10.0-514.el7.x86_64' CC [M] /tmp/opencl_driver_0Vk6Yp/aclpci_queue.o CC [M] /tmp/opencl_driver_0Vk6Yp/aclpci.o CC [M] /tmp/opencl_driver_0Vk6Yp/aclpci_fileio.o CC [M] /tmp/opencl_driver_0Vk6Yp/aclpci_dma.o CC [M] /tmp/opencl_driver_0Vk6Yp/aclpci_pr.o CC [M] /tmp/opencl_driver_0Vk6Yp/aclpci_cmd.o LD [M] /tmp/opencl_driver_0Vk6Yp/aclpci_a10_ref_drv.o Building modules, stage 2. MODPOST 1 modules CC /tmp/opencl_driver_0Vk6Yp/aclpci_a10_ref_drv.mod.o LD [M] /tmp/opencl_driver_0Vk6Yp/aclpci_a10_ref_drv.ko make: Leaving directory `/usr/src/kernels/3.10.0-514.el7.x86_64' [sudo] password for usd16869: Couldn't create directory '/opt/Intel' ERROR: Permission denied Unable to set up FCD. Please contact your board vendor or see section "Linking Your Host Application to the Khronos ICD Loader Library" of the Programming Guide for instructions on manual setup. 'aoc --list-boards' command sees the board. i tried to change permission to the entire 'intelFPGA_pro' directory tree, but got similar result. Also, as suggested in the aocl_programming_guide' edited the makefile in the board/a10_ref/source directory to include the following: AOCL_LDFLAGS=$(shell aocl ldflags) AOCL_LDLIBS=$(shell aocl ldlibs) host_prog : host_prog.o g++ -o host_prog host_prog.o $(AOCL_LDFLAGS) -lOpenCL $(AOCL_LDLIBS) Still the same error. What can be wrong now? Thanks!