Altifigence Academy

23 / 24 · Concept

Measure performance and review the design

Specify observation windows, diagnose stalls, and bound model evidence.

Recheck both numeric and timing contracts

A correct calculation is only part of completion. Check input admission, preservation under stalls, final drain, and reset boundaries. Report the observation window, accepted inputs, delivered outputs, input/output stalls, and transaction latencies. Presented inputs rejected by a full buffer must not count as completed work.

Suppose twelve results transfer between immediately after edge 0 and immediately after edge 20, a window of twenty clock intervals. Observed throughput is 0.6 transactions per cycle. At a five-nanosecond period, the window is 100 ns and the rate is 120 million transactions per second. Distinguish this observed rate from the unstalled structural maximum of 200 million. Sparse production and frequent sink stalls need different remedies despite identical rates.

Use tags to associate delivery with acceptance. Tag7 accepted at edge 4 and delivered at edge 11 has seven-cycle latency, or 35 ns. It exceeds the capstone's three-cycle unstalled latency without implying loss. Record a range or per-item table, not only an average. Fixed-latency assertions belong only on unstalled paths.

ObservationPossible causeInspect next
FIFO often fullSlow sink or later stageOutput-ready and stage valids
Output often emptySparse input or bubblesAccepted inputs and stage movement
Long ready pathMany combinational buffer linksImplementation timing
Wrong tag orderCompanion-field misalignmentStage tags and valids

Deeper buffering absorbs bursts but can increase waiting time. Steady-state occupancy, arrival rate, and residence time are related; do not apply steady-state averages blindly to short startup, drain, or cancellation windows.

Review widths, signedness, narrowing, valid movement, replacement, reset cancellation, memory timing, and dependency policy. Node success establishes integer-model execution, not HDL compilation or placed timing. For extensions such as saturation, operation codes, or memory responses, change the contract and reference checks together. A datapath extension must preserve storage, acceptance, and interpretation as well as add an operator.

Try it yourself

Thirty results transfer during fifty clock intervals at a four-nanosecond period. Find observed throughput per cycle and per second. Also find latency for tag3 accepted at edge 8 and delivered at edge 15.

Read the explanation

Throughput is 0.6 transactions/cycle. The 200 ns window gives 150 million transactions/second. Tag3 latency is seven cycles, or 28 ns. Report these observations separately from unstalled maximum performance.

Your choice applies to this browser. Change it any time using the footer.