original code

<'
unit env_u {    
    clk : in event_port is instance;
    keep bind(clk, external);
    
    cnt : in simple_port of uint (bits:16) is instance;
    keep bind(cnt, external);
        
    !cnt_10s : uint;
    
    event every_10_clks_e is true(cnt$ == 10) @ clk$;
    every_10_clks_tcm() @ every_10_clks_e is {
        while(TRUE) {
            cnt_10s+=1;
            wait cycle;
        };
    };
        
    run() is also {
        start every_10_clks_tcm();
    };
};

extend sys {
    env : env_u is instance;
    keep env.hdl_path() == "~/top";
    keep env.clk.hdl_path() == "clk";
    keep env.cnt.hdl_path() == "cnt";
    
    setup() is also { 
        set_config(run, tick_max, MAX_INT, exit_on, error); 
    }; 
};
    
'>


Sampling-based cpu profile of ncsim -NBASYNC -batch avidan -LICQUE -USELIC IHS:DEFAULT +pmc_dfv_seed=1256797891

Profiler invocation set profile
Host Linux psv1log01.pmc-sierra.bc.ca 2.6.9-67.0.1.EL #1 Fri Nov 30 11:41:37 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
Time Thu Oct 29 08:31:58 2009
PID 27011
Specman version Specman Elite (08.20.006-s) - Linked on Tue Aug 4 14:41:16 2009
# of loaded modules 1 (all user modules are loaded)
Sampling interval 10000 usec
Samples 202
Run time 2020000 usecs
Ticks (#@sys.any) 400000
Cycles (#@sys.new_time) 400000
sys.time 1999995
Number of GC's 2

Summary by Phase

13.86% simulator
86.14% specman
0.00% pre specman run
0.00% generation static analysis
0.00% sys generation
0.00% pre run garbage collection
86.14% specman run
28.71% user code (methods, temporals, generation, coverage)
0.50% run garbage collection
56.93% other

Summary by Category (throughout specman)

(sum may exceed the total percentage consumed by Specman, since categories may overlap)

self+ self
30.69% 30.69% scheduling
28.71% 28.22% temporals
0.50% 0.50% long operations
0.50% 0.50% garbage collection

Top Entities by Self + Callees

self+ self
100.00% 0.00% .root.
86.14% 0.00% specman
86.14% 20.79% specman run
30.69% 30.69% scheduling
28.71% 28.22% event env_u.every_10_clks_e at line 11 in @every_10_clocks
13.86% 13.86% simulator
4.46% 4.46% simulator on behalf of specman
0.50% 0.50% ports flushing at end of tick
0.50% 0.50% garbage collection
0.50% 0.50% specman("command")
0.50% 0.50% long operations

Top Entities by Self

self+ self
30.69% 30.69% scheduling
28.71% 28.22% event env_u.every_10_clks_e at line 11 in @every_10_clocks
86.14% 20.79% specman run
13.86% 13.86% simulator
4.46% 4.46% simulator on behalf of specman
0.50% 0.50% long operations
0.50% 0.50% ports flushing at end of tick
0.50% 0.50% garbage collection
0.50% 0.50% specman("command")
86.14% 0.00% specman
100.00% 0.00% .root.

Entity Details



.root. (2020000 usecs, 100.00% of total)

Normalized Callee/Caller Name
Self: 0.00%
Callees:
86.14% specman
13.86% simulator

Total 100.00%


scheduling (620000 usecs, 30.69% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% specman run

Total 100.00%


specman run (1740000 usecs, 86.14% of total)

Normalized Callee/Caller Name
Self: 24.14%
Callees:
35.63% scheduling
33.33% event env_u.every_10_clks_e at line 11 in @every_10_clocks
5.17% simulator on behalf of specman
0.57% ports flushing at end of tick
0.57% garbage collection
0.57% specman("command")

Total 100.00%
Callers:
100.00% specman

Total 100.00%


specman (1740000 usecs, 86.14% of total)

Normalized Callee/Caller Name
Self: 0.00%
Callees:
100.00% specman run

Total 100.00%
Callers:
100.00% .root.

Total 100.00%


simulator on behalf of specman (90000 usecs, 4.46% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% specman run

Total 100.00%


event env_u.every_10_clks_e at line 11 in @every_10_clocks (580000 usecs, 28.71% of total)

10	    
11	    event every_10_clks_e is true(cnt$ == 10) @ clk$;
12	    every_10_clks_tcm() @ every_10_clks_e is {
Normalized Callee/Caller Name
Self: 98.28%
Callees:
1.72% long operations

Total 100.00%
Callers:
100.00% specman run

Total 100.00%


simulator (280000 usecs, 13.86% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% .root.

Total 100.00%


specman("command") (10000 usecs, 0.50% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% specman run

Total 100.00%


garbage collection (10000 usecs, 0.50% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% specman run

Total 100.00%


ports flushing at end of tick (10000 usecs, 0.50% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% specman run

Total 100.00%


long operations (10000 usecs, 0.50% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% event env_u.every_10_clks_e at line 11 in @every_10_clocks

Total 100.00%