Cube-view SVG: detailed topology validation rendering

- Dedicated cube_view renderer showing 6×6 router grid with attachments
- PE blocks drawn next to their router (above/below)
- HBM pseudo channel port bar (64 ports, color-coded by PE owner)
- Per-PE BW annotations on HBM links
- Router color-coded by type (PE/M_CPU/SRAM/UCIe/relay)
- Title shows mode, channel count, per-PE and total BW
- Legend for all component types

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-04 22:03:38 -07:00
parent 5c6abe6d12
commit e94f1de078
3 changed files with 548 additions and 331 deletions
+2 -3
View File
@@ -34,14 +34,13 @@ def test_svg_output_is_deterministic(tmp_path):
def test_cube_svg_contains_hbm_ctrl(tmp_path):
_emit(tmp_path)
svg = (tmp_path / "cube_view.svg").read_text()
assert "HBM CTRL" in svg
assert "HBM_CTRL" in svg
def test_cube_svg_contains_ucie_ports(tmp_path):
_emit(tmp_path)
svg = (tmp_path / "cube_view.svg").read_text()
for port in ("UCIe-N", "UCIe-S", "UCIe-W", "UCIe-E"):
assert port in svg
assert "UCIe" in svg
def test_cube_svg_contains_pe_nodes(tmp_path):