Commit Graph

8096 Commits

Author SHA1 Message Date
Pascal Kuthe dba2ef2b0f
add predictor to compile_min 2022-12-08 14:11:29 +01:00
Holger Vogt 6e9b58c43e
No longer needed, replaced by vngspice.vcxproj 2022-12-08 14:11:28 +01:00
Holger Vogt 4dcdc0bc8b
Linear area transfer curves 2022-12-08 14:11:28 +01:00
Holger Vogt 091a649d54
Replace A dvice by N device 2022-12-08 14:11:27 +01:00
Holger Vogt 36f01d14c3
BSIMCMG preliminary test cases 2022-12-08 14:11:26 +01:00
Holger Vogt 541d0806ca
Update to device lib: device name starts with N 2022-12-08 14:11:25 +01:00
Holger Vogt 2427428a27
Remove preprocessor flag XSPICE from MS project file, add it to config.h
instead.
Add OSDI-specific files to project.
2022-12-08 14:11:24 +01:00
Holger Vogt 0a26f72f67
Revert "remove unused"
This reverts commit cc2707cfdb.
2022-12-08 14:11:24 +01:00
Holger Vogt 8900ecfc27
Suppress model type warning when device is of type N. 2022-12-08 14:11:23 +01:00
Holger Vogt 93ca8c5ffe
device name now starts with N (instead of A). 2022-12-08 14:11:22 +01:00
Holger Vogt ba3e5c7c2b
Prevent double definition error when both OSDI and XSPICE are enabled. 2022-12-08 14:11:21 +01:00
Holger Vogt b2e875d426
Replace 'a' by 'n' for OSDI device 2022-12-08 14:11:20 +01:00
Holger Vogt b35a474443
Move reference designator from A to N
replace inp2n by a copy of inp2a
OSDI is now called in case N: in inppas2
2022-12-08 14:11:20 +01:00
Holger Vogt f6bef481e1
Move XSPICE preprocessor flag from vcxproj file to config.h 2022-12-08 14:11:19 +01:00
Holger Vogt 1929a6af71
enable OSDI 2022-12-08 14:11:18 +01:00
Holger Vogt 4b6e228733
(non-working) PSP102 examples 2022-12-08 14:11:17 +01:00
Holger Vogt 7d05a63419
New and updated test cases 2022-12-08 14:11:17 +01:00
Holger Vogt 6646963a16
Do not add to monitored files 2022-12-08 14:11:16 +01:00
Holger Vogt 0e754309fc
Revert previous commit: now treat a devices like ordinary devices. 2022-12-08 14:11:15 +01:00
Holger Vogt 8ed6f6a8af
Preliminary fix to get_number_terminals:
check for tokens with '=' to stop and get number of nodes by
stepping back.
2022-12-08 14:11:14 +01:00
Holger Vogt 19f395fd3f
Visual Studio 2022 project files,
replacing the original project files.
2022-12-08 14:11:13 +01:00
Holger Vogt 6a96b9e0a5
Exclude XSPICE specific error message.
Don't call fcn get_adevice_model_name().

Return a fixed value (5) for number of nodes:
This is wrong. It has to be replaced by a safe
method to figure out the number of terminals for
varying Verilog-A device models.
2022-12-08 14:11:13 +01:00
Holger Vogt 1c3e9370ed
Add case 'a' to fcn translate.
This is a hack, to be removed/altered when switching to
reference designator N instead of A.
2022-12-08 14:11:12 +01:00
Holger Vogt 93461146cc
Initialze sim_param_vals 2022-12-08 14:11:11 +01:00
Holger Vogt aa8c8c58b0
remove __attribute__, replace by __declspec 2022-12-08 14:11:10 +01:00
Holger Vogt 3432d330b9
Add include file shlwapi.h 2022-12-08 14:11:09 +01:00
Holger Vogt 36538c6bb5
undefine XSPICE, define OSDI 2022-12-08 14:11:08 +01:00
Holger Vogt 3a54279e84
remove unused 2022-12-08 14:11:08 +01:00
Pascal Kuthe f79456602e
prototype for Verilog-A integration using OSDI and OpenVAF
This initial prototype is capable of performing DC, transient and AC
analysis. Not all features of OSDI are supported yet and there are still
some open questions regarding ngspice integration. However many usecase
already work very well and a large amount of CMC models are supported.
The biggest missing feature right now is noise analysis.

test: test case for diode DC working with SH

test: add transient analysis to osdi_diode test

test: added docu text to osdi_diode test

test: added test case directories

fix: bug in osdi_load

test: small change to netlist

fix: implement DEVunsetup

fix: correct behaviour for MODEINITSMSIG

test: osdi diode enable all analysis modes

removed netlist

ignoring test results

added the build of the diode shared object to the python test script

deleting old stuff and always rebuilding the shared object

added diode_va.c to the repo

preparing CI

Create .gitlab-ci.yml file

(testing) add res, cap and multiple devices test

feat: use osdi command to load files

Previously OSDI shared object files were loaded from fixed directories.
This was unreliable, inconvenient and caused conflicts with XSPICE.

This commit remove the old loading mechanism and instead introduces the
`osdi` command that can load (a list of) osdi object files (like the
codemodel command for XSPICE). A typical usecase will use this as a
precommand in the netlist:

.control
pre_osdi foo.osdi
.endc

If the specified file is a relative path it is first resolved relative
to the parent directory of the netlist. If the osdi command is invoked
from the interactive prompt the file is resolved relative to the current
working directory instead.

This commit also moves osdi from the devices folder to the root src
folder like xspice. This better reflects the role of the code as users
may otherthwise (mistakenly) assume that osdi is just another
handwritten model.

test: update tests to new command

fix: do not ignore first parameter

feat: implement log message callback

fix: don't generate ddt matrix/rhs in DC sweep

fix: missing linker script

update to osdi 0.3

(testing) simplify test cases, fix bug

(testing) multiple devices test improvement

(testig) node collapsing bugfix

test: increase tolerance in tests

feat: update to newest OSDI header

fix: temperature update dt behaviour

fix: ignored models

fix: compilation script

fix: allow hicum/l2 to compile with older c++ compilers

fix: set required compiler flags for osdi

fix: disable x by default

fix: add missing SPICE functions

fix: update diode to latest ngspice version

feat: implement python CMC test runner

doc: Add README_OSDI.md

fix: make testing script work with python version before 3.9

fix: free of undefined local variable

fix: do not calculate time derivative during tran op

update osdi version

fixes for compilation on windows
2022-12-08 14:11:02 +01:00
Holger Vogt d2833ac133 re-enable making old app nutmeg 2022-12-08 09:26:15 +01:00
Holger Vogt 23f72dd75c Repair the broken --enable-oldapps option 2022-12-07 14:35:11 +01:00
Holger Vogt 622e7e1793 Fix previous commit 2022-12-04 11:12:54 +01:00
Holger Vogt 9d61bfdb7f Example for configuring with --enable-shortcheck 2022-12-04 11:12:26 +01:00
Holger Vogt 1a83190d58 Add --enable-shortcheck as configure option 2022-12-04 11:12:03 +01:00
Holger Vogt 79f362980b Add compile_cyg_make_short_check_64.sh as an example for --enable-shortcheck 2022-12-04 11:11:21 +01:00
Holger Vogt 1b121307c8 Remove unused variable debarr.
Add another example.
2022-12-04 10:41:22 +01:00
Holger Vogt 2b412cf470 derivative inside of .func 2022-12-04 10:41:17 +01:00
Holger Vogt 288d60b8cb simple example for derivative in B source 2022-12-04 10:41:11 +01:00
Holger Vogt c8ba722117 Add a function ddt (derivative versus time) to the B-source funtion parser. 2022-12-04 10:41:06 +01:00
Brian Taylor 5238d6f18a Rewrite extract_model_param. 2022-12-04 10:39:47 +01:00
Brian Taylor a317639d23 Modify the delay calculation for non-conforming timing model in .subckt CD4572UB. 2022-12-04 10:39:40 +01:00
Holger Vogt ec0807bafd For monotonic plotting find out the majority of increasing or decreasing
x-axis values, add a warning to add 'retraceplot' to plot all if more than
10% of the values deviate from the majority.
2022-12-04 10:35:44 +01:00
Holger Vogt 91a5ceb722 add linewidth for graphs 2022-12-04 10:32:59 +01:00
Holger Vogt b5d0ed4590 tiny update, typos, font size 2022-12-04 10:32:32 +01:00
Holger Vogt 012ec72b0d Prevent seg fault after strange input like
*no circuit
.save all
.probe alli
.op
.end
2022-12-01 23:17:11 +01:00
Pascal Kuthe 098ec89294 fix sigfault on older c compilers 2022-11-29 13:28:32 +01:00
Giles Atkinson 48b51907fa Prevent crash when cm_analog_set_temp_bkpt() is called during OPtran(). 2022-11-28 22:34:30 +01:00
Giles Atkinson b124749122 Fix warnings from gcc 10.2.1. 2022-11-28 22:34:23 +01:00
Brian Taylor 1a69765685 Added xor/xnor for logicexp timing models. 2022-11-28 22:33:05 +01:00
Brian Taylor 44c69f5bf5 Handle cases where logicexp has a timing model but no pindly. This is rare, only 22 tests from the digital libraries. Move digital examples, add missing .spiceint file. 2022-11-28 22:33:00 +01:00