diff --git a/CLAUDE.md b/CLAUDE.md index 22a2ec4..5981242 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,7 +5,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Commands ```bash -npm install # Install dependencies +npm ci # Install the locked dependencies +npm test # Vitest unit and source-contract tests +npm run test:e2e # Playwright browser tests npm run dev # Start dev server (Vite) npm run build # Production build npm run preview # Preview production build @@ -17,55 +19,51 @@ scripts/setup-surfer.sh # Download Surfer waveform viewer web build into scripts/setup-surfer.sh # Download into a custom directory ``` -There are no tests in this project. +The unit tests use Vitest and the browser tests use Playwright. Keep focused +tests close to the lesson or runtime contract they protect. ## Architecture -This is a Svelte 5 + Vite single-page app. The entry point is `src/main.js` → `src/App.svelte`. +This is a SvelteKit static app using Svelte 5. The lesson route is +`src/routes/lesson/[part]/[name]/+page.svelte`; the root route redirects legacy +`?lesson=N` URLs in `src/routes/+page.js`. -### Lesson Data (`src/tutorial-data.js`) +### Lesson Data (`src/lessons/`) -Lessons are defined in a `parts → chapters → lessons` hierarchy and exported as a flat `lessons` array. Each lesson has: -- `files.a`: starter files (keyed by virtual path like `/src/top.sv`) -- `files.b`: solution delta (merged onto `a` to produce the solution) -- `focus`: the default file to show in the editor -- `html`: inline HTML string for the lesson description +The catalog hierarchy and flat lesson list live in `src/lessons/index.js`. +Titles, focus files, runners, and tops live in `src/lessons/meta.js`. +Each lesson keeps its starter source, solution source, and +`description.html` beside the lesson directory. `src/lib/tutorial-data.js` is +only the compatibility re-export used by the SvelteKit route loaders. -### App State (`src/App.svelte`) +### Lesson State (`src/routes/lesson/[part]/[name]/+page.svelte`) -All state lives in the single root component. Key derived values: -- `solutionFiles = merge(starterFiles, lesson.files.b)` -- `completed = filesEqual(workspace, solutionFiles)` — drives the "solve"/"reset" toggle -- Lesson navigation mutates `lessonIndex`; reactive blocks reset `workspace`, `logs`, and `lastWaveform` on lesson change +The lesson page owns the editor workspace, run state, runtime logs, and +waveform state. Shared completion and settings state lives in +`src/lib/stores/`. Lesson file merging and top-name inference are in +`src/lib/lesson-utils.js`. ### MOX WASM Runtime (`src/runtime/`) Two files handle the runtime bridge: -**`mox-config.js`** — reads Vite env vars and resolves runtime configuration: -- `VITE_MOX_WASM_JS_URL` / `VITE_MOX_WASM_JS_URLS` — JS artifact URL(s) (comma-separated for fallback) -- `VITE_MOX_WASM_URL` / `VITE_MOX_WASM_URLS` — WASM artifact URL(s) -- `VITE_MOX_FACTORY_NAME` — optional Emscripten factory function name -- `VITE_MOX_TOOL_ARGS` — args for `run` (JSON array preferred, space-split fallback) -- `VITE_MOX_SELF_CHECK_ARGS` — args for the self-check smoke test -- Default JS candidates: `/mox/mox.js`, `/mox/mox-bmc.js` -- Default WASM candidates: `/mox/mox.wasm`, `/mox/mox-bmc.wasm` - -**`mox-adapter.js`** — `MoxWasmAdapter` class, lazy-initialized on first `run()` or `selfCheck()`: -- Tries each JS candidate URL in order until one loads successfully -- Detects runtime mode automatically: - - **`custom-runtime`**: `window.MOX_WASM_RUNTIME` global exposes `{ init, run, selfCheck? }` - - **`emscripten-module`**: raw Emscripten output; looks for factory functions (`createMoxBmcModule`, `createModule`, `Module`) then falls back to `window.Module` -- In Emscripten mode, files are written into the module's virtual FS under `/workspace/`, and output waveform is read back from `/workspace/out/waves.vcd` -- Arg templates support `{top}`, `{input}`, `{waveform}` placeholders +**`mox-config.js`** reads Vite env vars and resolves the separate +`mox-verilog`, `mox-sim`, `mox-bmc`, `mox-lec`, and cocotb runtime URLs under +`/mox/`. + +**`mox-adapter.js`** lazy-loads those workers. Plain SystemVerilog lessons +use the unified `mox-run` path; UVM lessons use the bundled UVM compile path; +MLIR lessons use `mox-verilog` followed by `mox-sim`; formal lessons use +`mox-bmc` or `mox-lec`. The adapter writes workspace files under the worker's +`/workspace/` filesystem and reads VCD output from `/workspace/out/`. ### MOX WASM Artifacts -Place built artifacts from the MOX fork (`git@github.com:normal-computing/mox.git`) at: -- `public/mox/mox-bmc.js` + `public/mox/mox-bmc.wasm` -- or custom shim: `public/mox/mox.js` + `public/mox/mox.wasm` +The generated runtime assets live under `static/mox/` and are gitignored. +Use the pinned values in `scripts/toolchain.lock.sh` with the setup/build +scripts to produce them. -Without these files, the runtime will fail gracefully with a log message directing you to run `scripts/setup-mox.sh`. +Without these files, the runtime reports that the Mox artifacts are missing. ### Surfer Waveform Viewer (`src/lib/components/WaveformViewer.svelte`) diff --git a/CURRICULUM.md b/CURRICULUM.md index 94da5bd..00c4999 100644 --- a/CURRICULUM.md +++ b/CURRICULUM.md @@ -18,18 +18,63 @@ Flag numbers identify the weak dimension(s): 1=Concept Focus, 2=Starter Calibrat ## Part 1 — SystemVerilog Basics +### Chapter: Macro Formal Continuations (September 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/macro-formal-continuation` | Macro Formal Continuations | ✅ | — | `sv/classes` | continued `` `define `` text, formal arguments, token pasting | + +### Chapter: Packed-Struct Field References (September 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/struct-field-refs` | Packed-Struct Field References | ✅ | — | `sv/packed-structs` | named access to a packed struct through module connections | + +### Chapter: Indexed Part-Select Bounds (September 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/indexed-part-select` | Indexed Part-Select Bounds | ✅ | — | `sv/data-types` | `+:` indexed selects and four-state out-of-range reads | + +### Chapter: Nested Child Input Propagation (September 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/nested-child-input` | Nested Child Input Propagation | ✅ | — | `sv/always-ff` | live child input connections across nested modules | + +### Chapter: Sequential UDP Initialization (September 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/sequential-udp-init` | Sequential UDP Initialization | ✅ | — | `sv/always-ff` | sequential UDP state, edge-sensitive tables, and output initialization | + +### Chapter: Compile-Mode Status (September 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/compile-mode-status` | Compile-Mode Status | ✅ | — | `sv/modules-and-ports` | native `--mode=compile`, refusal vocabulary, and the S4 UVM qualification runner | + +### Chapter: Clocking Sampler Retention (October 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/clocking-sampler-retention` | Clocking Sampler Retention | ✅ | — | `sv/interfaces` | explicit `#0` clocking-input sampling and same-slot sample retention | + +### Chapter: Protected Envelope Boundary (October 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/protected-envelope-boundary` | Protected Envelope Boundary | ✅ | — | `sv/modules-and-ports` | same-buffer protected-envelope delimiters and no-key opaque handling | + +### Chapter: Virtual Method Provider Closure (October 2026) +| Slug | Title | Status | Score | Prereqs | Teaches | +|---|---|---|---|---|---| +| `sv/virtual-provider-closure` | Virtual Method Provider Closure | ✅ | — | `sv/classes` | virtual overrides, base-class handles, and native AOT provider retention | + ### Chapter: Introduction | Slug | Title | Status | Score | Prereqs | Teaches | |---|---|---|---|---|---| | `sv/welcome` | Welcome | ✅ | 23/27 ⚠️4,5 | — | `module`/`endmodule`, `$display`, simulation loop, tutorial roadmap | | `sv/modules-and-ports` | Modules and Ports | ✅ | 25/27 ⚠️1,4 | `sv/welcome` | port directions (`input`/`output`), `logic`, vectors, `assign`, module instantiation | -| `sv/data-types` | Data Types | ✅ | 25/27 ⚠️5 | `sv/modules-and-ports` | 4-state `logic` (RTL) vs 2-state `int`/`bit` (testbench), X state, `$isunknown()` | +| `sv/data-types` | Data Types | ✅ | 25/27 ⚠️5 | `sv/modules-and-ports` | 4-state `logic` vs 2-state `int`/`bit`, X state, `$isunknown()` | ### Chapter: Combinational Logic | Slug | Title | Status | Score | Prereqs | Teaches | |---|---|---|---|---|---| | `sv/always-comb` | always_comb and case | ✅ | 27/27 | `sv/modules-and-ports` | `always_comb`, `case`/`if` in procedural block, combinational output | -| `sv/priority-enc` | Priority Encoder (casez) | ✅ | 22/27 | `sv/always-comb` | `casez`, `?` wildcard match, priority-ordered selection | +| `sv/priority-enc` | Priority Encoder (casez) | 📝 | — | `sv/always-comb` | `casez`, `?` wildcard match, priority-ordered selection | | `sv/assign-operators` | Operators & Arithmetic | 📝 | — | `sv/modules-and-ports` | `assign`, bit/reduction/ternary operators, signed arithmetic, overflow | > Cover reduction operators (`|req`), ternary, signed arithmetic, @@ -41,7 +86,7 @@ Flag numbers identify the weak dimension(s): 1=Concept Focus, 2=Starter Calibrat |---|---|---|---|---|---| | `sv/events` | Events | ✅ | 24/27 ⚠️4,5,7 | `sv/modules-and-ports` | `event`, `->` (post), `@(event_name)` (wait), concurrent-process synchronization | | `sv/always-ff` | Flip-Flops with always_ff | ✅ | 26/27 ⚠️1 | `sv/modules-and-ports`, `sv/always-comb` | `always_ff`, `posedge`, non-blocking `<=`, unpacked array `mem[]`, 1-cycle read latency | -| `sv/counter` | Up-Counter | ✅ | 23/27 ⚠️1,8,9 | `sv/always-ff` | enable/reset counter, address stepping, `@(posedge clk)` in `initial` | +| `sv/counter` | Up-Counter | ✅ | 23/27 ⚠️1,8,9 | `sv/always-ff` | enable/reset counter, cycle-counted stimulus, `@(posedge clk)` in `initial` | | `sv/shift-reg` | Shift Register | 📝 | — | `sv/always-ff` | bit shift, concatenation `{}`, serial-in/serial-out | > Introduces `[*]` bus shift and multi-bit `always_ff`; prerequisite @@ -79,7 +124,7 @@ Flag numbers identify the weak dimension(s): 1=Concept Focus, 2=Starter Calibrat ### Chapter: State Machines | Slug | Title | Status | Score | Prereqs | Teaches | |---|---|---|---|---|---| -| `sv/enums` | typedef enum | ✅ | 24/27 ⚠️2,9 | `sv/always-ff`, `sv/always-comb` | `typedef enum`, named constants, enum in `case`, apostrophe cast `state_t'(bits)` | +| `sv/enums` | typedef enum | ✅ | 24/27 ⚠️2,9 | `sv/always-ff`, `sv/always-comb` | `typedef enum`, named constants, enum-typed ports, enum in `case` | | `sv/fsm` | Two-Always Moore FSM | ✅ | 27/27 | `sv/enums`, `sv/always-ff`, `sv/always-comb` | two-always Moore pattern (FF state + comb output), FSM-gated SRAM write/read | | `sv/mealy-fsm` | Mealy FSM | 📝 | — | `sv/fsm` | Mealy output depends on current input, single-always style | @@ -89,7 +134,7 @@ Flag numbers identify the weak dimension(s): 1=Concept Focus, 2=Starter Calibrat ### Chapter: Covergroups | Slug | Title | Status | Score | Prereqs | Teaches | |---|---|---|---|---|---| -| `sv/covergroup-basics` | covergroup and coverpoint | ✅ | 24/27 ⚠️2,9 | `sv/parameters` | `covergroup`, `coverpoint`, `sample()`, `$get_coverage()`, functional coverage concept | +| `sv/covergroup-basics` | covergroup and coverpoint | ✅ | 24/27 ⚠️2,9 | `sv/parameters` | `covergroup`, `coverpoint`, event sampling, functional coverage concept | | `sv/coverpoint-bins` | Bins and ignore_bins | ✅ | 23/27 ⚠️7,8,9 | `sv/covergroup-basics` | explicit `bins`, range bins, `ignore_bins`, auto bins | | `sv/cross-coverage` | Cross coverage | ✅ | 25/27 ⚠️9 | `sv/coverpoint-bins` | `cross`, 2D coverage matrix, identifying uncovered `{addr, we}` pairs | diff --git a/README.md b/README.md index f64494e..9183185 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,8 @@ Pinned versions are centralized in `scripts/toolchain.lock.sh`: - Node major: `22` - Emscripten (emsdk): `4.0.21` -- MOX repo: `https://github.com/normal-computing/mox.git` -- MOX ref: `8e8ca87dcda1c8abd47103ae7789c8ed261d5de3` -- LLVM submodule ref: `972cd847efb20661ea7ee8982dd19730aa040c75` +- MOX repo: `https://github.com/normal-computing/mox.git` (ref and LLVM ref are + read from `scripts/toolchain.lock.sh`) Host tools: @@ -99,6 +98,10 @@ In `.env` (copy `.env.example`): - Runtime uses a real 2-stage wasm toolchain by default: - `mox-verilog` lowers SV/SVA/UVM source to MLIR - `mox-sim` executes lowered MLIR and emits VCD for the waveform pane +- UVM lessons are currently qualified in interpreter mode only; `--mode=compile` + does not yet run the UVM-bench rows. Native receipt runs therefore report the + interpreter as the supported UVM path until the corresponding Mox AOT rows + land. - Tool invocations run in isolated Web Workers to avoid global Emscripten symbol collisions and re-entry issues. - UI includes a `self-check` action in the Runtime panel to validate artifact compatibility. - Waves tab appears automatically only when a valid VCD is generated. diff --git a/artifacts/tutorial/SUMMARY.md b/artifacts/tutorial/SUMMARY.md new file mode 100644 index 0000000..466213c --- /dev/null +++ b/artifacts/tutorial/SUMMARY.md @@ -0,0 +1,223 @@ +# sv-tutorial: make lessons pass, fix wrong content, make the QA honest + +## 2026-09-30 continuation + +The repository baseline is `24175be` (`origin/main`). The required install, +unit-test, and production-build commands pass. Browser installation cannot +install OS dependencies without sudo, but an existing Chromium ran the focused +tests. The new findings and receipts are recorded at the top of +`artifacts/tutorial/broken-census.md` and `artifacts/tutorial/content-census.md`. + +Branch `fleet/tutorial-fixes` starts at `origin/main` (`24175be`). Each fix adds a vitest or e2e test that +fails before the commit and passes after it. The complete findings are in `broken-census.md` (things that break) +and `content-census.md` (things that are wrong against IEEE 1800-2023 / 1800.2-2020). + +## What was broken +- **The whole-tutorial QA could not fail.** It asserted "no `exit code: 1`" right after clicking Run, before any + output appeared. Its lesson list was hand-copied and had drifted: 62 of 73 lessons, with stale titles. Once + fixed, 23 of 73 solutions failed in the browser. +- **CI is red on main.** + - `ci`: the UVM smoke hits a `mox-verilog` `Aborted()` while compiling uvm-core. The `uvm_re_*` lines are remarks, not the cause. + - `uvm-nightly`: red since 2026-03. + - `e2e-waveform`: cancelled at its 20-minute limit, because the specs expect `mox-verilog`/`mox-sim` for lessons + that now run through `mox-run`. +- **The pinned WASM (release `mox-wasm`, Mox 805b42d2) breaks 16 lessons that current native Mox runs correctly:** + - all 12 UVM lessons; + - Interfaces, Modports and Tasks ("memory access out of bounds"); + - FSM (false "mem driven by always_ff"). +- **Mox BMC crashes on sequence-basics Verify** (assert with a pass action; GAPS.md TUT-SVA-4). +- **Every cocotb lesson hung the page.** mox-sim-vpi in the pinned WASM aborts when the simulation starts (native Mox + and real cocotb 2.0.1 pass all four). The abort happened during an Asyncify rewind, so the worker never answered + and Run stayed on "Cancel" forever. The shim also lacked `ReadOnly` and cocotb 2.0's `unit=` keyword, which two + lessons use. +- **The waveform toolbar's transition buttons did nothing on lessons whose signals change at time 0.** The viewer + skipped all changes at the dump time when picking the signal to focus, so on modules-and-ports it picked none. +- **The lessons/waveform e2e specs were stale or vacuous:** they expected the old tool names, used a removed lesson + and an old toolbar protocol, and checked BMC logs before BMC had printed anything. +- **The MLIR lessons never ran their testbenches.** Run simulated only the focus file's design module, so + `*_tb.mlir` checks never executed. seq and lowering failed outright, and intro and comb "passed" without printing + anything. + +## What was wrong (content) +Fixed here: +- **Constrained Randomization:** the solution could not pass on any simulator. Inline `with {}` constraints are + added to the class constraints, not substituted for them (§18.7), so the "override" was infeasible. `low_bank_c` + is now `soft` (§18.5.13), and the description explains why. +- **Dynamic Arrays and Queues:** the solution hung on every simulator. + - `logic [3:0] v = q.pop_front();` in a loop body is a static variable, so its initializer runs once (§6.21). + It is now `automatic`. + - `logic'(i)` truncated the addresses to 1 bit (§6.24.1). It is now `4'(i)`. + - The testbench now checks the queue size after the pushes. +- **assume property:** the assume `rst |-> state == 0` constrained a design output. It failed in simulation at the + first edge (state X), and it did not rule out a non-reset initial state in BMC. It is now + `initial assume property (@(posedge clk) rst);` (§16.14.6), with the description reworded. Xcelium passes it. + Mox still fails Run, because it evaluates the initial assume at every edge (TUT-SVA-7). +- **UVM:** + - `uvm_top` and `finish_on_completion` are not in IEEE 1800.2-2020 (F.7). Replaced with + `uvm_root::get().set_finish_on_completion(0)`. + - `mem_item` fields were used in `uvm_field_*` macros before their declaration (§6.5). +- **Coverage lessons printed 0%:** the browser now enables coverage collection when a design declares a + `covergroup`. + +Still open (author decisions; see content-census.md): about 100 rows. The main ones: +- Most BMC lessons check a monitor whose inputs are all free, so Verify finds a counterexample for the *solution*. +- Several SVA explanations are wrong: checker `|=>` window, throughout `mosi[*8]`, `intersect` burst, recursive + tautology, reject_on vs sync_reject_on, `.triggered` restriction. +- `$bits(16)` is described as 4 (it is 32). +- coverpoint-bins has no ignore_bins. +- The modports snippet omits `clk`. +- Weak testbenches in 8 SV lessons accept wrong designs (mutations print PASS). + +## What changed +One commit per issue, each with the test that fails before it and passes after: + +| Commit | Change | Test | +|---|---|---| +| `24e2a82` | uvm: declare mem_item fields before the uvm_field_* macros | `src/lessons/lesson-sources.test.js` | +| `45c87e7` | uvm: use `uvm_root::get().set_finish_on_completion(0)`, not `uvm_top` | `src/lessons/lesson-sources.test.js` | +| `67d45ef` | runtime: enable coverage collection for designs with covergroups | `src/runtime/mox-adapter.test.js` | +| `cc306c9` | e2e: the all-lessons QA waits for each run and names known failures (`test.fail` + reason) | `e2e/qa-all-lessons.spec.js`, `e2e/lesson-run.js` | +| `44fd83e` | sv/randomization: `soft` low_bank_c | QA run entry (known failure before, removed) | +| `440d8d6` | sv/queues-arrays: `automatic` pop variable, `4'(i)`, size check, description | QA run entry (known failure before, removed) | +| `3c5b151` | mlir: run the `@tb` testbench together with the design | `src/runtime/mox-adapter.test.js`, `e2e/mlir-run.spec.js`, QA entries removed | +| `c9cb02a` | sva/formal-assume: assume reset at the first edge | `src/lessons/lesson-sources.test.js` (assumptions name only inputs) | +| `e119e6d` | e2e: lessons/waveform specs expect `$ mox-run` | `e2e/lessons.spec.js`, `e2e/waveform.spec.js` | +| `6564184` | cocotb: end the run when the simulator aborts instead of hanging | `e2e/cocotb-run.spec.js` | +| `8783379` | cocotb: shim `ReadOnly` (cbReadOnlySynch, §38.36.2) and `unit=` | `src/runtime/cocotb-shim.test.js`, `src/runtime/cocotb-worker-source.test.js` | +| `a8dcd88` | waveform: count changes at the dump time when picking the focused signal | `src/lib/vcd.test.js`; toolbar and transition_next e2e | +| `46c7eed` | e2e: update the stale waveform and formal checks | `e2e/waveform.spec.js`, `e2e/lessons.spec.js` | +| `a10a082` | e2e: the QA waits for hydration before clicking (a lost Run click flaked 1 of 90) | reproduced by delaying the app's JS 1.5 s | + +### Landed capability chapters + +Added six one-lesson chapters for user-facing SystemVerilog capabilities +landed in Mox between September 22 and October 1, 2026. The UDP chapter +tracks landing tip `36b040f6190c`, and the virtual-provider chapter tracks +`3bc88e77921e`; the pinned browser WASM remains unchanged. + +| Lesson | IEEE reference | Mox native | Xcelium/refdiff | Evidence | +|---|---|---|---|---| +| `sv/macro-formal-continuation` | §22.5.1 | starter FAIL; solution PASS in interpreter and compile modes | solution PASS; output equal | `artifacts/tutorial/capability-receipts/*macro-formal-continuation*` | +| `sv/struct-field-refs` | §7.2.1 | starter FAIL; solution PASS in interpreter and compile modes | solution PASS; output equal | `artifacts/tutorial/capability-receipts/*struct-field-refs*` | +| `sv/indexed-part-select` | §11.5.1 | starter FAIL; solution PASS in interpreter and compile modes | solution PASS; output equal | `artifacts/tutorial/capability-receipts/*indexed-part-select*` | +| `sv/nested-child-input` | §§23.2.2, 9.4.2 | starter FAIL; solution PASS in interpreter and compile modes | solution PASS; output equal | `artifacts/tutorial/capability-receipts/*nested-child-input*` | +| `sv/sequential-udp-init` | §§29.3.2, 29.6, 29.7 | starter FAIL; solution PASS in interpreter and compile modes | starter both_fail; solution PASS; output equal | `artifacts/tutorial/capability-receipts/*sequential-udp-init*` | +| `sv/virtual-provider-closure` | §§8.20, 8.22 | starter FAIL; solution PASS in interpreter and compile modes | starter both_fail; solution both_pass; output equal | `artifacts/tutorial/virtual-provider-closure/*` | + +The capability receipt summaries are in +`artifacts/tutorial/capability-receipts/{summary,final-summary}.tsv`. +Their corrected-tip hashes, native/reference argv, and the final build/e2e +receipt are recorded in +`artifacts/tutorial/capability-receipts/PROVENANCE.md`. + +## Receipt coverage on origin/main + +The 80 registered lesson slugs are now accounted for by either the original +generic receipts, a capability-specific bundle, or the missing-matrix bundle +at `artifacts/tutorial/receipts/20261001-missing/`. That matrix records the +18 previously uncovered slugs: native Mox passes for both RTL lessons and all +four MLIR testbench runs; the advanced UVM rows retain their current native +compile failures; and the cocotb native prerequisite failure is recorded as +`BLOCKED`, not a pass. The coverage invariant is enforced by +`src/lessons/receipt-matrix.test.js`. + +The full browser route receipt is +`artifacts/tutorial/e2e/tutorial-full-e2e-20261001.log`: `npm run test:e2e` +completed on October 1, 2026 with 177 passed and 54 failed (exit 1). The log +is intentionally kept even though the suite is red, so pinned-WASM failures +and current route behavior remain visible rather than being described as +landed functionality. + +### Compile-mode status chapter + +`sv/compile-mode-status` is a runnable native compile smoke test plus a status +page for the AOT census. Its browser run is interpreter-backed; native Mox +`--mode=compile` passes the solution, while the latest S4 receipt for the five +frozen UVM rows is honestly `0/5` at published tip `a0c4488a587`. Rows 0 and 2 +are `HELD`; rows 1, 3, and 4 are `NEW-REFUSAL` after provider closure moved +their refusal stage. The chapter and durable receipts are in +`src/lessons/sv/compile-mode-status/` and +`artifacts/tutorial/compile-mode-status/`. The differential receipts bind +their source hashes to the committed fixtures and preserve the refdiff cache +keys; `src/lessons/landed-capabilities.test.js` guards that identity. + +### Clocking sampler retention chapter + +`sv/clocking-sampler-retention` is a runnable lesson for explicit `#0` +clocking-input sampling and same-slot retention under IEEE 1800-2023 §14.3 and +§14.13. The starter fails with the default `1step` skew; the solution passes in +native interpreter and compile modes and both variants have Xcelium `refdiff` +receipts. The focused browser run is 1/1 through the pinned interpreter-backed +WASM runtime. Receipts and current-main MQ93 provenance are under +`artifacts/tutorial/clocking-sampler-retention/`. + +### Protected envelope boundary chapter + +`sv/protected-envelope-boundary` documents only Mox's landed same-buffer, +comment-form callback with no keyring. The solution passes native interpreter +and compile modes; the starter fails on the missing `end_protected` marker. +Xcelium's `refdiff` is deliberately recorded as `reference_only_fail` because +it attempts decryption of the unkeyed envelope, and the pinned browser WASM is +an expected known failure until a WASM rebuild. The cross-include limitation +from the protected-envelope audit is stated in the lesson rather than hidden. +Receipts are under `artifacts/tutorial/protected-envelope-boundary/`. + +## WASM rebuild (done locally, NOT published; release `mox-wasm` is unchanged) +Built with emsdk 4.0.21 from Mox main `9c5418532b9` (and landing `ea0fcd2`): mox-verilog, mox-sim, mox-bmc and +mox-lec. Mox has no wasm target for mox-run (GAPS TUT-WASM-MOXRUN), so two more commits went in: +- `d760369`: the adapter falls back to mox-verilog + mox-sim when `mox-run.wasm` is absent (vitest). +- `24175be`: the build script passes C++20 to the NATIVE host sub-build (GAPS TUT-WASM-NATIVE-CXX20). + +The all-lessons QA on the rebuilt WASM gave 63 passed and 11 failed (log: `ci/qa-wasm-main-9c54.log`). Every +failure is a Mox gap, so **do not publish this WASM yet**: +- TUT-WASM-UNLINKED-RUNTIME: the wasm mox-sim cannot resolve the `__mox_sim_*` runtime hooks. This breaks the + covergroup, coverpoint-bins, classes and queues lessons. +- TUT-WASM-CROSS-ABI: mox-verilog asserts on any `cross` (a wasm32 ABI size check). +- TUT-WASM-ALLOCA-RETIRE: mox-sim aborts at teardown after an event wait or a queue push. This breaks Events and + Randomization. +- TUT-BMC-LTL-NOT: mox-bmc fails to legalize `ltl.not`, which breaks Immediate Assertions, Recursive Properties and + assume property Verify. Native Mox fails the same way. +- Concurrent Assertions in Simulation: this is not a bug. The new mox-sim reports the deliberate `req_gnt_check` + failure. The matching QA change is in `qa-concurrent-sim-with-new-wasm.patch`, which is uncommitted on purpose: + it would fail against the old WASM. Apply it together with the publish. + +Once these are fixed, publish, update `scripts/toolchain.lock.sh` and the README pins, and delete the `test.fail` +entries that then report "unexpectedly passed". + +**Update 18:55 UTC: WASM with native 0033 (TUT-WASM-ALLOCA-RETIRE fix).** Mox 9c54 + `0033` rebuilt locally. The QA +gives 67 passed and 7 failed (log `ci/qa-wasm-9c54-0033.log`). Events, Classes and Objects, Randomization and Concurrent Assertions +in Simulation (with the held QA patch) now pass. The 7 left are UNLINKED-RUNTIME (15, 16, 19), CROSS-ABI (17) and +BMC-LTL-NOT (25, 47, 48). Still do not publish; 0033 is in review. + +**CI's UVM smoke (`ci` run 36034279627, old release WASM).** The `uvm_re_*` lines are compile-time remarks, not +a runtime `UVM/DPI/REGEX` error. `mox-verilog.wasm` itself aborts while compiling uvm-core (log: +`ci/ci-36034279627-failed.log`). Recheck it against the rebuilt WASM before planning any DPI bridge change. + +## Left open (documentation and a legacy harness; no behaviour change, so no test) +- B14: `scripts/test-all-lessons.mjs` predates mox-run and accepts any `PASS` line. Retire it in favour of + `e2e/qa-all-lessons.spec.js`, or port it to mox-run and require a final PASS with exit 0. +- B15: CLAUDE.md still describes `src/tutorial-data.js` / `App.svelte`. Lessons are in `src/lessons/` and the app + is SvelteKit. + +## Needs a Mox fix (GAPS.md) +- TUT-SVA-3: `disable iff` over a Boolean property / compound immediate assert crash BMC (`ltl.not`). +- TUT-SVA-4: an assert with a pass action crashes BMC. +- TUT-SVA-2: weak sequences refuted by BMC. +- TUT-SVA-1: ranged-delay covers never fire. +- TUT-SVA-5: late failure reporting. +- TUT-SVA-6: reject_on treated as synchronous. +- TUT-UVM-DIAG: diagnostics lost under `--uvm-path`. +- TUT-SVA-7: an `initial` assert/assume property is evaluated at every clock edge instead of once (§16.14.6); blocks + formal-assume Run. +- TUT-VCD-DUMPVARS-TIME: the VCD writer puts `#0` inside `$dumpvars` (§21.7.2.1). The viewer now tolerates it. + +## How to test +Install the runtime assets first: `scripts/setup-surfer.sh` and `scripts/setup-pyodide.sh` (the waveform and cocotb +tests are meaningless without them), plus the pinned WASM in `static/mox`. Then run `npx vitest run` and +`npx playwright test e2e/qa-all-lessons.spec.js e2e/mlir-run.spec.js e2e/cocotb-run.spec.js e2e/lessons.spec.js e2e/waveform.spec.js`. +Stop any running `vite preview` on port 4173 first, because Playwright reuses an existing server. + +Last verified at `a10a082`: vitest 52/52; the five e2e specs give 90 passed and exit 0. Each known failure is a `test.fail` +with its reason, so it will show up as "unexpectedly passed" once fixed. + +🤖 Generated with [Claude Code](https://claude.com/claude-code) diff --git a/artifacts/tutorial/broken-census.md b/artifacts/tutorial/broken-census.md new file mode 100644 index 0000000..c13f2f9 --- /dev/null +++ b/artifacts/tutorial/broken-census.md @@ -0,0 +1,80 @@ +# sv-tutorial BROKEN census + +## Current-main refresh — 2026-09-30 + +This refresh is against the fetched repository tip `24175be` (`origin/main`; +the coordinator-referenced `bcdf57717c1` is a Mox landing tip and is not a +commit in this repository). Required baseline receipts: + +- `npm ci`: exit 0; 143 packages installed; npm reports 10 audit findings. +- `npm test`: exit 0; 12 files / 53 tests passed. +- `npm run build`: exit 0; Svelte emits existing a11y and duplicate-output warnings. +- `npx playwright install --with-deps chromium`: exit 1 because sudo cannot + prompt on this host. Chromium was nevertheless already available, so the + suite ran. +- `npx playwright test e2e/qa-all-lessons.spec.js`: exit 1; the run reached + the runtime matrix, then was stopped after the UVM portion began. Observed + failures include unlinked `__mox_sim_register_host_allocation`, unlinked + `__mox_sv_open_array_copy_or_register_bounds`, and BMC `ltl.not` legalization. +- `npx playwright test e2e/mobile-nav.spec.js e2e/split-view.spec.js e2e/offline.spec.js`: + exit 1; 6 passed, 3 failed because `sv/priority-enc` is not a current route. + +The local browser assets are the 2026-09-24 rebuilt artifacts and contain no +`mox-run.js`/`mox-run.wasm`; plain SV therefore logs the fallback +`mox-verilog` + `mox-sim` path. The deployed release remains a separate WASM +qualification concern and is not changed by this branch. + +The eight sampled `uvm-nightly` runs (September 22–29, 2026) all reproduce the +same compile-stage `Aborted()` in `mox-verilog` while importing uvm-core; the +`uvm_re_*` lines are compiler remarks, not an executed regex failure. The +full raw logs are in `/tmp/tutorial-uvm-nightly-*.log` when collected by the +coordinator. + +Branch `fleet/tutorial-fixes` (from main 1d90d97). "Broken" means something a learner or CI can observe +failing: a crash, a red workflow, or a solution that does not pass. Content that runs but is *wrong* is in +content-census.md. + +Evidence sources: +- **Browser QA** (before any fixes: 50 passed / 23 failed): `e2e/qa-all-lessons.spec.js`, rewritten on this branch. It covers every lesson in + `src/lessons/meta.js` and waits for each run to finish. The full log is at `/tmp/tut/qa-new.log`. +- **Pinned WASM**: `gh release mox-wasm`, "built from normal-computing/mox @ 805b42d2", published 2026-06-25. +- **Native Mox**: landing `build-dev-fast`. +- **Xcelium**: via `fleet/bin/refdiff` / `refsim`. + +Severity: **S1** = a learner cannot complete a lesson, or CI is red. **S2** = a wrong result is visible. +**S3** = tooling or documentation rot. + +| # | failure | reproducer | root cause | proposed fix | sev | status | +|---|---|---|---|---|---|---| +| B1 | The old whole-tutorial QA was vacuous and passed while lessons were broken. It asserted `not.toContainText('exit code: 1')` straight after clicking Run, which resolves before the run has produced any output. Its hardcoded lesson list (62 entries) also had drifted from meta.js (73 lessons, stale titles such as "Tasks and Functions"). | `git show main:e2e/qa-all-lessons.spec.js` | The spec never waited for the run to end, and the lesson list was copied instead of derived. | Derive LESSONS from meta.js. `runAndWait()` waits for `$ mox` and then for the button to leave its "Cancel" state, and the test asserts on the finished log (`e2e/lesson-run.js`). | S1 (hides every other item) | fixed on branch | +| B2 | The `uvm-nightly` workflow has failed every night since 2026-03. The `ci` workflow's UVM smoke fails on main (run 28242548385): `mox-verilog` hits `Aborted()` right after `uvm_report_error("UVM/DPI/REGEX", uvm_re_buffer())`. | `gh run view 28242548385 --log-failed`. In the browser, open any `uvm/*` lesson and click Run. | This is a defect in the pinned WASM (805b42d2). Current native Mox compiles and runs all 12 UVM solutions. | **WASM rebuild required** (emscripten is not available in this lane). | S1 | needs WASM rebuild | +| B3 | Two-Always Moore FSM (`sv/fsm`, and every lesson that instantiates `sram.sv`) fails: `sram.sv:10:13: error: variable 'mem' driven by always_ff procedure`, `# mox-run exit code: 1`. | QA [14], or Solve then Run in the browser | This is a false multiple-driver diagnostic in the pinned mox-run WASM. Native Mox and Xcelium both accept the design. | **WASM rebuild required** | S1 | needs WASM rebuild | +| B4 | Interfaces, Modports and Tasks crash: `# runtime unavailable: RuntimeError: memory access out of bounds`. | QA [9], [10], [12] | This is a trap inside the pinned mox-run WASM. Native Mox runs all three solutions and prints PASS. The adapter's mox-run path retries only on `Aborted(`/OOM (`isRetryableSimAbortText`), so this is not retried. | **WASM rebuild required**. See the adapter-retry note below. | S1 | needs WASM rebuild | +| B5 | Dynamic Arrays and Queues never finishes: the log fills with `pop: x`, the renderer grows to about 6.5 GB, and the run is still in "Cancel" after 180 s. | QA [19]. `refdiff addr_buf.sol.sv`: Xcelium TIMEOUT and Mox TIMEOUT. | The lesson content is wrong (not the WASM; this corrects an earlier draft). `logic [3:0] v = q.pop_front();` in the loop body declares a static variable, and its initializer runs once, at time 0, while q is empty. So the loop never pops (§6.21 requires an explicit `static` there). `logic'(i)` also truncates the addresses to 1 bit (§6.24.1). | Use `automatic logic [3:0] v = q.pop_front();` and `4'(i)`, and check the queue size after the pushes. After the fix both simulators PASS. | S1 | fixed on branch | +| B6 | The Constrained Randomization solution fails on every simulator: `*W,SVRNDF randomize method call failed`, `FAIL: addr not in high bank`. | QA [21]. `refdiff rand_txn.sol.sv`: Xcelium FAIL (exit 2), Mox FAIL (exit 1). | The lesson content is wrong: inline `with {addr inside {[8:15]}}` is solved *together with* the class constraint `low_bank_c {addr inside {[0:7]}}` (IEEE 1800-2023 §18.7), which leaves no solution. | Make `low_bank_c` `soft` (§18.5.13) and explain it in the description. After the fix both simulators PASS. | S1 | fixed on branch | +| B7 | UVM covergroup, cross-coverage and coverage-driven report 0% coverage. coverage-driven hits its `$fatal` after 50 iterations, and covergroup raises `UVM_ERROR`. | Native `mox-run` without `--coverage-report`, or Xcelium without `-coverage functional` | Mox (like Xcelium) samples covergroups only when coverage collection is on, and the browser never enabled it. | The adapter adds `--coverage-report` to mox-run/mox-sim when a file declares a `covergroup` (vitest in `mox-adapter.test.js`). | S1 | fixed on branch (the pinned WASM has the flag) | +| B8 | All 12 UVM lessons are rejected by a standard UVM: Xcelium's IEEE UVM gives `*E,CUVUNF uvm_top` and `*E,UNDIDN` (a field used in `uvm_field_*` before it is declared). | refsim on any `uvm/*/tb_top.sv` or `mem_item.sol.sv` | `uvm_top` and the `finish_on_completion` field are not in IEEE 1800.2-2020 (F.7.2.2, F.7.3.4). Using a variable before its declaration violates IEEE 1800-2023 §6.5. | Use `uvm_root::get().set_finish_on_completion(0)` and declare fields before the macros (vitest `src/lessons/lesson-sources.test.js`). | S2 | fixed on branch | +| B9 | Sequences and Properties Verify crashes: `'llhd.process' op cannot be handed off from llhd-structuralize-processes to llhd-eliminate-processes`, `# mox-bmc exit code: 1`. | QA [26]; `/tmp/tut/audit/repro/bmc_pass_action.sv` | This is a Mox BMC bug: a concurrent assert with a *pass* action block crashes the pipeline. The bug is also present in native Mox. | Fix in Mox (GAPS.md). | S1 | Mox bug | +| B10 | `disable iff` on a Boolean property, and immediate asserts on compound expressions, crash BMC (`failed to legalize operation 'ltl.not'`). This hits recursive, formal-assume and immediate-assert. | `/tmp/tut/audit/repro/bmc_disable_bool.sv`, `bmc_imm_compound.sv` | Mox BMC bug (also present in native Mox) | Fix in Mox (GAPS.md) | S1 | Mox bug | +| B11 | The assume property lesson fails in simulation: `SVA assumption failed at time 5000000 fs`. | QA [48]. Xcelium: `__assert_1 has failed` at 5 NS. | The lesson content is wrong: `assume property (rst \|-> state==0)` is checked at the first edge while `state` is still X. The lesson also never constrains the initial reset (§16.14.2). | Replace it with `initial assume property (@(posedge clk) rst);` (§16.14.6): the environment starts in reset. Verify (BMC) now passes in the browser. Xcelium passes the simulation, but Mox evaluates the initial assume at every clock edge (GAPS TUT-SVA-7), so Run still fails. | S1 | content fixed on branch; Run blocked by Mox gap TUT-SVA-7 | +| B12 | For nearly every BMC lesson, Verify on the *solution* reports "Assertion can be violated" (SAT). Only formal-intro and seq-args prove. | `/tmp/tut/audit/sva-bmc/all.txt` | Monitors whose inputs are all free are not constrained, so any property on them can be violated (§16.12.2). | Add a DUT or assumptions per lesson (content-census, systemic row) | S2 | open | +| B13 | `e2e/lessons.spec.js` and `e2e/waveform.spec.js` expect `$ mox-verilog`, `$ mox-sim` and `--mode interpret` for plain SV lessons. Since a369bce and c257a60 these run through `mox-run` without `--mode`, so both specs fail. The `e2e-waveform` workflow is cancelled at its 20-minute limit on main. | `npx playwright test e2e/waveform.spec.js` | The specs were not updated when the lessons moved to mox-run. | Expect `$ mox-run`, and drop the `--mode interpret` assertion. | S3 | fixed on branch | +| B14 | `scripts/test-all-lessons.mjs` (node harness) does not run against the current artifacts. It drives `mox-verilog` + `mox-sim` rather than `mox-run` (which the browser uses), and treats any line starting with `PASS` as a pass, so a half-correct design passes (counter mutation). | `node scripts/test-all-lessons.mjs` | The harness predates mox-run, and its pass detector is too weak. | Retire it in favour of the e2e QA, or port it to mox-run and require a final PASS with exit 0. | S3 | open | +| B15 | Documentation rot. README and CLAUDE.md had copied Mox hashes and the removed `src/tutorial-data.js` / `App.svelte` architecture. | `git show 0f383cc` plus `src/lessons/repo-docs.test.js` | Pins and architecture notes were hand-copied and drifted. | README now defers to `scripts/toolchain.lock.sh`; CLAUDE.md describes the current SvelteKit/lesson/runtime tree. The shipped release identity remains historical evidence. | S3 | fixed on branch | +| B16 | MLIR lessons never run their testbench. Run simulates only the focus file's design module, so the `*_tb.mlir` checks never execute: intro and comb print nothing and "pass", while seq and lowering fail (mox-sim cannot interpret a bare `seq.hlmem` / `sv.reg` top). | QA [66]-[69] | `pickTopModules` uses the focus-derived top, and the adapter simulated a single `.mlir` file (`pickMlirSourcePath`). | Pick `tb` when a file defines `hw.module @tb`, and simulate all `.mlir` files as one module (vitest, `e2e/mlir-run.spec.js`). Native mox-sim prints PASS for all four. | S1 | fixed on branch | +| B17 | $isunknown fails its QA run on purpose: `tb.sv` injects X, and 3 SVA failures plus exit 1 are the intended outcome. | QA [24] | The lesson is working as designed; the QA only lacked a way to express that. | The QA expects the three named assertion failures and no runtime crash. | — | fixed in QA | +| B18 | Every cocotb lesson aborts in the browser: `Aborted(Assertion failed: detail::isPresent(Val) && "dyn_cast on a non-existent value" ... Casting.h)` right after `[mox-sim] Starting simulation`. Earlier QA runs missed this because `static/pyodide` was absent locally (`importScripts` failed) and the old checks did not require the shim's `PASS name` line. | QA [70]-[73] after `scripts/setup-pyodide.sh`; `/tmp/tut/coco-probe.mjs` | Pinned mox-sim-vpi WASM (805b42d2). Native landing mox-sim `--vpi libcocotbvpi_ius.so` with real cocotb 2.0.1 passes all four lesson solutions. | WASM rebuild | S1 | needs WASM rebuild | +| B19 | After that abort, the Run button stays on "Cancel" forever and no result is reported. | QA [70]-[73] timed out at 180 s | An Emscripten abort inside an Asyncify rewind throws outside `callMain`'s try/catch, so `Asyncify.whenDone()` never settles and the worker never posts a result. | `Module.onAbort` resolves a promise raced against `whenDone()`; the result is `ok: false` (`e2e/cocotb-run.spec.js`). | S2 | fixed on branch | +| B20 | cocotb/edge-triggers and clockcycles-patterns use `ReadOnly` and `Clock(..., unit="ns")`, which the shim did not provide (ImportError / TypeError). | `src/runtime/cocotb-shim.test.js` | The shim implemented the cocotb 1.x subset only. | `ReadOnly` registers a zero-delay cbReadOnlySynch callback (§38.36.2), and Timer/Clock accept `unit=` as well as `units=`. The browser check is blocked by B18. | S1 | fixed on branch | +| B21 | Beyond B13, the lessons and waveform specs had five more stale or vacuous checks, and they hid a viewer bug. (1) The toolbar test expected command blobs from the transition buttons, which inject `MoveCursorToTransition` since 5e9b59a. (2) The transition_next test opened the removed `sv/priority-enc`. (3) concurrent-sim expected 'SVA assertion failed', but the lesson's else block prints its own `$error`. (4, 5) immediate-assert and sequence-basics checked the log before mox-bmc had printed anything, so they passed however BMC ended. The viewer bug: `firstTransitioningVar` dropped every change at the dump time that followed `$dumpvars`, so modules-and-ports auto-selected nothing and its transition buttons did nothing. Mox also writes `#0` inside `$dumpvars`, which Syntax 21-20 does not allow (GAPS TUT-VCD-DUMPVARS-TIME). | `npx playwright test e2e/lessons.spec.js e2e/waveform.spec.js` (after `scripts/setup-surfer.sh`) | The tests were not updated with the viewer/lesson changes; the viewer's VCD scan reset the time when it skipped the dump block. | Move the scan to src/lib/vcd.js and carry the dump time over (with a vitest). Update the specs, wait for runs to finish, and mark sequence-basics test.fail (TUT-SVA-4). | S3 | fixed on branch (a8dcd88, 46c7eed) | + +## Adapter-retry note (B4) + +`runOnce(withTraceAll=true)` is retried without `--trace-all` only when the error text matches +`isRetryableSimAbortText` (`Aborted(` or OOM). A `memory access out of bounds` trap is not retried there, +although it *is* treated as retryable for mox-verilog. This is recorded as an observation, not a fix: retrying +would only hide a runtime bug in the WASM, and the root-cause fix is the rebuild. + +## Needs a WASM rebuild (cannot be done in this lane: emscripten is not installed) +B2, B3, B4, B18. After a rebuild at current Mox, re-run `npx playwright test e2e/qa-all-lessons.spec.js`. +The `test.fail` annotations for these lessons will then fail, which marks them for removal. diff --git a/artifacts/tutorial/capability-receipts/PROVENANCE.md b/artifacts/tutorial/capability-receipts/PROVENANCE.md new file mode 100644 index 0000000..040d2a8 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/PROVENANCE.md @@ -0,0 +1,59 @@ +# Capability receipt provenance + +The corrected receipt bundle contains 54 files and includes the sequential-UDP +chapter validated against Mox landing tip `36b040f6190ce488d406ce49a1c5e0aafb85d6ac`. +The native receipt binary is an intermediate landing binary reporting +`e81e1f9272f85df16ed1a479d2b3eba670f022f1`, from before the unqualified readmem +change was reverted by `4d6185ae036d939c9b7266fe89a25f92ed9c294e`. That binary +identity is not evidence that this binary is published. The reverted source +tree differs from current Mox `origin/main` only in the Mako dependency pin, +and no lesson source uses readmem. The tutorial's browser WASM remains the +pinned release; it was not rebuilt. + +## Immutable hashes + +- `final-summary.tsv`: `4e7a47aad5188a3b7ec2bcdd6609e04f46e9f0013495ee4c792c25cc9309e6a2` +- Sorted `sha256sum` digest of the 54 receipt files in this directory, + excluding this provenance file: `b14ade8bf5482d7517d5a31731b9bb12118aa068de0f8a47764d8f57dc14031a` + (computed from `sha256sum` output over filenames sorted within this directory). +- Solution source hashes are recorded in each `refdiff` row of `final-summary.tsv`: + `macro-formal-continuation` `70bcc182fc6b32c4e8fac7eaee06196d845ffe8aed28318e592a8887a42224fd`; + `struct-field-refs` `4eb7d716460e54ad94242d81f5f1d9c5fb67d1565c250a62ca6ec2d251d43555`; + `indexed-part-select` `ece4013deb0c782d749812bba7586a9ea7dd9b2750bfa3747931782e4ea79c64`; + `nested-child-input` `353b4404864303525e4a800307026c25dbde4a0a27faee79c3c56d319afbaa62`. +- The `sha256` field in each UDP differential receipt is the committed source + blob hash; the `refdiff_cache_key` field preserves the cache identity emitted + by the differential command. Actual SHA-256 source hashes for the new UDP fixture are + `sequential_udp.sv` `8b4d8ad11e344f9dc8686bfb0dd7de116f9f6cf8820898f6b1e2350d2ba59557` + and `sequential_udp.sol.sv` `657718f5569a38a703a0a7795f34f317aac9f35bb83ae5f46b19c7220fa38540`. + +## Native and reference argv + +Each native receipt used the following command shape, with the lesson's +self-contained source substituted for `` and `--mode` set to the +recorded mode: + +```text +taskset -c 0-79 timeout --kill-after=3s 30s /var/tmp/thomas-ahle/wt/landing/build-dev-fast/bin/mox-run --single-unit --timescale=1ns/1ns --mode= --max-wall-ms=25000 +``` + +Each differential receipt used: + +```text +/var/tmp/thomas-ahle/fleet/bin/refdiff --build-dir /var/tmp/thomas-ahle/wt/landing/build-dev-fast +``` + +The full JSON results, including source hashes, verdicts, and build directory, +are the `*.final.txt` files beside the TSV summary. + +## Final validation on the corrected tip + +- `npm test`: 13 files, 57 tests passed. +- `npm run build`: exit 0. +- `npm run test:e2e`: completed in 15.3 minutes with 131 passed and 98 failed + (exit 1); the failures are the existing pinned-browser-WASM/Mox and stale + route limitations. The sequential-UDP target passed 1/1 against the pinned + browser assets. The immutable full-suite log is + `artifacts/tutorial/e2e/tutorial-udp-full-e2e.log` (SHA-256 + `043df075681607526f60e3c0a1319dcd5fef170e2572335d8c1638ac9c1128c9`). + No WASM rebuild was made. diff --git a/artifacts/tutorial/capability-receipts/final-summary.tsv b/artifacts/tutorial/capability-receipts/final-summary.tsv new file mode 100644 index 0000000..af3d185 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/final-summary.tsv @@ -0,0 +1,26 @@ +sv/macro-formal-continuation starter interpret 0 FAIL: macro expansion returned 2 +sv/sequential-udp-init starter interpret 0 FAIL: initial q=0 +sv/sequential-udp-init starter compile 0 FAIL: initial q=0 +sv/sequential-udp-init starter refdiff 1 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sv", "sha256": "8b4d8ad11e344f9dc8686bfb0dd7de116f9f6cf8820898f6b1e2350d2ba59557", "refdiff_cache_key": "78175522a46f671de114db8b53687eae68987c36825d9a39ee0703da7406f928", "reference_cached": true, "reference": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "mox": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "category": "both_fail", "output_equal": true, "equivalent": false, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-5prav8ef"} +sv/sequential-udp-init solution interpret 0 PASS +sv/sequential-udp-init solution compile 0 PASS +sv/sequential-udp-init solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sol.sv", "sha256": "657718f5569a38a703a0a7795f34f317aac9f35bb83ae5f46b19c7220fa38540", "refdiff_cache_key": "55da9e6f94ce4318a4950db824caa71a0417f05dcf0e111a8745a1ffbcc6f4f1", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-00cmdfkh"} +sv/macro-formal-continuation starter compile 0 FAIL: macro expansion returned 2 +sv/macro-formal-continuation solution interpret 0 PASS +sv/macro-formal-continuation solution compile 0 PASS +sv/macro-formal-continuation solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sol.sv", "sha256": "70bcc182fc6b32c4e8fac7eaee06196d845ffe8aed28318e592a8887a42224fd", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-0dk6vu5z"} +sv/struct-field-refs starter interpret 0 FAIL: got 00000000 +sv/struct-field-refs starter compile 0 FAIL: got 00000000 +sv/struct-field-refs solution interpret 0 PASS +sv/struct-field-refs solution compile 0 PASS +sv/struct-field-refs solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sol.sv", "sha256": "4eb7d716460e54ad94242d81f5f1d9c5fb67d1565c250a62ca6ec2d251d43555", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-e9za9q_5"} +sv/indexed-part-select starter interpret 0 FAIL: inside=0101 partial=xxxx +sv/indexed-part-select starter compile 0 FAIL: inside=0101 partial=xxxx +sv/indexed-part-select solution interpret 0 PASS +sv/indexed-part-select solution compile 0 PASS +sv/indexed-part-select solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv", "sha256": "ece4013deb0c782d749812bba7586a9ea7dd9b2750bfa3747931782e4ea79c64", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-x0464xqr"} +sv/nested-child-input starter interpret 0 FAIL: direct=1 nested=0 +sv/nested-child-input starter compile 0 FAIL: direct=1 nested=0 +sv/nested-child-input solution interpret 0 PASS +sv/nested-child-input solution compile 0 PASS +sv/nested-child-input solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sol.sv", "sha256": "353b4404864303525e4a800307026c25dbde4a0a27faee79c3c56d319afbaa62", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-3fxuqw9e"} diff --git a/artifacts/tutorial/capability-receipts/summary.tsv b/artifacts/tutorial/capability-receipts/summary.tsv new file mode 100644 index 0000000..475d870 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/summary.tsv @@ -0,0 +1,26 @@ +sv/macro-formal-continuation starter interpret 0 FAIL: macro expansion returned 2 +sv/sequential-udp-init starter interpret 0 FAIL: initial q=0 +sv/sequential-udp-init starter compile 0 FAIL: initial q=0 +sv/sequential-udp-init starter refdiff 1 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sv", "sha256": "8b4d8ad11e344f9dc8686bfb0dd7de116f9f6cf8820898f6b1e2350d2ba59557", "refdiff_cache_key": "78175522a46f671de114db8b53687eae68987c36825d9a39ee0703da7406f928", "reference_cached": true, "reference": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "mox": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "category": "both_fail", "output_equal": true, "equivalent": false, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-5prav8ef"} +sv/sequential-udp-init solution interpret 0 PASS +sv/sequential-udp-init solution compile 0 PASS +sv/sequential-udp-init solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sol.sv", "sha256": "657718f5569a38a703a0a7795f34f317aac9f35bb83ae5f46b19c7220fa38540", "refdiff_cache_key": "55da9e6f94ce4318a4950db824caa71a0417f05dcf0e111a8745a1ffbcc6f4f1", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-00cmdfkh"} +sv/macro-formal-continuation starter compile 0 FAIL: macro expansion returned 2 +sv/macro-formal-continuation solution interpret 0 PASS +sv/macro-formal-continuation solution compile 0 PASS +sv/macro-formal-continuation solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sol.sv", "sha256": "70bcc182fc6b32c4e8fac7eaee06196d845ffe8aed28318e592a8887a42224fd", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-ni7anw0j"} +sv/struct-field-refs starter interpret 0 FAIL: got 00000000 +sv/struct-field-refs starter compile 0 FAIL: got 00000000 +sv/struct-field-refs solution interpret 0 PASS +sv/struct-field-refs solution compile 0 PASS +sv/struct-field-refs solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sol.sv", "sha256": "4eb7d716460e54ad94242d81f5f1d9c5fb67d1565c250a62ca6ec2d251d43555", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-_vbq7z4i"} +sv/indexed-part-select starter interpret 0 FAIL: inside=0101 partial=xxxx +sv/indexed-part-select starter compile 0 FAIL: inside=0101 partial=xxxx +sv/indexed-part-select solution interpret 0 PASS +sv/indexed-part-select solution compile 0 PASS +sv/indexed-part-select solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv", "sha256": "ece4013deb0c782d749812bba7586a9ea7dd9b2750bfa3747931782e4ea79c64", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-x0464xqr"} +sv/nested-child-input starter interpret 0 PASS +sv/nested-child-input starter compile 0 PASS +sv/nested-child-input solution interpret 0 PASS +sv/nested-child-input solution compile 0 PASS +sv/nested-child-input solution refdiff 0 {"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sol.sv", "sha256": "353b4404864303525e4a800307026c25dbde4a0a27faee79c3c56d319afbaa62", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-61tngi8f"} diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__compile.final.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__compile.final.log new file mode 100644 index 0000000..dafad68 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__compile.final.log @@ -0,0 +1,43 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (4ms, total: 4ms) +[mox-run] lower (3ms, total: 7ms) +[mox-run] aot-start (0ms, total: 8ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-79a8d4559a3893576d58e843b03e833f36f061622944d2b6a97d6f9b6fd48f34/mox-run-aot-84ccdb.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-79a8d4559a3893576d58e843b03e833f36f061622944d2b6a97d6f9b6fd48f34/mox-run-aot-422343.so (1 processes, 0 functions, 0 trampolines, 8.469800e-02s) +[mox-run] aot-compile (101ms, total: 109ms) +[mox-run] simulate (0ms, total: 109ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=13 accounted=13 positive=13 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:ea65bad2d713a3b01fd3864b8b77cd9376b036adcc0c52aca6f422fdb5675fd9 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 13 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-5ad2837faa747f6aa97b1c71a61be6b3) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=13, retained=13 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:59d63a0f60d4a4659be267525c3ad810d21cd116b1148168ebff96a83e8d310c status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 13 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 13/13 rows, 28/28 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 2ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__compile.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__compile.log new file mode 100644 index 0000000..dafad68 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__compile.log @@ -0,0 +1,43 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (4ms, total: 4ms) +[mox-run] lower (3ms, total: 7ms) +[mox-run] aot-start (0ms, total: 8ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-79a8d4559a3893576d58e843b03e833f36f061622944d2b6a97d6f9b6fd48f34/mox-run-aot-84ccdb.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-79a8d4559a3893576d58e843b03e833f36f061622944d2b6a97d6f9b6fd48f34/mox-run-aot-422343.so (1 processes, 0 functions, 0 trampolines, 8.469800e-02s) +[mox-run] aot-compile (101ms, total: 109ms) +[mox-run] simulate (0ms, total: 109ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=13 accounted=13 positive=13 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:ea65bad2d713a3b01fd3864b8b77cd9376b036adcc0c52aca6f422fdb5675fd9 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 13 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-5ad2837faa747f6aa97b1c71a61be6b3) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=13, retained=13 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:59d63a0f60d4a4659be267525c3ad810d21cd116b1148168ebff96a83e8d310c status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 13 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 13/13 rows, 28/28 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 2ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__interpret.final.log new file mode 100644 index 0000000..5e9ad33 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__interpret.final.log @@ -0,0 +1,23 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (4ms, total: 4ms) +[mox-run] lower (3ms, total: 8ms) +[mox-run] simulate (0ms, total: 8ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv":16:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__interpret.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__interpret.log new file mode 100644 index 0000000..5e9ad33 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__interpret.log @@ -0,0 +1,23 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (4ms, total: 4ms) +[mox-run] lower (3ms, total: 8ms) +[mox-run] simulate (0ms, total: 8ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv":16:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__refdiff.final.txt b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__refdiff.final.txt new file mode 100644 index 0000000..270b6d7 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__refdiff.final.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv", "sha256": "ece4013deb0c782d749812bba7586a9ea7dd9b2750bfa3747931782e4ea79c64", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-x0464xqr"} diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__refdiff.txt b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__refdiff.txt new file mode 100644 index 0000000..270b6d7 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__solution__refdiff.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sol.sv", "sha256": "ece4013deb0c782d749812bba7586a9ea7dd9b2750bfa3747931782e4ea79c64", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-x0464xqr"} diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__compile.final.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__compile.final.log new file mode 100644 index 0000000..a1209a5 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__compile.final.log @@ -0,0 +1,43 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (3ms, total: 8ms) +[mox-run] aot-start (0ms, total: 9ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-f26dddfc01a97f005069e3a9bb7cfe5efae4d0c55a7566e1296a09e50a5fadfa/mox-run-aot-aa5cc5.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-f26dddfc01a97f005069e3a9bb7cfe5efae4d0c55a7566e1296a09e50a5fadfa/mox-run-aot-a91d2b.so (1 processes, 0 functions, 0 trampolines, 8.515057e-02s) +[mox-run] aot-compile (101ms, total: 110ms) +[mox-run] simulate (0ms, total: 110ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=13 accounted=13 positive=13 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:ea65bad2d713a3b01fd3864b8b77cd9376b036adcc0c52aca6f422fdb5675fd9 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 13 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-0448c29b9e9e293d7d0f799e2736f83f) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=13, retained=13 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:ad88bb34e22dfe0e656e368cc13a24b5b57348bb46068656180d1f76bea67aa1 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 13 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 13/13 rows, 28/28 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 2ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: inside=0101 partial=xxxx +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__compile.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__compile.log new file mode 100644 index 0000000..a1209a5 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__compile.log @@ -0,0 +1,43 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (3ms, total: 8ms) +[mox-run] aot-start (0ms, total: 9ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-f26dddfc01a97f005069e3a9bb7cfe5efae4d0c55a7566e1296a09e50a5fadfa/mox-run-aot-aa5cc5.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-f26dddfc01a97f005069e3a9bb7cfe5efae4d0c55a7566e1296a09e50a5fadfa/mox-run-aot-a91d2b.so (1 processes, 0 functions, 0 trampolines, 8.515057e-02s) +[mox-run] aot-compile (101ms, total: 110ms) +[mox-run] simulate (0ms, total: 110ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=13 accounted=13 positive=13 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:ea65bad2d713a3b01fd3864b8b77cd9376b036adcc0c52aca6f422fdb5675fd9 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 13 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-0448c29b9e9e293d7d0f799e2736f83f) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=13, retained=13 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:ad88bb34e22dfe0e656e368cc13a24b5b57348bb46068656180d1f76bea67aa1 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 13 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 13/13 rows, 28/28 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 2ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: inside=0101 partial=xxxx +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__interpret.final.log new file mode 100644 index 0000000..c31825c --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__interpret.final.log @@ -0,0 +1,23 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (3ms, total: 9ms) +[mox-run] simulate (0ms, total: 9ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: inside=0101 partial=xxxx +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sv":16:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__interpret.log b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__interpret.log new file mode 100644 index 0000000..c31825c --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__indexed-part-select__starter__interpret.log @@ -0,0 +1,23 @@ +mox-run wall guards: compile=25000ms simulation=disabled +/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sv:11:26: warning: cannot select range of [11:8] from 'logic[7:0]' [-Wrange-oob] + partial_slice = data[8 +: 4]; + ^ +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (3ms, total: 9ms) +[mox-run] simulate (0ms, total: 9ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 73 total ops) in module +[mox-sim] Registered 8 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: inside=0101 partial=xxxx +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/indexed-part-select/indexed_part_select.sv":16:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__compile.final.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__compile.final.log new file mode 100644 index 0000000..5703651 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__compile.final.log @@ -0,0 +1,37 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (2ms, total: 7ms) +[mox-run] aot-start (0ms, total: 8ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-2aabb623734c0f893ca01daeefbcdd40af03c9d9191be0b49f290314cb93ed3b/mox-run-aot-a37779.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-2aabb623734c0f893ca01daeefbcdd40af03c9d9191be0b49f290314cb93ed3b/mox-run-aot-b59bb3.so (1 processes, 0 functions, 0 trampolines, 6.750764e-02s) +[mox-run] aot-compile (91ms, total: 99ms) +[mox-run] simulate (0ms, total: 99ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 0 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-863ed967f39097b30ae86bcd634f36b6) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=0, retained=0 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:25ed5ecabbb2c3d2c84173c9ebdddcbca7a5115361763e7fb11b39f692e092e2 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 1ms, total: 1ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 7 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__compile.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__compile.log new file mode 100644 index 0000000..ee8ea7c --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__compile.log @@ -0,0 +1,37 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (2ms, total: 8ms) +[mox-run] aot-start (0ms, total: 8ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-43232f4f788822e6a0cc6cafca3cc8fb5bf325811024e83b40c04a65eff84655/mox-run-aot-437705.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-43232f4f788822e6a0cc6cafca3cc8fb5bf325811024e83b40c04a65eff84655/mox-run-aot-f18ecd.so (1 processes, 0 functions, 0 trampolines, 7.419810e-02s) +[mox-run] aot-compile (91ms, total: 99ms) +[mox-run] simulate (0ms, total: 99ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 0 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-863ed967f39097b30ae86bcd634f36b6) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=0, retained=0 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:25ed5ecabbb2c3d2c84173c9ebdddcbca7a5115361763e7fb11b39f692e092e2 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 1ms, total: 1ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 7 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__interpret.final.log new file mode 100644 index 0000000..f247dda --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__interpret.final.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (2ms, total: 7ms) +[mox-run] simulate (0ms, total: 8ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 7 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sol.sv":15:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__interpret.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__interpret.log new file mode 100644 index 0000000..2e43c99 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__interpret.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (2ms, total: 8ms) +[mox-run] simulate (0ms, total: 8ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 7 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sol.sv":15:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__refdiff.final.txt b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__refdiff.final.txt new file mode 100644 index 0000000..6e8a0b6 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__refdiff.final.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sol.sv", "sha256": "70bcc182fc6b32c4e8fac7eaee06196d845ffe8aed28318e592a8887a42224fd", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-0dk6vu5z"} diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__refdiff.txt b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__refdiff.txt new file mode 100644 index 0000000..919b9d3 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__solution__refdiff.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sol.sv", "sha256": "70bcc182fc6b32c4e8fac7eaee06196d845ffe8aed28318e592a8887a42224fd", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-ni7anw0j"} diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__compile.final.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__compile.final.log new file mode 100644 index 0000000..21da707 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__compile.final.log @@ -0,0 +1,39 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (2ms, total: 8ms) +[mox-run] aot-start (0ms, total: 8ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-8b945020bc59b459f23d54c429846764a1be81cb415a1927fce6e1804af186e1/mox-run-aot-de7619.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-8b945020bc59b459f23d54c429846764a1be81cb415a1927fce6e1804af186e1/mox-run-aot-f2170f.so (1 processes, 0 functions, 0 trampolines, 7.307796e-02s) +[mox-run] aot-compile (91ms, total: 99ms) +[mox-run] simulate (0ms, total: 99ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:ab9e574286395b7b5204021a9099a473d5d08aff133be37f5f255f314cee1de4 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 1 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-5f2b655f8edbba1818e204f20929b546) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=1, retained=1 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:f62d2e10a3a4de3f22ff1df21b0694659335c138f00517f111d36c270f2be7c5 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 1ms) +[mox-sim] Pre-aliased 1 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 1/1 rows, 4/4 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 1ms, total: 2ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 11 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: macro expansion returned 2 +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__compile.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__compile.log new file mode 100644 index 0000000..2b83a49 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__compile.log @@ -0,0 +1,39 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (3ms, total: 8ms) +[mox-run] aot-start (0ms, total: 8ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-84a26e0a46cb5aa637cc0f09b9a85bb3c3620fa15fc9dd214c9389d8edaee4c2/mox-run-aot-3411ee.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-84a26e0a46cb5aa637cc0f09b9a85bb3c3620fa15fc9dd214c9389d8edaee4c2/mox-run-aot-380b3f.so (1 processes, 0 functions, 0 trampolines, 6.829462e-02s) +[mox-run] aot-compile (91ms, total: 100ms) +[mox-run] simulate (0ms, total: 100ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:dbece0947e8df29c3d674a06bb85a08e2b7bd4a0382cd6522ab2c5fa69007e8e +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:ab9e574286395b7b5204021a9099a473d5d08aff133be37f5f255f314cee1de4 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 1 processes, 1 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-5f2b655f8edbba1818e204f20929b546) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=1, retained=1 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:f62d2e10a3a4de3f22ff1df21b0694659335c138f00517f111d36c270f2be7c5 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 1 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 1/1 rows, 4/4 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 1/1 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=1 accounted=1 positive=1 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:979054643387faf73ad0f08f4cac05733060ee3d4ac3b9ff2b77a69eefd36c41 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 1ms, total: 1ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 11 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: macro expansion returned 2 +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__interpret.final.log new file mode 100644 index 0000000..f69c096 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__interpret.final.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (2ms, total: 8ms) +[mox-run] simulate (0ms, total: 8ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 11 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: macro expansion returned 2 +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sv":15:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__interpret.log b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__interpret.log new file mode 100644 index 0000000..dcae82a --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__macro-formal-continuation__starter__interpret.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (3ms, total: 8ms) +[mox-run] simulate (0ms, total: 9ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 11 total ops) in module +[mox-sim] Registered 0 LLHD signals and 1 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: macro expansion returned 2 +[mox-sim] sim.terminate triggered in process ID 1 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/macro-formal-continuation/macro_formal.sv":15:5 to :13) +[mox-sim] Simulation terminated at time 0 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 0 fs, iter=1, deltas=1 +[mox-sim] Simulation finished at time 0 fs +[mox-sim] Simulation completed at time 0 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__compile.final.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__compile.final.log new file mode 100644 index 0000000..95534c4 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__compile.final.log @@ -0,0 +1,49 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (6ms, total: 13ms) +[mox-run] aot-start (0ms, total: 14ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-abe07a679af2850098cf75b5481242cb768ee3949b57f1385657809315ce9ead/mox-run-aot-9dba8f.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-abe07a679af2850098cf75b5481242cb768ee3949b57f1385657809315ce9ead/mox-run-aot-d95575.so (11 processes, 0 functions, 0 trampolines, 1.580717e-01s) +[mox-run] aot-compile (181ms, total: 195ms) +[mox-run] simulate (0ms, total: 195ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=11 accounted=11 positive=11 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:de7710f447a2b6ee6ea175ea0d8037b87b1f2050b60e1e0023221a1e9f658bbd +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=21 accounted=21 positive=21 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:f16ab3347dc0a5e6a8a891de607c8577151ea623a029ebbc6f92ce3a6bf67193 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 11 processes, 21 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-ac2bb14075b477be29b1e35f6a64d45e) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=21, retained=21 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:a4d7ed8f7d405f6b3ae212159c40a41b2ab4ab58998b633ed5c27945294d8969 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 21 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 21/21 rows, 51/51 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 11/11 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=11 accounted=11 positive=11 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:a7ad3b0c7e5ba117bf4f2b5735e40d0057798fa1056c441940ff5cefa1f5c361 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_3' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_4' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='wrapper.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 3ms, total: 4ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 4ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__compile.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__compile.log new file mode 100644 index 0000000..866bdc0 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__compile.log @@ -0,0 +1,49 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (6ms, total: 13ms) +[mox-run] aot-start (0ms, total: 13ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-cdfaeb87c713066b1311ba49954080f5df0ceb3115c7707628b9988336ff68a0/mox-run-aot-c21d74.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-cdfaeb87c713066b1311ba49954080f5df0ceb3115c7707628b9988336ff68a0/mox-run-aot-e3410b.so (11 processes, 0 functions, 0 trampolines, 1.429030e-01s) +[mox-run] aot-compile (161ms, total: 175ms) +[mox-run] simulate (0ms, total: 175ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=11 accounted=11 positive=11 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:de7710f447a2b6ee6ea175ea0d8037b87b1f2050b60e1e0023221a1e9f658bbd +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=21 accounted=21 positive=21 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:f16ab3347dc0a5e6a8a891de607c8577151ea623a029ebbc6f92ce3a6bf67193 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 11 processes, 21 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-ac2bb14075b477be29b1e35f6a64d45e) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=21, retained=21 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:a4d7ed8f7d405f6b3ae212159c40a41b2ab4ab58998b633ed5c27945294d8969 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 21 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 21/21 rows, 51/51 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 11/11 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=11 accounted=11 positive=11 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:a7ad3b0c7e5ba117bf4f2b5735e40d0057798fa1056c441940ff5cefa1f5c361 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_3' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_4' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='wrapper.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 3ms, total: 4ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 4ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__interpret.final.log new file mode 100644 index 0000000..cf9abbf --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__interpret.final.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (7ms, total: 7ms) +[mox-run] lower (6ms, total: 13ms) +[mox-run] simulate (1ms, total: 14ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 2ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 13 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sol.sv":33:5 to :13) +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__interpret.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__interpret.log new file mode 100644 index 0000000..3d36a2d --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__interpret.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (7ms, total: 7ms) +[mox-run] lower (6ms, total: 13ms) +[mox-run] simulate (0ms, total: 14ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 2ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 13 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sol.sv":33:5 to :13) +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__refdiff.final.txt b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__refdiff.final.txt new file mode 100644 index 0000000..3a5cb4e --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__refdiff.final.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sol.sv", "sha256": "353b4404864303525e4a800307026c25dbde4a0a27faee79c3c56d319afbaa62", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-3fxuqw9e"} diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__refdiff.txt b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__refdiff.txt new file mode 100644 index 0000000..0f9d58f --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__solution__refdiff.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sol.sv", "sha256": "353b4404864303525e4a800307026c25dbde4a0a27faee79c3c56d319afbaa62", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-61tngi8f"} diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__compile.final.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__compile.final.log new file mode 100644 index 0000000..0c501c6 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__compile.final.log @@ -0,0 +1,50 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (6ms, total: 13ms) +[mox-run] aot-start (0ms, total: 13ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-c7471c0478f9c43c4ffa96444d7b17b9b0b7ef40ca3246514c91a2077fd07894/mox-run-aot-3a1fd9.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-c7471c0478f9c43c4ffa96444d7b17b9b0b7ef40ca3246514c91a2077fd07894/mox-run-aot-5f5d86.so (12 processes, 0 functions, 0 trampolines, 1.307399e-01s) +[mox-run] aot-compile (151ms, total: 165ms) +[mox-run] simulate (0ms, total: 165ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=12 accounted=12 positive=12 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:b49357121d2a7397185be420dd861f3f521cd0da2ebe6ca62288cfd4c2f4fd26 +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=23 accounted=23 positive=23 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:9bb1384a388bab665a273a9ffe17639f480502468ee349c1c54f8d40923dea1a +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 12 processes, 23 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-3d1eefae9548db61d2783ab338afb578) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=23, retained=23 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:b56c89a080906261b76980ef8258933a23d48d3e5b9867b5c9ae457833596fc5 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 23 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 23/23 rows, 55/55 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 12/12 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=12 accounted=12 positive=12 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:2603c51b6fa88f1c8aa42fd11a803edfb71c92ffefddd05fd16a4e1ef6646373 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_3' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_4' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='wrapper.cont_assign_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='wrapper.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 4ms, total: 5ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 14 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 5ms) +[mox-sim] Starting simulation +FAIL: direct=1 nested=0 +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__compile.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__compile.log new file mode 100644 index 0000000..aec84bd --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__compile.log @@ -0,0 +1,49 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (6ms, total: 12ms) +[mox-run] aot-start (0ms, total: 13ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-64114c20b8843d4fe6d66a4a087254d99ddcc81a2de194b3a1eb417a81af690c/mox-run-aot-428fc1.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-64114c20b8843d4fe6d66a4a087254d99ddcc81a2de194b3a1eb417a81af690c/mox-run-aot-16d44f.so (11 processes, 0 functions, 0 trampolines, 1.299695e-01s) +[mox-run] aot-compile (151ms, total: 165ms) +[mox-run] simulate (0ms, total: 165ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=11 accounted=11 positive=11 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:de7710f447a2b6ee6ea175ea0d8037b87b1f2050b60e1e0023221a1e9f658bbd +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=21 accounted=21 positive=21 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:f16ab3347dc0a5e6a8a891de607c8577151ea623a029ebbc6f92ce3a6bf67193 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 11 processes, 21 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-ab054ea05d236dbc6fd928865ee1cb68) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=21, retained=21 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:b3157044c73b18dbb14d0cd0ab51b5b3af7d889622b0b164f188a5cc1707ba74 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 21 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 21/21 rows, 51/51 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 11/11 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=11 accounted=11 positive=11 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:a7ad3b0c7e5ba117bf4f2b5735e40d0057798fa1056c441940ff5cefa1f5c361 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='sink.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='source.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_3' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_4' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='wrapper.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 3ms, total: 4ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 4ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__interpret.final.log new file mode 100644 index 0000000..7ef21bc --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__interpret.final.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (6ms, total: 13ms) +[mox-run] simulate (0ms, total: 14ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 2ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: direct=1 nested=0 +[mox-sim] sim.terminate triggered in process ID 13 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sv":33:5 to :13) +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__interpret.log b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__interpret.log new file mode 100644 index 0000000..348d666 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__nested-child-input__starter__interpret.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (7ms, total: 7ms) +[mox-run] lower (7ms, total: 14ms) +[mox-run] simulate (0ms, total: 15ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 5 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 3 hw.instance ops (out of 87 total ops) in module +[mox-sim] Registered 11 LLHD signals and 13 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 2ms, total: 2ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 13 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/nested-child-input/nested_child_input.sv":33:5 to :13) +[mox-sim] Simulation terminated at time 16000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 16000000 fs, iter=5, deltas=1 +[mox-sim] Simulation finished at time 16000000 fs +[mox-sim] Simulation completed at time 16000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__compile.final.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__compile.final.log new file mode 100644 index 0000000..6f94b1a --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__compile.final.log @@ -0,0 +1,43 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (9ms, total: 15ms) +[mox-run] aot-start (0ms, total: 16ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-6158424687e44f0fccb43412ac36849a307ea5aff3072b1be365f9fdebdaa0c2/mox-run-aot-cffd75.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-6158424687e44f0fccb43412ac36849a307ea5aff3072b1be365f9fdebdaa0c2/mox-run-aot-283ab6.so (3 processes, 0 functions, 0 trampolines, 1.176473e-01s) +[mox-run] aot-compile (142ms, total: 158ms) +[mox-run] simulate (0ms, total: 158ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14c4f2818531ab3ee9a008d5544a1559d205b61a18688dc4b998d6d8504bab7d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=15 accounted=15 positive=15 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:1fddbb3af4eb444c858912560e5e375123679201478ab1a795a869634120e9fb +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 3 processes, 15 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-4d528cb3662b8408a24b3cd659743505) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=15, retained=15 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:d7163475c11eea17747b41fe821aa1652ad7c44674ead406b1d142ac6d259009 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 15 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 15/15 rows, 39/39 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 3/3 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:178b7d417c9782d0869a164dfb4e0fb05e1232d6d8fe81f233004ec4c17d4d50 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 3ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 3ms) +[mox-sim] Starting simulation +INITIAL q=1 +PASS +[mox-sim] Simulation terminated at time 3000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 3000000 fs, iter=4, deltas=1 +[mox-sim] Simulation finished at time 3000000 fs +[mox-sim] Simulation completed at time 3000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__compile.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__compile.log new file mode 100644 index 0000000..6f94b1a --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__compile.log @@ -0,0 +1,43 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (9ms, total: 15ms) +[mox-run] aot-start (0ms, total: 16ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-6158424687e44f0fccb43412ac36849a307ea5aff3072b1be365f9fdebdaa0c2/mox-run-aot-cffd75.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-6158424687e44f0fccb43412ac36849a307ea5aff3072b1be365f9fdebdaa0c2/mox-run-aot-283ab6.so (3 processes, 0 functions, 0 trampolines, 1.176473e-01s) +[mox-run] aot-compile (142ms, total: 158ms) +[mox-run] simulate (0ms, total: 158ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14c4f2818531ab3ee9a008d5544a1559d205b61a18688dc4b998d6d8504bab7d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=15 accounted=15 positive=15 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:1fddbb3af4eb444c858912560e5e375123679201478ab1a795a869634120e9fb +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 3 processes, 15 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-4d528cb3662b8408a24b3cd659743505) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=15, retained=15 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:d7163475c11eea17747b41fe821aa1652ad7c44674ead406b1d142ac6d259009 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 15 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 15/15 rows, 39/39 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 3/3 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:178b7d417c9782d0869a164dfb4e0fb05e1232d6d8fe81f233004ec4c17d4d50 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 3ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 3ms) +[mox-sim] Starting simulation +INITIAL q=1 +PASS +[mox-sim] Simulation terminated at time 3000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 3000000 fs, iter=4, deltas=1 +[mox-sim] Simulation finished at time 3000000 fs +[mox-sim] Simulation completed at time 3000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__interpret.final.log new file mode 100644 index 0000000..58c28e9 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__interpret.final.log @@ -0,0 +1,21 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (10ms, total: 16ms) +[mox-run] simulate (0ms, total: 17ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +INITIAL q=1 +PASS +[mox-sim] sim.terminate triggered in process ID 3 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sol.sv":32:5 to :13) +[mox-sim] Simulation terminated at time 3000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 3000000 fs, iter=4, deltas=1 +[mox-sim] Simulation finished at time 3000000 fs +[mox-sim] Simulation completed at time 3000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__interpret.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__interpret.log new file mode 100644 index 0000000..58c28e9 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__interpret.log @@ -0,0 +1,21 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (10ms, total: 16ms) +[mox-run] simulate (0ms, total: 17ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +INITIAL q=1 +PASS +[mox-sim] sim.terminate triggered in process ID 3 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sol.sv":32:5 to :13) +[mox-sim] Simulation terminated at time 3000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 3000000 fs, iter=4, deltas=1 +[mox-sim] Simulation finished at time 3000000 fs +[mox-sim] Simulation completed at time 3000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__refdiff.final.txt b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__refdiff.final.txt new file mode 100644 index 0000000..5a3ed1e --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__refdiff.final.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sol.sv", "sha256": "657718f5569a38a703a0a7795f34f317aac9f35bb83ae5f46b19c7220fa38540", "refdiff_cache_key": "55da9e6f94ce4318a4950db824caa71a0417f05dcf0e111a8745a1ffbcc6f4f1", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-00cmdfkh"} diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__refdiff.txt b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__refdiff.txt new file mode 100644 index 0000000..5a3ed1e --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__solution__refdiff.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sol.sv", "sha256": "657718f5569a38a703a0a7795f34f317aac9f35bb83ae5f46b19c7220fa38540", "refdiff_cache_key": "55da9e6f94ce4318a4950db824caa71a0417f05dcf0e111a8745a1ffbcc6f4f1", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-00cmdfkh"} diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__compile.final.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__compile.final.log new file mode 100644 index 0000000..3d7c204 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__compile.final.log @@ -0,0 +1,42 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (8ms, total: 15ms) +[mox-run] aot-start (0ms, total: 15ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-5dee83bd165b4d526cb72bb2889f9953609e90d60b3ef798a7c2f3b7686144de/mox-run-aot-217f72.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-5dee83bd165b4d526cb72bb2889f9953609e90d60b3ef798a7c2f3b7686144de/mox-run-aot-bb626c.so (3 processes, 0 functions, 0 trampolines, 1.158172e-01s) +[mox-run] aot-compile (131ms, total: 147ms) +[mox-run] simulate (0ms, total: 147ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14c4f2818531ab3ee9a008d5544a1559d205b61a18688dc4b998d6d8504bab7d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=15 accounted=15 positive=15 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:1fddbb3af4eb444c858912560e5e375123679201478ab1a795a869634120e9fb +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 3 processes, 15 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-1a11e0993a7917271e5d829a0da09034) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=15, retained=15 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:746ffdc1c20ff20b624ed954e5d8ef364f1b4a21fa4097ca9463501c802ba9e1 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 15 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 15/15 rows, 39/39 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 3/3 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:178b7d417c9782d0869a164dfb4e0fb05e1232d6d8fe81f233004ec4c17d4d50 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 3ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 3ms) +[mox-sim] Starting simulation +FAIL: initial q=0 +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__compile.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__compile.log new file mode 100644 index 0000000..3d7c204 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__compile.log @@ -0,0 +1,42 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (8ms, total: 15ms) +[mox-run] aot-start (0ms, total: 15ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-5dee83bd165b4d526cb72bb2889f9953609e90d60b3ef798a7c2f3b7686144de/mox-run-aot-217f72.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-5dee83bd165b4d526cb72bb2889f9953609e90d60b3ef798a7c2f3b7686144de/mox-run-aot-bb626c.so (3 processes, 0 functions, 0 trampolines, 1.158172e-01s) +[mox-run] aot-compile (131ms, total: 147ms) +[mox-run] simulate (0ms, total: 147ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14c4f2818531ab3ee9a008d5544a1559d205b61a18688dc4b998d6d8504bab7d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=15 accounted=15 positive=15 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:1fddbb3af4eb444c858912560e5e375123679201478ab1a795a869634120e9fb +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 3 processes, 15 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-1a11e0993a7917271e5d829a0da09034) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=15, retained=15 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:746ffdc1c20ff20b624ed954e5d8ef364f1b4a21fa4097ca9463501c802ba9e1 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 15 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 15/15 rows, 39/39 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 3/3 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=3 accounted=3 positive=3 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:178b7d417c9782d0869a164dfb4e0fb05e1232d6d8fe81f233004ec4c17d4d50 +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_1' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_2' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 3ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 3ms) +[mox-sim] Starting simulation +FAIL: initial q=0 +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__interpret.final.log new file mode 100644 index 0000000..ac913c9 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__interpret.final.log @@ -0,0 +1,20 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (9ms, total: 14ms) +[mox-run] simulate (0ms, total: 15ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: initial q=0 +[mox-sim] sim.terminate triggered in process ID 3 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sv":19:7 to :15) +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__interpret.log b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__interpret.log new file mode 100644 index 0000000..ac913c9 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__interpret.log @@ -0,0 +1,20 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (5ms, total: 5ms) +[mox-run] lower (9ms, total: 14ms) +[mox-run] simulate (0ms, total: 15ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +Using module 'tb' as top module +[mox-sim] Found 3 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 0 hw.instance ops (out of 238 total ops) in module +[mox-sim] Registered 11 LLHD signals and 3 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: initial q=0 +[mox-sim] sim.terminate triggered in process ID 3 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sv":19:7 to :15) +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__refdiff.final.txt b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__refdiff.final.txt new file mode 100644 index 0000000..c2c0643 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__refdiff.final.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sv", "sha256": "8b4d8ad11e344f9dc8686bfb0dd7de116f9f6cf8820898f6b1e2350d2ba59557", "refdiff_cache_key": "78175522a46f671de114db8b53687eae68987c36825d9a39ee0703da7406f928", "reference_cached": true, "reference": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "mox": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "category": "both_fail", "output_equal": true, "equivalent": false, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-5prav8ef"} diff --git a/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__refdiff.txt b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__refdiff.txt new file mode 100644 index 0000000..f089273 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__sequential-udp-init__starter__refdiff.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/sequential-udp-init/sequential_udp.sv", "sha256": "8b4d8ad11e344f9dc8686bfb0dd7de116f9f6cf8820898f6b1e2350d2ba59557", "refdiff_cache_key": "78175522a46f671de114db8b53687eae68987c36825d9a39ee0703da7406f928", "reference_cached": true, "reference": {"verdict": "FAIL", "exit": 0, "final_status": "fail"}, "mox": {"verdict": "FAIL", "exit": 0, "phase": "simulate", "final_status": "fail"}, "category": "both_fail", "output_equal": true, "equivalent": false, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/sv-harness-5prav8ef"} diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__compile.final.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__compile.final.log new file mode 100644 index 0000000..44003cc --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__compile.final.log @@ -0,0 +1,40 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (4ms, total: 10ms) +[mox-run] aot-start (0ms, total: 11ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-2a6fb4394c21f3b49a6a16cbee096fc832e3b0198217ff51477b48b96d3550f2/mox-run-aot-32d53f.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-2a6fb4394c21f3b49a6a16cbee096fc832e3b0198217ff51477b48b96d3550f2/mox-run-aot-564b5b.so (2 processes, 0 functions, 0 trampolines, 9.229096e-02s) +[mox-run] aot-compile (111ms, total: 123ms) +[mox-run] simulate (0ms, total: 123ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:fd51e12de922533cec5b8880f525df50f400a37d3f65c1b0bac1c334836b0e1d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=10 accounted=10 positive=10 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:9b669856506c990526a5cdb3b68be2689f020604bf86b98cbd21c1a1c5509f38 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 2 processes, 10 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-4c18037505e0f170876dabb3dfe0432b) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=10, retained=10 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:83fdb4b47bdb5887a99cb4f3486a15a395df429bd4e02db66acb072e3a38cf0a status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 10 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 10/10 rows, 97/97 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 2/2 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:d2daf68d26cab1f7c8471e13cebe182c3a2cbeddc5540194a5d10f90a34ecefa +[mox-sim] aot-publication/v2 domain=process-dispatch identity='field_driver.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 2ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__compile.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__compile.log new file mode 100644 index 0000000..e460885 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__compile.log @@ -0,0 +1,40 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (5ms, total: 11ms) +[mox-run] aot-start (0ms, total: 12ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-1a3cbf58ccf36cea11761b17d43bbab1bcd94703b5b12d897771a2df05a925fc/mox-run-aot-529651.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-1a3cbf58ccf36cea11761b17d43bbab1bcd94703b5b12d897771a2df05a925fc/mox-run-aot-fae35c.so (2 processes, 0 functions, 0 trampolines, 1.014258e-01s) +[mox-run] aot-compile (121ms, total: 133ms) +[mox-run] simulate (0ms, total: 133ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:fd51e12de922533cec5b8880f525df50f400a37d3f65c1b0bac1c334836b0e1d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=10 accounted=10 positive=10 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:9b669856506c990526a5cdb3b68be2689f020604bf86b98cbd21c1a1c5509f38 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 2 processes, 10 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-4c18037505e0f170876dabb3dfe0432b) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=10, retained=10 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:83fdb4b47bdb5887a99cb4f3486a15a395df429bd4e02db66acb072e3a38cf0a status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 10 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 10/10 rows, 97/97 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 2/2 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:d2daf68d26cab1f7c8471e13cebe182c3a2cbeddc5540194a5d10f90a34ecefa +[mox-sim] aot-publication/v2 domain=process-dispatch identity='field_driver.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 3ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 3ms) +[mox-sim] Starting simulation +PASS +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__interpret.final.log new file mode 100644 index 0000000..1d8bfa5 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__interpret.final.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (4ms, total: 10ms) +[mox-run] simulate (0ms, total: 11ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 2 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sol.sv":23:5 to :13) +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__interpret.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__interpret.log new file mode 100644 index 0000000..a56f51e --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__interpret.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (5ms, total: 12ms) +[mox-run] simulate (0ms, total: 12ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +PASS +[mox-sim] sim.terminate triggered in process ID 2 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sol.sv":23:5 to :13) +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__refdiff.final.txt b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__refdiff.final.txt new file mode 100644 index 0000000..1ef80c3 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__refdiff.final.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sol.sv", "sha256": "4eb7d716460e54ad94242d81f5f1d9c5fb67d1565c250a62ca6ec2d251d43555", "reference_cached": true, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-e9za9q_5"} diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__refdiff.txt b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__refdiff.txt new file mode 100644 index 0000000..0c1819b --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__solution__refdiff.txt @@ -0,0 +1 @@ +{"source": "/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sol.sv", "sha256": "4eb7d716460e54ad94242d81f5f1d9c5fb67d1565c250a62ca6ec2d251d43555", "reference_cached": false, "reference": {"verdict": "PASS", "exit": 0, "final_status": "completed"}, "mox": {"verdict": "PASS", "exit": 0, "phase": "simulate", "final_status": "completed"}, "category": "both_pass", "output_equal": true, "equivalent": true, "metadata": {"_has_pass": true}, "build_dir": "/var/tmp/thomas-ahle/wt/landing/build-dev-fast", "artifacts": "/var/tmp/thomas-ahle/fleet/sv/capability-audit-_vbq7z4i"} diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__compile.final.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__compile.final.log new file mode 100644 index 0000000..4e4ac2d --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__compile.final.log @@ -0,0 +1,40 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (4ms, total: 11ms) +[mox-run] aot-start (0ms, total: 11ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-5533376a1ee8579bcd186a8b0992c2b2c45e01555a3e1594b5dbfc9ddc9b8721/mox-run-aot-d6db1d.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-5533376a1ee8579bcd186a8b0992c2b2c45e01555a3e1594b5dbfc9ddc9b8721/mox-run-aot-dd0358.so (2 processes, 0 functions, 0 trampolines, 9.340216e-02s) +[mox-run] aot-compile (111ms, total: 123ms) +[mox-run] simulate (0ms, total: 123ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:fd51e12de922533cec5b8880f525df50f400a37d3f65c1b0bac1c334836b0e1d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=10 accounted=10 positive=10 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:9b669856506c990526a5cdb3b68be2689f020604bf86b98cbd21c1a1c5509f38 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 2 processes, 10 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-e89687186869b9da9ab9386322e33d2c) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=10, retained=10 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:9d0128ba9f9d4bced70c070ba5490d8fec0f706c45f5b1dd372bb8cbab92bcf2 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 10 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 10/10 rows, 97/97 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 2/2 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:d2daf68d26cab1f7c8471e13cebe182c3a2cbeddc5540194a5d10f90a34ecefa +[mox-sim] aot-publication/v2 domain=process-dispatch identity='field_driver.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 2ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: got 00000000 +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__compile.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__compile.log new file mode 100644 index 0000000..3a1b7b2 --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__compile.log @@ -0,0 +1,40 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (5ms, total: 11ms) +[mox-run] aot-start (1ms, total: 13ms) +[mox-run] AOT compile log: /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-f6efce36ac2db4734f5e6df4362ca5d9f30e6303ee397ec24b6964fd5bc5bb59/mox-run-aot-aa5f00.log +[mox-compile] Wrote /tmp/mox-scratch/a8e5ccd3bff512bd85be743cbbba161ae06504793c695db14b39d861ac39713b/session-f6efce36ac2db4734f5e6df4362ca5d9f30e6303ee397ec24b6964fd5bc5bb59/mox-run-aot-149f49.so (2 processes, 0 functions, 0 trampolines, 1.063445e-01s) +[mox-run] aot-compile (132ms, total: 145ms) +[mox-run] simulate (0ms, total: 145ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] aot-publication/v2 domain=module-loader-functions expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] aot-publication/v2 domain=module-loader-processes expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:fd51e12de922533cec5b8880f525df50f400a37d3f65c1b0bac1c334836b0e1d +[mox-sim] aot-publication/v2 domain=module-loader-address-bound-globals expected=10 accounted=10 positive=10 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:9b669856506c990526a5cdb3b68be2689f020604bf86b98cbd21c1a1c5509f38 +[mox-sim] aot-publication/v2 domain=module-loader-entry-table expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Loaded compiled module '/proc/self/fd/4': 0 functions, 2 processes, 10 address-bound globals (build: mox-sim-abi-v19-x86_64-unknown-linux-gnu-e89687186869b9da9ab9386322e33d2c) +[mox-sim] Address-bound global ownership: role=main, module='/proc/self/fd/4', descriptor-declared=10, retained=10 +[mox-sim] M3 loaded callable union: artifacts=1 raw-rows=0 demand-rows=0 distinct-demand-keys=0 slot-rows=0 provider-rows=0 checked-keys=0 missing=0 duplicate=0 malformed=0 unresolved=0 dropped=0 digest=sha256:9d0128ba9f9d4bced70c070ba5490d8fec0f706c45f5b1dd372bb8cbab92bcf2 status=ok +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Pre-aliased 10 address-bound globals to .so storage +[mox-sim] Unmapped native func.call policy: default deny runtime bridges and pointer-typed get_/set_/create_/m_initialize* (allow others) +[mox-sim] Loaded 0 compiled functions: 0 native-dispatched, 0 not-native-dispatched, 0 intercepted +[mox-sim] aot-publication/v2 domain=compiled-function-dispatch expected=0 accounted=0 positive=0 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:14a1ea4827eceb6099f752ac175f21d9feeed50ece269718c7050338ed779cdd +[mox-sim] Address-bound final-LLVM-global probes: 10/10 rows, 97/97 bytes bidirectional, owner-generation=1 +[mox-sim] Compiled process dispatch: 2/2 processes wired +[mox-sim] aot-publication/v2 domain=process-dispatch expected=2 accounted=2 positive=2 negative=0 missing=0 duplicate=0 unexpected=0 malformed=0 status=ok digest=sha256:d2daf68d26cab1f7c8471e13cebe182c3a2cbeddc5540194a5d10f90a34ecefa +[mox-sim] aot-publication/v2 domain=process-dispatch identity='field_driver.process_0' outcome=wired polarity=positive reason='' +[mox-sim] aot-publication/v2 domain=process-dispatch identity='tb.process_0' outcome=wired polarity=positive reason='' +[mox-sim] Stage: load-compiled (prev: 2ms, total: 3ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 0ms, total: 3ms) +[mox-sim] Starting simulation +FAIL: got 00000000 +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] whole-design AOT zero-interpreter gate satisfied: counted process=0 combinational=0 initializer-operation=0 direct-call=0 ABI-demotion=0 deferred-initial-prewait-operation=0 deferred-initial-prewait-binding=PROVEN dpi-export-function-binding=NOT-REQUIRED; residual-compiled-process=false interpreted-continuous-assignment=0 initializer-operation-filtered=0; instrumented-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation measured-classes=interpreted-process,interpreted-callable,interpreted-continuous-assignment,module-initializer-operation,deferred-initial-prewait-operation unavailable-classes=NONE operation-level-other=UNMEASURED +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__interpret.final.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__interpret.final.log new file mode 100644 index 0000000..f816f0e --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__interpret.final.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (4ms, total: 11ms) +[mox-run] simulate (0ms, total: 11ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 1ms) +[mox-sim] Starting simulation +FAIL: got 00000000 +[mox-sim] sim.terminate triggered in process ID 2 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sv":23:5 to :13) +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__interpret.log b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__interpret.log new file mode 100644 index 0000000..a423efe --- /dev/null +++ b/artifacts/tutorial/capability-receipts/sv__struct-field-refs__starter__interpret.log @@ -0,0 +1,19 @@ +mox-run wall guards: compile=25000ms simulation=disabled +[mox-run] parse (6ms, total: 6ms) +[mox-run] lower (4ms, total: 11ms) +[mox-run] simulate (0ms, total: 12ms) +[mox-sim] Auto-enabling --skip-passes for module marked mox.sim.preprocessed +[mox-sim] Stage: passes (prev: 0ms, total: 0ms) +[mox-sim] Stage: init (prev: 0ms, total: 0ms) +[mox-sim] Found 1 LLHD processes, 0 LLHD finals, 0 seq.initial blocks, and 1 hw.instance ops (out of 51 total ops) in module +[mox-sim] Registered 4 LLHD signals and 2 LLHD processes/initial blocks +[mox-sim] Receipt: INIT_COMPLETE_OK execution_failure=0 process_dispatches=0 +[mox-sim] Stage: run (prev: 1ms, total: 2ms) +[mox-sim] Starting simulation +FAIL: got 00000000 +[mox-sim] sim.terminate triggered in process ID 2 at loc("/var/tmp/thomas-ahle/sv-tutorial/src/lessons/sv/struct-field-refs/struct_field.sv":23:5 to :13) +[mox-sim] Simulation terminated at time 1000000 fs (success=true, verbose=true) +[mox-sim] Main loop exit: shouldContinue()=false at time 1000000 fs, iter=2, deltas=1 +[mox-sim] Simulation finished at time 1000000 fs +[mox-sim] Simulation completed at time 1000000 fs +[mox-sim] Simulation completed diff --git a/artifacts/tutorial/clocking-sampler-retention/README.md b/artifacts/tutorial/clocking-sampler-retention/README.md new file mode 100644 index 0000000..7f2ccc5 --- /dev/null +++ b/artifacts/tutorial/clocking-sampler-retention/README.md @@ -0,0 +1,44 @@ +# Clocking sampler retention receipt + +This receipt supports `sv/clocking-sampler-retention`. The solution restores an +explicit `#0` clocking-input skew and passes in both native modes and through +Xcelium `refdiff`; the starter's default input skew fails in both engines. + +## Native example + +The commands use CPUs `0-79`, a 30-second wall guard, and the shared landing +build: + +```text +taskset -c 0-79 timeout --kill-after=3s 30s /var/tmp/thomas-ahle/wt/landing/build-dev-fast/bin/mox-run --single-unit --timescale=1ns/1ns --mode=interpret --max-wall-ms=25000 --top tb src/lessons/sv/clocking-sampler-retention/clocking_sampler.sv +taskset -c 0-79 timeout --kill-after=3s 30s /var/tmp/thomas-ahle/wt/landing/build-dev-fast/bin/mox-run --single-unit --timescale=1ns/1ns --mode=compile --max-wall-ms=25000 --top tb src/lessons/sv/clocking-sampler-retention/clocking_sampler.sv +taskset -c 0-79 timeout --kill-after=3s 30s /var/tmp/thomas-ahle/wt/landing/build-dev-fast/bin/mox-run --single-unit --timescale=1ns/1ns --mode=interpret --max-wall-ms=25000 --top tb src/lessons/sv/clocking-sampler-retention/clocking_sampler.sol.sv +taskset -c 0-79 timeout --kill-after=3s 30s /var/tmp/thomas-ahle/wt/landing/build-dev-fast/bin/mox-run --single-unit --timescale=1ns/1ns --mode=compile --max-wall-ms=25000 --top tb src/lessons/sv/clocking-sampler-retention/clocking_sampler.sol.sv +``` + +The starter prints `FAIL: first sample=aa` in both modes. The solution prints +`PASS: clocking sample retained=bb` in both modes. The available binary reports +Mox `bcbd69b0d63800f2e057a58acf0fc0377db9411f`, which predates the landed +MQ93 test lock but reproduces its behavior. The exact current-main landing +receipt for the upstream MQ93 control is recorded at +`/var/tmp/thomas-ahle/fleet/artifacts/landing2/sched-r5-9529d51aacb/`. + +The committed source hashes are: + +```text +clocking_sampler.sv 75d8287e2293d920c34c1aee73473a7aef293b0b0ddc660bd994e3d8ee06b006 +clocking_sampler.sol.sv e4a21ce79f011dcbd439935ecad93d7cfbcd6bf54dc7acbe7432e923670ec117 +``` + +## Differential receipts + +`starter-refdiff.json` reports `both_fail` with equal output and +`solution-refdiff.json` reports `both_pass` with equal output. Both receipts +bind their source SHA-256 to the committed fixtures and retain the refdiff +cache key. + +## Browser qualification + +The browser receipt is interpreter-backed through the pinned WASM runtime; it +does not qualify native AOT. The focused lesson run is recorded in +`browser-qa.md`. diff --git a/artifacts/tutorial/clocking-sampler-retention/browser-qa.log b/artifacts/tutorial/clocking-sampler-retention/browser-qa.log new file mode 100644 index 0000000..3c81ad4 --- /dev/null +++ b/artifacts/tutorial/clocking-sampler-retention/browser-qa.log @@ -0,0 +1,652 @@ +[WebServer] (node:3396696) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. +[WebServer] (Use `node --trace-warnings ...` to show where the warning was created) +[WebServer] Your tsconfig.json should extend the configuration generated by SvelteKit: +[WebServer] { +[WebServer]  "extends": "./.svelte-kit/tsconfig.json" +[WebServer] } +[WebServer] 1:07:49 PM [vite-plugin-svelte] src/routes/lesson/[part]/[name]/+page.svelte:565:10 `
` with a click handler must have an ARIA role +[WebServer] https://svelte.dev/e/a11y_no_static_element_interactions +[WebServer] 563: {#if showOptions} +[WebServer] 564: +[WebServer] 565:
(showOptions = false)}>
+[WebServer]  ^ +[WebServer] 566:
+[WebServer] 567: {#if hasSolution} +[WebServer] 1:07:49 PM [vite-plugin-svelte] src/routes/lesson/[part]/[name]/+page.svelte:876:2 `
` with a click handler must have an ARIA role +[WebServer] https://svelte.dev/e/a11y_no_static_element_interactions +[WebServer] 874: {#if showCopyModal} +[WebServer] 875: +[WebServer] 876:
e.target === e.currentTarget && onCopyModalOk()}> +[WebServer] 878: