d_source d_state d_ram, test cases for those xspice codemodels

This commit is contained in:
rlar 2010-11-21 15:40:11 +00:00
parent 2e06867da6
commit c575e60356
18 changed files with 440 additions and 0 deletions

View File

@ -1,3 +1,23 @@
2010-11-21 Robert Larice
* configure.ac ,
* tests/Makefile.am ,
* tests/xspice/.cvsignore ,
* tests/xspice/Makefile.am ,
* tests/xspice/digital/.cvsignore ,
* tests/xspice/digital/Makefile.am ,
* tests/xspice/digital/d_ram-stimulus.txt ,
* tests/xspice/digital/d_ram.cir ,
* tests/xspice/digital/d_ram.out ,
* tests/xspice/digital/d_source-stimulus.txt ,
* tests/xspice/digital/d_source.cir ,
* tests/xspice/digital/d_source.out ,
* tests/xspice/digital/d_state-stimulus.txt ,
* tests/xspice/digital/d_state-updn.txt ,
* tests/xspice/digital/d_state.cir ,
* tests/xspice/digital/d_state.out ,
* tests/xspice/digital/spinit.in :
d_source d_state d_ram, test cases for those xspice codemodels
2010-11-21 Holger Vogt
* vsracct.c, vsrcload.c: PULSE: next trial of
correct timing in case of phase != 0

View File

@ -1116,6 +1116,9 @@ AC_CONFIG_FILES([Makefile
tests/sensitivity/Makefile
tests/transient/Makefile
tests/transmission/Makefile
tests/xspice/Makefile
tests/xspice/digital/Makefile
tests/xspice/digital/spinit
tests/resistance/Makefile
tests/vbic/Makefile])
AC_OUTPUT

View File

@ -47,6 +47,11 @@ DIST_SUBDIRS = bsim1 \
transmission \
vbic
if XSPICE_WANTED
SUBDIRS += xspice
DIST_SUBDIRS += xspice
endif
TESTS_ENVIRONMENT = $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice
EXTRA_DIST = \

2
tests/xspice/.cvsignore Normal file
View File

@ -0,0 +1,2 @@
Makefile.in
Makefile

5
tests/xspice/Makefile.am Normal file
View File

@ -0,0 +1,5 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = digital
MAINTAINERCLEANFILES = Makefile.in

View File

@ -0,0 +1,2 @@
Makefile.in
Makefile

View File

@ -0,0 +1,18 @@
## Process this file with automake to produce Makefile.in
TESTS = \
d_ram.cir \
d_source.cir \
d_state.cir
TESTS_ENVIRONMENT = SPICE_SCRIPTS=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh "$(top_builddir)/src/ngspice -r foobaz"
EXTRA_DIST = \
d_ram-stimulus.txt \
d_source-stimulus.txt \
d_state-stimulus.txt \
d_state-updn.txt \
$(TESTS) \
$(TESTS:.cir=.out)
MAINTAINERCLEANFILES = Makefile.in

View File

@ -0,0 +1,36 @@
* ram test
* a a a d d d d d we cs
0ns 0s 0s 0s 0r 0r 0r 0r 0r 0s 1s
10ns 0s 0s 0s 0r 0r 0r 0r 0r 1s 1s
20ns 0s 0s 0s 0r 0r 0r 0r 0r 0s 1s
30ns 0s 0s 1s 0r 1r 1r 0r 1r 0s 1s
40ns 0s 0s 1s 0r 1r 1r 0r 1r 1s 1s
50ns 0s 0s 1s 0r 1r 1r 0r 1r 0s 1s
60ns 0s 1s 0s 1r 1r 0r 1r 0r 0s 0s
70ns 0s 1s 0s 1r 1r 0r 1r 0r 1s 0s
80ns 0s 1s 0s 1r 1r 0r 1r 0r 0s 0s
90ns 0s 1s 1s 0r 0r 1r 1r 1r 0s 1s
100ns 0s 1s 1s 0r 0r 1r 1r 1r 1s 1s
110ns 0s 1s 1s 0r 0r 1r 1r 1r 0s 1s
120ns 1s 0s 0s 1r 0r 1r 0r 0r 0s 1s
130ns 1s 0s 0s 1r 0r 1r 0r 0r 1s 1s
140ns 1s 0s 0s 1r 0r 1r 0r 0r 0s 1s
150ns 1s 0s 1s 0r 0r 0r 0r 1r 0s 1s
160ns 1s 0s 1s 0r 0r 0r 0r 1r 1s 1s
170ns 1s 0s 1s 0r 0r 0r 0r 1r 0s 1s
180ns 1s 1s 0s 0r 1r 1r 1r 0r 0s 1s
190ns 1s 1s 0s 0r 1r 1r 1r 0r 1s 1s
200ns 1s 1s 0s 0r 1r 1r 1r 0r 0s 1s
210ns 1s 1s 1s 1r 1r 0r 1r 1r 0s 1s
220ns 1s 1s 1s 1r 1r 0r 1r 1r 1s 1s
230ns 1s 1s 1s 1r 1r 0r 1r 1r 0s 1s
240ns 0s 0s 0s 0r 0r 0r 0r 0r 0s 1s
250ns 0s 0s 1s 0r 1r 1r 0r 1r 0s 1s
260ns 0s 1s 0s 1r 1r 0r 1r 0r 0s 1s
270ns 0s 1s 1s 0r 0r 1r 1r 1r 0s 1s
280ns 1s 0s 0s 1r 0r 1r 0r 0r 0s 1s
290ns 1s 0s 1s 0r 0r 0r 0r 1r 0s 1s
300ns 1s 1s 0s 0r 1r 1r 1r 0r 0s 1s
310ns 1s 1s 1s 1r 1r 0r 1r 1r 0s 1s
320ns 1s 1s 1s 1r 1r 0r 1r 1r 0s 0s
330ns 1s 1s 1s 1r 1r 0r 1r 1r 0s 1s

