Everything runSim needs about one loaded JIT domain. Usually built via
someModule.Sim.Simulator.toEndpoint.
- handle : JIT.JITHandle
- moduleName : String
Instances For
(producerOutputPortName, consumerInputPortName) — a single wire connection
between two domains routed through the CDC SPSC queue.
Equations
Instances For
Aggregated statistics returned by runSim. For single-domain runs,
messagesSent/messagesReceived/rollbacks are all 0.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Single-threaded evalTick loop. Forces the non-parallel backend.
Use this directly if you want to bypass runSim's auto-selection.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multi-domain CDC runner backed by JIT.runCDC. Forces the parallel
backend. Use this directly if you want to skip runSim dispatch.
Raises IO.userError if the connection names are not valid ports of
the producer/consumer endpoints.
Equations
- One or more equations did not get rendered due to their size.
Instances For
High-level dispatcher: automatically picks the fastest runner.
Rules:
[ep]with no connections →runSingleSim(fastest for 1 domain)[prod, cons]with one connection →runMultiDomainSim(CDC queue)- anything else →
IO.userErrordescribing the limitation.
cycles sets a uniform cycle budget that applies to every endpoint. To
model a CDC with genuinely different clock frequencies (e.g. a 200 MHz
producer talking to a 100 MHz consumer) pass endpointCycles instead:
it gives a per-endpoint cycle count and cycles is ignored when it is
non-empty. The list must have the same length as endpoints.
Limitations:
- 3+ endpoints are not yet supported (needs multi-queue runCDC).
- Multi-connection between the same pair of endpoints is not yet supported (needs runCDC extension). See KnownIssues Issue 3.
Equations
- One or more equations did not get rendered due to their size.