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 |
|||
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 |
|||
make ngspice | tee cmcqa_basic.log |
|||
../../bin/run_cmc_check ngspice | tee cmcqa_basic.log |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue