Skip to content

docs/build: accuracy fixes for testbench comments, property docs, and Makefile clean#1

Open
billdmar wants to merge 2 commits into
mainfrom
enhance/refinement
Open

docs/build: accuracy fixes for testbench comments, property docs, and Makefile clean#1
billdmar wants to merge 2 commits into
mainfrom
enhance/refinement

Conversation

@billdmar

@billdmar billdmar commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Summary

Small, safe accuracy refinements to documentation/comments and one Makefile clean-target fix. No RTL, SVA assertion, formal-script, or scoreboard logic was changed — verification results and the existing honesty notes are preserved exactly.

Changes

Makefile

  • clean removed formal/sync_fifo_prove/, a directory that is never created. The prove script formal/sync_fifo.sby writes its output to formal/sync_fifo/ (already cleaned on the next line). Dropped the dead path and annotated the real one.

tb/tb_sync_fifo.cpp (comment-only)

  • Rewrote the depth-sweep header note. The previous text claimed the bench "reads DEPTH at runtime from the Verilated model constant" — it does not. The actual (and correct) mechanism is the -DDEPTH_PARAM=<N> compile define that the Makefile passes in lock-step with -GDEPTH=<N>.
  • Corrected the fault-injection description. The header said it "swaps two expected pop values"; the code (sample_transactions()) actually XORs every third accepted write with 0xFF before pushing to the golden queue. Comment now matches the code.
  • Added a note that DATA_WIDTH tracks the DUT default (8) and is never overridden via -GDATA_WIDTH.

rtl/sync_fifo_properties.sv (comment-only)

  • Documented what each Group 6 count/flag assertion pins down (a_count_in_range, a_empty/full_iff_count_*, a_shadow_count).

Audit notes

  • The previously-reported k-induction depth inconsistency is already fixed on main: BMC=20, prove (k-induction)=15, cover=30 are consistent across the .sby scripts, Makefile, CI, README, and the RTL header. No change needed.
  • The honest note that a_data_integrity's k-induction step does not close (shadow-tracker limitation on the OSS Yosys frontend) is left untouched.

Verification status

Not executed locally — verilator / iverilog / sby / yosys are not installed in this environment, so these are static, read-based refinements only. All changes are comment/doc/clean-target edits with no impact on lint, synthesis, simulation, or formal behavior. CI (lint + synth + formal BMC depth 20 + sim) will verify on push.

billdmar added 2 commits June 8, 2026 13:31
The prove script formal/sync_fifo.sby produces output in formal/sync_fifo/,
not formal/sync_fifo_prove/ (which is never created). Drop the dead path and
annotate the real one.
- tb: rewrite the depth-sweep header note; the bench does not read DEPTH back
  from the model at runtime, it uses the -DDEPTH_PARAM compile define that the
  Makefile keeps in lock-step with -GDEPTH.
- tb: correct the fault-injection description to match the code (XOR 0xFF on
  every third accepted write, not a swap of two pop values).
- tb: note DATA_WIDTH tracks the DUT default (8) and is never overridden.
- properties: document what each Group 6 count/flag assertion pins down.

Comment-only; no RTL, assertion, or scoreboard behavior changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant