`timescale 1ns/1ps // ================================================================ // C.6 / BUG-006 REGRESSION TEST (docs/validation/bugs.md), now FIXED: // does num_neurons_graph=0 reproduce the same class of issue as // BUG-005 (rtl/layer_sequencer.v)? // // Structural analysis: rtl/graph_engine.v's neuron_idx (line 159) is // a full 16-bit register, and the termination check // `neuron_idx == num_neurons_graph-16'd1` (lines 527/561) wraps to // 65535 for num_neurons_graph=0 -- a value neuron_idx CAN naturally // reach, structurally identical to BUG-005's layer_idx pattern. // Before the fix, this was observed to terminate via the incidental // src_id 30) begin $display("FAIL: done fired at cycle %0d with neuron_idx=0, but that is far more than the handful of cycles an immediate no-op (after copying %0d input(s)) should take -- worth re-examining", watchdog, n_inputs_graph); end else begin $display("PASS: num_neurons_graph=0 completed as an immediate no-op at cycle %0d, neuron_idx stayed 0, no err -- BUG-006 fix confirmed, no garbage descriptor iterations executed", watchdog); end $finish; end endmodule