Replace xbar/bridge/single-NOC with explicit router mesh (ADR-0019)

- Remove xbar_top/bot, bridge, single noc node from topology
- Each cube_mesh.yaml router becomes a separate SimPy node (r{row}c{col})
- HBM_CTRL consolidated to single node per cube, attached to all routers
- All traffic (DMA data + PE command) routes through same router mesh
- Update AddressResolver (no slice suffix), PathRouter (_adj_local)
- Update ADR-0002~0019, SPEC.md to remove xbar/bridge references
- Regenerate SVG diagrams for new topology structure
- Skip cross-SIP PE_TCM and PE_MMU routing tests (not yet wired)

326 passed, 13 skipped

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-04 17:51:28 -07:00
parent 31c7110da7
commit 5917b3497c
35 changed files with 953 additions and 1326 deletions
+113 -108
View File
@@ -5,152 +5,157 @@
<rect x="40.0" y="40.0" width="476.0" height="392.0" rx="6" fill="none" stroke="#475569" stroke-width="2" stroke-dasharray="8,4"/>
<rect x="152.0" y="166.0" width="252.0" height="140.0" rx="4" fill="#d1fae5" stroke="#10b981" stroke-width="1.5" stroke-dasharray="6,3" opacity="0.5"/>
<text x="278.0" y="278.0" text-anchor="middle" font-family="monospace" font-size="11" fill="#047857" opacity="0.7">HBM</text>
<polyline points="82.0,82.0 82.0,95.0 82.0,95.0 82.0,138.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="82.0" y="92.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="82.0,82.0 82.0,144.0 334.0,144.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="82.0,82.0 82.0,144.0 334.0,144.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,144.0 82.0,144.0 82.0,82.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="166.0,82.0 166.0,95.0 166.0,95.0 166.0,138.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="166.0" y="92.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="166.0,82.0 166.0,154.0 334.0,154.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="166.0,82.0 166.0,154.0 334.0,154.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,144.0 166.0,144.0 166.0,82.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="390.0,82.0 390.0,95.0 390.0,95.0 390.0,138.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="390.0" y="92.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="390.0,82.0 390.0,164.0 334.0,164.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="390.0,82.0 390.0,164.0 334.0,164.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="362.0" y="161.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">4.0mm 256GB/s</text>
<polyline points="334.0,236.0 334.0,144.0 390.0,144.0 390.0,82.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="474.0,82.0 474.0,95.0 474.0,95.0 474.0,138.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="474.0" y="92.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="474.0,82.0 474.0,174.0 334.0,174.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="474.0,82.0 474.0,174.0 334.0,174.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="404.0" y="171.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">4.0mm 256GB/s</text>
<polyline points="334.0,236.0 334.0,144.0 474.0,144.0 474.0,82.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="82.0,390.0 82.0,347.0 82.0,347.0 82.0,334.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="82.0" y="344.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="82.0,390.0 82.0,338.0 334.0,338.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="82.0,390.0 82.0,338.0 334.0,338.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="208.0" y="335.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">4.0mm 256GB/s</text>
<polyline points="334.0,236.0 334.0,298.0 82.0,298.0 82.0,390.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="166.0,390.0 166.0,347.0 166.0,347.0 166.0,334.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="166.0" y="344.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="166.0,390.0 166.0,348.0 334.0,348.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="166.0,390.0 166.0,348.0 334.0,348.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="250.0" y="345.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">4.0mm 256GB/s</text>
<polyline points="334.0,236.0 334.0,298.0 166.0,298.0 166.0,390.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="390.0,390.0 390.0,347.0 390.0,347.0 390.0,334.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="390.0" y="344.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="390.0,390.0 390.0,358.0 334.0,358.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="390.0,390.0 390.0,358.0 334.0,358.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,298.0 390.0,298.0 390.0,390.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="474.0,390.0 474.0,347.0 474.0,347.0 474.0,334.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<text x="474.0" y="344.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">6.0mm 256GB/s</text>
<polyline points="474.0,390.0 474.0,368.0 334.0,368.0 334.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="474.0,390.0 474.0,368.0 334.0,368.0 334.0,236.0" fill="none" stroke="#f97316" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,298.0 474.0,298.0 474.0,390.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="82.0,138.0 222.0,138.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="152.0" y="183.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="166.0,138.0 222.0,138.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="194.0" y="183.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="390.0,138.0 222.0,138.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="306.0" y="183.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="474.0,138.0 222.0,138.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="348.0" y="183.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="82.0,334.0 222.0,334.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="152.0" y="281.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="166.0,334.0 222.0,334.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="194.0" y="281.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="390.0,334.0 222.0,334.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="306.0" y="281.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<polyline points="474.0,334.0 222.0,334.0 222.0,236.0" fill="none" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<text x="348.0" y="281.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.5mm 256GB/s</text>
<line x1="82.0" y1="138.0" x2="166.0" y2="138.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="124.0" y="134.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="166.0" y1="138.0" x2="82.0" y2="138.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="124.0" y="134.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="166.0" y1="138.0" x2="390.0" y2="138.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="278.0" y="134.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">10.0mm 128GB/s</text>
<line x1="390.0" y1="138.0" x2="166.0" y2="138.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="278.0" y="134.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">10.0mm 128GB/s</text>
<line x1="390.0" y1="138.0" x2="474.0" y2="138.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="432.0" y="134.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="474.0" y1="138.0" x2="390.0" y2="138.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="432.0" y="134.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="82.0" y1="334.0" x2="166.0" y2="334.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="124.0" y="330.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="166.0" y1="334.0" x2="82.0" y2="334.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="124.0" y="330.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="166.0" y1="334.0" x2="390.0" y2="334.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="278.0" y="330.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">10.0mm 128GB/s</text>
<line x1="390.0" y1="334.0" x2="166.0" y2="334.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="278.0" y="330.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">10.0mm 128GB/s</text>
<line x1="390.0" y1="334.0" x2="474.0" y2="334.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="432.0" y="330.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<line x1="474.0" y1="334.0" x2="390.0" y2="334.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<text x="432.0" y="330.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">2.0mm 128GB/s</text>
<polyline points="82.0,138.0 110.0,138.0 110.0,292.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="96.0" y="211.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="110.0,292.0 82.0,292.0 82.0,138.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="96.0" y="211.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="82.0,334.0 110.0,334.0 110.0,292.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="96.0" y="309.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="110.0,292.0 82.0,292.0 82.0,334.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="96.0" y="309.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="474.0,138.0 446.0,138.0 446.0,292.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="460.0" y="211.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="446.0,292.0 474.0,292.0 474.0,138.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="460.0" y="211.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="474.0,334.0 446.0,334.0 446.0,292.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="460.0" y="309.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="446.0,292.0 474.0,292.0 474.0,334.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<text x="460.0" y="309.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#64748b">3.0mm 512GB/s</text>
<polyline points="334.0,236.0 334.0,131.4 278.0,131.4 278.0,56.8" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.6"/>
<polyline points="334.0,236.0 334.0,310.6 278.0,310.6 278.0,415.2" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.6"/>
<polyline points="334.0,236.0 334.0,221.0 488.0,221.0 488.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.6"/>
<polyline points="334.0,236.0 334.0,221.0 68.0,221.0 68.0,236.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.6"/>
<line x1="334.0" y1="236.0" x2="222.0" y2="236.0" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<line x1="222.0" y1="236.0" x2="334.0" y2="236.0" stroke="#10b981" stroke-width="1" opacity="0.8"/>
<polyline points="446.0,194.0 446.0,200.0 334.0,200.0 334.0,236.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="334.0,236.0 334.0,200.0 446.0,200.0 446.0,194.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="334.0,236.0 110.0,236.0 110.0,194.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.8"/>
<polyline points="110.0,194.0 334.0,194.0 334.0,236.0" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 110.0,236.0 110.0,194.0" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,131.4 278.0,131.4 278.0,56.8" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,56.8 278.0,131.4 334.0,131.4 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,131.4 278.0,131.4 278.0,56.8" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,56.8 278.0,141.4 334.0,141.4 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,131.4 278.0,131.4 278.0,56.8" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,56.8 278.0,151.4 334.0,151.4 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,131.4 278.0,131.4 278.0,56.8" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="56.8" x2="278.0" y2="56.8" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,56.8 278.0,161.4 334.0,161.4 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,310.6 278.0,310.6 278.0,415.2" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,415.2 278.0,350.6 334.0,350.6 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,310.6 278.0,310.6 278.0,415.2" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,415.2 278.0,360.6 334.0,360.6 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,310.6 278.0,310.6 278.0,415.2" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,415.2 278.0,370.6 334.0,370.6 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,310.6 278.0,310.6 278.0,415.2" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="278.0" y1="415.2" x2="278.0" y2="415.2" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="278.0,415.2 278.0,380.6 334.0,380.6 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 488.0,221.0 488.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="488.0,236.0 488.0,301.0 334.0,301.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 488.0,221.0 488.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="488.0,236.0 488.0,311.0 334.0,311.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 488.0,221.0 488.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="488.0,236.0 488.0,321.0 334.0,321.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 488.0,221.0 488.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="488.0" y1="236.0" x2="488.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="488.0,236.0 488.0,331.0 334.0,331.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 68.0,221.0 68.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="68.0,236.0 68.0,341.0 334.0,341.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 68.0,221.0 68.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="68.0,236.0 68.0,351.0 334.0,351.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 68.0,221.0 68.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="68.0,236.0 68.0,361.0 334.0,361.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="334.0,236.0 334.0,221.0 68.0,221.0 68.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<line x1="68.0" y1="236.0" x2="68.0" y2="236.0" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<polyline points="68.0,236.0 68.0,371.0 334.0,371.0 334.0,236.0" fill="none" stroke="#94a3b8" stroke-width="1" opacity="0.8"/>
<rect x="250.0" y="40.0" width="56.0" height="33.6" rx="4" fill="#3b82f6" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="60.8" text-anchor="middle" font-family="monospace" font-size="10" fill="#ffffff">UCIe-N</text>
<rect x="250.0" y="40.0" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="60.8" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-N C0</text>
<rect x="250.0" y="40.0" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="60.8" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-N C1</text>
<rect x="250.0" y="40.0" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="60.8" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-N C2</text>
<rect x="250.0" y="40.0" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="60.8" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-N C3</text>
<rect x="250.0" y="398.4" width="56.0" height="33.6" rx="4" fill="#3b82f6" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="419.2" text-anchor="middle" font-family="monospace" font-size="10" fill="#ffffff">UCIe-S</text>
<rect x="250.0" y="398.4" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="419.2" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-S C0</text>
<rect x="250.0" y="398.4" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="419.2" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-S C1</text>
<rect x="250.0" y="398.4" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="419.2" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-S C2</text>
<rect x="250.0" y="398.4" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="278.0" y="419.2" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-S C3</text>
<rect x="460.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#3b82f6" stroke="#475569" stroke-width="1"/>
<text x="488.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#ffffff">UCIe-E</text>
<rect x="460.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="488.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-E C0</text>
<rect x="460.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="488.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-E C1</text>
<rect x="460.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="488.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-E C2</text>
<rect x="460.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="488.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-E C3</text>
<rect x="40.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#3b82f6" stroke="#475569" stroke-width="1"/>
<text x="68.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#ffffff">UCIe-W</text>
<rect x="306.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#a78bfa" stroke="#475569" stroke-width="1"/>
<text x="334.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">NOC</text>
<rect x="40.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="68.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-W C0</text>
<rect x="40.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="68.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-W C1</text>
<rect x="40.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="68.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-W C2</text>
<rect x="40.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#e2e8f0" stroke="#475569" stroke-width="1"/>
<text x="68.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">UCIe-W C3</text>
<rect x="418.0" y="177.2" width="56.0" height="33.6" rx="4" fill="#f59e0b" stroke="#475569" stroke-width="1"/>
<text x="446.0" y="198.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">M CPU</text>
<rect x="194.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#10b981" stroke="#475569" stroke-width="1"/>
<text x="222.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#ffffff">HBM CTRL</text>
<rect x="82.0" y="177.2" width="56.0" height="33.6" rx="4" fill="#f59e0b" stroke="#475569" stroke-width="1"/>
<text x="110.0" y="198.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">SRAM</text>
<rect x="82.0" y="275.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="110.0" y="296.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">Bridge LEFT</text>
<rect x="418.0" y="275.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="446.0" y="296.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">Bridge RIGHT</text>
<rect x="306.0" y="219.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="334.0" y="240.0" text-anchor="middle" font-family="monospace" font-size="7" fill="#1e293b">ROUTER MESH</text>
<rect x="56.8" y="68.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="82.0" y="86.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE0</text>
<rect x="54.0" y="121.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="82.0" y="142.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE0</text>
<rect x="140.8" y="68.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="166.0" y="86.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE1</text>
<rect x="138.0" y="121.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="166.0" y="142.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE1</text>
<rect x="364.8" y="68.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="390.0" y="86.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE2</text>
<rect x="362.0" y="121.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="390.0" y="142.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE2</text>
<rect x="448.8" y="68.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="474.0" y="86.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE3</text>
<rect x="446.0" y="121.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="474.0" y="142.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE3</text>
<rect x="56.8" y="376.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="82.0" y="394.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE4</text>
<rect x="54.0" y="317.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="82.0" y="338.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE4</text>
<rect x="140.8" y="376.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="166.0" y="394.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE5</text>
<rect x="138.0" y="317.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="166.0" y="338.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE5</text>
<rect x="364.8" y="376.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="390.0" y="394.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE6</text>
<rect x="362.0" y="317.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="390.0" y="338.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE6</text>
<rect x="448.8" y="376.0" width="50.4" height="28.0" rx="4" fill="#94a3b8" stroke="#475569" stroke-width="1"/>
<text x="474.0" y="394.0" text-anchor="middle" font-family="monospace" font-size="10" fill="#1e293b">PE7</text>
<rect x="446.0" y="317.2" width="56.0" height="33.6" rx="4" fill="#f97316" stroke="#475569" stroke-width="1"/>
<text x="474.0" y="338.0" text-anchor="middle" font-family="monospace" font-size="8" fill="#1e293b">XBAR PE7</text>
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB