add byte-swapping diagrams
authorJacob Lifshay <programmerjake@gmail.com>
Tue, 5 Jan 2021 20:09:26 +0000 (12:09 -0800)
committerJacob Lifshay <programmerjake@gmail.com>
Tue, 5 Jan 2021 20:09:48 +0000 (12:09 -0800)
openpower/sv.mdwn
openpower/sv/byteswap.mdwn [new file with mode: 0644]
openpower/sv/byteswap_mux.dia [new file with mode: 0644]
openpower/sv/byteswap_mux.png [new file with mode: 0644]
openpower/sv/byteswap_mux.svg [new file with mode: 0644]
openpower/sv/byteswap_pipe.dia [new file with mode: 0644]
openpower/sv/byteswap_pipe.png [new file with mode: 0644]
openpower/sv/byteswap_pipe.svg [new file with mode: 0644]

index 49185329e516ca245466d76b656019c35b63639e..35dbedf390ec2d651899651086cab114aeb227cf 100644 (file)
@@ -47,6 +47,7 @@ Pages being developed and examples
 * [[sv/propagation]]
 * [[sv/vector_ops]] Vector ops needed to make a "complete" Vector ISA
 * [[sv/av_opcodes]] scalar opcodes for Audio/Video
+* [[sv/byteswap]]
 
 Additional links:
 
diff --git a/openpower/sv/byteswap.mdwn b/openpower/sv/byteswap.mdwn
new file mode 100644 (file)
index 0000000..120629b
--- /dev/null
@@ -0,0 +1,9 @@
+# Byte-swapping
+
+## Byte-swapping Mux
+
+![Byte-swap mux diagram](byteswap_mux.svg)
+
+## Byte-swapping Pipe
+
+![Byte-swap pipe diagram](byteswap_pipe.svg)
\ No newline at end of file
diff --git a/openpower/sv/byteswap_mux.dia b/openpower/sv/byteswap_mux.dia
new file mode 100644 (file)
index 0000000..3c5a5bc
Binary files /dev/null and b/openpower/sv/byteswap_mux.dia differ
diff --git a/openpower/sv/byteswap_mux.png b/openpower/sv/byteswap_mux.png
new file mode 100644 (file)
index 0000000..a00b108
Binary files /dev/null and b/openpower/sv/byteswap_mux.png differ
diff --git a/openpower/sv/byteswap_mux.svg b/openpower/sv/byteswap_mux.svg
new file mode 100644 (file)
index 0000000..508310f
--- /dev/null
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="68cm" height="39cm" viewBox="60 -60 1360 780" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g id="Background">
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2.35099e-37; stroke: #ffffff" x="60" y="-60" width="1360" height="780" rx="0" ry="0"/>
+  </g>
+  <g id="Foreground">
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="160" y1="380" x2="160" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 140 500 C 160,500 160,500 180,500 C 200,500 200,500 220,500 C 240,500 240,500 260,500 C 250,513.334 240,526.666 230,540 C 210,540 190,540 170,540 C 160,526.666 150,513.334 140,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="500" x2="200" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="160" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="160" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="160" y1="380" x2="160" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="220" y1="500" x2="220" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="160" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="160" y1="260" x2="160" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="240" y1="500" x2="240" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="160" y1="120" x2="160" y2="40"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="165" y="84.425">
+      <tspan x="165" y="84.425">Byte 0</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="320" y1="380" x2="320" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 300 500 C 320,500 320,500 340,500 C 360,500 360,500 380,500 C 400,500 400,500 420,500 C 410,513.334 400,526.666 390,540 C 370,540 350,540 330,540 C 320,526.666 310,513.334 300,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="500" x2="360" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="320" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="320" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="320" y1="380" x2="320" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="380" y1="500" x2="380" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="320" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="320" y1="260" x2="320" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="400" y1="500" x2="400" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="480" y1="380" x2="480" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 460 500 C 480,500 480,500 500,500 C 520,500 520,500 540,500 C 560,500 560,500 580,500 C 570,513.334 560,526.666 550,540 C 530,540 510,540 490,540 C 480,526.666 470,513.334 460,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="500" x2="520" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="480" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="480" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="480" y1="380" x2="480" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="540" y1="500" x2="540" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="480" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="480" y1="260" x2="480" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="560" y1="500" x2="560" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="640" y1="380" x2="640" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 620 500 C 640,500 640,500 660,500 C 680,500 680,500 700,500 C 720,500 720,500 740,500 C 730,513.334 720,526.666 710,540 C 690,540 670,540 650,540 C 640,526.666 630,513.334 620,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="680" y1="500" x2="680" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="640" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="640" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="640" y1="380" x2="640" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="700" y1="500" x2="700" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="640" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="640" y1="260" x2="640" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="720" y1="500" x2="720" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="800" y1="380" x2="800" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 780 500 C 800,500 800,500 820,500 C 840,500 840,500 860,500 C 880,500 880,500 900,500 C 890,513.334 880,526.666 870,540 C 850,540 830,540 810,540 C 800,526.666 790,513.334 780,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="840" y1="500" x2="840" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="800" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="800" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="800" y1="380" x2="800" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="860" y1="500" x2="860" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="800" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="800" y1="260" x2="800" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="880" y1="500" x2="880" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="960" y1="380" x2="960" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 940 500 C 960,500 960,500 980,500 C 1000,500 1000,500 1020,500 C 1040,500 1040,500 1060,500 C 1050,513.334 1040,526.666 1030,540 C 1010,540 990,540 970,540 C 960,526.666 950,513.334 940,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1000" y1="500" x2="1000" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="960" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="960" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="960" y1="380" x2="960" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1020" y1="500" x2="1020" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="960" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="960" y1="260" x2="960" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1040" y1="500" x2="1040" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1120" y1="380" x2="1120" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 1100 500 C 1120,500 1120,500 1140,500 C 1160,500 1160,500 1180,500 C 1200,500 1200,500 1220,500 C 1210,513.334 1200,526.666 1190,540 C 1170,540 1150,540 1130,540 C 1120,526.666 1110,513.334 1100,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1160" y1="500" x2="1160" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="1120" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="1120" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1120" y1="380" x2="1120" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1180" y1="500" x2="1180" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="1120" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1120" y1="260" x2="1120" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1200" y1="500" x2="1200" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1280" y1="380" x2="1280" y2="500"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 1260 500 C 1280,500 1280,500 1300,500 C 1320,500 1320,500 1340,500 C 1360,500 1360,500 1380,500 C 1370,513.334 1360,526.666 1350,540 C 1330,540 1310,540 1290,540 C 1280,526.666 1270,513.334 1260,500z"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1320" y1="500" x2="1320" y2="460"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="1280" cy="380" rx="5" ry="5"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="1280" cy="260" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1280" y1="380" x2="1280" y2="260"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1340" y1="500" x2="1340" y2="360"/>
+    <ellipse style="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" cx="1280" cy="120" rx="5" ry="5"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1280" y1="260" x2="1280" y2="120"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1360" y1="500" x2="1360" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="160" y1="120" x2="1360" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="320" y1="120" x2="1200" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="480" y1="120" x2="1040" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="640" y1="120" x2="880" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="800" y1="120" x2="720" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="960" y1="120" x2="560" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1120" y1="120" x2="400" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1280" y1="120" x2="240" y2="240"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="160" y1="260" x2="700" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="320" y1="260" x2="540" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="480" y1="260" x2="380" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="640" y1="260" x2="220" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="800" y1="260" x2="1340" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="960" y1="260" x2="1180" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1120" y1="260" x2="1020" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1280" y1="260" x2="860" y2="360"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="160" y1="380" x2="360" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="320" y1="380" x2="200" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="480" y1="380" x2="680" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="640" y1="380" x2="520" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="800" y1="380" x2="1000" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="960" y1="380" x2="840" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1120" y1="380" x2="1320" y2="460"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="1280" y1="380" x2="1160" y2="460"/>
+    <rect style="fill: #ff0000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="600" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff3333; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="440" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff6666; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="280" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff9999; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="120" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #0000ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="920" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #8080ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="760" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #e0e000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="1080" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #00c000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="1240" y="620" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="200" y="640" width="480" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="440" y="656.95">
+      <tspan x="440" y="656.95">32-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="840" y="640" width="160" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="920" y="656.95">
+      <tspan x="920" y="656.95">16-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="1120" y="640" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="1160" y="656.95">
+      <tspan x="1160" y="656.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="1280" y="640" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="1320" y="656.95">
+      <tspan x="1320" y="656.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ff0000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="80" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff3333; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff6666; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="400" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff9999; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="560" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #0000ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="720" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #8080ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="880" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #e0e000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="1040" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #00c000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="1200" y="-40" width="160" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="160" y="-20" width="480" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="400" y="-3.05">
+      <tspan x="400" y="-3.05">32-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="800" y="-20" width="160" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="880" y="-3.05">
+      <tspan x="880" y="-3.05">16-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="1080" y="-20" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="1120" y="-3.05">
+      <tspan x="1120" y="-3.05">8-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="1240" y="-20" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="1280" y="-3.05">
+      <tspan x="1280" y="-3.05">8-bit</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="320" y1="40" x2="320" y2="120"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="325" y="84.425">
+      <tspan x="325" y="84.425">Byte 1</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="480" y1="120" x2="480" y2="40"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="485" y="84.425">
+      <tspan x="485" y="84.425">Byte 2</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="640" y1="40" x2="640" y2="120"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="645" y="84.425">
+      <tspan x="645" y="84.425">Byte 3</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="800" y1="120" x2="800" y2="40"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="805" y="84.425">
+      <tspan x="805" y="84.425">Byte 4</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="960" y1="40" x2="960" y2="120"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="965" y="84.425">
+      <tspan x="965" y="84.425">Byte 5</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1120" y1="120" x2="1120" y2="40"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="1125" y="84.425">
+      <tspan x="1125" y="84.425">Byte 6</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1280" y1="40" x2="1280" y2="120"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="1285" y="84.425">
+      <tspan x="1285" y="84.425">Byte 7</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="200" y1="620" x2="200" y2="540"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="205" y="584.425">
+      <tspan x="205" y="584.425">Byte 0</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="360" y1="540" x2="360" y2="620"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="365" y="584.425">
+      <tspan x="365" y="584.425">Byte 1</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="520" y1="620" x2="520" y2="540"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="525" y="584.425">
+      <tspan x="525" y="584.425">Byte 2</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="680" y1="540" x2="680" y2="620"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="685" y="584.425">
+      <tspan x="685" y="584.425">Byte 3</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="840" y1="620" x2="840" y2="540"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="845" y="584.425">
+      <tspan x="845" y="584.425">Byte 4</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1000" y1="540" x2="1000" y2="620"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="1005" y="584.425">
+      <tspan x="1005" y="584.425">Byte 5</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1160" y1="620" x2="1160" y2="540"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="1165" y="584.425">
+      <tspan x="1165" y="584.425">Byte 6</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 6; stroke: #000000" x1="1320" y1="540" x2="1320" y2="620"/>
+    <text font-size="12.8" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="1325" y="584.425">
+      <tspan x="1325" y="584.425">Byte 7</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="760" y="136.95">
+      <tspan x="760" y="136.95">64-bit</tspan>
+      <tspan x="760" y="152.95">Swap</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="430" y="270.95">
+      <tspan x="430" y="270.95">32-bit</tspan>
+      <tspan x="430" y="286.95">Swap</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="1070" y="270.202">
+      <tspan x="1070" y="270.202">32-bit</tspan>
+      <tspan x="1070" y="286.202">Swap</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="900" y="388.95">
+      <tspan x="900" y="388.95">16-bit</tspan>
+      <tspan x="900" y="404.95">Swap</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="260" y="388.202">
+      <tspan x="260" y="388.202">16-bit</tspan>
+      <tspan x="260" y="404.202">Swap</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="580" y="388.202">
+      <tspan x="580" y="388.202">16-bit</tspan>
+      <tspan x="580" y="404.202">Swap</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="1220" y="388.202">
+      <tspan x="1220" y="388.202">16-bit</tspan>
+      <tspan x="1220" y="404.202">Swap</tspan>
+    </text>
+  </g>
+</svg>
diff --git a/openpower/sv/byteswap_pipe.dia b/openpower/sv/byteswap_pipe.dia
new file mode 100644 (file)
index 0000000..d8208fb
Binary files /dev/null and b/openpower/sv/byteswap_pipe.dia differ
diff --git a/openpower/sv/byteswap_pipe.png b/openpower/sv/byteswap_pipe.png
new file mode 100644 (file)
index 0000000..3d19941
Binary files /dev/null and b/openpower/sv/byteswap_pipe.png differ
diff --git a/openpower/sv/byteswap_pipe.svg b/openpower/sv/byteswap_pipe.svg
new file mode 100644 (file)
index 0000000..7d98b2d
--- /dev/null
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="34cm" height="48cm" viewBox="-20 -20 680 960" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs/>
+  <g id="Background">
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2.35099e-37; stroke: #ffffff" x="-20" y="-20" width="680" height="960" rx="0" ry="0"/>
+  </g>
+  <g id="Foreground">
+    <rect style="fill: #ff0000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="0" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff3333; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="80" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff6666; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="160" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff9999; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #0000ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="320" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #8080ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="400" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #e0e000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="480" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #00c000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="560" y="80" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="40" y="100" width="240" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="160" y="116.95">
+      <tspan x="160" y="116.95">32-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="360" y="100" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="400" y="116.95">
+      <tspan x="400" y="116.95">16-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="500" y="100" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="520" y="116.95">
+      <tspan x="520" y="116.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="580" y="100" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="600" y="116.95">
+      <tspan x="600" y="116.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ff0000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff3333; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="160" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff6666; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="80" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff9999; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="0" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #0000ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="400" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #8080ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="320" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #e0e000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="480" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #00c000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="560" y="320" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="40" y="340" width="240" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="160" y="356.95">
+      <tspan x="160" y="356.95">32-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="360" y="340" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="400" y="356.95">
+      <tspan x="400" y="356.95">16-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="500" y="340" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="520" y="356.95">
+      <tspan x="520" y="356.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="580" y="340" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="600" y="356.95">
+      <tspan x="600" y="356.95">8-bit</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="40" y1="160" x2="280" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="120" y1="160" x2="200" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="160" x2="120" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="280" y1="160" x2="40" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="160" x2="440" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="440" y1="160" x2="360" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="160" x2="520" y2="320"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="600" y1="160" x2="600" y2="320"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 0 0 C 20,0 20,0 40,0 C 80,0 160,0 200,0 C 240,0 320,0 360,0 C 400,0 480,0 520,0 C 560,0 560,0 600,0 C 620,0 620,0 640,0 C 640,13.3333 640,26.6667 640,40 C 620,40 620,40 600,40 C 560,40 560,40 520,40 C 480,40 400,40 360,40 C 320,40 240,40 200,40 C 160,40 80,40 40,40 C 20,40 20,40 0,40 C 0,26.6667 0,13.3333 0,0z"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="320" y="16.425">
+      <tspan x="320" y="16.425">Registers/Busses</tspan>
+      <tspan x="320" y="32.425">Little/Big Endian</tspan>
+    </text>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="320" y="244.238">
+      <tspan x="320" y="244.238">Swap Endian</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="40" y1="80" x2="40" y2="40"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="120" y1="40" x2="120" y2="80"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="80" x2="200" y2="40"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="280" y1="40" x2="280" y2="80"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="80" x2="360" y2="40"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="440" y1="40" x2="440" y2="80"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="80" x2="520" y2="40"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="600" y1="40" x2="600" y2="80"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 0 440 C 20,440 20,440 40,440 C 80,440 160,440 200,440 C 240,440 320,440 360,440 C 400,440 480,440 520,440 C 560,440 560,440 600,440 C 620,440 620,440 640,440 C 640,453.333 640,466.667 640,480 C 620,480 620,480 600,480 C 560,480 560,480 520,480 C 480,480 400,480 360,480 C 320,480 240,480 200,480 C 160,480 80,480 40,480 C 20,480 20,480 0,480 C 0,466.667 0,453.333 0,440z"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="320" y="456.238">
+      <tspan x="320" y="456.238">ALUs/Load/Store</tspan>
+      <tspan x="320" y="472.238">Little Endian</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="40" y1="440" x2="40" y2="400"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="120" y1="400" x2="120" y2="440"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="440" x2="200" y2="400"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="280" y1="400" x2="280" y2="440"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="440" x2="360" y2="400"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="440" y1="400" x2="440" y2="440"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="440" x2="520" y2="400"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="600" y1="400" x2="600" y2="440"/>
+    <path style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" fill-rule="evenodd" d="M 0 880 C 20,880 20,880 40,880 C 80,880 160,880 200,880 C 240,880 320,880 360,880 C 400,880 480,880 520,880 C 560,880 560,880 600,880 C 620,880 620,880 640,880 C 640,893.333 640,906.667 640,920 C 620,920 620,920 600,920 C 560,920 560,920 520,920 C 480,920 400,920 360,920 C 320,920 240,920 200,920 C 160,920 80,920 40,920 C 20,920 20,920 0,920 C 0,906.667 0,893.333 0,880z"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="320" y="896.425">
+      <tspan x="320" y="896.425">Registers/Busses</tspan>
+      <tspan x="320" y="912.425">Little/Big Endian</tspan>
+    </text>
+    <rect style="fill: #ff0000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff3333; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="160" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff6666; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="80" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff9999; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="0" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #0000ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="400" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #8080ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="320" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #e0e000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="480" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #00c000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="560" y="520" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="40" y="540" width="240" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="160" y="556.95">
+      <tspan x="160" y="556.95">32-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="360" y="540" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="400" y="556.95">
+      <tspan x="400" y="556.95">16-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="500" y="540" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="520" y="556.95">
+      <tspan x="520" y="556.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="580" y="540" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="600" y="556.95">
+      <tspan x="600" y="556.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ff0000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="0" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff3333; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="80" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff6666; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="160" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ff9999; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="240" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #0000ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="320" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #8080ff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="400" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #e0e000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="480" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #00c000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x="560" y="760" width="80" height="80" rx="0" ry="0"/>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="40" y="780" width="240" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="160" y="796.95">
+      <tspan x="160" y="796.95">32-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="360" y="780" width="80" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="400" y="796.95">
+      <tspan x="400" y="796.95">16-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="500" y="780" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="520" y="796.95">
+      <tspan x="520" y="796.95">8-bit</tspan>
+    </text>
+    <rect style="fill: #ffffff; fill-opacity: 1; stroke-opacity: 1; stroke-width: 2; stroke: #ffffff" x="580" y="780" width="40" height="20" rx="0" ry="0"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="600" y="796.95">
+      <tspan x="600" y="796.95">8-bit</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="280" y1="600" x2="40" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="600" x2="120" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="120" y1="600" x2="200" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="40" y1="600" x2="280" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="440" y1="600" x2="360" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="600" x2="440" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="600" x2="520" y2="760"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="600" y1="600" x2="600" y2="760"/>
+    <text font-size="12.7998" style="fill: #000000; fill-opacity: 1; stroke: none;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="320" y="684.425">
+      <tspan x="320" y="684.425">Swap Endian</tspan>
+    </text>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="40" y1="520" x2="40" y2="480"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="120" y1="480" x2="120" y2="520"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="520" x2="200" y2="480"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="280" y1="480" x2="280" y2="520"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="520" x2="360" y2="480"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="440" y1="480" x2="440" y2="520"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="520" x2="520" y2="480"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="600" y1="480" x2="600" y2="520"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="40" y1="880" x2="40" y2="840"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="120" y1="840" x2="120" y2="880"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="200" y1="880" x2="200" y2="840"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="280" y1="840" x2="280" y2="880"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="360" y1="880" x2="360" y2="840"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="440" y1="840" x2="440" y2="880"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="520" y1="880" x2="520" y2="840"/>
+    <line style="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #000000" x1="600" y1="840" x2="600" y2="880"/>
+  </g>
+</svg>