Skip to content

@celox-sim/celox / index / RunTestOptions

Interface: RunTestOptions

Defined in: packages/celox/src/testbench.ts:240

Properties

clockType?

optional clockType?: "posedge" | "negedge"

Defined in: packages/celox/src/types.ts:271

Clock polarity. Default: "posedge".

Inherited from

SimulatorOptions.clockType


components?

optional components?: Record<string, InjectedTbComponent>

Defined in: packages/celox/src/testbench.ts:241


craneliftOptLevel?

optional craneliftOptLevel?: "none" | "speed" | "speedAndSize"

Defined in: packages/celox/src/types.ts:249

Cranelift backend optimization level. Default: "speed".

Inherited from

SimulatorOptions.craneliftOptLevel


deadStorePolicy?

optional deadStorePolicy?: "off" | "preserveTopPorts" | "preserveAllPorts"

Defined in: packages/celox/src/types.ts:282

Dead store elimination policy. Default: "off". When optLevel is "O2", defaults to "preserveTopPorts" unless explicitly set.

Inherited from

SimulatorOptions.deadStorePolicy


enableAliasAnalysis?

optional enableAliasAnalysis?: boolean

Defined in: packages/celox/src/types.ts:260

Enable alias analysis in the Cranelift egraph optimization pass. Default: true. Only effective when craneliftOptLevel is not "none".

Inherited from

SimulatorOptions.enableAliasAnalysis


enableVerifier?

optional enableVerifier?: boolean

Defined in: packages/celox/src/types.ts:265

Enable the Cranelift IR verifier. Default: true. Disabling saves compile time at the cost of less validation.

Inherited from

SimulatorOptions.enableVerifier


extraSource?

optional extraSource?: string

Defined in: packages/celox/src/types.ts:275

Additional Veryl source to append to the main source code.

Inherited from

SimulatorOptions.extraSource


falseLoops?

optional falseLoops?: LoopBreak[]

Defined in: packages/celox/src/types.ts:267

False-loop declarations to ignore during compilation.

Inherited from

SimulatorOptions.falseLoops


fourState?

optional fourState?: boolean

Defined in: packages/celox/src/types.ts:213

Enable 4-state (X) simulation. Default: false.

Inherited from

SimulatorOptions.fourState


optimize?

optional optimize?: boolean

Defined in: packages/celox/src/types.ts:242

Shorthand to enable/disable all SIRT optimization passes. true = all on (O1), false = all off (O0). Overridden by optLevel or optimizeOptions if set.

Deprecated

Use optLevel instead.

Inherited from

SimulatorOptions.optimize


optimizeOptions?

optional optimizeOptions?: OptimizeOptions

Defined in: packages/celox/src/types.ts:247

Per-pass SIRT optimizer flags. Takes precedence over optimize.

Deprecated

Use optLevel + passOverrides instead.

Inherited from

SimulatorOptions.optimizeOptions


optLevel?

optional optLevel?: "O0" | "O1" | "O2"

Defined in: packages/celox/src/types.ts:222

Optimization level preset. Default: "O1".

  • "O0": No SIR optimizations (except TailCallSplit). Fast compilation.
  • "O1": All SIR optimizations enabled. Default.
  • "O2": O1 + dead store elimination (PreserveTopPorts).

Inherited from

SimulatorOptions.optLevel


parameters?

optional parameters?: ParamOverride[]

Defined in: packages/celox/src/types.ts:277

Top-level module parameter overrides.

Inherited from

SimulatorOptions.parameters


passOverrides?

optional passOverrides?: string[]

Defined in: packages/celox/src/types.ts:235

Per-pass overrides applied on top of optLevel. Each entry: "+sir:<pass_name>" to enable, "-sir:<pass_name>" to disable.

Valid SIR passes: store_load_forwarding, hoist_common_branch_loads, bit_extract_peephole, optimize_blocks, split_wide_commits, commit_sinking, inline_commit_forwarding, eliminate_dead_working_stores, reschedule, coalesce_stores, gvn, concat_folding, xor_chain_folding, vectorize_concat, split_coalesced_stores, partial_forward, identity_store_bypass, tail_call_split

Example

ts
["-sir:reschedule", "+sir:gvn"]

Inherited from

SimulatorOptions.passOverrides


regallocAlgorithm?

optional regallocAlgorithm?: "backtracking" | "singlePass"

Defined in: packages/celox/src/types.ts:255

Register allocator algorithm for the Cranelift backend. Default: "backtracking".

  • "backtracking": Slower compilation but generates better code with fewer spills.
  • "singlePass": Much faster compilation but generates code with more register spills.

Inherited from

SimulatorOptions.regallocAlgorithm


resetType?

optional resetType?: "async_high" | "async_low" | "sync_high" | "sync_low"

Defined in: packages/celox/src/types.ts:273

Reset type. Default: "async_low".

Inherited from

SimulatorOptions.resetType


trueLoops?

optional trueLoops?: TrueLoopSpec[]

Defined in: packages/celox/src/types.ts:269

True-loop declarations with convergence limits.

Inherited from

SimulatorOptions.trueLoops


vcd?

optional vcd?: string

Defined in: packages/celox/src/types.ts:215

Path to write VCD waveform output.

Inherited from

SimulatorOptions.vcd