Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17267 Discussions

Passed "Design Analysis" stage but failed with "Analysis & Synthesis" stage

jeffshh056
Beginner
1,700 Views

Hi There,

 

I am using Quartus 22.3/22.4 version to compile my design. 

My design contains many folders and many source code,  including *.svh files.

 

I am using quartus_sh to run a tcl file to do the compile.

I have added SERACH_PATH and Source code in the tcl file,  I can even pass the "Design Analysis" stage with no errors.  If my understanding is correct,  this at least shows I have include all the files.

 

However,  I got a bunch of "Can't elaborate user hierarchy ***" errors in the "Analysis & Synthesis" stage. Can someone give me some suggestion what I am missing?  Does the compile file list order matter?  I am sure I did not miss any files otherwise I cannot pass the quick-elab check.

 

Any suggestions?

Thank you so much!

-Shu

0 Kudos
6 Replies
ShengN_Intel
Employee
1,663 Views

Hi,


I don't think the compile file list order matter. In gui, may be you can go to Project -> Generate Tcl File for Project. Then in auto-generated tcl script add two lines below:

package require ::quartus::flow

...

execute_flow -compile

After running auto-generated tcl script, if there's no error then probably there's some problems with your tcl script so can do the comparison. If there's error with auto-generated tcl script as well, then probably the problem is in the design files.


Thanks,

Best regards,

Sheng

p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer.


0 Kudos
jeffshh056
Beginner
1,648 Views

Hi Sheng,

 

My teammate who is using Quartus in GUI mode and got the same issue.

I am using quartus_sh,  and I have package require ::quartus::flow  in my TCL file. The flow actually runs but errors out.

Info: Run task: IP Generation  (pass)

Info: Run task: Design Analysis(pass)

Info: Run task: Logic Generation(pass)

Info: Run task: Analysis & Synthesis(51 errors)

 

Error (16045): Instance "u_axi_bridge" instantiates undefined entity "axi_bridge" File: #######/src/xyz_ctl.sv Line: 2328
Error (16185): Can't elaborate user hierarchy "u_axi_bridge" File: ######/src/xyz_ctl.sv Line: 2328

 

What puzzles me is that

  • I do see the design "axi_bridge" gets compiled,   I don't see compile error related to that module, why it can't elaborate?  

 

I am attaching the syn.elab log file here,  can you help take a look?

Thanks,

-Shu

0 Kudos
ShengN_Intel
Employee
1,642 Views

Hi Shu,


I think that's not the problem of tcl script then. Check in the axi_bridge.sv, make sure the module name is the same matched name axi_bridge. Same goes for the rest of undefine entity.


Thanks,

Best regards,

Sheng


0 Kudos
jeffshh056
Beginner
1,641 Views

One more observation,  if I change to "MFCU" mode,  the synth do starts!!!

      set_global_assignment -name VERILOG_CU_MODE MFCU

 

Do you happen to know why it make such difference,  does it have anything to do with AUTO-DISCOVERY?

 

0 Kudos
ShengN_Intel
Employee
1,627 Views

Hi Shu,


Check this link https://www.intel.com/content/www/us/en/docs/programmable/683463/22-4/verify-verilog-compilation-unit.html

Actually Quartus Pro Edition use Single-file compilation unit (SFCU) method to select compilation unit files which is better method compared to Multi-file compilation unit (MFCU) method.

I don't think that would be the root cause. It's better to check whether the module name match or not.


Thanks,

BRs,

Sheng


0 Kudos
ShengN_Intel
Employee
1,559 Views

Hi Shu,


Any further update or concern?

Does your problem being resolved?


0 Kudos
Reply