open-standards/wai/wai-quantum-landscape-fpga/PROVENANCE.md
Transaction Science 98c4784bb3
Some checks failed
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Has been cancelled
wai-quantum-landscape-fpga reference design / does this change touch it (push) Successful in 50s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 23s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Successful in 4m8s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 31s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 2m59s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Successful in 2m5s
wai-quantum-landscape-fpga: PROVENANCE names the copyright holder, Open Interface Engineering, Inc.
The same holder that relicensed the emulator in #664.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 03:49:23 -05:00

3.1 KiB
Raw Permalink Blame History

Where this design came from

The engine's logic, its register-level model, the host and the power-measurement scripts were written in a private repository, where the first version of the design was built and measured on the board, at commit 24bb5c8e8032e95a614a9db1e6f2e98ac7ea1233. There the host crate's manifest declared CC0-1.0, and the logic, the build script and the shell scripts carried no licence. They are released here under this repository's Apache-2.0, by their copyright holder, Open Interface Engineering, Inc., on 2026-11-05. This repository's LICENSE governs everything under this directory. The logic, the testbenches, the build script, the constraints and the scripts carry SPDX-License-Identifier: Apache-2.0; the Rust sources, as elsewhere in this repository, carry no header and are covered by LICENSE and by license = "Apache-2.0" in Cargo.toml.

What changed from that code

  • The draws. The first version drew its own randomness from a 128-bit xoroshiro128+ register and compared 16 bits against 16-bit cut points, so its sampling was statistical: right in distribution, different in every bit. Here the engine computes the reference's draws, SplitMix64 over a counter, and compares 53 bits against 54-bit cut points the host computes with the reference's cuts, so its sampling kernel gives the reference's bits.
  • The table window. The first version held fields −64 to 63 and refused a job whose uncertain fields fell outside. Here the window's start and width are registers, and the host places them.
  • Fields and cost widen from 11 and 10 bits to 20, and a cell update takes four clocks, not three.
  • The job form. The first host read a request of key=value lines and printed a replay line of its own. Here the host is a Member of wai_quantum::quantum_landscape, so a job is the spec's JSON request, its answer the spec's answer, sealed, and the starts, default temperature, limits and refusals are the reference's, because they are the reference's code.
  • The link. The first version had only the EMIO port. The AXI link (rtl/landscape_axi.v, src/axi.rs), its testbench, the joint-statistics test (src/exact.rs) and the latency measurement (src/latency.rs) were written here, after the release.
  • The member's contract. The host certifies the member and gives it a schedule of temperatures, as the spec's member trait now says; the first host stated its own parity and took a start temperature and a sweep count.
  • Names. Modules, files and the engine's ID (LAND) are named for what they do.

What is not here

No bitstream (README, "Build and load"). Nor the known-answer vehicle the power campaigns checked the meter with: a design of the maintainers' own from 2026-09 and the script that runs it, both in the private repository. A builder uses a known answer of their own (KNOWN_ANSWER in scripts/power_campaign.sh) or none; the null and the clock-scaling check need nothing else. The first version's raw power logs are in measurements/2026-11-05/ as they were written, under that version's tool name; its predictions are the files committed before that measurement, copied unchanged.