Commit Graph

8111 Commits

Author SHA1 Message Date
Pascal Kuthe d0bd945c00 slightly optimize predictor 2022-12-27 14:11:07 +01:00
Pascal Kuthe 477ce85e29 compile with -std=gnu11 instead of -std=c11 2022-12-27 14:10:48 +01:00
Pascal Kuthe 5791a2d449 ensure config.h is always included in cktdefs.h to ensure correct
type signature
2022-12-27 14:10:16 +01:00
Pascal Kuthe a7fced9327 ensure compilation succedes without OSDI 2022-12-27 14:09:52 +01:00
Pascal Kuthe 79b2d2d520 removed unneded changes 2022-12-27 14:09:22 +01:00
Pascal Kuthe 391959ab4a remove OSDI specific test_cases 2022-12-27 14:09:04 +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
Pascal Kuthe e690f0a6ff add predictor to compile_min 2022-12-27 14:07:52 +01:00
Holger Vogt f1636cac74 No longer needed, replaced by vngspice.vcxproj 2022-12-27 14:07:30 +01:00
Holger Vogt d96bb56d3a Linear area transfer curves 2022-12-27 14:07:03 +01:00
Holger Vogt cb52ea2a9c Replace A dvice by N device 2022-12-27 14:06:46 +01:00
Holger Vogt 047d6f1c0b BSIMCMG preliminary test cases 2022-12-27 14:06:25 +01:00
Holger Vogt 97fb48f4d2 Update to device lib: device name starts with N 2022-12-27 14:06:05 +01:00
Holger Vogt 4b03f664b3 Remove preprocessor flag XSPICE from MS project file, add it to config.h
instead.
Add OSDI-specific files to project.
2022-12-27 14:05:48 +01:00
Holger Vogt 6c741152f7 Revert "remove unused"
This reverts commit cc2707cfdb.
2022-12-27 14:05:22 +01:00
Holger Vogt a4d13dae24 Suppress model type warning when device is of type N. 2022-12-27 14:04:56 +01:00
Holger Vogt a732faf640 device name now starts with N (instead of A). 2022-12-27 14:04:34 +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 8f0eab90ee Replace 'a' by 'n' for OSDI device 2022-12-27 14:03:39 +01:00
Holger Vogt e6265a3eed 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-27 14:03:18 +01:00
Holger Vogt c6b7e55a3f Move XSPICE preprocessor flag from vcxproj file to config.h 2022-12-27 14:02:51 +01:00
Holger Vogt 5a7a770402 enable OSDI 2022-12-27 14:02:18 +01:00
Holger Vogt 7c3191e1e3 (non-working) PSP102 examples 2022-12-27 14:02:00 +01:00
Holger Vogt a9cb0fd26e New and updated test cases 2022-12-27 14:00:28 +01:00
Holger Vogt dd6ab0a8bb Do not add to monitored files 2022-12-27 14:00:02 +01:00
Holger Vogt a95b114768 Revert previous commit: now treat a devices like ordinary devices. 2022-12-27 13:59:42 +01:00
Holger Vogt d8eb685fcc Preliminary fix to get_number_terminals:
check for tokens with '=' to stop and get number of nodes by
stepping back.
2022-12-27 13:59:20 +01:00
Holger Vogt f58ae56193 Visual Studio 2022 project files,
replacing the original project files.
2022-12-27 13:57:54 +01:00
Holger Vogt 6ece9b5748 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-27 13:57:20 +01:00
Holger Vogt 638ddbc91f 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-27 13:56:50 +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
Holger Vogt c6f8e999df undefine XSPICE, define OSDI 2022-12-27 13:54:53 +01:00
Holger Vogt 0628b89fd4 remove unused 2022-12-27 13:54:21 +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
Holger Vogt d7bdfe1a20 Re-add optional selection of Berkeley model parameters. 2022-12-19 12:43:55 +01:00
h_vogt 5ec6543dbb Add log plots
Add sim vs. Temp.
Add y-labels
2022-12-19 12:43:27 +01:00
Brian Taylor 0805856fb7 Distinguish between set/reset delays when possible. 2022-12-19 12:43:00 +01:00
Brian Taylor 253df17949 Make it optional to use zl/zh/lz/hz delays for utgate. 2022-12-19 12:42:36 +01:00
Brian Taylor 4c457a3cd4 Avoid unnecessary calculations for utgate. 2022-12-19 12:42:06 +01:00
Brian Taylor a4b609fb6a For utgate timing models, if hl/lh are not present use zl/zh/lz/hz to give a more accurate tristate delay. 2022-12-19 12:41:18 +01:00
Brian Taylor 021982799e More conservative delay estimates for timing model type ugff. 2022-12-19 12:40:50 +01:00
Brian Taylor 11f6eace68 For dff/jkff, obtain more conservative estimates for clk_delay, set_delay and reset_delay. 2022-12-19 12:40:06 +01:00
Holger Vogt cc8b651562 re-enable making old app nutmeg 2022-12-11 15:47:22 +01:00
Holger Vogt d4fcef9bf6 Repair the broken --enable-oldapps option 2022-12-11 15:47:05 +01:00
Holger Vogt 8d9f69f7bf Add --enable-shortcheck as configure option 2022-12-11 15:46:27 +01:00
Holger Vogt e28d3feee0 Remove unused variable debarr.
Add another example.
2022-12-11 15:39:10 +01:00