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
|
|
|
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)
Top Entities by Self + Callees
Top Entities by Self
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) {
|
specman run (1900000 usecs, 84.82% of total)
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 };
|
list operations (10000 usecs, 0.45% of total)
long operations (10000 usecs, 0.45% of total)
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%
|