Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
authorFabian Stemmler <stemmler@in.tum.de>
Mon, 9 Sep 2019 15:30:17 +0000 (17:30 +0200)
committerFabian Stemmler <stemmler@in.tum.de>
Mon, 9 Sep 2019 15:30:17 +0000 (17:30 +0200)
33 files changed:
SWTHelper
net.mograsim.logic.core/src/net/mograsim/logic/core/wires/CoreWire.java
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2901/Am2901.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2904/Am2904.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2904/Am2904MSR.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2904/Am2904TestLogic.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2904/Am2904muSR.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2910/Am2910.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff12_we.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff16_invwe.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4_invwe.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux1_12.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux1_16.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux2.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux2_4.json [deleted file]
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux3.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/sel1.json
net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/standardComponentIDMapping.json
net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ModelComponentTestbench.java
net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ReserializeJSONsSettingUsages.java
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.json [new file with mode: 0644]
net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904Impl.java
net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java
net.mograsim.logic.model/src/net/mograsim/logic/model/model/LogicModel.java
net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/ModelComponent.java
net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/LegacySubmodelComponentSerializer.java
net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/LogicModelSerializer.java
net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java
net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java
net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java
net.mograsim.plugin.feature/feature.xml

index 675171d..7857458 160000 (submodule)
--- a/SWTHelper
+++ b/SWTHelper
@@ -1 +1 @@
-Subproject commit 675171d7c711e4d699b44c40d2b68d18709b7b90
+Subproject commit 7857458991642e998c691d9b65d5a9bf7f7bbfae
index 7d81f6d..8b71a0c 100644 (file)
@@ -445,6 +445,7 @@ public class CoreWire
                        feedSignals(BitVector.of(newValues));
                }
 
+               // TODO what if this is called multiple times at the same simulation time? (happens in component unit tests)
                public void feedSignals(BitVector newValues)
                {
                        if (newValues.length() != width)
index 8b6e7fb..7afc8a7 100644 (file)
@@ -5,21 +5,9 @@
   "innerScale": 0.4,
   "submodel": {
     "components": [
-      {
-        "id": "Clock",
-        "name": "Clock#0",
-        "pos": {
-          "x": 155.0,
-          "y": 246.0
-        },
-        "params": {
-          "delta": 1000,
-          "orientation": "DOWN"
-        }
-      },
       {
         "id": "Am2901",
-        "name": "DeserializedSubmodelComponent#0",
+        "name": "Am2901#0",
         "pos": {
           "x": 420.0,
           "y": 240.0
       },
       {
         "id": "Am2901",
-        "name": "DeserializedSubmodelComponent#1",
+        "name": "Am2901#1",
         "pos": {
           "x": 485.0,
           "y": 240.0
         }
       },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 320.0,
-          "y": 15.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 320.0,
-          "y": 120.0
-        }
-      },
-      {
-        "id": "dff12_we",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 290.0,
-          "y": 485.0
-        }
-      },
-      {
-        "id": "mux1_12",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 170.0,
-          "y": 495.0
-        }
-      },
       {
         "id": "Am2901",
-        "name": "DeserializedSubmodelComponent#2",
+        "name": "Am2901#2",
         "pos": {
           "x": 550.0,
           "y": 240.0
@@ -75,7 +31,7 @@
       },
       {
         "id": "Am2901",
-        "name": "DeserializedSubmodelComponent#3",
+        "name": "Am2901#3",
         "pos": {
           "x": 615.0,
           "y": 240.0
@@ -83,7 +39,7 @@
       },
       {
         "id": "Am2904",
-        "name": "DeserializedSubmodelComponent#4",
+        "name": "Am2904#0",
         "pos": {
           "x": 240.0,
           "y": 241.0
       },
       {
         "id": "Am2910",
-        "name": "DeserializedSubmodelComponent#5",
+        "name": "Am2910#0",
         "pos": {
           "x": 100.0,
           "y": 351.0
         }
       },
       {
-        "id": "and",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 665.0,
-          "y": 501.0
-        }
-      },
-      {
-        "id": "and",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 550.0,
-          "y": 541.0
-        }
-      },
-      {
-        "id": "and",
-        "name": "DeserializedSubmodelComponent#8",
-        "pos": {
-          "x": 730.0,
-          "y": 526.0
-        }
-      },
-      {
-        "id": "dff16_invwe",
-        "name": "DeserializedSubmodelComponent#9",
+        "id": "Clock",
+        "name": "Clock#0",
         "pos": {
-          "x": 135.0,
-          "y": 106.0
+          "x": 155.0,
+          "y": 246.0
+        },
+        "params": {
+          "delta": 1000,
+          "orientation": "DOWN"
         }
       },
       {
       },
       {
         "id": "FixedOutput",
-        "name": "FixedOutput#11",
+        "name": "FixedOutput#2",
         "pos": {
-          "x": 210.0,
-          "y": 281.0
+          "x": 70.0,
+          "y": 346.0
         },
         "params": {
           "bits": [
-            "ZERO"
+            "ONE"
           ]
         }
       },
         "id": "FixedOutput",
         "name": "FixedOutput#3",
         "pos": {
-          "x": 70.0,
-          "y": 346.0
+          "x": 175.0,
+          "y": 396.0
         },
         "params": {
           "bits": [
       },
       {
         "id": "FixedOutput",
-        "name": "FixedOutput#5",
+        "name": "FixedOutput#4",
         "pos": {
-          "x": 175.0,
-          "y": 396.0
+          "x": 140.0,
+          "y": 431.0
         },
         "params": {
           "bits": [
-            "ONE"
+            "ZERO"
           ]
         }
       },
       {
         "id": "FixedOutput",
-        "name": "FixedOutput#7",
+        "name": "FixedOutput#5",
         "pos": {
-          "x": 140.0,
-          "y": 431.0
+          "x": 210.0,
+          "y": 316.0
         },
         "params": {
           "bits": [
       },
       {
         "id": "FixedOutput",
-        "name": "FixedOutput#9",
+        "name": "FixedOutput#6",
         "pos": {
           "x": 210.0,
-          "y": 316.0
+          "y": 281.0
         },
         "params": {
           "bits": [
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "pos": {
-          "x": 200.0,
+          "x": 199.0,
           "y": 236.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#1",
         "pos": {
-          "x": 400.0,
+          "x": 399.0,
           "y": 231.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#10",
         "pos": {
-          "x": 415.0,
-          "y": 220.0
+          "x": 414.0,
+          "y": 219.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#11",
         "pos": {
-          "x": 410.0,
-          "y": 225.0
+          "x": 409.0,
+          "y": 224.0
         },
         "params": 4
       },
         "name": "WireCrossPoint#12",
         "pos": {
           "x": 266.0,
-          "y": 555.0
+          "y": 554.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#13",
         "pos": {
-          "x": 245.0,
-          "y": 490.0
+          "x": 244.0,
+          "y": 489.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#14",
         "pos": {
-          "x": 355.0,
-          "y": 505.0
+          "x": 354.0,
+          "y": 504.0
         },
         "params": 12
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#2",
         "pos": {
-          "x": 470.0,
+          "x": 469.0,
           "y": 231.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#3",
         "pos": {
-          "x": 535.0,
+          "x": 534.0,
           "y": 231.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#4",
         "pos": {
-          "x": 230.0,
+          "x": 229.0,
           "y": 176.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#5",
         "pos": {
-          "x": 235.0,
+          "x": 234.0,
           "y": 281.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#6",
         "pos": {
-          "x": 525.0,
-          "y": 225.0
+          "x": 524.0,
+          "y": 224.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#7",
         "pos": {
-          "x": 530.0,
-          "y": 220.0
+          "x": 529.0,
+          "y": 219.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#8",
         "pos": {
-          "x": 465.0,
-          "y": 220.0
+          "x": 464.0,
+          "y": 219.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#9",
         "pos": {
-          "x": 460.0,
-          "y": 225.0
+          "x": 459.0,
+          "y": 224.0
         },
         "params": 4
       },
+      {
+        "id": "and",
+        "name": "and#0",
+        "pos": {
+          "x": 665.0,
+          "y": 501.0
+        }
+      },
+      {
+        "id": "and",
+        "name": "and#1",
+        "pos": {
+          "x": 550.0,
+          "y": 541.0
+        }
+      },
+      {
+        "id": "and",
+        "name": "and#2",
+        "pos": {
+          "x": 730.0,
+          "y": 526.0
+        }
+      },
+      {
+        "id": "dff12_we",
+        "name": "dff12_we#0",
+        "pos": {
+          "x": 290.0,
+          "y": 485.0
+        }
+      },
+      {
+        "id": "dff16_invwe",
+        "name": "dff16_invwe#0",
+        "pos": {
+          "x": 135.0,
+          "y": 106.0
+        }
+      },
       {
         "id": "inc12",
         "name": "inc12#0",
           "x": 245.0,
           "y": 525.0
         }
+      },
+      {
+        "id": "mux1_12",
+        "name": "mux1_12#0",
+        "pos": {
+          "x": 170.0,
+          "y": 495.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#0",
+        "pos": {
+          "x": 320.0,
+          "y": 15.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#1",
+        "pos": {
+          "x": 320.0,
+          "y": 120.0
+        }
       }
     ],
     "wires": [
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "CT"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "Am2910#0",
           "pinName": "_CC"
         },
         "name": "unnamedWire#0",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "Qn+3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "Qn"
         },
         "name": "unnamedWire#1",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "QIOn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "Qn+3"
         },
         "name": "unnamedWire#10",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "B0"
         },
         "pin2": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "A3"
         },
         "name": "unnamedWire#101",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "A2"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "A1"
         },
         "name": "unnamedWire#103",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "A0"
         },
         "pin2": {
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "A0"
         },
         "name": "unnamedWire#105",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "A1"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "A2"
         },
         "name": "unnamedWire#107",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "A3"
         },
         "pin2": {
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "B0"
         },
         "name": "unnamedWire#109",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "IN"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "F3"
         },
         "name": "unnamedWire#11",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "B1"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "B2"
         },
         "name": "unnamedWire#111",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "B3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "F\u003d0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "and#1",
           "pinName": "B"
         },
         "name": "unnamedWire#12",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff12_we#0",
           "pinName": "WE"
         },
         "name": "unnamedWire#127",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff12_we#0",
           "pinName": "D"
         },
         "name": "unnamedWire#128",
           "pinName": "A"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1_12#0",
           "pinName": "Y"
         },
         "name": "unnamedWire#129",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "F\u003d0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "and#1",
           "pinName": "A"
         },
         "name": "unnamedWire#13",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1_12#0",
           "pinName": "I1"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1_12#0",
           "pinName": "S"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff12_we#0",
           "pinName": "Q"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "and#1",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "and#2",
           "pinName": "B"
         },
         "name": "unnamedWire#14",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "and#2",
           "pinName": "A"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "and#0",
           "pinName": "Y"
         },
         "name": "unnamedWire#15",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "and#0",
           "pinName": "B"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "F\u003d0"
         },
         "name": "unnamedWire#16",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "F\u003d0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "and#0",
           "pinName": "A"
         },
         "name": "unnamedWire#17",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "and#2",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "IZ"
         },
         "name": "unnamedWire#18",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "OVR"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "IOVR"
         },
         "name": "unnamedWire#19",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "RAMn+3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "RAMn"
         },
         "name": "unnamedWire#2",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "Cn+4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "IC"
         },
         "name": "unnamedWire#20",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "Cn+4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "Cn"
         },
         "name": "unnamedWire#21",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "Cn+4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "Cn"
         },
         "name": "unnamedWire#22",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "Cn+4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "Cn"
         },
         "name": "unnamedWire#23",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "C"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "C"
         },
         "name": "unnamedWire#26",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "C"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "C"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "Qn+3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "Qn"
         },
         "name": "unnamedWire#3",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "C"
         },
         "name": "unnamedWire#31",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "Cn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "C0"
         },
         "name": "unnamedWire#33",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "Am2910#0",
           "pinName": "C"
         },
         "pin2": {
           "pinName": "out"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "_OECT"
         },
         "name": "unnamedWire#35",
       },
       {
         "pin1": {
-          "compName": "FixedOutput#3",
+          "compName": "FixedOutput#2",
           "pinName": "out"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "Am2910#0",
           "pinName": "_RLD"
         },
         "name": "unnamedWire#36",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "Am2910#0",
           "pinName": "CI"
         },
         "pin2": {
-          "compName": "FixedOutput#5",
+          "compName": "FixedOutput#3",
           "pinName": "out"
         },
         "name": "unnamedWire#37",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "Am2910#0",
           "pinName": "_OE"
         },
         "pin2": {
-          "compName": "FixedOutput#7",
+          "compName": "FixedOutput#4",
           "pinName": "out"
         },
         "name": "unnamedWire#38",
       },
       {
         "pin1": {
-          "compName": "FixedOutput#9",
+          "compName": "FixedOutput#5",
           "pinName": "out"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "_SE"
         },
         "name": "unnamedWire#39",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "RAMn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "RAMn+3"
         },
         "name": "unnamedWire#4",
       },
       {
         "pin1": {
-          "compName": "FixedOutput#11",
+          "compName": "FixedOutput#6",
           "pinName": "out"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "_EZ"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "_EOVR"
         },
         "name": "unnamedWire#42",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "_EC"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "_EN"
         },
         "name": "unnamedWire#44",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff16_invwe#0",
           "pinName": "Q"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "RAMn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "RAMn+3"
         },
         "name": "unnamedWire#5",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "Qn+3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "Qn"
         },
         "name": "unnamedWire#6",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#63",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "I0_2"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#65",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#66",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#67",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "I0_2"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#69",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "Qn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "QIO0"
         },
         "name": "unnamedWire#7",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#70",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "Y1"
         },
         "pin2": {
           "pinName": "I2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "Y2"
         },
         "name": "unnamedWire#74",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "Y3"
         },
         "pin2": {
           "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "mux1_4#0",
           "pinName": "Y4"
         },
         "name": "unnamedWire#76",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "Y1"
         },
         "pin2": {
           "pinName": "I2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "Y2"
         },
         "name": "unnamedWire#78",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "Y3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "SIO0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "RAMn"
         },
         "name": "unnamedWire#8",
           "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1_4#1",
           "pinName": "Y4"
         },
         "name": "unnamedWire#80",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "B3"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "B2"
         },
         "name": "unnamedWire#82",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "B1"
         },
         "pin2": {
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "B0"
         },
         "name": "unnamedWire#84",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "A3"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "A2"
         },
         "name": "unnamedWire#86",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "A1"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2901#0",
           "pinName": "A0"
         },
         "pin2": {
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "A0"
         },
         "name": "unnamedWire#89",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "Am2904#0",
           "pinName": "SIOn"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "Am2901#3",
           "pinName": "RAMn+3"
         },
         "name": "unnamedWire#9",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "A1"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "A2"
         },
         "name": "unnamedWire#91",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "A3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "B0"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "B1"
         },
         "name": "unnamedWire#94",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "B2"
         },
         "pin2": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2901#1",
           "pinName": "B3"
         },
         "name": "unnamedWire#96",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "B3"
         },
         "name": "unnamedWire#97",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "B2"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "Am2901#2",
           "pinName": "B1"
         },
         "name": "unnamedWire#99",
   },
   "symbolRendererSnippetID": "simpleRectangularLike",
   "symbolRendererParams": {
-    "centerText": "_rsLatch",
+    "centerText": "Am2900",
     "centerTextHeight": 5.0,
     "horizontalComponentCenter": 17.5,
     "pinLabelHeight": 3.5,
index e3e7243..2dd6a59 100644 (file)
       },
       {
         "id": "TriStateBuffer",
-        "name": "TriStateBuffer#3",
+        "name": "TriStateBuffer#2",
         "pos": {
           "x": 300.0,
           "y": 2515.0
       },
       {
         "id": "TriStateBuffer",
-        "name": "TriStateBuffer#4",
+        "name": "TriStateBuffer#3",
         "pos": {
           "x": 300.0,
           "y": 2310.0
           "pinName": ""
         },
         "pin2": {
-          "compName": "TriStateBuffer#3",
+          "compName": "TriStateBuffer#2",
           "pinName": "IN"
         },
         "name": "unnamedWire#135",
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#3",
+          "compName": "TriStateBuffer#2",
           "pinName": "OUT"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#3",
+          "compName": "TriStateBuffer#2",
           "pinName": "EN"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "TriStateBuffer#4",
+          "compName": "TriStateBuffer#3",
           "pinName": "IN"
         },
         "name": "unnamedWire#171",
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#4",
+          "compName": "TriStateBuffer#3",
           "pinName": "OUT"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "TriStateBuffer#4",
+          "compName": "TriStateBuffer#3",
           "pinName": "EN"
         },
         "name": "unnamedWire#95",
index 64a8478..836fe5c 100644 (file)
@@ -1,11 +1,11 @@
 {
   "width": 120.0,
-  "height": 178.0,
+  "height": 155.0,
   "interfacePins": [
     {
       "location": {
-        "x": 0.0,
-        "y": 5.0
+        "x": 55.0,
+        "y": 0.0
       },
       "name": "C",
       "logicWidth": 1,
@@ -14,7 +14,7 @@
     {
       "location": {
         "x": 120.0,
-        "y": 108.0
+        "y": 85.0
       },
       "name": "C0",
       "logicWidth": 1,
@@ -23,7 +23,7 @@
     {
       "location": {
         "x": 120.0,
-        "y": 60.0
+        "y": 55.0
       },
       "name": "CT",
       "logicWidth": 1,
@@ -32,7 +32,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 110.0
+        "y": 85.0
       },
       "name": "Cx",
       "logicWidth": 1,
@@ -41,7 +41,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 61.0
+        "y": 45.0
       },
       "name": "I",
       "logicWidth": 13,
@@ -86,7 +86,7 @@
     {
       "location": {
         "x": 120.0,
-        "y": 128.0
+        "y": 125.0
       },
       "name": "QIO0",
       "logicWidth": 1,
@@ -95,7 +95,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 128.0
+        "y": 125.0
       },
       "name": "QIOn",
       "logicWidth": 1,
     {
       "location": {
         "x": 120.0,
-        "y": 118.0
+        "y": 120.0
       },
       "name": "SIO0",
       "logicWidth": 1,
     {
       "location": {
         "x": 0.0,
-        "y": 119.0
+        "y": 120.0
       },
       "name": "SIOn",
       "logicWidth": 1,
     {
       "location": {
         "x": 120.0,
-        "y": 17.0
+        "y": 10.0
       },
       "name": "YC",
       "logicWidth": 1,
     {
       "location": {
         "x": 120.0,
-        "y": 21.0
+        "y": 15.0
       },
       "name": "YN",
       "logicWidth": 1,
     {
       "location": {
         "x": 120.0,
-        "y": 25.0
+        "y": 20.0
       },
       "name": "YOVR",
       "logicWidth": 1,
     {
       "location": {
         "x": 120.0,
-        "y": 11.0
+        "y": 5.0
       },
       "name": "YZ",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 30.0
+        "x": 5.0,
+        "y": 0.0
       },
       "name": "_CEM",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 33.0
+        "x": 45.0,
+        "y": 0.0
       },
       "name": "_CEmu",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 38.0
+        "x": 15.0,
+        "y": 0.0
       },
       "name": "_EC",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 40.0
+        "x": 20.0,
+        "y": 0.0
       },
       "name": "_EN",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 42.0
+        "x": 25.0,
+        "y": 0.0
       },
       "name": "_EOVR",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 0.0,
-        "y": 36.0
+        "x": 10.0,
+        "y": 0.0
       },
       "name": "_EZ",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 120.0,
-        "y": 51.0
+        "x": 110.0,
+        "y": 0.0
       },
       "name": "_OECT",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 61.0,
+        "x": 90.0,
         "y": 0.0
       },
       "name": "_OEY",
     {
       "location": {
         "x": 0.0,
-        "y": 83.0
+        "y": 110.0
       },
       "name": "_SE",
       "logicWidth": 1,
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "Am2904RegCTInstrDecode",
-        "name": "Am2904RegCTInstrDecode#0",
-        "pos": {
-          "x": 50.0,
-          "y": 240.0
-        }
-      },
-      {
-        "id": "Am2904ShiftInstrDecode",
-        "name": "Am2904ShiftInstrDecode#0",
-        "pos": {
-          "x": 50.0,
-          "y": 360.0
-        }
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#0",
-        "pos": {
-          "x": 530.0,
-          "y": 70.0
-        },
-        "params": 4
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#1",
-        "pos": {
-          "x": 565.0,
-          "y": 180.0
-        },
-        "params": 4
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#2",
-        "pos": {
-          "x": 530.0,
-          "y": 200.0
-        },
-        "params": 4
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#3",
-        "pos": {
-          "x": 560.0,
-          "y": 150.0
-        },
-        "params": 1
-      },
       {
         "id": "Am2904MSR",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 225.0,
-          "y": 95.0
-        }
-      },
-      {
-        "id": "Am2904muSR",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 270.0,
-          "y": 250.0
-        }
-      },
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 455.0,
-          "y": 355.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 265.0,
-          "y": 515.0
-        }
-      },
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 315.0,
-          "y": 505.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 365.0,
-          "y": 485.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 415.0,
-          "y": 465.0
-        }
-      },
-      {
-        "id": "mux2",
-        "name": "DeserializedSubmodelComponent#15",
-        "pos": {
-          "x": 435.0,
-          "y": 575.0
-        }
-      },
-      {
-        "id": "mux2",
-        "name": "DeserializedSubmodelComponent#16",
-        "pos": {
-          "x": 435.0,
-          "y": 655.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#17",
-        "pos": {
-          "x": 190.0,
-          "y": 460.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#18",
-        "pos": {
-          "x": 135.0,
-          "y": 470.0
-        }
-      },
-      {
-        "id": "and",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 380.0,
-          "y": 125.0
-        }
-      },
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#21",
-        "pos": {
-          "x": 250.0,
-          "y": 820.0
-        }
-      },
-      {
-        "id": "mux2",
-        "name": "DeserializedSubmodelComponent#22",
+        "name": "Am2904MSR#0",
         "pos": {
-          "x": 120.0,
-          "y": 720.0
-        }
-      },
-      {
-        "id": "mux3",
-        "name": "DeserializedSubmodelComponent#23",
-        "pos": {
-          "x": 300.0,
-          "y": 715.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#3",
-        "pos": {
-          "x": 470.0,
-          "y": 160.0
+          "x": 205.0,
+          "y": 90.0
         }
       },
       {
-        "id": "not4",
-        "name": "DeserializedSubmodelComponent#4",
+        "id": "Am2904RegCTInstrDecode",
+        "name": "Am2904RegCTInstrDecode#0",
         "pos": {
-          "x": 135.0,
-          "y": 40.0
+          "x": 180.0,
+          "y": 190.0
         }
       },
       {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#5",
+        "id": "Am2904ShiftInstrDecode",
+        "name": "Am2904ShiftInstrDecode#0",
         "pos": {
-          "x": 415.0,
-          "y": 210.0
+          "x": 100.0,
+          "y": 495.0
         }
       },
       {
         "id": "Am2904TestLogic",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 225.0,
-          "y": 340.0
-        }
-      },
-      {
-        "id": "mux3",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 300.0,
-          "y": 310.0
-        }
-      },
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#8",
+        "name": "Am2904TestLogic#0",
         "pos": {
-          "x": 495.0,
-          "y": 295.0
+          "x": 260.0,
+          "y": 330.0
         }
       },
       {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#9",
+        "id": "Am2904muSR",
+        "name": "Am2904muSR#0",
         "pos": {
-          "x": 450.0,
-          "y": 310.0
+          "x": 350.0,
+          "y": 95.0
         }
       },
       {
         "id": "Merger",
         "name": "Merger#0",
         "pos": {
-          "x": 25.0,
-          "y": 315.0
+          "x": 20.0,
+          "y": 235.0
         },
         "params": 6
       },
         "id": "Merger",
         "name": "Merger#1",
         "pos": {
-          "x": 25.0,
-          "y": 265.0
+          "x": 20.0,
+          "y": 185.0
         },
         "params": 5
       },
         "id": "Merger",
         "name": "Merger#3",
         "pos": {
-          "x": 510.0,
-          "y": 165.0
+          "x": 520.0,
+          "y": 90.0
         },
         "params": 4
       },
         "id": "Merger",
         "name": "Merger#4",
         "pos": {
-          "x": 25.0,
-          "y": 245.0
+          "x": 20.0,
+          "y": 165.0
         },
         "params": 2
       },
         "id": "NandGate",
         "name": "NandGate#0",
         "pos": {
-          "x": 190.0,
-          "y": 145.0
+          "x": 230.0,
+          "y": 10.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#1",
         "pos": {
-          "x": 130.0,
+          "x": 140.0,
           "y": 5.0
         },
         "params": 1
         "id": "NandGate",
         "name": "NandGate#10",
         "pos": {
-          "x": 340.0,
-          "y": 120.0
+          "x": 455.0,
+          "y": 55.0
         },
         "params": 1
       },
       {
         "id": "NandGate",
-        "name": "NandGate#12",
+        "name": "NandGate#11",
         "pos": {
-          "x": 540.0,
-          "y": 265.0
+          "x": 555.0,
+          "y": 235.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#2",
         "pos": {
-          "x": 225.0,
-          "y": 195.0
+          "x": 325.0,
+          "y": 55.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#3",
         "pos": {
-          "x": 225.0,
-          "y": 215.0
+          "x": 325.0,
+          "y": 75.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#4",
         "pos": {
-          "x": 225.0,
-          "y": 155.0
+          "x": 325.0,
+          "y": 15.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#5",
         "pos": {
-          "x": 225.0,
-          "y": 175.0
+          "x": 325.0,
+          "y": 35.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#6",
         "pos": {
-          "x": 205.0,
+          "x": 185.0,
           "y": 70.0
         },
         "params": 1
         "id": "NandGate",
         "name": "NandGate#7",
         "pos": {
-          "x": 205.0,
+          "x": 185.0,
           "y": 50.0
         },
         "params": 1
         "id": "NandGate",
         "name": "NandGate#8",
         "pos": {
-          "x": 205.0,
+          "x": 185.0,
           "y": 30.0
         },
         "params": 1
         "id": "NandGate",
         "name": "NandGate#9",
         "pos": {
-          "x": 205.0,
+          "x": 185.0,
           "y": 10.0
         },
         "params": 1
         "id": "Splitter",
         "name": "Splitter#0",
         "pos": {
-          "x": 10.0,
-          "y": 245.0
+          "x": 5.0,
+          "y": 165.0
         },
         "params": 13
       },
         "id": "Splitter",
         "name": "Splitter#1",
         "pos": {
-          "x": 555.0,
-          "y": 80.0
+          "x": 575.0,
+          "y": 40.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#10",
         "pos": {
-          "x": 420.0,
-          "y": 410.0
+          "x": 445.0,
+          "y": 300.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#11",
         "pos": {
-          "x": 405.0,
-          "y": 585.0
+          "x": 455.0,
+          "y": 635.0
         },
         "params": 3
       },
         "id": "Splitter",
         "name": "Splitter#12",
         "pos": {
-          "x": 410.0,
-          "y": 665.0
+          "x": 455.0,
+          "y": 710.0
         },
         "params": 3
       },
         "id": "Splitter",
         "name": "Splitter#13",
         "pos": {
-          "x": 265.0,
-          "y": 725.0
+          "x": 135.0,
+          "y": 645.0
         },
         "params": 3
       },
         "id": "Splitter",
         "name": "Splitter#14",
         "pos": {
-          "x": 90.0,
-          "y": 730.0
+          "x": 310.0,
+          "y": 645.0
         },
         "params": 3
       },
         "id": "Splitter",
         "name": "Splitter#15",
         "pos": {
-          "x": 120.0,
-          "y": 455.0
+          "x": 430.0,
+          "y": 535.0
         },
         "params": 2
       },
         "id": "Splitter",
         "name": "Splitter#2",
         "pos": {
-          "x": 395.0,
-          "y": 195.0
+          "x": 440.0,
+          "y": 90.0
         },
         "params": 2
       },
         "id": "Splitter",
         "name": "Splitter#3",
         "pos": {
-          "x": 450.0,
-          "y": 175.0
+          "x": 465.0,
+          "y": 100.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#4",
         "pos": {
-          "x": 395.0,
-          "y": 225.0
+          "x": 425.0,
+          "y": 150.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#5",
         "pos": {
-          "x": 395.0,
-          "y": 265.0
+          "x": 425.0,
+          "y": 190.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#6",
         "pos": {
-          "x": 285.0,
-          "y": 320.0
+          "x": 320.0,
+          "y": 310.0
         },
         "params": 3
       },
         "id": "Splitter",
         "name": "Splitter#7",
         "pos": {
-          "x": 420.0,
-          "y": 325.0
+          "x": 445.0,
+          "y": 340.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#8",
         "pos": {
-          "x": 420.0,
-          "y": 365.0
+          "x": 445.0,
+          "y": 380.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#9",
         "pos": {
-          "x": 240.0,
-          "y": 475.0
+          "x": 255.0,
+          "y": 430.0
         },
         "params": 4
       },
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#0",
         "pos": {
-          "x": 535.0,
-          "y": 165.0
+          "x": 540.0,
+          "y": 70.0
         },
         "params": {
           "logicWidth": 4,
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#1",
         "pos": {
-          "x": 10.0,
-          "y": 650.0
+          "x": 400.0,
+          "y": 635.0
         },
         "params": {
           "logicWidth": 1,
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#2",
         "pos": {
-          "x": 10.0,
-          "y": 605.0
+          "x": 240.0,
+          "y": 635.0
         },
         "params": {
           "logicWidth": 1,
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#3",
         "pos": {
-          "x": 560.0,
-          "y": 595.0
+          "x": 550.0,
+          "y": 625.0
         },
         "params": {
           "logicWidth": 1,
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#4",
         "pos": {
-          "x": 565.0,
-          "y": 655.0
+          "x": 550.0,
+          "y": 650.0
         },
         "params": {
           "logicWidth": 1,
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#5",
         "pos": {
-          "x": 560.0,
-          "y": 290.0
+          "x": 575.0,
+          "y": 265.0
         },
         "params": {
           "logicWidth": 1,
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "pos": {
-          "x": 165.0,
-          "y": 150.0
+          "x": 274.0,
+          "y": 59.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#1",
         "pos": {
-          "x": 180.0,
-          "y": 135.0
+          "x": 189.0,
+          "y": 139.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#10",
         "pos": {
-          "x": 195.0,
-          "y": 55.0
+          "x": 179.0,
+          "y": 54.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#11",
         "pos": {
-          "x": 195.0,
-          "y": 15.0
+          "x": 179.0,
+          "y": 14.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#12",
         "pos": {
-          "x": 195.0,
-          "y": 35.0
+          "x": 179.0,
+          "y": 34.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#13",
         "pos": {
-          "x": 330.0,
-          "y": 125.0
+          "x": 449.0,
+          "y": 59.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#14",
         "pos": {
-          "x": 520.0,
-          "y": 190.0
+          "x": 534.0,
+          "y": 104.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#15",
         "pos": {
-          "x": 255.0,
-          "y": 265.0
+          "x": 334.0,
+          "y": 174.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#16",
         "pos": {
-          "x": 255.0,
-          "y": 255.0
+          "x": 384.0,
+          "y": 164.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#17",
         "pos": {
-          "x": 360.0,
-          "y": 495.0
+          "x": 349.0,
+          "y": 439.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#18",
         "pos": {
-          "x": 35.0,
-          "y": 640.0
+          "x": 434.0,
+          "y": 674.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#19",
         "pos": {
-          "x": 35.0,
-          "y": 595.0
+          "x": 264.0,
+          "y": 619.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#2",
         "pos": {
-          "x": 295.0,
-          "y": 120.0
+          "x": 329.0,
+          "y": 124.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#20",
         "pos": {
-          "x": 585.0,
-          "y": 590.0
+          "x": 289.0,
+          "y": 609.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#21",
         "pos": {
-          "x": 585.0,
-          "y": 640.0
+          "x": 294.0,
+          "y": 614.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#22",
         "pos": {
-          "x": 250.0,
-          "y": 540.0
+          "x": 359.0,
+          "y": 514.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#23",
         "pos": {
-          "x": 330.0,
-          "y": 640.0
+          "x": 359.0,
+          "y": 594.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#24",
         "pos": {
-          "x": 285.0,
-          "y": 745.0
+          "x": 149.0,
+          "y": 664.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#25",
         "pos": {
-          "x": 285.0,
-          "y": 755.0
+          "x": 149.0,
+          "y": 674.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#26",
         "pos": {
-          "x": 290.0,
-          "y": 805.0
+          "x": 299.0,
+          "y": 584.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#27",
         "pos": {
-          "x": 440.0,
-          "y": 385.0
+          "x": 464.0,
+          "y": 399.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#28",
         "pos": {
-          "x": 440.0,
-          "y": 345.0
+          "x": 459.0,
+          "y": 349.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
+        "name": "WireCrossPoint#29",
         "pos": {
-          "x": 335.0,
-          "y": 270.0
+          "x": 559.0,
+          "y": 619.0
         },
-        "params": 4
+        "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#30",
+        "name": "WireCrossPoint#3",
         "pos": {
-          "x": 550.0,
-          "y": 570.0
+          "x": 404.0,
+          "y": 114.0
         },
-        "params": 1
+        "params": 4
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#32",
+        "name": "WireCrossPoint#30",
         "pos": {
-          "x": 85.0,
-          "y": 590.0
+          "x": 249.0,
+          "y": 629.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#33",
+        "name": "WireCrossPoint#31",
         "pos": {
-          "x": 530.0,
-          "y": 270.0
+          "x": 549.0,
+          "y": 239.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
+        "name": "WireCrossPoint#32",
         "pos": {
-          "x": 150.0,
-          "y": 160.0
+          "x": 404.0,
+          "y": 169.0
         },
-        "params": 1
+        "params": 4
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
+        "name": "WireCrossPoint#33",
         "pos": {
-          "x": 530.0,
-          "y": 100.0
+          "x": 389.0,
+          "y": 204.0
         },
         "params": 4
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
+        "name": "WireCrossPoint#34",
         "pos": {
-          "x": 120.0,
-          "y": 15.0
+          "x": 439.0,
+          "y": 684.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
+        "name": "WireCrossPoint#35",
         "pos": {
-          "x": 215.0,
-          "y": 180.0
+          "x": 429.0,
+          "y": 664.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
+        "name": "WireCrossPoint#36",
         "pos": {
-          "x": 215.0,
-          "y": 160.0
+          "x": 429.0,
+          "y": 619.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#37",
+        "pos": {
+          "x": 434.0,
+          "y": 644.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#38",
+        "pos": {
+          "x": 579.0,
+          "y": 609.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#39",
+        "pos": {
+          "x": 429.0,
+          "y": 609.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#4",
+        "pos": {
+          "x": 224.0,
+          "y": 14.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#40",
+        "pos": {
+          "x": 584.0,
+          "y": 624.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#41",
+        "pos": {
+          "x": 434.0,
+          "y": 614.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#5",
+        "pos": {
+          "x": 569.0,
+          "y": 54.0
+        },
+        "params": 4
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#6",
+        "pos": {
+          "x": 134.0,
+          "y": 19.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#7",
+        "pos": {
+          "x": 319.0,
+          "y": 39.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#8",
+        "pos": {
+          "x": 319.0,
+          "y": 19.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#9",
         "pos": {
-          "x": 215.0,
-          "y": 200.0
+          "x": 319.0,
+          "y": 59.0
         },
         "params": 1
+      },
+      {
+        "id": "and",
+        "name": "and#0",
+        "pos": {
+          "x": 495.0,
+          "y": 60.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#0",
+        "pos": {
+          "x": 495.0,
+          "y": 280.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#1",
+        "pos": {
+          "x": 275.0,
+          "y": 475.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#2",
+        "pos": {
+          "x": 355.0,
+          "y": 445.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#3",
+        "pos": {
+          "x": 395.0,
+          "y": 425.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#4",
+        "pos": {
+          "x": 490.0,
+          "y": 530.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#5",
+        "pos": {
+          "x": 445.0,
+          "y": 540.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#0",
+        "pos": {
+          "x": 480.0,
+          "y": 85.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#1",
+        "pos": {
+          "x": 440.0,
+          "y": 135.0
+        }
+      },
+      {
+        "id": "mux2",
+        "name": "mux2#0",
+        "pos": {
+          "x": 470.0,
+          "y": 625.0
+        }
+      },
+      {
+        "id": "mux2",
+        "name": "mux2#1",
+        "pos": {
+          "x": 470.0,
+          "y": 700.0
+        }
+      },
+      {
+        "id": "mux2",
+        "name": "mux2#2",
+        "pos": {
+          "x": 325.0,
+          "y": 635.0
+        }
+      },
+      {
+        "id": "mux3",
+        "name": "mux3#0",
+        "pos": {
+          "x": 335.0,
+          "y": 300.0
+        }
+      },
+      {
+        "id": "mux3",
+        "name": "mux3#1",
+        "pos": {
+          "x": 155.0,
+          "y": 635.0
+        }
+      },
+      {
+        "id": "not4",
+        "name": "not4#0",
+        "pos": {
+          "x": 130.0,
+          "y": 40.0
+        }
+      },
+      {
+        "id": "xor",
+        "name": "xor#0",
+        "pos": {
+          "x": 535.0,
+          "y": 270.0
+        }
+      },
+      {
+        "id": "xor",
+        "name": "xor#1",
+        "pos": {
+          "x": 475.0,
+          "y": 320.0
+        }
+      },
+      {
+        "id": "xor",
+        "name": "xor#2",
+        "pos": {
+          "x": 315.0,
+          "y": 465.0
+        }
+      },
+      {
+        "id": "xor",
+        "name": "xor#3",
+        "pos": {
+          "x": 115.0,
+          "y": 740.0
+        }
       }
     ],
     "wires": [
           "pinName": ""
         },
         "name": "unnamedWire#0",
-        "path": [
-          {
-            "x": 5.0,
-            "y": 25.0
-          },
-          {
-            "x": 5.0,
-            "y": 10.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
           "pinName": "muSR_MUX"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "MUX"
         },
         "name": "unnamedWire#1",
-        "path": []
+        "path": [
+          {
+            "x": 325.0,
+            "y": 200.0
+          },
+          {
+            "x": 325.0,
+            "y": 115.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#100",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#102",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I0_2"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#104",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I0_4"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "Splitter#4",
-          "pinName": "I"
+          "compName": "WireCrossPoint#16",
+          "pinName": ""
         },
         "pin2": {
           "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "name": "unnamedWire#106",
-        "path": []
+        "path": [
+          {
+            "x": 330.0,
+            "y": 165.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I1_4"
         },
         "name": "unnamedWire#107",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I1_3"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I1_2"
         },
         "name": "unnamedWire#109",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "I1_1"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "Splitter#5",
+          "compName": "Splitter#7",
           "pinName": "I"
         },
         "pin2": {
-          "compName": "WireCrossPoint#1",
+          "compName": "WireCrossPoint#33",
           "pinName": ""
         },
         "name": "unnamedWire#111",
-        "path": []
+        "path": [
+          {
+            "x": 435.0,
+            "y": 355.0
+          },
+          {
+            "x": 435.0,
+            "y": 245.0
+          },
+          {
+            "x": 390.0,
+            "y": 245.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "IN"
         },
         "name": "unnamedWire#112",
-        "path": []
+        "path": [
+          {
+            "x": 535.0,
+            "y": 80.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "I"
         },
         "name": "unnamedWire#113",
-        "path": []
+        "path": [
+          {
+            "x": 535.0,
+            "y": 260.0
+          },
+          {
+            "x": 385.0,
+            "y": 260.0
+          },
+          {
+            "x": 385.0,
+            "y": 290.0
+          },
+          {
+            "x": 255.0,
+            "y": 290.0
+          },
+          {
+            "x": 255.0,
+            "y": 380.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y111"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I111"
         },
         "name": "unnamedWire#114",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I110"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y110"
         },
         "name": "unnamedWire#115",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y101"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I101"
         },
         "name": "unnamedWire#116",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I100"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y100"
         },
         "name": "unnamedWire#117",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y011"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I011"
         },
         "name": "unnamedWire#118",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y010"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I010"
         },
         "name": "unnamedWire#119",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I001"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y001"
         },
         "name": "unnamedWire#120",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "Am2904TestLogic#0",
           "pinName": "Y000"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "I000"
         },
         "name": "unnamedWire#121",
       },
       {
         "pin1": {
-          "compName": "NandGate#12",
+          "compName": "NandGate#11",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "EN"
         },
         "name": "unnamedWire#122",
-        "path": []
+        "path": [
+          {
+            "x": 585.0,
+            "y": 245.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "mux1#0",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "xor#0",
           "pinName": "B"
         },
         "name": "unnamedWire#123",
           "pinName": "CT_MUX"
         },
         "name": "unnamedWire#124",
-        "path": []
+        "path": [
+          {
+            "x": 210.0,
+            "y": 320.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#125",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "S1"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "S2"
         },
         "name": "unnamedWire#127",
           "pinName": "CT_EXP"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "mux1#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#128",
-        "path": []
+        "path": [
+          {
+            "x": 230.0,
+            "y": 285.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux3#0",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "mux1#0",
           "pinName": "I0"
         },
         "name": "unnamedWire#129",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Merger#1",
+        "path": [
+          {
+            "x": 420.0,
+            "y": 310.0
+          },
+          {
+            "x": 420.0,
+            "y": 295.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "Merger#1",
           "pinName": "I3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "xor#0",
           "pinName": "A"
         },
         "pin2": {
           "pinName": "CT_INV"
         },
         "name": "unnamedWire#130",
-        "path": []
+        "path": [
+          {
+            "x": 415.0,
+            "y": 275.0
+          },
+          {
+            "x": 415.0,
+            "y": 280.0
+          },
+          {
+            "x": 220.0,
+            "y": 280.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "xor#1",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "mux1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#131",
-        "path": []
+        "path": [
+          {
+            "x": 515.0,
+            "y": 325.0
+          },
+          {
+            "x": 515.0,
+            "y": 315.0
+          },
+          {
+            "x": 490.0,
+            "y": 315.0
+          },
+          {
+            "x": 490.0,
+            "y": 305.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "I"
         },
         "name": "unnamedWire#132",
-        "path": []
+        "path": [
+          {
+            "x": 335.0,
+            "y": 135.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#33",
           "pinName": ""
         },
         "pin2": {
-          "compName": "Splitter#7",
-          "pinName": "I"
+          "compName": "WireCrossPoint#15",
+          "pinName": ""
         },
         "name": "unnamedWire#133",
-        "path": []
+        "path": [
+          {
+            "x": 390.0,
+            "y": 175.0
+          }
+        ]
       },
       {
         "pin1": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#16",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "M"
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
         },
         "name": "unnamedWire#136",
         "path": []
           "pinName": "I"
         },
         "name": "unnamedWire#137",
-        "path": []
+        "path": [
+          {
+            "x": 385.0,
+            "y": 250.0
+          },
+          {
+            "x": 430.0,
+            "y": 250.0
+          },
+          {
+            "x": 430.0,
+            "y": 395.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "OEN"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "and#0",
           "pinName": "B"
         },
         "name": "unnamedWire#138",
-        "path": []
+        "path": [
+          {
+            "x": 240.0,
+            "y": 185.0
+          },
+          {
+            "x": 410.0,
+            "y": 185.0
+          },
+          {
+            "x": 410.0,
+            "y": 80.0
+          },
+          {
+            "x": 485.0,
+            "y": 80.0
+          },
+          {
+            "x": 485.0,
+            "y": 75.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "I12-11"
         },
         "name": "unnamedWire#141",
-        "path": []
+        "path": [
+          {
+            "x": 105.0,
+            "y": 170.0
+          },
+          {
+            "x": 105.0,
+            "y": 220.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "I"
         },
         "name": "unnamedWire#142",
-        "path": []
+        "path": [
+          {
+            "x": 250.0,
+            "y": 445.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1#1",
           "pinName": "I1"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#143",
-        "path": []
+        "path": [
+          {
+            "x": 270.0,
+            "y": 500.0
+          },
+          {
+            "x": 270.0,
+            "y": 515.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "Splitter#10",
-          "pinName": "I"
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
+          "compName": "Am2904MSR#0",
+          "pinName": "mu"
         },
         "name": "unnamedWire#144",
-        "path": []
+        "path": [
+          {
+            "x": 185.0,
+            "y": 170.0
+          },
+          {
+            "x": 185.0,
+            "y": 100.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1#1",
           "pinName": "I0"
         },
         "pin2": {
           "pinName": "O2"
         },
         "name": "unnamedWire#145",
-        "path": []
+        "path": [
+          {
+            "x": 265.0,
+            "y": 490.0
+          },
+          {
+            "x": 265.0,
+            "y": 510.0
+          },
+          {
+            "x": 480.0,
+            "y": 510.0
+          },
+          {
+            "x": 480.0,
+            "y": 350.0
+          },
+          {
+            "x": 470.0,
+            "y": 350.0
+          },
+          {
+            "x": 470.0,
+            "y": 310.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1#1",
           "pinName": "S0"
         },
         "name": "unnamedWire#146",
-        "path": []
+        "path": [
+          {
+            "x": 270.0,
+            "y": 450.0
+          },
+          {
+            "x": 270.0,
+            "y": 480.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "mux1#1",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "xor#2",
           "pinName": "B"
         },
         "name": "unnamedWire#147",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "xor#2",
           "pinName": "A"
         },
         "pin2": {
           "pinName": "O0"
         },
         "name": "unnamedWire#148",
-        "path": []
+        "path": [
+          {
+            "x": 290.0,
+            "y": 470.0
+          },
+          {
+            "x": 290.0,
+            "y": 460.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "I5-0"
         },
         "name": "unnamedWire#15",
-        "path": []
+        "path": [
+          {
+            "x": 105.0,
+            "y": 260.0
+          },
+          {
+            "x": 105.0,
+            "y": 240.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1#2",
           "pinName": "S0"
         },
         "name": "unnamedWire#150",
-        "path": []
+        "path": [
+          {
+            "x": 350.0,
+            "y": 450.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "xor#2",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1#2",
           "pinName": "I1"
         },
         "name": "unnamedWire#151",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1#2",
           "pinName": "I0"
         },
         "pin2": {
           "pinName": "Cx"
         },
         "name": "unnamedWire#152",
-        "path": []
+        "path": [
+          {
+            "x": 300.0,
+            "y": 460.0
+          },
+          {
+            "x": 300.0,
+            "y": 465.0
+          },
+          {
+            "x": 240.0,
+            "y": 465.0
+          },
+          {
+            "x": 240.0,
+            "y": 425.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "mux1#2",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "mux1#3",
           "pinName": "I1"
         },
         "name": "unnamedWire#153",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "mux1#3",
           "pinName": "I0"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "mux1#3",
           "pinName": "S0"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "mux1#3",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "C0"
         },
         "name": "unnamedWire#156",
-        "path": []
+        "path": [
+          {
+            "x": 560.0,
+            "y": 430.0
+          },
+          {
+            "x": 560.0,
+            "y": 425.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "QIOn"
+          "compName": "mux1#4",
+          "pinName": "I1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#18",
+          "compName": "WireCrossPoint#36",
           "pinName": ""
         },
         "name": "unnamedWire#157",
-        "path": []
+        "path": [
+          {
+            "x": 485.0,
+            "y": 555.0
+          },
+          {
+            "x": 485.0,
+            "y": 620.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "SIOn"
         },
         "name": "unnamedWire#158",
-        "path": []
+        "path": [
+          {
+            "x": 55.0,
+            "y": 620.0
+          },
+          {
+            "x": 55.0,
+            "y": 600.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#38",
           "pinName": ""
         },
         "pin2": {
           "pinName": "SIO0"
         },
         "name": "unnamedWire#159",
-        "path": []
+        "path": [
+          {
+            "x": 580.0,
+            "y": 600.0
+          }
+        ]
       },
       {
         "pin1": {
         "name": "unnamedWire#16",
         "path": [
           {
-            "x": 40.0,
-            "y": 385.0
+            "x": 75.0,
+            "y": 520.0
           },
           {
-            "x": 40.0,
-            "y": 285.0
+            "x": 75.0,
+            "y": 205.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "QIO0"
+          "compName": "mux1#5",
+          "pinName": "I1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#21",
+          "compName": "WireCrossPoint#41",
           "pinName": ""
         },
         "name": "unnamedWire#160",
-        "path": []
+        "path": [
+          {
+            "x": 435.0,
+            "y": 565.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#1",
-          "pinName": "OUT"
+          "compName": "WireCrossPoint#37",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#18",
-          "pinName": ""
+          "compName": "_submodelinterface",
+          "pinName": "QIOn"
         },
         "name": "unnamedWire#161",
-        "path": []
+        "path": [
+          {
+            "x": 435.0,
+            "y": 625.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#2",
+          "compName": "TriStateBuffer#3",
           "pinName": "OUT"
         },
         "pin2": {
-          "compName": "WireCrossPoint#19",
+          "compName": "WireCrossPoint#38",
           "pinName": ""
         },
         "name": "unnamedWire#162",
-        "path": []
+        "path": [
+          {
+            "x": 580.0,
+            "y": 635.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#3",
-          "pinName": "OUT"
+          "compName": "WireCrossPoint#38",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#39",
           "pinName": ""
         },
         "name": "unnamedWire#163",
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#4",
-          "pinName": "OUT"
+          "compName": "WireCrossPoint#41",
+          "pinName": ""
         },
         "pin2": {
           "compName": "WireCrossPoint#21",
           "pinName": "IN"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "mux2#0",
           "pinName": "Y"
         },
         "name": "unnamedWire#165",
           "pinName": "I"
         },
         "name": "unnamedWire#166",
-        "path": []
+        "path": [
+          {
+            "x": 165.0,
+            "y": 500.0
+          },
+          {
+            "x": 165.0,
+            "y": 575.0
+          },
+          {
+            "x": 450.0,
+            "y": 575.0
+          },
+          {
+            "x": 450.0,
+            "y": 645.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "mux2#0",
           "pinName": "I00"
         },
         "name": "unnamedWire#167",
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "mux2#0",
           "pinName": "S1"
         },
         "name": "unnamedWire#168",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "mux2#0",
           "pinName": "S0"
         },
         "pin2": {
           "pinName": "I0"
         },
         "name": "unnamedWire#17",
-        "path": []
+        "path": [
+          {
+            "x": 10.0,
+            "y": 125.0
+          },
+          {
+            "x": 10.0,
+            "y": 95.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
-          "pinName": "I01"
+          "compName": "WireCrossPoint#36",
+          "pinName": ""
         },
         "name": "unnamedWire#170",
         "path": []
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "mux2#0",
           "pinName": "I10"
         },
         "name": "unnamedWire#171",
           "pinName": ""
         },
         "name": "unnamedWire#172",
-        "path": []
+        "path": [
+          {
+            "x": 485.0,
+            "y": 390.0
+          },
+          {
+            "x": 485.0,
+            "y": 515.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux2#1",
           "pinName": "S0"
         },
         "name": "unnamedWire#174",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux2#1",
           "pinName": "S1"
         },
         "pin2": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux2#1",
           "pinName": "I00"
         },
         "name": "unnamedWire#176",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux2#1",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "IN"
         },
         "name": "unnamedWire#177",
-        "path": []
-      },
-      {
+        "path": [
+          {
+            "x": 545.0,
+            "y": 710.0
+          },
+          {
+            "x": 545.0,
+            "y": 660.0
+          }
+        ]
+      },
+      {
         "pin1": {
           "compName": "Splitter#12",
           "pinName": "I"
           "pinName": "QIO0_MUX"
         },
         "name": "unnamedWire#178",
-        "path": []
+        "path": [
+          {
+            "x": 445.0,
+            "y": 720.0
+          },
+          {
+            "x": 445.0,
+            "y": 580.0
+          },
+          {
+            "x": 175.0,
+            "y": 580.0
+          },
+          {
+            "x": 175.0,
+            "y": 520.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#19",
+          "compName": "WireCrossPoint#36",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
-          "pinName": "I01"
+          "compName": "WireCrossPoint#35",
+          "pinName": ""
         },
         "name": "unnamedWire#179",
         "path": []
           "pinName": "I1"
         },
         "name": "unnamedWire#18",
-        "path": []
+        "path": [
+          {
+            "x": 5.0,
+            "y": 100.0
+          },
+          {
+            "x": 5.0,
+            "y": 85.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux2#1",
           "pinName": "I10"
         },
         "name": "unnamedWire#180",
-        "path": []
+        "path": [
+          {
+            "x": 435.0,
+            "y": 750.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#23",
+          "compName": "WireCrossPoint#35",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
-          "pinName": "I11"
+          "compName": "mux2#0",
+          "pinName": "I01"
         },
         "name": "unnamedWire#181",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#15",
-          "pinName": "I11"
+          "compName": "WireCrossPoint#34",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#23",
-          "pinName": ""
+          "compName": "mux2#1",
+          "pinName": "I11"
         },
         "name": "unnamedWire#182",
-        "path": []
+        "path": [
+          {
+            "x": 440.0,
+            "y": 760.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "S0"
         },
         "name": "unnamedWire#184",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I000"
         },
         "name": "unnamedWire#186",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I001"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#187",
-        "path": []
+        "path": [
+          {
+            "x": 150.0,
+            "y": 685.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "SIOn_MUX"
         },
         "name": "unnamedWire#188",
-        "path": []
+        "path": [
+          {
+            "x": 130.0,
+            "y": 655.0
+          },
+          {
+            "x": 130.0,
+            "y": 580.0
+          },
+          {
+            "x": 170.0,
+            "y": 580.0
+          },
+          {
+            "x": 170.0,
+            "y": 510.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "S2"
         },
         "name": "unnamedWire#189",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "S1"
         },
         "name": "unnamedWire#190",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I010"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#191",
-        "path": []
+        "path": [
+          {
+            "x": 105.0,
+            "y": 695.0
+          },
+          {
+            "x": 105.0,
+            "y": 610.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I011"
         },
         "name": "unnamedWire#192",
-        "path": []
+        "path": [
+          {
+            "x": 110.0,
+            "y": 615.0
+          },
+          {
+            "x": 110.0,
+            "y": 705.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I100"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#193",
-        "path": []
+        "path": [
+          {
+            "x": 115.0,
+            "y": 715.0
+          },
+          {
+            "x": 115.0,
+            "y": 595.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#21",
+          "compName": "xor#3",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I111"
         },
         "name": "unnamedWire#194",
           "pinName": ""
         },
         "name": "unnamedWire#195",
-        "path": []
+        "path": [
+          {
+            "x": 465.0,
+            "y": 495.0
+          },
+          {
+            "x": 345.0,
+            "y": 495.0
+          },
+          {
+            "x": 345.0,
+            "y": 585.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I110"
         },
         "pin2": {
           "pinName": "O1"
         },
         "name": "unnamedWire#196",
-        "path": []
+        "path": [
+          {
+            "x": 125.0,
+            "y": 735.0
+          },
+          {
+            "x": 125.0,
+            "y": 605.0
+          },
+          {
+            "x": 350.0,
+            "y": 605.0
+          },
+          {
+            "x": 350.0,
+            "y": 500.0
+          },
+          {
+            "x": 470.0,
+            "y": 500.0
+          },
+          {
+            "x": 470.0,
+            "y": 360.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "I01"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#197",
-        "path": []
+        "path": [
+          {
+            "x": 290.0,
+            "y": 675.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "I10"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#198",
-        "path": []
+        "path": [
+          {
+            "x": 295.0,
+            "y": 685.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "I101"
         },
         "name": "unnamedWire#199",
-        "path": []
+        "path": [
+          {
+            "x": 120.0,
+            "y": 585.0
+          },
+          {
+            "x": 120.0,
+            "y": 725.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "muSR_OVRRET"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "OVRRET"
         },
         "name": "unnamedWire#2",
-        "path": []
+        "path": [
+          {
+            "x": 345.0,
+            "y": 210.0
+          },
+          {
+            "x": 345.0,
+            "y": 155.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "I3"
         },
         "name": "unnamedWire#20",
-        "path": []
+        "path": [
+          {
+            "x": 5.0,
+            "y": 50.0
+          },
+          {
+            "x": 5.0,
+            "y": 65.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "xor#1",
           "pinName": "B"
         },
         "name": "unnamedWire#200",
-        "path": []
+        "path": [
+          {
+            "x": 465.0,
+            "y": 335.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "I11"
         },
         "name": "unnamedWire#201",
-        "path": []
+        "path": [
+          {
+            "x": 300.0,
+            "y": 695.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#32",
+          "compName": "WireCrossPoint#30",
           "pinName": ""
         },
         "pin2": {
           "pinName": "OEn"
         },
         "name": "unnamedWire#202",
-        "path": []
+        "path": [
+          {
+            "x": 250.0,
+            "y": 540.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "OE0"
         },
         "pin2": {
-          "compName": "WireCrossPoint#30",
+          "compName": "WireCrossPoint#29",
           "pinName": ""
         },
         "name": "unnamedWire#203",
-        "path": []
+        "path": [
+          {
+            "x": 390.0,
+            "y": 550.0
+          },
+          {
+            "x": 390.0,
+            "y": 585.0
+          },
+          {
+            "x": 560.0,
+            "y": 585.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "xor#1",
           "pinName": "A"
         },
         "name": "unnamedWire#204",
-        "path": []
+        "path": [
+          {
+            "x": 460.0,
+            "y": 325.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#21",
+          "compName": "xor#3",
           "pinName": "A"
         },
         "name": "unnamedWire#205",
-        "path": []
+        "path": [
+          {
+            "x": 460.0,
+            "y": 490.0
+          },
+          {
+            "x": 340.0,
+            "y": 490.0
+          },
+          {
+            "x": 340.0,
+            "y": 600.0
+          },
+          {
+            "x": 100.0,
+            "y": 600.0
+          },
+          {
+            "x": 100.0,
+            "y": 745.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#21",
+          "compName": "xor#3",
           "pinName": "B"
         },
         "pin2": {
           "pinName": "O0"
         },
         "name": "unnamedWire#206",
-        "path": []
+        "path": [
+          {
+            "x": 95.0,
+            "y": 755.0
+          },
+          {
+            "x": 95.0,
+            "y": 590.0
+          },
+          {
+            "x": 355.0,
+            "y": 590.0
+          },
+          {
+            "x": 355.0,
+            "y": 505.0
+          },
+          {
+            "x": 475.0,
+            "y": 505.0
+          },
+          {
+            "x": 475.0,
+            "y": 370.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "S1"
         },
         "name": "unnamedWire#208",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "S0"
         },
         "name": "unnamedWire#209",
           "pinName": "muSR_CINV"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "CINV"
         },
         "name": "unnamedWire#21",
-        "path": []
+        "path": [
+          {
+            "x": 340.0,
+            "y": 220.0
+          },
+          {
+            "x": 340.0,
+            "y": 145.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "QIOn_MUX"
         },
         "name": "unnamedWire#210",
-        "path": []
+        "path": [
+          {
+            "x": 305.0,
+            "y": 655.0
+          },
+          {
+            "x": 305.0,
+            "y": 530.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#22",
+          "compName": "mux2#2",
           "pinName": "I00"
         },
         "name": "unnamedWire#211",
           "pinName": "IN"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#23",
+          "compName": "mux3#1",
           "pinName": "Y"
         },
         "name": "unnamedWire#212",
           "pinName": "EN"
         },
         "pin2": {
-          "compName": "WireCrossPoint#30",
+          "compName": "WireCrossPoint#29",
           "pinName": ""
         },
         "name": "unnamedWire#214",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#30",
+          "compName": "WireCrossPoint#29",
           "pinName": ""
         },
         "pin2": {
           "pinName": "EN"
         },
         "name": "unnamedWire#215",
+        "path": [
+          {
+            "x": 575.0,
+            "y": 620.0
+          },
+          {
+            "x": 575.0,
+            "y": 645.0
+          },
+          {
+            "x": 560.0,
+            "y": 645.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#2",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "Am2904muSR#0",
+          "pinName": "M"
+        },
+        "name": "unnamedWire#216",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#32",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "Splitter#10",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#217",
+        "path": [
+          {
+            "x": 405.0,
+            "y": 240.0
+          },
+          {
+            "x": 440.0,
+            "y": 240.0
+          },
+          {
+            "x": 440.0,
+            "y": 315.0
+          }
+        ]
+      },
       {
         "pin1": {
           "compName": "TriStateBuffer#2",
           "pinName": "EN"
         },
         "pin2": {
-          "compName": "WireCrossPoint#32",
+          "compName": "WireCrossPoint#30",
           "pinName": ""
         },
         "name": "unnamedWire#218",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#32",
+          "compName": "WireCrossPoint#30",
           "pinName": ""
         },
         "pin2": {
           "pinName": "EN"
         },
         "name": "unnamedWire#219",
-        "path": []
+        "path": [
+          {
+            "x": 410.0,
+            "y": 630.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "name": "unnamedWire#22",
-        "path": []
+        "path": [
+          {
+            "x": 105.0,
+            "y": 80.0
+          },
+          {
+            "x": 105.0,
+            "y": 140.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#23",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#34",
+          "pinName": ""
+        },
+        "name": "unnamedWire#220",
+        "path": [
+          {
+            "x": 440.0,
+            "y": 595.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#18",
+          "compName": "mux1#5",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1#4",
           "pinName": "I0"
         },
         "name": "unnamedWire#221",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1#4",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "COVD_V"
         },
         "name": "unnamedWire#222",
-        "path": []
+        "path": [
+          {
+            "x": 530.0,
+            "y": 535.0
+          },
+          {
+            "x": 530.0,
+            "y": 525.0
+          },
+          {
+            "x": 230.0,
+            "y": 525.0
+          },
+          {
+            "x": 230.0,
+            "y": 310.0
+          },
+          {
+            "x": 295.0,
+            "y": 310.0
+          },
+          {
+            "x": 295.0,
+            "y": 85.0
+          },
+          {
+            "x": 275.0,
+            "y": 85.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#17",
-          "pinName": "I1"
-        },
-        "pin2": {
           "compName": "WireCrossPoint#19",
           "pinName": ""
         },
+        "pin2": {
+          "compName": "TriStateBuffer#2",
+          "pinName": "OUT"
+        },
         "name": "unnamedWire#223",
-        "path": []
+        "path": [
+          {
+            "x": 265.0,
+            "y": 645.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#18",
-          "pinName": "I0"
+          "compName": "TriStateBuffer#4",
+          "pinName": "OUT"
         },
         "pin2": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#40",
           "pinName": ""
         },
         "name": "unnamedWire#224",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#21",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#18",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#225",
-        "path": []
+        "path": [
+          {
+            "x": 585.0,
+            "y": 660.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "I"
         },
         "name": "unnamedWire#226",
-        "path": []
+        "path": [
+          {
+            "x": 410.0,
+            "y": 560.0
+          },
+          {
+            "x": 410.0,
+            "y": 540.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#18",
+          "compName": "mux1#5",
           "pinName": "S0"
         },
         "name": "unnamedWire#227",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1#4",
           "pinName": "S0"
         },
         "name": "unnamedWire#228",
       },
       {
         "pin1": {
-          "compName": "BitDisplay#0",
+          "compName": "WireCrossPoint#34",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
+          "compName": "mux2#0",
+          "pinName": "I11"
         },
         "name": "unnamedWire#229",
         "path": []
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "I"
         },
         "name": "unnamedWire#23",
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#0",
-          "pinName": "OUT"
+          "compName": "WireCrossPoint#35",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "BitDisplay#1",
-          "pinName": ""
+          "compName": "mux2#1",
+          "pinName": "I01"
         },
         "name": "unnamedWire#230",
-        "path": []
+        "path": [
+          {
+            "x": 430.0,
+            "y": 740.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#0",
-          "pinName": "IN"
+          "compName": "WireCrossPoint#18",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "BitDisplay#2",
+          "compName": "WireCrossPoint#37",
           "pinName": ""
         },
         "name": "unnamedWire#231",
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#0",
-          "pinName": "EN"
+          "compName": "WireCrossPoint#37",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "BitDisplay#3",
-          "pinName": ""
+          "compName": "TriStateBuffer#1",
+          "pinName": "OUT"
         },
         "name": "unnamedWire#232",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#33",
+          "compName": "WireCrossPoint#31",
           "pinName": ""
         },
         "pin2": {
-          "compName": "NandGate#12",
+          "compName": "NandGate#11",
           "pinName": "A"
         },
         "name": "unnamedWire#233",
       },
       {
         "pin1": {
-          "compName": "NandGate#12",
+          "compName": "NandGate#11",
           "pinName": "B"
         },
         "pin2": {
-          "compName": "WireCrossPoint#33",
+          "compName": "WireCrossPoint#31",
           "pinName": ""
         },
         "name": "unnamedWire#234",
-        "path": []
+        "path": [
+          {
+            "x": 550.0,
+            "y": 250.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#33",
+          "compName": "WireCrossPoint#31",
           "pinName": ""
         },
         "pin2": {
           "pinName": "_OECT"
         },
         "name": "unnamedWire#235",
-        "path": []
+        "path": [
+          {
+            "x": 550.0,
+            "y": 215.0
+          },
+          {
+            "x": 565.0,
+            "y": 215.0
+          },
+          {
+            "x": 565.0,
+            "y": 25.0
+          },
+          {
+            "x": 550.0,
+            "y": 25.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "IN"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "xor#0",
           "pinName": "Y"
         },
         "name": "unnamedWire#237",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#39",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "mux1#5",
+          "pinName": "I0"
+        },
+        "name": "unnamedWire#238",
+        "path": [
+          {
+            "x": 430.0,
+            "y": 555.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#39",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "name": "unnamedWire#239",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "WireCrossPoint#15",
           "pinName": ""
         },
         "name": "unnamedWire#24",
+        "path": [
+          {
+            "x": 190.0,
+            "y": 175.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#40",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "QIO0"
+        },
+        "name": "unnamedWire#240",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "WireCrossPoint#41",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#40",
+          "pinName": ""
+        },
+        "name": "unnamedWire#242",
+        "path": [
+          {
+            "x": 585.0,
+            "y": 615.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "Am2904MSR#0",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#25",
-        "path": []
+        "path": [
+          {
+            "x": 300.0,
+            "y": 110.0
+          },
+          {
+            "x": 300.0,
+            "y": 125.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#16",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#16",
-          "pinName": ""
+          "compName": "Splitter#4",
+          "pinName": "I"
         },
         "name": "unnamedWire#26",
         "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": ""
         },
         "name": "unnamedWire#27",
-        "path": []
+        "path": [
+          {
+            "x": 405.0,
+            "y": 105.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#33",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "mu"
+          "compName": "Splitter#5",
+          "pinName": "I"
         },
         "name": "unnamedWire#28",
         "path": []
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "C"
         },
         "name": "unnamedWire#29",
-        "path": []
+        "path": [
+          {
+            "x": 255.0,
+            "y": 60.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "C"
         },
         "name": "unnamedWire#30",
-        "path": []
+        "path": [
+          {
+            "x": 300.0,
+            "y": 60.0
+          },
+          {
+            "x": 300.0,
+            "y": 105.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "MSR_MUX"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "MUX"
         },
         "name": "unnamedWire#31",
-        "path": []
+        "path": [
+          {
+            "x": 200.0,
+            "y": 160.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "MC_EN"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "COVD_EN"
         },
         "name": "unnamedWire#32",
-        "path": []
+        "path": [
+          {
+            "x": 225.0,
+            "y": 570.0
+          },
+          {
+            "x": 225.0,
+            "y": 305.0
+          },
+          {
+            "x": 290.0,
+            "y": 305.0
+          },
+          {
+            "x": 290.0,
+            "y": 80.0
+          },
+          {
+            "x": 265.0,
+            "y": 80.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "B"
         },
         "name": "unnamedWire#34",
-        "path": []
+        "path": [
+          {
+            "x": 225.0,
+            "y": 25.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "name": "unnamedWire#42",
-        "path": []
+        "path": [
+          {
+            "x": 320.0,
+            "y": 80.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "_EOVR"
         },
         "name": "unnamedWire#43",
-        "path": []
+        "path": [
+          {
+            "x": 390.0,
+            "y": 85.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "_EN"
         },
         "name": "unnamedWire#44",
-        "path": []
+        "path": [
+          {
+            "x": 380.0,
+            "y": 65.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "_EC"
         },
         "pin2": {
           "pinName": "Y"
         },
         "name": "unnamedWire#45",
-        "path": []
+        "path": [
+          {
+            "x": 370.0,
+            "y": 45.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "Am2904muSR#0",
           "pinName": "_EZ"
         },
         "name": "unnamedWire#46",
-        "path": []
+        "path": [
+          {
+            "x": 360.0,
+            "y": 25.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "muSR_WEZ"
         },
         "name": "unnamedWire#47",
-        "path": []
+        "path": [
+          {
+            "x": 305.0,
+            "y": 30.0
+          },
+          {
+            "x": 305.0,
+            "y": 230.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "B"
         },
         "name": "unnamedWire#48",
-        "path": []
+        "path": [
+          {
+            "x": 310.0,
+            "y": 240.0
+          },
+          {
+            "x": 310.0,
+            "y": 50.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "YZ"
         },
         "name": "unnamedWire#49",
-        "path": []
+        "path": [
+          {
+            "x": 595.0,
+            "y": 40.0
+          },
+          {
+            "x": 595.0,
+            "y": 25.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "YN"
         },
         "name": "unnamedWire#51",
-        "path": []
+        "path": [
+          {
+            "x": 595.0,
+            "y": 60.0
+          },
+          {
+            "x": 595.0,
+            "y": 75.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "name": "unnamedWire#52",
-        "path": []
+        "path": [
+          {
+            "x": 590.0,
+            "y": 100.0
+          },
+          {
+            "x": 590.0,
+            "y": 70.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "Y"
         },
         "name": "unnamedWire#54",
-        "path": []
+        "path": [
+          {
+            "x": 570.0,
+            "y": 50.0
+          },
+          {
+            "x": 415.0,
+            "y": 50.0
+          },
+          {
+            "x": 415.0,
+            "y": 180.0
+          },
+          {
+            "x": 195.0,
+            "y": 180.0
+          },
+          {
+            "x": 195.0,
+            "y": 120.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "A"
         },
         "name": "unnamedWire#55",
-        "path": []
+        "path": [
+          {
+            "x": 135.0,
+            "y": 10.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "name": "unnamedWire#57",
-        "path": []
+        "path": [
+          {
+            "x": 25.0,
+            "y": 20.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "muSR_WEN"
         },
         "name": "unnamedWire#58",
-        "path": []
+        "path": [
+          {
+            "x": 315.0,
+            "y": 70.0
+          },
+          {
+            "x": 315.0,
+            "y": 250.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "B"
         },
         "name": "unnamedWire#59",
-        "path": []
+        "path": [
+          {
+            "x": 320.0,
+            "y": 260.0
+          },
+          {
+            "x": 320.0,
+            "y": 90.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "A"
         },
         "name": "unnamedWire#60",
-        "path": []
+        "path": [
+          {
+            "x": 180.0,
+            "y": 75.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "_EOVR"
         },
         "name": "unnamedWire#66",
-        "path": []
+        "path": [
+          {
+            "x": 245.0,
+            "y": 80.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "_EN"
         },
         "pin2": {
           "pinName": "Y"
         },
         "name": "unnamedWire#67",
-        "path": []
+        "path": [
+          {
+            "x": 235.0,
+            "y": 60.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "_EC"
         },
         "name": "unnamedWire#68",
-        "path": []
+        "path": [
+          {
+            "x": 225.0,
+            "y": 40.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "Am2904MSR#0",
           "pinName": "_EZ"
         },
         "name": "unnamedWire#69",
-        "path": []
+        "path": [
+          {
+            "x": 215.0,
+            "y": 20.0
+          }
+        ]
       },
       {
         "pin1": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "Y1"
         },
         "pin2": {
           "pinName": "B"
         },
         "name": "unnamedWire#71",
-        "path": []
+        "path": [
+          {
+            "x": 170.0,
+            "y": 45.0
+          },
+          {
+            "x": 170.0,
+            "y": 25.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "B"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "Y2"
         },
         "name": "unnamedWire#72",
-        "path": []
+        "path": [
+          {
+            "x": 175.0,
+            "y": 45.0
+          },
+          {
+            "x": 175.0,
+            "y": 55.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "Y3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "Y4"
         },
         "pin2": {
           "pinName": "B"
         },
         "name": "unnamedWire#74",
-        "path": []
+        "path": [
+          {
+            "x": 175.0,
+            "y": 75.0
+          },
+          {
+            "x": 175.0,
+            "y": 85.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "A1"
         },
         "pin2": {
           "pinName": "_EZ"
         },
         "name": "unnamedWire#75",
-        "path": []
+        "path": [
+          {
+            "x": 50.0,
+            "y": 45.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "_EC"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "A2"
         },
         "name": "unnamedWire#76",
-        "path": []
+        "path": [
+          {
+            "x": 75.0,
+            "y": 55.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "A3"
         },
         "pin2": {
           "pinName": "_EN"
         },
         "name": "unnamedWire#77",
-        "path": []
+        "path": [
+          {
+            "x": 100.0,
+            "y": 65.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "_EOVR"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "not4#0",
           "pinName": "A4"
         },
         "name": "unnamedWire#78",
-        "path": []
+        "path": [
+          {
+            "x": 125.0,
+            "y": 75.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "name": "unnamedWire#79",
-        "path": []
+        "path": [
+          {
+            "x": 570.0,
+            "y": 80.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "name": "unnamedWire#81",
-        "path": []
+        "path": [
+          {
+            "x": 450.0,
+            "y": 70.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "and#0",
           "pinName": "A"
         },
         "name": "unnamedWire#83",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "and#0",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "EN"
         },
         "name": "unnamedWire#84",
-        "path": []
+        "path": [
+          {
+            "x": 550.0,
+            "y": 65.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#85",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I1_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "Y2"
         },
         "name": "unnamedWire#86",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "Y3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#87",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I1_4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "Y4"
         },
         "name": "unnamedWire#88",
           "pinName": "I0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "Y4"
         },
         "name": "unnamedWire#89",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "Y3"
         },
         "pin2": {
           "pinName": "I2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "Y2"
         },
         "name": "unnamedWire#91",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "Y1"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "Merger#3",
-          "pinName": "O"
-        },
-        "pin2": {
           "compName": "WireCrossPoint#14",
           "pinName": ""
         },
+        "pin2": {
+          "compName": "Merger#3",
+          "pinName": "O"
+        },
         "name": "unnamedWire#93",
         "path": []
       },
           "pinName": "I"
         },
         "name": "unnamedWire#94",
-        "path": []
+        "path": [
+          {
+            "x": 190.0,
+            "y": 275.0
+          },
+          {
+            "x": 360.0,
+            "y": 275.0
+          },
+          {
+            "x": 360.0,
+            "y": 225.0
+          },
+          {
+            "x": 420.0,
+            "y": 225.0
+          },
+          {
+            "x": 420.0,
+            "y": 95.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#1",
           "pinName": "S0"
         },
         "name": "unnamedWire#95",
-        "path": []
+        "path": [
+          {
+            "x": 455.0,
+            "y": 100.0
+          },
+          {
+            "x": 455.0,
+            "y": 130.0
+          },
+          {
+            "x": 435.0,
+            "y": 130.0
+          },
+          {
+            "x": 435.0,
+            "y": 140.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#96",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#97",
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#98",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux1_4#0",
           "pinName": "I0_3"
         },
         "pin2": {
       "musr": {
         "id": "delegating",
         "params": {
-          "delegateTarget": "DeserializedSubmodelComponent#1"
+          "delegateTarget": "Am2904muSR#0"
         }
       },
       "msr": {
         "id": "delegating",
         "params": {
-          "delegateTarget": "DeserializedSubmodelComponent#0"
+          "delegateTarget": "Am2904MSR#0"
         }
       }
     },
index eff0611..a5b084d 100644 (file)
@@ -1,11 +1,11 @@
 {
-  "width": 45.0,
-  "height": 46.0,
+  "width": 80.0,
+  "height": 75.0,
   "interfacePins": [
     {
       "location": {
-        "x": 14.0,
-        "y": 46.0
+        "x": 50.0,
+        "y": 0.0
       },
       "name": "C",
       "logicWidth": 1,
@@ -13,8 +13,8 @@
     },
     {
       "location": {
-        "x": 27.5,
-        "y": 46.0
+        "x": 60.0,
+        "y": 0.0
       },
       "name": "COVD_EN",
       "logicWidth": 1,
@@ -22,8 +22,8 @@
     },
     {
       "location": {
-        "x": 37.5,
-        "y": 46.0
+        "x": 70.0,
+        "y": 0.0
       },
       "name": "COVD_V",
       "logicWidth": 1,
@@ -32,7 +32,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 31.0
+        "y": 50.0
       },
       "name": "I",
       "logicWidth": 4,
@@ -40,8 +40,8 @@
     },
     {
       "location": {
-        "x": 4.0,
-        "y": 46.0
+        "x": 0.0,
+        "y": 70.0
       },
       "name": "MUX",
       "logicWidth": 3,
@@ -49,8 +49,8 @@
     },
     {
       "location": {
-        "x": 45.0,
-        "y": 19.0
+        "x": 80.0,
+        "y": 20.0
       },
       "name": "Q",
       "logicWidth": 4,
@@ -59,7 +59,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 18.0
+        "y": 30.0
       },
       "name": "Y",
       "logicWidth": 4,
@@ -67,7 +67,7 @@
     },
     {
       "location": {
-        "x": 15.5,
+        "x": 20.0,
         "y": 0.0
       },
       "name": "_EC",
@@ -76,7 +76,7 @@
     },
     {
       "location": {
-        "x": 25.5,
+        "x": 30.0,
         "y": 0.0
       },
       "name": "_EN",
@@ -85,8 +85,8 @@
     },
     {
       "location": {
-        "x": 35.5,
-        "y": 0.2
+        "x": 40.0,
+        "y": 0.0
       },
       "name": "_EOVR",
       "logicWidth": 1,
@@ -94,7 +94,7 @@
     },
     {
       "location": {
-        "x": 5.5,
+        "x": 10.0,
         "y": 0.0
       },
       "name": "_EZ",
     {
       "location": {
         "x": 0.0,
-        "y": 5.0
+        "y": 10.0
       },
       "name": "mu",
       "logicWidth": 4,
       "usage": "INPUT"
     }
   ],
-  "innerScale": 0.1,
+  "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 55.0,
-          "y": 110.0
-        }
-      },
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 35.0,
-          "y": 250.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 150.0,
-          "y": 280.0
-        }
-      },
-      {
-        "id": "not4",
-        "name": "DeserializedSubmodelComponent#3",
-        "pos": {
-          "x": 100.0,
-          "y": 330.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#4",
-        "pos": {
-          "x": 110.0,
-          "y": 60.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#5",
-        "pos": {
-          "x": 200.0,
-          "y": 230.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 250.0,
-          "y": 180.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 325.0,
-          "y": 290.0
-        }
-      },
-      {
-        "id": "and",
-        "name": "DeserializedSubmodelComponent#8",
-        "pos": {
-          "x": 380.0,
-          "y": 85.0
-        }
-      },
       {
         "id": "Merger",
         "name": "Merger#0",
         "pos": {
-          "x": 435.0,
-          "y": 175.0
+          "x": 385.0,
+          "y": 85.0
         },
         "params": 4
       },
         "id": "NandGate",
         "name": "NandGate#0",
         "pos": {
-          "x": 325.0,
-          "y": 90.0
+          "x": 170.0,
+          "y": 55.0
         },
         "params": 1
       },
         "name": "Splitter#1",
         "pos": {
           "x": 5.0,
-          "y": 165.0
+          "y": 135.0
         },
         "params": 4
       },
         "name": "Splitter#2",
         "pos": {
           "x": 45.0,
-          "y": 425.0
+          "y": 340.0
         },
         "params": 3
       },
         "name": "Splitter#3",
         "pos": {
           "x": 5.0,
-          "y": 295.0
+          "y": 235.0
         },
         "params": 4
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "pos": {
-          "x": 29.0,
-          "y": 284.0
+          "x": 19.0,
+          "y": 224.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#1",
         "pos": {
-          "x": 414.0,
-          "y": 174.0
+          "x": 364.0,
+          "y": 84.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#10",
         "pos": {
-          "x": 89.0,
-          "y": 84.0
+          "x": 74.0,
+          "y": 54.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#11",
         "pos": {
-          "x": 89.0,
-          "y": 94.0
+          "x": 74.0,
+          "y": 64.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#12",
         "pos": {
-          "x": 19.0,
-          "y": 294.0
+          "x": 34.0,
+          "y": 234.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#13",
         "pos": {
-          "x": 194.0,
-          "y": 234.0
+          "x": 124.0,
+          "y": 174.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#14",
         "pos": {
-          "x": 89.0,
-          "y": 104.0
+          "x": 74.0,
+          "y": 74.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#15",
         "pos": {
-          "x": 319.0,
-          "y": 294.0
+          "x": 164.0,
+          "y": 59.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#16",
         "pos": {
-          "x": 319.0,
-          "y": 104.0
+          "x": 269.0,
+          "y": 39.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#2",
         "pos": {
-          "x": 419.0,
-          "y": 184.0
+          "x": 369.0,
+          "y": 94.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#3",
         "pos": {
-          "x": 424.0,
-          "y": 194.0
+          "x": 374.0,
+          "y": 104.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#4",
         "pos": {
-          "x": 429.0,
-          "y": 204.0
+          "x": 379.0,
+          "y": 114.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#5",
         "pos": {
-          "x": 84.0,
-          "y": 344.0
+          "x": 29.0,
+          "y": 284.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#6",
         "pos": {
-          "x": 94.0,
-          "y": 364.0
+          "x": 39.0,
+          "y": 304.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#7",
         "pos": {
-          "x": 29.0,
-          "y": 254.0
+          "x": 19.0,
+          "y": 194.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#8",
         "pos": {
-          "x": 74.0,
-          "y": 314.0
+          "x": 79.0,
+          "y": 254.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#9",
         "pos": {
-          "x": 49.0,
-          "y": 114.0
+          "x": 39.0,
+          "y": 84.0
         },
         "params": 1
       },
+      {
+        "id": "and",
+        "name": "and#0",
+        "pos": {
+          "x": 195.0,
+          "y": 50.0
+        }
+      },
       {
         "id": "dff4_finewe",
         "name": "dff4_finewe#0",
         "pos": {
-          "x": 375.0,
+          "x": 325.0,
+          "y": 80.0
+        }
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#0",
+        "pos": {
+          "x": 280.0,
+          "y": 175.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#0",
+        "pos": {
+          "x": 45.0,
+          "y": 80.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#1",
+        "pos": {
+          "x": 85.0,
+          "y": 220.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#2",
+        "pos": {
+          "x": 90.0,
+          "y": 30.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#3",
+        "pos": {
+          "x": 130.0,
           "y": 170.0
         }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#4",
+        "pos": {
+          "x": 175.0,
+          "y": 120.0
+        }
+      },
+      {
+        "id": "not4",
+        "name": "not4#0",
+        "pos": {
+          "x": 45.0,
+          "y": 270.0
+        }
+      },
+      {
+        "id": "xor",
+        "name": "xor#0",
+        "pos": {
+          "x": 40.0,
+          "y": 190.0
+        }
       }
     ],
     "wires": [
         "name": "unnamedWire#0",
         "path": [
           {
-            "x": 140.0,
-            "y": 445.0
-          },
-          {
-            "x": 255.0,
-            "y": 445.0
-          },
-          {
-            "x": 255.0,
-            "y": 280.0
-          },
-          {
-            "x": 340.0,
-            "y": 280.0
-          },
-          {
-            "x": 340.0,
-            "y": 175.0
+            "x": 250.0,
+            "y": 85.0
           }
         ]
       },
         "name": "unnamedWire#1",
         "path": [
           {
-            "x": 355.0,
+            "x": 200.0,
+            "y": 30.0
+          },
+          {
+            "x": 305.0,
             "y": 30.0
           },
           {
-            "x": 355.0,
-            "y": 215.0
+            "x": 305.0,
+            "y": 125.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_1"
         },
         "pin2": {
         "path": [
           {
             "x": 35.0,
-            "y": 125.0
+            "y": 95.0
           },
           {
             "x": 35.0,
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#13",
           },
           {
             "x": 30.0,
-            "y": 135.0
+            "y": 105.0
           }
         ]
       },
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#14",
           },
           {
             "x": 25.0,
-            "y": 145.0
+            "y": 115.0
           }
         ]
       },
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#15",
           },
           {
             "x": 20.0,
-            "y": 155.0
+            "y": 125.0
           }
         ]
       },
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#16",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_2"
         },
         "pin2": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#18",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_4"
         },
         "pin2": {
         "name": "unnamedWire#2",
         "path": [
           {
-            "x": 255.0,
+            "x": 150.0,
             "y": 25.0
           },
           {
-            "x": 360.0,
+            "x": 310.0,
             "y": 25.0
           },
           {
-            "x": 360.0,
-            "y": 205.0
+            "x": 310.0,
+            "y": 115.0
           }
         ]
       },
           "pinName": "I"
         },
         "name": "unnamedWire#20",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 435.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "xor#0",
           "pinName": "B"
         },
         "name": "unnamedWire#23",
         "path": [
           {
-            "x": 25.0,
-            "y": 305.0
+            "x": 30.0,
+            "y": 245.0
           },
           {
-            "x": 25.0,
-            "y": 265.0
+            "x": 30.0,
+            "y": 205.0
           }
         ]
       },
         "path": [
           {
             "x": 60.0,
-            "y": 445.0
+            "y": 360.0
           },
           {
             "x": 60.0,
-            "y": 415.0
+            "y": 335.0
           },
           {
-            "x": 30.0,
-            "y": 415.0
+            "x": 20.0,
+            "y": 335.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "xor#0",
           "pinName": "A"
         },
         "pin2": {
           "pinName": "_EC"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "and#0",
           "pinName": "A"
         },
         "name": "unnamedWire#3",
         "path": [
           {
-            "x": 155.0,
+            "x": 100.0,
             "y": 20.0
           },
           {
-            "x": 365.0,
+            "x": 190.0,
             "y": 20.0
           },
           {
-            "x": 365.0,
-            "y": 90.0
+            "x": 190.0,
+            "y": 55.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#30",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I1_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "Y2"
         },
         "name": "unnamedWire#31",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "Y3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#32",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I1_4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "Y4"
         },
         "name": "unnamedWire#33",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "A1"
         },
         "name": "unnamedWire#34",
         "path": [
           {
-            "x": 415.0,
-            "y": 380.0
+            "x": 365.0,
+            "y": 315.0
           },
           {
-            "x": 80.0,
-            "y": 380.0
+            "x": 25.0,
+            "y": 315.0
           },
           {
-            "x": 80.0,
-            "y": 335.0
+            "x": 25.0,
+            "y": 275.0
           }
         ]
       },
         "name": "unnamedWire#35",
         "path": [
           {
-            "x": 420.0,
-            "y": 385.0
+            "x": 370.0,
+            "y": 320.0
           },
           {
-            "x": 85.0,
-            "y": 385.0
+            "x": 30.0,
+            "y": 320.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "A3"
         },
         "name": "unnamedWire#36",
         "path": [
           {
-            "x": 425.0,
-            "y": 390.0
+            "x": 375.0,
+            "y": 325.0
           },
           {
-            "x": 90.0,
-            "y": 390.0
+            "x": 35.0,
+            "y": 325.0
           },
           {
-            "x": 90.0,
-            "y": 355.0
+            "x": 35.0,
+            "y": 295.0
           }
         ]
       },
         "name": "unnamedWire#37",
         "path": [
           {
-            "x": 430.0,
-            "y": 395.0
+            "x": 380.0,
+            "y": 330.0
           },
           {
-            "x": 95.0,
-            "y": 395.0
+            "x": 40.0,
+            "y": 330.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I0_4"
         },
         "pin2": {
         "name": "unnamedWire#39",
         "path": [
           {
-            "x": 85.0,
-            "y": 325.0
+            "x": 30.0,
+            "y": 265.0
           }
         ]
       },
         "name": "unnamedWire#4",
         "path": [
           {
-            "x": 55.0,
+            "x": 50.0,
             "y": 15.0
           },
           {
-            "x": 370.0,
+            "x": 320.0,
             "y": 15.0
           },
           {
-            "x": 370.0,
-            "y": 185.0
+            "x": 320.0,
+            "y": 95.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#40",
         "path": [
           {
-            "x": 95.0,
-            "y": 305.0
+            "x": 40.0,
+            "y": 245.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I0_3"
         },
         "pin2": {
         "name": "unnamedWire#42",
         "path": [
           {
-            "x": 30.0,
-            "y": 230.0
+            "x": 20.0,
+            "y": 175.0
           },
           {
-            "x": 50.0,
-            "y": 230.0
+            "x": 40.0,
+            "y": 175.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "S0"
         },
         "name": "unnamedWire#43",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#44",
         "name": "unnamedWire#45",
         "path": [
           {
-            "x": 50.0,
-            "y": 105.0
+            "x": 40.0,
+            "y": 75.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I1_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y2"
         },
         "name": "unnamedWire#46",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#47",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I1_4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y4"
         },
         "name": "unnamedWire#48",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#49",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I0_3"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#53",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "I0_1"
         },
         "pin2": {
         "name": "unnamedWire#54",
         "path": [
           {
-            "x": 90.0,
-            "y": 75.0
+            "x": 75.0,
+            "y": 45.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "A4"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "not4#0",
           "pinName": "A2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#57",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#59",
         "path": [
           {
-            "x": 20.0,
-            "y": 245.0
+            "x": 35.0,
+            "y": 185.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I0_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "xor#0",
           "pinName": "Y"
         },
         "name": "unnamedWire#60",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I0_3"
         },
         "pin2": {
         "name": "unnamedWire#61",
         "path": [
           {
-            "x": 75.0,
-            "y": 265.0
+            "x": 80.0,
+            "y": 205.0
           }
         ]
       },
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#62",
         "path": [
           {
-            "x": 80.0,
-            "y": 325.0
+            "x": 25.0,
+            "y": 265.0
           },
           {
-            "x": 80.0,
-            "y": 275.0
+            "x": 25.0,
+            "y": 215.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#63",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I1_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "Y2"
         },
         "name": "unnamedWire#64",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "Y3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#65",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "I1_4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1_4#1",
           "pinName": "Y4"
         },
         "name": "unnamedWire#66",
         "name": "unnamedWire#67",
         "path": [
           {
-            "x": 195.0,
-            "y": 435.0
+            "x": 125.0,
+            "y": 350.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "S0"
         },
         "name": "unnamedWire#68",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "S0"
         },
         "name": "unnamedWire#69",
         "path": [
           {
-            "x": 105.0,
-            "y": 235.0
+            "x": 85.0,
+            "y": 175.0
           },
           {
-            "x": 105.0,
-            "y": 65.0
+            "x": 85.0,
+            "y": 35.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "Y4"
         },
         "pin2": {
         "name": "unnamedWire#70",
         "path": [
           {
-            "x": 295.0,
-            "y": 215.0
+            "x": 235.0,
+            "y": 155.0
           },
           {
-            "x": 295.0,
-            "y": 255.0
+            "x": 235.0,
+            "y": 165.0
           }
         ]
       },
           "pinName": "D3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "Y3"
         },
         "name": "unnamedWire#71",
         "path": [
           {
-            "x": 300.0,
-            "y": 245.0
+            "x": 240.0,
+            "y": 155.0
           },
           {
-            "x": 300.0,
-            "y": 205.0
+            "x": 240.0,
+            "y": 145.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "and#0",
           "pinName": "Y"
         },
         "pin2": {
         "name": "unnamedWire#72",
         "path": [
           {
-            "x": 420.0,
-            "y": 90.0
+            "x": 235.0,
+            "y": 55.0
           },
           {
-            "x": 420.0,
-            "y": 110.0
+            "x": 235.0,
+            "y": 20.0
           },
           {
-            "x": 365.0,
-            "y": 110.0
+            "x": 315.0,
+            "y": 20.0
           },
           {
-            "x": 365.0,
-            "y": 195.0
+            "x": 315.0,
+            "y": 105.0
           }
         ]
       },
           "pinName": "D1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "Y1"
         },
         "name": "unnamedWire#73",
         "path": [
           {
-            "x": 310.0,
-            "y": 225.0
+            "x": 250.0,
+            "y": 135.0
           },
           {
-            "x": 310.0,
-            "y": 185.0
+            "x": 250.0,
+            "y": 125.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I1_4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "Y4"
         },
         "name": "unnamedWire#74",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "Y3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#75",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I1_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "Y2"
         },
         "name": "unnamedWire#76",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "mux1_4#3",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#77",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I0_4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "Y4"
         },
         "name": "unnamedWire#78",
         "path": [
           {
-            "x": 200.0,
-            "y": 225.0
+            "x": 140.0,
+            "y": 165.0
           },
           {
-            "x": 200.0,
-            "y": 95.0
+            "x": 140.0,
+            "y": 65.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "Y3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#79",
         "path": [
           {
-            "x": 205.0,
-            "y": 85.0
+            "x": 145.0,
+            "y": 55.0
           },
           {
-            "x": 205.0,
-            "y": 215.0
+            "x": 145.0,
+            "y": 155.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I0_2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "Y2"
         },
         "name": "unnamedWire#80",
         "path": [
           {
-            "x": 210.0,
-            "y": 205.0
+            "x": 150.0,
+            "y": 145.0
           },
           {
-            "x": 210.0,
-            "y": 75.0
+            "x": 150.0,
+            "y": 45.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "mux1_4#2",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#81",
         "path": [
           {
-            "x": 215.0,
-            "y": 65.0
+            "x": 155.0,
+            "y": 35.0
           },
           {
-            "x": 215.0,
-            "y": 195.0
+            "x": 155.0,
+            "y": 135.0
           }
         ]
       },
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "S0"
         },
         "name": "unnamedWire#82",
         "path": [
           {
-            "x": 245.0,
-            "y": 425.0
+            "x": 170.0,
+            "y": 340.0
           },
           {
-            "x": 245.0,
-            "y": 185.0
+            "x": 170.0,
+            "y": 125.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
-          "pinName": ""
+          "compName": "NandGate#0",
+          "pinName": "A"
         },
         "name": "unnamedWire#83",
         "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#15",
-          "pinName": ""
-        },
-        "pin2": {
           "compName": "_submodelinterface",
           "pinName": "COVD_EN"
         },
+        "pin2": {
+          "compName": "WireCrossPoint#16",
+          "pinName": ""
+        },
         "name": "unnamedWire#84",
         "path": [
           {
-            "x": 275.0,
-            "y": 295.0
+            "x": 300.0,
+            "y": 10.0
+          },
+          {
+            "x": 270.0,
+            "y": 10.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#16",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
-          "pinName": "S0"
+          "compName": "WireCrossPoint#15",
+          "pinName": ""
         },
         "name": "unnamedWire#85",
-        "path": []
+        "path": [
+          {
+            "x": 165.0,
+            "y": 40.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "COVD_V"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#86",
         "path": [
           {
-            "x": 375.0,
-            "y": 325.0
+            "x": 350.0,
+            "y": 70.0
           },
           {
-            "x": 320.0,
-            "y": 325.0
+            "x": 265.0,
+            "y": 70.0
           },
           {
-            "x": 320.0,
-            "y": 315.0
+            "x": 265.0,
+            "y": 200.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "mux1_4#4",
           "pinName": "Y2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux1#0",
           "pinName": "I0"
         },
         "name": "unnamedWire#87",
         "path": [
           {
-            "x": 305.0,
-            "y": 195.0
+            "x": 245.0,
+            "y": 135.0
           },
           {
-            "x": 305.0,
-            "y": 305.0
+            "x": 245.0,
+            "y": 145.0
+          },
+          {
+            "x": 275.0,
+            "y": 145.0
+          },
+          {
+            "x": 275.0,
+            "y": 190.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "mux1#0",
           "pinName": "Y"
         },
         "pin2": {
         "name": "unnamedWire#88",
         "path": [
           {
-            "x": 365.0,
-            "y": 295.0
+            "x": 320.0,
+            "y": 180.0
           },
           {
-            "x": 365.0,
-            "y": 235.0
+            "x": 320.0,
+            "y": 145.0
           }
         ]
       },
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "and#0",
           "pinName": "B"
         },
         "name": "unnamedWire#89",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#16",
+          "compName": "WireCrossPoint#15",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
-          "pinName": ""
+          "compName": "NandGate#0",
+          "pinName": "B"
         },
         "name": "unnamedWire#90",
-        "path": []
+        "path": [
+          {
+            "x": 165.0,
+            "y": 70.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "NandGate#0",
-          "pinName": "B"
+          "compName": "mux1#0",
+          "pinName": "S0"
         },
         "name": "unnamedWire#91",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "NandGate#0",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#16",
-          "pinName": ""
-        },
-        "name": "unnamedWire#92",
         "path": [
           {
-            "x": 320.0,
-            "y": 95.0
+            "x": 270.0,
+            "y": 180.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#93",
index 3ec88ac..ab44304 100644 (file)
   "innerScale": 0.4,
   "submodel": {
     "components": [
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 40.0,
-          "y": 20.0
-        }
-      },
       {
         "id": "NandGate",
         "name": "NandGate#0",
           "y": 149.0
         },
         "params": 1
+      },
+      {
+        "id": "xor",
+        "name": "xor#0",
+        "pos": {
+          "x": 40.0,
+          "y": 20.0
+        }
       }
     ],
     "wires": [
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "xor#0",
           "pinName": "A"
         },
         "name": "unnamedWire#3",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "xor#0",
           "pinName": "B"
         },
         "name": "unnamedWire#4",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "xor#0",
           "pinName": "Y"
         },
         "pin2": {
     "pinLabelMargin": 0.5
   },
   "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "standard",
-  "highLevelStateHandlerParams": {
-    "subcomponentHighLevelStates": {},
-    "atomicHighLevelStates": {}
-  },
+  "highLevelStateHandlerSnippetID": "default",
   "version": "0.1.5"
 }
\ No newline at end of file
index a199100..7faf69d 100644 (file)
@@ -1,11 +1,11 @@
 {
-  "width": 45.0,
-  "height": 46.0,
+  "width": 50.0,
+  "height": 65.0,
   "interfacePins": [
     {
       "location": {
-        "x": 14.0,
-        "y": 46.0
+        "x": 0.0,
+        "y": 10.0
       },
       "name": "C",
       "logicWidth": 1,
@@ -13,8 +13,8 @@
     },
     {
       "location": {
-        "x": 27.5,
-        "y": 46.0
+        "x": 0.0,
+        "y": 50.0
       },
       "name": "CINV",
       "logicWidth": 1,
@@ -23,7 +23,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 31.0
+        "y": 40.0
       },
       "name": "I",
       "logicWidth": 4,
@@ -32,7 +32,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 13.5
+        "y": 30.0
       },
       "name": "M",
       "logicWidth": 4,
@@ -40,8 +40,8 @@
     },
     {
       "location": {
-        "x": 4.0,
-        "y": 46.0
+        "x": 0.0,
+        "y": 20.0
       },
       "name": "MUX",
       "logicWidth": 2,
@@ -49,8 +49,8 @@
     },
     {
       "location": {
-        "x": 37.5,
-        "y": 46.0
+        "x": 0.0,
+        "y": 60.0
       },
       "name": "OVRRET",
       "logicWidth": 1,
@@ -58,8 +58,8 @@
     },
     {
       "location": {
-        "x": 45.0,
-        "y": 19.0
+        "x": 50.0,
+        "y": 10.0
       },
       "name": "Q",
       "logicWidth": 4,
@@ -67,7 +67,7 @@
     },
     {
       "location": {
-        "x": 15.5,
+        "x": 20.0,
         "y": 0.0
       },
       "name": "_EC",
@@ -76,7 +76,7 @@
     },
     {
       "location": {
-        "x": 25.5,
+        "x": 30.0,
         "y": 0.0
       },
       "name": "_EN",
@@ -85,7 +85,7 @@
     },
     {
       "location": {
-        "x": 35.5,
+        "x": 40.0,
         "y": 0.0
       },
       "name": "_EOVR",
@@ -94,7 +94,7 @@
     },
     {
       "location": {
-        "x": 5.5,
+        "x": 10.0,
         "y": 0.0
       },
       "name": "_EZ",
       "usage": "INPUT"
     }
   ],
-  "innerScale": 0.1,
+  "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 45.0,
-          "y": 240.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 100.0,
-          "y": 190.0
-        }
-      },
-      {
-        "id": "xor",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 215.0,
-          "y": 200.0
-        }
-      },
       {
         "id": "Merger",
         "name": "Merger#0",
         "pos": {
-          "x": 435.0,
-          "y": 175.0
+          "x": 230.0,
+          "y": 30.0
         },
         "params": 4
       },
         "id": "NandGate",
         "name": "NandGate#0",
         "pos": {
-          "x": 245.0,
-          "y": 245.0
+          "x": 155.0,
+          "y": 135.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#1",
         "pos": {
-          "x": 215.0,
-          "y": 255.0
+          "x": 125.0,
+          "y": 150.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#2",
         "pos": {
-          "x": 215.0,
-          "y": 235.0
+          "x": 125.0,
+          "y": 130.0
         },
         "params": 1
       },
         "name": "Splitter#0",
         "pos": {
           "x": 5.0,
-          "y": 120.0
+          "y": 135.0
         },
         "params": 4
       },
         "name": "Splitter#1",
         "pos": {
           "x": 5.0,
-          "y": 295.0
+          "y": 185.0
         },
         "params": 4
       },
         "id": "Splitter",
         "name": "Splitter#2",
         "pos": {
-          "x": 45.0,
-          "y": 430.0
+          "x": 5.0,
+          "y": 95.0
         },
         "params": 2
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "pos": {
-          "x": 89.0,
-          "y": 234.0
+          "x": 19.0,
+          "y": 119.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#1",
         "pos": {
-          "x": 89.0,
-          "y": 224.0
+          "x": 59.0,
+          "y": 109.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#2",
         "pos": {
-          "x": 89.0,
-          "y": 214.0
+          "x": 59.0,
+          "y": 99.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#3",
         "pos": {
-          "x": 429.0,
-          "y": 204.0
+          "x": 224.0,
+          "y": 59.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#4",
         "pos": {
-          "x": 209.0,
-          "y": 244.0
+          "x": 114.0,
+          "y": 134.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#5",
+        "pos": {
+          "x": 59.0,
+          "y": 119.0
         },
         "params": 1
       },
         "id": "dff4_finewe",
         "name": "dff4_finewe#0",
         "pos": {
-          "x": 375.0,
-          "y": 170.0
+          "x": 185.0,
+          "y": 25.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#0",
+        "pos": {
+          "x": 25.0,
+          "y": 125.0
+        }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#1",
+        "pos": {
+          "x": 65.0,
+          "y": 75.0
+        }
+      },
+      {
+        "id": "xor",
+        "name": "xor#0",
+        "pos": {
+          "x": 130.0,
+          "y": 105.0
         }
       }
     ],
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_4"
         },
         "pin2": {
           "pinName": "O0"
         },
         "name": "unnamedWire#10",
-        "path": []
+        "path": [
+          {
+            "x": 20.0,
+            "y": 210.0
+          },
+          {
+            "x": 20.0,
+            "y": 215.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#12",
         "path": [
           {
             "x": 20.0,
-            "y": 150.0
+            "y": 165.0
           },
           {
             "x": 20.0,
-            "y": 285.0
+            "y": 170.0
           }
         ]
       },
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#13",
         "path": [
           {
-            "x": 25.0,
-            "y": 140.0
+            "x": 20.0,
+            "y": 155.0
           },
           {
-            "x": 25.0,
-            "y": 275.0
+            "x": 20.0,
+            "y": 160.0
           }
         ]
       },
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#14",
         "path": [
           {
-            "x": 30.0,
-            "y": 130.0
+            "x": 20.0,
+            "y": 145.0
           },
           {
-            "x": 30.0,
-            "y": 265.0
+            "x": 20.0,
+            "y": 150.0
           }
         ]
       },
           "pinName": "I"
         },
         "name": "unnamedWire#15",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 435.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
         "name": "unnamedWire#16",
         "path": [
           {
-            "x": 90.0,
-            "y": 440.0
+            "x": 20.0,
+            "y": 105.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I1_4"
         },
         "name": "unnamedWire#17",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I1_3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y3"
         },
         "name": "unnamedWire#18",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I1_2"
         },
         "name": "unnamedWire#19",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#20",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I0_1"
         },
         "pin2": {
         "name": "unnamedWire#21",
         "path": [
           {
-            "x": 90.0,
-            "y": 205.0
+            "x": 60.0,
+            "y": 90.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#22",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I0_3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#1",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#0",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "name": "unnamedWire#25",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#0",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#26",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#27",
         "path": [
           {
-            "x": 40.0,
-            "y": 235.0
-          },
-          {
-            "x": 40.0,
-            "y": 245.0
+            "x": 20.0,
+            "y": 130.0
           }
         ]
       },
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "S0"
         },
         "name": "unnamedWire#28",
         "path": [
           {
-            "x": 85.0,
-            "y": 430.0
+            "x": 20.0,
+            "y": 95.0
           },
           {
-            "x": 85.0,
-            "y": 195.0
+            "x": 20.0,
+            "y": 80.0
           }
         ]
       },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#5",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#1",
+          "pinName": ""
+        },
+        "name": "unnamedWire#29",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "dff4_finewe#0",
           "pinName": "A"
         },
         "name": "unnamedWire#30",
-        "path": [
-          {
-            "x": 240.0,
-            "y": 245.0
-          },
-          {
-            "x": 240.0,
-            "y": 250.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
         "name": "unnamedWire#31",
         "path": [
           {
-            "x": 240.0,
-            "y": 260.0
+            "x": 150.0,
+            "y": 150.0
           },
           {
-            "x": 240.0,
-            "y": 265.0
+            "x": 150.0,
+            "y": 160.0
           }
         ]
       },
         "name": "unnamedWire#32",
         "path": [
           {
-            "x": 375.0,
-            "y": 360.0
+            "x": 115.0,
+            "y": 300.0
           },
           {
-            "x": 205.0,
-            "y": 360.0
-          },
-          {
-            "x": 205.0,
-            "y": 260.0
+            "x": 115.0,
+            "y": 155.0
           }
         ]
       },
         "name": "unnamedWire#34",
         "path": [
           {
-            "x": 430.0,
-            "y": 280.0
+            "x": 225.0,
+            "y": 175.0
           },
           {
-            "x": 210.0,
-            "y": 280.0
+            "x": 120.0,
+            "y": 175.0
           },
           {
-            "x": 210.0,
-            "y": 270.0
+            "x": 120.0,
+            "y": 165.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "Y2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "xor#0",
           "pinName": "A"
         },
         "name": "unnamedWire#35",
-        "path": []
+        "path": [
+          {
+            "x": 125.0,
+            "y": 90.0
+          },
+          {
+            "x": 125.0,
+            "y": 110.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "CINV"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "xor#0",
           "pinName": "B"
         },
         "name": "unnamedWire#36",
         "path": [
           {
-            "x": 275.0,
-            "y": 390.0
-          },
-          {
-            "x": 190.0,
-            "y": 390.0
+            "x": 105.0,
+            "y": 250.0
           },
           {
-            "x": 190.0,
-            "y": 215.0
+            "x": 105.0,
+            "y": 120.0
           }
         ]
       },
         "name": "unnamedWire#37",
         "path": [
           {
-            "x": 370.0,
-            "y": 185.0
+            "x": 180.0,
+            "y": 40.0
           },
           {
-            "x": 370.0,
+            "x": 180.0,
             "y": 5.0
           },
           {
-            "x": 55.0,
+            "x": 50.0,
             "y": 5.0
           }
         ]
         "name": "unnamedWire#38",
         "path": [
           {
-            "x": 140.0,
-            "y": 325.0
-          },
-          {
-            "x": 345.0,
-            "y": 325.0
+            "x": 55.0,
+            "y": 50.0
           },
           {
-            "x": 345.0,
-            "y": 175.0
+            "x": 55.0,
+            "y": 30.0
           }
         ]
       },
         "name": "unnamedWire#39",
         "path": [
           {
-            "x": 355.0,
-            "y": 215.0
+            "x": 200.0,
+            "y": 20.0
+          },
+          {
+            "x": 165.0,
+            "y": 20.0
+          },
+          {
+            "x": 165.0,
+            "y": 70.0
           }
         ]
       },
           "pinName": "Q"
         },
         "name": "unnamedWire#4",
-        "path": []
+        "path": [
+          {
+            "x": 245.0,
+            "y": 45.0
+          },
+          {
+            "x": 245.0,
+            "y": 50.0
+          }
+        ]
       },
       {
         "pin1": {
         "name": "unnamedWire#40",
         "path": [
           {
-            "x": 360.0,
-            "y": 205.0
+            "x": 170.0,
+            "y": 60.0
           },
           {
-            "x": 360.0,
+            "x": 170.0,
             "y": 15.0
           },
           {
-            "x": 255.0,
+            "x": 150.0,
             "y": 15.0
           }
         ]
         "name": "unnamedWire#41",
         "path": [
           {
-            "x": 155.0,
+            "x": 100.0,
             "y": 10.0
           },
           {
-            "x": 365.0,
+            "x": 175.0,
             "y": 10.0
           },
           {
-            "x": 365.0,
-            "y": 195.0
+            "x": 175.0,
+            "y": 50.0
           }
         ]
       },
           "pinName": "D1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "Y1"
         },
         "name": "unnamedWire#42",
-        "path": [
-          {
-            "x": 315.0,
-            "y": 225.0
-          },
-          {
-            "x": 315.0,
-            "y": 195.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "xor#0",
           "pinName": "Y"
         },
         "pin2": {
         "name": "unnamedWire#43",
         "path": [
           {
-            "x": 310.0,
-            "y": 205.0
+            "x": 170.0,
+            "y": 110.0
           },
           {
-            "x": 310.0,
-            "y": 235.0
+            "x": 170.0,
+            "y": 90.0
           }
         ]
       },
           "pinName": "D3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "Y3"
         },
         "name": "unnamedWire#44",
-        "path": [
-          {
-            "x": 305.0,
-            "y": 245.0
-          },
-          {
-            "x": 305.0,
-            "y": 225.0
-          },
-          {
-            "x": 170.0,
-            "y": 225.0
-          },
-          {
-            "x": 170.0,
-            "y": 215.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "mux1_4#1",
           "pinName": "Y4"
         },
         "name": "unnamedWire#45",
         "path": [
           {
-            "x": 160.0,
-            "y": 245.0
-          },
-          {
-            "x": 160.0,
-            "y": 225.0
+            "x": 115.0,
+            "y": 110.0
           }
         ]
       },
           "pinName": "D4"
         },
         "name": "unnamedWire#46",
-        "path": []
+        "path": [
+          {
+            "x": 180.0,
+            "y": 145.0
+          },
+          {
+            "x": 180.0,
+            "y": 110.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "A"
         },
         "name": "unnamedWire#47",
-        "path": [
-          {
-            "x": 210.0,
-            "y": 240.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
         "name": "unnamedWire#48",
         "path": [
           {
-            "x": 210.0,
-            "y": 250.0
+            "x": 115.0,
+            "y": 145.0
           }
         ]
       },
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#49",
         "path": [
           {
-            "x": 35.0,
-            "y": 120.0
+            "x": 20.0,
+            "y": 135.0
           },
           {
-            "x": 35.0,
-            "y": 255.0
+            "x": 20.0,
+            "y": 140.0
           }
         ]
       },
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#7",
-        "path": []
+        "path": [
+          {
+            "x": 20.0,
+            "y": 185.0
+          },
+          {
+            "x": 20.0,
+            "y": 180.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_2"
         },
         "pin2": {
           "pinName": "O2"
         },
         "name": "unnamedWire#8",
-        "path": []
+        "path": [
+          {
+            "x": 20.0,
+            "y": 190.0
+          },
+          {
+            "x": 20.0,
+            "y": 195.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#9",
-        "path": []
+        "path": [
+          {
+            "x": 20.0,
+            "y": 205.0
+          },
+          {
+            "x": 20.0,
+            "y": 200.0
+          }
+        ]
       }
     ],
     "version": "0.1.1"
   },
   "symbolRendererSnippetID": "simpleRectangularLike",
   "symbolRendererParams": {
-    "centerText": "muSR",
+    "centerText": "µSR",
     "centerTextHeight": 5.0,
     "horizontalComponentCenter": 17.5,
     "pinLabelHeight": 3.5,
index 2a91d76..55256c7 100644 (file)
@@ -1,10 +1,10 @@
 {
-  "width": 72.0,
-  "height": 67.0,
+  "width": 60.0,
+  "height": 45.0,
   "interfacePins": [
     {
       "location": {
-        "x": 60.0,
+        "x": 40.0,
         "y": 0.0
       },
       "name": "C",
@@ -13,8 +13,8 @@
     },
     {
       "location": {
-        "x": 72.0,
-        "y": 40.0
+        "x": 60.0,
+        "y": 30.0
       },
       "name": "CI",
       "logicWidth": 1,
@@ -22,7 +22,7 @@
     },
     {
       "location": {
-        "x": 36.0,
+        "x": 30.0,
         "y": 0.0
       },
       "name": "D",
@@ -32,7 +32,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 50.0
+        "y": 25.0
       },
       "name": "I",
       "logicWidth": 4,
@@ -40,8 +40,8 @@
     },
     {
       "location": {
-        "x": 38.0,
-        "y": 67.0
+        "x": 35.0,
+        "y": 45.0
       },
       "name": "Y",
       "logicWidth": 12,
@@ -50,7 +50,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 38.0
+        "y": 10.0
       },
       "name": "_CC",
       "logicWidth": 1,
@@ -59,7 +59,7 @@
     {
       "location": {
         "x": 0.0,
-        "y": 44.0
+        "y": 15.0
       },
       "name": "_CCEN",
       "logicWidth": 1,
@@ -67,8 +67,8 @@
     },
     {
       "location": {
-        "x": 72.0,
-        "y": 14.0
+        "x": 60.0,
+        "y": 5.0
       },
       "name": "_FULL",
       "logicWidth": 1,
@@ -76,8 +76,8 @@
     },
     {
       "location": {
-        "x": 19.0,
-        "y": 67.0
+        "x": 15.0,
+        "y": 45.0
       },
       "name": "_MAP",
       "logicWidth": 1,
@@ -85,8 +85,8 @@
     },
     {
       "location": {
-        "x": 49.0,
-        "y": 67.0
+        "x": 40.0,
+        "y": 45.0
       },
       "name": "_OE",
       "logicWidth": 1,
@@ -94,8 +94,8 @@
     },
     {
       "location": {
-        "x": 13.0,
-        "y": 67.0
+        "x": 10.0,
+        "y": 45.0
       },
       "name": "_PL",
       "logicWidth": 1,
     {
       "location": {
         "x": 0.0,
-        "y": 6.0
+        "y": 5.0
       },
       "name": "_RLD",
       "logicWidth": 1,
     },
     {
       "location": {
-        "x": 25.0,
-        "y": 67.0
+        "x": 20.0,
+        "y": 45.0
       },
       "name": "_VECT",
       "logicWidth": 1,
         "id": "Am2910InstrPLA",
         "name": "Am2910InstrPLA#0",
         "pos": {
-          "x": 80.0,
-          "y": 155.0
+          "x": 70.0,
+          "y": 90.0
         }
       },
       {
         "id": "Am2910RegCntr",
         "name": "Am2910RegCntr#0",
         "pos": {
-          "x": 160.0,
-          "y": 25.0
+          "x": 130.0,
+          "y": 15.0
         }
       },
       {
         "id": "Am2910SP",
         "name": "Am2910SP#0",
         "pos": {
-          "x": 305.0,
-          "y": 55.0
+          "x": 240.0,
+          "y": 10.0
         }
       },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#0",
-        "pos": {
-          "x": 160.0,
-          "y": 95.0
-        },
-        "params": 12
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#1",
-        "pos": {
-          "x": 260.0,
-          "y": 115.0
-        },
-        "params": 12
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#2",
-        "pos": {
-          "x": 345.0,
-          "y": 180.0
-        },
-        "params": 12
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#3",
-        "pos": {
-          "x": 265.0,
-          "y": 150.0
-        },
-        "params": 12
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#4",
-        "pos": {
-          "x": 260.0,
-          "y": 85.0
-        },
-        "params": 3
-      },
-      {
-        "id": "BitDisplay",
-        "name": "BitDisplay#5",
-        "pos": {
-          "x": 260.0,
-          "y": 70.0
-        },
-        "params": 3
-      },
       {
         "id": "NandGate",
         "name": "NandGate#0",
         "pos": {
           "x": 40.0,
-          "y": 185.0
+          "y": 45.0
         },
         "params": 1
       },
         "name": "NandGate#1",
         "pos": {
           "x": 10.0,
-          "y": 210.0
+          "y": 60.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#2",
         "pos": {
-          "x": 250.0,
-          "y": 305.0
+          "x": 205.0,
+          "y": 195.0
         },
         "params": 1
       },
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#0",
         "pos": {
-          "x": 180.0,
-          "y": 290.0
+          "x": 165.0,
+          "y": 180.0
         },
         "params": {
           "logicWidth": 12,
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "pos": {
-          "x": 324.0,
-          "y": 149.0
+          "x": 259.0,
+          "y": 99.0
         },
         "params": 12
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#1",
         "pos": {
-          "x": 294.0,
-          "y": 104.0
+          "x": 224.0,
+          "y": 59.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#10",
         "pos": {
-          "x": 244.0,
-          "y": 319.0
+          "x": 199.0,
+          "y": 209.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#2",
         "pos": {
-          "x": 189.0,
-          "y": 274.0
+          "x": 174.0,
+          "y": 174.0
         },
         "params": 12
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#3",
         "pos": {
-          "x": 179.0,
-          "y": 89.0
+          "x": 164.0,
+          "y": 59.0
         },
         "params": 12
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#4",
         "pos": {
-          "x": 179.0,
-          "y": 14.0
+          "x": 149.0,
+          "y": 9.0
         },
         "params": 12
       },
         "name": "WireCrossPoint#5",
         "pos": {
           "x": 4.0,
-          "y": 219.0
+          "y": 74.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#6",
         "pos": {
-          "x": 299.0,
-          "y": 79.0
+          "x": 234.0,
+          "y": 34.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#7",
         "pos": {
-          "x": 299.0,
-          "y": 44.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
-        "pos": {
-          "x": 299.0,
-          "y": 169.0
+          "x": 199.0,
+          "y": 34.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#9",
         "pos": {
-          "x": 299.0,
-          "y": 114.0
+          "x": 234.0,
+          "y": 69.0
         },
         "params": 1
       },
         "id": "dff12",
         "name": "dff12#0",
         "pos": {
-          "x": 305.0,
-          "y": 160.0
+          "x": 240.0,
+          "y": 105.0
         }
       },
       {
         "id": "inc12",
         "name": "inc12#0",
         "pos": {
-          "x": 305.0,
-          "y": 190.0
+          "x": 240.0,
+          "y": 140.0
         }
       },
       {
         "id": "nor12",
         "name": "nor12#0",
         "pos": {
-          "x": 190.0,
-          "y": 80.0
+          "x": 175.0,
+          "y": 50.0
         }
       },
       {
         "id": "ram5_12",
         "name": "ram5_12#0",
         "pos": {
-          "x": 305.0,
-          "y": 100.0
+          "x": 240.0,
+          "y": 55.0
         }
       },
       {
         "id": "sel4_12",
         "name": "sel4_12#0",
         "pos": {
-          "x": 150.0,
-          "y": 175.0
+          "x": 135.0,
+          "y": 110.0
         }
       }
     ],
         "name": "unnamedWire#10",
         "path": [
           {
-            "x": 230.0,
-            "y": 90.0
+            "x": 215.0,
+            "y": 60.0
           },
           {
-            "x": 230.0,
-            "y": 120.0
+            "x": 215.0,
+            "y": 75.0
           },
           {
-            "x": 95.0,
-            "y": 120.0
+            "x": 85.0,
+            "y": 75.0
           }
         ]
       },
         "name": "unnamedWire#11",
         "path": [
           {
-            "x": 115.0,
-            "y": 160.0
+            "x": 105.0,
+            "y": 95.0
           },
           {
-            "x": 115.0,
-            "y": 45.0
+            "x": 105.0,
+            "y": 35.0
           }
         ]
       },
         "name": "unnamedWire#12",
         "path": [
           {
-            "x": 120.0,
-            "y": 170.0
+            "x": 110.0,
+            "y": 105.0
           },
           {
-            "x": 120.0,
-            "y": 55.0
+            "x": 110.0,
+            "y": 45.0
           }
         ]
       },
         "name": "unnamedWire#13",
         "path": [
           {
-            "x": 295.0,
-            "y": 220.0
+            "x": 225.0,
+            "y": 155.0
           }
         ]
       },
         "name": "unnamedWire#14",
         "path": [
           {
-            "x": 290.0,
-            "y": 230.0
+            "x": 230.0,
+            "y": 165.0
           },
           {
-            "x": 290.0,
-            "y": 70.0
+            "x": 230.0,
+            "y": 25.0
           }
         ]
       },
         "name": "unnamedWire#15",
         "path": [
           {
-            "x": 295.0,
-            "y": 60.0
+            "x": 225.0,
+            "y": 15.0
           }
         ]
       },
         "name": "unnamedWire#18",
         "path": [
           {
-            "x": 325.0,
-            "y": 275.0
+            "x": 260.0,
+            "y": 175.0
           }
         ]
       },
         "name": "unnamedWire#19",
         "path": [
           {
-            "x": 200.0,
-            "y": 130.0
+            "x": 185.0,
+            "y": 85.0
           }
         ]
       },
         "name": "unnamedWire#20",
         "path": [
           {
-            "x": 220.0,
-            "y": 150.0
+            "x": 205.0,
+            "y": 100.0
           }
         ]
       },
         "name": "unnamedWire#25",
         "path": [
           {
-            "x": 145.0,
-            "y": 15.0
+            "x": 125.0,
+            "y": 10.0
           },
           {
-            "x": 145.0,
-            "y": 150.0
+            "x": 125.0,
+            "y": 65.0
           },
           {
-            "x": 160.0,
-            "y": 150.0
+            "x": 145.0,
+            "y": 65.0
           }
         ]
       },
         "path": [
           {
             "x": 65.0,
-            "y": 195.0
+            "y": 55.0
           },
           {
             "x": 65.0,
-            "y": 160.0
+            "y": 95.0
           }
         ]
       },
         "path": [
           {
             "x": 5.0,
-            "y": 215.0
+            "y": 65.0
           }
         ]
       },
           "pinName": "B"
         },
         "name": "unnamedWire#32",
-        "path": [
-          {
-            "x": 5.0,
-            "y": 225.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
         "path": [
           {
             "x": 35.0,
-            "y": 220.0
+            "y": 70.0
           },
           {
             "x": 35.0,
-            "y": 200.0
+            "y": 60.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
           "pinName": "C"
         },
         "name": "unnamedWire#35",
-        "path": []
+        "path": [
+          {
+            "x": 235.0,
+            "y": 115.0
+          }
+        ]
       },
       {
         "pin1": {
         "name": "unnamedWire#42",
         "path": [
           {
-            "x": 85.0,
-            "y": 290.0
+            "x": 75.0,
+            "y": 180.0
           },
           {
-            "x": 65.0,
-            "y": 290.0
+            "x": 50.0,
+            "y": 180.0
           }
         ]
       },
           "pinName": "_MAP"
         },
         "name": "unnamedWire#43",
-        "path": []
+        "path": [
+          {
+            "x": 85.0,
+            "y": 185.0
+          },
+          {
+            "x": 75.0,
+            "y": 185.0
+          }
+        ]
       },
       {
         "pin1": {
         "name": "unnamedWire#44",
         "path": [
           {
-            "x": 105.0,
-            "y": 290.0
+            "x": 95.0,
+            "y": 190.0
           },
           {
-            "x": 125.0,
-            "y": 290.0
+            "x": 100.0,
+            "y": 190.0
           }
         ]
       },
         "name": "unnamedWire#45",
         "path": [
           {
-            "x": 70.0,
-            "y": 250.0
+            "x": 35.0,
+            "y": 125.0
           },
           {
-            "x": 70.0,
-            "y": 175.0
+            "x": 35.0,
+            "y": 110.0
           }
         ]
       },
-      {
-        "pin1": {
-          "compName": "Am2910RegCntr#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "BitDisplay#0",
-          "pinName": ""
-        },
-        "name": "unnamedWire#46",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "ram5_12#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "BitDisplay#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#47",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "inc12#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "BitDisplay#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#48",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff12#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "BitDisplay#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#49",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "dff12#0",
         "name": "unnamedWire#50",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "name": "unnamedWire#51",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "TriStateBuffer#0",
         "name": "unnamedWire#53",
         "path": []
       },
-      {
-        "pin1": {
-          "compName": "Am2910SP#0",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "BitDisplay#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#54",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Am2910SP#0",
-          "pinName": "B"
-        },
-        "pin2": {
-          "compName": "BitDisplay#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#55",
-        "path": []
-      },
       {
         "pin1": {
           "compName": "WireCrossPoint#10",
         "name": "unnamedWire#57",
         "path": [
           {
-            "x": 245.0,
-            "y": 310.0
+            "x": 200.0,
+            "y": 200.0
           }
         ]
       },
         "name": "unnamedWire#58",
         "path": [
           {
-            "x": 275.0,
-            "y": 300.0
+            "x": 230.0,
+            "y": 190.0
           },
           {
-            "x": 275.0,
-            "y": 315.0
+            "x": 230.0,
+            "y": 205.0
           }
         ]
       },
           "pinName": ""
         },
         "name": "unnamedWire#9",
-        "path": []
+        "path": [
+          {
+            "x": 150.0,
+            "y": 60.0
+          }
+        ]
       }
     ],
     "version": "0.1.1"
index f5283a0..20f0664 100644 (file)
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 175.0,
-          "y": 170.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 130.0,
-          "y": 160.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 130.0,
-          "y": 130.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 175.0,
-          "y": 80.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 175.0,
-          "y": 110.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#15",
-        "pos": {
-          "x": 130.0,
-          "y": 100.0
-        }
-      },
-      {
-        "id": "mux1_12",
-        "name": "DeserializedSubmodelComponent#17",
-        "pos": {
-          "x": 15.0,
-          "y": 90.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#4",
-        "pos": {
-          "x": 175.0,
-          "y": 20.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#5",
-        "pos": {
-          "x": 175.0,
-          "y": 50.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 130.0,
-          "y": 10.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 130.0,
-          "y": 40.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#8",
-        "pos": {
-          "x": 130.0,
-          "y": 70.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#9",
-        "pos": {
-          "x": 175.0,
-          "y": 140.0
-        }
-      },
       {
         "id": "Merger",
         "name": "Merger#0",
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#11",
+        "name": "WireCrossPoint#0",
         "pos": {
-          "x": 169.0,
-          "y": 54.0
+          "x": 124.0,
+          "y": 14.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#12",
+        "name": "WireCrossPoint#1",
         "pos": {
-          "x": 169.0,
-          "y": 144.0
+          "x": 124.0,
+          "y": 44.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#13",
+        "name": "WireCrossPoint#10",
         "pos": {
           "x": 169.0,
-          "y": 24.0
+          "y": 114.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#14",
+        "name": "WireCrossPoint#2",
         "pos": {
-          "x": 169.0,
-          "y": 84.0
+          "x": 124.0,
+          "y": 104.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#15",
+        "name": "WireCrossPoint#3",
         "pos": {
-          "x": 169.0,
-          "y": 114.0
+          "x": 124.0,
+          "y": 134.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
+        "name": "WireCrossPoint#4",
         "pos": {
           "x": 124.0,
-          "y": 14.0
+          "y": 74.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
+        "name": "WireCrossPoint#5",
         "pos": {
-          "x": 124.0,
-          "y": 44.0
+          "x": 264.0,
+          "y": 99.0
         },
-        "params": 1
+        "params": 12
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
+        "name": "WireCrossPoint#6",
         "pos": {
-          "x": 124.0,
-          "y": 104.0
+          "x": 169.0,
+          "y": 54.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
+        "name": "WireCrossPoint#7",
         "pos": {
-          "x": 124.0,
-          "y": 134.0
+          "x": 169.0,
+          "y": 144.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
+        "name": "WireCrossPoint#8",
         "pos": {
-          "x": 124.0,
-          "y": 74.0
+          "x": 169.0,
+          "y": 24.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
+        "name": "WireCrossPoint#9",
         "pos": {
-          "x": 264.0,
-          "y": 99.0
+          "x": 169.0,
+          "y": 84.0
         },
-        "params": 12
+        "params": 1
+      },
+      {
+        "id": "dff",
+        "name": "dff#0",
+        "pos": {
+          "x": 175.0,
+          "y": 20.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#1",
+        "pos": {
+          "x": 175.0,
+          "y": 50.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#10",
+        "pos": {
+          "x": 175.0,
+          "y": 110.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#11",
+        "pos": {
+          "x": 130.0,
+          "y": 100.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#2",
+        "pos": {
+          "x": 130.0,
+          "y": 10.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#3",
+        "pos": {
+          "x": 130.0,
+          "y": 40.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#4",
+        "pos": {
+          "x": 130.0,
+          "y": 70.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#5",
+        "pos": {
+          "x": 175.0,
+          "y": 140.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#6",
+        "pos": {
+          "x": 175.0,
+          "y": 170.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#7",
+        "pos": {
+          "x": 130.0,
+          "y": 160.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#8",
+        "pos": {
+          "x": 130.0,
+          "y": 130.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#9",
+        "pos": {
+          "x": 175.0,
+          "y": 80.0
+        }
+      },
+      {
+        "id": "mux1_12",
+        "name": "mux1_12#0",
+        "pos": {
+          "x": 15.0,
+          "y": 90.0
+        }
       }
     ],
     "wires": [
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "name": "unnamedWire#0",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "dff#11",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "dff#10",
           "pinName": "D"
         },
         "name": "unnamedWire#11",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff#8",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff#5",
           "pinName": "D"
         },
         "name": "unnamedWire#13",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "dff#7",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "dff#6",
           "pinName": "D"
         },
         "name": "unnamedWire#15",
           "pinName": "WE"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1_12#0",
           "pinName": "S"
         },
         "name": "unnamedWire#16",
           "pinName": "D"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1_12#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#17",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1_12#0",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "dff#2",
           "pinName": "C"
         },
         "name": "unnamedWire#21",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "name": "unnamedWire#22",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "dff#3",
           "pinName": "C"
         },
         "pin2": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "name": "unnamedWire#23",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "name": "unnamedWire#24",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "dff#4",
           "pinName": "C"
         },
         "name": "unnamedWire#25",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "name": "unnamedWire#26",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "dff#11",
           "pinName": "C"
         },
         "name": "unnamedWire#27",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "name": "unnamedWire#28",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff#8",
           "pinName": "C"
         },
         "name": "unnamedWire#29",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#17",
+          "compName": "mux1_12#0",
           "pinName": "I0"
         },
         "pin2": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "name": "unnamedWire#3",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "dff#7",
           "pinName": "C"
         },
         "name": "unnamedWire#30",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "dff#6",
           "pinName": "C"
         },
         "pin2": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "name": "unnamedWire#31",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff#5",
           "pinName": "C"
         },
         "name": "unnamedWire#32",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "name": "unnamedWire#33",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "dff#10",
           "pinName": "C"
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "name": "unnamedWire#34",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "name": "unnamedWire#35",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "dff#9",
           "pinName": "C"
         },
         "name": "unnamedWire#36",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "name": "unnamedWire#37",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "dff#1",
           "pinName": "C"
         },
         "name": "unnamedWire#38",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "name": "unnamedWire#39",
           "pinName": "O11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "dff#2",
           "pinName": "D"
         },
         "name": "unnamedWire#4",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "dff#0",
           "pinName": "C"
         },
         "name": "unnamedWire#40",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "dff#0",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "I11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "dff#2",
           "pinName": "Q"
         },
         "name": "unnamedWire#53",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "dff#0",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "dff#3",
           "pinName": "Q"
         },
         "name": "unnamedWire#55",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "dff#1",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "dff#4",
           "pinName": "Q"
         },
         "name": "unnamedWire#57",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "dff#9",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "dff#11",
           "pinName": "Q"
         },
         "name": "unnamedWire#59",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "dff#3",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "I4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "dff#10",
           "pinName": "Q"
         },
         "name": "unnamedWire#60",
           "pinName": "I3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff#8",
           "pinName": "Q"
         },
         "name": "unnamedWire#61",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff#5",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "dff#7",
           "pinName": "Q"
         },
         "name": "unnamedWire#63",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "dff#6",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "O"
         },
         "pin2": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "name": "unnamedWire#65",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "pin2": {
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "dff#1",
           "pinName": "D"
         },
         "name": "unnamedWire#7",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "dff#4",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O6"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "dff#9",
           "pinName": "D"
         },
         "name": "unnamedWire#9",
index af3897d..11bc97c 100644 (file)
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 140.0,
-          "y": 15.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 190.0,
-          "y": 25.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 190.0,
-          "y": 235.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 140.0,
-          "y": 225.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 140.0,
-          "y": 195.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 190.0,
-          "y": 145.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 190.0,
-          "y": 175.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#15",
-        "pos": {
-          "x": 140.0,
-          "y": 165.0
-        }
-      },
-      {
-        "id": "mux1_16",
-        "name": "DeserializedSubmodelComponent#16",
-        "pos": {
-          "x": 15.0,
-          "y": 95.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 190.0,
-          "y": 55.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#3",
-        "pos": {
-          "x": 140.0,
-          "y": 45.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#4",
-        "pos": {
-          "x": 190.0,
-          "y": 85.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#5",
-        "pos": {
-          "x": 190.0,
-          "y": 115.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 140.0,
-          "y": 75.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 140.0,
-          "y": 105.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#8",
-        "pos": {
-          "x": 140.0,
-          "y": 135.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "DeserializedSubmodelComponent#9",
-        "pos": {
-          "x": 190.0,
-          "y": 205.0
-        }
-      },
       {
         "id": "Merger",
         "name": "Merger#0",
       {
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#10",
-        "pos": {
-          "x": 184.0,
-          "y": 29.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#11",
         "pos": {
           "x": 184.0,
           "y": 119.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#12",
+        "name": "WireCrossPoint#11",
         "pos": {
           "x": 184.0,
           "y": 209.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#13",
+        "name": "WireCrossPoint#12",
         "pos": {
           "x": 184.0,
           "y": 89.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#14",
+        "name": "WireCrossPoint#13",
         "pos": {
           "x": 184.0,
           "y": 149.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#15",
+        "name": "WireCrossPoint#14",
         "pos": {
           "x": 184.0,
           "y": 179.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
+        "name": "WireCrossPoint#4",
         "pos": {
           "x": 134.0,
           "y": 169.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
+        "name": "WireCrossPoint#5",
         "pos": {
           "x": 134.0,
           "y": 199.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
+        "name": "WireCrossPoint#6",
         "pos": {
           "x": 134.0,
           "y": 139.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
+        "name": "WireCrossPoint#7",
         "pos": {
           "x": 289.0,
           "y": 124.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#9",
+        "name": "WireCrossPoint#8",
         "pos": {
           "x": 184.0,
           "y": 59.0
         },
         "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#9",
+        "pos": {
+          "x": 184.0,
+          "y": 29.0
+        },
+        "params": 1
+      },
+      {
+        "id": "dff",
+        "name": "dff#0",
+        "pos": {
+          "x": 140.0,
+          "y": 15.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#1",
+        "pos": {
+          "x": 190.0,
+          "y": 25.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#10",
+        "pos": {
+          "x": 190.0,
+          "y": 235.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#11",
+        "pos": {
+          "x": 140.0,
+          "y": 225.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#12",
+        "pos": {
+          "x": 140.0,
+          "y": 195.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#13",
+        "pos": {
+          "x": 190.0,
+          "y": 145.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#14",
+        "pos": {
+          "x": 190.0,
+          "y": 175.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#15",
+        "pos": {
+          "x": 140.0,
+          "y": 165.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#2",
+        "pos": {
+          "x": 190.0,
+          "y": 55.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#3",
+        "pos": {
+          "x": 140.0,
+          "y": 45.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#4",
+        "pos": {
+          "x": 190.0,
+          "y": 85.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#5",
+        "pos": {
+          "x": 190.0,
+          "y": 115.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#6",
+        "pos": {
+          "x": 140.0,
+          "y": 75.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#7",
+        "pos": {
+          "x": 140.0,
+          "y": 105.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#8",
+        "pos": {
+          "x": 140.0,
+          "y": 135.0
+        }
+      },
+      {
+        "id": "dff",
+        "name": "dff#9",
+        "pos": {
+          "x": 190.0,
+          "y": 205.0
+        }
+      },
+      {
+        "id": "mux1_16",
+        "name": "mux1_16#0",
+        "pos": {
+          "x": 15.0,
+          "y": 95.0
+        }
       }
     ],
     "wires": [
           "pinName": "O15"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "dff#0",
           "pinName": "D"
         },
         "name": "unnamedWire#0",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "dff#1",
           "pinName": "D"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "dff#15",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "dff#14",
           "pinName": "D"
         },
         "name": "unnamedWire#11",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff#12",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff#9",
           "pinName": "D"
         },
         "name": "unnamedWire#13",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "dff#11",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "dff#10",
           "pinName": "D"
         },
         "name": "unnamedWire#15",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux1_16#0",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "dff#0",
           "pinName": "C"
         },
         "name": "unnamedWire#17",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "dff#3",
           "pinName": "C"
         },
         "name": "unnamedWire#19",
           "pinName": "O13"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "dff#3",
           "pinName": "D"
         },
         "name": "unnamedWire#2",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "dff#6",
           "pinName": "C"
         },
         "name": "unnamedWire#21",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "dff#7",
           "pinName": "C"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "name": "unnamedWire#24",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "dff#8",
           "pinName": "C"
         },
         "name": "unnamedWire#25",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "name": "unnamedWire#26",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "dff#15",
           "pinName": "C"
         },
         "name": "unnamedWire#27",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "name": "unnamedWire#28",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff#12",
           "pinName": "C"
         },
         "name": "unnamedWire#29",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "dff#2",
           "pinName": "D"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "dff#11",
           "pinName": "C"
         },
         "name": "unnamedWire#30",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "dff#10",
           "pinName": "C"
         },
         "pin2": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#11",
           "pinName": ""
         },
         "name": "unnamedWire#31",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#11",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff#9",
           "pinName": "C"
         },
         "name": "unnamedWire#32",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#11",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#14",
           "pinName": ""
         },
         "name": "unnamedWire#33",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "dff#14",
           "pinName": "C"
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#14",
           "pinName": ""
         },
         "name": "unnamedWire#34",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#13",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#14",
           "pinName": ""
         },
         "name": "unnamedWire#35",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#13",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "dff#13",
           "pinName": "C"
         },
         "name": "unnamedWire#36",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#13",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "name": "unnamedWire#37",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "dff#5",
           "pinName": "C"
         },
         "name": "unnamedWire#38",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#12",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "name": "unnamedWire#39",
           "pinName": "O11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "dff#6",
           "pinName": "D"
         },
         "name": "unnamedWire#4",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#12",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "dff#4",
           "pinName": "C"
         },
         "name": "unnamedWire#40",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#12",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#9",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "name": "unnamedWire#41",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#9",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "dff#2",
           "pinName": "C"
         },
         "name": "unnamedWire#42",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#9",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#10",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "name": "unnamedWire#43",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#10",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "dff#1",
           "pinName": "C"
         },
         "name": "unnamedWire#44",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#10",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "name": "unnamedWire#45",
           "pinName": "_WE"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux1_16#0",
           "pinName": "S"
         },
         "name": "unnamedWire#47",
           "pinName": "I15"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "dff#0",
           "pinName": "Q"
         },
         "name": "unnamedWire#49",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "dff#4",
           "pinName": "D"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "dff#1",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I13"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "dff#3",
           "pinName": "Q"
         },
         "name": "unnamedWire#51",
           "pinName": "I12"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "dff#2",
           "pinName": "Q"
         },
         "name": "unnamedWire#52",
           "pinName": "I11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "dff#6",
           "pinName": "Q"
         },
         "name": "unnamedWire#53",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "dff#4",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "dff#7",
           "pinName": "Q"
         },
         "name": "unnamedWire#55",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "dff#5",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "dff#8",
           "pinName": "Q"
         },
         "name": "unnamedWire#57",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "dff#13",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "dff#15",
           "pinName": "Q"
         },
         "name": "unnamedWire#59",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "dff#7",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "I4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "dff#14",
           "pinName": "Q"
         },
         "name": "unnamedWire#60",
           "pinName": "I3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "dff#12",
           "pinName": "Q"
         },
         "name": "unnamedWire#61",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "dff#9",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "I1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "dff#11",
           "pinName": "Q"
         },
         "name": "unnamedWire#63",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "dff#10",
           "pinName": "Q"
         },
         "pin2": {
           "pinName": "O"
         },
         "pin2": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "name": "unnamedWire#65",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux1_16#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#67",
           "pinName": "D"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#16",
+          "compName": "mux1_16#0",
           "pinName": "I0"
         },
         "name": "unnamedWire#68",
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "dff#5",
           "pinName": "D"
         },
         "name": "unnamedWire#7",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "dff#8",
           "pinName": "D"
         },
         "pin2": {
           "pinName": "O6"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "dff#13",
           "pinName": "D"
         },
         "name": "unnamedWire#9",
index d54a34e..ac0a451 100644 (file)
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 55.0,
-          "y": 70.0
-        }
-      },
       {
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
           "x": 115.0,
           "y": 170.0
         }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#0",
+        "pos": {
+          "x": 55.0,
+          "y": 70.0
+        }
       }
     ],
     "wires": [
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y1"
         },
         "pin2": {
           "pinName": "D1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#10",
           "pinName": "D2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_2"
         },
         "name": "unnamedWire#11",
           "pinName": "D3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#12",
           "pinName": "D4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_4"
         },
         "name": "unnamedWire#17",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y2"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y4"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#24",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#25",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#26",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#28",
           "pinName": "WE"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#9",
index 2902594..0320f12 100644 (file)
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 55.0,
-          "y": 70.0
-        }
-      },
       {
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
           "x": 115.0,
           "y": 170.0
         }
+      },
+      {
+        "id": "mux1_4",
+        "name": "mux1_4#0",
+        "pos": {
+          "x": 55.0,
+          "y": 70.0
+        }
       }
     ],
     "wires": [
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y1"
         },
         "pin2": {
           "pinName": "D1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_1"
         },
         "name": "unnamedWire#10",
           "pinName": "D2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_2"
         },
         "name": "unnamedWire#11",
           "pinName": "D3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_3"
         },
         "name": "unnamedWire#12",
           "pinName": "D4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I0_4"
         },
         "name": "unnamedWire#17",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y2"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y3"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "Y4"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_1"
         },
         "name": "unnamedWire#24",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_2"
         },
         "name": "unnamedWire#25",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_3"
         },
         "name": "unnamedWire#26",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "I1_4"
         },
         "name": "unnamedWire#28",
           "pinName": "_WE"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux1_4#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#9",
index 0d1cb5a..faeaeb5 100644 (file)
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 95.0,
-          "y": 145.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 95.0,
-          "y": 205.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 150.0,
-          "y": 285.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 150.0,
-          "y": 225.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 95.0,
-          "y": 265.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#15",
-        "pos": {
-          "x": 150.0,
-          "y": 345.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#4",
-        "pos": {
-          "x": 150.0,
-          "y": 45.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#5",
-        "pos": {
-          "x": 95.0,
-          "y": 85.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 150.0,
-          "y": 105.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 95.0,
-          "y": 25.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#8",
-        "pos": {
-          "x": 95.0,
-          "y": 325.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#9",
-        "pos": {
-          "x": 150.0,
-          "y": 165.0
-        }
-      },
       {
         "id": "Merger",
         "name": "Merger#0",
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#10",
-        "pos": {
-          "x": 144.0,
-          "y": 239.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#11",
+        "name": "WireCrossPoint#0",
         "pos": {
           "x": 139.0,
-          "y": 229.0
+          "y": 49.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#12",
+        "name": "WireCrossPoint#1",
         "pos": {
           "x": 144.0,
-          "y": 299.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#13",
-        "pos": {
-          "x": 139.0,
-          "y": 289.0
+          "y": 59.0
         },
         "params": 1
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#14",
+        "name": "WireCrossPoint#10",
         "pos": {
           "x": 89.0,
           "y": 4.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#15",
+        "name": "WireCrossPoint#11",
         "pos": {
           "x": 84.0,
           "y": 19.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#16",
+        "name": "WireCrossPoint#12",
         "pos": {
           "x": 49.0,
           "y": 24.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#17",
+        "name": "WireCrossPoint#13",
         "pos": {
           "x": 49.0,
           "y": 14.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#18",
+        "name": "WireCrossPoint#14",
         "pos": {
           "x": 84.0,
           "y": 269.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#19",
+        "name": "WireCrossPoint#15",
         "pos": {
           "x": 89.0,
           "y": 279.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#20",
+        "name": "WireCrossPoint#16",
         "pos": {
           "x": 84.0,
           "y": 209.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#21",
+        "name": "WireCrossPoint#17",
         "pos": {
           "x": 89.0,
           "y": 219.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#22",
+        "name": "WireCrossPoint#18",
         "pos": {
           "x": 89.0,
           "y": 159.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#23",
+        "name": "WireCrossPoint#19",
         "pos": {
           "x": 84.0,
           "y": 149.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#24",
+        "name": "WireCrossPoint#2",
+        "pos": {
+          "x": 144.0,
+          "y": 119.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#20",
         "pos": {
           "x": 84.0,
           "y": 89.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#25",
+        "name": "WireCrossPoint#21",
         "pos": {
           "x": 89.0,
           "y": 99.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#26",
+        "name": "WireCrossPoint#22",
         "pos": {
           "x": 84.0,
           "y": 29.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#27",
+        "name": "WireCrossPoint#23",
         "pos": {
           "x": 89.0,
           "y": 39.0
         },
         "params": 1
       },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#3",
+        "pos": {
+          "x": 139.0,
+          "y": 109.0
+        },
+        "params": 1
+      },
       {
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#4",
         "pos": {
           "x": 139.0,
-          "y": 49.0
+          "y": 169.0
         },
         "params": 1
       },
         "name": "WireCrossPoint#5",
         "pos": {
           "x": 144.0,
-          "y": 59.0
+          "y": 179.0
         },
         "params": 1
       },
         "name": "WireCrossPoint#6",
         "pos": {
           "x": 144.0,
-          "y": 119.0
+          "y": 239.0
         },
         "params": 1
       },
         "name": "WireCrossPoint#7",
         "pos": {
           "x": 139.0,
-          "y": 109.0
+          "y": 229.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#8",
         "pos": {
-          "x": 139.0,
-          "y": 169.0
+          "x": 144.0,
+          "y": 299.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#9",
         "pos": {
-          "x": 144.0,
-          "y": 179.0
+          "x": 139.0,
+          "y": 289.0
         },
         "params": 1
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#0",
+        "pos": {
+          "x": 150.0,
+          "y": 45.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#1",
+        "pos": {
+          "x": 95.0,
+          "y": 85.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#10",
+        "pos": {
+          "x": 95.0,
+          "y": 265.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#11",
+        "pos": {
+          "x": 150.0,
+          "y": 345.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#2",
+        "pos": {
+          "x": 150.0,
+          "y": 105.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#3",
+        "pos": {
+          "x": 95.0,
+          "y": 25.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#4",
+        "pos": {
+          "x": 95.0,
+          "y": 325.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#5",
+        "pos": {
+          "x": 150.0,
+          "y": 165.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#6",
+        "pos": {
+          "x": 95.0,
+          "y": 145.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#7",
+        "pos": {
+          "x": 95.0,
+          "y": 205.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#8",
+        "pos": {
+          "x": 150.0,
+          "y": 285.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#9",
+        "pos": {
+          "x": 150.0,
+          "y": 225.0
+        }
       }
     ],
     "wires": [
       {
         "pin1": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#11",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#26",
+          "compName": "WireCrossPoint#22",
           "pinName": ""
         },
         "name": "unnamedWire#0",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#27",
+          "compName": "WireCrossPoint#23",
           "pinName": ""
         },
         "name": "unnamedWire#1",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#16",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#7",
           "pinName": "S1"
         },
         "name": "unnamedWire#10",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#3",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#0",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#1",
           "pinName": "Y"
         },
         "name": "unnamedWire#105",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#2",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#6",
           "pinName": "Y"
         },
         "name": "unnamedWire#107",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#5",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#7",
           "pinName": "Y"
         },
         "name": "unnamedWire#109",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#21",
+          "compName": "WireCrossPoint#17",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#7",
           "pinName": "S2"
         },
         "name": "unnamedWire#11",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#9",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#10",
           "pinName": "Y"
         },
         "name": "unnamedWire#111",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#8",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#4",
           "pinName": "Y"
         },
         "name": "unnamedWire#113",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#11",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#17",
+          "compName": "WireCrossPoint#13",
           "pinName": ""
         },
         "name": "unnamedWire#116",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#10",
           "pinName": "S1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#18",
+          "compName": "WireCrossPoint#14",
           "pinName": ""
         },
         "name": "unnamedWire#12",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#19",
+          "compName": "WireCrossPoint#15",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#10",
           "pinName": "S2"
         },
         "name": "unnamedWire#13",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#11",
           "pinName": "S1"
         },
         "name": "unnamedWire#16",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#8",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "name": "unnamedWire#18",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#8",
           "pinName": "S1"
         },
         "name": "unnamedWire#19",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#11",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#4",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "name": "unnamedWire#2",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#9",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#10",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "name": "unnamedWire#20",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#9",
           "pinName": "S1"
         },
         "name": "unnamedWire#21",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#5",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#9",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "name": "unnamedWire#22",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#5",
           "pinName": "S1"
         },
         "name": "unnamedWire#23",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#2",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "name": "unnamedWire#24",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#2",
           "pinName": "S1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "name": "unnamedWire#25",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#0",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "name": "unnamedWire#26",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#4",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#0",
           "pinName": "S1"
         },
         "name": "unnamedWire#27",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#14",
+          "compName": "WireCrossPoint#10",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "name": "unnamedWire#3",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#4",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "name": "unnamedWire#35",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#7",
+          "compName": "WireCrossPoint#3",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "name": "unnamedWire#36",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#8",
+          "compName": "WireCrossPoint#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "name": "unnamedWire#37",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#11",
+          "compName": "WireCrossPoint#7",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#13",
+          "compName": "WireCrossPoint#9",
           "pinName": ""
         },
         "name": "unnamedWire#38",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#5",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "name": "unnamedWire#39",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#26",
+          "compName": "WireCrossPoint#22",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#3",
           "pinName": "S1"
         },
         "name": "unnamedWire#4",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#6",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#9",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "name": "unnamedWire#40",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#9",
+          "compName": "WireCrossPoint#5",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#10",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "name": "unnamedWire#41",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#10",
+          "compName": "WireCrossPoint#6",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "name": "unnamedWire#42",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#12",
+          "compName": "WireCrossPoint#8",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#11",
           "pinName": "S2"
         },
         "name": "unnamedWire#43",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#26",
+          "compName": "WireCrossPoint#22",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#24",
+          "compName": "WireCrossPoint#20",
           "pinName": ""
         },
         "name": "unnamedWire#44",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#24",
+          "compName": "WireCrossPoint#20",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#23",
+          "compName": "WireCrossPoint#19",
           "pinName": ""
         },
         "name": "unnamedWire#45",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#23",
+          "compName": "WireCrossPoint#19",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#16",
           "pinName": ""
         },
         "name": "unnamedWire#46",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#16",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#18",
+          "compName": "WireCrossPoint#14",
           "pinName": ""
         },
         "name": "unnamedWire#47",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#18",
+          "compName": "WireCrossPoint#14",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#4",
           "pinName": "S1"
         },
         "name": "unnamedWire#48",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#19",
+          "compName": "WireCrossPoint#15",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#4",
           "pinName": "S2"
         },
         "name": "unnamedWire#49",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#27",
+          "compName": "WireCrossPoint#23",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#3",
           "pinName": "S2"
         },
         "name": "unnamedWire#5",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#19",
+          "compName": "WireCrossPoint#15",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#21",
+          "compName": "WireCrossPoint#17",
           "pinName": ""
         },
         "name": "unnamedWire#50",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#21",
+          "compName": "WireCrossPoint#17",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#22",
+          "compName": "WireCrossPoint#18",
           "pinName": ""
         },
         "name": "unnamedWire#51",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#25",
+          "compName": "WireCrossPoint#21",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#22",
+          "compName": "WireCrossPoint#18",
           "pinName": ""
         },
         "name": "unnamedWire#52",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#25",
+          "compName": "WireCrossPoint#21",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#27",
+          "compName": "WireCrossPoint#23",
           "pinName": ""
         },
         "name": "unnamedWire#53",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#24",
+          "compName": "WireCrossPoint#20",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#1",
           "pinName": "S1"
         },
         "name": "unnamedWire#6",
           "pinName": "O11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#3",
           "pinName": "I1"
         },
         "name": "unnamedWire#64",
           "pinName": "O10"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#65",
           "pinName": "O9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#1",
           "pinName": "I1"
         },
         "name": "unnamedWire#66",
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#2",
           "pinName": "I1"
         },
         "name": "unnamedWire#67",
           "pinName": "O7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#6",
           "pinName": "I1"
         },
         "name": "unnamedWire#68",
           "pinName": "O6"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#5",
           "pinName": "I1"
         },
         "name": "unnamedWire#69",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#1",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#25",
+          "compName": "WireCrossPoint#21",
           "pinName": ""
         },
         "name": "unnamedWire#7",
           "pinName": "O5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#7",
           "pinName": "I1"
         },
         "name": "unnamedWire#70",
           "pinName": "O4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#9",
           "pinName": "I1"
         },
         "name": "unnamedWire#71",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#10",
           "pinName": "I1"
         },
         "name": "unnamedWire#72",
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#8",
           "pinName": "I1"
         },
         "name": "unnamedWire#73",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#4",
           "pinName": "I1"
         },
         "name": "unnamedWire#74",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#11",
           "pinName": "I1"
         },
         "name": "unnamedWire#75",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#23",
+          "compName": "WireCrossPoint#19",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#6",
           "pinName": "S1"
         },
         "name": "unnamedWire#8",
           "pinName": "O11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#3",
           "pinName": "I2"
         },
         "name": "unnamedWire#82",
           "pinName": "O10"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#0",
           "pinName": "I2"
         },
         "name": "unnamedWire#83",
           "pinName": "O9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#1",
           "pinName": "I2"
         },
         "name": "unnamedWire#84",
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#2",
           "pinName": "I2"
         },
         "name": "unnamedWire#85",
           "pinName": "O7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#6",
           "pinName": "I2"
         },
         "name": "unnamedWire#86",
           "pinName": "O6"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#5",
           "pinName": "I2"
         },
         "name": "unnamedWire#87",
           "pinName": "O5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#7",
           "pinName": "I2"
         },
         "name": "unnamedWire#88",
           "pinName": "O4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#9",
           "pinName": "I2"
         },
         "name": "unnamedWire#89",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#6",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "WireCrossPoint#22",
+          "compName": "WireCrossPoint#18",
           "pinName": ""
         },
         "name": "unnamedWire#9",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#10",
           "pinName": "I2"
         },
         "name": "unnamedWire#90",
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#8",
           "pinName": "I2"
         },
         "name": "unnamedWire#91",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#4",
           "pinName": "I2"
         },
         "name": "unnamedWire#92",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#11",
           "pinName": "I2"
         },
         "name": "unnamedWire#93",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "WireCrossPoint#15",
+          "compName": "WireCrossPoint#11",
           "pinName": ""
         },
         "name": "unnamedWire#94",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#16",
+          "compName": "WireCrossPoint#12",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#17",
+          "compName": "WireCrossPoint#13",
           "pinName": ""
         },
         "name": "unnamedWire#95",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#16",
+          "compName": "WireCrossPoint#12",
           "pinName": ""
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#17",
+          "compName": "WireCrossPoint#13",
           "pinName": ""
         },
         "pin2": {
           "pinName": "S"
         },
         "pin2": {
-          "compName": "WireCrossPoint#16",
+          "compName": "WireCrossPoint#12",
           "pinName": ""
         },
         "name": "unnamedWire#98",
index 65ce55c..c282fa5 100644 (file)
   "innerScale": 0.2,
   "submodel": {
     "components": [
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 115.0,
-          "y": 25.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 175.0,
-          "y": 45.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#10",
-        "pos": {
-          "x": 115.0,
-          "y": 265.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#11",
-        "pos": {
-          "x": 115.0,
-          "y": 325.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#12",
-        "pos": {
-          "x": 175.0,
-          "y": 405.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#13",
-        "pos": {
-          "x": 175.0,
-          "y": 345.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#14",
-        "pos": {
-          "x": 115.0,
-          "y": 385.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#15",
-        "pos": {
-          "x": 175.0,
-          "y": 465.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 115.0,
-          "y": 85.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#3",
-        "pos": {
-          "x": 175.0,
-          "y": 105.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#4",
-        "pos": {
-          "x": 175.0,
-          "y": 165.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#5",
-        "pos": {
-          "x": 115.0,
-          "y": 205.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#6",
-        "pos": {
-          "x": 175.0,
-          "y": 225.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#7",
-        "pos": {
-          "x": 115.0,
-          "y": 145.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#8",
-        "pos": {
-          "x": 115.0,
-          "y": 445.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#9",
-        "pos": {
-          "x": 175.0,
-          "y": 285.0
-        }
-      },
       {
         "id": "Merger",
         "name": "Merger#0",
           "y": 299.0
         },
         "params": 1
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#0",
+        "pos": {
+          "x": 115.0,
+          "y": 25.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#1",
+        "pos": {
+          "x": 175.0,
+          "y": 45.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#10",
+        "pos": {
+          "x": 115.0,
+          "y": 265.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#11",
+        "pos": {
+          "x": 115.0,
+          "y": 325.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#12",
+        "pos": {
+          "x": 175.0,
+          "y": 405.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#13",
+        "pos": {
+          "x": 175.0,
+          "y": 345.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#14",
+        "pos": {
+          "x": 115.0,
+          "y": 385.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#15",
+        "pos": {
+          "x": 175.0,
+          "y": 465.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#2",
+        "pos": {
+          "x": 115.0,
+          "y": 85.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#3",
+        "pos": {
+          "x": 175.0,
+          "y": 105.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#4",
+        "pos": {
+          "x": 175.0,
+          "y": 165.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#5",
+        "pos": {
+          "x": 115.0,
+          "y": 205.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#6",
+        "pos": {
+          "x": 175.0,
+          "y": 225.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#7",
+        "pos": {
+          "x": 115.0,
+          "y": 145.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#8",
+        "pos": {
+          "x": 115.0,
+          "y": 445.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#9",
+        "pos": {
+          "x": 175.0,
+          "y": 285.0
+        }
       }
     ],
     "wires": [
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "S1"
         },
         "name": "unnamedWire#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "S2"
         },
         "name": "unnamedWire#1",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#11",
           "pinName": "S1"
         },
         "name": "unnamedWire#10",
           "pinName": "I14"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "Y"
         },
         "name": "unnamedWire#100",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "sel1#2",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I12"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "sel1#3",
           "pinName": "Y"
         },
         "name": "unnamedWire#102",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#7",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#4",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#5",
           "pinName": "Y"
         },
         "name": "unnamedWire#105",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#6",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#10",
           "pinName": "Y"
         },
         "name": "unnamedWire#107",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#9",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#11",
           "pinName": "Y"
         },
         "name": "unnamedWire#109",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#11",
           "pinName": "S2"
         },
         "name": "unnamedWire#11",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#13",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#14",
           "pinName": "Y"
         },
         "name": "unnamedWire#111",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#12",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#8",
           "pinName": "Y"
         },
         "name": "unnamedWire#113",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#15",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#14",
           "pinName": "S1"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#14",
           "pinName": "S2"
         },
         "name": "unnamedWire#13",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#15",
           "pinName": "S1"
         },
         "name": "unnamedWire#16",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#12",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#12",
           "pinName": "S1"
         },
         "name": "unnamedWire#19",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "sel1#2",
           "pinName": "S1"
         },
         "name": "unnamedWire#2",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#13",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#13",
           "pinName": "S1"
         },
         "name": "unnamedWire#21",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#9",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#9",
           "pinName": "S1"
         },
         "name": "unnamedWire#23",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#6",
           "pinName": "S2"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#6",
           "pinName": "S1"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#4",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#4",
           "pinName": "S1"
         },
         "name": "unnamedWire#27",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "sel1#3",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "sel1#3",
           "pinName": "S1"
         },
         "name": "unnamedWire#29",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "sel1#2",
           "pinName": "S2"
         },
         "name": "unnamedWire#3",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "S1"
         },
         "name": "unnamedWire#31",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#7",
           "pinName": "S1"
         },
         "name": "unnamedWire#4",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#15",
           "pinName": "S2"
         },
         "name": "unnamedWire#43",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#8",
           "pinName": "S1"
         },
         "name": "unnamedWire#48",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#8",
           "pinName": "S2"
         },
         "name": "unnamedWire#49",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#7",
           "pinName": "S2"
         },
         "name": "unnamedWire#5",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#5",
           "pinName": "S1"
         },
         "name": "unnamedWire#6",
           "pinName": "O15"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#60",
           "pinName": "O14"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "I1"
         },
         "name": "unnamedWire#61",
           "pinName": "O13"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "sel1#2",
           "pinName": "I1"
         },
         "name": "unnamedWire#62",
           "pinName": "O12"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "sel1#3",
           "pinName": "I1"
         },
         "name": "unnamedWire#63",
           "pinName": "O11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#7",
           "pinName": "I1"
         },
         "name": "unnamedWire#64",
           "pinName": "O10"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#4",
           "pinName": "I1"
         },
         "name": "unnamedWire#65",
           "pinName": "O9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#5",
           "pinName": "I1"
         },
         "name": "unnamedWire#66",
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#6",
           "pinName": "I1"
         },
         "name": "unnamedWire#67",
           "pinName": "O7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#10",
           "pinName": "I1"
         },
         "name": "unnamedWire#68",
           "pinName": "O6"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#9",
           "pinName": "I1"
         },
         "name": "unnamedWire#69",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#5",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": "O5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#11",
           "pinName": "I1"
         },
         "name": "unnamedWire#70",
           "pinName": "O4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#13",
           "pinName": "I1"
         },
         "name": "unnamedWire#71",
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#14",
           "pinName": "I1"
         },
         "name": "unnamedWire#72",
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#12",
           "pinName": "I1"
         },
         "name": "unnamedWire#73",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#8",
           "pinName": "I1"
         },
         "name": "unnamedWire#74",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#15",
           "pinName": "I1"
         },
         "name": "unnamedWire#75",
           "pinName": "O15"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "I2"
         },
         "name": "unnamedWire#78",
           "pinName": "O14"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "I2"
         },
         "name": "unnamedWire#79",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#10",
           "pinName": "S1"
         },
         "name": "unnamedWire#8",
           "pinName": "O13"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "sel1#2",
           "pinName": "I2"
         },
         "name": "unnamedWire#80",
           "pinName": "O12"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "sel1#3",
           "pinName": "I2"
         },
         "name": "unnamedWire#81",
           "pinName": "O11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#7",
+          "compName": "sel1#7",
           "pinName": "I2"
         },
         "name": "unnamedWire#82",
           "pinName": "O10"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#4",
+          "compName": "sel1#4",
           "pinName": "I2"
         },
         "name": "unnamedWire#83",
           "pinName": "O9"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#5",
+          "compName": "sel1#5",
           "pinName": "I2"
         },
         "name": "unnamedWire#84",
           "pinName": "O8"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#6",
+          "compName": "sel1#6",
           "pinName": "I2"
         },
         "name": "unnamedWire#85",
           "pinName": "O7"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#10",
           "pinName": "I2"
         },
         "name": "unnamedWire#86",
           "pinName": "O6"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#9",
+          "compName": "sel1#9",
           "pinName": "I2"
         },
         "name": "unnamedWire#87",
           "pinName": "O5"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#11",
+          "compName": "sel1#11",
           "pinName": "I2"
         },
         "name": "unnamedWire#88",
           "pinName": "O4"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#13",
+          "compName": "sel1#13",
           "pinName": "I2"
         },
         "name": "unnamedWire#89",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#10",
+          "compName": "sel1#10",
           "pinName": "S2"
         },
         "pin2": {
           "pinName": "O3"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#14",
+          "compName": "sel1#14",
           "pinName": "I2"
         },
         "name": "unnamedWire#90",
           "pinName": "O2"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#12",
+          "compName": "sel1#12",
           "pinName": "I2"
         },
         "name": "unnamedWire#91",
           "pinName": "O1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#8",
+          "compName": "sel1#8",
           "pinName": "I2"
         },
         "name": "unnamedWire#92",
           "pinName": "O0"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#15",
+          "compName": "sel1#15",
           "pinName": "I2"
         },
         "name": "unnamedWire#93",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "Y"
         },
         "pin2": {
index 3a1507a..91d1220 100644 (file)
   "innerScale": 0.4,
   "submodel": {
     "components": [
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 60.0,
-          "y": 35.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 60.0,
-          "y": 100.0
-        }
-      },
-      {
-        "id": "mux1",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 115.0,
-          "y": 20.0
-        }
-      },
       {
         "id": "NandGate",
         "name": "NandGate#0",
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
+        "name": "WireCrossPoint#0",
         "pos": {
           "x": 24.0,
           "y": 29.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
+        "name": "WireCrossPoint#1",
         "pos": {
           "x": 24.0,
           "y": 49.0
       },
       {
         "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
+        "name": "WireCrossPoint#2",
         "pos": {
           "x": 54.0,
           "y": 39.0
         },
         "params": 1
+      },
+      {
+        "id": "mux1",
+        "name": "mux1#0",
+        "pos": {
+          "x": 115.0,
+          "y": 20.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#0",
+        "pos": {
+          "x": 60.0,
+          "y": 35.0
+        }
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#1",
+        "pos": {
+          "x": 60.0,
+          "y": 100.0
+        }
       }
     ],
     "wires": [
       {
         "pin1": {
-          "compName": "WireCrossPoint#1",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "name": "unnamedWire#0",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#1",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "S2"
         },
         "name": "unnamedWire#11",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "S1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "name": "unnamedWire#14",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#1",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "S2"
         },
         "name": "unnamedWire#16",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#3",
+          "compName": "WireCrossPoint#2",
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "S1"
         },
         "name": "unnamedWire#17",
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#1",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
           "pinName": "I00"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#2",
           "pinName": "I01"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "I2"
         },
         "name": "unnamedWire#3",
           "pinName": "I10"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "I1"
         },
         "name": "unnamedWire#4",
           "pinName": "I11"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "I2"
         },
         "name": "unnamedWire#5",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "sel1#0",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "I0"
         },
         "name": "unnamedWire#7",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
+          "compName": "sel1#1",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#8",
           "pinName": "S1"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "S0"
         },
         "name": "unnamedWire#9",
diff --git a/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux2_4.json b/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux2_4.json
deleted file mode 100644 (file)
index 5f8c0c8..0000000
+++ /dev/null
@@ -1,700 +0,0 @@
-{
-  "width": 62.0,
-  "height": 90.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 30.0
-      },
-      "name": "I00",
-      "logicWidth": 4,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 40.0
-      },
-      "name": "I01",
-      "logicWidth": 4,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 50.0
-      },
-      "name": "I10",
-      "logicWidth": 4,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 60.0
-      },
-      "name": "I11",
-      "logicWidth": 4,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 10.0
-      },
-      "name": "S0",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 20.0
-      },
-      "name": "S1",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 62.0,
-        "y": 16.0
-      },
-      "name": "Y",
-      "logicWidth": 4,
-      "usage": "OUTPUT"
-    }
-  ],
-  "innerScale": 0.4,
-  "submodel": {
-    "components": [
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#0",
-        "pos": {
-          "x": 40.0,
-          "y": 30.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#1",
-        "pos": {
-          "x": 40.0,
-          "y": 125.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "DeserializedSubmodelComponent#2",
-        "pos": {
-          "x": 100.0,
-          "y": 20.0
-        }
-      },
-      {
-        "id": "Merger",
-        "name": "Merger#0",
-        "pos": {
-          "x": 140.0,
-          "y": 25.0
-        },
-        "params": 4
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#0",
-        "pos": {
-          "x": 25.0,
-          "y": 45.0
-        },
-        "params": 4
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#1",
-        "pos": {
-          "x": 25.0,
-          "y": 85.0
-        },
-        "params": 4
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#2",
-        "pos": {
-          "x": 25.0,
-          "y": 140.0
-        },
-        "params": 4
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#3",
-        "pos": {
-          "x": 25.0,
-          "y": 180.0
-        },
-        "params": 4
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 19.0,
-          "y": 34.0
-        },
-        "params": 1
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I0_1"
-        },
-        "name": "unnamedWire#0",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I0_2"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#1",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I1_1"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#10",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I1_4"
-        },
-        "name": "unnamedWire#11",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I0_4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#12",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I0_3"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#13",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I0_2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#14",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I0_1"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#15",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "S0"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "name": "unnamedWire#16",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 25.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#17",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#18",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 130.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "I00"
-        },
-        "name": "unnamedWire#19",
-        "path": [
-          {
-            "x": 15.0,
-            "y": 60.0
-          },
-          {
-            "x": 15.0,
-            "y": 75.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I0_3"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I01"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#20",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "I10"
-        },
-        "name": "unnamedWire#21",
-        "path": [
-          {
-            "x": 15.0,
-            "y": 155.0
-          },
-          {
-            "x": 15.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I11"
-        },
-        "pin2": {
-          "compName": "Splitter#3",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#22",
-        "path": [
-          {
-            "x": 10.0,
-            "y": 150.0
-          },
-          {
-            "x": 10.0,
-            "y": 195.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "Y1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I0_1"
-        },
-        "name": "unnamedWire#23",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I0_2"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "Y2"
-        },
-        "name": "unnamedWire#24",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "Y3"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I0_3"
-        },
-        "name": "unnamedWire#25",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I0_4"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "Y4"
-        },
-        "name": "unnamedWire#26",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I1_1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "Y1"
-        },
-        "name": "unnamedWire#27",
-        "path": [
-          {
-            "x": 80.0,
-            "y": 75.0
-          },
-          {
-            "x": 80.0,
-            "y": 130.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "Y2"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I1_2"
-        },
-        "name": "unnamedWire#28",
-        "path": [
-          {
-            "x": 85.0,
-            "y": 140.0
-          },
-          {
-            "x": 85.0,
-            "y": 85.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I1_3"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "Y3"
-        },
-        "name": "unnamedWire#29",
-        "path": [
-          {
-            "x": 90.0,
-            "y": 95.0
-          },
-          {
-            "x": 90.0,
-            "y": 150.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I1_1"
-        },
-        "name": "unnamedWire#3",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "Y4"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "I1_4"
-        },
-        "name": "unnamedWire#30",
-        "path": [
-          {
-            "x": 95.0,
-            "y": 160.0
-          },
-          {
-            "x": 95.0,
-            "y": 105.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Merger#0",
-          "pinName": "O"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#31",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Merger#0",
-          "pinName": "I0"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "Y1"
-        },
-        "name": "unnamedWire#32",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "Y2"
-        },
-        "pin2": {
-          "compName": "Merger#0",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#33",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Merger#0",
-          "pinName": "I2"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "Y3"
-        },
-        "name": "unnamedWire#34",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "Y4"
-        },
-        "pin2": {
-          "compName": "Merger#0",
-          "pinName": "I3"
-        },
-        "name": "unnamedWire#35",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "S1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#36",
-        "path": [
-          {
-            "x": 15.0,
-            "y": 50.0
-          },
-          {
-            "x": 15.0,
-            "y": 20.0
-          },
-          {
-            "x": 60.0,
-            "y": 20.0
-          },
-          {
-            "x": 60.0,
-            "y": 25.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I0_4"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#4",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I1_2"
-        },
-        "name": "unnamedWire#5",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I1_3"
-        },
-        "pin2": {
-          "compName": "Splitter#3",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#6",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#1",
-          "pinName": "I1_4"
-        },
-        "name": "unnamedWire#7",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I1_3"
-        },
-        "name": "unnamedWire#8",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
-          "pinName": "I1_2"
-        },
-        "name": "unnamedWire#9",
-        "path": []
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "mux1_4",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 17.5,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "default",
-  "version": "0.1.5"
-}
\ No newline at end of file
index 7b54b5d..ac5aa8a 100644 (file)
   "submodel": {
     "components": [
       {
-        "id": "mux2",
-        "name": "DeserializedSubmodelComponent#0",
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#0",
         "pos": {
-          "x": 35.0,
-          "y": 185.0
-        }
+          "x": 19.0,
+          "y": 104.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#1",
+        "pos": {
+          "x": 24.0,
+          "y": 94.0
+        },
+        "params": 1
       },
       {
         "id": "mux1",
-        "name": "DeserializedSubmodelComponent#2",
+        "name": "mux1#0",
         "pos": {
           "x": 125.0,
           "y": 20.0
       },
       {
         "id": "mux2",
-        "name": "DeserializedSubmodelComponent#3",
+        "name": "mux2#0",
         "pos": {
           "x": 35.0,
-          "y": 85.0
+          "y": 185.0
         }
       },
       {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 19.0,
-          "y": 104.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
+        "id": "mux2",
+        "name": "mux2#1",
         "pos": {
-          "x": 24.0,
-          "y": 94.0
-        },
-        "params": 1
+          "x": 35.0,
+          "y": 85.0
+        }
       }
     ],
     "wires": [
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "I11"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "I00"
         },
         "pin2": {
           "pinName": "I101"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "I01"
         },
         "name": "unnamedWire#12",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "I10"
         },
         "pin2": {
           "pinName": "I111"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "I11"
         },
         "name": "unnamedWire#14",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "I1"
         },
         "name": "unnamedWire#15",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "I0"
         },
         "name": "unnamedWire#16",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "S0"
         },
         "pin2": {
           "pinName": ""
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "S1"
         },
         "name": "unnamedWire#2",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "S0"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "S1"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#0",
+          "compName": "mux2#0",
           "pinName": "S0"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#2",
+          "compName": "mux1#0",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I000"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "I00"
         },
         "name": "unnamedWire#7",
       },
       {
         "pin1": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "I01"
         },
         "pin2": {
           "pinName": "I010"
         },
         "pin2": {
-          "compName": "DeserializedSubmodelComponent#3",
+          "compName": "mux2#1",
           "pinName": "I10"
         },
         "name": "unnamedWire#9",
index d53f4c8..afd89f1 100644 (file)
@@ -53,7 +53,7 @@
     "components": [
       {
         "id": "NandGate",
-        "name": "NandGate#1",
+        "name": "NandGate#0",
         "pos": {
           "x": 35.0,
           "y": 30.0
@@ -62,7 +62,7 @@
       },
       {
         "id": "NandGate",
-        "name": "NandGate#2",
+        "name": "NandGate#1",
         "pos": {
           "x": 35.0,
           "y": 55.0
@@ -71,7 +71,7 @@
       },
       {
         "id": "NandGate",
-        "name": "NandGate#3",
+        "name": "NandGate#2",
         "pos": {
           "x": 60.0,
           "y": 40.0
@@ -86,7 +86,7 @@
           "pinName": "S1"
         },
         "pin2": {
-          "compName": "NandGate#1",
+          "compName": "NandGate#0",
           "pinName": "A"
         },
         "name": "unnamedWire#0",
           "pinName": "S2"
         },
         "pin2": {
-          "compName": "NandGate#2",
+          "compName": "NandGate#1",
           "pinName": "A"
         },
         "name": "unnamedWire#1",
       },
       {
         "pin1": {
-          "compName": "NandGate#3",
+          "compName": "NandGate#2",
           "pinName": "Y"
         },
         "pin2": {
           "pinName": "I1"
         },
         "pin2": {
-          "compName": "NandGate#1",
+          "compName": "NandGate#0",
           "pinName": "B"
         },
         "name": "unnamedWire#5",
           "pinName": "I2"
         },
         "pin2": {
-          "compName": "NandGate#2",
+          "compName": "NandGate#1",
           "pinName": "B"
         },
         "name": "unnamedWire#7",
       },
       {
         "pin1": {
-          "compName": "NandGate#1",
+          "compName": "NandGate#0",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "NandGate#3",
+          "compName": "NandGate#2",
           "pinName": "A"
         },
         "name": "unnamedWire#8"
       },
       {
         "pin1": {
-          "compName": "NandGate#2",
+          "compName": "NandGate#1",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "NandGate#3",
+          "compName": "NandGate#2",
           "pinName": "B"
         },
         "name": "unnamedWire#9"
index bcfae4a..6ab00c4 100644 (file)
@@ -12,6 +12,7 @@ mograsim version: 0.1.3
   "ram5_12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelram5_12",
   "sel4_12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelsel4_12",
   
+  "Am2900": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900.json",
   "Am2901": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901.json",
   "Am2901ALUFuncDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901ALUFuncDecode.json",
   "Am2901ALUInclDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901ALUInclDecode.json",
@@ -43,7 +44,6 @@ mograsim version: 0.1.3
   "mux1_16": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_16.json",
   "mux1_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_4.json",
   "mux2": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux2.json",
-  "mux2_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux2_4.json",
   "mux3": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux3.json",
   "nand3": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/nand3.json",
   "not4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/not4.json",
index 38d362e..1e654c8 100644 (file)
@@ -26,8 +26,7 @@ public class ModelComponentTestbench
        public static void createTestbench(LogicModelModifiable model)
        {
                Am2900Loader.setup();
-               ModelComponent comp = IndirectModelComponentCreator.createComponent(model,
-                               "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_invwe.json");
+               ModelComponent comp = IndirectModelComponentCreator.createComponent(model, "Am2900");
 
                List<String> inputPinNames = new ArrayList<>();
                List<String> outputPinNames = new ArrayList<>();
index f1e90aa..0788589 100644 (file)
@@ -15,12 +15,14 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
 import net.mograsim.logic.model.am2900.Am2900Loader;
 import net.mograsim.logic.model.model.LogicModelModifiable;
 import net.mograsim.logic.model.model.components.ModelComponent;
 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
 import net.mograsim.logic.model.model.components.submodels.SubmodelInterface;
 import net.mograsim.logic.model.model.wires.ModelWire;
+import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
 import net.mograsim.logic.model.model.wires.MovablePin;
 import net.mograsim.logic.model.model.wires.Pin;
 import net.mograsim.logic.model.model.wires.PinUsage;
@@ -28,11 +30,15 @@ import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
 import net.mograsim.logic.model.serializing.IdentifyParams;
 import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
 import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler;
 
 public class ReserializeJSONsSettingUsages
 {
+       public static double GRIDSIZE = 2.5;
        public static boolean changePinUsages = false;
-       public static boolean changeComponentNames = true;
+       public static boolean changeComponentNames = false;
+       public static boolean snapWCPs = true;
+       public static boolean warnNonSnappedPoints = true;
 
        public static void main(String[] args) throws IOException
        {
@@ -58,13 +64,13 @@ public class ReserializeJSONsSettingUsages
                }
        }
 
-       public static void reserializeJSON(Path json, Scanner sysin)
+       public static void reserializeJSON(Path componentPath, Scanner sysin)
        {
                try
                {
                        DeserializedSubmodelComponent comp = (DeserializedSubmodelComponent) IndirectModelComponentCreator
-                                       .createComponent(new LogicModelModifiable(), "jsonfile:" + json.toString());
-                       System.out.println("Reserializing " + json);
+                                       .createComponent(new LogicModelModifiable(), "jsonfile:" + componentPath.toString());
+                       System.out.println("Reserializing " + componentPath);
                        if (changePinUsages)
                                comp.getSupermodelPins().entrySet().stream().sorted(Comparator.comparing(Entry::getKey)).map(Entry::getValue).forEach(pin ->
                                {
@@ -86,9 +92,9 @@ public class ReserializeJSONsSettingUsages
                                        setInterfacePinUsage(comp, pin, usage);
                                });
                        LogicModelModifiable submodelModifiable = comp.getSubmodelModifiable();
+                       Map<String, String> componentNameRemapping = new HashMap<>();
                        if (changeComponentNames)
                        {
-                               Map<String, String> componentNameRemapping = new HashMap<>();
                                componentNameRemapping.put(SubmodelComponent.SUBMODEL_INTERFACE_NAME, SubmodelComponent.SUBMODEL_INTERFACE_NAME);
                                LogicModelModifiable tempModel = new LogicModelModifiable();
                                IdentifyParams iP = new IdentifyParams();
@@ -126,21 +132,66 @@ public class ReserializeJSONsSettingUsages
 
                                Optional<ModelComponent> o;
                                while ((o = submodelModifiable.getComponentsByName().values().stream()
-                                               .filter(c -> !c.name.equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME)).findAny()).isPresent())
+                                               .filter(c -> !c.getName().equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME)).findAny()).isPresent())
                                        submodelModifiable.destroyComponent(o.get());
 
-                               tempModel.getComponentsByName().values().stream().filter(c -> !c.name.equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME))
-                                               .forEach(c -> IndirectModelComponentCreator
-                                                               .createComponent(submodelModifiable, c.getIDForSerializing(iP), c.getParamsForSerializingJSON(iP), c.name)
-                                                               .moveTo(c.getPosX(), c.getPosY()));
+                               tempModel.getComponentsByName().values().stream()
+                                               .filter(c -> !c.getName().equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME))
+                                               .forEach(c -> IndirectModelComponentCreator.createComponent(submodelModifiable, c.getIDForSerializing(iP),
+                                                               c.getParamsForSerializingJSON(iP), c.getName()).moveTo(c.getPosX(), c.getPosY()));
                                for (ModelWire w : tempModel.getWiresByName().values())
                                        createWire(Function.identity(), submodelModifiable, w);
                        }
-                       SubmodelComponentSerializer.serialize(comp, json.toString());
+                       if (snapWCPs)
+                               submodelModifiable.getComponentsByName().values().stream().filter(c -> c instanceof ModelWireCrossPoint).forEach(c ->
+                               {
+                                       double x = c.getPosX();
+                                       double y = c.getPosY();
+                                       c.moveTo(x % GRIDSIZE == 0 ? x - 1 : x, y % GRIDSIZE == 0 ? y - 1 : y);
+                               });
+                       if (warnNonSnappedPoints)
+                       {
+                               submodelModifiable.getComponentsByName().values().forEach(c ->
+                               {
+                                       double x = c.getPosX();
+                                       double y = c.getPosY();
+                                       if (c instanceof ModelWireCrossPoint)
+                                       {
+                                               x++;
+                                               y++;
+                                       }
+                                       if (x % GRIDSIZE != 0 || y % GRIDSIZE != 0)
+                                               System.out.println("  Component " + c.getName() + " (type " + c.getIDForSerializing(new IdentifyParams())
+                                                               + ") is not snapped to grid: " + x + "," + y);
+                               });
+                               submodelModifiable.getWiresByName().values().stream().forEach(w ->
+                               {
+                                       Point[] p = w.getPath();
+                                       if (p != null)
+                                               for (int i = 0; i < p.length; i++)
+                                                       if (p[i].x % GRIDSIZE != 0 || p[i].y % GRIDSIZE != 0)
+                                                               System.out.println(
+                                                                               "  Wire " + w.name + " path point #" + i + " is not snapped to grid: " + p[i].x + "," + p[i].y);
+                               });
+                               comp.getPins().values().forEach(p ->
+                               {
+                                       if (p.getRelX() % GRIDSIZE != 0 || p.getRelY() % GRIDSIZE != 0)
+                                               System.out.println("  Interface point " + p.name + " is not snapped to grid: " + p.getRelX() + "," + p.getRelY());
+                               });
+                       }
+                       SubmodelComponentSerializer.serialize(comp, componentPath.toString());
+                       if (changeComponentNames && (comp.getHighLevelStateHandler() == null
+                                       || !(comp.getHighLevelStateHandler() instanceof DefaultHighLevelStateHandler)))
+                       {
+                               System.out.println("  A non-default HighLevelStateHandler was detected. Check for changes there manually.");
+                               System.out.print("  Empty line to continue to next component, old component name to get new component name >");
+                               for (String line = sysin.nextLine(); !line.equals(""); line = sysin.nextLine())
+                                       System.out.println("  " + line + "->" + componentNameRemapping.get(line) + " >");
+                       }
                }
                catch (Exception e)
                {
-                       System.err.println("An error occurred visiting " + json + ":");
+                       System.err.println("An error occurred visiting " + componentPath + ":");
                        e.printStackTrace();
                }
        }
@@ -156,7 +207,7 @@ public class ReserializeJSONsSettingUsages
        private static Pin getRemappedPin(Function<String, String> componentNameRemapping, LogicModelModifiable tempModelForDefaultNames,
                        Pin pin)
        {
-               return tempModelForDefaultNames.getComponentsByName().get(componentNameRemapping.apply(pin.component.name)).getPin(pin.name);
+               return tempModelForDefaultNames.getComponentsByName().get(componentNameRemapping.apply(pin.component.getName())).getPin(pin.name);
        }
 
        private static int compareStringsWithIntegers(String a, String b)
diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.json b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/TestableAm2904.json
new file mode 100644 (file)
index 0000000..964d7d3
--- /dev/null
@@ -0,0 +1,846 @@
+{
+  "width": 0.0,
+  "height": 0.0,
+  "interfacePins": [
+    {
+      "location": {
+        "x": 10.0,
+        "y": 20.0
+      },
+      "name": "C",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 125.0
+      },
+      "name": "C0",
+      "logicWidth": 1,
+      "usage": "OUTPUT"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 75.0
+      },
+      "name": "CT",
+      "logicWidth": 1,
+      "usage": "OUTPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 125.0
+      },
+      "name": "Cx",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 30.0
+      },
+      "name": "IC",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 35.0
+      },
+      "name": "IN",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 40.0
+      },
+      "name": "IOVR",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 25.0
+      },
+      "name": "IZ",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": -87.66482568016058,
+        "y": 58.834004835619645
+      },
+      "name": "I_10",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": -80.0,
+        "y": 40.0
+      },
+      "name": "I_11_12",
+      "logicWidth": 2,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": -85.0,
+        "y": 100.0
+      },
+      "name": "I_5_0",
+      "logicWidth": 6,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": -84.26853373181032,
+        "y": 78.72500503091884
+      },
+      "name": "I_6_9",
+      "logicWidth": 4,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 145.0
+      },
+      "name": "QIO0",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 145.0
+      },
+      "name": "QIOn",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 135.0
+      },
+      "name": "SIO0",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 135.0
+      },
+      "name": "SIOn",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 30.0
+      },
+      "name": "YC",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 35.0
+      },
+      "name": "YN",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 40.0
+      },
+      "name": "YOVR",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 25.0
+      },
+      "name": "YZ",
+      "logicWidth": 1,
+      "usage": "TRISTATE"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 45.0
+      },
+      "name": "_CEM",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 50.0
+      },
+      "name": "_CEmu",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 60.0
+      },
+      "name": "_EC",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 65.0
+      },
+      "name": "_EN",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 70.0
+      },
+      "name": "_EOVR",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 55.0
+      },
+      "name": "_EZ",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 145.0,
+        "y": 65.0
+      },
+      "name": "_OECT",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 80.0,
+        "y": 10.0
+      },
+      "name": "_OEY",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    },
+    {
+      "location": {
+        "x": 10.0,
+        "y": 100.0
+      },
+      "name": "_SE",
+      "logicWidth": 1,
+      "usage": "INPUT"
+    }
+  ],
+  "innerScale": 1.0,
+  "submodel": {
+    "components": [
+      {
+        "id": "Merger",
+        "name": "Merger#0",
+        "pos": {
+          "x": -30.0,
+          "y": 70.0
+        },
+        "params": 13
+      },
+      {
+        "id": "Splitter",
+        "name": "Splitter#0",
+        "pos": {
+          "x": -45.0,
+          "y": 140.0
+        },
+        "params": 6
+      },
+      {
+        "id": "Splitter",
+        "name": "Splitter#1",
+        "pos": {
+          "x": -45.0,
+          "y": 100.0
+        },
+        "params": 4
+      },
+      {
+        "id": "Splitter",
+        "name": "Splitter#2",
+        "pos": {
+          "x": -45.0,
+          "y": 70.0
+        },
+        "params": 2
+      },
+      {
+        "id": "Am2904",
+        "name": "Am2904#0",
+        "pos": {
+          "x": 20.0,
+          "y": 15.0
+        }
+      }
+    ],
+    "wires": [
+      {
+        "pin1": {
+          "compName": "Am2904#0",
+          "pinName": "C"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "C"
+        },
+        "name": "unnamedWire#0",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "IZ"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "IZ"
+        },
+        "name": "unnamedWire#1",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EZ"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_EZ"
+        },
+        "name": "unnamedWire#10",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "I_5_0"
+        },
+        "pin2": {
+          "compName": "Splitter#0",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#11",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "I0"
+        },
+        "pin2": {
+          "compName": "Splitter#0",
+          "pinName": "O0"
+        },
+        "name": "unnamedWire#12",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#0",
+          "pinName": "O1"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I1"
+        },
+        "name": "unnamedWire#13",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "I2"
+        },
+        "pin2": {
+          "compName": "Splitter#0",
+          "pinName": "O2"
+        },
+        "name": "unnamedWire#14",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#0",
+          "pinName": "O3"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I3"
+        },
+        "name": "unnamedWire#15",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "I4"
+        },
+        "pin2": {
+          "compName": "Splitter#0",
+          "pinName": "O4"
+        },
+        "name": "unnamedWire#16",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#0",
+          "pinName": "O5"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I5"
+        },
+        "name": "unnamedWire#17",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#1",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I6"
+        },
+        "name": "unnamedWire#18",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "I7"
+        },
+        "pin2": {
+          "compName": "Splitter#1",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#19",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Am2904#0",
+          "pinName": "IC"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "IC"
+        },
+        "name": "unnamedWire#2",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#1",
+          "pinName": "O2"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I8"
+        },
+        "name": "unnamedWire#20",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "I9"
+        },
+        "pin2": {
+          "compName": "Splitter#1",
+          "pinName": "O3"
+        },
+        "name": "unnamedWire#21",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#2",
+          "pinName": "O0"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I11"
+        },
+        "name": "unnamedWire#22",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "I12"
+        },
+        "pin2": {
+          "compName": "Splitter#2",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#23",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "I_6_9"
+        },
+        "pin2": {
+          "compName": "Splitter#1",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#24",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Merger#0",
+          "pinName": "O"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#25",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "I_10"
+        },
+        "pin2": {
+          "compName": "Merger#0",
+          "pinName": "I10"
+        },
+        "name": "unnamedWire#26",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "I_11_12"
+        },
+        "pin2": {
+          "compName": "Splitter#2",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#27",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_SE"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_SE"
+        },
+        "name": "unnamedWire#28",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "Cx"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "Cx"
+        },
+        "name": "unnamedWire#29",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "IN"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "IN"
+        },
+        "name": "unnamedWire#3",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "SIOn"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "SIOn"
+        },
+        "name": "unnamedWire#30",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "QIOn"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "QIOn"
+        },
+        "name": "unnamedWire#31",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "QIO0"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "QIO0"
+        },
+        "name": "unnamedWire#32",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "SIO0"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "SIO0"
+        },
+        "name": "unnamedWire#33",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "C0"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "C0"
+        },
+        "name": "unnamedWire#34",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "CT"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "CT"
+        },
+        "name": "unnamedWire#35",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_OECT"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_OECT"
+        },
+        "name": "unnamedWire#36",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "YOVR"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "YOVR"
+        },
+        "name": "unnamedWire#37",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "YN"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "YN"
+        },
+        "name": "unnamedWire#38",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "YC"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "YC"
+        },
+        "name": "unnamedWire#39",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Am2904#0",
+          "pinName": "IOVR"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "IOVR"
+        },
+        "name": "unnamedWire#4",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "YZ"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "YZ"
+        },
+        "name": "unnamedWire#40",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_OEY"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_OEY"
+        },
+        "name": "unnamedWire#41",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_CEM"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_CEM"
+        },
+        "name": "unnamedWire#5",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Am2904#0",
+          "pinName": "_CEmu"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_CEmu"
+        },
+        "name": "unnamedWire#6",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EC"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_EC"
+        },
+        "name": "unnamedWire#7",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Am2904#0",
+          "pinName": "_EN"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "_EN"
+        },
+        "name": "unnamedWire#8",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "_EOVR"
+        },
+        "pin2": {
+          "compName": "Am2904#0",
+          "pinName": "_EOVR"
+        },
+        "name": "unnamedWire#9",
+        "path": []
+      }
+    ],
+    "version": "0.1.1"
+  },
+  "symbolRendererSnippetID": "default",
+  "outlineRendererSnippetID": "default",
+  "highLevelStateHandlerSnippetID": "standard",
+  "highLevelStateHandlerParams": {
+    "subcomponentHighLevelStates": {
+      "musr": {
+        "id": "delegating",
+        "params": {
+          "delegateTarget": "Am2904#0",
+          "prefix": "musr"
+        }
+      },
+      "msr": {
+        "id": "delegating",
+        "params": {
+          "delegateTarget": "Am2904#0",
+          "prefix": "msr"
+        }
+      }
+    },
+    "atomicHighLevelStates": {}
+  },
+  "version": "0.1.5"
+}
\ No newline at end of file
index 677a3e1..b43f130 100644 (file)
@@ -13,7 +13,10 @@ public class TestableAm2904Impl implements TestableAm2904
 {
 
        private ModelComponent am2904;
-       private CoreManualSwitch I;
+       private CoreManualSwitch I_5_0;
+       private CoreManualSwitch I_6_9;
+       private CoreManualSwitch I_10;
+       private CoreManualSwitch I_11_12;
        private CoreManualSwitch C;
        private CoreManualSwitch Cx;
        private CoreManualSwitch IC, IN, IOVR, IZ;
@@ -26,7 +29,8 @@ public class TestableAm2904Impl implements TestableAm2904
        private SwitchWithDisplay SIO0, SIOn, QIO0, QIOn;
        private SwitchWithDisplay YC, YN, YOVR, YZ;
 
-       private final TestEnvironmentHelper testHelper = new TestEnvironmentHelper(this, "Am2904");
+       private final TestEnvironmentHelper testHelper = new TestEnvironmentHelper(this,
+                       "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/am2904/TestableAm2904.json");
 
        @Override
        public void setup()
@@ -52,33 +56,25 @@ public class TestableAm2904Impl implements TestableAm2904
        @Override
        public void setInstruction(Am2904_Inst inst)
        {
-               var old = I.getValues();
-               var newPart = BitVector.from(inst.ordinal(), 6);
-               I.setState(old.subVector(0, 7).concat(newPart));
+               I_5_0.setState(BitVector.from(inst.ordinal(), 6));
        }
 
        @Override
        public void setShiftCode(String val_4_bit)
        {
-               var old = I.getValues();
-               var newPart = BitVector.parse(val_4_bit);
-               I.setState(old.subVector(0, 3).concat(newPart).concat(old.subVector(7)));
+               I_6_9.setState(BitVector.parse(val_4_bit));
        }
 
        @Override
        public void setI10(Am2904_ShiftDir dir)
        {
-               var old = I.getValues();
-               var newPart = BitVector.from(dir.ordinal(), 1);
-               I.setState(old.subVector(0, 2).concat(newPart).concat(old.subVector(3)));
+               I_10.setState(BitVector.from(dir.ordinal(), 1));
        }
 
        @Override
        public void setCarry(Am2904_Carry carry)
        {
-               var old = I.getValues();
-               var newPart = BitVector.from(carry.ordinal(), 2);
-               I.setState(newPart.concat(old.subVector(2)));
+               I_11_12.setState(BitVector.from(carry.ordinal(), 2));
        }
 
        @Override
index b14a69e..15346c6 100644 (file)
@@ -38,7 +38,7 @@ import net.mograsim.preferences.Preferences;
  */
 public class LogicUICanvas extends ZoomableCanvas
 {
-       private static final boolean OPEN_DEBUG_SETHIGHLEVELSTATE_SHELL = true;
+       private static final boolean OPEN_DEBUG_SETHIGHLEVELSTATE_SHELL = false;
 
        private final LogicModel model;
 
@@ -224,11 +224,11 @@ public class LogicUICanvas extends ZoomableCanvas
        private void addComponentSelectorItems(List<ModelComponent> componentsByItemIndex, String base, Combo componentSelector,
                        LogicModel model)
        {
-               model.getComponentsByName().values().stream().sorted((c1, c2) -> c1.name.compareTo(c2.name)).forEach(c ->
+               model.getComponentsByName().values().stream().sorted((c1, c2) -> c1.getName().compareTo(c2.getName())).forEach(c ->
                {
                        if (!(c instanceof ModelWireCrossPoint || c instanceof SubmodelInterface))
                        {
-                               String item = base + c.name;
+                               String item = base + c.getName();
                                componentsByItemIndex.add(c);
                                componentSelector.add(item);
                                if (c instanceof SubmodelComponent)
index 227d9b1..839d5f9 100644 (file)
@@ -51,10 +51,10 @@ public class LogicModel
         */
        protected void componentCreated(ModelComponent component, Runnable destroyed)
        {
-               if (components.containsKey(component.name))
+               if (components.containsKey(component.getName()))
                        throw new IllegalStateException("Don't add the same component twice!");
-               components.put(component.name, component);
-               componentDestroyFunctions.put(component.name, destroyed);
+               components.put(component.getName(), component);
+               componentDestroyFunctions.put(component.getName(), destroyed);
                callComponentAddedListeners(component);
                requestRedraw();
        }
@@ -66,10 +66,10 @@ public class LogicModel
         */
        protected void destroyComponent(ModelComponent component)
        {
-               componentDestroyFunctions.get(component.name).run();
-               if (!components.containsKey(component.name))
+               componentDestroyFunctions.get(component.getName()).run();
+               if (!components.containsKey(component.getName()))
                        throw new IllegalStateException("Don't remove the same component twice!");
-               components.remove(component.name);
+               components.remove(component.getName());
                callComponentRemovedListeners(component);
                requestRedraw();
        }
index 6fcfa9a..9171ee8 100644 (file)
@@ -30,9 +30,10 @@ public abstract class ModelComponent implements JSONSerializable
         */
        protected final LogicModelModifiable model;
        /**
-        * The name of this component. Is unique for all components in its model.
+        * The name of this component. Is unique for all components in its model.<br>
+        * Does never change, but can't be final since it is set in {@link #init()}.
         */
-       public final String name;
+       private String name;
        private final Rectangle bounds;
        /**
         * The list of all pins of this component by name.
@@ -66,7 +67,7 @@ public abstract class ModelComponent implements JSONSerializable
        protected ModelComponent(LogicModelModifiable model, String name, boolean callInit)
        {
                this.model = model;
-               this.name = name == null ? model.getDefaultComponentName(this) : name;
+               this.name = name;
                this.bounds = new Rectangle(0, 0, 0, 0);
                this.pinsByName = new HashMap<>();
                this.pinsUnmodifiable = Collections.unmodifiableMap(pinsByName);
@@ -82,13 +83,25 @@ public abstract class ModelComponent implements JSONSerializable
 
        /**
         * Initializes this component. This method should be called exactly once in this component's constructor.<br>
-        * Currently, this method only registers this component in the model.
+        * <ul>
+        * <li>If <code>{@link #name}==null</code>, sets {@link #name} to {@link LogicModelModifiable#getDefaultComponentName(ModelComponent)}.
+        * <li>Registers this component in the model.
+        * </ul>
         */
        protected void init()
        {
+               if (name == null)
+                       name = model.getDefaultComponentName(this);
                model.componentCreated(this, this::destroyed);
        }
 
+       // basic getters
+
+       public String getName()
+       {
+               return name;
+       }
+
        /**
         * Destroys this component. This method is called from {@link LogicModelModifiable#componentDestroyed(ModelComponent)
         * destroyComponent()} of the model this component is a part of.<br>
index b41fc52..93fc945 100644 (file)
@@ -234,7 +234,7 @@ public final class LegacySubmodelComponentSerializer
                        innerComponentParams.pos = new Point(innerComponent.getPosX(), innerComponent.getPosY());
                        innerComponentParams.id = innerComponent.getIDForSerializing(idParams);
                        innerComponentParams.params = innerComponent.getParamsForSerializingJSON(idParams);
-                       innerComponentParams.name = innerComponent.name;
+                       innerComponentParams.name = innerComponent.getName();
                        i1++;
                }
                submodelParams.subComps = componentParams;
@@ -249,9 +249,9 @@ public final class LegacySubmodelComponentSerializer
                        LegacyInnerPinParams pin1Params = new LegacyInnerPinParams(), pin2Params = new LegacyInnerPinParams();
 
                        pin1Params.pinName = innerWire.getPin1().name;
-                       pin1Params.compName = innerWire.getPin1().component.name;
+                       pin1Params.compName = innerWire.getPin1().component.getName();
                        pin2Params.pinName = innerWire.getPin2().name;
-                       pin2Params.compName = innerWire.getPin2().component.name;
+                       pin2Params.compName = innerWire.getPin2().component.getName();
                        innerWireParams.name = innerWire.name;
                        innerWireParams.pin1 = pin1Params;
                        innerWireParams.pin2 = pin2Params;
index f871c87..97b84ce 100644 (file)
@@ -142,7 +142,7 @@ public class LogicModelSerializer
                        compParams.pos = new Point(component.getPosX(), component.getPosY());
                        compParams.id = component.getIDForSerializing(idParams);
                        compParams.params = component.getParamsForSerializingJSON(idParams);
-                       compParams.name = component.name;
+                       compParams.name = component.getName();
                }
                modelParams.components = componentsParams.toArray(ComponentParams[]::new);
                Arrays.sort(modelParams.components, Comparator.comparing(c -> c.name));
@@ -156,9 +156,9 @@ public class LogicModelSerializer
                        PinParams pin1Params = new PinParams(), pin2Params = new PinParams();
 
                        pin1Params.pinName = innerWire.getPin1().name;
-                       pin1Params.compName = innerWire.getPin1().component.name;
+                       pin1Params.compName = innerWire.getPin1().component.getName();
                        pin2Params.pinName = innerWire.getPin2().name;
-                       pin2Params.compName = innerWire.getPin2().component.name;
+                       pin2Params.compName = innerWire.getPin2().component.getName();
                        innerWireParams.name = innerWire.name;
                        innerWireParams.pin1 = pin1Params;
                        innerWireParams.pin2 = pin2Params;
index 7a56882..621dde3 100644 (file)
@@ -42,7 +42,7 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta
        {
                if (delegateTarget == null)
                        this.delegateTarget = parentComponent;
-               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.name) != delegateTarget)
+               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
                        throw new IllegalArgumentException(
                                        "Can only set components belonging to the submodel of the parent component of this handler as the delegate target");
                this.delegateTarget = delegateTarget;
@@ -75,7 +75,7 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta
        public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
        {
                DelegatingAtomicHighLevelStateHandlerParams params = new DelegatingAtomicHighLevelStateHandlerParams();
-               params.delegateTarget = delegateTarget.name;
+               params.delegateTarget = delegateTarget.getName();
                params.subStateID = subStateID;
                return params;
        }
index 0d1fd65..fc3c6bd 100644 (file)
@@ -43,7 +43,7 @@ public class DelegatingSubcomponentHighLevelStateHandler implements Subcomponent
        {
                if (delegateTarget == null)
                        this.delegateTarget = parentComponent;
-               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.name) != delegateTarget)
+               else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
                        throw new IllegalArgumentException(
                                        "Can only set components belonging to the submodel of the parent component of this handler as the delegate target");
                this.delegateTarget = delegateTarget;
@@ -81,7 +81,7 @@ public class DelegatingSubcomponentHighLevelStateHandler implements Subcomponent
        public DelegatingSubcomponentHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
        {
                DelegatingSubcomponentHighLevelStateHandlerParams params = new DelegatingSubcomponentHighLevelStateHandlerParams();
-               params.delegateTarget = delegateTarget.name;
+               params.delegateTarget = delegateTarget.getName();
                params.prefix = prefix;
                return params;
        }
index 0f151b9..20491ce 100644 (file)
@@ -6,6 +6,7 @@ import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
 import java.util.stream.Collectors;
 
 import com.google.gson.Gson;
@@ -29,7 +30,8 @@ public class JsonHandler
         */
        public static <T> T readJson(InputStream input, Class<T> type) throws IOException
        {
-               try (InputStreamReader reader = new InputStreamReader(input); BufferedReader bf = new BufferedReader(reader))
+               try (InputStreamReader reader = new InputStreamReader(input, StandardCharsets.UTF_8);
+                               BufferedReader bf = new BufferedReader(reader))
                {
                        return fromJson(bf.lines().collect(Collectors.joining("\n")), type);
                }
@@ -64,4 +66,4 @@ public class JsonHandler
        {
                return parser.toJsonTree(o);
        }
-}
+}
\ No newline at end of file
index 8be2c4e..7e12101 100644 (file)
@@ -760,4 +760,11 @@ exception as provided by Oracle in the LICENSE file that accompanied this code.&
          version="0.1.0.qualifier"
          unpack="false"/>
 
+   <plugin
+         id="net.mograsim.machine"
+         download-size="1"
+         install-size="1"
+         version="0.1.0.qualifier"
+         unpack="false"/>
+
 </feature>