Cube-view: 45° diagonal from router, then straight to component

All connectors now start with 45° diagonal from router edge,
then go straight (vertical/horizontal) to the component block.
Applies to PE, M_CPU/SRAM, PE→HBM, and UCIe connectors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-05 00:25:41 -07:00
parent d3de982ea4
commit bde76ec959
2 changed files with 97 additions and 79 deletions
+34 -34
View File
@@ -135,12 +135,12 @@
<text x="135" y="138" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r0c0</text>
<rect x="119" y="107" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="135" y="118" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE0</text>
<polyline points="135,123 135,127 135,127" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="135,127 135,127 135,123" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="285" cy="135" r="8" fill="#475569" stroke="#64748b" stroke-width="1"/>
<text x="285" y="138" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r0c1</text>
<rect x="269" y="107" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="285" y="118" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE1</text>
<polyline points="285,123 285,127 285,127" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="285,127 285,127 285,123" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="435" cy="135" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
<text x="435" y="138" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r0c2</text>
<circle cx="585" cy="135" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
@@ -161,17 +161,17 @@
<text x="685" y="263" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r1c4</text>
<rect x="669" y="232" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="685" y="243" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE2</text>
<polyline points="685,248 685,252 685,252" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="685,252 685,252 685,248" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="835" cy="260" r="8" fill="#475569" stroke="#64748b" stroke-width="1"/>
<text x="835" y="263" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r1c5</text>
<rect x="819" y="232" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="835" y="243" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE3</text>
<polyline points="835,248 835,252 835,252" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="835,252 835,252 835,248" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="135" cy="335" r="8" fill="#475569" stroke="#64748b" stroke-width="1"/>
<text x="135" y="338" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r2c0</text>
<rect x="89" y="327" width="32" height="16" rx="3" fill="#451a03" stroke="#f59e0b" stroke-width="1"/>
<text x="105" y="338" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#f59e0b">M_CPU</text>
<polyline points="121,335 127,335 127,335" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<polyline points="127,335 127,335 121,335" fill="none" stroke="#f59e0b" stroke-width="1" opacity="0.6"/>
<circle cx="285" cy="335" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
<text x="285" y="338" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r2c1</text>
<circle cx="685" cy="335" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
@@ -182,7 +182,7 @@
<text x="135" y="488" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r3c0</text>
<rect x="89" y="477" width="32" height="16" rx="3" fill="#1c1917" stroke="#d97706" stroke-width="1"/>
<text x="105" y="488" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#d97706">SRAM</text>
<polyline points="121,485 127,485 127,485" fill="none" stroke="#d97706" stroke-width="1" opacity="0.6"/>
<polyline points="127,485 127,485 121,485" fill="none" stroke="#d97706" stroke-width="1" opacity="0.6"/>
<circle cx="285" cy="485" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
<text x="285" y="488" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r3c1</text>
<circle cx="685" cy="485" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
@@ -193,12 +193,12 @@
<text x="135" y="563" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r4c0</text>
<rect x="119" y="572" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="135" y="583" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE4</text>
<polyline points="135,572 135,568 135,568" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="135,568 135,568 135,572" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="285" cy="560" r="8" fill="#475569" stroke="#64748b" stroke-width="1"/>
<text x="285" y="563" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r4c1</text>
<rect x="269" y="572" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="285" y="583" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE5</text>
<polyline points="285,572 285,568 285,568" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="285,568 285,568 285,572" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="435" cy="560" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
<text x="435" y="563" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r4c2</text>
<circle cx="585" cy="560" r="8" fill="#334155" stroke="#475569" stroke-width="1"/>
@@ -219,84 +219,84 @@
<text x="685" y="688" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r5c4</text>
<rect x="669" y="697" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="685" y="708" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE6</text>
<polyline points="685,697 685,693 685,693" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="685,693 685,693 685,697" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<circle cx="835" cy="685" r="8" fill="#475569" stroke="#64748b" stroke-width="1"/>
<text x="835" y="688" text-anchor="middle" font-family="monospace" font-size="6" fill="white">r5c5</text>
<rect x="819" y="697" width="32" height="16" rx="3" fill="#2d1f3d" stroke="#a855f7" stroke-width="1"/>
<text x="835" y="708" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#a855f7">PE7</text>
<polyline points="835,697 835,693 835,693" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="135,143 135,216 324,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="835,693 835,693 835,697" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.6"/>
<polyline points="135,143 324,289 324,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="239" y="216" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="285,143 285,216 431,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="285,143 431,289 431,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="368" y="216" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="685,268 685,278 539,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="685,268 539,289 539,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="622" y="278" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="835,268 835,278 646,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="835,268 646,289 646,289" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="751" y="278" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="135,552 135,542 324,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="135,552 324,531 324,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="239" y="542" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="285,552 285,542 431,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="285,552 431,531 431,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="368" y="542" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="685,677 685,604 539,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="685,677 539,531 539,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="622" y="604" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<polyline points="835,677 835,604 646,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<polyline points="835,677 646,531 646,531" fill="none" stroke="#10b981" stroke-width="1.5" opacity="0.6" stroke-dasharray="4,3"/>
<text x="751" y="604" font-family="monospace" font-size="6" fill="#10b98188">256GB/s</text>
<rect x="85" y="360" width="50" height="100" rx="3" fill="#1e1b4b" stroke="#8b5cf6" stroke-width="1.5" opacity="0.9"/>
<text x="110" y="357" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#8b5cf6">UCIe-W</text>
<rect x="87" y="362" width="46" height="23" rx="2" fill="#818cf8" opacity="0.7"/>
<text x="110" y="376" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c0</text>
<polyline points="133,374 130,374 127,135" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<polyline points="127,135 133,374 133,374" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<rect x="87" y="386" width="46" height="23" rx="2" fill="#a78bfa" opacity="0.7"/>
<text x="110" y="400" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c1</text>
<polyline points="133,398 130,398 127,260" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<polyline points="127,260 133,398 133,398" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<rect x="87" y="410" width="46" height="23" rx="2" fill="#c084fc" opacity="0.7"/>
<text x="110" y="424" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c2</text>
<polyline points="133,422 130,422 127,560" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<polyline points="127,560 133,422 133,422" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<rect x="87" y="434" width="46" height="23" rx="2" fill="#e879f9" opacity="0.7"/>
<text x="110" y="448" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c3</text>
<polyline points="133,446 130,446 127,685" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<polyline points="127,685 133,446 133,446" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<rect x="435" y="85" width="100" height="50" rx="3" fill="#1e1b4b" stroke="#8b5cf6" stroke-width="1.5" opacity="0.9"/>
<text x="485" y="82" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#8b5cf6">UCIe-N</text>
<rect x="437" y="87" width="23" height="46" rx="2" fill="#818cf8" opacity="0.7"/>
<text x="448" y="113" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c0</text>
<polyline points="448,133 448,130 135,127" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<polyline points="135,127 448,133 448,133" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<rect x="461" y="87" width="23" height="46" rx="2" fill="#a78bfa" opacity="0.7"/>
<text x="472" y="113" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c1</text>
<polyline points="472,133 472,130 285,127" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<polyline points="285,127 472,133 472,133" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<rect x="485" y="87" width="23" height="46" rx="2" fill="#c084fc" opacity="0.7"/>
<text x="496" y="113" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c2</text>
<polyline points="496,133 496,130 685,127" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<polyline points="685,127 496,133 496,133" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<rect x="509" y="87" width="23" height="46" rx="2" fill="#e879f9" opacity="0.7"/>
<text x="520" y="113" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c3</text>
<polyline points="520,133 520,130 835,127" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<polyline points="835,127 520,133 520,133" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<rect x="835" y="360" width="50" height="100" rx="3" fill="#1e1b4b" stroke="#8b5cf6" stroke-width="1.5" opacity="0.9"/>
<text x="860" y="357" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#8b5cf6">UCIe-E</text>
<rect x="837" y="362" width="46" height="23" rx="2" fill="#818cf8" opacity="0.7"/>
<text x="860" y="376" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c0</text>
<polyline points="837,374 840,374 843,135" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<polyline points="843,135 837,374 837,374" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<rect x="837" y="386" width="46" height="23" rx="2" fill="#a78bfa" opacity="0.7"/>
<text x="860" y="400" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c1</text>
<polyline points="837,398 840,398 843,260" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<polyline points="843,260 837,398 837,398" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<rect x="837" y="410" width="46" height="23" rx="2" fill="#c084fc" opacity="0.7"/>
<text x="860" y="424" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c2</text>
<polyline points="837,422 840,422 843,560" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<polyline points="843,560 837,422 837,422" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<rect x="837" y="434" width="46" height="23" rx="2" fill="#e879f9" opacity="0.7"/>
<text x="860" y="448" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c3</text>
<polyline points="837,446 840,446 843,685" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<polyline points="843,685 837,446 837,446" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<rect x="435" y="685" width="100" height="50" rx="3" fill="#1e1b4b" stroke="#8b5cf6" stroke-width="1.5" opacity="0.9"/>
<text x="485" y="682" text-anchor="middle" font-family="monospace" font-size="7" font-weight="bold" fill="#8b5cf6">UCIe-S</text>
<rect x="437" y="687" width="23" height="46" rx="2" fill="#818cf8" opacity="0.7"/>
<text x="448" y="713" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c0</text>
<polyline points="448,687 448,690 135,693" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<polyline points="135,693 448,687 448,687" fill="none" stroke="#818cf8" stroke-width="1" opacity="0.5"/>
<rect x="461" y="687" width="23" height="46" rx="2" fill="#a78bfa" opacity="0.7"/>
<text x="472" y="713" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c1</text>
<polyline points="472,687 472,690 285,693" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<polyline points="285,693 472,687 472,687" fill="none" stroke="#a78bfa" stroke-width="1" opacity="0.5"/>
<rect x="485" y="687" width="23" height="46" rx="2" fill="#c084fc" opacity="0.7"/>
<text x="496" y="713" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c2</text>
<polyline points="496,687 496,690 685,693" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<polyline points="685,693 496,687 496,687" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.5"/>
<rect x="509" y="687" width="23" height="46" rx="2" fill="#e879f9" opacity="0.7"/>
<text x="520" y="713" text-anchor="middle" font-family="monospace" font-size="5" fill="white">c3</text>
<polyline points="520,687 520,690 835,693" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<polyline points="835,693 520,687 520,687" fill="none" stroke="#e879f9" stroke-width="1" opacity="0.5"/>
<rect x="60" y="865" width="10" height="10" rx="2" fill="#3b82f6" stroke="#475569" stroke-width="0.5"/>
<text x="74" y="874" font-family="monospace" font-size="8" fill="#94a3b8">PE Router</text>
<rect x="147" y="865" width="10" height="10" rx="2" fill="#f59e0b" stroke="#475569" stroke-width="0.5"/>

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB