|
wiRedPanda
Logic Circuit Simulator
|
Builds and drives an IC's internal simulation graph. More...
#include <ICSimulation.h>
Static Public Member Functions | |
| static void | initialize (IC &ic) |
| Builds the internal simulation graph (connection graph + topological sort) for ic. | |
| static void | resettle (IC &ic) |
| static void | update (IC &ic) |
| Simulates ic's internal circuit and propagates results to its boundary. | |
Builds and drives an IC's internal simulation graph.
Extracted from IC so direct simulation is a collaborator rather than a cluster of methods on the element itself, mirroring the GraphicElement / GraphicElementSerializer split. A friend of IC, it reaches the element's internal simulation state directly. All methods are static and take the IC explicitly; IC keeps all state, so this is a pure logic extraction, not a new owner-back-pointer collaborator.
Definition at line 23 of file ICSimulation.h.
|
static |
Builds the internal simulation graph (connection graph + topological sort) for ic.
Definition at line 12 of file ICSimulation.cpp.
References Simulation::buildConnectionGraph(), Simulation::buildSuccessorGraph(), Simulation::buildTxMap(), Simulation::connectWirelessElements(), initialize(), and Simulation::topologicalSort().
Referenced by initialize(), and IC::initializeSimulation().
|
static |
Re-propagates committed sequential state through ic's internal combinational logic and refreshes its output boundary, without re-clocking internal flip-flops/latches.
Definition at line 108 of file ICSimulation.cpp.
References Simulation::kMaxSettleIterations, and GraphicElement::simUpdateInputsAllowUnknown().
Referenced by IC::resettleCombinational().
|
static |
Simulates ic's internal circuit and propagates results to its boundary.
Definition at line 80 of file ICSimulation.cpp.
References Simulation::iterativeSettle(), and GraphicElement::simUpdateInputsAllowUnknown().
Referenced by IC::updateLogic().