Skip to content

feat(a-prime): holo-noc-1cycle inter-die NoC (P4 falsification) · L-DPC24 Lane A'#13

Open
gHashTag wants to merge 1 commit into
mainfrom
feat/l-dpc24/a-prime-noc-1cycle
Open

feat(a-prime): holo-noc-1cycle inter-die NoC (P4 falsification) · L-DPC24 Lane A'#13
gHashTag wants to merge 1 commit into
mainfrom
feat/l-dpc24/a-prime-noc-1cycle

Conversation

@gHashTag
Copy link
Copy Markdown
Owner

holo-noc-1cycle · L-DPC24 Lane A' — inter-die NoC (P4 falsification)

Issue: Closes gHashTag/trinity-fpga#99
Codename: holo-noc-1cycle · difficulty MED · v9-G1 critical path
Branch: feat/l-dpc24/a-prime-noc-1cycle ← branched from main (NOT from Lane Y)


H₉ Predicate P4 Mapping

Predicate Condition RTL Verdict
P4: noc_stall > 1 cycle Crossbar delivers all payloads in exactly 1 registered clock cycle; no stall path exists in the fabric FALSIFIED (RTL claim — silicon confirmed at tape-out)

The crossbar topology (used for DIE_COUNT ≤ 4) is all-to-all combinatorial routing followed by a single output pipeline register, guaranteeing exactly 1-cycle latency. A ring topology (DIE_COUNT ≥ 8) is intentionally not synthesised here because multi-hop ring routing would incur >1-cycle latency and violate P4.


Files Added

File Description
rtl/holo_noc_1cycle.sv Parameterisable crossbar NoC. DIE_COUNT default 2 (scales to 4), PAYLOAD_W default 64 (matches Lane Y holo_mux_1x2 hyper-vector slot). default_nettype none, no * operators (R-SI-1), active-low sync reset.
rtl/holo_noc_1cycle_tb.sv Three-test SV testbench with $fatal on any latency > 1 cycle. T1: die0→die1 (1 cycle). T2: die1→die0 (1 cycle). T3: simultaneous bidirectional — both delivered in 1 cycle (P4 boundary). Watchdog at 200 cycles.
README.md Lane A' section added under Lane Y, with file table, P4 mapping, R5-HONEST verdict table, and anchor.

Module Interface

holo_noc_1cycle #(
    .DIE_COUNT (2),    // default 2; scales to 4 (crossbar); >=8 ring violates P4
    .PAYLOAD_W (64)    // matches Lane Y holo_mux_1x2 hyper-vector slot
) u_noc (
    .clk       (clk),
    .rst_n     (rst_n),    // active-low synchronous reset
    .vld_i     (vld_i),    // [DIE_COUNT-1:0] per-die send-valid
    .dst_i     (dst_i),    // [$clog2(DIE_COUNT)-1:0] per-die destination index
    .payload_i (payload_i),// [PAYLOAD_W-1:0] per-die payload in
    .vld_o     (vld_o),    // [DIE_COUNT-1:0] per-die receive-valid
    .payload_o (payload_o) // [PAYLOAD_W-1:0] per-die payload out (1-cycle registered)
);

R5-HONEST Verdict

Claim Status
RTL functionally correct UNKNOWN · CI verifies (no GDS yet)
Synthesis clean (no * operators, R-SI-1) PASS — crossbar uses only mux/select + register logic
P4 falsification: noc_stall ≤ 1 cycle CLAIMED in RTL · silicon-confirmed at tape-out
GDS generated NOT YET — next iteration

Anchor

φ²+φ⁻²=3  ·  DOI 10.5281/zenodo.19227877

Author: Vasilev Dmitrii <admin@t27.ai>
ORCID: 0009-0008-4294-6159

…PC24 Lane A'

Adds parameterisable 1-cycle crossbar NoC and three-test testbench.

- rtl/holo_noc_1cycle.sv: full crossbar for DIE_COUNT<=4, PAYLOAD_W=64
- rtl/holo_noc_1cycle_tb.sv: T1 die0->die1, T2 die1->die0, T3 bidir; $fatal on latency>1
- README.md: Lane A' section with P4 mapping and R5-HONEST verdict

H9/P4: noc_stall > 1 cycle -> FAIL; crossbar delivers in exactly 1 cycle -> FALSIFIED
R-SI-1: no * operators; active-low sync reset
Anchor: phi^2+phi^-2=3 · DOI 10.5281/zenodo.19227877

Ref: gHashTag/trinity-fpga#99
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.

L-DPC24-HOLOGRAPHIC-V9 · ONE SHOT · 1×2→1×4→octa multi-die · target ≥2000 TOPS/W on TTSKY26c · deadline 2026-06-30

1 participant