Browse Source
CMC test suite, cleanup
CMC test suite, cleanup
10 changed files with 167 additions and 552 deletions
-
18ChangeLog
-
141tests/bin/run_cmc_check
-
135tests/hisim/nmos/Makefile
-
4tests/hisim/nmos/run
-
135tests/hisim/pmos/Makefile
-
4tests/hisim/pmos/run
-
135tests/hisimhv/nmos/Makefile
-
6tests/hisimhv/nmos/run
-
135tests/hisimhv/pmos/Makefile
-
6tests/hisimhv/pmos/run
@ -0,0 +1,141 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
# |
||||
|
# Example Script to run tests and check results. |
||||
|
# |
||||
|
# This is an example script for running QA tests on a |
||||
|
# model and then checking the simulated results against |
||||
|
# reference results. A separate target is defined for each |
||||
|
# variant of the model. The program runQaTests.pl runs the |
||||
|
# tests, and that program expects a perl module SIMULATOR.pm |
||||
|
# to be provided for each simulator that is tested. |
||||
|
# Examples of these are provided. |
||||
|
# |
||||
|
|
||||
|
qaSpecFile="qaSpec" |
||||
|
qaResultsDirectory="results" |
||||
|
testProgramName="../../bin/runQaTests.pl" |
||||
|
testProgramFlags="-nwV" |
||||
|
|
||||
|
#testProgramFlags="-d" |
||||
|
|
||||
|
|
||||
|
help() { |
||||
|
cat <<-EOF |
||||
|
Valid targets are: |
||||
|
|
||||
|
all run tests and compare results for all simulators |
||||
|
|
||||
|
spice run tests and compare results spice |
||||
|
ngspice run tests and compare results ngspice |
||||
|
|
||||
|
clean remove all previously generated simulation results |
||||
|
|
||||
|
NOTE: if test results exist they are not resimulated |
||||
|
NOTE: to force resimulation run "make clean" first |
||||
|
EOF |
||||
|
} |
||||
|
|
||||
|
|
||||
|
run_test() { |
||||
|
|
||||
|
simname="$1" |
||||
|
|
||||
|
localPlatform=`${testProgramName} -platform` |
||||
|
localVersion=`${testProgramName} -sv -s ${simname} ${qaSpecFile}` |
||||
|
|
||||
|
echo "" |
||||
|
echo "******" |
||||
|
echo "****** ${qaSpecFile} tests for ${simname}" |
||||
|
echo "****** (for version ${localVersion} on platform ${localPlatform})" |
||||
|
echo "******" |
||||
|
|
||||
|
for test in `${testProgramName} -lt -s ${simname} ${qaSpecFile}` ; do |
||||
|
|
||||
|
echo "" |
||||
|
echo "****** Checking test (${simname}): ${test}" |
||||
|
|
||||
|
for variant in `${testProgramName} -lv -s ${simname} ${qaSpecFile}` ; do |
||||
|
${testProgramName} \ |
||||
|
${testProgramFlags} \ |
||||
|
-s ${simname} \ |
||||
|
-r -t ${test} \ |
||||
|
-var ${variant} \ |
||||
|
${qaSpecFile} |
||||
|
done |
||||
|
done |
||||
|
|
||||
|
for version in `ls -C1 ${qaResultsDirectory}/${simname}` ; do |
||||
|
for platform in `ls -C1 ${qaResultsDirectory}/${simname}/${version}` ; do |
||||
|
|
||||
|
if [ ${version} = ${localVersion} -a ${platform} = ${localPlatform} ] |
||||
|
then |
||||
|
break |
||||
|
fi |
||||
|
|
||||
|
echo "" |
||||
|
echo "******" |
||||
|
echo "****** Comparing previously run ${qaSpecFile} tests for ${simname}" |
||||
|
echo "****** (for version ${version} on platform ${platform})" |
||||
|
echo "******" |
||||
|
|
||||
|
for test in `${testProgramName} -lt -s ${simname} ${qaSpecFile}` ; do |
||||
|
|
||||
|
echo "" |
||||
|
echo "****** Checking test (${simname}): ${test}" |
||||
|
|
||||
|
for variant in `${testProgramName} -lv -s ${simname} ${qaSpecFile}` ; do |
||||
|
${testProgramName} \ |
||||
|
-c ${version} ${platform} \ |
||||
|
-s ${simname} \ |
||||
|
-t ${test} \ |
||||
|
-var ${variant} \ |
||||
|
${qaSpecFile} |
||||
|
done |
||||
|
done |
||||
|
done |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
|
||||
|
##### |
||||
|
##### spice tests |
||||
|
##### |
||||
|
|
||||
|
spice() { |
||||
|
run_test spice |
||||
|
} |
||||
|
|
||||
|
|
||||
|
##### |
||||
|
##### ngspice tests |
||||
|
##### |
||||
|
|
||||
|
ngspice() { |
||||
|
run_test ngspice |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
clean() { |
||||
|
rm -rf ${qaResultsDirectory}/spice b3v3check.log |
||||
|
rm -rf ${qaResultsDirectory}/ngspice ngspiceCkt* |
||||
|
} |
||||
|
|
||||
|
|
||||
|
all() { |
||||
|
spice |
||||
|
ngspice |
||||
|
} |
||||
|
|
||||
|
|
||||
|
for arg in $@ ; do |
||||
|
case "$arg" in |
||||
|
all | clean | spice | ngspice) |
||||
|
"$arg" |
||||
|
;; |
||||
|
*) |
||||
|
help |
||||
|
;; |
||||
|
esac |
||||
|
done |
||||
@ -1,135 +0,0 @@ |
|||||
|
|
||||
#
|
|
||||
# Example Makefile to run tests and check results.
|
|
||||
#
|
|
||||
# This is an example makefile for running QA tests on a
|
|
||||
# model and then checking the simulated results against
|
|
||||
# reference results. A separate target is defined for each
|
|
||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||
# to be provided for each simulator that is tested.
|
|
||||
# Examples of these are provided.
|
|
||||
#
|
|
||||
|
|
||||
qaSpecFile = qaSpec |
|
||||
qaResultsDirectory = results |
|
||||
testProgramName = ../../bin/runQaTests.pl |
|
||||
testProgramFlags = -nwV |
|
||||
#testProgramFlags = -d
|
|
||||
|
|
||||
help: |
|
||||
@echo "" ; \
|
|
||||
echo "Valid targets are:" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "spice run tests and compare results spice" ; \
|
|
||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "clean remove all previously generated simulation results"; \
|
|
||||
echo "" ; \
|
|
||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||
echo "" |
|
||||
|
|
||||
all: spice ngspice |
|
||||
|
|
||||
#####
|
|
||||
##### spice tests
|
|
||||
#####
|
|
||||
|
|
||||
spice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
#####
|
|
||||
##### ngspice tests
|
|
||||
#####
|
|
||||
|
|
||||
ngspice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
clean: |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt* |
|
||||
@ -1,3 +1,3 @@ |
|||||
#!/bin/csh -fv |
|
||||
|
#!/bin/sh |
||||
|
|
||||
make ngspice | tee cmcqa_nmos.log |
|
||||
|
../../bin/run_cmc_check clean ngspice | tee cmcqa_nmos.log |
||||
@ -1,135 +0,0 @@ |
|||||
|
|
||||
#
|
|
||||
# Example Makefile to run tests and check results.
|
|
||||
#
|
|
||||
# This is an example makefile for running QA tests on a
|
|
||||
# model and then checking the simulated results against
|
|
||||
# reference results. A separate target is defined for each
|
|
||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||
# to be provided for each simulator that is tested.
|
|
||||
# Examples of these are provided.
|
|
||||
#
|
|
||||
|
|
||||
qaSpecFile = qaSpec |
|
||||
qaResultsDirectory = results |
|
||||
testProgramName = ../../bin/runQaTests.pl |
|
||||
testProgramFlags = -nwV |
|
||||
#testProgramFlags = -d
|
|
||||
|
|
||||
help: |
|
||||
@echo "" ; \
|
|
||||
echo "Valid targets are:" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "spice run tests and compare results spice" ; \
|
|
||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "clean remove all previously generated simulation results"; \
|
|
||||
echo "" ; \
|
|
||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||
echo "" |
|
||||
|
|
||||
all: spice ngspice |
|
||||
|
|
||||
#####
|
|
||||
##### spice tests
|
|
||||
#####
|
|
||||
|
|
||||
spice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
#####
|
|
||||
##### ngspice tests
|
|
||||
#####
|
|
||||
|
|
||||
ngspice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
clean: |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt* |
|
||||
@ -1,3 +1,3 @@ |
|||||
#!/bin/csh -fv |
|
||||
|
#!/bin/sh |
||||
|
|
||||
make clean ngspice | tee cmcqa_pmos.log |
|
||||
|
../../bin/run_cmc_check clean ngspice | tee cmcqa_pmos.log |
||||
@ -1,135 +0,0 @@ |
|||||
|
|
||||
#
|
|
||||
# Example Makefile to run tests and check results.
|
|
||||
#
|
|
||||
# This is an example makefile for running QA tests on a
|
|
||||
# model and then checking the simulated results against
|
|
||||
# reference results. A separate target is defined for each
|
|
||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||
# to be provided for each simulator that is tested.
|
|
||||
# Examples of these are provided.
|
|
||||
#
|
|
||||
|
|
||||
qaSpecFile = qaSpec |
|
||||
qaResultsDirectory = results |
|
||||
testProgramName = ../../bin/runQaTests.pl |
|
||||
testProgramFlags = -nwV |
|
||||
#testProgramFlags = -d
|
|
||||
|
|
||||
help: |
|
||||
@echo "" ; \
|
|
||||
echo "Valid targets are:" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "spice run tests and compare results spice" ; \
|
|
||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "clean remove all previously generated simulation results"; \
|
|
||||
echo "" ; \
|
|
||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||
echo "" |
|
||||
|
|
||||
all: spice ngspice |
|
||||
|
|
||||
#####
|
|
||||
##### spice tests
|
|
||||
#####
|
|
||||
|
|
||||
spice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
#####
|
|
||||
##### ngspice tests
|
|
||||
#####
|
|
||||
|
|
||||
ngspice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
clean: |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt* |
|
||||
@ -1,5 +1,5 @@ |
|||||
#!/bin/csh -fv |
|
||||
|
#!/bin/sh |
||||
|
|
||||
make clean |
|
||||
|
../../bin/run_cmc_check clean |
||||
cp qaSpec.basic qaSpec |
cp qaSpec.basic qaSpec |
||||
make ngspice | tee cmcqa_basic.log |
|
||||
|
../../bin/run_cmc_check ngspice | tee cmcqa_basic.log |
||||
@ -1,135 +0,0 @@ |
|||||
|
|
||||
#
|
|
||||
# Example Makefile to run tests and check results.
|
|
||||
#
|
|
||||
# This is an example makefile for running QA tests on a
|
|
||||
# model and then checking the simulated results against
|
|
||||
# reference results. A separate target is defined for each
|
|
||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||
# to be provided for each simulator that is tested.
|
|
||||
# Examples of these are provided.
|
|
||||
#
|
|
||||
|
|
||||
qaSpecFile = qaSpec |
|
||||
qaResultsDirectory = results |
|
||||
testProgramName = ../../bin/runQaTests.pl |
|
||||
testProgramFlags = -nwV |
|
||||
#testProgramFlags = -d
|
|
||||
|
|
||||
help: |
|
||||
@echo "" ; \
|
|
||||
echo "Valid targets are:" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "spice run tests and compare results spice" ; \
|
|
||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||
echo "" ; \
|
|
||||
echo "clean remove all previously generated simulation results"; \
|
|
||||
echo "" ; \
|
|
||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||
echo "" |
|
||||
|
|
||||
all: spice ngspice |
|
||||
|
|
||||
#####
|
|
||||
##### spice tests
|
|
||||
#####
|
|
||||
|
|
||||
spice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
#####
|
|
||||
##### ngspice tests
|
|
||||
#####
|
|
||||
|
|
||||
ngspice: |
|
||||
@-echo ""; \
|
|
||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||
do \
|
|
||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||
do \
|
|
||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||
then \
|
|
||||
break ; \
|
|
||||
fi ; \
|
|
||||
echo "" ; \
|
|
||||
echo "******"; \
|
|
||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||
echo "******"; \
|
|
||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
echo ""; \
|
|
||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||
do \
|
|
||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done ; \
|
|
||||
done |
|
||||
|
|
||||
clean: |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log |
|
||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt* |
|
||||
@ -1,5 +1,5 @@ |
|||||
#!/bin/csh -fv |
|
||||
|
#!/bin/sh |
||||
|
|
||||
make clean |
|
||||
|
../../bin/run_cmc_check clean |
||||
cp qaSpec.basic qaSpec |
cp qaSpec.basic qaSpec |
||||
make ngspice | tee cmcqa_basic.log |
|
||||
|
../../bin/run_cmc_check ngspice | tee cmcqa_basic.log |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue