Go to file
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
examples Re-add optional selection of Berkeley model parameters. 2022-12-19 12:43:55 +01:00
m4 avoid bison dependency `version >= 2.7' 2016-07-09 20:58:17 +02:00
man cmpp is no longer distributed 2021-02-21 16:49:09 +01:00
src prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
test_cases prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
tests Add configure flag --enable-shortcheck to enable a shortened make check 2022-10-07 13:00:30 +02:00
visualc Add logicexp.c to fftw and shared project files 2022-12-11 15:21:30 +01:00
.gitattributes .gitattributes, do not modify crlf line endings of visual studio proj files 2015-10-16 20:35:07 +02:00
.gitignore prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
ANALYSES Prepare ngspice-37 2022-05-11 13:38:21 +02:00
AUTHORS prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
BUGS whitespace 2014-01-11 16:24:34 +01:00
COPYING prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
ChangeLog correct typos found by linthian 2019-09-28 12:24:09 +02:00
DEVICES Updates to prepare ngspice-38 2022-10-23 15:23:49 +02:00
Dockerfile prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
FAQ Updates to prepare ngspice-38 2022-10-23 15:23:49 +02:00
INSTALL Add --enable-shortcheck as configure option 2022-12-11 15:46:27 +01:00
INTERNALS Short description of the ngspice code organization. 2022-10-14 13:52:01 +02:00
Makefile.am Fix previous commit 2022-10-25 16:52:39 +02:00
NEWS Update to NEWS 2022-10-22 15:51:40 +02:00
README Updates to prepare ngspice-38 2022-10-23 15:23:49 +02:00
README-old.adms Update on the ADMS README 2018-05-27 12:40:54 +02:00
README.adms Prepare ngspice-30 2018-12-23 13:43:08 +01:00
README.cpl-gc New readme for this branch 2021-10-30 10:39:51 +02:00
README.optran README.optran: optran is now standard. 2021-10-29 16:39:01 +02:00
README.shared-xspice update to ngGet_Vec_Info() 2018-05-19 16:52:50 +02:00
README.tcl prepare ngspice-27 2017-08-23 23:48:28 +02:00
README.utf8 Add readme.utf8 to the distributed files 2021-08-08 12:05:40 +02:00
README.vdmos update to actual status, parameter list added 2018-05-04 20:35:13 +02:00
README_OSDI.md prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
Stuarts_Poly_Notes ngspice-26: update documentation 2014-01-11 16:24:37 +01:00
autogen.sh Updated links 2021-10-29 16:32:34 +02:00
build-for-mac-os.sh 'make clean' added 2020-05-05 20:55:22 +02:00
compile_cyg_make_short_check_64.sh Example for configuring with --enable-shortcheck 2022-10-25 16:42:09 +02:00
compile_linux.sh prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
compile_linux_shared.sh Make Mac and Linux build scripts executable. 2022-04-26 10:32:32 +02:00
compile_macos_clang.sh Make Mac and Linux build scripts executable. 2022-04-26 10:32:32 +02:00
compile_macos_gcc.sh Make Mac and Linux build scripts executable. 2022-04-26 10:32:32 +02:00
compile_macos_shared.sh Make Mac and Linux build scripts executable. 2022-04-26 10:32:32 +02:00
compile_min.sh Make SP (S-parameter) standrad during compile. 2022-04-26 10:33:49 +02:00
compile_min_shared.sh only 64 bit release and debug 2020-05-04 17:18:32 +02:00
configure.ac prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00
cross-compile-shared.sh cross-compile-shared.sh, fix commit, chmod a+x 2015-12-15 21:51:15 +01:00
cross-compile.sh cross-compile*.sh, mention required debian packages 2015-12-15 20:42:57 +01:00
ngspice.pc.in Add pkg-config file 2018-05-19 20:54:27 +02:00
test_docker.sh prototype for Verilog-A integration using OSDI and OpenVAF 2022-12-27 13:51:57 +01:00

README

README for NGSPICE
==================

Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice.

Spice3 does not need any introduction, is the most popular circuit
simulator. In over 30 years of its life Spice3 has become a de-facto
standard for simulating circuits.

Cider couples Spice3f5 circuit level simulator to a device simulator
to provide greater simulation accuracy of critical devices. So you may
create device models for diodes, bipolar, JFet and MOSFETs derived 
from their cross-sectional structures and materials.

Xspice is an extension to Spice3C1 that provides code modelling support
and simulation of digital components through an embedded event driven
algorithm.

Ngspice is, anyway, much more than the simple sum of the packages
above, as many people contributed to the project with their experience,
their bug fixes and their improvements. If you are interested, browse
the site and discover what ngspice offers and what needs. If you think
you can help, join the development team.

Ngspice is an ongoing project, growing everyday from users contributions,
suggestions and reports. What we will be able to do depends mostly on
user interests, contributions and feedback.



USER DISCUSSION FORUMS:
-----------------------

 For discussions on ngspice, there are five discussion forums, to be
 found at https://sourceforge.net/p/ngspice/discussion/. These
 typically provide quick answers to any question concerning ngspice.
 A new section on 'tips and examples' assembles useful tips provided
 by maintainers and users.



MAILING LISTS:
-------------

 There are two mailing lists dedicated to the use and development of ngspice.

 * ngspice-users@lists.sourceforge.net:
   This list is the list for the users of the ngspice simulator.

 * ngspice-devel@lists.sourceforge.net:
   ngspice development issues. Developers and "want to be" developers should
   subscribe here.

 To subscribe the list(s), send a message to:
   <ngspice-users-subscribe@lists.sourceforge.net>
   <ngspice-devel-subscribe@lists.sourceforge.net>



WEB SITEs:
--------

This project is hosted on Sourceforge.net.
The home page is https://ngspice.sourceforge.io
The page offering source code, MS Windows executables, and user interaction is
https://sourceforge.net/projects/ngspice