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

Quartus Pro 24.1 QSYS uses absolute paths

FabianL
Novice
1,828 Views

Hello,

 

we have a design using hierarchical .qsys subsystems with several layers. All project files are within the same root folder. The folder structure is:

 

  • root 
    • IP
      • several subfolders with custom IP cores
    • qsys
      • top
      • subsystem
        • common (containing multiple .qsys files)
        • subsystem 1 (containing multiple .qsys files)
        • subsystem 2 (containing multiple .qsys files)

 

Now I have a problem referencing the .qsys files within other .qsys files. If both .qsys file (the top and the instantiated .qsys) are in the same folder everything works fine and within the .qsys file the relative path is used as reference.

But, when the top .qsys file is in a different folder, e.g. within qsys/top and instantiates a file from qsys/subsystem/common Platform Designer always write the full absolute path in the .qsys file.

It is possible to manually change this to a relative path and opening and synthesizing the project works fine. So obviously Platform Designer is capable of handling relative paths.

 

But whenever a .qsys file is saved, Platform Designer replaces the relative path with the absolute path. This makes it impossible to use it in multi platform environments and or on different machines.

 

Is there any option or trick to force Platform Designer to use relative paths?

 

best regards

Fabian

Labels (1)
0 Kudos
1 Solution
RichardTanSY_Altera
1,123 Views

After consulting the tool specialists:

 

Currently, PD references the subsystem .qsys through relative path if and only if the subsystem .qsys lives under the parent system directory  If not, then use absolute path.
I agree the interpretation that the subsystem .qsys has to live under parents system is weird and plan to fix this in the Quartus future release 25.3 (version stated is subject to change). 
On Windows, if the file is on a different drive, we'll continue to use absolute path. 

 

Based on the comments provided, it seems that the subsystem cannot be placed outside the parent system directory.

As a workaround, please place the subsystem within the parent system directory until this is fixed in a future Quartus release.

 

Regards,

Richard Tan

 

View solution in original post

0 Kudos
16 Replies
sstrell
Honored Contributor III
1,781 Views

So are you setting these paths in Tools menu -> Options -> IP Search Path?  Here you can set paths for the specific project, which may be relative.

0 Kudos
RichardTanSY_Altera
1,750 Views

I agree with sstrell suggestion.

Please add the relative path in the IP Search Path and see if it helps to resolve your issue


Regards,

Richard Tan



0 Kudos
FabianL
Novice
1,723 Views

The qsys folder is already added to the IP search path:

This is in my .qsf file:

set_global_assignment -name IP_SEARCH_PATHS "../../../core/ip\\**\\*;../../../core/qsys\\**\\*"

Regards

Fabian

0 Kudos
RichardTanSY_Altera
1,661 Views

What is the error message that you are seeing currently?

​​​​​​Is the path reflected in the Platform Designer GUI > Tools > Options > Quartus Project IP Search Path?

RichardTanSY_Intel_0-1745218054993.png

 

Kindly share your design by archiving the project (Project > Archive Project) so that I can investigate it further.

 

Regards,

Richard Tan

 

0 Kudos
FabianL
Novice
1,627 Views

1) Yes it is correctly listed in the Quartus Project IP Search path, but with its absolute path. Which is ok, IMHO. The paths also updates when the project is moved to different locations.

FabianL_0-1745309751863.png

 

 

2) I don't get any direct errors, but

  • when 2 projects are checked out to 2 different locations and each has a identical named file, e.g. flash_subsystem.qsys but with different contents, It might happen that the projects use the wrong file, if they have gotten checked in with absolute paths and not relative paths
  • This causes constant changes in files, when working with a version control system like git or svn

3) I created a small basic example project. I manually changed the path in the .qsys file ""qsys\top\relativePaths.qsys" (line 2343) which instantiates the subsystem "core\qsys\subsystem\test.qsys" . Whenever I save the top level qsys file this relative path is overwritten by the absolute paths.

 

best regards

Fabian

0 Kudos
RichardTanSY_Altera
1,575 Views

I checked and it seems that the absolute paths are used when the tool is unable to find the subsystem’s relative path to the current level of hierarchy.

Additionally, those paths serve as a fallback—Platform Designer uses the search-path mechanism to locate the associated subsystem in the IP Catalog. As long as the subsystem exists within the tool’s search paths, it will use the located path. Otherwise, it defaults to using the absolute path.

 

Having said that, you can try to use the qsys-archive command with the --search_path, to archive a system, extract an archived system, and retrieve information about the system's dependencies.

 

Example command to use based on your design:

qsys-archive --list --search_path="$,../../../core/ip\\**\\*;../../../core/qsys\\**\\*" relativePaths.qsys --new-quartus-project=relativepaths2

 

For further information, you may checkout this document:

https://www.intel.com/content/www/us/en/docs/programmable/683609/25-1/archive-and-extract-systems-with-qsys.html

 

Please try and let me know if the solution works.

 

Regards,

Richard Tan 

 

0 Kudos
FabianL
Novice
1,540 Views

The result is the same. Once I change anything with Platform Designer and save the changes in the .qsys files the relative path is replaced again by its absolute path.

 

regards

Fabian

0 Kudos
RichardTanSY_Altera
1,510 Views

I am confused. Could you share me the screenshot of the path changes, before and after saving the qsys?

After saved the qsys, does the project able to compile successfully or the qsys able to generate HDL without error?


Regards,

Richard Tan


0 Kudos
FabianL
Novice
1,495 Views

Before saving any changes in .qsys

FabianL_0-1745480815497.png

 

After saving in Platform Designer

FabianL_1-1745480837059.png

 

best regards

Fabian

0 Kudos
RichardTanSY_Altera
1,385 Views

I am consulting with the tool specialist on this.

I will inform you once there is a way.


Regards,

Richard Tan


0 Kudos
RichardTanSY_Altera
1,267 Views

I yet to get a response from the tool specialist.

I will continue to follow up on this.


Regards,

Richard Tan



0 Kudos
FabianL
Novice
1,250 Views

Thanks, looking forward for any advice.

 

best regards

Fabian

0 Kudos
RichardTanSY_Altera
1,124 Views

After consulting the tool specialists:

 

Currently, PD references the subsystem .qsys through relative path if and only if the subsystem .qsys lives under the parent system directory  If not, then use absolute path.
I agree the interpretation that the subsystem .qsys has to live under parents system is weird and plan to fix this in the Quartus future release 25.3 (version stated is subject to change). 
On Windows, if the file is on a different drive, we'll continue to use absolute path. 

 

Based on the comments provided, it seems that the subsystem cannot be placed outside the parent system directory.

As a workaround, please place the subsystem within the parent system directory until this is fixed in a future Quartus release.

 

Regards,

Richard Tan

 

0 Kudos
RichardTanSY_Altera
1,063 Views

Do you have further inquiries regarding this case?


Regards,

Richard Tan


0 Kudos
FabianL
Novice
1,037 Views

Thanks for the response and the explanation. 

 

Looking forward to the fix in Quartus 25.3

 

best regards

Fabian

0 Kudos
RichardTanSY_Altera
1,031 Views

You're welcome.


Now, I will transitioning this thread to community support. If you have any further questions or concerns, please don't hesitate to reach out. Please login to https://supporttickets.intel.com/s/?language=en_US , 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.

The community users will be able to help you on your follow-up questions.

 

Thank you and have a great day!

 

Best Regards,

Richard Tan


0 Kudos
Reply