test: update tests to new command

This commit is contained in:
DSPOM 2022-05-07 13:39:16 +02:00
parent 469dc127bf
commit 687c251e29
9 changed files with 47220 additions and 14793 deletions

View File

@ -32,7 +32,7 @@ build_ngspice:
- ./autogen.sh
- mkdir debug
- cd debug
- ../configure --with-x --with-readline=yes LIBS=-ldl
- ../configure --disable-silent-rules --without-ngshared --enable-osdi LIBS=-ldl FLAGS="-m64 -O0 -Wall -Wno-unused-but-set-variable" LDFLAGS="-m64"
- make
artifacts:
paths:

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ Vsense Dx D DC 0
* model definitions:
.model dmod_built_in d( bv=5.0000000000e+01 is=1e-13 n=1.05 thermal=1 tnom=27 rth0=100 rs=5 cj0=1e-15 vj=0.5 m=0.6 )
.model dmod_osdi osdi diode_va rs=5 is=1e-13 n=1.05 Rth=100 cj0=1e-15 vj=0.5 m=0.6
.model dmod_osdi diode_va rs=5 is=1e-13 n=1.05 Rth=100 cj0=1e-15 vj=0.5 m=0.6
*OSDI Diode:
*OSDI_ACTIVATE*A1 D 0 T dmod_osdi
@ -19,6 +19,8 @@ Vsense Dx D DC 0
.control
pre_osdi diode.osdi
set filetype=ascii
set wr_vecnames
set wr_singlescale
@ -41,4 +43,4 @@ rusage totiter
.endc
.end
.end

View File

@ -12,7 +12,7 @@ directory = os.path.dirname(__file__)
# and then bet put into /usr/local/share/ngspice/osdi:
#
# > make osdi_diode
# > cp diode_osdi.so /usr/local/share/ngspice/osdi/diode_osdi.so
# > cp diode_osdi.osdi /usr/local/share/ngspice/osdi/diode_osdi.osdi
#
# The integration test proves the functioning of the OSDI interface. The Ngspice diode is quite
# complicated and the results are therefore not exactly the same.
@ -20,27 +20,26 @@ directory = os.path.dirname(__file__)
def create_shared_object():
# place the file "diode_va.c" next to this file
# place the file "diode.c" next to this file
subprocess.run(
[
"gcc",
"-c",
"-Wall",
"-I",
"../../src/spicelib/devices/osdi/",
"../../src/osdi/",
"-fpic",
"diode_va.c",
"diode.c",
"-ggdb",
],
cwd=directory,
)
subprocess.run(
["gcc", "-shared", "-o", "diode_va.so", "diode_va.o", "-ggdb"],
["gcc", "-shared", "-o", "diode.osdi", "diode.o", "-ggdb"],
cwd=directory,
)
os.makedirs(os.path.join(directory, "test_osdi", "osdi"), exist_ok=True)
subprocess.run(["mv", "diode_va.so", "test_osdi/osdi/diode_va.so"], cwd=directory)
subprocess.run(["rm", "diode_va.o"], cwd=directory)
subprocess.run(["mv", "diode.osdi", "test_osdi/diode.osdi"], cwd=directory)
subprocess.run(["rm", "diode.o"], cwd=directory)
# specify location of Ngspice executable to be tested

View File

@ -7,12 +7,12 @@ VD Dx 0 DC 0 AC 1 SIN (0.5 0.2 1M)
Vsense Dx D DC 0
* model definitions:
.model rmod_osdi osdi resistor_va r=10
.model cmod_osdi osdi capacitor_va r=5e-12
.model rmod_osdi resistor_va r=10
.model cmod_osdi capacitor_va r=5e-12
*OSDI Resistor and Capacitor:
*OSDI_ACTIVATE*A1 D 0 rmod_osdi
*OSDI_ACTIVATE*A1 D 0 cmod_osdi
*OSDI_ACTIVATE*A2 D 0 cmod_osdi
*Built-in Capacitor and Resistor:
*BUILT_IN_ACTIVATE*R1 D 0 10
@ -20,6 +20,8 @@ Vsense Dx D DC 0
.control
pre_osdi resistor.osdi capacitor.osdi
set filetype=ascii
set wr_vecnames
set wr_singlescale
@ -42,4 +44,4 @@ rusage totiter
.endc
.end
.end

View File

@ -12,16 +12,16 @@ directory = os.path.dirname(__file__)
# and then bet put into /usr/local/share/ngspice/osdi:
#
# > make osdi_resistor
# > cp resistor_osdi.so /usr/local/share/ngspice/osdi/resistor_osdi.so
# > cp resistor_osdi.osdi /usr/local/share/ngspice/osdi/resistor_osdi.osdi
# > make osdi_capacitor
# > cp capacitor_osdi.so /usr/local/share/ngspice/osdi/capacitor_osdi.so
# > cp capacitor_osdi.osdi /usr/local/share/ngspice/osdi/capacitor_osdi.osdi
#
# The integration test proves the functioning of the OSDI interface.
# Future tests will target Verilog-A models like HICUM/L2 that should yield exactly the same results as the Ngspice implementation.
def create_shared_object():
# place the file "resistor_va.c" and "capacitor_va.c" next to this file
# place the file "resistor.c" and "capacitor.c" next to this file
for dev in ["capacitor", "resistor"]:
subprocess.run(
[
@ -29,22 +29,21 @@ def create_shared_object():
"-c",
"-Wall",
"-I",
"../../src/spicelib/devices/osdi/",
"../../src/osdi/",
"-fpic",
dev + "_va.c",
dev + ".c",
"-ggdb",
],
cwd=directory,
)
subprocess.run(
["gcc", "-shared", "-o", dev + "_va.so", dev + "_va.o", "-ggdb"],
["gcc", "-shared", "-o", dev + ".osdi", dev + ".o", "-ggdb"],
cwd=directory,
)
os.makedirs(os.path.join(directory, "test_osdi", "osdi"), exist_ok=True)
subprocess.run(
["mv", dev + "_va.so", "test_osdi/osdi/" + dev + "_va.so"], cwd=directory
["mv", dev + ".osdi", "test_osdi/" + dev + ".osdi"], cwd=directory
)
subprocess.run(["rm", dev + "_va.o"], cwd=directory)
subprocess.run(["rm", dev + ".o"], cwd=directory)
# specify location of Ngspice executable to be tested