Profiling in Questa

Performance profiling is done to check which part of the design is taking maximum time. Can anyone please describe how the following percentages(In%, Under%) can be related to the simulation time?
The following table is the calltree report generated after profiling.

Name Under(raw) In(raw) Under(%) In(%) %Parent


…/…/uvm_tb/bfm/unipro_bfm_package.sv 1537 92 22.3 1.3 29
…/…/uvm_tb/bfm/unipro_bfm_package.sv 1418 301 20.6 4.4 92
…/…/uvm_tb/bfm/unipro_bfm_package.sv 996 422 14.4 6.1 70

In(%) is the amount of the overall simulation time spent on that particular line
Under(%) is the total time spent on that line and anything that gets called from that line

I noticed that the entries in the calltree report you show above do not contain line numbers. In some cases the ability to associate simulation activity with a particular source line is lost during particular optimizations. Please try re-running your test with +acc=l added to your vopt optimization command. This will tell the optimization engine to attempt to preserve line number information. In most cases this will have only a slight impact on the overall performance of the design so the profile information will still be valid.

In reply to alexgran:

Thanks, I could make sense of the report a little with your explanation.
The example I provided doesn’t have any line numbers, as that file is a package and has the files that need to be included.

In the profiling report, there is a field which shows up as “vl_systf_calltf”. Can you explain what this field means?
The report shows that the package and this command take up most of the time.

Thanks.

In reply to Katri:

That looks like an internal call in simulator you are using.
I would suggest talking to the local support representative for your simulator vendor, they can help understand what is happening in this case.