Intel® High Level Design
Support for Intel® High Level Synthesis Compiler, DSP Builder, OneAPI for Intel® FPGAs, Intel® FPGA SDK for OpenCL™
702 Discussions

HLS Compiler 24.2 - missing libraries in generated simulation files

NoahHuguenin
New Contributor I
1,001 Views

Good day,

I am working with HLS Compiler, Quartus Prime Pro, and Questa FPGA Starter edition, all of which are version 24.2. 

I am working from a Windows 11 Pro 23H2, and so far the results seem to be the same as when I was working from Windows 10.

 

I have run into a problem when simulation files are generated during the compilation of a design for an I-series Agilex 7 device.

 

  • After running the following command: 

# vsim -dpioutoftheblue 1 -sv_lib C:/intelFPGA_pro/24.2/hls/windows64/bin/hls_cosim_msim -nodpiexports -L work -L lpm_ver -L sgate_ver -L altera_ver -L altera_mf_ver -L altera_lnsim_ver -L tennm_ver -L tennm_hssi_ver -L tennm_hssi_f1_ver -L lpm -L sgate -L altera -L altera_mf -L altera_lnsim -L tennm -L tennm_hssi -L hls_sim_component_dpi_controller_10 -L dpic_invmatrixursi -L altera_common_sv_packages -L hls_sim_mm_agent_dpi_bfm_10 -L mm_agent_luinv_avmm_0_rw -L avalon_conduit_fanout_10 -L luinv_en_cfan -L luinv_cfan -L invmatrixursi_internal_10 -L invmatrixursi -L hls_sim_stream_source_dpi_bfm_10 -L sso_luinv_A -L luinv_internal_10 -L luinv -L hls_sim_clock_reset_10 -L clock_reset -L dpic_luinv -L mm_agent_invmatrixursi_avmm_0_rw -L luinv_ir_cfan -L invmatrixursi_en_cfan -L avalon_concatenate_singlebit_conduits_10 -L cat_cwfsw -L cat_done -L avalon_split_multibit_conduit_10 -L sp_cstart -L sso_invmatrixursi_B -L invmatrixursi_cfan -L invmatrixursi_ir_cfan -L sso_invmatrixursi_A -L sso_invmatrixursi_BINV -L sso_luinv_Ainv -L hls_sim_main_dpi_controller_10 -L main_dpi_controller -L sso_invmatrixursi_AINV -L altera_irq_mapper_2001 -L tb tb.tb

 

Errors appear which indicate that the libraries starting with "tennm" can not be found. 

  • For example: 

# ** Error (suppressible): (vopt-19) Failed to access library 'tennm_ver' at "tennm_ver".
# No such file or directory. (errno = ENOENT)
# ** Warning: tb.v(1): (vopt-2669) Unable to find library 'tennm_ver'.

 

This also happens for tennm, tennm_hssi, etc. 

All device support packages (Agilex 5, Agilex 7, Agilex Common Files and Cyclone 10) are installed. 

A lot of these libraries seem to be present at "C:\intelFPGA_pro\24.2\questa_fse\intel\...", although with slightly different names. For example,  tennm_hssi_all insteado of tennm_hssi... 

Is this the correct directory to check whether the libraries are present?

 

  • In the attached debug.txt file is the complete list of these errors and previous messages from the terminal. The errors start appearing after line 49495. 

 

Thank you in advance. 

Regards, 

Noah

 

P.S.  I will work with oneAPI instead in the future, but this workstream is already advanced in the HLS Compiler workflow, so it would be much preferable to use the same tool for now.

0 Kudos
7 Replies
BoonBengT_Intel
Moderator
889 Views

Hi @NoahHuguenin,


Thank you for posting in Intel community forum, hope all is well and apologies for the delayed in response.

Noted on the error face and details steps, we would required sometime to look into this such as error and also simulating the scenario, hence please provide us with some time on that.

Appreciate the patient, and will get back as soon as possible.


Best Wishes

BB


0 Kudos
whitepau
Employee
785 Views

@NoahHuguenin here are four additional things you can try to help us narrow down the cause of this issue.

 

1. does this issue just appear for your design, or is it reproducible with any of the HLS example designs/tutorials?

2. Your question indicates that this design used to work with a different combination of Quartus® Prime/HLS. Can you share those details?

3. This type of error can indicate in incorrectly initialized environment. Please share the output when you initialized i++ using init_hls.bat. On my laptop, it looks like this:

C:\Windows\System32>C:\intelFPGA_pro\24.1\hls\init_hls.bat
[i] INFO:
Taking this script's directory as the root
of the Intel(r) HLS Compiler installation:
'C:\intelFPGA_pro\24.1\hls\'

[i] INFO:
Quartus is available through your environment:
'C:\intelFPGA_pro\24.1\hls\..\quartus\'->
'C:\intelFPGA_pro\24.1\quartus\'
This setup will make it available on your PATH:
'C:\intelFPGA_pro\24.1\quartus\bin64\quartus_sh.exe'

[i] INFO:
Platform Designer was installed with Quartus.
This setup will make it available on your PATH:
'C:\intelFPGA_pro\24.1\qsys\bin\qsys-script.exe'

[i] INFO:
ModelSim is available on your PATH:
'C:\intelFPGA_pro\24.1\questa_fse\win64\vsim.exe'

[i] INFO:
Found Microsoft Visual C++ (MSVC 2017) on your system:
'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat'
Enabling it as a toolchain for the HLS Compiler...

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.63
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************

4. A bit of a longshot; but often cryptic compilation errors on Windows are related to issues with long paths. Can you try shortening the paths by giving  your component a shorter name and/or compiling it in a shallower file tree?

 



NoahHuguenin
New Contributor I
749 Views

Hello, and thank you for your answers! 

Based on the information you suggested, I have an update which may explain the previous errors, although it comes with a new problem. 

 

I realized the simulator that was being used was from the Lite 23.1 version which is also installed in this laptop.

It seems to make sense that this would cause an error with missing dependencies, since Agilex 7 libraries would have no reason to be present in a Lite installation.

 

However, I now have a problem with license files:

a. For Quartus Lite 23.1, Questa FSE (FPGA Starter Edition) was working properly with a node-locked license in the path indicated by the LM_LICENSE_FILE.

b. For Quartus Pro 24.2, I use a floating license in a server. For Questa FE (FPGA Edition), the license is indicated in the MGLS_LICENSE_FILE path, which indicates the server name in the format shown in the following screenshot from the system environment variables. 

NoahHuguenin_0-1724143297873.png

c. After including the MGLS_LICENSE_FILE path variable, neither FSE or FE detect the license, resulting in this error: 

HLS Elaborate verification testbench FAILED.
See c:/intelFPGA_pro/24.2/hls/examples/QRD/test-fpga.prj/debug.log for details.
Error: Missing simulator license for c:\intelFPGA_pro\24.2\questa_fe\win64\vsim.exe. Either:
1) Ensure you have a valid ModelSim license
2) Use the --simulator none flag to skip the verification flow

 

Based on 4.6.6. Specifying the License for the Questa*-Intel® FPGA Edition..., I set the server license path as MGLS instead of LM. 

If I understand 3.1.2.1. ModelSim Software License-Specific Considerations (intel.com) correctly, it is normal that the LM path stopped working, since MGLS path takes precedence. However, I don't see how that would affect the Questa FE floating license.

 

I tried running the lmutil lmdiag command. According to this, the "intelqsim" license is available at the server and can be checked out. The "intelqsimstarter" also appears in the specified path and it indicates that this is correct node for this license.

 

So, both licenses are present but none is detected when launching the Questa simulator. Could they be conflicting, or am I missing something?

Before considering that the original post is solved, I would like to test simulating with Questa FPGA Edition to see if this truly solves the library problem.

 

Thank you in advance, 

Noah

0 Kudos
whitepau
Employee
736 Views

Those links are super old. Please use the 24.2 documentation: 5. Licensing Intel® FPGA Software

 

I have used the LM_LICENSE_FILE variable successfully on my windows laptop (although I use local licenses).

You may generate a 0-cost Questa FSE license and use it locally: 5.3. Acquiring Free, No-Cost Licenses (intel.com).

NoahHuguenin
New Contributor I
708 Views

Okay, so I went back to using FSE (this time the one within Quartus Pro 24.2) with a local license (through LM_LICENSE_FILE). 

Indeed, the misaligned version of Quartus and Questa was the cause of the problem. There is no longer a problem with missing libraries.

 

Next I will try to use Questa FE with the server license through the LM_LICENSE_FILE variable. Nevertheless that is somewhat off-topic so I think we can consider that this issue is solved  

 

Thank you kindly for your support!

0 Kudos
whitepau
Employee
685 Views

my pleasure. good luck with your design!

0 Kudos
BoonBengT_Intel
Moderator
552 Views

Hi @NoahHuguenin,


Great! Good to know that it is working now, with no further clarification on this thread, it will be transitioned to community support for further help on doubts in this thread. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support.

Thank you for the questions and as always pleasure having you here.


Best Wishes

BB


0 Kudos
Reply