OpenCores
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]}" == "" ]; 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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.