blob: df4426d297277e0830def85c6fff6dbdba08e711 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
TEST=""
S51v5=s515
S51v6=s516
VER=6
S51=$S51v6
PROF=""
while [ -n "$1" ]; do
case "$1" in
-6)
S51=$S51v6
VER=6
shift
;;
-5)
S51=$S51v5
VER=5
shift
;;
-v)
shift
S51=s51-${1}
VER="${1}"
shift
;;
-X)
S51=$S51vX
VER=X
shift
;;
-p)
PROF="p"
shift
;;
-P)
shift
TEST="$1"
CMD="gprof ${S51}p st${TEST}_v${VER}_gmon.out"
echo $CMD
$CMD
exit 0
;;
*)
TEST="$1"
shift
;;
esac
done
if [ -n "$PROF" ]; then
S51=${S51}p
fi
echo -e "*\n* st${TEST}\n*\n"
make -f st${TEST}.mk clean all
SIM=st${TEST}${VER}.sim
OUT=st${TEST}${VER}.out
TIM=st${TEST}${VER}.tim
CSV=st${TEST}${VER}.csv
CMD=st${TEST}${VER}.cmd
rm -f $SIM $OUT $TIM $CSV
>$CMD
echo "set hardware simif xram 0xffff" >>$CMD
echo "set hardware simif fout \"st${TEST}${VER}.sout\"" >>$CMD
cat st.cmd >>$CMD
ls -l st${TEST}.ihx
/usr/bin/time -o $TIM -f '
Elapsed\t%e
Kernel\t%S
User\t%U
In\t%I
Out\t%O
SwT\t%c
SwIO\t%w
MaxFlt\t%F
MinFlt\t%R
Swaps\t%W
Mem\t%M
Unshr\t%D
' $S51 -tC52 -Sin=/dev/null,out=$OUT st${TEST}.ihx <$CMD|tee $SIM
tee -a $SIM <$TIM
if [ -n "$PROF" ]; then
mv gmon.out st${TEST}_v${VER}_gmon.out
fi
E=$(grep Elapsed $SIM)
#echo
#echo $E
E=$(echo $E|cut -d ' ' -f 2)
C=$(grep 'Total time' $SIM|sed 's/^[^(]*(//'|sed 's/ .*//')
S=$(echo "scale=3;${C}/${E}/1000000"|bc)
ST=$(grep 'Simulated ' $SIM|cut -d' ' -f5)
echo "st${TEST} speed= $S Mclk/sec"|tee -a $SIM
echo "st${TEST},${VER},${E},${S}"|tee $CSV
echo $E >st${TEST}${VER}_e.txt
echo $ST >st${TEST}${VER}_st.txt
echo $S >st${TEST}${VER}_s.txt
|