Skip to main content

Crate bitloom_sim

Crate bitloom_sim 

Source
Expand description

Cycle-accurate simulation over FrozenHir (AD-5, AD-15, AD-17).

Structs§

Axi4LiteSlaveFunctional
Handwritten Axi4LiteSlave FL (FR168) — write+read handshake ≡ tick on axi4_lite_slave_dual_stimulus. Not GeneratedFunctional; not FR163 alone.
Coverage
Toggle + Mux branch + FSM state-visit coverage over named signals / labels.
CycleAccurateSim
Thin FrozenHir → Sim::tick wrapper (cycle-accurate product surface).
FormalEquivProduct
Product entry for FR100 automatic compare + bounded formal equivalence.
GeneratedFunctional
In-process functional model derived from FrozenHir (FR47 / FR112 / FR159).
GpioFunctional
Handwritten Gpio FL (FR126) — beyond FR103 SyncFifo / GeneratedFunctional UART–AXI.
I2cMasterFunctional
Handwritten I2cMaster FL (FR168) — write+ACK path ≡ tick on i2c_master_dual_stimulus. Not GeneratedFunctional; not FR163 alone.
IpDualModelMatrix
FR103 product entry: co-verify functional + cycle models for the NFR14 IP set.
PortMismatch
One named port that differed between two views.
SharedStimulusScoreboard
Shared stimulus / scoreboard fixture for multi-view co-check (FR92).
Sim
Simulator state for one FrozenHir circuit.
SpiMasterFunctional
Handwritten SpiMaster FL (FR168) — Mode-0 single-byte path ≡ tick on spi_master_dual_stimulus. Not GeneratedFunctional; not FR163 UartRx alone.
SyncFifoFunctional
Depth-4 SyncFifo functional model (architectural PortValues).
SystemcToolchain
Resolved SystemC toolchain (pkg-config).
UartRxFunctional
Handwritten UartRx FL (FR163) — beyond FR135 UartTx / FR126 Gpio / GeneratedFunctional.
UartTxFunctional
Handwritten UartTx FL (FR135) — beyond FR126 Gpio / FR103 SyncFifo / GeneratedFunctional.
Values
Port-level values shared by tick and functional models (AD-17).

Enums§

EquivStatus
Result of a bounded functional ↔ tick equivalence run.
FstError
TickEngine
Select how Sim::tick evaluates FrozenHir.

Constants§

SYSTEMC_PIN_VERSION
Pinned Accellera SystemC line documented for FR101 MVP (Debian/pkg-config).

Traits§

AbstractionView
A handwritten abstraction/bridge cycle (FR29). Compared only via PortValues.

Functions§

axi4_lite_slave_dual_stimulus
Documented Axi4LiteSlave dual-model stimulus (reset + write + read) — FR168.
build_and_run_tlm_at_smoke
Build and run the emitted AT smoke (make run in out_dir).
build_and_run_tlm_lt_smoke
Build and run the emitted LT smoke (make run in out_dir).
check_functional_equiv
Drive the same stimulus on FrozenHir tick and a functional view (handwritten or generated AbstractionView). Consistent PortValues → Pass; first divergence → Fail.
check_functional_equiv_generated
FR30 on the generated path (P3 acceptance): GeneratedFunctional vs tick.
check_generated_bridge
Bridge/compare: generated functional model vs cycle-accurate tick (FR47 leg 2).
check_generated_bridge_with
Same bridge entry with an arbitrary functional view (for deliberate-mismatch tests).
check_mixed_both
Tick RTL and one handwritten view; fail when documented ports disagree.
compare_port_values
Compare PortValues on the intersection of keys (FR29: PortValues only, no TLM).
emit_cycle_accurate_crate
Alias for product naming symmetry with emit_functional_crate.
emit_functional_crate
Alias required by Story 21.2→21.3 product surface naming.
emit_systemc_tlm_at
Emit a SystemC TLM-2.0 AT-subset fixture under out_dir from FrozenHir.
emit_systemc_tlm_lt
Emit a SystemC TLM-2.0 LT-only fixture under out_dir from FrozenHir.
generate_cycle_accurate_sim
Write a cycle-accurate tick-wrapper crate (FrozenHir rebuild + Sim::tick).
generate_functional_sim
Write a standalone Rust functional-sim crate under out_dir.
generate_functional_sim_with_bin
Convenience alias (same as generate_functional_sim).
generate_systemc_tlm_at
Alias for product naming symmetry.
generate_systemc_tlm_lt
Alias for product naming symmetry with emit_functional_crate.
gpio_dual_stimulus
Documented Gpio dual-model stimulus (reset, masked write, pad read) — FR126.
i2c_master_dual_stimulus
Documented I2cMaster dual-model stimulus (reset + write with ACK) — FR168.
parse_branch_report
Parse FR105 branch_hit / branch_miss lines.
parse_report
Parse FR34-compatible toggle hit / miss lines (ignores branch_* / state_*).
parse_state_report
Parse FR109 state_hit / state_miss lines.
reset_then_run
Reset-high one cycle, then n cycles with rst=0.
resolve_systemc
Resolve SystemC via pkg-config. Missing install → readable Err (never silent OK).
resolve_vcd2fst
How to obtain FST: never a homegrown writer (AD-24).
spi_master_dual_stimulus
Documented SpiMaster dual-model stimulus (reset + Mode-0 single-byte RX) — FR168.
sync_fifo_dual_stimulus
Documented SyncFifo dual-model stimulus (reset, push, pop) — FR103 fixture.
uart_rx_dual_stimulus
Documented UartRx dual-model stimulus (reset, 8N1 RX frame, baud_div hold) — FR163.
uart_tx_dual_stimulus
Documented UartTx dual-model stimulus (reset, 8N1 frame, baud_div hold) — FR135.
write_coverage_artifacts
Write coverage.lcov + coverage.html for FR114. Fails if coverage is empty.