Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16596 Discussions

Library use with files with the same name

ChrisF1
Beginner
2,760 Views

I have multiple modules with the same name and hence have assigned them to different design libraries using: assignments -> settings -> files -> properties

However during compilation I get the following error:

Error (10703): SystemVerilog error at main_project.sv(415): can't resolve aggregate expression in connection to port 18 on instance "my_module_i" because the instance has no module binding

I assume this means the compiler can't find that entity when it searches the design libraries. How can I get Quartus to look for that entity in the correct place?

 

main_project is in the default 'work' library and my_module.sv is library which I specified the name for. Both files are SystemV.

0 Kudos
8 Replies
RichardTanSY_Intel
2,747 Views

Hi, I found a workaround for the error you are seeing:
http://fpgaforum.blogspot.com/2017/07/quartus-ii-synthesis-error-during.html

Please try this and let me know if the error still exists? 

0 Kudos
ChrisF1
Beginner
2,741 Views

Sorry that link doesn't help.

I have added all files to the design, however this has to do with the design libraries they are built into. Since two files (and the modules inside them) have the same name, they cannot be built into the same library. If they are, I get an error about duplicate entities. I can get around that error by building each one into different design libraries. The libraries are 'work' and 'my_lib'.

Therefore 'main_project' is in 'work' and 'my_module_i' is in 'my_lib'. When Quartus compiles 'main_project' it treats 'my_module' as if it doesn't exist - I assume it searches work, can't find it and gives up with the error no module binding. 

In VHDL the solution would be to add library my_lib; refer to my_lib at the instantiation but this isn't possible in SysV. 

0 Kudos
sstrell
Honored Contributor III
2,732 Views

Can you post some code and list file names?  It might be easier to diagnose if you show what's involved.

0 Kudos
ChrisF1
Beginner
2,724 Views

I have to limit code and file names protect IP. This is a large design with many files so it would get complicated to list everything anyway.

 

The simplest way of explaining the issue is: if a source file (.sv) is assigned to any design library, other than work, it cannot be seen by the Quartus compiler.

As shown below; if anything is in the box circled then Quartus doesn't know that file exists and gives an error. 

Screenshot from 2020-12-23 09-31-29.png

This box is in: assignments -> settings -> files -> properties

 

My question is, how do I tell Quartus to go and look in my_lib to find that design unit?

0 Kudos
RichardTanSY_Intel
2,703 Views

Have you try to include design files libraries in your project?
You may checkout 2.4.1. Including Design Libraries in the document below. 

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-qpp-getting-started.pdf

You may also checkout the 5.4.3. Ensure Distinct VHDL Namespace for Each Library. It could be one of the reason the Quartus could not find the file. Try to change to unique file name and check if you are able to solve the error. 

0 Kudos
ChrisF1
Beginner
2,685 Views

If you have any more information than section 2.4.1 that would be great. I've tried various things there without success.

 

5.4.3 is the solution for VHDL but I am using System Verilog. 

0 Kudos
RichardTanSY_Intel
2,609 Views

I search and found similar case. Perhaps you could try to specify the Project Library name with the -library option to the <language type>_FILE assignment in the Quartus Settings File (.qsf).

https://community.intel.com/t5/Intel-Quartus-Prime-Software/Search-Path-for-Source-Files/td-p/723522

If the issue still persists, knowing that the original design is large, but could you help share a simplified design file that could duplicate the issue? 

 

0 Kudos
RichardTanSY_Intel
2,573 Views

We do not receive any response from you to the previous question/reply/answer that I have provided. Please post a response in the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions.

0 Kudos
Reply