summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_setup.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* netlist: maintenance and simplifcation. (nw) couriersud2019-10-311-8/+8
| | | | | | | - solver: align matrix population along the various solvers - solver: delete dead code - renamed nl_double to nl_fptype and use nl_fptype where previously double has been used. - renamed param_double_t to param_fp_t
* netlist: code maintenance. (nw) couriersud2019-10-291-3/+3
| | | | | | | | - Removed code no longer used - Add noexcept where appropriate - split pparser.[c|h] into ppreprocessor and ptokenizer - smaller optimizations, e.g. use of std::size_t - fix lint warnings
* Netlist: code maintenance and improvements. [Couriersud] couriersud2019-10-181-37/+29
| | | | | | | | - Added support for line markers to the preprocessor and parser. - Added support for include processing to the preprocessor. - Moved sources base type to plib to be used for preprocessor includes. This enables to include e.g. from rom memory regions. - Renamed some defines
* Netlist: pongf update and code maintenance. [Couriersud] couriersud2019-10-161-1/+4
| | | | | After the recent string of updates pongf performance increased again. Also includes code maintenance and some fixes for the aligned memory operations.
* netlist: Use unique_ptr where possible. (nw) couriersud2019-10-151-16/+15
| | | Also improve code readability.
* netlist: maintenance and lint fixes. (nw) couriersud2019-10-061-5/+5
|
* netlist: more lint corrections. (nw) couriersud2019-09-281-1/+1
| | | | - fixed lint corrections - added NOLINT where needed
* netlist: Fix a number of minor issues. (nw) couriersud2019-09-271-3/+4
| | | | | - lint warnings - remove const on return types
* netlist: switch to c++ streams. (nw) couriersud2019-09-251-11/+16
| | | | Removed the home-brew implementation pstreams and replaced those with c++ streams.
* netlist code maintenance (nw) couriersud2019-09-211-9/+12
| | | | | - prepare move to c++ streams and later std::string - fix more lint and clang pedantic warnings/errors - fix some bugs
* netlist code maintenance. (nw) couriersud2019-09-171-2/+2
| | | | | | - remove a lot of c library use and instead use c++ - improved pstring compatibility to std::string - prepare removal of pstream
* netlist: code maintenance Couriersud2019-04-281-2/+2
| | | | | | | | - converted NL_MAX_LINK_RESOLVE_LOOPS into a netlist parameter. - Reduced potential bit-rot. - nltool -v --version now displays values of all compile time defines. There are still far too many compile time defines. However, most of them ensure and test future scalability.
* netlist: Fix MT06827. couriersud2019-04-221-2/+2
| | | | All pstonum calls now need to specify if they want local locale or the "classic" "C" locale.
* netlist: fix some error/warnings. (nw) couriersud2019-04-221-3/+8
|
* netlist: lint and pedantic warning fixes. (nw) couriersud2019-04-221-3/+3
|
* netlist: Add more validations and fix issues identified. couriersud2019-04-211-6/+16
|
* netlist: Add power terminals to most logic devices. couriersud2019-04-211-15/+38
| | | | | | | | | | | | This fixes an over simplification. Logic devices implicitly assumed that GND/VDD actually is connected to GND(i.e. 0V). There is no immediate benefit from this change. It is a preparation for the future scalability. Now all power terminals (typically 7/14, 8/16) have to be explicitly connected to the supply rails. Also added a validation mode to the netlist core. This is not intended for running, but solely to better indentify pins which are not properly connected.
* netlist: more structure for caches. (nw) couriersud2019-04-211-4/+4
|
* netlist: scalable error messages. couriersud2019-04-181-54/+49
| | | This approach uses functors for logging messages.
* netlist: Improve validation code. couriersud2019-04-161-4/+13
| | | Adjust warning levels and fix a number of topics identified.
* netlist: Add validation support to netlist device. couriersud2019-04-151-1/+7
| | | | | | mame -validate now also checks all netlist devices. It does this by constructing a temporary netlist. This commit also fixes some memory leaks and a bad bug which surfaced in validation.
* netlist: bug fixing. couriersud2019-04-131-0/+1
| | | | | - fix sound route dependency - add "K" as a valid Kilo multiplier. - Fix current source parameter update.
* netlist: Refactored model code. (nw) couriersud2019-03-311-12/+12
|
* Netlist: Add global parameter to disable semi-conductor capacitance couriersud2019-03-311-0/+5
| | | | | | | | | 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: Improved MOS transistor model. [Couriersud] couriersud2019-03-291-0/+1
| | | | | | | | | 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-261-344/+494
| | | | | | | | | | | | | 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-251-494/+344
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: refactor model code. (nw) couriersud2019-03-181-40/+48
|
* netlist: Add UJT example for 2N6027. couriersud2019-03-171-0/+1
|
* netlist: Fix formatting bug. (nw) couriersud2019-03-171-5/+0
|
* netlist: fix bugs in object initialization order. (nw) Couriersud2019-03-061-37/+28
|
* netlist: memory code refactoring. (nw) couriersud2019-03-011-7/+7
|
* netlist: fix visibility issues and more issues reported by tidy. (nw) couriersud2019-02-221-7/+7
|
* netlist: memory management. [Couriersud] couriersud2019-02-221-8/+8
| | | | | | | | | | | | | | Memory management in plib is now alignment-aware. All allocations respect c++11 alignas. Selected classes like parray and aligned_vector also provide hints (__builtin_assume_aligned) to g++ and clang. The alignment optimizations have little impact on the current use cases. They only become effective on bigger data processing. What has a measurable impact is memory pooling. This speeds up netlist games like breakout and pong by about 5%. Tested with linux, macosx and windows cross builds. All features are disabled since I can not rule out they may temporarily break more exotic builds.
* netlist: remove locked-in context from sources. (nw) couriersud2019-02-171-5/+5
|
* netlist: refactoring startup process and array usage. (nw) couriersud2019-02-171-17/+19
|
* (nw) remove some superfluous const, eliminate a superfluous temp, remove ↵ Vas Crabb2019-02-181-1/+1
| | | | superflous semicolons, etc. and also fix a known broken build script change
* netlist: Separation of duties. (nw) couriersud2019-02-161-195/+207
| | | | Make it clearer what is used during parsing a netlist, "compiling" a netlist and execution of a netlist.
* netlist: memory pool now supports aligned storage. (nw) couriersud2019-02-161-15/+15
| | | | | | Set USE_MEMPOOL to 1 to try this (max 5% performance increase). For mingw, there is no alignment support. This triggers -Wattribute errors which due to -Werror crash the build.
* netlist: more memory allocation refactoring. (nw) couriersud2019-02-141-7/+6
|
* netlist: More cpp core guidelines alignment. (nw) couriersud2019-02-111-2/+2
|
* netlist: Fix crashes on certain hardware/library combos. (nw) couriersud2019-02-091-0/+1
| | | | | | | | At least on macosx memory used by an object seems to be invalidated before the dtor is executed. This of course is deadly for child objects with references to the parent-in-deletion which may call back into the parent. One of the worst issues I had to fix. Ever. Lesson learnt: No tricks in dtors. Never.
* netlist: more core guidelines work. (nw) couriersud2019-02-091-5/+5
|
* netlist: constants are now constexpr functions. (nw) couriersud2019-02-091-2/+2
|
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-33/+58
| | | | | | | - convert macros to c++ code. - order of device creation should not depend on std lib. - some state saving cleanup. - added support for clang-tidy to makefile. - modifications triggered by clang-tidy-9.
* netlist: Refactoring and some functionality enhancements. (nw) couriersud2019-02-041-5/+6
| | | | | | | | | | - Removed dead code. - nltool now adds a define NLTOOL_VERSION. This can be tested in netlists. It is used in kidniki to ensure I stop committing debug parameters. - Optimized the proposal for no-deactivate hints. - Documented in breakout that hints were manually optimized. - Minor optimizations in the order of 2% enhancement.
* netlist: fix some issues. (nw) couriersud2019-02-021-3/+36
|
* netlist: pstream and ppreprocessor (now a pistream) refactoring. (nw) couriersud2019-01-191-15/+6
|
* netlist: More run/setup separation. (nw) couriersud2019-01-181-6/+132
| | | Still some distance ahead in properly separating execution and setup.
* netlist: refactored netlist creation. (nw) couriersud2019-01-151-5/+5
| | | | | | This is an effort to separate netlist creation from netlist execution. The primary target is to avoid that code which will only run during execution is able to call setup code and thus create ugly hacks.