View File

@ -0,0 +1,24 @@
Code Model Test: d_source + d_ram
* (compile (concat "SPICE_SCRIPTS=. ../../../src/ngspice " buffer-file-name) t)
vdummy dummy 0 DC=0
a_source [a0 a1 a2 d0 d1 d2 d3 d4 we cs] d_source1
aram [d0 d1 d2 d3 d4] [o0 o1 o2 o3 o4] [a0 a1 a2] we [cs] d_ram1
.model d_source1 d_source input_file="d_ram-stimulus.txt"
.model d_ram1 d_ram (select_value=1 ic=2 read_delay=1ns)
.control
set noaskquit
set noacct
tran 100ps 350ns
eprint a0 a1 a2 d0 d1 d2 d3 d4 o0 o1 o2 o3 o4 we cs
.endc
.end

View File

@ -0,0 +1,113 @@
Circuit: code model test: d_source + d_ram
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
No. of Data Rows : 3508
**** Results Data ****
Time or Step
a0
a1
a2
d0
d1
d2
d3
d4
o0
o1
o2
o3
o4
we
cs
0.000000000e+00 0s 0s 0s 0r 0r 0r 0r 0r Us Us Us Us Us 0s 1s
1.000000000e-08 0s 0s 0s 0r 0r 0r 0r 0r Us Us Us Us Us 1s 1s
1.100000000e-08 0s 0s 0s 0r 0r 0r 0r 0r 0z 0z 0z 0z 0z 1s 1s
2.000000000e-08 0s 0s 0s 0r 0r 0r 0r 0r 0z 0z 0z 0z 0z 0s 1s
2.100000000e-08 0s 0s 0s 0r 0r 0r 0r 0r 0s 0s 0s 0s 0s 0s 1s
3.000000000e-08 0s 0s 1s 0r 1r 1r 0r 1r 0s 0s 0s 0s 0s 0s 1s
3.100000000e-08 0s 0s 1s 0r 1r 1r 0r 1r Us Us Us Us Us 0s 1s
4.000000000e-08 0s 0s 1s 0r 1r 1r 0r 1r Us Us Us Us Us 1s 1s
4.100000000e-08 0s 0s 1s 0r 1r 1r 0r 1r 0z 1z 1z 0z 1z 1s 1s
5.000000000e-08 0s 0s 1s 0r 1r 1r 0r 1r 0z 1z 1z 0z 1z 0s 1s
5.100000000e-08 0s 0s 1s 0r 1r 1r 0r 1r 0s 1s 1s 0s 1s 0s 1s
6.000000000e-08 0s 1s 0s 1r 1r 0r 1r 0r 0s 1s 1s 0s 1s 0s 0s
6.100000000e-08 0s 1s 0s 1r 1r 0r 1r 0r Uz Uz Uz Uz Uz 0s 0s
7.000000000e-08 0s 1s 0s 1r 1r 0r 1r 0r Uz Uz Uz Uz Uz 1s 0s
8.000000000e-08 0s 1s 0s 1r 1r 0r 1r 0r Uz Uz Uz Uz Uz 0s 0s
9.000000000e-08 0s 1s 1s 0r 0r 1r 1r 1r Uz Uz Uz Uz Uz 0s 1s
9.100000000e-08 0s 1s 1s 0r 0r 1r 1r 1r Us Us Us Us Us 0s 1s
1.000000000e-07 0s 1s 1s 0r 0r 1r 1r 1r Us Us Us Us Us 1s 1s
1.010000000e-07 0s 1s 1s 0r 0r 1r 1r 1r 0z 0z 1z 1z 1z 1s 1s
1.100000000e-07 0s 1s 1s 0r 0r 1r 1r 1r 0z 0z 1z 1z 1z 0s 1s
1.110000000e-07 0s 1s 1s 0r 0r 1r 1r 1r 0s 0s 1s 1s 1s 0s 1s
1.200000000e-07 1s 0s 0s 1r 0r 1r 0r 0r 0s 0s 1s 1s 1s 0s 1s
1.210000000e-07 1s 0s 0s 1r 0r 1r 0r 0r Us Us Us Us Us 0s 1s
1.300000000e-07 1s 0s 0s 1r 0r 1r 0r 0r Us Us Us Us Us 1s 1s
1.310000000e-07 1s 0s 0s 1r 0r 1r 0r 0r 1z 0z 1z 0z 0z 1s 1s
1.400000000e-07 1s 0s 0s 1r 0r 1r 0r 0r 1z 0z 1z 0z 0z 0s 1s
1.410000000e-07 1s 0s 0s 1r 0r 1r 0r 0r 1s 0s 1s 0s 0s 0s 1s
1.500000000e-07 1s 0s 1s 0r 0r 0r 0r 1r 1s 0s 1s 0s 0s 0s 1s
1.510000000e-07 1s 0s 1s 0r 0r 0r 0r 1r Us Us Us Us Us 0s 1s
1.600000000e-07 1s 0s 1s 0r 0r 0r 0r 1r Us Us Us Us Us 1s 1s
1.610000000e-07 1s 0s 1s 0r 0r 0r 0r 1r 0z 0z 0z 0z 1z 1s 1s
1.700000000e-07 1s 0s 1s 0r 0r 0r 0r 1r 0z 0z 0z 0z 1z 0s 1s
1.710000000e-07 1s 0s 1s 0r 0r 0r 0r 1r 0s 0s 0s 0s 1s 0s 1s
1.800000000e-07 1s 1s 0s 0r 1r 1r 1r 0r 0s 0s 0s 0s 1s 0s 1s
1.810000000e-07 1s 1s 0s 0r 1r 1r 1r 0r Us Us Us Us Us 0s 1s
1.900000000e-07 1s 1s 0s 0r 1r 1r 1r 0r Us Us Us Us Us 1s 1s
1.910000000e-07 1s 1s 0s 0r 1r 1r 1r 0r 0z 1z 1z 1z 0z 1s 1s
2.000000000e-07 1s 1s 0s 0r 1r 1r 1r 0r 0z 1z 1z 1z 0z 0s 1s
2.010000000e-07 1s 1s 0s 0r 1r 1r 1r 0r 0s 1s 1s 1s 0s 0s 1s
2.100000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 0s 1s 1s 1s 0s 0s 1s
2.110000000e-07 1s 1s 1s 1r 1r 0r 1r 1r Us Us Us Us Us 0s 1s
2.200000000e-07 1s 1s 1s 1r 1r 0r 1r 1r Us Us Us Us Us 1s 1s
2.210000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 1z 1z 0z 1z 1z 1s 1s
2.300000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 1z 1z 0z 1z 1z 0s 1s
2.310000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 1s 1s 0s 1s 1s 0s 1s
2.400000000e-07 0s 0s 0s 0r 0r 0r 0r 0r 1s 1s 0s 1s 1s 0s 1s
2.410000000e-07 0s 0s 0s 0r 0r 0r 0r 0r 0s 0s 0s 0s 0s 0s 1s
2.500000000e-07 0s 0s 1s 0r 1r 1r 0r 1r 0s 0s 0s 0s 0s 0s 1s
2.510000000e-07 0s 0s 1s 0r 1r 1r 0r 1r 0s 1s 1s 0s 1s 0s 1s
2.600000000e-07 0s 1s 0s 1r 1r 0r 1r 0r 0s 1s 1s 0s 1s 0s 1s
2.610000000e-07 0s 1s 0s 1r 1r 0r 1r 0r Us Us Us Us Us 0s 1s
2.700000000e-07 0s 1s 1s 0r 0r 1r 1r 1r Us Us Us Us Us 0s 1s
2.710000000e-07 0s 1s 1s 0r 0r 1r 1r 1r 0s 0s 1s 1s 1s 0s 1s
2.800000000e-07 1s 0s 0s 1r 0r 1r 0r 0r 0s 0s 1s 1s 1s 0s 1s
2.810000000e-07 1s 0s 0s 1r 0r 1r 0r 0r 1s 0s 1s 0s 0s 0s 1s
2.900000000e-07 1s 0s 1s 0r 0r 0r 0r 1r 1s 0s 1s 0s 0s 0s 1s
2.910000000e-07 1s 0s 1s 0r 0r 0r 0r 1r 0s 0s 0s 0s 1s 0s 1s
3.000000000e-07 1s 1s 0s 0r 1r 1r 1r 0r 0s 0s 0s 0s 1s 0s 1s
3.010000000e-07 1s 1s 0s 0r 1r 1r 1r 0r 0s 1s 1s 1s 0s 0s 1s
3.100000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 0s 1s 1s 1s 0s 0s 1s
3.110000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 1s 1s 0s 1s 1s 0s 1s
3.200000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 1s 1s 0s 1s 1s 0s 0s
3.210000000e-07 1s 1s 1s 1r 1r 0r 1r 1r Uz Uz Uz Uz Uz 0s 0s
3.300000000e-07 1s 1s 1s 1r 1r 0r 1r 1r Uz Uz Uz Uz Uz 0s 1s
3.310000000e-07 1s 1s 1s 1r 1r 0r 1r 1r 1s 1s 0s 1s 1s 0s 1s
**** Messages ****
**** Statistics ****
Operating point analog/event alternations: 1
Operating point load calls: 3
Operating point event passes: 2
Transient analysis load calls: 66
Transient analysis timestep backups: 0
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000

View File

@ -0,0 +1,13 @@
* time, a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab
0n 0s 0s Uu Uu Uu Uu Uu Uu Uu Uu Uu
1n 1s 0s Uu Uu 0u Uu Uu Uu Uu Uu Uu
2n Us 0s Uu Uu 0u 0u Uu Uu Uu Uu Uu
3n Us 0r Uu Uu 0u 0u 0u Uu Uu Uu Uu
4n Us 1r Uu Uu 0u 0u 0u 0u Uu Uu Uu
5n Us Ur Uu Uu 0u 0u 0u 0u 0u Uu Uu
6n Us Ur 0z Uu 0u 0u 0u 0u 0u 0u Uu
7n Us Ur 1z Uu 0u 0u 0u 0u 0u 0u 0u
8n Us Ur Uz Uu 0u 0u 0u 0u 0u 0u 0u
9n Us Ur Uz 0u 0u 0u 0u 0u 0u 0u 0u
10n Us Ur Uz 1u 0u 0u 0u 0u 0u 0u 0u
11n Us Ur Uz Uu 0u 0u 0u 0u 0u 0u 0u

View File

@ -0,0 +1,19 @@
Code Model Test: d_source
* (compile (concat "SPICE_SCRIPTS=. ../../../src/ngspice " buffer-file-name) t)
vdummy dummy 0 DC=0
a_source [a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab] d_source1
.model d_source1 d_source (input_file="d_source-stimulus.txt")
.control
set noaskquit
set noacct
tran 100ps 30ns
eprint a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab
.endc
.end

View File

@ -0,0 +1,56 @@
Circuit: code model test: d_source
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
No. of Data Rows : 308
**** Results Data ****
Time or Step
a1
a2
a3
a4
a5
a6
a7
a8
a9
aa
ab
0.000000000e+00 0s 0s Uu Uu Uu Uu Uu Uu Uu Uu Uu
1.000000000e-09 1s 0s Uu Uu 0u Uu Uu Uu Uu Uu Uu
2.000000000e-09 Us 0s Uu Uu 0u 0u Uu Uu Uu Uu Uu
3.000000000e-09 Us 0r Uu Uu 0u 0u 0u Uu Uu Uu Uu
4.000000000e-09 Us 1r Uu Uu 0u 0u 0u 0u Uu Uu Uu
5.000000000e-09 Us Ur Uu Uu 0u 0u 0u 0u 0u Uu Uu
6.000000000e-09 Us Ur 0z Uu 0u 0u 0u 0u 0u 0u Uu
7.000000000e-09 Us Ur 1z Uu 0u 0u 0u 0u 0u 0u 0u
8.000000000e-09 Us Ur Uz Uu 0u 0u 0u 0u 0u 0u 0u
9.000000000e-09 Us Ur Uz 0u 0u 0u 0u 0u 0u 0u 0u
1.000000000e-08 Us Ur Uz 1u 0u 0u 0u 0u 0u 0u 0u
1.100000000e-08 Us Ur Uz Uu 0u 0u 0u 0u 0u 0u 0u
**** Messages ****
**** Statistics ****
Operating point analog/event alternations: 1
Operating point load calls: 1
Operating point event passes: 2
Transient analysis load calls: 11
Transient analysis timestep backups: 0
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000

