| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
- nltool: Added support for building individual static solver files.
- Added pre-built documentation files for nltool and nlwav.
- plib: Extended typed_version to have patchlevel as well.
- plib: Compile more of ppmf.h with nvcc.
- create_devinc.py: Add include guards to the generated files.
- makefile: Recreate generated files when python code has changed.
- Reduced nld_base.h usage in the core.
- <oved extern template class declarations to where they belong.
- Generally improved code readability and fixed a lot of issues cspell reported.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Removed device and macro header files.
* All of those can be generated automatically so going forward there is
no need for these any longer.
* Introduced the modules concept. Modules are netlists for which
automatic lib entries are generated.
* Going forward you just store them in macro/modules and they will be
automatically registered as device elements.
* You need to do a "make generated" is src/lib/netlist/build
* Some_device.cpp still needs to be added to netlist.lua
* Added documentation on how to add devices to netlist.
* Please refer to adding_devices.md for more information.
|
|
|
|
|
|
|
|
|
| |
* removed include directory src/lib/netlist from various genie files to
avoid potential issues.
* Code using netlist should use #include "netlist/*".
* Updated includes.
* Fixed standalone makefile depend target to properly deal with relative
paths.
|
|
|
|
| |
* Medium term this will significantly ease adding devices to netlist.
|
|
|
|
|
| |
* moved dead code into examples/lostfound.cpp
* This work didn't improve performance but still may serve as examples
for complex truth table implementations.
|
|
|
|
|
|
|
| |
* Move DIPs for 82S16, 82S115, and 2102A devices into nlm_proms
* Moved 7448 DIP to a macro. Replaced 7442 with truthtable and macro.
* Moved 74LS629 DIP into macro.
* Expand truthtable to handle 10 outputs.
|
|
|
|
|
| |
* This is a long term transition goal. Documented in source (see
NL_USE_BACKWARD_EULER).
|
|
|
|
|
|
|
|
|
| |
* For truthtable cmos devices the power pin names will now be set
according to the logic family.
* Fix some issues for CD4538
* Change "already connected" warning to info level. Some ICs (CD4538)
connect pins internally to GND and the schematics again externally. This
will cause this info to be printed. The warning now is a lot more
verbose.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
These tristate buffers natively support tristate outputs. For use cases
with fixed enable inputs the devices support a parameter
FORCE_TRISTATE_LOGIC which if being set to 1 makes the device behave
like a logic output.
Added additional syntax and consistency checks for tristate outputs.
Updated the example and added dip implementations including
documentation.
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup to better separate the following stages:
- parsing
- setup
- run
In addition preliminary native tristate support was added. Not yet
production ready, please don't use it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- removed family_setter
- naming alignment, family becomes model.
- architecture cleanups.)
- reviewed reset logic.
- pass truthtable family as string to factory.
This is another set of changes on the path to align logic families and
models. As a side effect, the object model now makes a clear
distinction between analog models and logic models.
The number of macros in nl_base.h has decreased significantly due to
these changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The two sources act as voltage sources, though noise may also be
injected as conductivy or current noise.
SYS_NOISE_MT_U: Mersenne Twister uniform noise
SYS_NOISE_MT_N: Mersenne Twister normal noise
nld_sys_noise is templated:
using NETLIB_NAME(sys_noise_mt_u) =
NETLIB_NAME(sys_noise)<plib::mt19937_64,
plib::uniform_distribution_t>;
Thus the approach is scalable. The implementation is state save aware,
and thus reproducible results are guaranteed.
An example use case is provided as well, see examples/noise.cpp.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The model is driven by three additional model parameters: NBV, IBV, BV.
Example code how to define a typical 7.5V Zener diode:
ZDIODE(ZD, "D(BV=7.5 IBV=0.01 NBV=3)")
or
NET_MODEL("A1234 D(BV=7.5 IBV=0.01 NBV=3)")
ZDIODE(ZD, "A1234")
|
|
|
|
| |
Note: This affects all use cases of CCCS. I have changed all uses in
MAME.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The device can be found in nlm_other.cpp.
Removed nld_ne566.*
Added SYS_SW, SYS_SW2 and SYS_COMP. These are single switch,
alternating switch and a analog comparator with digital outputs.
Renamed RES_SWITCH to SYS_SW.
Added example ne566.cpp in netlist/examples.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change color levels for williams2 hardware to better color display.
Output levels are computed in netlist. These levels are aligned to
LTspice modelling I did.
Also improved the modelling to do what the actual hardware for mysticm
did: Color decoding depends on W13..W11. These are actually flip screen
versions of V13..V11. Fixed treatment on Bit0 although not used by the
game code.
Added R,G,B gain and offset sliders for the williams2 hardware. MAME
only supports one setting for all channels. This is not good enough
to come close to video recordings found on youtube.
Minor changes to nltool to better measure time taken to run a
simulation.
|
|
|
|
|
| |
Fix inductor calculation. Updated turkey shoot example to skip start-up
swinging of L1/C60 LC circuit. Recording now starts at 1ms.
|
|
|
|
|
| |
This example shows how the netlist tools can be used to derive
RGB tables from a schematic. All steps are given in
serc/lib/netlist/examples/turkey_shoot.cpp
|
| |
|
| |
|
| |
|
|
One folder less in the top-level.
|