UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor abregnsbo
Visitor
256 Views
Registered: ‎05-09-2019

Additional debug output during Vivado synthesis

Vivado synthesis of a design using complex VHDL takes 9 hours. Of these 7.5 hours are spent doing rtl elaboration, most of the time with nothing printed on the screen or in the log file. I am using Vivado v2018.3.

1) Is there a way to turn on additional log output so I can identify which rtl causes the long elaboration time ?

2) Reading other posts it seems Vivado synthesis elaboration cannot be parallelized. Can somebody confirm this ?

 

0 Kudos
5 Replies
Scholar dpaul24
Scholar
244 Views
Registered: ‎08-07-2014

Re: Additional debug output during Vivado synthesis

@abregnsbo,

2) Reading other posts it seems Vivado synthesis elaboration cannot be parallelized. Can somebody confirm this ?

Synthesis can be multithreaded so that lesser time is needed for the result.

See this : https://forums.xilinx.com/t5/Installation-and-Licensing/Vivado-makes-use-of-CPU/td-p/821980

But are you sure that "7.5 hours are spent doing rtl elaboration" is legal and there is no problem with your VHDL coding style?

To me it seems toooo long.

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
All PMs will be ignored
--------------------------------------------------------------------------------------------------------
0 Kudos
Visitor abregnsbo
Visitor
237 Views
Registered: ‎05-09-2019

Re: Additional debug output during Vivado synthesis

Not sure whay you mean by "... is legal".

There are no errors during elaboration, and synthesis finishes with a netlist. The VHDL is a modified version of old rtl that has been implemented in many ASICs with various ASIC synthesis tools (Design Compiler, Genus, Talus RTL). However, like you, I suspect that there is some VHDL coding style which trips up Vivado elaboration. I only whish Vivado could tell what it is currently doing.

0 Kudos
Scholar dpaul24
Scholar
233 Views
Registered: ‎08-07-2014

Re: Additional debug output during Vivado synthesis

@abregnsbo,

The VHDL is a modified version of old rtl that has been implemented in many ASICs with various ASIC synthesis tools (Design Compiler, Genus, Talus RTL).

Thats where problems come in. For e.g. is the RTL coding properly pipelined?

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
All PMs will be ignored
--------------------------------------------------------------------------------------------------------
0 Kudos
Xilinx Employee
Xilinx Employee
184 Views
Registered: ‎05-14-2008

Re: Additional debug output during Vivado synthesis

I'm afraid there is no way to print more info at the elaboration phase.

One thing you can try is to follow the debugging method in the following blog. The method is for debugging a crash issue. Although your issue is not a crash, you can use the same method to debug.

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Vivado-Synthesis-Crash-Debugging-Guide/ba-p/946862

Refer to "Using the black box method" or "making an individual module a "top-module" for synthesis".

You don't need to go through the whole synthesis process.

Since the issue is with RTL elaboration, you can just run "Open Elaborated Design", which will only run RTL elaboration and then open the elaborated design.

-vivian

 

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 Kudos
Scholar richardhead
Scholar
177 Views
Registered: ‎08-01-2012

Re: Additional debug output during Vivado synthesis

7.5 hours is waaaay too long. I can do a fast elaboration (RTL only, black box all IPS) of our design (nearly fully ultrascale) in two minutes, and that includes creating the project and adding all the sources (this is all tcl scripted). Full synthesis with generated IPs takes <20 mins.

If you are re-using ASIC code, I suspect you have RAMs that are not mapping nicely to Xilinx BRAMs. this is usually what kills elaboration times as it has to build large rams from logic.

Maybe you should look through the warnings and check if you have warnings about things not mapping to ram properly. 

0 Kudos