Examples / Questions worth testing

RTL examples and verification walkthroughs

Run a self-contained ready/valid example, then explore two retained engineering case studies. Each asks a specific question about behavior, source changes and the evidence needed for a decision.

Runnable first project ↓ · Telemetry stream ↓ · Packet storage ↓ · Evidence checklist ↓

Start here / Reproducible source

Simulate a stream register

The first-project guide includes the Verilog source, testbench, Icarus commands and expected output. Download the same two source files or copy them from the guide. Run the check and inspect the VCD in native Verify. No proprietary source or AI request is required for this simulator exercise.

Inputs
stream_register.sv, tb.sv and Icarus Verilog with vvp.
Expected result
PASS: reset and stalled transfer, plus stream.vcd.
Check the checker
Break reset deliberately; expect reset did not clear valid and a nonzero exit.
Scope
One directed reset/stall test—not exhaustive traffic, formal proof or production-qualified IP.

Download the first-project ZIP · SHA-256 checksum · Install and get started

The telemetry and packet-storage sections below explain retained engineering cases. They are case studies, not a claim that their complete source and evidence bundles ship with the application.

01 / Measurement processing

What happens when the consumer stalls?

The telemetry case is a single-clock digital-IP prototype: accept signed samples, apply calibration, buffer temporary downstream stalls and expose configuration and status. The engineering question is whether the complete path preserves accepted measurements under the specified workload.

Telemetry RTL architecture in the native SiliconForge workspace
Illustrative telemetry source fixture in the released native Qt application, captured offscreen. This rendering is not the retained case-study qualification or proof of its behavior.

1. Establish the interface contract

Before changing the design, identify which clock edge accepts an input and which emits an output. The producer must honor ready/valid backpressure. Reset discards the queued epoch; a reset-discarded sample must not be counted as unexplained data loss.

2. Trace the source-grounded path

  1. In Architecture, follow sample_processing → buffering → output.
  2. Inspect calibration: signed 17-bit addition is followed by signed 16-bit saturation. Calibration occurs before enqueue, so later register writes must not change already accepted values.
  3. Inspect the fixed 32-entry queue. Output must remain the oldest accepted sample during a stall; simultaneous pop/push at full capacity is a separate boundary case.
  4. Inspect control_status and counters. APB exposes configuration and occupancy; counters represent accepted/emitted handshakes, not attempted transfers. Disabling input preserves queued output.

3. Challenge the capacity assumption

At one offered sample every four cycles, a 96-cycle consumer blackout creates demand for 24 additional entries. Whether a 32-entry buffer is enough still depends on initial occupancy and service after the blackout. Do not extrapolate that one scenario to arbitrarily long stalls.

Run the matching testbench against the exact source and inspect accepted inputs, emitted outputs, occupancy, saturation and reset. Use available waveform artifacts to follow the handshake cycle by cycle.

4. Decide what the evidence permits

The retained engineering review reports ordering, saturation, stalls, occupancy, configuration-change and reset checks for this fixed configuration. That is a bounded engineering result—not a qualification of every parameter value or target device.

Known limitations you should keep in the review

  • The assessed queue depth is 32. Occupancy uses a six-bit field; changing the declared depth alone does not establish correct parameterization.
  • Generic synthesis does not establish block-RAM inference, FPGA resource usage, frequency or timing closure.
  • No physical sensor interface or clock-domain crossing is established by this case.
  • Register defaults, watermark truncation/clamping, counter wrap and interrupt service need an explicit integration contract before reuse.

A useful next task: specify a supported capacity range, repair width-dependent behavior in a new candidate and rerun boundary tests across that range. Do not reuse the original fixed-depth evidence as proof of the modified design.

Read simulation and waveform results → · Navigate the design →

02 / Reconstruction in context

Review a packet-storage replacement

The packet case reconstructs a missing frame-storage implementation while retaining the surrounding packet-protection application. The replacement is evaluated by externally observable behavior—not textual resemblance to the original.

1. Separate the three snapshots

The comparison uses original, removed and replacement snapshots. The removed version establishes the missing implementation boundary; it is not a second working reference. Source identities distinguish snapshots from a timeline of unrelated AI attempts.

2. Review the storage interface in context

  1. Open the supplied design comparison using the Design toolbar's comparison importer, or review the corresponding retained revisions in Changes.
  2. Inspect the storage block and its connected producer, decision logic and consumer in Architecture. Compare original-only and replacement views when an overlay becomes ambiguous.
  3. Follow completion and output control into RTL/source. Changed internal names do not automatically imply changed application behavior.
  4. Inspect the associated application evidence and waveform, including its source binding. An imported comparison is inspection material; it does not authorize applying a candidate.
Native side-by-side synthesized RTL cone for a changed ready signal, with unmatched before and after logic
Focused, partial synthesized RTL cone for a changed ready signal across two tracked packet examples, captured offscreen in the released app. These are not the case study's original and AI replacement; unmatched structures are not an equivalence verdict.

3. Investigate a contract disagreement

A reference can disagree with the requirement

The recorded reconstruction exposed a difference in frame_done: the written contract requested a one-cycle pulse, while the reference could hold it waiting for a decision. A visually similar implementation could preserve the wrong contract; a different implementation could satisfy the intended one.

Use a delayed-decision waveform to observe the completion signal and connected consumer. Record whether the mismatch lies in the written requirement, reference or replacement. Resolve that question before declaring equivalence or changing the acceptance test.

4. Exercise the whole application

Challenge accepted and rejected packets, downstream stalls, delayed decisions, reset and capacity boundaries. Read the declared workload and formal assumptions. Match source, tool configuration and stimulus when comparing the original and replacement.

5. Keep the result bounded

The retained reconstruction documents application checks for the original and replacement, alongside scoped formal safety and generic synthesis. CRC, policy and leakage checks under declared workloads are not an unbounded proof over every possible frame. This case does not establish device timing closure or universal sequential equivalence.

A useful next task: add an independent delayed-decision regression for the agreed completion contract, demonstrate that it distinguishes the disputed behaviors, then review any repair as a new candidate.

Compare revisions and staged proposals → · Apply or reject a reviewed candidate →

What to keep with any example

A result without its conditions is incomplete
RecordQuestion it answers
Source and configuration identityWhich design, top, parameters and defines were checked?
Requirement and testbenchWhat behavior was required and which scenarios were exercised?
Tool command, version and outputWhat actually ran, and what did it report?
Logs, traces and failure casesCan the result be investigated rather than merely summarized?
Known limitationsWhat remains untested, unsupported or dependent on integration assumptions?

These walkthroughs describe retained engineering cases. They do not grant third-party IP rights or imply that every referenced project/evidence bundle ships with the application. For your own design, reproduce the relevant steps with source and tests you are authorized to use.

Open your own RTL project

Start with your own RTL →