From c575e60356d3b85ba876ff08e04e8d20e8519aec Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 21 Nov 2010 15:40:11 +0000 Subject: [PATCH] d_source d_state d_ram, test cases for those xspice codemodels --- ChangeLog | 20 ++++ configure.ac | 3 + tests/Makefile.am | 5 + tests/xspice/.cvsignore | 2 + tests/xspice/Makefile.am | 5 + tests/xspice/digital/.cvsignore | 2 + tests/xspice/digital/Makefile.am | 18 ++++ tests/xspice/digital/d_ram-stimulus.txt | 36 +++++++ tests/xspice/digital/d_ram.cir | 24 +++++ tests/xspice/digital/d_ram.out | 113 +++++++++++++++++++++ tests/xspice/digital/d_source-stimulus.txt | 13 +++ tests/xspice/digital/d_source.cir | 19 ++++ tests/xspice/digital/d_source.out | 56 ++++++++++ tests/xspice/digital/d_state-stimulus.txt | 4 + tests/xspice/digital/d_state-updn.txt | 16 +++ tests/xspice/digital/d_state.cir | 35 +++++++ tests/xspice/digital/d_state.out | 68 +++++++++++++ tests/xspice/digital/spinit.in | 1 + 18 files changed, 440 insertions(+) create mode 100644 tests/xspice/.cvsignore create mode 100644 tests/xspice/Makefile.am create mode 100644 tests/xspice/digital/.cvsignore create mode 100644 tests/xspice/digital/Makefile.am create mode 100644 tests/xspice/digital/d_ram-stimulus.txt create mode 100644 tests/xspice/digital/d_ram.cir create mode 100644 tests/xspice/digital/d_ram.out create mode 100644 tests/xspice/digital/d_source-stimulus.txt create mode 100644 tests/xspice/digital/d_source.cir create mode 100644 tests/xspice/digital/d_source.out create mode 100644 tests/xspice/digital/d_state-stimulus.txt create mode 100644 tests/xspice/digital/d_state-updn.txt create mode 100644 tests/xspice/digital/d_state.cir create mode 100644 tests/xspice/digital/d_state.out create mode 100644 tests/xspice/digital/spinit.in diff --git a/ChangeLog b/ChangeLog index afe6438e5..8c5550a35 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 diff --git a/configure.ac b/configure.ac index e8d9ba67a..8f70b1ce7 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/tests/Makefile.am b/tests/Makefile.am index 431ef958d..b5d105882 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 = \ diff --git a/tests/xspice/.cvsignore b/tests/xspice/.cvsignore new file mode 100644 index 000000000..3dda72986 --- /dev/null +++ b/tests/xspice/.cvsignore @@ -0,0 +1,2 @@ +Makefile.in +Makefile diff --git a/tests/xspice/Makefile.am b/tests/xspice/Makefile.am new file mode 100644 index 000000000..77f968b37 --- /dev/null +++ b/tests/xspice/Makefile.am @@ -0,0 +1,5 @@ +## Process this file with automake to produce Makefile.in + +SUBDIRS = digital + +MAINTAINERCLEANFILES = Makefile.in diff --git a/tests/xspice/digital/.cvsignore b/tests/xspice/digital/.cvsignore new file mode 100644 index 000000000..3dda72986 --- /dev/null +++ b/tests/xspice/digital/.cvsignore @@ -0,0 +1,2 @@ +Makefile.in +Makefile diff --git a/tests/xspice/digital/Makefile.am b/tests/xspice/digital/Makefile.am new file mode 100644 index 000000000..69984d39c --- /dev/null +++ b/tests/xspice/digital/Makefile.am @@ -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 diff --git a/tests/xspice/digital/d_ram-stimulus.txt b/tests/xspice/digital/d_ram-stimulus.txt new file mode 100644 index 000000000..36b04c84d --- /dev/null +++ b/tests/xspice/digital/d_ram-stimulus.txt @@ -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 diff --git a/tests/xspice/digital/d_ram.cir b/tests/xspice/digital/d_ram.cir new file mode 100644 index 000000000..1f1deb43c --- /dev/null +++ b/tests/xspice/digital/d_ram.cir @@ -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 diff --git a/tests/xspice/digital/d_ram.out b/tests/xspice/digital/d_ram.out new file mode 100644 index 000000000..07ee28f08 --- /dev/null +++ b/tests/xspice/digital/d_ram.out @@ -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 + + diff --git a/tests/xspice/digital/d_source-stimulus.txt b/tests/xspice/digital/d_source-stimulus.txt new file mode 100644 index 000000000..7f0d5d6ac --- /dev/null +++ b/tests/xspice/digital/d_source-stimulus.txt @@ -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 diff --git a/tests/xspice/digital/d_source.cir b/tests/xspice/digital/d_source.cir new file mode 100644 index 000000000..83cc8b56e --- /dev/null +++ b/tests/xspice/digital/d_source.cir @@ -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 diff --git a/tests/xspice/digital/d_source.out b/tests/xspice/digital/d_source.out new file mode 100644 index 000000000..f45d5da25 --- /dev/null +++ b/tests/xspice/digital/d_source.out @@ -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 + + diff --git a/tests/xspice/digital/d_state-stimulus.txt b/tests/xspice/digital/d_state-stimulus.txt new file mode 100644 index 000000000..92b493c19 --- /dev/null +++ b/tests/xspice/digital/d_state-stimulus.txt @@ -0,0 +1,4 @@ +* time, enable, reset, up +0 0s 1s 1s +1n 1s 0s 1s +9n 1s 0s 0s diff --git a/tests/xspice/digital/d_state-updn.txt b/tests/xspice/digital/d_state-updn.txt new file mode 100644 index 000000000..085159e73 --- /dev/null +++ b/tests/xspice/digital/d_state-updn.txt @@ -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 diff --git a/tests/xspice/digital/d_state.cir b/tests/xspice/digital/d_state.cir new file mode 100644 index 000000000..facc86505 --- /dev/null +++ b/tests/xspice/digital/d_state.cir @@ -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 + + + + + + diff --git a/tests/xspice/digital/d_state.out b/tests/xspice/digital/d_state.out new file mode 100644 index 000000000..3b49176bb --- /dev/null +++ b/tests/xspice/digital/d_state.out @@ -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 + + diff --git a/tests/xspice/digital/spinit.in b/tests/xspice/digital/spinit.in new file mode 100644 index 000000000..46ddecd36 --- /dev/null +++ b/tests/xspice/digital/spinit.in @@ -0,0 +1 @@ +codemodel @top_builddir@/src/xspice/icm/digital/digital.cm