Commit Graph

444 Commits

Author SHA1 Message Date
Giles Atkinson e658a0942b Try to clarify the mechanism of parameter substitution and add
an example of substituting an XSPICE vector parameter.
2024-10-08 13:02:06 +02:00
Holger Vogt 9f57f00058 Old deprecated ADMS examples removed. 2024-09-03 11:03:11 +02:00
Giles Atkinson 1244f4dc1f Add additional examples of Verilog co-simulation and share the Verilog
source and large parts of the example circuits between Verilator and
Icarus Verilog.  Verilog source file adc.v has improved style:
all assignments in the always block are now non-blocking.
2024-07-25 21:33:32 +02:00
Holger Vogt 6a396b37f7 File encoding is now UTF-8
change to letter µ
2024-07-16 10:21:36 +02:00
dwarning 2c7f1e471b vbic: rm obsolete regression test 2024-05-01 10:34:01 +02:00
Holger Vogt bfb7798f97 measure example with expression evaluation 2024-03-29 17:12:40 +01:00
Holger Vogt 03a1010a65 Repeat loop requires plain number, transformed vector, or transformed variable 2024-03-19 17:05:10 +01:00
Holger Vogt 92b3a901c7 The values used in the foreach loop my be given by a vector
(in addition to plain numbers or a list variable).
2024-03-19 16:41:27 +01:00
Holger Vogt d92569742f Add a transformer with parameters on the .subckt line 2024-01-24 10:11:44 +01:00
Holger Vogt fb76eb5e12 Example for V/I sources, SFFM and AM 2024-01-08 13:24:01 +01:00
Holger Vogt c46866d688 Fix some typos.
Thanks to Brian for checking.
2023-12-18 20:13:06 +01:00
Holger Vogt c69018fe82 Enable measurements with ?-sweep (v, i, temp, or res).
Improve error messages.
Prevent crash is compüdata is not available.
Add to examples for measure failures.
2023-12-09 15:43:15 +01:00
Brian Taylor 1adee64224 Add scripts for running the paranoia tests in parallel on Linux with valgrind. 2023-12-04 15:12:15 +01:00
Giles Atkinson c18447f9f5 Add the support files for co-simulation with Verilog code
compiled by Verilator.  Also add script files to Visual Studio builds
that are already installed by the Makefile builds.
2023-11-27 20:55:59 +00:00
Giles Atkinson f6f7319792 Add null-pointer checks to some code that crashed when trying
to .print results from a non-existent analysis.  Also remove the
troublesome .plot and .print lines from two examples.
2023-11-09 12:07:31 +00:00
Pascal Kuthe 826cddb483 add examples for OSDI noise 2023-11-04 19:36:30 +01:00
Pascal Kuthe f66e0bf2ac implement osdi noise support 2023-11-04 19:36:30 +01:00
Brian Taylor 864ef7925c Add notes on the structure and organization of an external d_process program. 2023-10-28 19:43:50 +02:00
Brian Taylor 5c6b9f03b5 Fix the zero count. 2023-10-28 19:43:41 +02:00
Brian Taylor 1f5f7ae439 Update d_process examples. 2023-10-28 19:43:36 +02:00
Brian Taylor 09f070f582 Error handling improvements in cfunc.mod. Ensure that d_process.h wiil always respond to version and interface checks sent from sendheader. This is needed so that the pipe reads in sendheader do not cause Windows to hang when the interface version and in/out counts do not match. This hang was the cause of errors not being reported and the Windows gui hanging. Startup and header checks are now detected in cm_d_process, and the simulator will run but with runtime errors since a d_process model cannot be completely instantiated after initial errors. It would be good to find a means of gracefully halting the simulation run. 2023-10-28 11:00:33 +02:00
Brian Taylor 4530cde8e2 Use Xspice cm_message_send to report errors rathen than printing to stderr and calling exit. When a d_process model has errors found in start(), sendheader(), and dprocess_exchangedata() these are reported, but if the model is run a SIGINT is raised. There must be a better way of stopping the simulator. 2023-10-28 11:00:18 +02:00
Brian Taylor 182764a894 Add examples/xspice/d_process. 2023-10-28 11:00:12 +02:00
Holger Vogt 046be0cdc8 Use the PSP103 model pspnqs103va (including nqs option)
as this is the standard in the IHP Open PDK.
2023-10-27 23:25:42 +02:00
Holger Vogt 4b226bf11c add output for all noise sources 2023-10-11 09:52:44 +02:00
Holger Vogt 77c4cb5452 new bipolar noise example 2023-10-11 09:52:10 +02:00
Holger Vogt f2247a3c6f Use sparse, as KLU will fail. 2023-09-10 13:43:09 +02:00
Holger Vogt 716bb0a6bc Add plot for inverter gain 2023-08-30 14:23:25 +02:00
Holger Vogt 161ace44da Restore the original model parameters.
Add information on its source.
2023-08-28 12:11:20 +02:00
Francesco Lannutti b08eb2266a Added initial KLU support for node collapsing 2023-08-16 11:14:24 +02:00
Francesco Lannutti bb90374402 Added missing ISCAS85 libraries 2023-08-16 11:14:18 +02:00
Francesco Lannutti ba4e530ec0 KLU Integration from scratch #1, examples/klu/Circuits 2023-08-16 11:14:09 +02:00
Holger Vogt f60766a1fa Transformer examples, (three different methods)
Single primary and secondary windings

More to come (multiple ports, core saturation)
2023-08-11 11:38:52 +02:00
dwarning 4f22726c87 better low Ic range covering 2023-08-11 11:38:09 +02:00
dwarning 5704790cc2 no need for extra run 2023-08-11 11:37:37 +02:00
Holger Vogt 8bd3c87be1 better visibility 2023-07-31 14:30:37 +02:00
Giles Atkinson 5fe236290f Add example of reading S-parameters from a Touchstone file. 2023-07-31 14:30:02 +02:00
Giles Atkinson f632da5f7f Add a comment to say that LT/PSPICE compatability is needed. 2023-07-31 14:29:50 +02:00
Brian Taylor 68f1015075 Example for 7490a Pspice subckt. This exercises jkff, logicexp, and pindly conversions to XSPICE. 2023-07-31 14:27:59 +02:00
Giles Atkinson 576f218945 Fix the NAND and NOR variants of XSPICE code model multi_input_pwl
and add an example of its use with the E-source NAND variant.
2023-07-31 14:25:40 +02:00
Brian Taylor 51b361bbf0 When Cider models are present, a normal batch mode sp_shutdown (for example, ngspice -b cmosinv.cir) will call com_quit(NULL). This cleans up so that valgrind will find no leaks in Cider devices after sp_shutdown. To disable this feature, set the environment variable CIDER_COM_QUIT="OFF". Even though it really does not matter that Cider memory is cleared just before exit, it makes it cleaner for valgrind checks. 2023-07-15 11:32:37 +02:00
Giles Atkinson 5114d6c2f4 Add an option to the iplot command: -d sets the number of simulation
steps before the window is shown.  The value can be chosen to
limit rapid resizing when starting and that is used in the PLL examples.
2023-07-15 11:29:32 +02:00
Giles Atkinson d31568bd83 Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
2023-07-15 11:15:08 +02:00
Holger Vogt 585f13bd4a Better visibility of the results 2023-07-15 11:11:48 +02:00
Holger Vogt c7bb12d9d0 More info 2023-05-27 10:49:32 +02:00
Holger Vogt 5c8af9770b Add rusage to measure simulation time. 2023-05-27 10:48:07 +02:00
Holger Vogt 2685df1b05 Add vto model parameter (the default has changed!), add .ic
to ease op and immediately start oscillation.
2023-05-27 10:47:43 +02:00
Holger Vogt a48cc44c7f Example input file for 'iplot -w' option 2023-05-27 10:46:55 +02:00
dwarning a48b36ffc5 more realistic self-heating example 2023-05-27 10:39:55 +02:00
Brian Taylor 14a403e193 Use ~ on the input of a tristate buffer for INV3, and avoid creating an extra inverter. For ff/latch use ~ on set/reset and jkff clock inputs to avoid creating extra inverters. 2023-05-27 10:38:40 +02:00