Skip to content

Restore bounded integer operations with 23 independent output channels - #281

Merged
zhoubot merged 1 commit into
mainfrom
codex/bounded-integer-operations
Oct 9, 2026
Merged

zhoubot merged 1 commit into
mainfrom
codex/bounded-integer-operations

Conversation

@zhoubot

@zhoubot zhoubot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Restore the complete historical bounded_integer_operations example through existing arithmetic, checked selection and local Table updates. All 23 output fields retain their original widths (116 payload bits), with one request queue and 23 independently consumed depth-one result queues. A shared readiness condition preserves atomic fanout; copied Table values retain their original and intermediate snapshots. No compiler or API changes are needed.

The compact @system preserves the original seven requests and 96-cycle readiness schedule. Independent C++ and RTL oracles add all 256 raw indices, varied payloads and every output independently blocked, plus partial draining, full replacement, held clocks and full/partial reset. Register the design in the nightly catalog and generated navigation.

Validation:

  • Standalone and aggregate-selected module/system CTests: 2/2 each, native workers 1/2 and Verilator.
  • Module: 1,071 Work samples and 50,337 observable assertions per backend; 339 accepted tokens with 23 independent conservation checks.
  • System: 96 cycles, 192 sampling epochs, 384 observations and 49 source-check definitions.
  • Catalog/CMake/verifier unit tests: 108 passed; 19 catalog tests rerun successfully after registration.
  • Changed-file pre-commit, strict MkDocs and diff checks passed.
  • Source-import and transformed units retained; reproduced bodies/interfaces are byte-identical to the verified published units. Both targets use the same final IR.

Local ignored evidence: docs/gates/logs/bounded-integer-20261009/. The source shares one decode and fanout condition instead of repeating arithmetic; generated module IR is 503,775 bytes and system IR 1,940,538 bytes. These sizes do not establish a speedup against the retired frontend.

Four-state, exhaustive 40-bit payload coverage, full-catalog/nightly and cross-platform acceptance are not claimed. This restores one root; five remain in #272, including ordered scans and general parameter-dependent types. Retired range/index/conversion APIs are not restored.

@zhoubot
zhoubot requested a review from xiekunpeng as a code owner October 9, 2026 12:34
@zhoubot
zhoubot merged commit 2ba1d75 into main Oct 9, 2026
2 checks passed
@zhoubot
zhoubot deleted the codex/bounded-integer-operations branch October 9, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant