Commit Graph

24 Commits

Author SHA1 Message Date
Markus Mueller 0caf1aa815 (fix) CALC_OP during transient analysis in OSDI interface 2023-03-18 14:34:37 +01:00
Holger Vogt f83c89cce7 When path is NULL, we don't need to free it. 2023-03-18 14:33:59 +01:00
Markus Mueller bd30bd4e85 fix memory leak more rigorously 2023-03-18 14:33:44 +01:00
Markus Mueller d495333578 fix small memory leak in OSDI interface 2023-03-18 14:33:34 +01:00
dwarning 7ca305804d ret variable only used for openMP enabled 2023-03-18 14:31:17 +01:00
dwarning f73d3b20a0 implement typedpnjlim as optional limiter for verilog-a models 2023-02-03 12:57:53 +01:00
Pascal Kuthe 8063e56fdf osdi: fix sigfault when using aliasparam 2023-02-03 12:07:11 +01:00
Holger Vogt 26cf1a7a57 max_align_t is used to examine the largest alignment requirement,
and it is expected to check the alignment value via alignof, not sizeof.

Otherwise, __attribute__((aligned)) can complain as required alignment
being invalid, e.g. on s390x.

Patch provided by Mamoru Tasaka, Fedora
2023-02-01 13:10:53 +01:00
holger b3676bb763 enable make dist 2023-01-30 13:09:15 +01:00
Holger Vogt 167c708e69 Add searchpath for *.osdi relative to ngspice executable 2023-01-27 16:10:28 +01:00
Holger Vogt be6bd990db Error message to stderr 2023-01-27 16:09:19 +01:00
Pascal Kuthe d0c35512ab properly abort for invalid OSDI paramters 2023-01-23 12:04:10 +01:00
Holger Vogt 653db022ea better comment 2023-01-20 15:08:26 +01:00
Holger Vogt 3260492987 Enhance the search path for osdi files: when not found rel. to
inputdir, search rel. to current working directory.
2023-01-20 15:08:14 +01:00
Francesco Lannutti 167ff74422 enable compiling without XSPICE on specific OSs 2023-01-09 16:32:54 +01:00
Francesco Lannutti 036775efa5 OSDI: fix const declaration, unused variables 2023-01-09 16:32:30 +01:00
Pascal Kuthe b285fa6e1c fix opvar readout 2022-12-27 14:08:46 +01:00
Pascal Kuthe 06229c2a46 fix typos 2022-12-27 14:08:26 +01:00
Pascal Kuthe 3be143423a add openmp support for osdi 2022-12-27 14:08:08 +01:00
Holger Vogt 771155e463 Prevent double definition error when both OSDI and XSPICE are enabled. 2022-12-27 14:04:09 +01:00
Holger Vogt f75e970ecf Initialze sim_param_vals 2022-12-27 13:56:24 +01:00
Holger Vogt 77a86647f7 remove __attribute__, replace by __declspec 2022-12-27 13:55:53 +01:00
Holger Vogt 6e08bb3090 Add include file shlwapi.h 2022-12-27 13:55:18 +01:00
Pascal Kuthe acfaf023b3 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-27 13:51:57 +01:00