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;


    every_clk_tcm() @ clk$ is {
        while(TRUE) {
            if(cnt$ == 10) then {
                cnt_10s+=1;
            };
            wait cycle;
        };
    };
    
    run() is also {
        start every_clk_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=1256797455

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:24:47 2009
PID 26070
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 224
Run time 2240000 usecs
Ticks (#@sys.any) 400000
Cycles (#@sys.new_time) 400000
sys.time 1999995
Number of GC's 2

Summary by Phase

15.18% simulator
84.82% specman
0.00% pre specman run
0.00% generation static analysis
0.00% sys generation
0.00% pre run garbage collection
84.82% specman run
32.14% user code (methods, temporals, generation, coverage)
0.00% run garbage collection
52.68% other

Summary by Category (throughout specman)

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

self+ self
29.91% 20.54% user methods
24.55% 24.55% scheduling
11.16% 10.71% temporals
0.45% 0.45% long operations
0.45% 0.45% list operations

Top Entities by Self + Callees

self+ self
100.00% 0.00% .root.
84.82% 0.00% specman
84.82% 23.66% specman run
29.91% 20.54% env_u.every_clk_tcm at line 12 in @every_clock
24.55% 24.55% scheduling
15.18% 15.18% simulator
11.16% 10.71% wait at line 17 in @every_clock
4.02% 4.02% simulator on behalf of specman
0.45% 0.45% ports flushing at end of tick
0.45% 0.45% list operations
0.45% 0.45% long operations

Top Entities by Self

self+ self
24.55% 24.55% scheduling
84.82% 23.66% specman run
29.91% 20.54% env_u.every_clk_tcm at line 12 in @every_clock
15.18% 15.18% simulator
11.16% 10.71% wait at line 17 in @every_clock
4.02% 4.02% simulator on behalf of specman
0.45% 0.45% ports flushing at end of tick
0.45% 0.45% long operations
0.45% 0.45% list operations
84.82% 0.00% specman
100.00% 0.00% .root.

Entity Details



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

Normalized Callee/Caller Name
Self: 0.00%
Callees:
84.82% specman
15.18% simulator

Total 100.00%


env_u.every_clk_tcm at line 12 in @every_clock (670000 usecs, 29.91% of total)

11	
12	    every_clk_tcm() @ clk$ is {
13	        while(TRUE) {
Normalized Callee/Caller Name
Self: 68.66%
Callees:
29.85% wait at line 17 in @every_clock
1.49% list operations

Total 100.00%
Callers:
100.00% specman run

Total 100.00%


specman run (1900000 usecs, 84.82% of total)

Normalized Callee/Caller Name
Self: 27.89%
Callees:
35.26% env_u.every_clk_tcm at line 12 in @every_clock
28.95% scheduling
4.74% simulator on behalf of specman
2.63% wait at line 17 in @every_clock
0.53% ports flushing at end of tick

Total 100.00%
Callers:
100.00% specman

Total 100.00%


specman (1900000 usecs, 84.82% 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 (340000 usecs, 15.18% of total)

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

Total 100.00%


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

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

Total 100.00%


wait at line 17 in @every_clock (250000 usecs, 11.16% of total)

16	            };
17	            wait cycle;
18		};
Normalized Callee/Caller Name
Self: 96.00%
Callees:
4.00% long operations

Total 100.00%
Callers:
80.00% env_u.every_clk_tcm at line 12 in @every_clock
20.00% specman run

Total 100.00%


list operations (10000 usecs, 0.45% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% env_u.every_clk_tcm at line 12 in @every_clock

Total 100.00%


long operations (10000 usecs, 0.45% of total)

Normalized Callee/Caller Name
Self: 100.00%
Callers:
100.00% wait at line 17 in @every_clock

Total 100.00%


scheduling (550000 usecs, 24.55% 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.45% of total)

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

Total 100.00%