summaryrefslogtreecommitdiffstatshomepage
path: root/nl_examples
Commit message (Collapse)AuthorAgeFilesLines
* netlist: Timing bug fix. Affects regression tests. [Couriersud] couriersud2019-03-291-0/+63
| | | | | | This fixes a rounding issue in the ptime code. This bug surfaced when I tested netlist with picosecond resolution in ptime. This will have a small impact on every driver using netlist. For breakout, it required to adjust the color overlay.
* netlist: Improved MOS transistor model. [Couriersud] couriersud2019-03-291-4/+6
| | | | | | | | | This is a significant improvement to the MOS transistor model. It adds modelling of the Meyer capacitance model. This is a somewhat academic addition since the effects occur on a nanosecond time scale and have a huge impact on performance. I plan to make the capacitance model selectable. Both on a model level as well as by introducing a global solver parameter. The model delivers comparable results to LTSpice.
* (nw) Clean up the mess on master Vas Crabb2019-03-263-0/+195
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-253-195/+0
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: add MOSFET model. [Couriersud] couriersud2019-03-252-0/+94
| | | | | | | | | | | | | | | | | | | - added MOSFET model. Currently capacitances are not modelled. This is a 3-pin model (Bulk connected to Source) with provisions to extend it to 4-pin at a later stage. - Add a capacitor generic model which is charge conserving. Switch netlist to use this model instead of constant capacity model. - Start putting constants into a central place. Please expect minor timing differences due to a different numerical path. The cmos inverter example illustrates the analog implementation of a cmos inverter gate. These were used a lot back in the 70s/80s to generate sinus waves. The model should also be able to better emulate 4066 analog switches. The addition of a relatively simple capacitor model is planned at a later stage. Expect everything from the MOSFET model at the current stage. Wrong results as well as convergence issues and crashes.
* netlist: Added B-E and B-C capacitance to EB model. [Couriersud] couriersud2019-03-171-1/+1
| | | | | Despite the overhead - two devices more per transistor - this addition significantly reduces computing time on switching conditions by reducing the needed Newton-Raphson loops dramatically.
* netlist: Add UJT example for 2N6027. couriersud2019-03-171-0/+101
|
* Doxygen work. How the heck can one enforce a consistent device couriersud2017-02-051-0/+8
| | | documentation? (nw)
* Some documentation work. couriersud2017-02-051-0/+3
| | | | Along the way, set default models for devices missing them. Fix standalone makefile to work in mingw environment. (nw)
* Fixed a number of issues: couriersud2017-01-311-3/+10
| | | | | | | | | | - Fixed crashes on terminals without nets (i.e. connected to a rail) - Reviewed "FIXMEs" and corrected some minor ones. - Made m_cur_analog protected. - Fixed pmf delegates to work with msvc. - More optimizations to the solver code. - Started work on a better signal pipeline in nlwav - Only generate documentation for entities which are documented. [Couriersud]
* Added infix notation parsing to the function parser. (nw) couriersud2017-01-251-1/+1
|
* Fix seldom used conditional build options. couriersud2017-01-121-0/+1
| | | | | | | | - Fixed OPENMP compile For congo bongo, using Solver.PARALLEL=1 significantly increases performance from 270% to 380%. However, this has to be taken with a grain of salt. Enabling this on predominantly logic netlists can severly kill performance. - Increased readability of timed queue code.
* Fix timing issue in CD4538. Add "pow" (power) to the function model. couriersud2017-01-122-89/+93
| | | Minor documentation updates. Slight improvement of gorilla sound. (nw)
* - setup_t is owned by netlist_t. Stop being complicated. couriersud2017-01-121-1/+1
| | | | | | - Remove gnd() method. - Further simplification. - Fix potential reset and initialization issues. (nw)
* Rename misleading solver parameters. (nw) couriersud2017-01-084-11/+11
|
* Remove parameter GS_THRESHOLD. It is now outdated. (nw) couriersud2017-01-084-4/+0
|
* Work on congo bongo. (nw) couriersud2017-01-061-10/+30
|
* Update to input definition file. (nw) couriersud2017-01-041-13/+11
| | | | | | | | | | | | | | | | Create congo bongo sounds with ./nltool -c run -t 10 -i nl_examples/congo_bongo.csv -f nl_examples/congo_bongo.c -l RO.1 and convert to wav with ./nlwav -i log_RO.1.log -o t.wav Sounds played are: GORILLA, BASS_DRUM,CONGA_H, CONGA_L, RIM0 and again GORILLA.
* Fix bug in 74123. (nw) couriersud2016-12-271-3/+3
|
* Add some files to nl_examples. (nw) couriersud2016-12-244-0/+221
|
* Netlist improvements: couriersud2016-07-011-4/+13
| | | | | | | | | | | | | | | | | | | - nltool now accepts -Ddefine=value to pass on to netlists - improved option handling and added "dummy" options to add grouping and examples in help output. - improved --cmd=listdevices output - Fix dynamic timestepping. This will work with breakout using real capacitor modelling instead of delay devices. Really slow, but very useful to calibrate timings. - Fix an awful bug in timing for delay devices. - Switched to clang 3.8 and made code compile with -Weverything -Werror -Wno-old-style-cast -Wno-padded -Wno-weak-vtables -Wno-missing-variable-declarations -Wno-conversion -Wno-c++98-compat -Wno-float-equal -Wno-cast-align -Wno-global-constructors -Wno-c++98-compat-pedantic -Wno-exit-time-destructors -Wno-format-nonliteral -Wno-weak-template-vtables This was a helpful exercise since it brought forward some serious issues with implicit constructors. [Couriersud]
* - More code cleanup. couriersud2016-06-071-0/+11
| | | | | | | | | | | | | | - Dead code removal and minor refactoring. - Simplify. Align naming with stl. Fix somed pedantic warnings. - More STL compatability. - Remove ATTR_HOT and ATTR_COLD. Refactored netlist_time. - Fix long standing workaround which would ignore policy of change-only" propagation. - Rewrote for loops to use auto : semantics. - Truthtable cleanup. (nw) - Get rid of nl_math. Remove nl_util.h and moved contents to plib/putil.h. - Fix standalone build. Refactor ptypes.h. [Couriersud]
* Implemented dynamic loading of precompiled solver code. [Couriersud] couriersud2016-04-231-2/+2
|
* Merge me later couriersud2016-04-181-2/+2
|
* Significant speed improvement: couriersud2016-04-151-1/+2
| | | | | | | | | | - added a new solver using compressed row format - fixed sorting As a result, netlist performance on kidniki nearly doubled. The performance increase is mainly due to the fact that sorting decreases the number of operations for gaussian elimination of the kidniki matrix from ~7800 to 707. In addition, compressed row format improves L1 usage. [Couriersud]
* Recover from creating solvers by copy paste. Move common code were it couriersud2016-04-151-1/+1
| | | | belongs. (nw)
* Moved solver members to proper place. Minor code changes. (nw) couriersud2016-04-151-2/+2
|
* Align with standalone-build. couriersud2016-04-091-1/+1
|
* Added m62(kidniki) to nl.lua. Started some experiments around parallel couriersud2016-04-081-3/+3
| | | | solving of linear equations. This code is not active. Fix kidniki audio performance. [Couriersud]
* Added woodbury solver to netlist. [Couriersud] couriersud2016-03-291-2/+2
|
* Added some notes about Sherman-Morrison. couriersud2016-03-281-2/+2
|
* Fix crash in stat output when no calculations were run couriersud2016-03-281-1/+2
|
* Fix pivoting and float usage. couriersud2016-03-281-0/+1
|
* netlist: couriersud2016-03-271-9/+14
| | | | | - more code optimization - hide matrix_solver_t implementation - use netlist_time for time deltas
* Fix kidniki sound speed. Make more class members private. couriersud2016-03-261-0/+1
|
* Netlist: code maintenance couriersud2016-03-231-11/+21
| | | | | | | | - rename netlist_analog_t to analog_t - straighten object model - reduce access to member variables - use pvector<analog_net_t::list_t> for groups. - simple coverity fixes.
* netlist updates: couriersud2016-03-141-2/+2
| | | | | | | | | | - First steps to move towards c++11. - Base plist on std::vector - Replace pstack with std::stack - Remove pnamed_list - use c++ "for each" in a number of places - Fixed two "time bombs" [couriersud]
* Add license to files that were not part of build or are containing data to ↵ Miodrag Milanovic2016-03-0521-3/+42
| | | | build sources for cpu emulation (nw)
* Increase performance from 53% to 69% for matrix size around 30x30. These couriersud2015-08-211-1/+1
| | | matrices are e.g. used in congo bongo without optimisation. (nw)
* Converted USE_PIVOT into runtime option PIVOT. Fixed some issues for couriersud2015-08-211-2/+5
| | | nl_double == float. (nw)
* utf8 support for pstring. Opted for a scalable solution which should be couriersud2015-08-101-1/+4
| | | | | easily extensible to utf16 and utf32 as well. All position related operations now operate on char code positions instead of byte positions. [Couriersud]
* Improve MB3614 parameters. Changed some opamps to type "idealized" (type couriersud2015-07-291-4/+17
| | | 1) in Congo Bongo netlist and got 50% speed improvement.
* Added a input control file for congo bongo netlist. couriersud2015-07-261-0/+15
| | | | | | | | | | | | | | | | | | | | | This file is a standard csv file specifing times and values of parameter modifications for specified devices. This file triggers the various sound inputs using a 10ms impulse. Use ./nltool -f nl_examples/congo_bongo.c -t 8 -l RO.1 -i nl_examples/congo_bongo.csv to create a netlist log file of the congo bongo mixer stage. Use ./nlwav -i netlist.log_RO.1.log -o tt.wav -a 17000 to create a wav file tt.wav from the log file using an amplification factor of 17000. [Couriersud]
* Added nlwav to tools. nlwav converts netlist logs into wav files. couriersud2015-07-261-3/+3
| | | | | | | | | Example usage: ./nlwav -i netlist.log_RO.1.log -o tt.wav ./nlwav -h [Couriersud]
* Consolidate the scattered model parsing code. Now models support couriersud2015-07-233-9/+11
| | | | recursive models,e.g. DIODE("1N914(IS=1e-15)"). Removed ".model" from model definitions. (nw)
* Changed case for parameter "model" to uppercase to align with rest of couriersud2015-07-201-2/+2
| | | code. (nw)
* Add macro library for opamp models. (nw) couriersud2015-07-161-47/+7
|
* Changed uppercase filenames to lowercase. (nw) couriersud2015-07-121-0/+0
|
* Created macro libraries for CD4XXX and 74XX chip families. Going couriersud2015-07-121-95/+14
| | | | forward, these will contain all devices which can be described using truthtables and DIPPINS. [Couriersud]
* Added two more models to netlist: couriersud2015-07-112-21/+51
| | | | | | | | | | | | | OPAMP: Generic opamp model. This does all the annoying calculations. Just pass the the datasheet values. LVCCS: A limited current voltage control current source. This will allow slew rate limiting going forward. In addition: - add a (small) parallel conductance to all capacitors to improve convergence. - some initial work to use "long double".