| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
- align timed_queue closer to std::priority_queue
- use uint8_t in extended clock for better memory usage.
- minor changes to nl_breakout.cpp (nw)
|
|
|
|
|
|
|
| |
Small improvement for 7493.
Convert 9316 from subdevice to delegate.
Convert 74107 from subdevice style to delegate.
Also refactored inconsistencies in other parts of the code. (nw)
|
|
|
|
|
| |
This is currently not used since performance drops by about 40%. The
typical use case would be circuits a lot more complex than those we
currently emulate where the 2*log(n) advantage really applies. (nw)
|
|
|
| |
Also fixed clang-5 warnings. (nw)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... for updates. This will make device implementation more flexible and
faster. A nice side-effect is that there was some minor (<5%)
performance increase already. Each input is now assigned a notification
handler. Currently this is update, but going forward this may be a
custom handler. In addition
- fixed MEMPOOL on OSX
- removed dead code
- avoid bit-rot
- added delegate support for emscripten and arm processors
- added delegate support for VS 2015 x64
[Couriersud]
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Device implementations (all cpp files in netlist/devices) now should
only include nl_base.h.
Netlist implementation sources should only include "net_lib.h".
Refactored netlist.h and netlist.cpp to avoid namespace congestion in
netlist.h.
Fixed VC2015 build. (nw)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Remove virtual from some destructors and make them protected.
- Various cleanups.
- Small performance improvement.
- Fixed some inconsistencies.
- More c++ refactoring. (nw)
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
| |
Use macro NL_NOEXCEPT if debug builds would throw an exception (e.g. by
using nl_assert). This is not entirely safe. Going forward, nl_assert
should call log first and than throw. (nw)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed trampolines (OUTLOGIC, INPLOGIC and friends).
- Started using doxygen comment and documentation style. Added doxygen
files to documentation folder.
- Refactored code triggered by doxygen output.
- Moved internal and support classes into namespace detail.
- Use an anordered map in parser.
- -Wconversion fixes - All done now.
- Fixed -Wold-style-cast warnings in netlist code.
- Added iterators to pstring.
- Moved two macros, added more RAII and improved exceptions. Fixed some
bugs in parser code.
- Fixed a number of bugs in parser code and exception handling.
[Couriersud]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replaced shared_ptr by unique_ptr.
- Better seperation of setup_t and netlist_t.
- Fixed bugs in rdtsc code. Refactored timer code.
- Simplify conditional activation/deactivation.
- Introduced HINT(device, hint) to clarify that hints are inheritent
and not specific to devices.
- Added improved profiling support to netlist. Statistics output now
proposes devices for which whole device activation/deactivation be
disabled. No significant improvement for pong, but breakout
experiences a 10% improvement.
- Moved options code from include to cpp file.
- Minor modifications to 7493 and 9316
- Introduced perftime_t and perfcount_t for gathering statistics. These
templates do not create any code if statistics are not kept.
- Make help2man ./nltool produce usuable output.
- More truthtable refactoring. Removed half-finished code for internal
state support. As implemented, this would have had no support for
timing delays.
[Couriersud]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Object model optimisation.
Merge remote-tracking branch 'origin/master' into netlist_dev
Fix a merge issue.
#if ==> #elif. Ouch.
Default PHAS_PMF_INTERNAL=0 for 32bit windows mingw.
Change UINT8 to uint_[fast|least|8_t.
Move state_var so it can be used by base devices as well.
Remove last traces of ATTR_ALIGN.
Refactored netlist_time into a template.
Removed implicit double assignment to netlist. Doomed to produce
bugs.
Instead, use netlist_time::from_double.
Switch to using proper (i.e. bool type) param_logic_t.
Formally differentiate between logic inputs (e.g. switches) and int
inputs (e.g. resistor ladders or selection switches).
Added parameter USE_DEACTIVATE to truthtable devices.
Added more constexpr to netlist_time.
Fixed some ifdef code paths.
- More c++.
- Simplify main processing loop. As a nice side-effect that squeezed
out some cycles.
- More cycle squeezing.
- Removed pvector_t.
- Use std::sort.
- Refactored netlist state manager.
- Introduction of state_var object template to be used on device
state
members.
- Changed remaining save occurrences to state_var.
- Rewrote nltool's listdevices command. This allowed removal of one
member from devices which served solely for listdevices.
- Remove hashmap_t. Fix kidniki regression.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
devices are now forced to be initialized in the constructor. Device
setup now completely in constructor. Removed start call. [Couriersud]
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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]
|
|
|