Altera_Forum
Honored Contributor
10 years agoDe1-SOC SharedOnly Board Package Incompatible with Altera Sample Code
Hello All,
I'm a few months into my learning of OpenCL/non-verilog FPGA development and am running across an issue while trying to compile code. Some background specs are as follows: Quartus 15.0 with OpenCL License from Altera NIOS 2, EDS, and Altera OpenCL SDK all 15.0 from Altera Computer to Compile on: Windows 7 Ultimate, 16GB RAM, Intel Core i7-4900MQ @ 2.80GHz FPGA Board: Altera/Terasic DE1-SOC Education board de1soc_sharedonly <- Board package used for OCL compiling Simple Statement of Problem: Attempting to compile Altera Sample code such as "Finite Difference 3D" and "Matrix Multiplication" both give the error "Cannot fit kernel(s) on device" even with "--high-effort" parameter. Detailed Breakdown: I can compile and run precompiled solutions by Altera entitled "hello_world" and "vector_add" which come with the BSP for the DE1-SOC. I can also compile and run the boardtest that comes with it as well. I have verified that the Quartus/NIOS2/EDS/OCL SDK installations are all correctly functioning, and that my license with Altera is current and active. The only BSP I have installed is "de1soc_sharedonly" and I briefly recall from my many nights of trying to get it all put together that there was a separate "de1soc" BSP that wasn't shared only. I don't fully recall the difference, and I can't find the documentation that had that in there, but maybe that has something to do with this? I have attempted multiple different Altera OpenCL sample codes from section 3 of this page and none have worked for me as of yet. My process to compile them is as follows: Download and Extract Linux version from Website and put into examples folder under C:/altera/15.0/hld/board/terasic/de1soc/examples Open Altera Embedded Command Shell 15.0 by locating the batch file in C:/altera/15.0/embedded Open the makefile associated with the project and correctly set the compiler to arm-linux-gnueabihf-g++. Add --arm on to the end of the following linesAOCL_COMPILE_CONFIG := $(shell aocl compile-config --arm)
AOCL_LINK_CONFIG := $(shell aocl link-config --arm)
This allows me to use the windows environment to compile linux code for the arm processor using the provided cross-compiler. The make runs successfully, giving no errors and generating the correct files. Then run the aoc device/*.cl -o bin/*.aocx (giving parameters) and allowing computer to compile for several hours. If I get the error "Cannot fit Kernel(s) on device" I retry my compile with --high-effort parameter Still get error that I cannot fit kernels on device. I have considered modifying the code myself to use a smaller number of kernels, but it strikes me as odd that I cannot even run guaranteed working sample code with my setup. I would rather fix the issue with my setup than accept less-than-possible performance of my FPGA. Any help would be greatly appreciated! ~Chris