URL
https://opencores.org/ocsvn/openmsp430/openmsp430/trunk
Subversion Repositories openmsp430
Compare Revisions
- This comparison shows the changes necessary to convert path
/openmsp430/trunk/core/sim/rtl_sim/bin
- from Rev 200 to Rev 202
- ↔ Reverse comparison
Rev 200 → Rev 202
/msp430sim
35,39 → 35,65
#------------------------------------------------------------------------------ |
|
############################################################################### |
# Parse arguments # |
############################################################################### |
testname="" |
seed="" |
dma_verif="DMA_VERIF" |
while [[ $# > 0 ]]; do |
key="$1" |
shift |
case $key in |
-seed) |
seed="$1" |
shift |
;; |
-no_dma) |
dma_verif="NO_DMA_VERIF" |
;; |
*) |
testname="$key" |
;; |
esac |
done |
|
############################################################################### |
# Parameter Check # |
############################################################################### |
EXPECTED_ARGS=1 |
if [ $# -ne $EXPECTED_ARGS ]; then |
echo "ERROR : wrong number of arguments" |
echo "USAGE : msp430sim <test name>" |
echo "Example : msp430sim c-jump_jge" |
if [ "$testname" == "" ]; then |
echo "ERROR : missing argument" |
echo "USAGE : msp430sim <test name> [-seed <seed_nr>] [-no_dma]" |
echo "Example : msp430sim c-jump_jge" |
echo "" |
echo "In order to switch the verilog simulator, the OMSP_SIMULATOR environment" |
echo "variable can be set to the following values:" |
echo "" |
echo " - iverilog : Icarus Verilog (default)" |
echo " - cver : CVer" |
echo " - verilog : Verilog-XL" |
echo " - ncverilog : NC-Verilog" |
echo " - vcs : VCS" |
echo " - vsim : Modelsim" |
echo " - isim : Xilinx simulator" |
echo " - iverilog : Icarus Verilog (default)" |
echo " - cver : CVer" |
echo " - verilog : Verilog-XL" |
echo " - ncverilog : NC-Verilog" |
echo " - vcs : VCS" |
echo " - vsim : Modelsim" |
echo " - isim : Xilinx simulator" |
echo "" |
exit 1 |
fi |
|
# Generate random seed if not specified |
if [ "$seed" == "" ]; then |
seed=`od -A n -t d -N 4 /dev/urandom` |
fi |
|
############################################################################### |
# Check if the required files exist # |
############################################################################### |
asmfile=../src/$1.s43; |
verfile=../src/$1.v; |
asmfile=../src/$testname.s43; |
verfile=../src/$testname.v; |
incfile=../../../rtl/verilog/openMSP430_defines.v; |
linkfile=../bin/template.x; |
headfile=../bin/template_defs.asm; |
submitfile=../src/submit.f; |
if [ $OMSP_SIMULATOR == "isim" ]; then |
if [ "$OMSP_SIMULATOR" == "isim" ]; then |
submitfile=../src/submit.prj; |
fi |
|
109,8 → 135,11
# Run simulation # |
############################################################################### |
echo " =======================================================" |
echo "| Start simulation: $1" |
echo "| Start simulation: $testname" |
echo " =======================================================" |
echo "" |
echo " Seed: $seed" |
echo "" |
|
# Create links |
if [ `uname -o` = "Cygwin" ] |
130,12 → 159,12
sed -i 's/`endif/#endif/g' ./pmem.h |
sed -i 's/`define/#define/g' ./pmem.h |
sed -i 's/`include/\/\/#include/g' ./pmem.h |
sed -i 's/`//g' ./pmem.h |
sed -i "s/'//g" ./pmem.h |
sed -i 's/`//g' ./pmem.h |
sed -i "s/'//g" ./pmem.h |
|
# Use MSPGCC preprocessor to extract the Program, Data |
# and Peripheral memory sizes |
if which msp430-elf-gcc >/dev/null; then |
if command -v msp430-elf-gcc >/dev/null; then |
msp430-elf-gcc -E -P -x c ../bin/omsp_config.sh > pmem.sh |
else |
msp430-gcc -E -P -x c ../bin/omsp_config.sh > pmem.sh |
154,4 → 183,4
|
# Start verilog simulation |
echo "Start Verilog simulation..." |
../bin/rtlsim.sh stimulus.v pmem.mem $submitfile |
../bin/rtlsim.sh stimulus.v pmem.mem $submitfile $seed $dma_verif |
/parse_summaries
0,0 → 1,308
#!/bin/bash |
#------------------------------------------------------------------------------ |
# Copyright (C) 2001 Authors |
# |
# This source file may be used and distributed without restriction provided |
# that this copyright statement is not removed from the file and that any |
# derivative work contains the original copyright notice and the associated |
# disclaimer. |
# |
# This source file is free software; you can redistribute it and/or modify |
# it under the terms of the GNU Lesser General Public License as published |
# by the Free Software Foundation; either version 2.1 of the License, or |
# (at your option) any later version. |
# |
# This source is distributed in the hope that it will be useful, but WITHOUT |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
# License for more details. |
# |
# You should have received a copy of the GNU Lesser General Public License |
# along with this source; if not, write to the Free Software Foundation, |
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
# |
#------------------------------------------------------------------------------ |
# |
# File Name: parse_summaries |
# |
# Author(s): |
# - Olivier Girard, olgirard@gmail.com |
# |
#------------------------------------------------------------------------------ |
# $Rev: 138 $ |
# $LastChangedBy: olivier.girard $ |
# $LastChangedDate: 2012-04-23 13:10:00 +0200 (Mon, 23 Apr 2012) $ |
#------------------------------------------------------------------------------ |
|
############################################################################### |
# # |
# PARSE REGRESSION RESULTS IN THE LOG DIRECTORY # |
# # |
############################################################################### |
|
# Formating attributes |
yellow=$(tput setaf 3) |
green=$(tput setaf 2) |
green_bold=$(tput bold)$(tput setaf 2) |
red=$(tput setaf 1) |
red_bold=$(tput bold)$(tput setaf 1) |
normal=$(tput sgr0) |
|
# Specify log directory & summary files |
LOG_DIR=./log |
if [ $# -ne 1 ]; then |
SUM_FILES=$LOG_DIR/summary.*.log |
else |
SUM_FILES=$1 |
fi |
|
|
#-------------------------------------------------------------------------# |
# Get overall numbers of PASSED/SKIPPED/FAILED/ABORTED tests # |
#-------------------------------------------------------------------------# |
|
# Number of files to be processed |
nr_log_files=0 |
for file in $SUM_FILES ; do |
nr_log_files=`expr $nr_log_files + 1` |
done |
|
# Initialize progress variables |
progress=0.0 |
progress_idx=0 |
progress_incr=$(awk -v r=$nr_log_files 'BEGIN{print 100 / r}') |
printf "\nProcess and merge log files (1/2)... 0.00%%" |
|
passed_nr="0" |
skipped_nr="0" |
failed_nr="0" |
aborted_nr="0" |
|
for file in $SUM_FILES ; do |
passed_ok=`grep "PASSED" $file | grep -c msp430sim` |
skipped_ok=`grep "SKIPPED" $file | grep -c msp430sim` |
failed_ok=`grep "FAILED" $file | grep -c msp430sim` |
aborted_ok=`grep "ABORTED" $file | grep -c msp430sim` |
|
passed_nr=`expr $passed_nr + $passed_ok` |
skipped_nr=`expr $skipped_nr + $skipped_ok` |
failed_nr=`expr $failed_nr + $failed_ok` |
aborted_nr=`expr $aborted_nr + $aborted_ok` |
|
progress_idx=`expr $progress_idx + 1` |
progress=$(awk -v idx=$progress_idx -v incr=$progress_incr 'BEGIN{print incr * idx}') |
printf "\b\b\b\b\b\b\b%6.2f%%" $progress |
done |
|
|
#-------------------------------------------------------------------------# |
# Get numbers of PASSED/SKIPPED/FAILED/ABORTED tests for individual tests # |
#-------------------------------------------------------------------------# |
testnames_list="" |
failed_reg_list="" |
|
# Put log file content into variable |
tests_list=`grep msp430sim $SUM_FILES` |
tests_nr=`cat $SUM_FILES | grep -c msp430sim` |
|
# Initialize progress variables |
progress=0.0 |
progress_idx=0 |
progress_incr=$(awk -v r=$tests_nr 'BEGIN{print 100 / r}') |
printf "\nProcess and merge log files (2/2)... 0.00%%" |
|
while read -r line; do |
|
line_arr=($line) |
|
# Update list of test names |
testnames_list=$testnames_list" ${line_arr[1]}" |
|
# Get regression index number |
reg_index=`basename ${line_arr[0]} .log:#` |
reg_index=`echo "${reg_index##*.}"` |
|
# Detect if the test as PASSED, SKIPPED, FAILED or ABORTED |
passed_ok=0 |
skipped_ok=0 |
failed_ok=0 |
aborted_ok=0 |
if [[ $line =~ .*PASSED.* ]]; then |
passed_ok=1 |
elif [[ $line =~ .*SKIPPED.* ]]; then |
skipped_ok=1 |
elif [[ $line =~ .*FAILED.* ]]; then |
failed_ok=1 |
elif [[ $line =~ .*ABORTED.* ]]; then |
aborted_ok=1 |
fi |
|
# Get number of DMA accesses (Total and Error) |
dma_total=${line_arr[9]} |
if [ "${line_arr[11]}" == "[31m" ]; then |
dma_error=${line_arr[12]} |
else |
dma_error=${line_arr[11]} |
fi |
|
# Update accumulated values for later reporting |
prefix=${line_arr[1]//-/_} |
varname=${prefix}_passed_nr |
if [ -z "${!varname}" ]; then |
declare -i ${prefix}_passed_nr=$passed_ok |
declare -i ${prefix}_skipped_nr=$skipped_ok |
declare -i ${prefix}_failed_nr=$failed_ok |
declare -i ${prefix}_aborted_nr=$aborted_ok |
declare -i ${prefix}_dma_total_nr=$dma_total |
declare -i ${prefix}_dma_error_nr=$dma_error |
if [ $failed_ok != 0 ] || [ $aborted_ok != 0 ] || [ $dma_error != 0 ]; then |
declare ${prefix}_failing_indexes=$reg_index |
failed_reg_list=$failed_reg_list" $file" |
else |
declare ${prefix}_failing_indexes="-" |
fi |
else |
varname=${prefix}_passed_nr; declare -i $varname=`expr ${!varname} + $passed_ok` |
varname=${prefix}_skipped_nr; declare -i $varname=`expr ${!varname} + $skipped_ok` |
varname=${prefix}_failed_nr; declare -i $varname=`expr ${!varname} + $failed_ok` |
varname=${prefix}_aborted_nr; declare -i $varname=`expr ${!varname} + $aborted_ok` |
varname=${prefix}_dma_total_nr; declare -i $varname=`expr ${!varname} + $dma_total` |
varname=${prefix}_dma_error_nr; declare -i $varname=`expr ${!varname} + $dma_error` |
if [ $failed_ok != 0 ] || [ $aborted_ok != 0 ] || [ $dma_error != 0 ]; then |
varname=${prefix}_failing_indexes; |
failed_reg_list=$failed_reg_list" $file" |
if [ "${!varname}" == "-" ]; then |
declare $varname=$reg_index |
else |
declare $varname="${!varname} $reg_index" |
fi |
fi |
fi |
|
# Display progress status |
progress_idx=`expr $progress_idx + 1` |
progress=$(awk -v idx=$progress_idx -v incr=$progress_incr 'BEGIN{print incr * idx}') |
printf "\b\b\b\b\b\b\b%6.2f%%" $progress |
|
done <<< "$tests_list" |
echo "" |
|
# Remove duplicate elements in list of test |
testnames_list=$(echo "$testnames_list" | tr ' ' '\n' | sort -u | tr '\n' ' ') |
|
# Remove duplicate elements in list of failed regressions |
failed_reg_list=$(echo "$failed_reg_list" | tr ' ' '\n' | sort -u | tr '\n' ' ') |
|
#-------------------------------------------------------------------------# |
# Display detailed report # |
#-------------------------------------------------------------------------# |
echo "" |
echo "#=======================================================================================================================================================#" |
echo "# #" |
echo "# DETAILED REPORT #" |
echo "# #" |
echo "#=======================================================================================================================================================#" |
echo "# || RESULTS || DMA IF TRANSFER || #" |
echo "# TEST NAME ||-------------------------------------------------------||-------------------------------|| FAILING REGRESSION INDEXES #" |
echo "# || Passed | Skipped | Failed | Aborted | Total || Total | Error || #" |
echo "#=============================++==========+===========+==========+===========+=========++===============+===============++==============================#" |
echo "# || | | | | || | || #" |
for testname in $testnames_list ; do |
|
# Get accumulated results |
prefix=${testname//-/_} |
var_passed=${prefix}_passed_nr; |
var_skipped=${prefix}_skipped_nr; |
var_failed=${prefix}_failed_nr; |
var_aborted=${prefix}_aborted_nr; |
var_total=`expr ${!var_passed} + ${!var_skipped} + ${!var_failed} + ${!var_aborted}` |
var_dma_total=${prefix}_dma_total_nr; |
var_dma_error=${prefix}_dma_error_nr; |
var_failing_indexes=${prefix}_failing_indexes; |
|
# Add some color |
if [ ${!var_failed} != 0 ] || [ ${!var_aborted} != 0 ] || [ ${!var_dma_error} != 0 ]; then |
var_testname="${red} $testname ${normal}" |
printf "# %-37s ||" "$var_testname" |
res_passed="${normal} ${!var_passed} ${normal}" |
printf " %20s | %8s |" "$res_passed" ${!var_skipped} |
if [ ${!var_failed} != 0 ]; then |
res_failed="${red} ${!var_failed} ${normal}" |
printf " %19s |" "$res_failed" |
else |
res_failed="${normal} ${!var_failed} ${normal}" |
printf " %20s |" "$res_failed" |
fi |
if [ ${!var_aborted} != 0 ]; then |
res_aborted="${red} ${!var_aborted} ${normal}" |
printf " %20s | %6s || %12s |" "$res_aborted" $var_total ${!var_dma_total} |
else |
res_aborted="${normal} ${!var_aborted} ${normal}" |
printf " %21s | %6s || %12s |" "$res_aborted" $var_total ${!var_dma_total} |
fi |
if [ ${!var_dma_error} != 0 ]; then |
res_dma_error="${red} ${!var_dma_error} ${normal}" |
printf " %23s ||" "$res_dma_error" |
else |
res_dma_error="${normal} ${!var_dma_error} ${normal}" |
printf " %24s ||" "$res_dma_error" |
fi |
else |
var_testname="${normal} $testname ${normal}" |
printf "# %-38s ||" "$var_testname" |
if [ ${!var_passed} != 0 ]; then |
res_passed="${green} ${!var_passed} ${normal}" |
else |
res_passed="${yellow} ${!var_passed} ${normal}" |
fi |
printf " %19s | %8s |" "$res_passed" ${!var_skipped} |
res_failed="${normal} ${!var_failed} ${normal}" |
printf " %20s |" "$res_failed" |
res_aborted="${normal} ${!var_aborted} ${normal}" |
printf " %21s | %6s || %12s |" "$res_aborted" $var_total ${!var_dma_total} |
res_dma_error="${normal} ${!var_dma_error} ${normal}" |
printf " %24s ||" "$res_dma_error" |
fi |
|
printf " %-27s #\n" "${!var_failing_indexes}" |
done |
echo "# || | | | | || | || #" |
echo "#=======================================================================================================================================================#" |
echo "" |
|
#----------------------------------------------------# |
# Display failed regressions # |
#----------------------------------------------------# |
echo "" |
echo "#=======================================================================================================================================================#" |
echo "# FAILING REGRESSIONS #" |
echo "#=======================================================================================================================================================#" |
echo "" |
for failed_reg_file in $failed_reg_list ; do |
echo " > cat $failed_reg_file" |
done |
echo "" |
|
#----------------------------------------------------# |
# Display summary report # |
#----------------------------------------------------# |
echo "" |
echo "#=======================================================================================================================================================#" |
echo "# SUMMARY REPORT #" |
echo "#=======================================================================================================================================================#" |
echo "" |
|
# Generate final report |
echo " +-----------------------------------" |
echo " | Number of PASSED tests :${green_bold} $passed_nr ${normal}" |
echo " | Number of SKIPPED tests :${green_bold} $skipped_nr ${normal}" |
echo " | Number of FAILED tests :${red_bold} $failed_nr ${normal}" |
echo " | Number of ABORTED tests :${red_bold} $aborted_nr ${normal}" |
echo " |----------------------------------" |
echo -n " | Number of tests : " |
ls -1 $LOG_DIR/*/*.log | wc -l |
echo " +----------------------------------" |
echo "" |
echo " Make sure passed+skipped == total" |
echo "" |
echo "" |
parse_summaries
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: msp430sim_c
===================================================================
--- msp430sim_c (revision 200)
+++ msp430sim_c (revision 202)
@@ -116,7 +116,7 @@
# Use MSPGCC preprocessor to extract the Program, Data
# and Peripheral memory sizes
-if which msp430-elf-gcc >/dev/null; then
+if command -v msp430-elf-gcc >/dev/null; then
msp430-elf-gcc -E -P -x c ../bin/omsp_config.sh > pmem.sh
else
msp430-gcc -E -P -x c ../bin/omsp_config.sh > pmem.sh
@@ -144,7 +144,7 @@
# Create IHEX file from ELF
echo "Convert ELF file to IHEX format..."
-if which msp430-elf-objcopy >/dev/null; then
+if command -v msp430-elf-objcopy >/dev/null; then
msp430-elf-objcopy -O ihex pmem.elf pmem.ihex
else
msp430-objcopy -O ihex pmem.elf pmem.ihex
@@ -156,4 +156,4 @@
# Start verilog simulation
echo "Start Verilog simulation..."
-../bin/rtlsim.sh stimulus.v pmem.mem $submitfile
+../bin/rtlsim.sh stimulus.v pmem.mem $submitfile 0 "NO_DMA_VERIF"
/rtlsim.sh
22,9 → 22,9
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
# |
#------------------------------------------------------------------------------ |
# |
# |
# File Name: rtlsim.sh |
# |
# |
# Author(s): |
# - Olivier Girard, olgirard@gmail.com |
# - Mihai M., mmihai@delajii.net |
38,11 → 38,11
############################################################################### |
# Parameter Check # |
############################################################################### |
EXPECTED_ARGS=3 |
EXPECTED_ARGS=5 |
if [ $# -ne $EXPECTED_ARGS ]; then |
echo "ERROR : wrong number of arguments" |
echo "USAGE : rtlsim.sh <verilog stimulus file> <memory file> <submit file>" |
echo "Example : rtlsim.sh ./stimulus.v pmem.mem ../src/submit.f" |
echo "USAGE : rtlsim.sh <verilog stimulus file> <memory file> <submit file> <seed> <dma_verif>" |
echo "Example : rtlsim.sh ./stimulus.v pmem.mem ../src/submit.f 123 NO_DMA_VERIF" |
echo "OMSP_SIMULATOR env keeps simulator name iverilog/cver/verilog/ncverilog/vsim/vcs" |
exit 1 |
fi |
73,33 → 73,33
if [ "${OMSP_SIMULATOR:-iverilog}" = iverilog ]; then |
|
rm -rf simv |
|
|
NODUMP=${OMSP_NODUMP-0} |
if [ $NODUMP -eq 1 ] |
then |
iverilog -o simv -c $3 -D NODUMP |
iverilog -o simv -c $3 -D SEED=$4 -D $5 -D NODUMP |
else |
iverilog -o simv -c $3 |
iverilog -o simv -c $3 -D SEED=$4 -D $5 |
fi |
|
if [ `uname -o` = "Cygwin" ] |
then |
vvp.exe ./simv |
else |
./simv |
fi |
|
if [ `uname -o` = "Cygwin" ] |
then |
vvp.exe ./simv |
else |
./simv |
fi |
|
else |
|
NODUMP=${OMSP_NODUMP-0} |
if [ $NODUMP -eq 1 ] ; then |
vargs="+define+NODUMP" |
vargs="+define+SEED=$4 +define+$5 +define+NODUMP" |
else |
vargs="" |
vargs="+define+SEED=$4 +define+$5" |
fi |
|
case $OMSP_SIMULATOR in |
cver* ) |
case $OMSP_SIMULATOR in |
cver* ) |
vargs="$vargs +define+VXL +define+CVER" ;; |
verilog* ) |
vargs="$vargs +define+VXL" ;; |
106,7 → 106,7
ncverilog* ) |
rm -rf INCA_libs |
#vargs="$vargs +access+r +nclicq +ncinput+../bin/cov_ncverilog.tcl -covdut openMSP430 -covfile ../bin/cov_ncverilog.ccf -coverage all +define+TRN_FILE" ;; |
vargs="$vargs +access+r +nclicq +define+TRN_FILE" ;; |
vargs="$vargs +access+r +svseed=$4 +nclicq +define+TRN_FILE" ;; |
vcs* ) |
rm -rf csrc simv* |
vargs="$vargs -R -debug_pp +vcs+lic+wait +v2k +define+VPD_FILE" ;; |
123,7 → 123,7
./isim.exe -tclbatch isim.tcl |
exit |
esac |
|
|
echo "Running: $OMSP_SIMULATOR -f $3 $vargs" |
exec $OMSP_SIMULATOR -f $3 $vargs |
fi |
/asm2ihex.sh
46,7 → 46,13
fi |
|
# MSPGCC version prefix |
MSPGCC_PFX=${MSPGCC_PFX:=msp430} |
if [ -z "$MSPGCC_PFX" ]; then |
if command -v msp430-gcc >/dev/null; then |
MSPGCC_PFX=msp430 |
else |
MSPGCC_PFX=msp430-elf |
fi |
fi |
|
############################################################################### |
# Check if definition & assembler files exist # |
88,9 → 94,11
sed -i "s/PER_SIZE_HEX/$PER_SIZE/g" pmem_defs.asm |
if [ $MSPGCC_PFX == "msp430-elf" ]; then |
sed -i "s/PER_SIZE/.data/g" pmem_defs.asm |
sed -i "s/PMEM_BASE_VAL/.text/g" pmem_defs.asm |
sed -i "s/PMEM_EDE_SIZE/0/g" pmem_defs.asm |
else |
sed -i "s/PER_SIZE/$PER_SIZE/g" pmem_defs.asm |
sed -i "s/PMEM_BASE_VAL/$PMEM_BASE/g" pmem_defs.asm |
sed -i "s/PMEM_EDE_SIZE/$PMEM_SIZE/g" pmem_defs.asm |
fi |
|
/parse_results
22,9 → 22,9
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
# |
#------------------------------------------------------------------------------ |
# |
# |
# File Name: parse_results |
# |
# |
# Author(s): |
# - Olivier Girard, olgirard@gmail.com |
# |
39,72 → 39,141
# # |
############################################################################### |
|
# Formating attributes |
green=$(tput setaf 2) |
green_bold=$(tput bold)$(tput setaf 2) |
red=$(tput setaf 1) |
red_bold=$(tput bold)$(tput setaf 1) |
normal=$(tput sgr0) |
|
# Specify log directory |
if [ $# -ne 1 ]; then |
LOG_DIR=./log/0 |
else |
LOG_DIR=$1 |
fi |
|
|
#----------------------------------------------------# |
# Get numbers of PASSED/SKIPPED/FAILED/ABORDED tests # |
# Get numbers of PASSED/SKIPPED/FAILED/ABORTED tests # |
#----------------------------------------------------# |
|
passed_nr="0" |
skipped_nr="0" |
failed_nr="0" |
aborded_nr="0" |
aborted_nr="0" |
|
for file in ./log/*.log ; do |
for file in $LOG_DIR/*.log ; do |
passed_ok=`grep -c PASSED $file` |
skipped_ok=`grep -c SKIPPED $file` |
failed_ok=`grep -c FAILED $file` |
|
if [ $passed_ok == 1 ]; then |
passed_nr=`expr $passed_nr + 1` |
elif [ $skipped_ok == 1 ]; then |
skipped_nr=`expr $skipped_nr + 1` |
elif [ $failed_ok == 1 ]; then |
failed_nr=`expr $failed_nr + 1` |
|
if [ $passed_ok == 1 ]; then |
passed_nr=`expr $passed_nr + 1` |
elif [ $skipped_ok == 1 ]; then |
skipped_nr=`expr $skipped_nr + 1` |
elif [ $failed_ok != 0 ]; then |
failed_nr=`expr $failed_nr + 1` |
else |
aborded_nr=`expr $aborded_nr + 1` |
aborted_nr=`expr $aborted_nr + 1` |
fi |
done |
|
#----------------------------------------------------# |
# Display detailed report # |
# Display detailed report # |
#----------------------------------------------------# |
echo "" |
echo "#----------------------------------------------------#" |
echo "# DETAILED REPORT #" |
echo "#----------------------------------------------------#" |
echo "#====================================================================================================================================================#" |
echo "# #" |
echo "# DETAILED REPORT #" |
echo "# #" |
echo "#====================================================================================================================================================#" |
echo "# || || || DMA IF TRANSFER || #" |
echo "# TEST NAME || RESULT || SEED ||-------------------|| REPLAY COMMAND #" |
echo "# || || || Total | Error || #" |
echo "#============================++===========++===============++=========+=========++===================================================================#" |
echo "# || || || | || #" |
for file in $LOG_DIR/*.log ; do |
testname=`basename $file .log` |
passed_ok=`grep -c PASSED $file` |
skipped_ok=`grep -c SKIPPED $file` |
failed_ok=`grep -c FAILED $file` |
abort_ok=0 |
if [ $passed_ok == 1 ]; then |
result="${green} PASSED ${normal}" |
replay_color="${normal}" |
elif [ $skipped_ok == 1 ]; then |
result="${normal} SKIPPED ${normal}" |
replay_color="${normal}" |
elif [ $failed_ok != 0 ]; then |
result="${red} FAILED ${normal}" |
replay_color="${red}" |
else |
result="${red} ABORTED ${normal}" |
replay_color="${red}" |
abort_ok=1 |
fi |
|
seed=`grep "SIMULATION SEED" $file` |
seed_arr=($seed) |
|
dma_total=`grep "DMA REPORT" $file` |
dma_total_arr=($dma_total) |
dma_error=`grep "Total Errors" $file` |
dma_error_arr=($dma_error) |
dma_error_arr[2]="${dma_error_arr[2]}" |
if [ $abort_ok == 0 ]; then |
if [ ${dma_error_arr[2]} -ne " 0" ]; then |
dma_error_arr[2]="${red} ${dma_error_arr[2]} ${normal}" |
fi |
fi |
printf "# %-24s || %s || %12s || %6s | %4s || $replay_color../bin/msp430sim -seed %12s %-24s${normal} #\n" $testname "$result" " ${seed_arr[2]}" " ${dma_total_arr[4]}" "${dma_error_arr[2]}" " ${seed_arr[2]}" $testname |
done |
echo "# || || || | || #" |
echo "#====================================================================================================================================================#" |
echo "" |
if [ $skipped_nr != 0 ]; then |
|
#----------------------------------------------------# |
# Display skipped and failed tests # |
#----------------------------------------------------# |
echo "" |
echo "#===================================================================#" |
echo "# SKIPPED & FAILED TESTS #" |
echo "#===================================================================#" |
echo "" |
if [ $skipped_nr != 0 ]; then |
echo " SKIPPED TESTS:" |
for file in ./log/*.log ; do |
skipped_ok=`grep -c SKIPPED $file` |
if [ $skipped_ok == 1 ]; then |
echo " - $file" |
fi |
for file in $LOG_DIR/*.log ; do |
skipped_ok=`grep -c SKIPPED $file` |
if [ $skipped_ok == 1 ]; then |
echo " - $file" |
fi |
done |
fi |
echo "" |
if [ $failed_nr != 0 ]; then |
echo -e "\e[01;31m FAILED TESTS:\e[00m" |
for file in ./log/*.log ; do |
failed_ok=`grep -c FAILED $file` |
if [ $failed_ok == 1 ]; then |
echo -e "\e[01;31m - $file \e[00m" |
fi |
if [ $failed_nr != 0 ]; then |
echo "${red_bold} FAILED TESTS:${normal}" |
for file in $LOG_DIR/*.log ; do |
failed_ok=`grep -c FAILED $file` |
if [ $failed_ok != 0 ]; then |
echo "${red_bold} - $file ${normal}" |
fi |
done |
fi |
echo "" |
if [ $aborded_nr != 0 ]; then |
echo -e "\e[01;31m ABORDED TESTS:\e[00m" |
for file in ./log/*.log ; do |
passed_ok=`grep -c PASSED $file` |
if [ $passed_ok == 0 ]; then |
failed_ok=`grep -c FAILED $file` |
if [ $failed_ok == 0 ]; then |
skipped_ok=`grep -c SKIPPED $file` |
if [ $skipped_ok == 0 ]; then |
echo -e "\e[01;31m - $file \e[00m" |
fi |
fi |
fi |
if [ $aborted_nr != 0 ]; then |
echo "${red_bold} ABORTED TESTS:${normal}" |
for file in $LOG_DIR/*.log ; do |
passed_ok=`grep -c PASSED $file` |
if [ $passed_ok == 0 ]; then |
failed_ok=`grep -c FAILED $file` |
if [ $failed_ok == 0 ]; then |
skipped_ok=`grep -c SKIPPED $file` |
if [ $skipped_ok == 0 ]; then |
echo "${red_bold} - $file ${normal}" |
fi |
fi |
fi |
done |
fi |
echo "" |
113,22 → 182,22
# Display summary report # |
#----------------------------------------------------# |
echo "" |
echo "#----------------------------------------------------#" |
echo "# SUMMARY REPORT #" |
echo "#----------------------------------------------------#" |
echo "#===================================================================#" |
echo "# SUMMARY REPORT #" |
echo "#===================================================================#" |
echo "" |
|
# Generate final report |
echo " +-----------------------------------" |
echo -e " | Number of PASSED tests :\e[01;32m $passed_nr \e[00m" |
echo -e " | Number of SKIPPED tests :\e[01;32m $skipped_nr \e[00m" |
echo -e " | Number of FAILED tests :\e[01;31m $failed_nr \e[00m" |
echo -e " | Number of ABORDED tests :\e[01;31m $aborded_nr \e[00m" |
echo " |----------------------------------" |
echo -n " | Number of tests : " |
ls -1 ./log/*.log | wc -l |
echo " +----------------------------------" |
echo " +-----------------------------------" |
echo " | Number of PASSED tests :${green_bold} $passed_nr ${normal}" |
echo " | Number of SKIPPED tests :${green_bold} $skipped_nr ${normal}" |
echo " | Number of FAILED tests :${red_bold} $failed_nr ${normal}" |
echo " | Number of ABORTED tests :${red_bold} $aborted_nr ${normal}" |
echo " |----------------------------------" |
echo -n " | Number of tests : " |
ls -1 $LOG_DIR/*.log | wc -l |
echo " +----------------------------------" |
echo "" |
echo " Make sure passed+skipped == total" |
echo " Make sure passed+skipped == total" |
echo "" |
echo "" |
/template_defs.asm
250,5 → 250,8
/*---------------------------------------------------------------------------*/ |
/* PROGRAM MEMORY MAPPING */ |
/*---------------------------------------------------------------------------*/ |
|
.set PMEM_BASE, PMEM_BASE_VAL |
|
.set PMEM_LENGTH, PMEM_SIZE |
.set PMEM_EDE_LENGTH, PMEM_EDE_SIZE |