Glossary#

Controller architecture#

Reserve phase#

Instruction processing that prepares and enqueues time points and their events.

Trigger phase#

Release of queued events at their scheduled time points. See eQASM, Section 3.1.

TCU#

The timing control unit: timing queue, per-port event queues and timing controller. See QuMA, Section 5.2.

BISP#

The booking-based synchronization protocol from Distributed-HISQ, Section 4.1. A controller sends a signal to its neighbor and starts a countdown equal to its configured outgoing link delay. Synchronization completes when both the countdown has expired and the neighbor’s signal has arrived.

Time point#

A point on the logical TCU timeline at which zero or more events are scheduled. The CPU prepares time points independently of the TCU timer.

Timing queue#

A FIFO of time points, each specifying an interval from the preceding point.

Per-port event queue#

A FIFO of events for one output port, ordered by time point.

Port and codeword#

A cw instruction selects a mapping by source port and codeword. The mapping specifies one or more output ports and their operations.

Enqueue#

Insertion of a time point and all its events into the TCU queues together.

Event trigger#

Release of the events for a due time point. Each output starts after its configured delay.

Readout#

Acquisition, discrimination and delivery of a measurement result.

Acquisition#

A measurement interval. The backend samples at its end.

Discrimination#

Conversion of a readout signal into a bit. qsbit-sim models its timing through discriminator_delay; the backend supplies the bit and may model readout physics.

Discriminator arm#

An event that enables discrimination for a specific acquisition. When separate_arm is enabled, a DiscriminatorArmSpec event must match the acquisition’s target and measurement reference. Otherwise the discriminator is armed at acquisition start. See readout timing.

Classical feedback#

Reading a measurement result into the CPU and using program control flow to select subsequent operations.

Fast conditional execution#

Executing or canceling a single-qubit operation at its trigger edge according to the target qubit’s selected execution flag.

Measurement result register#

One bit per qubit, read by fmr. A pending count prevents reads until all accepted measurements of that qubit complete.

Execution flag#

Per-qubit state used to evaluate measurement-dependent execution conditions: last_one, last_zero and equal. The always condition requires no measurement state.

Simulation time and scheduling#

SystemC#

The C++ discrete-event simulation library that schedules model execution.

Simulation time#

Time in the modeled system, measured in nanoseconds. It continues across resets.

Host time#

Elapsed execution time on the computer running the simulator.

Tick#

A one-nanosecond unit of simulation time. Tick represents physical time; TcuCycle represents logical TCU cycles. See field units.

Clock period and phase#

Period is the interval between rising edges. Phase is the first rising edge’s offset from time zero. Edges occur at phase + k * period.

TCU logical cycle#

When the TCU is not paused, cycle n occurs at epoch_start + n * tcu.period + paused_ticks, where paused_ticks is the accumulated pause duration. Each paused edge shifts subsequent logical cycles by one TCU period. Synchronization and an empty queue after wait 0 can pause the timer. Initially, epoch_start is profile.start and paused_ticks is zero; reset calculates a new start.

Arrival time#

The earliest receiver edge at which a published message can be consumed. The mailbox stores it in eligible.

Mailbox#

A bounded FIFO that retains messages until consumption. A message becomes readable at its configured receiver-edge arrival time.

Elaboration#

Construction of SystemC modules, processes and connections before simulation.

Initialization#

The initial SystemC kernel phase. dont_initialize() suppresses automatic process invocation; an event at time zero can still trigger the process.

Sensitivity#

The events that make a SystemC process runnable.

Delta cycle#

A scheduling round that does not advance simulation time.

Device barrier#

Simulator::barrier(), which processes device events after all clocked methods due at the same tick have finished.

Trigger tick and start tick#

The trigger tick is the simulation time when the TCU releases an event. The start tick is when its physical operation begins: trigger_tick + delay.

Physical boundary#

A tick with scheduled output starts, ends, measurement samples or ready results.

Programs and CPU execution#

RV32I#

The base 32-bit RISC-V integer instruction set. qsbit-sim adds custom-0 control instructions and custom-1 bundles.

ISA and microarchitecture#

The ISA defines instruction encodings and effects. The microarchitecture defines how they execute, including pipeline stages, stalls and timing.

CPU pipeline#

Fetch, decode and execute stages. Each instruction advances at most one stage per CPU edge. Execute also commits its result.

Stall#

An unfinished instruction retains its state until a later CPU edge retries it.

Speculative instruction#

An instruction fetched before older control flow or faults are resolved. Only the oldest instruction can issue stores or control operations.

Program image#

Executable bytes, segment permissions and entry address loaded from ELF or raw machine code.

Simulator records and checks#

Timing label#

An identifier that associates a time point with its event-queue entries.

Timing and event records#

TimingEvents carries a time point and its events. EnqueueReply acknowledges insertion. TriggeredEvents carries the events selected at a trigger edge.

Measurement reference#

MeasurementReference identifies a pending delivery by epoch, measurement ID and target qubit.

Measurement storage#

MeasurementRegisters stores per-qubit result bits and pending counts. ExecutionFlags stores per-qubit flags for trigger-time checks.

Resource#

A configured ID used to detect conflicting output intervals. Overlapping intervals sharing an ID conflict if either requires exclusive use.

Event specification#

EventSpec defines an operation’s output parameters. ScheduledEvent stores the event, start and end ticks, and the resolved EventSpec in resolved. The operation occupies [start, end).

Quantum backend#

An implementation of IQuantumBackend that supplies quantum-state evolution, measurement outcomes, or both. The mock backend supplies fixed outcomes without a quantum state.

Ideal gate and pulse drive#

An ideal gate changes state at its start. A pulse drive contributes to evolution throughout its interval.

Configuration and completion#

Run configuration#

A JSON file selecting the program, backend, profile and outputs. Paths resolve relative to the file’s directory.

Simulation profile#

Clock periods, delays, capacities and codeword mappings fixed for a run. Each core can have its own profile overlay. All cores share the TCU clock, qubit count, seed, watchdog and two-qubit gate definitions.

Drain#

Completion of pending events, memory transactions, result deliveries, decoder work and synchronization across all cores after their exit ECALLs.

Session reset#

A new epoch with all cores, the synchronization network, the decoder system and the backend reset. Memory and profiles are preserved.

Trace record#

A timestamped observation with event-specific fields. See trace formats.

Watchdog#

The global simulation deadline. The run fails if it has not drained when the deadline is checked.