summaryrefslogtreecommitdiffstatshomepage
path: root/nl_examples (follow)
Commit message (Collapse)AuthorAgeFilesLines
* netlist: move nl_examples to src/lib/netlist/examples. (nw) couriersud2019-11-2536-4249/+0
| | | One folder less in the top-level.
* netlist: code and documentation maintenance fixes. [Couriersud] couriersud2019-11-071-10/+2
| | | | | | | | | - "nltool -c docheader" now scans sources and creates usage focussed doxy documentation for devices. Very early stage, but works. For an example, please see ne555 source. - Started migrating to pure C++, i.e. "//" comments. - Various documentation fixes. - Added cppcheck configuration to netlist/build - Some smaller code changes.
* nl_examples: commit some long overdue changes. (nw) couriersud2019-09-124-0/+131
|
* netlist: improved and fast LM3900 model. couriersud2019-04-121-3/+3
| | | | | | LM3900 model 3 only has half the number of BJTs compared to model 1 but delivers comparable results for Money Money. Model 3 follows the datasheet. I left code for Model 0 and 2 in for educational reasons.
* Adjusted LM3900 model, fixed clipping in zaccaria. couriersud2019-04-121-0/+103
|
* netlist: Add more SPICE elements to the conversion code. couriersud2019-04-121-8/+30
|
* (nw) suppress side effects, standardise #include guards Vas Crabb2019-04-121-1/+1
|
* netlist: MB3614 again, function controlled VARCLOCK and other couriersud2019-04-073-4/+76
| | | | | | | | | | | improvements. - fix MB3614 parameter - Added VARCLOCK which derives step size from function - optimized function handling in CS and VS - fixed a bug in ppreprocessor - add trunc to pfunction - added opamp_amplification_curve to derive characteristic amplification curve
* netlist: TYPE=2 opamp model and MB3614 fixes. couriersud2019-04-073-22/+26
| | | | | | | | - Untie diode code - Fix some typos - add TYPE=2 opamp model which omits output voltage limitation Useful for determining causes of non-convergence - Fix MB3614 opamp parameters to match datasheet
* Netlist: Add global parameter to disable semi-conductor capacitance couriersud2019-03-311-1/+2
| | | | | | | | | modelling. [Couriersud] Added global NETLIST.DEFAULT_MOS_CAPMODEL parameter. Setting this to zero disables using capitance modelling in mos models. On a per mos device basis this can be achieved by adding CAPMODEL=0 to the model definition, e.g. MOSFET(X, "NMOS(CAPMODEL=0)") Improve MOSFET convergence by using log-stepping.
* 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)