Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
authorFabian Stemmler <stemmler@in.tum.de>
Wed, 28 Aug 2019 19:35:49 +0000 (21:35 +0200)
committerFabian Stemmler <stemmler@in.tum.de>
Wed, 28 Aug 2019 19:35:49 +0000 (21:35 +0200)
net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json
net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java
net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json
net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java
net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java

index d86ee05..318840b 100644 (file)
@@ -1,7 +1,7 @@
 mograsim version: 0.1.3
 {
   "width": 120.0,
-  "height": 139.0,
+  "height": 178.0,
   "interfacePins": [
     {
       "location": {
@@ -21,210 +21,178 @@ mograsim version: 0.1.3
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 5.0
+        "x": 120.0,
+        "y": 11.0
       },
-      "name": "C",
+      "name": "YZ",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 61.0
+        "y": 5.0
       },
-      "name": "I",
-      "logicWidth": 13
+      "name": "C",
+      "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 40.0
+        "y": 20.0
       },
-      "name": "_EN",
+      "name": "IN",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -14.600000000000001,
-        "y": -0.6000000000000001
+        "x": 61.0,
+        "y": 0.0
       },
-      "name": "QIOn_out",
+      "name": "_OEY",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": 120.0,
-        "y": 17.0
+        "x": 0.0,
+        "y": 61.0
       },
-      "name": "YC",
-      "logicWidth": 1
+      "name": "I",
+      "logicWidth": 13
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 14.4
+        "x": 0.0,
+        "y": 40.0
       },
-      "name": "SIOn_in",
+      "name": "_EN",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 120.0,
-        "y": 108.0
+        "y": 17.0
       },
-      "name": "C0",
+      "name": "YC",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -34.6,
-        "y": 29.400000000000002
+        "x": 120.0,
+        "y": 108.0
       },
-      "name": "QIO0_in",
+      "name": "C0",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 36.0
+        "x": 120.0,
+        "y": 118.0
       },
-      "name": "_EZ",
+      "name": "SIO0",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 110.0
+        "y": 10.0
       },
-      "name": "Cx",
+      "name": "IZ",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 120.0,
-        "y": 21.0
-      },
-      "name": "YN",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": -24.6,
-        "y": 19.400000000000002
+        "y": 60.0
       },
-      "name": "SIOn_out",
+      "name": "CT",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 15.0
+        "y": 128.0
       },
-      "name": "IC",
+      "name": "QIOn",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 42.0
-      },
-      "name": "_EOVR",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": 120.0,
-        "y": 11.0
+        "y": 119.0
       },
-      "name": "YZ",
+      "name": "SIOn",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 20.0
-      },
-      "name": "IN",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": 61.0,
-        "y": 0.0
+        "y": 33.0
       },
-      "name": "_OEY",
+      "name": "_CEmu",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 44.400000000000006
+        "x": 0.0,
+        "y": 36.0
       },
-      "name": "SIO0_in",
+      "name": "_EZ",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 49.400000000000006
+        "x": 0.0,
+        "y": 110.0
       },
-      "name": "SIO0_out",
+      "name": "Cx",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -14.600000000000001,
-        "y": 44.400000000000006
+        "x": 120.0,
+        "y": 21.0
       },
-      "name": "QIO0_out",
+      "name": "YN",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 10.0
+        "y": 15.0
       },
-      "name": "IZ",
+      "name": "IC",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 120.0,
-        "y": 60.0
-      },
-      "name": "CT",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 33.0
+        "y": 25.0
       },
-      "name": "_CEmu",
+      "name": "YOVR",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 54.400000000000006
+        "x": 120.0,
+        "y": 128.0
       },
-      "name": "QIOn_in",
+      "name": "QIO0",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": 120.0,
-        "y": 25.0
+        "x": 0.0,
+        "y": 38.0
       },
-      "name": "YOVR",
+      "name": "_EC",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 38.0
+        "y": 42.0
       },
-      "name": "_EC",
+      "name": "_EOVR",
       "logicWidth": 1
     }
   ],
@@ -269,75 +237,66 @@ mograsim version: 0.1.3
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#17",
+        "name": "WireCrossPoint#18",
         "pos": {
-          "x": 360.0,
-          "y": 495.0
+          "x": 35.0,
+          "y": 640.0
         },
         "params": 1
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#4",
         "pos": {
-          "x": 180.0,
-          "y": 135.0
+          "x": 565.0,
+          "y": 655.0
         },
-        "params": 4
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
+        "name": "WireCrossPoint#17",
         "pos": {
-          "x": 165.0,
-          "y": 150.0
+          "x": 360.0,
+          "y": 495.0
         },
         "params": 1
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 335.0,
-          "y": 270.0
-        },
-        "params": 4
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 295.0,
-          "y": 120.0
-        },
-        "params": 4
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#2",
         "pos": {
-          "x": 530.0,
-          "y": 100.0
+          "x": 10.0,
+          "y": 605.0
         },
-        "params": 4
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
+        "name": "WireCrossPoint#19",
         "pos": {
-          "x": 150.0,
-          "y": 160.0
+          "x": 35.0,
+          "y": 595.0
         },
         "params": 1
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#3",
         "pos": {
-          "x": 215.0,
-          "y": 180.0
+          "x": 560.0,
+          "y": 595.0
         },
-        "params": 1
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "GUITriStateBuffer",
@@ -352,31 +311,16 @@ mograsim version: 0.1.3
         }
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
-        "pos": {
-          "x": 120.0,
-          "y": 15.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#9",
-        "pos": {
-          "x": 215.0,
-          "y": 200.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#1",
         "pos": {
-          "x": 215.0,
-          "y": 160.0
+          "x": 10.0,
+          "y": 650.0
         },
-        "params": 1
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "GUIAm2904muSR",
@@ -530,55 +474,6 @@ mograsim version: 0.1.3
           "y": 295.0
         }
       },
-      {
-        "id": "GUImux1",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 415.0,
-          "y": 465.0
-        }
-      },
-      {
-        "id": "GUImux1",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 365.0,
-          "y": 485.0
-        }
-      },
-      {
-        "id": "GUIxor",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 315.0,
-          "y": 505.0
-        }
-      },
-      {
-        "id": "GUImux1",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 265.0,
-          "y": 515.0
-        }
-      },
-      {
-        "id": "GUIxor",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 485.0,
-          "y": 355.0
-        }
-      },
-      {
-        "id": "GUINandGate",
-        "name": "GUINandGate#10",
-        "pos": {
-          "x": 340.0,
-          "y": 120.0
-        },
-        "params": 1
-      },
       {
         "id": "GUINandGate",
         "name": "GUINandGate#9",
@@ -634,158 +529,1520 @@ mograsim version: 0.1.3
         "params": 1
       },
       {
-        "id": "GUINandGate",
-        "name": "GUINandGate#1",
+        "id": "GUImux3",
+        "name": "DeserializedSubmodelComponent#23",
         "pos": {
-          "x": 130.0,
-          "y": 5.0
-        },
-        "params": 1
-      },
+          "x": 300.0,
+          "y": 715.0
+        }
+      },
       {
-        "id": "GUINandGate",
-        "name": "GUINandGate#0",
+        "id": "GUImux2",
+        "name": "DeserializedSubmodelComponent#22",
+        "pos": {
+          "x": 120.0,
+          "y": 720.0
+        }
+      },
+      {
+        "id": "GUIxor",
+        "name": "DeserializedSubmodelComponent#21",
+        "pos": {
+          "x": 250.0,
+          "y": 820.0
+        }
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#30",
+        "pos": {
+          "x": 550.0,
+          "y": 570.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#32",
+        "pos": {
+          "x": 85.0,
+          "y": 590.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#31",
+        "pos": {
+          "x": 120.0,
+          "y": 545.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#25",
+        "pos": {
+          "x": 285.0,
+          "y": 755.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#24",
+        "pos": {
+          "x": 285.0,
+          "y": 725.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#27",
+        "pos": {
+          "x": 470.0,
+          "y": 385.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#26",
+        "pos": {
+          "x": 290.0,
+          "y": 805.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#29",
+        "pos": {
+          "x": 45.0,
+          "y": 580.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#28",
+        "pos": {
+          "x": 470.0,
+          "y": 350.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#14",
+        "pos": {
+          "x": 90.0,
+          "y": 720.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#15",
+        "pos": {
+          "x": 120.0,
+          "y": 455.0
+        },
+        "params": 2
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#12",
+        "pos": {
+          "x": 405.0,
+          "y": 655.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#13",
+        "pos": {
+          "x": 265.0,
+          "y": 725.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#10",
+        "pos": {
+          "x": 445.0,
+          "y": 410.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#11",
+        "pos": {
+          "x": 405.0,
+          "y": 575.0
+        },
+        "params": 3
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#21",
+        "pos": {
+          "x": 585.0,
+          "y": 640.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#20",
+        "pos": {
+          "x": 585.0,
+          "y": 590.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#23",
+        "pos": {
+          "x": 330.0,
+          "y": 640.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#22",
+        "pos": {
+          "x": 250.0,
+          "y": 540.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#1",
+        "pos": {
+          "x": 180.0,
+          "y": 135.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#0",
+        "pos": {
+          "x": 165.0,
+          "y": 150.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#3",
+        "pos": {
+          "x": 335.0,
+          "y": 270.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#2",
+        "pos": {
+          "x": 295.0,
+          "y": 120.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#5",
+        "pos": {
+          "x": 530.0,
+          "y": 100.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#4",
+        "pos": {
+          "x": 150.0,
+          "y": 160.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#7",
+        "pos": {
+          "x": 215.0,
+          "y": 180.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#6",
+        "pos": {
+          "x": 120.0,
+          "y": 15.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#9",
+        "pos": {
+          "x": 215.0,
+          "y": 200.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#8",
+        "pos": {
+          "x": 215.0,
+          "y": 160.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#18",
+        "pos": {
+          "x": 135.0,
+          "y": 470.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#17",
         "pos": {
           "x": 190.0,
-          "y": 145.0
+          "y": 460.0
+        }
+      },
+      {
+        "id": "GUImux2",
+        "name": "DeserializedSubmodelComponent#16",
+        "pos": {
+          "x": 435.0,
+          "y": 655.0
+        }
+      },
+      {
+        "id": "GUImux2",
+        "name": "DeserializedSubmodelComponent#15",
+        "pos": {
+          "x": 435.0,
+          "y": 575.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#14",
+        "pos": {
+          "x": 415.0,
+          "y": 465.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#13",
+        "pos": {
+          "x": 365.0,
+          "y": 485.0
+        }
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#11",
+        "pos": {
+          "x": 60.0,
+          "y": 570.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUIxor",
+        "name": "DeserializedSubmodelComponent#12",
+        "pos": {
+          "x": 315.0,
+          "y": 505.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#11",
+        "pos": {
+          "x": 265.0,
+          "y": 515.0
+        }
+      },
+      {
+        "id": "GUIxor",
+        "name": "DeserializedSubmodelComponent#10",
+        "pos": {
+          "x": 500.0,
+          "y": 360.0
+        }
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#10",
+        "pos": {
+          "x": 340.0,
+          "y": 120.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#1",
+        "pos": {
+          "x": 130.0,
+          "y": 5.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#0",
+        "pos": {
+          "x": 190.0,
+          "y": 145.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#3",
+        "pos": {
+          "x": 225.0,
+          "y": 215.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#2",
+        "pos": {
+          "x": 225.0,
+          "y": 195.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#9",
+        "pos": {
+          "x": 240.0,
+          "y": 475.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#4",
+        "pos": {
+          "x": 395.0,
+          "y": 225.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#3",
+        "pos": {
+          "x": 450.0,
+          "y": 175.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#2",
+        "pos": {
+          "x": 395.0,
+          "y": 195.0
+        },
+        "params": 2
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#1",
+        "pos": {
+          "x": 555.0,
+          "y": 80.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#8",
+        "pos": {
+          "x": 445.0,
+          "y": 370.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#7",
+        "pos": {
+          "x": 445.0,
+          "y": 330.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#6",
+        "pos": {
+          "x": 285.0,
+          "y": 320.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#5",
+        "pos": {
+          "x": 395.0,
+          "y": 265.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#0",
+        "pos": {
+          "x": 10.0,
+          "y": 245.0
+        },
+        "params": 13
+      },
+      {
+        "id": "GUIAm2904RegCTInstrDecode",
+        "name": "GUIAm2904RegCTInstrDecode#0",
+        "pos": {
+          "x": 50.0,
+          "y": 240.0
+        }
+      },
+      {
+        "id": "GUIAm2904ShiftInstrDecode",
+        "name": "GUIAm2904ShiftInstrDecode#0",
+        "pos": {
+          "x": 50.0,
+          "y": 360.0
+        }
+      }
+    ],
+    "innerWires": [
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#190",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I010"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#191",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#21",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I111"
+        },
+        "name": "unnamedWire#194",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#27",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#26",
+          "pinName": ""
+        },
+        "name": "unnamedWire#195",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I011"
+        },
+        "name": "unnamedWire#192",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I100"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "name": "unnamedWire#193",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I10"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "name": "unnamedWire#198",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#26",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I101"
+        },
+        "name": "unnamedWire#199",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I110"
+        },
+        "pin2": {
+          "compName": "GUISplitter#7",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#196",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I01"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#197",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I10"
+        },
+        "name": "unnamedWire#180",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#24",
+          "pinName": ""
+        },
+        "name": "unnamedWire#183",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#24",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#184",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I11"
+        },
+        "name": "unnamedWire#181",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I11"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "name": "unnamedWire#182",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I001"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#25",
+          "pinName": ""
+        },
+        "name": "unnamedWire#187",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "SIOn_MUX"
+        },
+        "name": "unnamedWire#188",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#25",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#24",
+          "pinName": ""
+        },
+        "name": "unnamedWire#185",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#25",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I000"
+        },
+        "name": "unnamedWire#186",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "O2"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "S2"
+        },
+        "name": "unnamedWire#189",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#22",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUISplitter#8",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#172",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#22",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "name": "unnamedWire#173",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I01"
+        },
+        "name": "unnamedWire#170",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I10"
+        },
+        "name": "unnamedWire#171",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#12",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I00"
+        },
+        "name": "unnamedWire#176",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#4",
+          "pinName": "IN"
+        },
+        "name": "unnamedWire#177",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#12",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#174",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "S1"
+        },
+        "pin2": {
+          "compName": "GUISplitter#12",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#175",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#12",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "QIO0_MUX"
+        },
+        "name": "unnamedWire#178",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I01"
+        },
+        "name": "unnamedWire#179",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#1",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
+        },
+        "name": "unnamedWire#161",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#2",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "name": "unnamedWire#162",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "QIO0"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "name": "unnamedWire#160",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#3",
+          "pinName": "IN"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#165",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "SIO0_MUX"
+        },
+        "pin2": {
+          "compName": "GUISplitter#11",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#166",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#3",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#163",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#4",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "name": "unnamedWire#164",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "S0"
+        },
+        "pin2": {
+          "compName": "GUISplitter#11",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#169",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#11",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I00"
+        },
+        "name": "unnamedWire#167",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#11",
+          "pinName": "O2"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#168",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#0",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#5",
+          "pinName": ""
+        },
+        "name": "unnamedWire#79",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#10",
+          "pinName": "B"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#13",
+          "pinName": ""
+        },
+        "name": "unnamedWire#81",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#13",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#10",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#80",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#10",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#2",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#83",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#13",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_OEY"
+        },
+        "name": "unnamedWire#82",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_1"
+        },
+        "name": "unnamedWire#85",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#2",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#0",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#84",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y3"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_3"
+        },
+        "name": "unnamedWire#87",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_2"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y2"
+        },
+        "name": "unnamedWire#86",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y1"
+        },
+        "pin2": {
+          "compName": "GUIMerger#3",
+          "pinName": "I0"
+        },
+        "name": "unnamedWire#89",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_4"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y4"
+        },
+        "name": "unnamedWire#88",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIMerger#3",
+          "pinName": "I1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y2"
+        },
+        "name": "unnamedWire#90",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIMerger#3",
+          "pinName": "I3"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y4"
+        },
+        "name": "unnamedWire#92",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y3"
+        },
+        "pin2": {
+          "compName": "GUIMerger#3",
+          "pinName": "I2"
+        },
+        "name": "unnamedWire#91",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "Y_MUX"
+        },
+        "pin2": {
+          "compName": "GUISplitter#2",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#94",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIMerger#3",
+          "pinName": "O"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#14",
+          "pinName": ""
+        },
+        "name": "unnamedWire#93",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#2",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#96",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#2",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#95",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I0_2"
+        },
+        "pin2": {
+          "compName": "GUISplitter#3",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#98",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#3",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I0_1"
+        },
+        "name": "unnamedWire#97",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I0_3"
+        },
+        "pin2": {
+          "compName": "GUISplitter#3",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#99",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#2",
+          "pinName": "B"
+        },
+        "pin2": {
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "muSR_WEN"
+        },
+        "name": "unnamedWire#58",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_CEM"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#6",
+          "pinName": ""
+        },
+        "name": "unnamedWire#57",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "muSR_WEOVR"
+        },
+        "pin2": {
+          "compName": "GUINandGate#3",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#59",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#7",
+          "pinName": "A"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#10",
+          "pinName": ""
+        },
+        "name": "unnamedWire#61",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#10",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#6",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#60",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#9",
+          "pinName": "A"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#11",
+          "pinName": ""
+        },
+        "name": "unnamedWire#63",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#12",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#8",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#62",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#12",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#10",
+          "pinName": ""
+        },
+        "name": "unnamedWire#65",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#11",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#12",
+          "pinName": ""
         },
-        "params": 1
+        "name": "unnamedWire#64",
+        "path": []
       },
       {
-        "id": "GUINandGate",
-        "name": "GUINandGate#3",
-        "pos": {
-          "x": 225.0,
-          "y": 215.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EN"
         },
-        "params": 1
-      },
-      {
-        "id": "GUINandGate",
-        "name": "GUINandGate#2",
-        "pos": {
-          "x": 225.0,
-          "y": 195.0
+        "pin2": {
+          "compName": "GUINandGate#7",
+          "pinName": "Y"
         },
-        "params": 1
+        "name": "unnamedWire#67",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#9",
-        "pos": {
-          "x": 240.0,
-          "y": 475.0
+        "pin1": {
+          "compName": "GUINandGate#6",
+          "pinName": "Y"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EOVR"
+        },
+        "name": "unnamedWire#66",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#4",
-        "pos": {
-          "x": 395.0,
-          "y": 225.0
+        "pin1": {
+          "compName": "GUINandGate#9",
+          "pinName": "Y"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EZ"
+        },
+        "name": "unnamedWire#69",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#3",
-        "pos": {
-          "x": 450.0,
-          "y": 175.0
+        "pin1": {
+          "compName": "GUINandGate#8",
+          "pinName": "Y"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EC"
+        },
+        "name": "unnamedWire#68",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#2",
-        "pos": {
-          "x": 395.0,
-          "y": 195.0
+        "pin1": {
+          "compName": "GUINandGate#1",
+          "pinName": "Y"
         },
-        "params": 2
+        "pin2": {
+          "compName": "WireCrossPoint#11",
+          "pinName": ""
+        },
+        "name": "unnamedWire#70",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#1",
-        "pos": {
-          "x": 555.0,
-          "y": 80.0
+        "pin1": {
+          "compName": "GUINandGate#8",
+          "pinName": "B"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y2"
+        },
+        "name": "unnamedWire#72",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#8",
-        "pos": {
-          "x": 445.0,
-          "y": 370.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y1"
         },
-        "params": 4
+        "pin2": {
+          "compName": "GUINandGate#9",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#71",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#7",
-        "pos": {
-          "x": 445.0,
-          "y": 330.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y4"
         },
-        "params": 4
+        "pin2": {
+          "compName": "GUINandGate#6",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#74",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#6",
-        "pos": {
-          "x": 285.0,
-          "y": 320.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y3"
         },
-        "params": 3
+        "pin2": {
+          "compName": "GUINandGate#7",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#73",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#5",
-        "pos": {
-          "x": 395.0,
-          "y": 265.0
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EC"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A2"
+        },
+        "name": "unnamedWire#76",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#0",
-        "pos": {
-          "x": 10.0,
-          "y": 245.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A1"
         },
-        "params": 13
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_EZ"
+        },
+        "name": "unnamedWire#75",
+        "path": []
       },
       {
-        "id": "GUIAm2904RegCTInstrDecode",
-        "name": "GUIAm2904RegCTInstrDecode#0",
-        "pos": {
-          "x": 50.0,
-          "y": 240.0
-        }
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EOVR"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A4"
+        },
+        "name": "unnamedWire#78",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#10",
-        "pos": {
-          "x": 445.0,
-          "y": 410.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A3"
         },
-        "params": 4
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_EN"
+        },
+        "name": "unnamedWire#77",
+        "path": []
       },
-      {
-        "id": "GUIAm2904ShiftInstrDecode",
-        "name": "GUIAm2904ShiftInstrDecode#0",
-        "pos": {
-          "x": 50.0,
-          "y": 360.0
-        }
-      }
-    ],
-    "innerWires": [
       {
         "pin1": {
           "compName": "GUINandGate#0",
@@ -1086,6 +2343,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#48",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#11",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#220",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#3",
@@ -1098,6 +2367,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#100",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "I0"
+        },
+        "name": "unnamedWire#221",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#4",
@@ -1112,14 +2393,38 @@ mograsim version: 0.1.3
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "I0_3"
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "I0"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#224",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "I0_3"
+        },
+        "pin2": {
+          "compName": "GUISplitter#4",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#104",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "GUISplitter#4",
-          "pinName": "O2"
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#104",
+        "name": "unnamedWire#225",
         "path": []
       },
       {
@@ -1134,6 +2439,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#101",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "COVD_V"
+        },
+        "name": "unnamedWire#222",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#4",
@@ -1146,6 +2463,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#102",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "I1"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "name": "unnamedWire#223",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "_submodelinterface",
@@ -1170,6 +2499,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#107",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUISplitter#15",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#228",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#5",
@@ -1206,6 +2547,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#105",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "MC_MUX"
+        },
+        "pin2": {
+          "compName": "GUISplitter#15",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#226",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#1",
@@ -1230,6 +2583,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#106",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUISplitter#15",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#227",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "WireCrossPoint#5",
@@ -1401,6 +2766,114 @@ mograsim version: 0.1.3
         "name": "unnamedWire#19",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUISplitter#14",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "QIOn_MUX"
+        },
+        "name": "unnamedWire#210",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#29",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#31",
+          "pinName": ""
+        },
+        "name": "unnamedWire#213",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#3",
+          "pinName": "EN"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#30",
+          "pinName": ""
+        },
+        "name": "unnamedWire#214",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#14",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I00"
+        },
+        "name": "unnamedWire#211",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#2",
+          "pinName": "IN"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#212",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#31",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "LSHIFT"
+        },
+        "name": "unnamedWire#217",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#2",
+          "pinName": "EN"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "name": "unnamedWire#218",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#30",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#4",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#215",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#31",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#30",
+          "pinName": ""
+        },
+        "name": "unnamedWire#216",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUIAm2904RegCTInstrDecode#0",
@@ -1446,6 +2919,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#23",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#1",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#219",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUIMerger#2",
@@ -1532,278 +3017,302 @@ mograsim version: 0.1.3
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#0",
+          "compName": "WireCrossPoint#29",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "C"
+          "compName": "GUINandGate#11",
+          "pinName": "A"
         },
-        "name": "unnamedWire#30",
+        "name": "unnamedWire#202",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUIAm2904ShiftInstrDecode#0",
-          "pinName": "MC_EN"
+          "compName": "GUINandGate#11",
+          "pinName": "B"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "COVD_EN"
+          "compName": "WireCrossPoint#29",
+          "pinName": ""
         },
-        "name": "unnamedWire#32",
+        "name": "unnamedWire#203",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "MSR_MUX"
+          "compName": "WireCrossPoint#27",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "MUX"
+          "compName": "DeserializedSubmodelComponent#10",
+          "pinName": "B"
         },
-        "name": "unnamedWire#31",
+        "name": "unnamedWire#200",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#4",
+          "compName": "WireCrossPoint#26",
           "pinName": ""
         },
         "pin2": {
-          "compName": "GUINandGate#0",
-          "pinName": "B"
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I11"
         },
-        "name": "unnamedWire#34",
+        "name": "unnamedWire#201",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUINandGate#0",
-          "pinName": "A"
+          "compName": "DeserializedSubmodelComponent#21",
+          "pinName": "B"
         },
         "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
