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
The same holder that relicensed the emulator in #664. Co-Authored-By: Claude Opus 5.5 <[email protected]>
42 lines
3.1 KiB
Markdown
42 lines
3.1 KiB
Markdown
# 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.
|