Jump to content
c4brian

Anyone have experience using tool profiler?

Recommended Posts

This is mostly likely some hang-up between my architecture, and my tool (RivieraPro), but my profiler results basically have 84.55% CPU used by "other-code" with no details as to what that means, and the remaining percent distributed to my top testbench files (and all their children).

 

Anyone run into anything like this in RP, or another tool?  Something is eating my simulation alive the longer it runs...

Share this post


Link to post
Share on other sites

One possibility is that you don't have access specified (+acc - not sure in Riviera Pro) which is why it can't report on the "other" code. In Questa you can add -classdebug to get better visibility into classes.

 

Another hackier option is just to hit break a number of times and see where the break occurs. There's a good chance it'll stop in the code that's eating the simulation resources.

 

regards

Alan

Share this post


Link to post
Share on other sites

Alan,

 

Ive got +access+r specified.  I'll try your break technique.

 

Just ran with the new RP, and 85% of my CPU cycles are still dumped into "other code", in the hierarchy tab.

 

All my testbench classes are simply listed as a list of packages, and none of them have any cycles associated with them.  I'm not sure how it should be displayed, but I thought perhaps it might have a hierarchical display like test - env - children - etc.

 

could someone give me some kind of ballpark metric, like for a single component testbench, the HDL might eat up say, 50% of your CPU, and the testbench another 50%, or is it 90/10.. etc?  According to my report, my DUT is only pulling around 2% of the CPU.

Share this post


Link to post
Share on other sites

For design using UVM from separate library -profiler_all must be used for asim command instead -profiler.  -profiler collects data only for working library code.

Other code in this case represents code from libraries other than work - in this case from UVM. When you use -profiler_all then code from all libraries used in simulation is profiled.

If UVM needs to be profiled this is also good idea to use debug version of UVM (compile UVM with -dbg switch and use library created this way)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×