Skip to main content

chronon

Namespaces

Name
chronon::tree
chronon::sender
chronon::params
chronon::observe

Classes

Name
classchronon::VersionedRegister
Lock-free ring buffer of (value, cycle) versions for lookahead-safe shared state.
classchronon::Unit
classchronon::TreeNode
Hierarchical tree node with path-based addressing and parameter inheritance.
classchronon::TimelineSpan
Stateful helper for boolean occupancy/stall spans.
classchronon::TimelineLane
Occupancy lane group: hardware-shaped span and instant events.
classchronon::TickableUnit
structchronon::TickSimulationConfig
classchronon::TickSimulation
classchronon::ThreadSafeRegistry
structchronon::TerminationRequest
Context for a termination request: reason, exit code, cycle, unit, message.
classchronon::TerminationController
classchronon::StageReg
N-pipe pipeline register with ping-pong slots and runtime write tracking.
classchronon::StagePipeline
Groups heterogeneous StageReg instances for batch lifecycle calls.
classchronon::SimulationApp
Unified entry point: CLI, YAML override handling, and observation lifecycle.
classchronon::SenderSimulationBuilder
Constructs simulations from YAML configuration in four phases.
classchronon::SenderFactoryRegistry
Thread-safe singleton registry of unit factories keyed by YAML type name.
classchronon::ReliablePortSender
classchronon::PriorityArbiter
Declarative N-pipe priority arbiter with overflow, bank-conflict, and idle-fill.
classchronon::PortTransaction
classchronon::PortDirectory
classchronon::PortBindingRegistry
classchronon::PortBase
structchronon::PipelinePipe
classchronon::PhasedTickableUnit
classchronon::PhasedAutoRegisteredUnit
AutoRegisteredUnit variant with automatic Phase0/Phase1 dispatch.
structchronon::Phase1
Phase tag for odd cycles; reads slot 1, writes slot 0.
structchronon::Phase0
Phase tag for even cycles; reads slot 0, writes slot 1.
classchronon::ParameterSet
Base for parameter sets backed by self-registering Param members.
classchronon::ParamBase
Type-erased interface for self-registering parameters.
classchronon::Param
Self-registering parameter that hooks into its owning ParameterSet.
classchronon::OutPort
structchronon::ObservationStats
Aggregated per-unit observation statistics.
classchronon::ObservationContext
Per-unit central context for counters, tracing, logging, and epochs.
structchronon::ObservationChannelStats
Per-channel emit/drop counts.
classchronon::ObservableUnit
classchronon::InPort
classchronon::ISenderFactory
Type-erased factory interface for runtime unit creation by YAML type name.
classchronon::FlushRange
structchronon::Flow
structchronon::EventNameRef
Resolved event-name handle; obtain via "miss"_ev (or EventName<"miss">::ref()).
classchronon::EventCounter
Counter plus optional first-class timeline instant emission.
structchronon::DerivedCounterDef
Transport struct carrying a derived-counter formula from unit to backend.
classchronon::DerivedCounter
Computed counter declared as a unit member alongside aggregate counters.
classchronon::DelayOneBroadcastFabric
classchronon::Connection
classchronon::CategoryRegistry
Global registry that auto-assigns bit positions for user trace categories.
classchronon::Category
Trace category with automatic bit-position assignment at startup.
classchronon::AutoRegisteredUnit
CRTP base that auto-registers Derived with SenderFactoryRegistry at program load.
structchronon::ArbWinner
Winning request on a pipe; bank_conflict marks a priority win blocked by a conflict.
structchronon::ArbResult
Per-tick arbitration result: winners by pipe, losers, and request counts.
structchronon::ArbRequest
A single arbitration request for one source on one pipe.
structchronon::ArbLoser
A losing request with the reason it was rejected.

Types

Name
enum classUnitState { }
enum classTerminationReason { }
Why the simulation is being terminated.
template <typename T >
using StageReg< T, 1 >
SingleStageReg
using sender::TickSimulationConfigSimulationConfig
using sender::config::SenderSimulationBuilderSimulationBuilder
using sender::TickSimulationSimulation
enum classPortPolicy { }
enum classObservationChannel { }
Identifies the observation channel for per-unit stats tracking.
enum classLoseReason { }
enum classLogLevel { }
using sender::factory::SenderFactoryRegistryFactoryRegistry
enum classCounterId { }
Strongly typed counter identifier; indexes into the counter storage array.
using std::function< double(std::span< const uint64_t >)>ComputeFn
enum classBankConflictPriority { }

Functions

Name
uint32_ttoIndex(CounterId id)
template <ValidPhase P,std::size_t N,typename Src ,typename Dst >
void
simpleForwardAll(Src & src, Dst & dst)
Forward all pipes from src to dst with stall-aware retention.
template <ValidPhase P,typename Src ,typename Dst >
bool
simpleForward(Src & src, Dst & dst, std::size_t pipe)
template <typename... Ts>
PortTransaction< OutPort< Ts >... >
reserve(OutPort< Ts > &... ports)
template <ValidPhase P,typename Src ,typename Dst ,typename Fn >
bool
processForward(Src & src, Dst & dst, std::size_t pipe, Fn && fn)
template <uint16_t Pipe,FixedString Stage,typename Cat ,typename... Items>
void
pipeStageHex(ObservationContext * ctx, Cat category, uint64_t id, Items &&... items)
template <uint16_t Pipe,FixedString Stage,typename Cat ,typename... Items>
void
pipeStage(ObservationContext * ctx, Cat category, uint64_t id, Items &&... items)
template <uint16_t Pipe>
PipelinePipe< Pipe >
pipe()
Flowflow(uint64_t id)
voidcpuPause()
template <ValidPhase P,typename Src ,typename Dst ,typename Convert >
bool
convertForward(Src & src, Dst & dst, std::size_t pipe, Convert && convert)
template <FixedString Key,typename T >
TypedArg< T >
arg(T value)

Types Documentation

enum UnitState

EnumeratorValueDescription

enum TerminationReason

EnumeratorValueDescription

Why the simulation is being terminated.

using SingleStageReg

template <typename T >
using chronon::sender::SingleStageReg = StageReg<T, 1>;

using SimulationConfig

using chronon::SimulationConfig = sender::TickSimulationConfig;

using SimulationBuilder

using chronon::SimulationBuilder = sender::config::SenderSimulationBuilder;

using Simulation

using chronon::Simulation = sender::TickSimulation;

enum PortPolicy

EnumeratorValueDescription

PortPolicy - Source-compatible InPort policy tag.

Both values use the same receiver-owned selective-flush engine. The tag is retained so existing model declarations remain source compatible while the public FlushRange contract is independent of queue policy and topology.

enum ObservationChannel

EnumeratorValueDescription

Identifies the observation channel for per-unit stats tracking.

enum LoseReason

EnumeratorValueDescription

enum LogLevel

EnumeratorValueDescription

using FactoryRegistry

using chronon::FactoryRegistry = sender::factory::SenderFactoryRegistry;

enum CounterId

EnumeratorValueDescription

Strongly typed counter identifier; indexes into the counter storage array.

using ComputeFn

using chronon::observe::ComputeFn = std::function<double(std::span<const uint64_t>)>;

Receives snapshotted delta values for each source counter (declaration order) and returns the derived value. Invoked on the backend thread at CSV dump time.

enum BankConflictPriority

EnumeratorValueDescription

Functions Documentation

function toIndex

uint32_t toIndex(
CounterId id
)

function simpleForwardAll

template <ValidPhase P,
std::size_t N,
typename Src ,
typename Dst >
void simpleForwardAll(
Src & src,
Dst & dst
)

Forward all pipes from src to dst with stall-aware retention.

function simpleForward

template <ValidPhase P,
typename Src ,
typename Dst >
bool simpleForward(
Src & src,
Dst & dst,
std::size_t pipe
)

Simple stall-aware forward for a single pipe. If dst already has a write pending for this pipe, retains in src. Returns true if forwarded, false if retained (stalled).

function reserve

template <typename... Ts>
PortTransaction< OutPort< Ts >... > reserve(
OutPort< Ts > &... ports
)

Acquire an all-or-none, cycle-local reservation over the supplied ports.

function processForward

template <ValidPhase P,
typename Src ,
typename Dst ,
typename Fn >
bool processForward(
Src & src,
Dst & dst,
std::size_t pipe,
Fn && fn
)

Forward with processing: fn(pipe, data&) called on consumed data before writing to dst. Returns true if forwarded, false if stalled.

function pipeStageHex

template <uint16_t Pipe,
FixedString Stage,
typename Cat ,
typename... Items>
inline void pipeStageHex(
ObservationContext * ctx,
Cat category,
uint64_t id,
Items &&... items
)

function pipeStage

template <uint16_t Pipe,
FixedString Stage,
typename Cat ,
typename... Items>
inline void pipeStage(
ObservationContext * ctx,
Cat category,
uint64_t id,
Items &&... items
)

function pipe

template <uint16_t Pipe>
PipelinePipe< Pipe > pipe()

function flow

inline Flow flow(
uint64_t id
)

function cpuPause

inline void cpuPause()

function convertForward

template <ValidPhase P,
typename Src ,
typename Dst ,
typename Convert >
bool convertForward(
Src & src,
Dst & dst,
std::size_t pipe,
Convert && convert
)

Cross-type forward: convert(pipe, src_data) returns dst_data. Returns true if forwarded, false if stalled.

function arg

template <FixedString Key,
typename T >
inline TypedArg< T > arg(
T value
)

Updated on 2026-07-23 at 16:24:33 +0000