+          "compName": "GUISplitter#7",
+          "pinName": "O3"
         },
-        "name": "unnamedWire#33",
+        "name": "unnamedWire#206",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUITriStateBuffer#0",
-          "pinName": "OUT"
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "Y"
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
+          "compName": "GUITriStateBuffer#1",
+          "pinName": "IN"
+        },
+        "name": "unnamedWire#207",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
-        "name": "unnamedWire#79",
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#1",
+          "pinName": "C"
+        },
+        "name": "unnamedWire#30",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#17",
+          "compName": "WireCrossPoint#28",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "S0"
+          "compName": "DeserializedSubmodelComponent#10",
+          "pinName": "A"
         },
-        "name": "unnamedWire#150",
+        "name": "unnamedWire#204",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
-          "pinName": "Y"
+          "compName": "WireCrossPoint#28",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "I1"
+          "compName": "DeserializedSubmodelComponent#21",
+          "pinName": "A"
         },
-        "name": "unnamedWire#151",
+        "name": "unnamedWire#205",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "I0"
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "MC_EN"
         },
         "pin2": {
-          "compName": "WireCrossPoint#17",
-          "pinName": ""
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "COVD_EN"
         },
-        "name": "unnamedWire#154",
+        "name": "unnamedWire#32",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "S0"
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "MSR_MUX"
         },
         "pin2": {
-          "compName": "GUISplitter#9",
-          "pinName": "O3"
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "MUX"
         },
-        "name": "unnamedWire#155",
+        "name": "unnamedWire#31",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "I0"
+          "compName": "WireCrossPoint#4",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Cx"
+          "compName": "GUINandGate#0",
+          "pinName": "B"
         },
-        "name": "unnamedWire#152",
+        "name": "unnamedWire#34",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "Y"
+          "compName": "GUISplitter#14",
+          "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "I1"
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "S1"
         },
-        "name": "unnamedWire#153",
+        "name": "unnamedWire#208",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUINandGate#10",
-          "pinName": "B"
+          "compName": "GUINandGate#0",
+          "pinName": "A"
         },
         "pin2": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
-        "name": "unnamedWire#81",
+        "name": "unnamedWire#33",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#14",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#209",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "Y"
+          "compName": "WireCrossPoint#17",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "C0"
+          "compName": "DeserializedSubmodelComponent#13",
+          "pinName": "S0"
         },
-        "name": "unnamedWire#156",
+        "name": "unnamedWire#150",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
+          "compName": "DeserializedSubmodelComponent#12",
+          "pinName": "Y"
         },
         "pin2": {
-          "compName": "GUINandGate#10",
-          "pinName": "A"
+          "compName": "DeserializedSubmodelComponent#13",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#80",
+        "name": "unnamedWire#151",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUINandGate#10",
-          "pinName": "Y"
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "A"
+          "compName": "WireCrossPoint#17",
+          "pinName": ""
         },
-        "name": "unnamedWire#83",
+        "name": "unnamedWire#154",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "S0"
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "_OEY"
+          "compName": "GUISplitter#9",
+          "pinName": "O3"
         },
-        "name": "unnamedWire#82",
+        "name": "unnamedWire#155",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y1"
+          "compName": "DeserializedSubmodelComponent#13",
+          "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_1"
+          "compName": "_submodelinterface",
+          "pinName": "Cx"
         },
-        "name": "unnamedWire#85",
+        "name": "unnamedWire#152",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "DeserializedSubmodelComponent#13",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "GUITriStateBuffer#0",
-          "pinName": "EN"
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#84",
+        "name": "unnamedWire#153",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y3"
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_3"
+          "compName": "_submodelinterface",
+          "pinName": "SIOn"
         },
-        "name": "unnamedWire#87",
+        "name": "unnamedWire#158",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_2"
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y2"
+          "compName": "_submodelinterface",
+          "pinName": "SIO0"
         },
-        "name": "unnamedWire#86",
+        "name": "unnamedWire#159",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y1"
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "Y"
         },
         "pin2": {
-          "compName": "GUIMerger#3",
-          "pinName": "I0"
+          "compName": "_submodelinterface",
+          "pinName": "C0"
         },
-        "name": "unnamedWire#89",
+        "name": "unnamedWire#156",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_4"
+          "compName": "_submodelinterface",
+          "pinName": "QIOn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y4"
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
         },
-        "name": "unnamedWire#88",
+        "name": "unnamedWire#157",
         "path": []
       },
       {
@@ -1832,13 +3341,13 @@ mograsim version: 0.1.3
       },
       {
         "pin1": {
-          "compName": "GUISplitter#8",
-          "pinName": "O1"
-        },
-        "pin2": {
           "compName": "DeserializedSubmodelComponent#11",
           "pinName": "I1"
         },
+        "pin2": {
+          "compName": "WireCrossPoint#22",
+          "pinName": ""
+        },
         "name": "unnamedWire#143",
         "path": []
       },
@@ -1914,18 +3423,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#142",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUIMerger#3",
-          "pinName": "I1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y2"
-        },
-        "name": "unnamedWire#90",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#11",
@@ -1950,18 +3447,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#148",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUIMerger#3",
-          "pinName": "I3"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y4"
-        },
-        "name": "unnamedWire#92",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#10",
@@ -1974,18 +3459,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#145",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y3"
-        },
-        "pin2": {
-          "compName": "GUIMerger#3",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#91",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#9",
@@ -2010,18 +3483,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#1",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "Y_MUX"
-        },
-        "pin2": {
-          "compName": "GUISplitter#2",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#94",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "_submodelinterface",
@@ -2043,30 +3504,6 @@ mograsim version: 0.1.3
           }
         ]
       },
-      {
-        "pin1": {
-          "compName": "GUIMerger#3",
-          "pinName": "O"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#14",
-          "pinName": ""
-        },
-        "name": "unnamedWire#93",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUISplitter#2",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#96",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#9",
@@ -2079,18 +3516,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#149",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUISplitter#2",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#95",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUIMerger#0",
@@ -2115,18 +3540,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#10",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I0_2"
-        },
-        "pin2": {
-          "compName": "GUISplitter#3",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#98",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#0",
@@ -2139,18 +3552,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#4",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUISplitter#3",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I0_1"
-        },
-        "name": "unnamedWire#97",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "_submodelinterface",
@@ -2169,82 +3570,34 @@ mograsim version: 0.1.3
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "GUIMerger#1",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#12",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUIMerger#1",
-          "pinName": "I1"
-        },
-        "pin2": {
-          "compName": "GUISplitter#0",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#11",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "muSR_OVRRET"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "OVRRET"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I0_3"
-        },
-        "pin2": {
-          "compName": "GUISplitter#3",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#99",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#2",
-          "pinName": "B"
-        },
-        "pin2": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "muSR_WEN"
+          "compName": "GUIMerger#1",
+          "pinName": "I2"
         },
-        "name": "unnamedWire#58",
+        "name": "unnamedWire#12",
         "path": []
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_CEM"
+          "compName": "GUIMerger#1",
+          "pinName": "I1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
+          "compName": "GUISplitter#0",
+          "pinName": "O7"
         },
-        "name": "unnamedWire#57",
+        "name": "unnamedWire#11",
         "path": []
       },
       {
         "pin1": {
           "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "muSR_WEOVR"
+          "pinName": "muSR_OVRRET"
         },
         "pin2": {
-          "compName": "GUINandGate#3",
-          "pinName": "B"
+          "compName": "DeserializedSubmodelComponent#1",
+          "pinName": "OVRRET"
         },
-        "name": "unnamedWire#59",
+        "name": "unnamedWire#2",
         "path": []
       },
       {
@@ -2325,8 +3678,8 @@ mograsim version: 0.1.3
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
-          "pinName": "A"
+          "compName": "WireCrossPoint#28",
+          "pinName": ""
         },
         "name": "unnamedWire#134",
         "path": []
@@ -2337,46 +3690,10 @@ mograsim version: 0.1.3
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#135",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#7",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#61",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "GUINandGate#6",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#60",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#9",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#27",
           "pinName": ""
         },
-        "name": "unnamedWire#63",
+        "name": "unnamedWire#135",
         "path": []
       },
       {
@@ -2391,18 +3708,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#138",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "GUINandGate#8",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#62",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#0",
@@ -2415,78 +3720,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#139",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#65",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "name": "unnamedWire#64",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EN"
-        },
-        "pin2": {
-          "compName": "GUINandGate#7",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#67",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#6",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EOVR"
-        },
-        "name": "unnamedWire#66",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#9",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EZ"
-        },
-        "name": "unnamedWire#69",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#8",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EC"
-        },
-        "name": "unnamedWire#68",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#6",
@@ -2547,18 +3780,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#126",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUINandGate#1",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "name": "unnamedWire#70",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#9",
@@ -2583,18 +3804,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#124",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUINandGate#8",
-          "pinName": "B"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y2"
-        },
-        "name": "unnamedWire#72",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#7",
@@ -2607,30 +3816,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#129",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y1"
-        },
-        "pin2": {
-          "compName": "GUINandGate#9",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#71",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y4"
-        },
-        "pin2": {
-          "compName": "GUINandGate#6",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#74",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#6",
@@ -2643,18 +3828,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#127",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y3"
-        },
-        "pin2": {
-          "compName": "GUINandGate#7",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#73",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUIAm2904RegCTInstrDecode#0",
@@ -2666,54 +3839,6 @@ mograsim version: 0.1.3
         },
         "name": "unnamedWire#128",
         "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_EC"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A2"
-        },
-        "name": "unnamedWire#76",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A1"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "_EZ"
-        },
-        "name": "unnamedWire#75",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_EOVR"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A4"
-        },
-        "name": "unnamedWire#78",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A3"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "_EN"
-        },
-        "name": "unnamedWire#77",
-        "path": []
       }
     ]
   },
index dda3e92..0b990db 100644 (file)
@@ -3,7 +3,6 @@ package net.mograsim.logic.model.am2900.components.am2904;
 import static net.mograsim.logic.core.types.Bit.ONE;
 import static net.mograsim.logic.core.types.Bit.U;
 import static net.mograsim.logic.core.types.Bit.X;
-import static net.mograsim.logic.core.types.Bit.Z;
 import static net.mograsim.logic.core.types.Bit.ZERO;
 
 import java.util.Map;
@@ -100,8 +99,8 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                        }
                if (IAsInt < 16)
                {
-                       readWriteEnds.get("SIO0_MUX").feedSignals(Z, Z, Z);
-                       readWriteEnds.get("QIO0_MUX").feedSignals(Z, Z, Z);
+                       readWriteEnds.get("SIO0_MUX").feedSignals(X, X, X);
+                       readWriteEnds.get("QIO0_MUX").feedSignals(X, X, X);
                        switch (IAsInt)
                        {
                        case 0:
@@ -148,7 +147,7 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                                readWriteEnds.get("QIOn_MUX").feedSignals(ZERO, ZERO, ONE);
                                break;
                        case 2:
-                               readWriteEnds.get("QIOn_MUX").feedSignals(ONE, ONE, Z);
+                               readWriteEnds.get("QIOn_MUX").feedSignals(ONE, ONE, X);
                                break;
                        case 3:
                        case 4:
@@ -160,20 +159,20 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                        case 13:
                        case 14:
                        case 15:
-                               readWriteEnds.get("QIOn_MUX").feedSignals(ZERO, ONE, Z);
+                               readWriteEnds.get("QIOn_MUX").feedSignals(ZERO, ONE, X);
                                break;
                        case 8:
                        case 9:
                        case 10:
-                               readWriteEnds.get("QIOn_MUX").feedSignals(ONE, ZERO, Z);
+                               readWriteEnds.get("QIOn_MUX").feedSignals(ONE, ZERO, X);
                                break;
                        default:
                                throw new IllegalStateException("can't happen");
                        }
                } else
                {
-                       readWriteEnds.get("SIOn_MUX").feedSignals(Z, Z, Z);
-                       readWriteEnds.get("QIOn_MUX").feedSignals(Z, Z, Z);
+                       readWriteEnds.get("SIOn_MUX").feedSignals(X, X, X);
+                       readWriteEnds.get("QIOn_MUX").feedSignals(X, X, X);
                        switch (IAsInt)
                        {
                        case 16:
@@ -192,15 +191,15 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                        case 29:
                        case 30:
                        case 31:
-                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ZERO, Z);
+                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ZERO, X);
                                break;
                        case 24:
                        case 26:
-                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ONE, Z);
+                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ONE, X);
                                break;
                        case 25:
                        case 27:
-                               readWriteEnds.get("SIO0_MUX").feedSignals(ZERO, ONE, Z);
+                               readWriteEnds.get("SIO0_MUX").feedSignals(ZERO, ONE, X);
                                break;
                        default:
                                throw new IllegalStateException("can't happen");
@@ -223,15 +222,15 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                        case 24:
                        case 25:
                        case 26:
-                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ZERO, Z);
+                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ZERO, X);
                                break;
                        case 28:
                        case 30:
-                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ONE, Z);
+                               readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ONE, X);
                                break;
                        case 29:
                        case 31:
-                               readWriteEnds.get("QIO0_MUX").feedSignals(ZERO, ONE, Z);
+                               readWriteEnds.get("QIO0_MUX").feedSignals(ZERO, ONE, X);
                                break;
                        default:
                                throw new IllegalStateException("can't happen");
@@ -259,7 +258,7 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                case 30:
                case 31:
                        readWriteEnds.get("MC_EN").feedSignals(ZERO);
-                       readWriteEnds.get("MC_MUX").feedSignals(Z, Z);
+                       readWriteEnds.get("MC_MUX").feedSignals(X, X);
                        break;
                case 2:
                case 8:
@@ -282,7 +281,7 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp
                case 28:
                case 29:
                        readWriteEnds.get("MC_EN").feedSignals(ONE);
-                       readWriteEnds.get("MC_MUX").feedSignals(ONE, Z);
+                       readWriteEnds.get("MC_MUX").feedSignals(ONE, X);
                        break;
                default:
                        throw new IllegalStateException("can't happen");
index d86ee05..318840b 100644 (file)
@@ -1,7 +1,7 @@
 mograsim version: 0.1.3
 {
   "width": 120.0,
-  "height": 139.0,
+  "height": 178.0,
   "interfacePins": [
     {
       "location": {
@@ -21,210 +21,178 @@ mograsim version: 0.1.3
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 5.0
+        "x": 120.0,
+        "y": 11.0
       },
-      "name": "C",
+      "name": "YZ",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 61.0
+        "y": 5.0
       },
-      "name": "I",
-      "logicWidth": 13
+      "name": "C",
+      "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 40.0
+        "y": 20.0
       },
-      "name": "_EN",
+      "name": "IN",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -14.600000000000001,
-        "y": -0.6000000000000001
+        "x": 61.0,
+        "y": 0.0
       },
-      "name": "QIOn_out",
+      "name": "_OEY",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": 120.0,
-        "y": 17.0
+        "x": 0.0,
+        "y": 61.0
       },
-      "name": "YC",
-      "logicWidth": 1
+      "name": "I",
+      "logicWidth": 13
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 14.4
+        "x": 0.0,
+        "y": 40.0
       },
-      "name": "SIOn_in",
+      "name": "_EN",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 120.0,
-        "y": 108.0
+        "y": 17.0
       },
-      "name": "C0",
+      "name": "YC",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -34.6,
-        "y": 29.400000000000002
+        "x": 120.0,
+        "y": 108.0
       },
-      "name": "QIO0_in",
+      "name": "C0",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 36.0
+        "x": 120.0,
+        "y": 118.0
       },
-      "name": "_EZ",
+      "name": "SIO0",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 110.0
+        "y": 10.0
       },
-      "name": "Cx",
+      "name": "IZ",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 120.0,
-        "y": 21.0
-      },
-      "name": "YN",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": -24.6,
-        "y": 19.400000000000002
+        "y": 60.0
       },
-      "name": "SIOn_out",
+      "name": "CT",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 15.0
+        "y": 128.0
       },
-      "name": "IC",
+      "name": "QIOn",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 42.0
-      },
-      "name": "_EOVR",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": 120.0,
-        "y": 11.0
+        "y": 119.0
       },
-      "name": "YZ",
+      "name": "SIOn",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 20.0
-      },
-      "name": "IN",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": 61.0,
-        "y": 0.0
+        "y": 33.0
       },
-      "name": "_OEY",
+      "name": "_CEmu",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 44.400000000000006
+        "x": 0.0,
+        "y": 36.0
       },
-      "name": "SIO0_in",
+      "name": "_EZ",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 49.400000000000006
+        "x": 0.0,
+        "y": 110.0
       },
-      "name": "SIO0_out",
+      "name": "Cx",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -14.600000000000001,
-        "y": 44.400000000000006
+        "x": 120.0,
+        "y": 21.0
       },
-      "name": "QIO0_out",
+      "name": "YN",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 10.0
+        "y": 15.0
       },
-      "name": "IZ",
+      "name": "IC",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 120.0,
-        "y": 60.0
-      },
-      "name": "CT",
-      "logicWidth": 1
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 33.0
+        "y": 25.0
       },
-      "name": "_CEmu",
+      "name": "YOVR",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": -24.6,
-        "y": 54.400000000000006
+        "x": 120.0,
+        "y": 128.0
       },
-      "name": "QIOn_in",
+      "name": "QIO0",
       "logicWidth": 1
     },
     {
       "location": {
-        "x": 120.0,
-        "y": 25.0
+        "x": 0.0,
+        "y": 38.0
       },
-      "name": "YOVR",
+      "name": "_EC",
       "logicWidth": 1
     },
     {
       "location": {
         "x": 0.0,
-        "y": 38.0
+        "y": 42.0
       },
-      "name": "_EC",
+      "name": "_EOVR",
       "logicWidth": 1
     }
   ],
@@ -269,75 +237,66 @@ mograsim version: 0.1.3
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#17",
+        "name": "WireCrossPoint#18",
         "pos": {
-          "x": 360.0,
-          "y": 495.0
+          "x": 35.0,
+          "y": 640.0
         },
         "params": 1
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#4",
         "pos": {
-          "x": 180.0,
-          "y": 135.0
+          "x": 565.0,
+          "y": 655.0
         },
-        "params": 4
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
+        "name": "WireCrossPoint#17",
         "pos": {
-          "x": 165.0,
-          "y": 150.0
+          "x": 360.0,
+          "y": 495.0
         },
         "params": 1
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 335.0,
-          "y": 270.0
-        },
-        "params": 4
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 295.0,
-          "y": 120.0
-        },
-        "params": 4
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#2",
         "pos": {
-          "x": 530.0,
-          "y": 100.0
+          "x": 10.0,
+          "y": 605.0
         },
-        "params": 4
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
+        "name": "WireCrossPoint#19",
         "pos": {
-          "x": 150.0,
-          "y": 160.0
+          "x": 35.0,
+          "y": 595.0
         },
         "params": 1
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#3",
         "pos": {
-          "x": 215.0,
-          "y": 180.0
+          "x": 560.0,
+          "y": 595.0
         },
-        "params": 1
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "GUITriStateBuffer",
@@ -352,31 +311,16 @@ mograsim version: 0.1.3
         }
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
-        "pos": {
-          "x": 120.0,
-          "y": 15.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#9",
-        "pos": {
-          "x": 215.0,
-          "y": 200.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
+        "id": "GUITriStateBuffer",
+        "name": "GUITriStateBuffer#1",
         "pos": {
-          "x": 215.0,
-          "y": 160.0
+          "x": 10.0,
+          "y": 650.0
         },
-        "params": 1
+        "params": {
+          "logicWidth": 1,
+          "orientation": "RIGHT"
+        }
       },
       {
         "id": "GUIAm2904muSR",
@@ -530,55 +474,6 @@ mograsim version: 0.1.3
           "y": 295.0
         }
       },
-      {
-        "id": "GUImux1",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 415.0,
-          "y": 465.0
-        }
-      },
-      {
-        "id": "GUImux1",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 365.0,
-          "y": 485.0
-        }
-      },
-      {
-        "id": "GUIxor",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 315.0,
-          "y": 505.0
-        }
-      },
-      {
-        "id": "GUImux1",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 265.0,
-          "y": 515.0
-        }
-      },
-      {
-        "id": "GUIxor",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 485.0,
-          "y": 355.0
-        }
-      },
-      {
-        "id": "GUINandGate",
-        "name": "GUINandGate#10",
-        "pos": {
-          "x": 340.0,
-          "y": 120.0
-        },
-        "params": 1
-      },
       {
         "id": "GUINandGate",
         "name": "GUINandGate#9",
@@ -634,158 +529,1520 @@ mograsim version: 0.1.3
         "params": 1
       },
       {
-        "id": "GUINandGate",
-        "name": "GUINandGate#1",
+        "id": "GUImux3",
+        "name": "DeserializedSubmodelComponent#23",
         "pos": {
-          "x": 130.0,
-          "y": 5.0
-        },
-        "params": 1
-      },
+          "x": 300.0,
+          "y": 715.0
+        }
+      },
       {
-        "id": "GUINandGate",
-        "name": "GUINandGate#0",
+        "id": "GUImux2",
+        "name": "DeserializedSubmodelComponent#22",
+        "pos": {
+          "x": 120.0,
+          "y": 720.0
+        }
+      },
+      {
+        "id": "GUIxor",
+        "name": "DeserializedSubmodelComponent#21",
+        "pos": {
+          "x": 250.0,
+          "y": 820.0
+        }
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#30",
+        "pos": {
+          "x": 550.0,
+          "y": 570.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#32",
+        "pos": {
+          "x": 85.0,
+          "y": 590.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#31",
+        "pos": {
+          "x": 120.0,
+          "y": 545.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#25",
+        "pos": {
+          "x": 285.0,
+          "y": 755.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#24",
+        "pos": {
+          "x": 285.0,
+          "y": 725.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#27",
+        "pos": {
+          "x": 470.0,
+          "y": 385.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#26",
+        "pos": {
+          "x": 290.0,
+          "y": 805.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#29",
+        "pos": {
+          "x": 45.0,
+          "y": 580.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#28",
+        "pos": {
+          "x": 470.0,
+          "y": 350.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#14",
+        "pos": {
+          "x": 90.0,
+          "y": 720.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#15",
+        "pos": {
+          "x": 120.0,
+          "y": 455.0
+        },
+        "params": 2
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#12",
+        "pos": {
+          "x": 405.0,
+          "y": 655.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#13",
+        "pos": {
+          "x": 265.0,
+          "y": 725.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#10",
+        "pos": {
+          "x": 445.0,
+          "y": 410.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#11",
+        "pos": {
+          "x": 405.0,
+          "y": 575.0
+        },
+        "params": 3
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#21",
+        "pos": {
+          "x": 585.0,
+          "y": 640.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#20",
+        "pos": {
+          "x": 585.0,
+          "y": 590.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#23",
+        "pos": {
+          "x": 330.0,
+          "y": 640.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#22",
+        "pos": {
+          "x": 250.0,
+          "y": 540.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#1",
+        "pos": {
+          "x": 180.0,
+          "y": 135.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#0",
+        "pos": {
+          "x": 165.0,
+          "y": 150.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#3",
+        "pos": {
+          "x": 335.0,
+          "y": 270.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#2",
+        "pos": {
+          "x": 295.0,
+          "y": 120.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#5",
+        "pos": {
+          "x": 530.0,
+          "y": 100.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#4",
+        "pos": {
+          "x": 150.0,
+          "y": 160.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#7",
+        "pos": {
+          "x": 215.0,
+          "y": 180.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#6",
+        "pos": {
+          "x": 120.0,
+          "y": 15.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#9",
+        "pos": {
+          "x": 215.0,
+          "y": 200.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#8",
+        "pos": {
+          "x": 215.0,
+          "y": 160.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#18",
+        "pos": {
+          "x": 135.0,
+          "y": 470.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#17",
         "pos": {
           "x": 190.0,
-          "y": 145.0
+          "y": 460.0
+        }
+      },
+      {
+        "id": "GUImux2",
+        "name": "DeserializedSubmodelComponent#16",
+        "pos": {
+          "x": 435.0,
+          "y": 655.0
+        }
+      },
+      {
+        "id": "GUImux2",
+        "name": "DeserializedSubmodelComponent#15",
+        "pos": {
+          "x": 435.0,
+          "y": 575.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#14",
+        "pos": {
+          "x": 415.0,
+          "y": 465.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#13",
+        "pos": {
+          "x": 365.0,
+          "y": 485.0
+        }
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#11",
+        "pos": {
+          "x": 60.0,
+          "y": 570.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUIxor",
+        "name": "DeserializedSubmodelComponent#12",
+        "pos": {
+          "x": 315.0,
+          "y": 505.0
+        }
+      },
+      {
+        "id": "GUImux1",
+        "name": "DeserializedSubmodelComponent#11",
+        "pos": {
+          "x": 265.0,
+          "y": 515.0
+        }
+      },
+      {
+        "id": "GUIxor",
+        "name": "DeserializedSubmodelComponent#10",
+        "pos": {
+          "x": 500.0,
+          "y": 360.0
+        }
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#10",
+        "pos": {
+          "x": 340.0,
+          "y": 120.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#1",
+        "pos": {
+          "x": 130.0,
+          "y": 5.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#0",
+        "pos": {
+          "x": 190.0,
+          "y": 145.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#3",
+        "pos": {
+          "x": 225.0,
+          "y": 215.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUINandGate",
+        "name": "GUINandGate#2",
+        "pos": {
+          "x": 225.0,
+          "y": 195.0
+        },
+        "params": 1
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#9",
+        "pos": {
+          "x": 240.0,
+          "y": 475.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#4",
+        "pos": {
+          "x": 395.0,
+          "y": 225.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#3",
+        "pos": {
+          "x": 450.0,
+          "y": 175.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#2",
+        "pos": {
+          "x": 395.0,
+          "y": 195.0
+        },
+        "params": 2
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#1",
+        "pos": {
+          "x": 555.0,
+          "y": 80.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#8",
+        "pos": {
+          "x": 445.0,
+          "y": 370.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#7",
+        "pos": {
+          "x": 445.0,
+          "y": 330.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#6",
+        "pos": {
+          "x": 285.0,
+          "y": 320.0
+        },
+        "params": 3
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#5",
+        "pos": {
+          "x": 395.0,
+          "y": 265.0
+        },
+        "params": 4
+      },
+      {
+        "id": "GUISplitter",
+        "name": "GUISplitter#0",
+        "pos": {
+          "x": 10.0,
+          "y": 245.0
+        },
+        "params": 13
+      },
+      {
+        "id": "GUIAm2904RegCTInstrDecode",
+        "name": "GUIAm2904RegCTInstrDecode#0",
+        "pos": {
+          "x": 50.0,
+          "y": 240.0
+        }
+      },
+      {
+        "id": "GUIAm2904ShiftInstrDecode",
+        "name": "GUIAm2904ShiftInstrDecode#0",
+        "pos": {
+          "x": 50.0,
+          "y": 360.0
+        }
+      }
+    ],
+    "innerWires": [
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#190",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I010"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#191",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#21",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I111"
+        },
+        "name": "unnamedWire#194",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#27",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#26",
+          "pinName": ""
+        },
+        "name": "unnamedWire#195",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I011"
+        },
+        "name": "unnamedWire#192",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I100"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "name": "unnamedWire#193",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I10"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "name": "unnamedWire#198",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#26",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I101"
+        },
+        "name": "unnamedWire#199",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I110"
+        },
+        "pin2": {
+          "compName": "GUISplitter#7",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#196",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I01"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#197",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I10"
+        },
+        "name": "unnamedWire#180",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#24",
+          "pinName": ""
+        },
+        "name": "unnamedWire#183",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#24",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#184",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I11"
+        },
+        "name": "unnamedWire#181",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I11"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "name": "unnamedWire#182",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I001"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#25",
+          "pinName": ""
+        },
+        "name": "unnamedWire#187",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "SIOn_MUX"
+        },
+        "name": "unnamedWire#188",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#25",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#24",
+          "pinName": ""
+        },
+        "name": "unnamedWire#185",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#25",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "I000"
+        },
+        "name": "unnamedWire#186",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#13",
+          "pinName": "O2"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "S2"
+        },
+        "name": "unnamedWire#189",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#22",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUISplitter#8",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#172",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#22",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "name": "unnamedWire#173",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I01"
+        },
+        "name": "unnamedWire#170",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I10"
+        },
+        "name": "unnamedWire#171",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#12",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I00"
+        },
+        "name": "unnamedWire#176",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#4",
+          "pinName": "IN"
+        },
+        "name": "unnamedWire#177",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#12",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#174",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "S1"
+        },
+        "pin2": {
+          "compName": "GUISplitter#12",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#175",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#12",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "QIO0_MUX"
+        },
+        "name": "unnamedWire#178",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#16",
+          "pinName": "I01"
+        },
+        "name": "unnamedWire#179",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#1",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
+        },
+        "name": "unnamedWire#161",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#2",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "name": "unnamedWire#162",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "QIO0"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "name": "unnamedWire#160",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#3",
+          "pinName": "IN"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#165",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "SIO0_MUX"
+        },
+        "pin2": {
+          "compName": "GUISplitter#11",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#166",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#3",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#163",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#4",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
+        },
+        "name": "unnamedWire#164",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "S0"
+        },
+        "pin2": {
+          "compName": "GUISplitter#11",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#169",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#11",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "I00"
+        },
+        "name": "unnamedWire#167",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#11",
+          "pinName": "O2"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#15",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#168",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#0",
+          "pinName": "OUT"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#5",
+          "pinName": ""
+        },
+        "name": "unnamedWire#79",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#10",
+          "pinName": "B"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#13",
+          "pinName": ""
+        },
+        "name": "unnamedWire#81",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#13",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#10",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#80",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#10",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#2",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#83",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#13",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_OEY"
+        },
+        "name": "unnamedWire#82",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_1"
+        },
+        "name": "unnamedWire#85",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#2",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#0",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#84",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y3"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_3"
+        },
+        "name": "unnamedWire#87",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_2"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y2"
+        },
+        "name": "unnamedWire#86",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y1"
+        },
+        "pin2": {
+          "compName": "GUIMerger#3",
+          "pinName": "I0"
+        },
+        "name": "unnamedWire#89",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I1_4"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "Y4"
+        },
+        "name": "unnamedWire#88",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIMerger#3",
+          "pinName": "I1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y2"
+        },
+        "name": "unnamedWire#90",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIMerger#3",
+          "pinName": "I3"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y4"
+        },
+        "name": "unnamedWire#92",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "Y3"
+        },
+        "pin2": {
+          "compName": "GUIMerger#3",
+          "pinName": "I2"
+        },
+        "name": "unnamedWire#91",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "Y_MUX"
+        },
+        "pin2": {
+          "compName": "GUISplitter#2",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#94",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIMerger#3",
+          "pinName": "O"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#14",
+          "pinName": ""
+        },
+        "name": "unnamedWire#93",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#2",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#96",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#2",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#95",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I0_2"
+        },
+        "pin2": {
+          "compName": "GUISplitter#3",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#98",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#3",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I0_1"
+        },
+        "name": "unnamedWire#97",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#3",
+          "pinName": "I0_3"
+        },
+        "pin2": {
+          "compName": "GUISplitter#3",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#99",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#2",
+          "pinName": "B"
+        },
+        "pin2": {
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "muSR_WEN"
+        },
+        "name": "unnamedWire#58",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_CEM"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#6",
+          "pinName": ""
+        },
+        "name": "unnamedWire#57",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "muSR_WEOVR"
+        },
+        "pin2": {
+          "compName": "GUINandGate#3",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#59",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#7",
+          "pinName": "A"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#10",
+          "pinName": ""
+        },
+        "name": "unnamedWire#61",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#10",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#6",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#60",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUINandGate#9",
+          "pinName": "A"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#11",
+          "pinName": ""
+        },
+        "name": "unnamedWire#63",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#12",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#8",
+          "pinName": "A"
+        },
+        "name": "unnamedWire#62",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#12",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#10",
+          "pinName": ""
+        },
+        "name": "unnamedWire#65",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#11",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#12",
+          "pinName": ""
         },
-        "params": 1
+        "name": "unnamedWire#64",
+        "path": []
       },
       {
-        "id": "GUINandGate",
-        "name": "GUINandGate#3",
-        "pos": {
-          "x": 225.0,
-          "y": 215.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EN"
         },
-        "params": 1
-      },
-      {
-        "id": "GUINandGate",
-        "name": "GUINandGate#2",
-        "pos": {
-          "x": 225.0,
-          "y": 195.0
+        "pin2": {
+          "compName": "GUINandGate#7",
+          "pinName": "Y"
         },
-        "params": 1
+        "name": "unnamedWire#67",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#9",
-        "pos": {
-          "x": 240.0,
-          "y": 475.0
+        "pin1": {
+          "compName": "GUINandGate#6",
+          "pinName": "Y"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EOVR"
+        },
+        "name": "unnamedWire#66",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#4",
-        "pos": {
-          "x": 395.0,
-          "y": 225.0
+        "pin1": {
+          "compName": "GUINandGate#9",
+          "pinName": "Y"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EZ"
+        },
+        "name": "unnamedWire#69",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#3",
-        "pos": {
-          "x": 450.0,
-          "y": 175.0
+        "pin1": {
+          "compName": "GUINandGate#8",
+          "pinName": "Y"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "_EC"
+        },
+        "name": "unnamedWire#68",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#2",
-        "pos": {
-          "x": 395.0,
-          "y": 195.0
+        "pin1": {
+          "compName": "GUINandGate#1",
+          "pinName": "Y"
         },
-        "params": 2
+        "pin2": {
+          "compName": "WireCrossPoint#11",
+          "pinName": ""
+        },
+        "name": "unnamedWire#70",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#1",
-        "pos": {
-          "x": 555.0,
-          "y": 80.0
+        "pin1": {
+          "compName": "GUINandGate#8",
+          "pinName": "B"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y2"
+        },
+        "name": "unnamedWire#72",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#8",
-        "pos": {
-          "x": 445.0,
-          "y": 370.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y1"
         },
-        "params": 4
+        "pin2": {
+          "compName": "GUINandGate#9",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#71",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#7",
-        "pos": {
-          "x": 445.0,
-          "y": 330.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y4"
         },
-        "params": 4
+        "pin2": {
+          "compName": "GUINandGate#6",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#74",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#6",
-        "pos": {
-          "x": 285.0,
-          "y": 320.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "Y3"
         },
-        "params": 3
+        "pin2": {
+          "compName": "GUINandGate#7",
+          "pinName": "B"
+        },
+        "name": "unnamedWire#73",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#5",
-        "pos": {
-          "x": 395.0,
-          "y": 265.0
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EC"
         },
-        "params": 4
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A2"
+        },
+        "name": "unnamedWire#76",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#0",
-        "pos": {
-          "x": 10.0,
-          "y": 245.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A1"
         },
-        "params": 13
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_EZ"
+        },
+        "name": "unnamedWire#75",
+        "path": []
       },
       {
-        "id": "GUIAm2904RegCTInstrDecode",
-        "name": "GUIAm2904RegCTInstrDecode#0",
-        "pos": {
-          "x": 50.0,
-          "y": 240.0
-        }
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EOVR"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A4"
+        },
+        "name": "unnamedWire#78",
+        "path": []
       },
       {
-        "id": "GUISplitter",
-        "name": "GUISplitter#10",
-        "pos": {
-          "x": 445.0,
-          "y": 410.0
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#4",
+          "pinName": "A3"
         },
-        "params": 4
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_EN"
+        },
+        "name": "unnamedWire#77",
+        "path": []
       },
-      {
-        "id": "GUIAm2904ShiftInstrDecode",
-        "name": "GUIAm2904ShiftInstrDecode#0",
-        "pos": {
-          "x": 50.0,
-          "y": 360.0
-        }
-      }
-    ],
-    "innerWires": [
       {
         "pin1": {
           "compName": "GUINandGate#0",
@@ -1086,6 +2343,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#48",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUINandGate#11",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#220",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#3",
@@ -1098,6 +2367,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#100",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "I0"
+        },
+        "name": "unnamedWire#221",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#4",
@@ -1112,14 +2393,38 @@ mograsim version: 0.1.3
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "I0_3"
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "I0"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#224",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#5",
+          "pinName": "I0_3"
+        },
+        "pin2": {
+          "compName": "GUISplitter#4",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#104",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#21",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "GUISplitter#4",
-          "pinName": "O2"
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#104",
+        "name": "unnamedWire#225",
         "path": []
       },
       {
@@ -1134,6 +2439,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#101",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "COVD_V"
+        },
+        "name": "unnamedWire#222",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#4",
@@ -1146,6 +2463,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#102",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "I1"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
+        },
+        "name": "unnamedWire#223",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "_submodelinterface",
@@ -1170,6 +2499,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#107",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUISplitter#15",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#17",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#228",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#5",
@@ -1206,6 +2547,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#105",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "MC_MUX"
+        },
+        "pin2": {
+          "compName": "GUISplitter#15",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#226",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUISplitter#1",
@@ -1230,6 +2583,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#106",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUISplitter#15",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#18",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#227",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "WireCrossPoint#5",
@@ -1401,6 +2766,114 @@ mograsim version: 0.1.3
         "name": "unnamedWire#19",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "GUISplitter#14",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "QIOn_MUX"
+        },
+        "name": "unnamedWire#210",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#29",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#31",
+          "pinName": ""
+        },
+        "name": "unnamedWire#213",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#3",
+          "pinName": "EN"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#30",
+          "pinName": ""
+        },
+        "name": "unnamedWire#214",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#14",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I00"
+        },
+        "name": "unnamedWire#211",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#2",
+          "pinName": "IN"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#23",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#212",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#31",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "LSHIFT"
+        },
+        "name": "unnamedWire#217",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUITriStateBuffer#2",
+          "pinName": "EN"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "name": "unnamedWire#218",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#30",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#4",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#215",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#31",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#30",
+          "pinName": ""
+        },
+        "name": "unnamedWire#216",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUIAm2904RegCTInstrDecode#0",
@@ -1446,6 +2919,18 @@ mograsim version: 0.1.3
         "name": "unnamedWire#23",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "GUITriStateBuffer#1",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#219",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "GUIMerger#2",
@@ -1532,278 +3017,302 @@ mograsim version: 0.1.3
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#0",
+          "compName": "WireCrossPoint#29",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "C"
+          "compName": "GUINandGate#11",
+          "pinName": "A"
         },
-        "name": "unnamedWire#30",
+        "name": "unnamedWire#202",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUIAm2904ShiftInstrDecode#0",
-          "pinName": "MC_EN"
+          "compName": "GUINandGate#11",
+          "pinName": "B"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "COVD_EN"
+          "compName": "WireCrossPoint#29",
+          "pinName": ""
         },
-        "name": "unnamedWire#32",
+        "name": "unnamedWire#203",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "MSR_MUX"
+          "compName": "WireCrossPoint#27",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "MUX"
+          "compName": "DeserializedSubmodelComponent#10",
+          "pinName": "B"
         },
-        "name": "unnamedWire#31",
+        "name": "unnamedWire#200",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#4",
+          "compName": "WireCrossPoint#26",
           "pinName": ""
         },
         "pin2": {
-          "compName": "GUINandGate#0",
-          "pinName": "B"
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "I11"
         },
-        "name": "unnamedWire#34",
+        "name": "unnamedWire#201",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUINandGate#0",
-          "pinName": "A"
+          "compName": "DeserializedSubmodelComponent#21",
+          "pinName": "B"
         },
         "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
+          "compName": "GUISplitter#7",
+          "pinName": "O3"
         },
-        "name": "unnamedWire#33",
+        "name": "unnamedWire#206",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUITriStateBuffer#0",
-          "pinName": "OUT"
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "Y"
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
+          "compName": "GUITriStateBuffer#1",
+          "pinName": "IN"
+        },
+        "name": "unnamedWire#207",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
-        "name": "unnamedWire#79",
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#1",
+          "pinName": "C"
+        },
+        "name": "unnamedWire#30",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#17",
+          "compName": "WireCrossPoint#28",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "S0"
+          "compName": "DeserializedSubmodelComponent#10",
+          "pinName": "A"
         },
-        "name": "unnamedWire#150",
+        "name": "unnamedWire#204",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
-          "pinName": "Y"
+          "compName": "WireCrossPoint#28",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "I1"
+          "compName": "DeserializedSubmodelComponent#21",
+          "pinName": "A"
         },
-        "name": "unnamedWire#151",
+        "name": "unnamedWire#205",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "I0"
+          "compName": "GUIAm2904ShiftInstrDecode#0",
+          "pinName": "MC_EN"
         },
         "pin2": {
-          "compName": "WireCrossPoint#17",
-          "pinName": ""
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "COVD_EN"
         },
-        "name": "unnamedWire#154",
+        "name": "unnamedWire#32",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "S0"
+          "compName": "GUIAm2904RegCTInstrDecode#0",
+          "pinName": "MSR_MUX"
         },
         "pin2": {
-          "compName": "GUISplitter#9",
-          "pinName": "O3"
+          "compName": "DeserializedSubmodelComponent#0",
+          "pinName": "MUX"
         },
-        "name": "unnamedWire#155",
+        "name": "unnamedWire#31",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "I0"
+          "compName": "WireCrossPoint#4",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Cx"
+          "compName": "GUINandGate#0",
+          "pinName": "B"
         },
-        "name": "unnamedWire#152",
+        "name": "unnamedWire#34",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
-          "pinName": "Y"
+          "compName": "GUISplitter#14",
+          "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "I1"
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "S1"
         },
-        "name": "unnamedWire#153",
+        "name": "unnamedWire#208",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUINandGate#10",
-          "pinName": "B"
+          "compName": "GUINandGate#0",
+          "pinName": "A"
         },
         "pin2": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
-        "name": "unnamedWire#81",
+        "name": "unnamedWire#33",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "GUISplitter#14",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "DeserializedSubmodelComponent#22",
+          "pinName": "S0"
+        },
+        "name": "unnamedWire#209",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
-          "pinName": "Y"
+          "compName": "WireCrossPoint#17",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "C0"
+          "compName": "DeserializedSubmodelComponent#13",
+          "pinName": "S0"
         },
-        "name": "unnamedWire#156",
+        "name": "unnamedWire#150",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
+          "compName": "DeserializedSubmodelComponent#12",
+          "pinName": "Y"
         },
         "pin2": {
-          "compName": "GUINandGate#10",
-          "pinName": "A"
+          "compName": "DeserializedSubmodelComponent#13",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#80",
+        "name": "unnamedWire#151",
         "path": []
       },
       {
         "pin1": {
-          "compName": "GUINandGate#10",
-          "pinName": "Y"
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "A"
+          "compName": "WireCrossPoint#17",
+          "pinName": ""
         },
-        "name": "unnamedWire#83",
+        "name": "unnamedWire#154",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "S0"
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "_OEY"
+          "compName": "GUISplitter#9",
+          "pinName": "O3"
         },
-        "name": "unnamedWire#82",
+        "name": "unnamedWire#155",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y1"
+          "compName": "DeserializedSubmodelComponent#13",
+          "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_1"
+          "compName": "_submodelinterface",
+          "pinName": "Cx"
         },
-        "name": "unnamedWire#85",
+        "name": "unnamedWire#152",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "DeserializedSubmodelComponent#13",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "GUITriStateBuffer#0",
-          "pinName": "EN"
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#84",
+        "name": "unnamedWire#153",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y3"
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_3"
+          "compName": "_submodelinterface",
+          "pinName": "SIOn"
         },
-        "name": "unnamedWire#87",
+        "name": "unnamedWire#158",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_2"
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y2"
+          "compName": "_submodelinterface",
+          "pinName": "SIO0"
         },
-        "name": "unnamedWire#86",
+        "name": "unnamedWire#159",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y1"
+          "compName": "DeserializedSubmodelComponent#14",
+          "pinName": "Y"
         },
         "pin2": {
-          "compName": "GUIMerger#3",
-          "pinName": "I0"
+          "compName": "_submodelinterface",
+          "pinName": "C0"
         },
-        "name": "unnamedWire#89",
+        "name": "unnamedWire#156",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I1_4"
+          "compName": "_submodelinterface",
+          "pinName": "QIOn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "Y4"
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
         },
-        "name": "unnamedWire#88",
+        "name": "unnamedWire#157",
         "path": []
       },
       {
@@ -1832,13 +3341,13 @@ mograsim version: 0.1.3
       },
       {
         "pin1": {
-          "compName": "GUISplitter#8",
-          "pinName": "O1"
-        },
-        "pin2": {
           "compName": "DeserializedSubmodelComponent#11",
           "pinName": "I1"
         },
+        "pin2": {
+          "compName": "WireCrossPoint#22",
+          "pinName": ""
+        },
         "name": "unnamedWire#143",
         "path": []
       },
@@ -1914,18 +3423,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#142",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUIMerger#3",
-          "pinName": "I1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y2"
-        },
-        "name": "unnamedWire#90",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#11",
@@ -1950,18 +3447,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#148",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUIMerger#3",
-          "pinName": "I3"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y4"
-        },
-        "name": "unnamedWire#92",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#10",
@@ -1974,18 +3459,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#145",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "Y3"
-        },
-        "pin2": {
-          "compName": "GUIMerger#3",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#91",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#9",
@@ -2010,18 +3483,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#1",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "Y_MUX"
-        },
-        "pin2": {
-          "compName": "GUISplitter#2",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#94",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "_submodelinterface",
@@ -2043,30 +3504,6 @@ mograsim version: 0.1.3
           }
         ]
       },
-      {
-        "pin1": {
-          "compName": "GUIMerger#3",
-          "pinName": "O"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#14",
-          "pinName": ""
-        },
-        "name": "unnamedWire#93",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUISplitter#2",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#96",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#9",
@@ -2079,18 +3516,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#149",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUISplitter#2",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#95",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUIMerger#0",
@@ -2115,18 +3540,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#10",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I0_2"
-        },
-        "pin2": {
-          "compName": "GUISplitter#3",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#98",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#0",
@@ -2139,18 +3552,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#4",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUISplitter#3",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I0_1"
-        },
-        "name": "unnamedWire#97",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "_submodelinterface",
@@ -2169,82 +3570,34 @@ mograsim version: 0.1.3
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "GUIMerger#1",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#12",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUIMerger#1",
-          "pinName": "I1"
-        },
-        "pin2": {
-          "compName": "GUISplitter#0",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#11",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "muSR_OVRRET"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "OVRRET"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
-          "pinName": "I0_3"
-        },
-        "pin2": {
-          "compName": "GUISplitter#3",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#99",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#2",
-          "pinName": "B"
-        },
-        "pin2": {
-          "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "muSR_WEN"
+          "compName": "GUIMerger#1",
+          "pinName": "I2"
         },
-        "name": "unnamedWire#58",
+        "name": "unnamedWire#12",
         "path": []
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_CEM"
+          "compName": "GUIMerger#1",
+          "pinName": "I1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
+          "compName": "GUISplitter#0",
+          "pinName": "O7"
         },
-        "name": "unnamedWire#57",
+        "name": "unnamedWire#11",
         "path": []
       },
       {
         "pin1": {
           "compName": "GUIAm2904RegCTInstrDecode#0",
-          "pinName": "muSR_WEOVR"
+          "pinName": "muSR_OVRRET"
         },
         "pin2": {
-          "compName": "GUINandGate#3",
-          "pinName": "B"
+          "compName": "DeserializedSubmodelComponent#1",
+          "pinName": "OVRRET"
         },
-        "name": "unnamedWire#59",
+        "name": "unnamedWire#2",
         "path": []
       },
       {
@@ -2325,8 +3678,8 @@ mograsim version: 0.1.3
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
-          "pinName": "A"
+          "compName": "WireCrossPoint#28",
+          "pinName": ""
         },
         "name": "unnamedWire#134",
         "path": []
@@ -2337,46 +3690,10 @@ mograsim version: 0.1.3
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#135",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#7",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#61",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "GUINandGate#6",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#60",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#9",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#27",
           "pinName": ""
         },
-        "name": "unnamedWire#63",
+        "name": "unnamedWire#135",
         "path": []
       },
       {
@@ -2391,18 +3708,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#138",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "GUINandGate#8",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#62",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#0",
@@ -2415,78 +3720,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#139",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#65",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "name": "unnamedWire#64",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EN"
-        },
-        "pin2": {
-          "compName": "GUINandGate#7",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#67",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#6",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EOVR"
-        },
-        "name": "unnamedWire#66",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#9",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EZ"
-        },
-        "name": "unnamedWire#69",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "GUINandGate#8",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "_EC"
-        },
-        "name": "unnamedWire#68",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#6",
@@ -2547,18 +3780,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#126",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUINandGate#1",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "name": "unnamedWire#70",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#9",
@@ -2583,18 +3804,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#124",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "GUINandGate#8",
-          "pinName": "B"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y2"
-        },
-        "name": "unnamedWire#72",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "DeserializedSubmodelComponent#7",
@@ -2607,30 +3816,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#129",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y1"
-        },
-        "pin2": {
-          "compName": "GUINandGate#9",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#71",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y4"
-        },
-        "pin2": {
-          "compName": "GUINandGate#6",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#74",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUISplitter#6",
@@ -2643,18 +3828,6 @@ mograsim version: 0.1.3
         "name": "unnamedWire#127",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "Y3"
-        },
-        "pin2": {
-          "compName": "GUINandGate#7",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#73",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "GUIAm2904RegCTInstrDecode#0",
@@ -2666,54 +3839,6 @@ mograsim version: 0.1.3
         },
         "name": "unnamedWire#128",
         "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_EC"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A2"
-        },
-        "name": "unnamedWire#76",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A1"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "_EZ"
-        },
-        "name": "unnamedWire#75",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_EOVR"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A4"
-        },
-        "name": "unnamedWire#78",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
-          "pinName": "A3"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "_EN"
-        },
-        "name": "unnamedWire#77",
-        "path": []
       }
     ]
   },
index e327915..e2dee42 100644 (file)
@@ -175,7 +175,9 @@ public final class Editor
 
        public static String getIdentifier(GUIComponent c)
        {
-               return identifierPerComponent.get(c);
+               if (identifierPerComponent.containsKey(c))
+                       return identifierPerComponent.get(c);
+               return "class:" + c.getClass().getCanonicalName();
        }
 
        public void duplicate()
index 6d951af..412313e 100644 (file)
@@ -54,12 +54,7 @@ public class SaveLoadManager
                try
                {
                        IdentifierGetter idGetter = new IdentifierGetter();
-                       idGetter.componentIDs = c ->
-                       {
-                               if (Editor.identifierPerComponent.containsKey(c))
-                                       return Editor.identifierPerComponent.get(c);
-                               return getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true);
-                       };
+                       idGetter.componentIDs = c -> getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true);
                        idGetter.symbolRendererIDs = h -> getStandardID(h,
                                        SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getStandardSnippetIDs());
                        idGetter.outlineRendererIDs = h -> getStandardID(h,