Remove xbar/noc remnants, rule-based cube-view connectors

- Delete xbar.py and noc.py (TwoDMeshNocComponent) — unused since router mesh
- Remove xbar_v1/noc_2d_mesh_v1 from components.yaml
- Fix pe_to_xbar → pe_to_router in routing exclusion set
- Fix xbar_to_hbm_bw_gbs → hbm_to_router_bw_gbs in report.py
- Update all docstrings/comments referencing xbar/bridge → router mesh
- Cube-view connectors: rule-based _connector_points helper
  - PE↔router: single diagonal line (not chevron)
  - UCIe N/S: 45°→horizontal→45°
  - UCIe E/W: 45°→vertical→45°
  - HBM ports: 45°→horizontal→45°

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-06 23:59:12 -07:00
parent 7640635f90
commit eb792e6212
17 changed files with 163 additions and 571 deletions
+8 -11
View File
@@ -1,18 +1,15 @@
"""Tests for #5+#6 CUBE NOC Router Mesh + Position-Aware XBAR.
Phase 1 verification: all tests FAIL until Phase 2 implements production code.
"""Tests for CUBE NOC Explicit Router Mesh (ADR-0019).
Key changes verified:
- Single NOC node per cube with internal router mesh simulation
- Auto-layout generates cube_mesh.yaml (6x6 grid for n_connections=4)
- Position-aware XBAR (top/bottom) replaces per-PE xbar chaining
- Explicit router nodes per cube from cube_mesh.yaml (6×6 grid)
- Auto-layout generates cube_mesh.yaml with PE/UCIe/M_CPU/SRAM attachments
- Mesh file caching with source_hash change detection
- Path routing: PE_DMA → NOC → XBAR_top/bot → HBM_CTRL
- Path routing: PE_DMA → router mesh → HBM_CTRL
Latency invariant after refactor:
Local HBM: PE_DMA → Router(overhead) → XBAR → HBM_CTRL
Cross-row: PE_DMA → Router → mesh traverse → Router → XBAR → bridge → XBAR → HBM_CTRL
Cross-cube: PE_DMA → Router → mesh → UCIe → ... → mesh → XBAR → HBM_CTRL
Latency invariant:
Local HBM: PE_DMA → Router(overhead) → HBM_CTRL
Cross-row: PE_DMA → Router → mesh hops → Router → HBM_CTRL
Cross-cube: PE_DMA → Router → mesh → UCIe → ... → mesh → HBM_CTRL
"""
import pytest