Deprecation Notice for FPGA Support Package for oneAPI DPC++/C++. What is the alternative?
Hi there, We recently began to port our HLS-C++ projects to oneAPI as the HLS-Compiler was no longer continued. Today I noticed the deprecation notice for "FPGA Support Package for Intel® oneAPI DPC++/C++ Compiler". See https://www.intel.com/content/www/us/en/developer/tools/oneapi/fpga.html . Hm. Looking at the Intel/Altera software page, it lists 4 HLS tools, of which two are the mentioned deprecated ones and the others are not suitable for continuation for our projects (no c++). So the questions are: * Is there a SYCL-for-FPGA-support in the future? * Is there a "HLS"ish C++-support planned in the future? (or other non-matlab languages) * What is the recommended High level approach for FPGA projects with an image processing background?Solved2.5KViews0likes5CommentsOneAPI Support for Agilex 5 and 7 Development Kits
Hello, I've recently acquired an Agilex 5 065B Modular development kit (https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/a5e065b-modular.html) and an Agilex 7 I-Series development kit (https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/agi027.html). I've been working through setting up the development environments for these boards, and would like to use the oneAPI HLS toolkit for them, if possible. So far, I've found a tutorial to create an accelerator support package for the Agilex 7 development kit that I have (https://ofs.github.io/ofs-2024.3-1/hw/common/user_guides/oneapi_asp/ug_oneapi_asp/). I'm planning to go through these steps shortly to setup my board for use with oneAPI, but I have yet to find any documentation for my Agilex 5 board. Is it possible to work with this Agilex 5 development kit using oneAPI, or is only the Quartus design flow supported at this time? Additionally, are there board support packages available (that I've just missed) - or soon to be available - for these cards if the HLS flow is an option? Thank you!1.6KViews0likes5CommentsAgilex 5 Precision DSP block simulations
Hi, I'm using the Precision DSP blocks in my Agilex 5 design; i have a floating point Add (FP_Add_native_DSP) and a floating point MAC (FP_MAC_native_DSP), but when i try and run simulations with these in place i'm seeing odd behavior: 1/ The adder is not doing an addition, the output is merely following one of the input pins. 2/ The MAC is giving an output but this does not match the output i'm seeing from a similar MAC targeted for the Arria 10 FPGA. The Arria 10 design is proven on silicon so i would have thought the simulation model for this is correct. The above is making me nervous and i'm seeking clarification that: 1/ There are indeed bugs in the simulations models - if so is there a patch available? 2/ The Floating Point DSP functions work correctly on the actual Agilex 5 silicon. I look forward to hearing from you. SimonSolved4.9KViews0likes10CommentsHAL Kernel Version Mismatch Error During FPGA Emulation with vector-add Sample
Hello Intel FPGA team, I'm currently working on the vector-add example from the official oneAPI-samples repository, specifically from: DirectProgramming/DPC++/DenseLinearAlgebra/vector-add I’m encountering the following runtime error when I attempt to run the emulation build: Error output: ./vector-add-buffers.fpga_emu HAL Kern: Version mismatch! Expected 0xa0c00001 but read 0x4130 Hardware version ID differs from version expected by software. Either: a) Ensure your compiled design was generated by the same ACL build currently in use, OR b) The host can not communicate with the compiled kernel. vector-add-buffers.fpga_emu: /nfs/sc/disks/swip_hld_1/ops/SC/hld/nightly/2022.1/96.2/l64/work/acl/acl/source/57c9d2bcb46afcf445b5da2406c0e6d85be93ef3/src/acl_kernel_if.cpp:733: int acl_kernel_if_init(acl_kernel_if*, acl_bsp_io, acl_system_def_t*): Assertion `0' failed. make: *** [Makefile.fpga:35: run_emu] Error 1 Environment details: Board: DE10-Agilex BSP Path: /opt/intel/oneapi/intelfpgadpcpp/2021.4.0/board/de10_agilex oneAPI version: Installed multiple versions. Active: 2022.0.2 dpcpp path: /opt/intel/oneapi/compiler/2022.0.2/linux/bin/dpcpp OS: Ubuntu (detected as Rocky Linux during install attempts) What I have tried: Verified the AOCL_BOARD_PACKAGE_ROOT is correctly set. Recompiled the design using make clean && make fpga_emu. Ran aoc -list-board-packages to confirm the installed board. Ensured Quartus, BSP, and compiler are aligned. Despite that, I still encounter the HAL version mismatch. Request: Could someone guide me on how to: Resolve this version mismatch issue? Confirm the correct environment and runtime versions are in sync? Completely clean older/duplicate oneAPI installations if that’s the root cause? @intel @OneAPI @fpga @agilex7 @de10 @intel65.1KViews0likes3CommentsModular approach for the NIOS ii processor intigration with main FPGA file
I am currently working on integrating the Nios II processor with the main VHDL file in Quartus Prime. So far, I’ve successfully implemented PWM signal generation by assigning a constant angle using the Nios II processor. My next goal is to make this system modular, so it can support N angles instead of just one. In my previous implementation, I used a single PIO (Parallel I/O) and assigned a base address to it. Now, I’d like to know: Is it possible to automatically assign addresses for multiple angles (i.e., for multiple PIOs corresponding to each angle)? If so, what’s the best approach to manage or generate these addresses dynamically in a modular way? I’ve also attached the files from my previous implementation for reference.Solved2.7KViews0likes4CommentsPCIe 4.0 Example for Agilex 7 M-Series
Hello, We purchased this Agilex 7 M-Series Dev Kit (https://www.intel.com/content/www/us/en/products/details/fpga/development-kits/agilex/agm039.html) for a project, and we're having trouble locating the design example for PCIe mentioned in the documentation. We could, however, identify an example in the documentation of the I-Series board, but the pin mapping is not straightforward. Could you please provide an example or documentation on configuring a basic design using the PCIe for the Agilex™ 7 FPGA M-Series Development Kit—HBM2e Edition (3x F-Tile & 1x R-Tile)? Also, is there any chance a BSP will be released for this dev kit? Thanks, Denisa1.6KViews0likes4CommentsUnderstanding FPGA AI Suite with Quartus
Hi, I am new to the FPGA AI Suite and would appreciate your help in better understanding it. Referring to the attached Intel pipeline, specifically the path involving Quartus: When Quartus is involved, is the OpenVINO runtime inference engine still required to run the application? I assume that IP files are imported into Quartus. Do these files contain the model topology and weights needed to run the application, or is Quartus solely used to configure the FPGA hardware, with the inference handled by the OpenVINO runtime (via FPGA AI Suite)? If I test the model using a deep learning framework and then use the FPGA AI Suite, how can I effectively collaborate with the FPGA developer? I hope my questions are clear. Best regards.Solved2.2KViews0likes1CommentHost PC crashing after sometime of running oneAPI
Hello everyone, For some context, I am converting a CNN model using hls4ml and oneAPI as its backend, and my FPGA is De1-SoC. When building using oneAPI after an hour, my host PC will freeze and kills the process of oneAPI, and gives me this message: Killed Error: Optimizer FAILED. Refer to /tmp/myproject-2cfa12-b4f8a0/logs/myproject_fpga.log for details. llvm-foreach: icpx: error: fpga compiler command failed with exit code 1 (use -v to see invocation) make[3]: *** [CMakeFiles/fpga.dir/build.make:113: myproject.fpga] Error 1 make[2]: *** [CMakeFiles/Makefile2:206: CMakeFiles/fpga.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:213: CMakeFiles/fpga.dir/rule] Error 2 make: *** [Makefile:176: fpga] Error 2 When I look into the myproject_fpga.log, I get this message: Compiler Command: aoc -o /tmp/myproject-2cfa12-b4f8a0.aocx /tmp/icpx-4972caa01e/myproject-043f77-18ce83.spv -sycl -dep-files=/tmp/icpx-4972caa01e/myproject.cpp-a9606a.d,/tmp/icpx-4972> Killed I don't get that much information to properly figure out where went wrong within the process. I hope someone could help me with this, since I've been trying a lot of configurations, but still it does not change the outcome. Overmore, to eliminate the possibility of error in my installation of oneAPI and/or Quartus, I tried running the simple-add that comes with oneAPI, thankfully it works, and I've managed to synthesize it into my FPGA using Quartus. Thank You!Solved2.4KViews0likes5CommentsAssertion failed in "hdl.cpp" when compiling HLS design
Good day! I'm working with Quartus Prime Pro 24.2 and its corresponding version of HLS Compiler. I get the following error message shortly after launching compilation, with an Agilex 7 board as target: Assertion failed: size >= 1, file hdl.cpp, line 201 HLS System Integration FAILED. It seems like this hdl.cpp file is nowhere to be found in my disk. I cannot share the design as it is, since it includes a confidential module, but it might be relevant is that the error appears since I started testing it with mm_host interfaces. In case it might be relevant, here are the interface types I am using: typedef ihc::mm_host<cfixed_t, ihc::dwidth<1024>, ihc::awidth<10>, ihc::latency<0>, ihc::waitrequest<true>, ihc::aspace<1>> mm_host_t1; typedef ihc::mm_host<cfixed_t, ihc::dwidth<1024>, ihc::awidth<2>, ihc::latency<0>, ihc::waitrequest<true>, ihc::aspace<2>> mm_host_t2; typedef ihc::mm_host<cfixed_t, ihc::dwidth<512>, ihc::awidth<4>, ihc::latency<0>, ihc::waitrequest<true>, ihc::aspace<3>> mm_host_t3; I thought to ask in case you could clarify how to check what this assertion refers to. Let me know if you would require more details. Regards, Noah1.9KViews0likes7Comments