Skip to content

Tagma hw RTL fixture specs: feasible verification YAML specs and plan #47

Description

@metasmile

Goal

Deliver the feasible ev verification YAML specs for the four RTL artifacts added in the syntagma hardware track, and a plan that records what the current constraint set can and cannot express. This is the concrete fixture slice of ev issue #46 (Tagma decoder execution path verification), which stays open as the umbrella for the engine extension.

The four artifacts

Artifact (syntagma/hw/rtl/) Role Feasible as ev spec today
tagma_decoder.v Combinational 3-axis decoder, code in [0xAC00, 0xD7A3] to (i, m, f) Input domain contract only
tagma_demo_top.v FPGA demo top, registered decoder outputs plus valid LED Output axis space bounds only
tagma_decoder_tb.v Exhaustive Verilator testbench (11,172 code points) Not expressible; ev does not run Verilog
golden_anchors.hex 11,172 packed 29-bit reference vectors Packed format documentable, decomposition not expressible

Scope

  1. Add tests/fixtures/tagma/tagma_decoder.xif.yaml, the input domain contract: 65,536 raw combinations, 11,172 valid. This pins the boundary correction recorded in the syntagma devlog (last valid syllable U+D7A3, not U+D7AF).
  2. Add tests/fixtures/tagma/tagma_demo_top.xif.yaml, the output axis space: 11,172 combinations, all valid.
  3. Wire both into run.sh fixture assertions and tests/cli_test.rs.
  4. Record the plan in docs/devlog/2026-08-23-tagma-hw-fixtures.md: which of the four artifacts map to constraints today, which need the decode projector or an arithmetic constraint (issue Tagma decoder execution path verification: ev as an independent channel #46), and the milestones.

Feasibility boundary

The decoder decomposition (i = offset / 588, m = (offset % 588) / 28, f = offset % 28) requires integer division and modulo by constants. The current 13 constraint types (range, even, eq, neq, lt, gt, le, ge, oneof, cross, bitmask, enable_mask, enable_set) cannot express arithmetic relations between fields, so the functional contract of the decoder and of the golden anchors is not expressible without an engine extension. A naive field-product spec over (offset, i, m, f) parses and runs (124,813,584 combinations under the 1B guard) but verifies nothing, since every combination passes. This is the core finding the plan records.

Acceptance criteria

  • ev verify on tagma_decoder.xif.yaml reports 11,172 passed, 54,364 failed.
  • ev verify on tagma_demo_top.xif.yaml reports 11,172 passed, 0 failed.
  • run.sh --verify and cargo test --release pass with the new assertions.
  • The plan devlog states explicitly which artifacts are not expressible with the current constraint set and which extension closes the gap.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions