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$;
    
    on every_10_clks_e {
        cnt_10s+=1;
    };
};

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=1257233363

Profiler invocation set profile
Host Linux psv1run25.pmc-sierra.bc.ca 2.6.9-89.0.9.ELsmp #1 SMP Wed Aug 19 08:06:10 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
Time Tue Nov 3 09:30:09 2009
PID 3845
Specman version Specman(64) Elite (08.20.006-s) - Linked on Tue Aug 4 14:41:56 2009
# of loaded modules 1 (all user modules are loaded)
Sampling interval 10000 usec
Samples 189
Run time 1890000 usecs
Ticks (#@sys.any) 400000
Cycles (#@sys.new_time) 400000
sys.time 1999995
Number of GC's 3

Summary by Phase

20.11% simulator
79.89% specman
0.00% pre specman run
0.00% generation static analysis
0.00% sys generation
0.00% pre run garbage collection
79.89% specman run
18.52% user code (methods, temporals, generation, coverage)
2.12% run garbage collection
59.26% other

Summary by Category (throughout specman)

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

self+ self
35.45% 35.45% scheduling
18.52% 18.52% temporals
2.12% 2.12% garbage collection

Top Entities by Self + Callees

self+ self
100.00% 0.00% .root.
79.89% 0.00% specman
79.89% 21.16% specman run
35.45% 35.45% scheduling
20.11% 20.11% simulator
18.52% 18.52% event env_u.every_10_clks_e at line 11 in @every_10_clocks_improved
2.12% 2.12% simulator on behalf of specman
2.12% 2.12% garbage collection
0.53% 0.53% specman("command")

Top Entities by Self

self+ self
35.45% 35.45% scheduling
79.89% 21.16% specman run
20.11% 20.11% simulator
18.52% 18.52% event env_u.every_10_clks_e at line 11 in @every_10_clocks_improved
2.12% 2.12% simulator on behalf of specman
2.12% 2.12% garbage collection
0.53% 0.53% specman("command")
79.89% 0.00% specman
100.00% 0.00% .root.

Entity Details



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

Normalized Callee/Caller Name
Self: 0.00%
Callees:
79.89% specman
20.11% simulator

Total 100.00%


garbage collection (40000 usecs, 2.12% of total)

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

Total 100.00%


specman run (1510000 usecs, 79.89% of total)

Normalized Callee/Caller Name
Self: 26.49%
Callees:
44.37% scheduling
23.18% event env_u.every_10_clks_e at line 11 in @every_10_clocks_improved
2.65% simulator on behalf of specman
2.65% garbage collection
0.66% specman("command")

Total 100.00%
Callers:
100.00% specman

Total 100.00%


specman (1510000 usecs, 79.89% of total)

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

Total 100.00%
Callers:
100.00% .root.

Total 100.00%


scheduling (670000 usecs, 35.45% 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_improved (350000 usecs, 18.52% of total)

10	    
11	    event every_10_clks_e is true(cnt$ == 10) @ clk$;
12	    
Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% specman run

Total 100.00%


simulator on behalf of specman (40000 usecs, 2.12% of total)

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

Total 100.00%


simulator (380000 usecs, 20.11% of total)

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

Total 100.00%


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

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

Total 100.00%