View File

@ -0,0 +1,4 @@
* time, enable, reset, up
0 0s 1s 1s
1n 1s 0s 1s
9n 1s 0s 0s

View File

@ -0,0 +1,16 @@
* This is an example state.in file. This file
* defines a simple 2-bit counter with one input. The
* value of this input determines whether the counter counts
* up (in = 1) or down (in = 0).
0 0s 0s 0 -> 3
1 -> 1
1 0s 1z 0 -> 0
1 -> 2
2 1z 0s 0 -> 1
1 -> 3
3 1z 1z 0 -> 2
3 1z 1z 1 -> 0

View File

@ -0,0 +1,35 @@
Code Model Test: d_source + d_state
* (compile (concat "SPICE_SCRIPTS=. ../../../src/ngspice " buffer-file-name) t)
vdummy dummy 0 DC=0
a_source [enable reset up] d_source1
a_osc [enable clk] clk d_xor1
a_counter [up] clk reset [o1 o2] d_state1
.model d_source1 d_source (input_file="d_state-stimulus.txt")
.model d_xor1 d_xor (rise_delay=1ns fall_delay=1ns)
.model d_state1 d_state (clk_delay=0.1ns reset_delay=0.1ns
+ state_file="d_state-updn.txt" reset_state=0)
.control
set noaskquit
set noacct
tran 100ps 20ns
eprint clk up reset o1 o2
.endc
.end

View File

@ -0,0 +1,68 @@
Circuit: code model test: d_source + d_state
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
No. of Data Rows : 208
**** Results Data ****
Time or Step
clk
up
reset
o1
o2
0.000000000e+00 0s 1s 1s 0s 0s
1.000000000e-09 0s 1s 0s 0s 0s
2.000000000e-09 1s 1s 0s 0s 0s
2.100000000e-09 1s 1s 0s 0s 1z
3.000000000e-09 0s 1s 0s 0s 1z
4.000000000e-09 1s 1s 0s 0s 1z
4.100000000e-09 1s 1s 0s 1z 0s
5.000000000e-09 0s 1s 0s 1z 0s
6.000000000e-09 1s 1s 0s 1z 0s
6.100000000e-09 1s 1s 0s 1z 1z
7.000000000e-09 0s 1s 0s 1z 1z
8.000000000e-09 1s 1s 0s 1z 1z
8.100000000e-09 1s 1s 0s 0s 0s
9.000000000e-09 0s 0s 0s 0s 0s
1.000000000e-08 1s 0s 0s 0s 0s
1.010000000e-08 1s 0s 0s 1z 1z
1.100000000e-08 0s 0s 0s 1z 1z
1.200000000e-08 1s 0s 0s 1z 1z
1.210000000e-08 1s 0s 0s 1z 0s
1.300000000e-08 0s 0s 0s 1z 0s
1.400000000e-08 1s 0s 0s 1z 0s
1.410000000e-08 1s 0s 0s 0s 1z
1.500000000e-08 0s 0s 0s 0s 1z
1.600000000e-08 1s 0s 0s 0s 1z
1.610000000e-08 1s 0s 0s 0s 0s
1.700000000e-08 0s 0s 0s 0s 0s
1.800000000e-08 1s 0s 0s 0s 0s
1.810000000e-08 1s 0s 0s 1z 1z
1.900000000e-08 0s 0s 0s 1z 1z
2.000000000e-08 1s 0s 0s 1z 1z
**** Messages ****
**** Statistics ****
Operating point analog/event alternations: 1
Operating point load calls: 5
Operating point event passes: 2
Transient analysis load calls: 42
Transient analysis timestep backups: 0
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000

View File

@ -0,0 +1 @@
codemodel @top_builddir@/src/xspice/icm/digital/digital.cm