Redefined PinUsages; cleaned component JSONs
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Sat, 11 Apr 2020 18:19:44 +0000 (20:19 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Sat, 11 Apr 2020 18:19:44 +0000 (20:19 +0200)
24 files changed:
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900MemoryController.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/am2901/Am2901.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff12.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff12_we.json [deleted file]
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff16.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff16_invwe.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff16_we.json [deleted file]
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4_invwe.json [deleted file]
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff8.json [deleted file]
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff80.json [deleted file]
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dlatch16.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dlatch8.json
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux1_8.json [deleted file]
plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/xnor.json [deleted file]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/Am2900Loader.java
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/standardComponentIDMapping.json
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GenerateDff80HighLevelStateHandler.java [deleted file]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GenerateDlatch80HighLevelStateHandler.java [new file with mode: 0644]
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ModelComponentTestbench.java
plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ReserializeAndVerifyJSONs.java
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWireCrossPoint.java
plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/PinUsage.java

diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff12_we.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff12_we.json
deleted file mode 100644 (file)
index 0ec1975..0000000
+++ /dev/null
@@ -1,1313 +0,0 @@
-{
-  "width": 55.0,
-  "height": 45.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "C",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 35.0
-      },
-      "name": "D",
-      "logicWidth": 12,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 55.0,
-        "y": 20.0
-      },
-      "name": "Q",
-      "logicWidth": 12,
-      "usage": "TRISTATE"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 20.0
-      },
-      "name": "WE",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    }
-  ],
-  "innerScale": 0.2,
-  "submodel": {
-    "components": [
-      {
-        "id": "Splitter",
-        "name": "Splitter#0",
-        "pos": {
-          "x": 70.0,
-          "y": 45.0
-        },
-        "params": {
-          "logicWidth": 12,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#1",
-        "pos": {
-          "x": 255.0,
-          "y": 45.0
-        },
-        "params": {
-          "logicWidth": 12,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 124.0,
-          "y": 24.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
-        "pos": {
-          "x": 124.0,
-          "y": 54.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 124.0,
-          "y": 114.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 124.0,
-          "y": 144.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
-        "pos": {
-          "x": 124.0,
-          "y": 84.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
-        "pos": {
-          "x": 269.0,
-          "y": 99.0
-        },
-        "params": 12
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
-        "pos": {
-          "x": 179.0,
-          "y": 74.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
-        "pos": {
-          "x": 179.0,
-          "y": 164.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
-        "pos": {
-          "x": 179.0,
-          "y": 44.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#9",
-        "pos": {
-          "x": 179.0,
-          "y": 104.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#10",
-        "pos": {
-          "x": 179.0,
-          "y": 134.0
-        },
-        "params": 1
-      },
-      {
-        "id": "dff",
-        "name": "dff#0",
-        "pos": {
-          "x": 185.0,
-          "y": 30.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#1",
-        "pos": {
-          "x": 185.0,
-          "y": 60.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": 185.0,
-          "y": 150.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#6",
-        "pos": {
-          "x": 185.0,
-          "y": 180.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": 185.0,
-          "y": 90.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#10",
-        "pos": {
-          "x": 185.0,
-          "y": 120.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#11",
-        "pos": {
-          "x": 130.0,
-          "y": 100.0
-        }
-      },
-      {
-        "id": "mux1_12",
-        "name": "mux1_12#0",
-        "pos": {
-          "x": 15.0,
-          "y": 70.0
-        }
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "name": "unnamedWire#0",
-        "path": [
-          {
-            "x": 125.0,
-            "y": 5.0
-          },
-          {
-            "x": 180.0,
-            "y": 5.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#1",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "mux1_12#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "mux1_12#0",
-          "pinName": "I0"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#3",
-        "path": [
-          {
-            "x": 10.0,
-            "y": 90.0
-          },
-          {
-            "x": 10.0,
-            "y": 205.0
-          },
-          {
-            "x": 270.0,
-            "y": 205.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O11"
-        },
-        "pin2": {
-          "compName": "dff#2",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#4",
-        "path": [
-          {
-            "x": 85.0,
-            "y": 45.0
-          },
-          {
-            "x": 85.0,
-            "y": 15.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#0",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O10"
-        },
-        "name": "unnamedWire#5",
-        "path": [
-          {
-            "x": 90.0,
-            "y": 35.0
-          },
-          {
-            "x": 90.0,
-            "y": 55.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#3",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O9"
-        },
-        "name": "unnamedWire#6",
-        "path": [
-          {
-            "x": 95.0,
-            "y": 45.0
-          },
-          {
-            "x": 95.0,
-            "y": 65.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O8"
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#7",
-        "path": [
-          {
-            "x": 100.0,
-            "y": 75.0
-          },
-          {
-            "x": 100.0,
-            "y": 65.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#4",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#8",
-        "path": [
-          {
-            "x": 105.0,
-            "y": 75.0
-          },
-          {
-            "x": 105.0,
-            "y": 85.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "dff#9",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#9",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff#11",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#10",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "dff#10",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#11",
-        "path": [
-          {
-            "x": 115.0,
-            "y": 115.0
-          },
-          {
-            "x": 115.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#8",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#12",
-        "path": [
-          {
-            "x": 110.0,
-            "y": 135.0
-          },
-          {
-            "x": 110.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "dff#5",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#13",
-        "path": [
-          {
-            "x": 105.0,
-            "y": 135.0
-          },
-          {
-            "x": 105.0,
-            "y": 155.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#7",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#14",
-        "path": [
-          {
-            "x": 100.0,
-            "y": 165.0
-          },
-          {
-            "x": 100.0,
-            "y": 145.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "dff#6",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#15",
-        "path": [
-          {
-            "x": 95.0,
-            "y": 155.0
-          },
-          {
-            "x": 95.0,
-            "y": 185.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "WE"
-        },
-        "pin2": {
-          "compName": "mux1_12#0",
-          "pinName": "S"
-        },
-        "name": "unnamedWire#16",
-        "path": [
-          {
-            "x": 5.0,
-            "y": 100.0
-          },
-          {
-            "x": 5.0,
-            "y": 75.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "mux1_12#0",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#17",
-        "path": [
-          {
-            "x": 5.0,
-            "y": 175.0
-          },
-          {
-            "x": 5.0,
-            "y": 130.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#2",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#18",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#19",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff#3",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#20",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#21",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#4",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#22",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#23",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#11",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#24",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#25",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#8",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#26",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#7",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#27",
-        "path": [
-          {
-            "x": 125.0,
-            "y": 175.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#6",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "name": "unnamedWire#28",
-        "path": [
-          {
-            "x": 180.0,
-            "y": 195.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#5",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#29",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#30",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff#10",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#31",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#32",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#9",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#33",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "name": "unnamedWire#34",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#35",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "name": "unnamedWire#36",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#0",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#37",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O11"
-        },
-        "pin2": {
-          "compName": "dff#2",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#38",
-        "path": [
-          {
-            "x": 250.0,
-            "y": 45.0
-          },
-          {
-            "x": 250.0,
-            "y": 25.0
-          },
-          {
-            "x": 170.0,
-            "y": 25.0
-          },
-          {
-            "x": 170.0,
-            "y": 15.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#0",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O10"
-        },
-        "name": "unnamedWire#39",
-        "path": [
-          {
-            "x": 240.0,
-            "y": 35.0
-          },
-          {
-            "x": 240.0,
-            "y": 55.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O9"
-        },
-        "pin2": {
-          "compName": "dff#3",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#40",
-        "path": [
-          {
-            "x": 235.0,
-            "y": 65.0
-          },
-          {
-            "x": 235.0,
-            "y": 55.0
-          },
-          {
-            "x": 170.0,
-            "y": 55.0
-          },
-          {
-            "x": 170.0,
-            "y": 45.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#1",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O8"
-        },
-        "name": "unnamedWire#41",
-        "path": [
-          {
-            "x": 230.0,
-            "y": 65.0
-          },
-          {
-            "x": 230.0,
-            "y": 75.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "dff#4",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#42",
-        "path": [
-          {
-            "x": 170.0,
-            "y": 85.0
-          },
-          {
-            "x": 170.0,
-            "y": 75.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#9",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O6"
-        },
-        "name": "unnamedWire#43",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "dff#11",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#44",
-        "path": [
-          {
-            "x": 225.0,
-            "y": 105.0
-          },
-          {
-            "x": 225.0,
-            "y": 115.0
-          },
-          {
-            "x": 170.0,
-            "y": 115.0
-          },
-          {
-            "x": 170.0,
-            "y": 105.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "dff#10",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#45",
-        "path": [
-          {
-            "x": 230.0,
-            "y": 115.0
-          },
-          {
-            "x": 230.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "dff#8",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#46",
-        "path": [
-          {
-            "x": 235.0,
-            "y": 125.0
-          },
-          {
-            "x": 235.0,
-            "y": 145.0
-          },
-          {
-            "x": 170.0,
-            "y": 145.0
-          },
-          {
-            "x": 170.0,
-            "y": 135.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#5",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#47",
-        "path": [
-          {
-            "x": 240.0,
-            "y": 155.0
-          },
-          {
-            "x": 240.0,
-            "y": 135.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "dff#7",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#48",
-        "path": [
-          {
-            "x": 245.0,
-            "y": 145.0
-          },
-          {
-            "x": 245.0,
-            "y": 175.0
-          },
-          {
-            "x": 170.0,
-            "y": 175.0
-          },
-          {
-            "x": 170.0,
-            "y": 165.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#6",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#49",
-        "path": [
-          {
-            "x": 250.0,
-            "y": 185.0
-          },
-          {
-            "x": 250.0,
-            "y": 155.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#50",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#51",
-        "path": []
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "D flip flop\n12 bit",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 30.0,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "standard",
-  "highLevelStateHandlerParams": {
-    "subcomponentHighLevelStates": {},
-    "atomicHighLevelStates": {
-      "q": {
-        "id": "bitVectorSplitting",
-        "params": {
-          "vectorPartTargets": [
-            "q12",
-            "q11",
-            "q10",
-            "q9",
-            "q8",
-            "q7",
-            "q6",
-            "q5",
-            "q4",
-            "q3",
-            "q2",
-            "q1"
-          ],
-          "vectorPartLengthes": [
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1
-          ]
-        }
-      },
-      "q1": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#6",
-          "subStateID": "q"
-        }
-      },
-      "q2": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#7",
-          "subStateID": "q"
-        }
-      },
-      "q3": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#5",
-          "subStateID": "q"
-        }
-      },
-      "q4": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#8",
-          "subStateID": "q"
-        }
-      },
-      "q5": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#10",
-          "subStateID": "q"
-        }
-      },
-      "q6": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#11",
-          "subStateID": "q"
-        }
-      },
-      "q7": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#9",
-          "subStateID": "q"
-        }
-      },
-      "q8": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#4",
-          "subStateID": "q"
-        }
-      },
-      "q9": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#1",
-          "subStateID": "q"
-        }
-      },
-      "q10": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#3",
-          "subStateID": "q"
-        }
-      },
-      "q11": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#0",
-          "subStateID": "q"
-        }
-      },
-      "q12": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#2",
-          "subStateID": "q"
-        }
-      }
-    }
-  },
-  "version": "0.1.5"
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff16_we.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff16_we.json
deleted file mode 100644 (file)
index de8fc9c..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-{
-  "width": 45.0,
-  "height": 55.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "C",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 25.0
-      },
-      "name": "D",
-      "logicWidth": 16,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 45.0,
-        "y": 25.0
-      },
-      "name": "Q",
-      "logicWidth": 16,
-      "usage": "TRISTATE"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 20.0
-      },
-      "name": "WE",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    }
-  ],
-  "innerScale": 0.25,
-  "submodel": {
-    "components": [
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 164.0,
-          "y": 99.0
-        },
-        "params": 16
-      },
-      {
-        "id": "dff16",
-        "name": "dff16#0",
-        "pos": {
-          "x": 110.0,
-          "y": 75.0
-        }
-      },
-      {
-        "id": "mux1_16",
-        "name": "mux1_16#0",
-        "pos": {
-          "x": 30.0,
-          "y": 75.0
-        }
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "mux1_16#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "dff16#0",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#0",
-        "path": [
-          {
-            "x": 95.0,
-            "y": 125.0
-          },
-          {
-            "x": 95.0,
-            "y": 100.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff16#0",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "name": "unnamedWire#1",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "dff16#0",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#2",
-        "path": [
-          {
-            "x": 95.0,
-            "y": 20.0
-          },
-          {
-            "x": 95.0,
-            "y": 80.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "WE"
-        },
-        "pin2": {
-          "compName": "mux1_16#0",
-          "pinName": "S"
-        },
-        "name": "unnamedWire#3",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#4",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "mux1_16#0",
-          "pinName": "I0"
-        },
-        "name": "unnamedWire#5",
-        "path": [
-          {
-            "x": 165.0,
-            "y": 205.0
-          },
-          {
-            "x": 20.0,
-            "y": 205.0
-          },
-          {
-            "x": 20.0,
-            "y": 100.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "mux1_16#0",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#6",
-        "path": [
-          {
-            "x": 10.0,
-            "y": 100.0
-          },
-          {
-            "x": 10.0,
-            "y": 165.0
-          }
-        ]
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "D flip flop\n16 bit",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 30.0,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "standard",
-  "highLevelStateHandlerParams": {
-    "subcomponentHighLevelStates": {},
-    "atomicHighLevelStates": {
-      "q": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q"
-        }
-      },
-      "q1": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q1"
-        }
-      },
-      "q2": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q2"
-        }
-      },
-      "q3": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q3"
-        }
-      },
-      "q4": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q4"
-        }
-      },
-      "q5": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q5"
-        }
-      },
-      "q6": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q6"
-        }
-      },
-      "q7": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q7"
-        }
-      },
-      "q8": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q8"
-        }
-      },
-      "q9": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q9"
-        }
-      },
-      "q10": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q10"
-        }
-      },
-      "q11": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q11"
-        }
-      },
-      "q12": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q12"
-        }
-      },
-      "q13": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q13"
-        }
-      },
-      "q14": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q14"
-        }
-      },
-      "q15": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q15"
-        }
-      },
-      "q16": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff16#0",
-          "subStateID": "q16"
-        }
-      }
-    }
-  },
-  "version": "0.1.5"
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4_invwe.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4_invwe.json
deleted file mode 100644 (file)
index 5899cc8..0000000
+++ /dev/null
@@ -1,742 +0,0 @@
-{
-  "width": 35.0,
-  "height": 60.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 45.0
-      },
-      "name": "C",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "D1",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 15.0
-      },
-      "name": "D2",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 25.0
-      },
-      "name": "D3",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 35.0
-      },
-      "name": "D4",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 5.0
-      },
-      "name": "Q1",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 15.0
-      },
-      "name": "Q2",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 25.0
-      },
-      "name": "Q3",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 35.0
-      },
-      "name": "Q4",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 55.0
-      },
-      "name": "_WE",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    }
-  ],
-  "innerScale": 0.2,
-  "submodel": {
-    "components": [
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 104.0,
-          "y": 184.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
-        "pos": {
-          "x": 104.0,
-          "y": 84.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 104.0,
-          "y": 134.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 169.0,
-          "y": 24.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
-        "pos": {
-          "x": 164.0,
-          "y": 74.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
-        "pos": {
-          "x": 159.0,
-          "y": 124.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
-        "pos": {
-          "x": 154.0,
-          "y": 174.0
-        },
-        "params": 1
-      },
-      {
-        "id": "dff",
-        "name": "dff#0",
-        "pos": {
-          "x": 115.0,
-          "y": 20.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#1",
-        "pos": {
-          "x": 115.0,
-          "y": 70.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#2",
-        "pos": {
-          "x": 115.0,
-          "y": 120.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#3",
-        "pos": {
-          "x": 115.0,
-          "y": 170.0
-        }
-      },
-      {
-        "id": "mux1_4",
-        "name": "mux1_4#0",
-        "pos": {
-          "x": 55.0,
-          "y": 60.0
-        }
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#0",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#0",
-        "path": [
-          {
-            "x": 105.0,
-            "y": 35.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "mux1_4#0",
-          "pinName": "Y1"
-        },
-        "pin2": {
-          "compName": "dff#0",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#1",
-        "path": [
-          {
-            "x": 100.0,
-            "y": 65.0
-          },
-          {
-            "x": 100.0,
-            "y": 25.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "mux1_4#0",
-          "pinName": "Y2"
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#3",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#3",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#4",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#5",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#6",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#2",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#7",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "name": "unnamedWire#8",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 225.0
-          },
-          {
-            "x": 20.0,
-            "y": 185.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "_WE"
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "S0"
-        },
-        "name": "unnamedWire#9",
-        "path": [
-          {
-            "x": 10.0,
-            "y": 275.0
-          },
-          {
-            "x": 10.0,
-            "y": 65.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D1"
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I0_1"
-        },
-        "name": "unnamedWire#10",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 25.0
-          },
-          {
-            "x": 25.0,
-            "y": 75.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D2"
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I0_2"
-        },
-        "name": "unnamedWire#11",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 75.0
-          },
-          {
-            "x": 20.0,
-            "y": 85.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D3"
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I0_3"
-        },
-        "name": "unnamedWire#12",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 125.0
-          },
-          {
-            "x": 20.0,
-            "y": 95.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#0",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#13",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Q1"
-        },
-        "name": "unnamedWire#14",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "Q2"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#15",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#16",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D4"
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I0_4"
-        },
-        "name": "unnamedWire#17",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 175.0
-          },
-          {
-            "x": 25.0,
-            "y": 105.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#2",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#18",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Q3"
-        },
-        "name": "unnamedWire#19",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Q4"
-        },
-        "name": "unnamedWire#20",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#3",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#21",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "mux1_4#0",
-          "pinName": "Y3"
-        },
-        "pin2": {
-          "compName": "dff#2",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#22",
-        "path": [
-          {
-            "x": 100.0,
-            "y": 85.0
-          },
-          {
-            "x": 100.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "mux1_4#0",
-          "pinName": "Y4"
-        },
-        "pin2": {
-          "compName": "dff#3",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#23",
-        "path": [
-          {
-            "x": 95.0,
-            "y": 95.0
-          },
-          {
-            "x": 95.0,
-            "y": 175.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I1_1"
-        },
-        "name": "unnamedWire#24",
-        "path": [
-          {
-            "x": 170.0,
-            "y": 205.0
-          },
-          {
-            "x": 50.0,
-            "y": 205.0
-          },
-          {
-            "x": 50.0,
-            "y": 115.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I1_2"
-        },
-        "name": "unnamedWire#25",
-        "path": [
-          {
-            "x": 165.0,
-            "y": 210.0
-          },
-          {
-            "x": 45.0,
-            "y": 210.0
-          },
-          {
-            "x": 45.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I1_3"
-        },
-        "name": "unnamedWire#26",
-        "path": [
-          {
-            "x": 160.0,
-            "y": 215.0
-          },
-          {
-            "x": 40.0,
-            "y": 215.0
-          },
-          {
-            "x": 40.0,
-            "y": 135.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "mux1_4#0",
-          "pinName": "I1_4"
-        },
-        "name": "unnamedWire#27",
-        "path": [
-          {
-            "x": 155.0,
-            "y": 220.0
-          },
-          {
-            "x": 35.0,
-            "y": 220.0
-          },
-          {
-            "x": 35.0,
-            "y": 145.0
-          }
-        ]
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "D flip flop\n4 bit",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 17.5,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "standard",
-  "highLevelStateHandlerParams": {
-    "subcomponentHighLevelStates": {},
-    "atomicHighLevelStates": {
-      "q": {
-        "id": "bitVectorSplitting",
-        "params": {
-          "vectorPartTargets": [
-            "q4",
-            "q3",
-            "q2",
-            "q1"
-          ],
-          "vectorPartLengthes": [
-            1,
-            1,
-            1,
-            1
-          ]
-        }
-      },
-      "q1": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#0",
-          "subStateID": "q"
-        }
-      },
-      "q2": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#1",
-          "subStateID": "q"
-        }
-      },
-      "q3": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#2",
-          "subStateID": "q"
-        }
-      },
-      "q4": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#3",
-          "subStateID": "q"
-        }
-      }
-    }
-  },
-  "version": "0.1.5"
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff8.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff8.json
deleted file mode 100644 (file)
index 99b59a7..0000000
+++ /dev/null
@@ -1,859 +0,0 @@
-{
-  "width": 35.0,
-  "height": 30.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "C",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 15.0
-      },
-      "name": "D",
-      "logicWidth": 8,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 15.0
-      },
-      "name": "Q",
-      "logicWidth": 8,
-      "usage": "TRISTATE"
-    }
-  ],
-  "innerScale": 0.2,
-  "submodel": {
-    "components": [
-      {
-        "id": "Splitter",
-        "name": "Splitter#0",
-        "pos": {
-          "x": 5.0,
-          "y": 40.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#1",
-        "pos": {
-          "x": 160.0,
-          "y": 40.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 39.0,
-          "y": 24.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
-        "pos": {
-          "x": 39.0,
-          "y": 54.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 39.0,
-          "y": 84.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 89.0,
-          "y": 104.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
-        "pos": {
-          "x": 89.0,
-          "y": 44.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
-        "pos": {
-          "x": 89.0,
-          "y": 74.0
-        },
-        "params": 1
-      },
-      {
-        "id": "dff",
-        "name": "dff#0",
-        "pos": {
-          "x": 45.0,
-          "y": 10.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#1",
-        "pos": {
-          "x": 95.0,
-          "y": 90.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#2",
-        "pos": {
-          "x": 95.0,
-          "y": 120.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#3",
-        "pos": {
-          "x": 45.0,
-          "y": 100.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#4",
-        "pos": {
-          "x": 45.0,
-          "y": 70.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#5",
-        "pos": {
-          "x": 95.0,
-          "y": 30.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#6",
-        "pos": {
-          "x": 95.0,
-          "y": 60.0
-        }
-      },
-      {
-        "id": "dff",
-        "name": "dff#7",
-        "pos": {
-          "x": 45.0,
-          "y": 40.0
-        }
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#0",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 5.0
-          },
-          {
-            "x": 90.0,
-            "y": 5.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#1",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#3",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#4",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#0",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#5",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff#0",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#6",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 15.0
-          },
-          {
-            "x": 20.0,
-            "y": 40.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "dff#5",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#7",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 50.0
-          },
-          {
-            "x": 25.0,
-            "y": 35.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#7",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#8",
-        "path": [
-          {
-            "x": 30.0,
-            "y": 45.0
-          },
-          {
-            "x": 30.0,
-            "y": 60.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "dff#6",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#9",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 70.0
-          },
-          {
-            "x": 25.0,
-            "y": 65.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#4",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#10",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 75.0
-          },
-          {
-            "x": 25.0,
-            "y": 80.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#11",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 90.0
-          },
-          {
-            "x": 25.0,
-            "y": 95.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#3",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#12",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 105.0
-          },
-          {
-            "x": 25.0,
-            "y": 100.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "dff#2",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#13",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 110.0
-          },
-          {
-            "x": 20.0,
-            "y": 125.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#7",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#14",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#15",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#4",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#16",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#3",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#17",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 115.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#2",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#18",
-        "path": [
-          {
-            "x": 90.0,
-            "y": 135.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#1",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#19",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#20",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff#6",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#21",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#22",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff#5",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#23",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "dff#0",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#24",
-        "path": [
-          {
-            "x": 155.0,
-            "y": 40.0
-          },
-          {
-            "x": 155.0,
-            "y": 25.0
-          },
-          {
-            "x": 85.0,
-            "y": 25.0
-          },
-          {
-            "x": 85.0,
-            "y": 15.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#5",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O6"
-        },
-        "name": "unnamedWire#25",
-        "path": [
-          {
-            "x": 150.0,
-            "y": 35.0
-          },
-          {
-            "x": 150.0,
-            "y": 50.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "dff#7",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#26",
-        "path": [
-          {
-            "x": 145.0,
-            "y": 60.0
-          },
-          {
-            "x": 145.0,
-            "y": 55.0
-          },
-          {
-            "x": 85.0,
-            "y": 55.0
-          },
-          {
-            "x": 85.0,
-            "y": 45.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "dff#6",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#27",
-        "path": [
-          {
-            "x": 140.0,
-            "y": 70.0
-          },
-          {
-            "x": 140.0,
-            "y": 65.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "dff#4",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#28",
-        "path": [
-          {
-            "x": 140.0,
-            "y": 80.0
-          },
-          {
-            "x": 140.0,
-            "y": 85.0
-          },
-          {
-            "x": 85.0,
-            "y": 85.0
-          },
-          {
-            "x": 85.0,
-            "y": 75.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#1",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#29",
-        "path": [
-          {
-            "x": 140.0,
-            "y": 95.0
-          },
-          {
-            "x": 140.0,
-            "y": 90.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "dff#3",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#30",
-        "path": [
-          {
-            "x": 140.0,
-            "y": 100.0
-          },
-          {
-            "x": 140.0,
-            "y": 115.0
-          },
-          {
-            "x": 85.0,
-            "y": 115.0
-          },
-          {
-            "x": 85.0,
-            "y": 105.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "dff#2",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#31",
-        "path": [
-          {
-            "x": 150.0,
-            "y": 125.0
-          },
-          {
-            "x": 150.0,
-            "y": 110.0
-          }
-        ]
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "D flip flop\n8 bit",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 30.0,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "standard",
-  "highLevelStateHandlerParams": {
-    "subcomponentHighLevelStates": {},
-    "atomicHighLevelStates": {
-      "q": {
-        "id": "bitVectorSplitting",
-        "params": {
-          "vectorPartTargets": [
-            "q8",
-            "q7",
-            "q6",
-            "q5",
-            "q4",
-            "q3",
-            "q2",
-            "q1"
-          ],
-          "vectorPartLengthes": [
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1,
-            1
-          ]
-        }
-      },
-      "q1": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#2",
-          "subStateID": "q"
-        }
-      },
-      "q2": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#3",
-          "subStateID": "q"
-        }
-      },
-      "q3": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#1",
-          "subStateID": "q"
-        }
-      },
-      "q4": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#4",
-          "subStateID": "q"
-        }
-      },
-      "q5": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#6",
-          "subStateID": "q"
-        }
-      },
-      "q6": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#7",
-          "subStateID": "q"
-        }
-      },
-      "q7": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#5",
-          "subStateID": "q"
-        }
-      },
-      "q8": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff#0",
-          "subStateID": "q"
-        }
-      }
-    }
-  },
-  "version": "0.1.5"
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff80.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff80.json
deleted file mode 100644 (file)
index 7002e05..0000000
+++ /dev/null
@@ -1,3563 +0,0 @@
-{
-  "width": 25.0,
-  "height": 165.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "C",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 85.0
-      },
-      "name": "D",
-      "logicWidth": 80,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 25.0,
-        "y": 85.0
-      },
-      "name": "Q",
-      "logicWidth": 80,
-      "usage": "OUTPUT"
-    }
-  ],
-  "innerScale": 0.2,
-  "submodel": {
-    "components": [
-      {
-        "id": "Splitter",
-        "name": "Splitter#0",
-        "pos": {
-          "x": 15.0,
-          "y": 30.0
-        },
-        "params": {
-          "logicWidth": 80,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#1",
-        "pos": {
-          "x": 90.0,
-          "y": 750.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#2",
-        "pos": {
-          "x": 30.0,
-          "y": 30.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#3",
-        "pos": {
-          "x": 30.0,
-          "y": 110.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#4",
-        "pos": {
-          "x": 30.0,
-          "y": 190.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#5",
-        "pos": {
-          "x": 30.0,
-          "y": 270.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#6",
-        "pos": {
-          "x": 30.0,
-          "y": 350.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#7",
-        "pos": {
-          "x": 30.0,
-          "y": 430.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#8",
-        "pos": {
-          "x": 30.0,
-          "y": 510.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#9",
-        "pos": {
-          "x": 30.0,
-          "y": 590.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#10",
-        "pos": {
-          "x": 30.0,
-          "y": 670.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#11",
-        "pos": {
-          "x": 30.0,
-          "y": 750.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#12",
-        "pos": {
-          "x": 90.0,
-          "y": 510.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#13",
-        "pos": {
-          "x": 90.0,
-          "y": 590.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#14",
-        "pos": {
-          "x": 90.0,
-          "y": 110.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#15",
-        "pos": {
-          "x": 90.0,
-          "y": 430.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#16",
-        "pos": {
-          "x": 90.0,
-          "y": 190.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#17",
-        "pos": {
-          "x": 90.0,
-          "y": 350.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#18",
-        "pos": {
-          "x": 90.0,
-          "y": 270.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#19",
-        "pos": {
-          "x": 90.0,
-          "y": 670.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#20",
-        "pos": {
-          "x": 90.0,
-          "y": 30.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#21",
-        "pos": {
-          "x": 105.0,
-          "y": 30.0
-        },
-        "params": {
-          "logicWidth": 80,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 44.0,
-          "y": 54.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
-        "pos": {
-          "x": 44.0,
-          "y": 134.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 44.0,
-          "y": 214.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 44.0,
-          "y": 294.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
-        "pos": {
-          "x": 44.0,
-          "y": 454.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
-        "pos": {
-          "x": 44.0,
-          "y": 374.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
-        "pos": {
-          "x": 44.0,
-          "y": 614.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
-        "pos": {
-          "x": 44.0,
-          "y": 534.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
-        "pos": {
-          "x": 44.0,
-          "y": 694.0
-        },
-        "params": 1
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#0",
-        "pos": {
-          "x": 50.0,
-          "y": 770.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#1",
-        "pos": {
-          "x": 50.0,
-          "y": 690.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#2",
-        "pos": {
-          "x": 50.0,
-          "y": 610.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#3",
-        "pos": {
-          "x": 50.0,
-          "y": 530.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#4",
-        "pos": {
-          "x": 50.0,
-          "y": 450.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#5",
-        "pos": {
-          "x": 50.0,
-          "y": 370.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#6",
-        "pos": {
-          "x": 50.0,
-          "y": 290.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#7",
-        "pos": {
-          "x": 50.0,
-          "y": 210.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#8",
-        "pos": {
-          "x": 50.0,
-          "y": 130.0
-        }
-      },
-      {
-        "id": "dff8",
-        "name": "dff8#9",
-        "pos": {
-          "x": 50.0,
-          "y": 50.0
-        }
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O79"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#0",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O78"
-        },
-        "name": "unnamedWire#1",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O77"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#2",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O76"
-        },
-        "name": "unnamedWire#3",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O75"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#4",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O74"
-        },
-        "name": "unnamedWire#5",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O73"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#6",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O72"
-        },
-        "name": "unnamedWire#7",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O71"
-        },
-        "pin2": {
-          "compName": "Splitter#3",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#8",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O70"
-        },
-        "name": "unnamedWire#9",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O69"
-        },
-        "pin2": {
-          "compName": "Splitter#3",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#10",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O68"
-        },
-        "name": "unnamedWire#11",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O67"
-        },
-        "pin2": {
-          "compName": "Splitter#3",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#12",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O66"
-        },
-        "name": "unnamedWire#13",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O65"
-        },
-        "pin2": {
-          "compName": "Splitter#3",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#14",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O64"
-        },
-        "name": "unnamedWire#15",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O63"
-        },
-        "pin2": {
-          "compName": "Splitter#4",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#16",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#4",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O62"
-        },
-        "name": "unnamedWire#17",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O61"
-        },
-        "pin2": {
-          "compName": "Splitter#4",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#18",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#4",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O60"
-        },
-        "name": "unnamedWire#19",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O59"
-        },
-        "pin2": {
-          "compName": "Splitter#4",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#20",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#4",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O58"
-        },
-        "name": "unnamedWire#21",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O57"
-        },
-        "pin2": {
-          "compName": "Splitter#4",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#22",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#4",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O56"
-        },
-        "name": "unnamedWire#23",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O55"
-        },
-        "pin2": {
-          "compName": "Splitter#5",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#24",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#5",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O54"
-        },
-        "name": "unnamedWire#25",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O53"
-        },
-        "pin2": {
-          "compName": "Splitter#5",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#26",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#5",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O52"
-        },
-        "name": "unnamedWire#27",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O51"
-        },
-        "pin2": {
-          "compName": "Splitter#5",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#28",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#5",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O50"
-        },
-        "name": "unnamedWire#29",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O49"
-        },
-        "pin2": {
-          "compName": "Splitter#5",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#30",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#5",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O48"
-        },
-        "name": "unnamedWire#31",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O47"
-        },
-        "pin2": {
-          "compName": "Splitter#6",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#32",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#6",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O46"
-        },
-        "name": "unnamedWire#33",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O45"
-        },
-        "pin2": {
-          "compName": "Splitter#6",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#34",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#6",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O44"
-        },
-        "name": "unnamedWire#35",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O43"
-        },
-        "pin2": {
-          "compName": "Splitter#6",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#36",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#6",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O42"
-        },
-        "name": "unnamedWire#37",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O41"
-        },
-        "pin2": {
-          "compName": "Splitter#6",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#38",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#6",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O40"
-        },
-        "name": "unnamedWire#39",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O39"
-        },
-        "pin2": {
-          "compName": "Splitter#7",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#40",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#7",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O38"
-        },
-        "name": "unnamedWire#41",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O37"
-        },
-        "pin2": {
-          "compName": "Splitter#7",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#42",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#7",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O36"
-        },
-        "name": "unnamedWire#43",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O35"
-        },
-        "pin2": {
-          "compName": "Splitter#7",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#44",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#7",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O34"
-        },
-        "name": "unnamedWire#45",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O33"
-        },
-        "pin2": {
-          "compName": "Splitter#7",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#46",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#7",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O32"
-        },
-        "name": "unnamedWire#47",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O31"
-        },
-        "pin2": {
-          "compName": "Splitter#8",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#48",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#8",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O30"
-        },
-        "name": "unnamedWire#49",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O29"
-        },
-        "pin2": {
-          "compName": "Splitter#8",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#50",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#8",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O28"
-        },
-        "name": "unnamedWire#51",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O27"
-        },
-        "pin2": {
-          "compName": "Splitter#8",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#52",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#8",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O26"
-        },
-        "name": "unnamedWire#53",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O25"
-        },
-        "pin2": {
-          "compName": "Splitter#8",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#54",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#8",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O24"
-        },
-        "name": "unnamedWire#55",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O23"
-        },
-        "pin2": {
-          "compName": "Splitter#9",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#56",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#9",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O22"
-        },
-        "name": "unnamedWire#57",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O21"
-        },
-        "pin2": {
-          "compName": "Splitter#9",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#58",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#9",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O20"
-        },
-        "name": "unnamedWire#59",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O19"
-        },
-        "pin2": {
-          "compName": "Splitter#9",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#60",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#9",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O18"
-        },
-        "name": "unnamedWire#61",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O17"
-        },
-        "pin2": {
-          "compName": "Splitter#9",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#62",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#9",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O16"
-        },
-        "name": "unnamedWire#63",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O15"
-        },
-        "pin2": {
-          "compName": "Splitter#10",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#64",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#10",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O14"
-        },
-        "name": "unnamedWire#65",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O13"
-        },
-        "pin2": {
-          "compName": "Splitter#10",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#66",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#10",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O12"
-        },
-        "name": "unnamedWire#67",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O11"
-        },
-        "pin2": {
-          "compName": "Splitter#10",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#68",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#10",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O10"
-        },
-        "name": "unnamedWire#69",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O9"
-        },
-        "pin2": {
-          "compName": "Splitter#10",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#70",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#10",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O8"
-        },
-        "name": "unnamedWire#71",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "Splitter#11",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#72",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#11",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O6"
-        },
-        "name": "unnamedWire#73",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "Splitter#11",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#74",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#11",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O4"
-        },
-        "name": "unnamedWire#75",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "Splitter#11",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#76",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#11",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#77",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "Splitter#11",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#78",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#11",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#79",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O79"
-        },
-        "pin2": {
-          "compName": "Splitter#20",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#80",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#20",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O78"
-        },
-        "name": "unnamedWire#81",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O77"
-        },
-        "pin2": {
-          "compName": "Splitter#20",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#82",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#20",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O76"
-        },
-        "name": "unnamedWire#83",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O75"
-        },
-        "pin2": {
-          "compName": "Splitter#20",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#84",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#20",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O74"
-        },
-        "name": "unnamedWire#85",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O73"
-        },
-        "pin2": {
-          "compName": "Splitter#20",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#86",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#20",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O72"
-        },
-        "name": "unnamedWire#87",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O71"
-        },
-        "pin2": {
-          "compName": "Splitter#14",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#88",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#14",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O70"
-        },
-        "name": "unnamedWire#89",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O69"
-        },
-        "pin2": {
-          "compName": "Splitter#14",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#90",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#14",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O68"
-        },
-        "name": "unnamedWire#91",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O67"
-        },
-        "pin2": {
-          "compName": "Splitter#14",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#92",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#14",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O66"
-        },
-        "name": "unnamedWire#93",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O65"
-        },
-        "pin2": {
-          "compName": "Splitter#14",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#94",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#14",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O64"
-        },
-        "name": "unnamedWire#95",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O63"
-        },
-        "pin2": {
-          "compName": "Splitter#16",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#96",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#16",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O62"
-        },
-        "name": "unnamedWire#97",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O61"
-        },
-        "pin2": {
-          "compName": "Splitter#16",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#98",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#16",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O60"
-        },
-        "name": "unnamedWire#99",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O59"
-        },
-        "pin2": {
-          "compName": "Splitter#16",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#100",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#16",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O58"
-        },
-        "name": "unnamedWire#101",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O57"
-        },
-        "pin2": {
-          "compName": "Splitter#16",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#102",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#16",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O56"
-        },
-        "name": "unnamedWire#103",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O55"
-        },
-        "pin2": {
-          "compName": "Splitter#18",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#104",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#18",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O54"
-        },
-        "name": "unnamedWire#105",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O53"
-        },
-        "pin2": {
-          "compName": "Splitter#18",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#106",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#18",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O52"
-        },
-        "name": "unnamedWire#107",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O51"
-        },
-        "pin2": {
-          "compName": "Splitter#18",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#108",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#18",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O50"
-        },
-        "name": "unnamedWire#109",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O49"
-        },
-        "pin2": {
-          "compName": "Splitter#18",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#110",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#18",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O48"
-        },
-        "name": "unnamedWire#111",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O47"
-        },
-        "pin2": {
-          "compName": "Splitter#17",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#112",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#17",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O46"
-        },
-        "name": "unnamedWire#113",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O45"
-        },
-        "pin2": {
-          "compName": "Splitter#17",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#114",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#17",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O44"
-        },
-        "name": "unnamedWire#115",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O43"
-        },
-        "pin2": {
-          "compName": "Splitter#17",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#116",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#17",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O42"
-        },
-        "name": "unnamedWire#117",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O41"
-        },
-        "pin2": {
-          "compName": "Splitter#17",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#118",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#17",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O40"
-        },
-        "name": "unnamedWire#119",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O39"
-        },
-        "pin2": {
-          "compName": "Splitter#15",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#120",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#15",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O38"
-        },
-        "name": "unnamedWire#121",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O37"
-        },
-        "pin2": {
-          "compName": "Splitter#15",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#122",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#15",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O36"
-        },
-        "name": "unnamedWire#123",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O35"
-        },
-        "pin2": {
-          "compName": "Splitter#15",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#124",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#15",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O34"
-        },
-        "name": "unnamedWire#125",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O33"
-        },
-        "pin2": {
-          "compName": "Splitter#15",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#126",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#15",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O32"
-        },
-        "name": "unnamedWire#127",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O31"
-        },
-        "pin2": {
-          "compName": "Splitter#12",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#128",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#12",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O30"
-        },
-        "name": "unnamedWire#129",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O29"
-        },
-        "pin2": {
-          "compName": "Splitter#12",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#130",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#12",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O28"
-        },
-        "name": "unnamedWire#131",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O27"
-        },
-        "pin2": {
-          "compName": "Splitter#12",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#132",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#12",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O26"
-        },
-        "name": "unnamedWire#133",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O25"
-        },
-        "pin2": {
-          "compName": "Splitter#12",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#134",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#12",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O24"
-        },
-        "name": "unnamedWire#135",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O23"
-        },
-        "pin2": {
-          "compName": "Splitter#13",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#136",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#13",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O22"
-        },
-        "name": "unnamedWire#137",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O21"
-        },
-        "pin2": {
-          "compName": "Splitter#13",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#138",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#13",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O20"
-        },
-        "name": "unnamedWire#139",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O19"
-        },
-        "pin2": {
-          "compName": "Splitter#13",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#140",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#13",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O18"
-        },
-        "name": "unnamedWire#141",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O17"
-        },
-        "pin2": {
-          "compName": "Splitter#13",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#142",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#13",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O16"
-        },
-        "name": "unnamedWire#143",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O15"
-        },
-        "pin2": {
-          "compName": "Splitter#19",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#144",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#19",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O14"
-        },
-        "name": "unnamedWire#145",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O13"
-        },
-        "pin2": {
-          "compName": "Splitter#19",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#146",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#19",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O12"
-        },
-        "name": "unnamedWire#147",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O11"
-        },
-        "pin2": {
-          "compName": "Splitter#19",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#148",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#19",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O10"
-        },
-        "name": "unnamedWire#149",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O9"
-        },
-        "pin2": {
-          "compName": "Splitter#19",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#150",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#19",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O8"
-        },
-        "name": "unnamedWire#151",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O7"
-        },
-        "name": "unnamedWire#152",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O6"
-        },
-        "name": "unnamedWire#153",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O5"
-        },
-        "name": "unnamedWire#154",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O4"
-        },
-        "name": "unnamedWire#155",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O3"
-        },
-        "name": "unnamedWire#156",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#157",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#21",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "O1"
-        },
-        "name": "unnamedWire#158",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#159",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#9",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#160",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff8#9",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#20",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#161",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#3",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#8",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#162",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#4",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#7",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#163",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#5",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#6",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#164",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#6",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#5",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#165",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#7",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#4",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#166",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#8",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#3",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#167",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#9",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#2",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#168",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#10",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#1",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#169",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#11",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#0",
-          "pinName": "D"
-        },
-        "name": "unnamedWire#170",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#0",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#171",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff8#1",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#19",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#172",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#13",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#2",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#173",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff8#3",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#12",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#174",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#15",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#4",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#175",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff8#5",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#17",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#176",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#18",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#6",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#177",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "dff8#7",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#16",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#178",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#14",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "dff8#8",
-          "pinName": "Q"
-        },
-        "name": "unnamedWire#179",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "D"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#180",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "Q"
-        },
-        "pin2": {
-          "compName": "Splitter#21",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#181",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "C"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "name": "unnamedWire#182",
-        "path": [
-          {
-            "x": 45.0,
-            "y": 25.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#9",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#183",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#8",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#184",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#185",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#186",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#7",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#187",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#188",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#6",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#189",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#190",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#5",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#191",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#192",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#4",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#193",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "name": "unnamedWire#194",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#3",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#195",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "name": "unnamedWire#196",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#2",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#197",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "name": "unnamedWire#198",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#1",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#199",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "dff8#0",
-          "pinName": "C"
-        },
-        "name": "unnamedWire#200",
-        "path": [
-          {
-            "x": 45.0,
-            "y": 775.0
-          }
-        ]
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "D flip flop\n80 bit",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 30.0,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "standard",
-  "highLevelStateHandlerParams": {
-    "subcomponentHighLevelStates": {},
-    "atomicHighLevelStates": {
-      "q": {
-        "id": "bitVectorSplitting",
-        "params": {
-          "vectorPartTargets": [
-            "q80-73",
-            "q72-65",
-            "q64-57",
-            "q56-49",
-            "q48-41",
-            "q40-33",
-            "q32-25",
-            "q24-17",
-            "q16-9",
-            "q8-1"
-          ],
-          "vectorPartLengthes": [
-            8,
-            8,
-            8,
-            8,
-            8,
-            8,
-            8,
-            8,
-            8,
-            8
-          ]
-        }
-      },
-      "q1": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q1"
-        }
-      },
-      "q2": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q2"
-        }
-      },
-      "q3": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q3"
-        }
-      },
-      "q4": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q4"
-        }
-      },
-      "q5": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q5"
-        }
-      },
-      "q6": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q6"
-        }
-      },
-      "q7": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q7"
-        }
-      },
-      "q8": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q8"
-        }
-      },
-      "q8-1": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#0",
-          "subStateID": "q"
-        }
-      },
-      "q9": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q1"
-        }
-      },
-      "q10": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q2"
-        }
-      },
-      "q11": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q3"
-        }
-      },
-      "q12": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q4"
-        }
-      },
-      "q13": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q5"
-        }
-      },
-      "q14": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q6"
-        }
-      },
-      "q15": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q7"
-        }
-      },
-      "q16": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q8"
-        }
-      },
-      "q16-9": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#1",
-          "subStateID": "q"
-        }
-      },
-      "q17": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q1"
-        }
-      },
-      "q18": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q2"
-        }
-      },
-      "q19": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q3"
-        }
-      },
-      "q20": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q4"
-        }
-      },
-      "q21": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q5"
-        }
-      },
-      "q22": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q6"
-        }
-      },
-      "q23": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q7"
-        }
-      },
-      "q24": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q8"
-        }
-      },
-      "q24-17": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#2",
-          "subStateID": "q"
-        }
-      },
-      "q25": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q1"
-        }
-      },
-      "q26": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q2"
-        }
-      },
-      "q27": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q3"
-        }
-      },
-      "q28": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q4"
-        }
-      },
-      "q29": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q5"
-        }
-      },
-      "q30": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q6"
-        }
-      },
-      "q31": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q7"
-        }
-      },
-      "q32": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q8"
-        }
-      },
-      "q32-25": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#3",
-          "subStateID": "q"
-        }
-      },
-      "q33": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q1"
-        }
-      },
-      "q34": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q2"
-        }
-      },
-      "q35": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q3"
-        }
-      },
-      "q36": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q4"
-        }
-      },
-      "q37": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q5"
-        }
-      },
-      "q38": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q6"
-        }
-      },
-      "q39": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q7"
-        }
-      },
-      "q40": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q8"
-        }
-      },
-      "q40-33": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#4",
-          "subStateID": "q"
-        }
-      },
-      "q41": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q1"
-        }
-      },
-      "q42": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q2"
-        }
-      },
-      "q43": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q3"
-        }
-      },
-      "q44": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q4"
-        }
-      },
-      "q45": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q5"
-        }
-      },
-      "q46": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q6"
-        }
-      },
-      "q47": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q7"
-        }
-      },
-      "q48": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q8"
-        }
-      },
-      "q48-41": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#5",
-          "subStateID": "q"
-        }
-      },
-      "q49": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q1"
-        }
-      },
-      "q50": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q2"
-        }
-      },
-      "q51": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q3"
-        }
-      },
-      "q52": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q4"
-        }
-      },
-      "q53": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q5"
-        }
-      },
-      "q54": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q6"
-        }
-      },
-      "q55": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q7"
-        }
-      },
-      "q56": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q8"
-        }
-      },
-      "q56-49": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#6",
-          "subStateID": "q"
-        }
-      },
-      "q57": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q1"
-        }
-      },
-      "q58": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q2"
-        }
-      },
-      "q59": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q3"
-        }
-      },
-      "q60": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q4"
-        }
-      },
-      "q61": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q5"
-        }
-      },
-      "q62": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q6"
-        }
-      },
-      "q63": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q7"
-        }
-      },
-      "q64": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q8"
-        }
-      },
-      "q64-57": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#7",
-          "subStateID": "q"
-        }
-      },
-      "q65": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q1"
-        }
-      },
-      "q66": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q2"
-        }
-      },
-      "q67": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q3"
-        }
-      },
-      "q68": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q4"
-        }
-      },
-      "q69": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q5"
-        }
-      },
-      "q70": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q6"
-        }
-      },
-      "q71": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q7"
-        }
-      },
-      "q72": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q8"
-        }
-      },
-      "q72-65": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#8",
-          "subStateID": "q"
-        }
-      },
-      "q73": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q1"
-        }
-      },
-      "q74": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q2"
-        }
-      },
-      "q75": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q3"
-        }
-      },
-      "q76": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q4"
-        }
-      },
-      "q77": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q5"
-        }
-      },
-      "q78": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q6"
-        }
-      },
-      "q79": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q7"
-        }
-      },
-      "q80": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q8"
-        }
-      },
-      "q80-73": {
-        "id": "delegating",
-        "params": {
-          "delegateTarget": "dff8#9",
-          "subStateID": "q"
-        }
-      }
-    }
-  },
-  "version": "0.1.5"
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux1_8.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/mux1_8.json
deleted file mode 100644 (file)
index 9170ecc..0000000
+++ /dev/null
@@ -1,1297 +0,0 @@
-{
-  "width": 40.0,
-  "height": 55.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 15.0
-      },
-      "name": "I0",
-      "logicWidth": 8,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 40.0
-      },
-      "name": "I1",
-      "logicWidth": 8,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "S",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 40.0,
-        "y": 25.0
-      },
-      "name": "Y",
-      "logicWidth": 8,
-      "usage": "OUTPUT"
-    }
-  ],
-  "innerScale": 0.2,
-  "submodel": {
-    "components": [
-      {
-        "id": "NandGate",
-        "name": "NandGate#0",
-        "pos": {
-          "x": 15.0,
-          "y": 10.0
-        },
-        "params": 1
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#0",
-        "pos": {
-          "x": 5.0,
-          "y": 40.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#1",
-        "pos": {
-          "x": 5.0,
-          "y": 165.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "RIGHT"
-        }
-      },
-      {
-        "id": "Splitter",
-        "name": "Splitter#2",
-        "pos": {
-          "x": 185.0,
-          "y": 90.0
-        },
-        "params": {
-          "logicWidth": 8,
-          "orientation": "LEFT"
-        }
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 114.0,
-          "y": 49.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
-        "pos": {
-          "x": 119.0,
-          "y": 59.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 119.0,
-          "y": 119.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 114.0,
-          "y": 109.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#4",
-        "pos": {
-          "x": 119.0,
-          "y": 179.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#5",
-        "pos": {
-          "x": 114.0,
-          "y": 169.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#6",
-        "pos": {
-          "x": 69.0,
-          "y": 4.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#7",
-        "pos": {
-          "x": 64.0,
-          "y": 19.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#8",
-        "pos": {
-          "x": 9.0,
-          "y": 24.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#9",
-        "pos": {
-          "x": 9.0,
-          "y": 14.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#10",
-        "pos": {
-          "x": 64.0,
-          "y": 149.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#11",
-        "pos": {
-          "x": 69.0,
-          "y": 159.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#12",
-        "pos": {
-          "x": 64.0,
-          "y": 89.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#13",
-        "pos": {
-          "x": 69.0,
-          "y": 99.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#14",
-        "pos": {
-          "x": 69.0,
-          "y": 39.0
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#15",
-        "pos": {
-          "x": 64.0,
-          "y": 29.0
-        },
-        "params": 1
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#0",
-        "pos": {
-          "x": 75.0,
-          "y": 205.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#1",
-        "pos": {
-          "x": 125.0,
-          "y": 45.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#2",
-        "pos": {
-          "x": 75.0,
-          "y": 25.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#3",
-        "pos": {
-          "x": 75.0,
-          "y": 85.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#4",
-        "pos": {
-          "x": 125.0,
-          "y": 165.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#5",
-        "pos": {
-          "x": 125.0,
-          "y": 105.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#6",
-        "pos": {
-          "x": 75.0,
-          "y": 145.0
-        }
-      },
-      {
-        "id": "sel1",
-        "name": "sel1#7",
-        "pos": {
-          "x": 125.0,
-          "y": 225.0
-        }
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#15",
-          "pinName": ""
-        },
-        "name": "unnamedWire#0",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#14",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "name": "unnamedWire#1",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#2",
-        "path": [
-          {
-            "x": 120.0,
-            "y": 5.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "name": "unnamedWire#3",
-        "path": [
-          {
-            "x": 115.0,
-            "y": 20.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#15",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#2",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#4",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "sel1#2",
-          "pinName": "S2"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#14",
-          "pinName": ""
-        },
-        "name": "unnamedWire#5",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#3",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#6",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#3",
-          "pinName": "S2"
-        },
-        "name": "unnamedWire#7",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "sel1#6",
-          "pinName": "S1"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#8",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#6",
-          "pinName": "S2"
-        },
-        "name": "unnamedWire#9",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#7",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#10",
-        "path": [
-          {
-            "x": 115.0,
-            "y": 230.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "sel1#4",
-          "pinName": "S2"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#11",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#4",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#12",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "sel1#5",
-          "pinName": "S2"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#13",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#5",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#14",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "sel1#1",
-          "pinName": "S2"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#15",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#1",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#16",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#17",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#5",
-          "pinName": ""
-        },
-        "name": "unnamedWire#18",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#19",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "name": "unnamedWire#20",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#4",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#7",
-          "pinName": "S2"
-        },
-        "name": "unnamedWire#21",
-        "path": [
-          {
-            "x": 120.0,
-            "y": 240.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#15",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "name": "unnamedWire#22",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#12",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "name": "unnamedWire#23",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#10",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#0",
-          "pinName": "S1"
-        },
-        "name": "unnamedWire#24",
-        "path": [
-          {
-            "x": 65.0,
-            "y": 210.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "sel1#0",
-          "pinName": "S2"
-        },
-        "name": "unnamedWire#25",
-        "path": [
-          {
-            "x": 70.0,
-            "y": 220.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#11",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
-        },
-        "name": "unnamedWire#26",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#13",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#14",
-          "pinName": ""
-        },
-        "name": "unnamedWire#27",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "sel1#2",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#28",
-        "path": [
-          {
-            "x": 55.0,
-            "y": 40.0
-          },
-          {
-            "x": 55.0,
-            "y": 50.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "sel1#1",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#29",
-        "path": [
-          {
-            "x": 50.0,
-            "y": 50.0
-          },
-          {
-            "x": 50.0,
-            "y": 70.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "sel1#3",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#30",
-        "path": [
-          {
-            "x": 45.0,
-            "y": 60.0
-          },
-          {
-            "x": 45.0,
-            "y": 110.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "sel1#5",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#31",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 70.0
-          },
-          {
-            "x": 40.0,
-            "y": 130.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "sel1#6",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#32",
-        "path": [
-          {
-            "x": 35.0,
-            "y": 80.0
-          },
-          {
-            "x": 35.0,
-            "y": 170.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "sel1#4",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#33",
-        "path": [
-          {
-            "x": 30.0,
-            "y": 90.0
-          },
-          {
-            "x": 30.0,
-            "y": 190.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "sel1#0",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#34",
-        "path": [
-          {
-            "x": 25.0,
-            "y": 100.0
-          },
-          {
-            "x": 25.0,
-            "y": 230.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#0",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "sel1#7",
-          "pinName": "I1"
-        },
-        "name": "unnamedWire#35",
-        "path": [
-          {
-            "x": 20.0,
-            "y": 110.0
-          },
-          {
-            "x": 20.0,
-            "y": 250.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I1"
-        },
-        "pin2": {
-          "compName": "Splitter#1",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#36",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I0"
-        },
-        "pin2": {
-          "compName": "Splitter#0",
-          "pinName": "I"
-        },
-        "name": "unnamedWire#37",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "sel1#2",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#38",
-        "path": [
-          {
-            "x": 55.0,
-            "y": 165.0
-          },
-          {
-            "x": 55.0,
-            "y": 60.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O6"
-        },
-        "pin2": {
-          "compName": "sel1#1",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#39",
-        "path": [
-          {
-            "x": 50.0,
-            "y": 175.0
-          },
-          {
-            "x": 50.0,
-            "y": 80.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "sel1#3",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#40",
-        "path": [
-          {
-            "x": 45.0,
-            "y": 185.0
-          },
-          {
-            "x": 45.0,
-            "y": 120.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O4"
-        },
-        "pin2": {
-          "compName": "sel1#5",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#41",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 195.0
-          },
-          {
-            "x": 40.0,
-            "y": 140.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "sel1#6",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#42",
-        "path": [
-          {
-            "x": 35.0,
-            "y": 205.0
-          },
-          {
-            "x": 35.0,
-            "y": 180.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O2"
-        },
-        "pin2": {
-          "compName": "sel1#4",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#43",
-        "path": [
-          {
-            "x": 30.0,
-            "y": 215.0
-          },
-          {
-            "x": 30.0,
-            "y": 200.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "sel1#0",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#44",
-        "path": [
-          {
-            "x": 45.0,
-            "y": 225.0
-          },
-          {
-            "x": 45.0,
-            "y": 240.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#1",
-          "pinName": "O0"
-        },
-        "pin2": {
-          "compName": "sel1#7",
-          "pinName": "I2"
-        },
-        "name": "unnamedWire#45",
-        "path": [
-          {
-            "x": 40.0,
-            "y": 235.0
-          },
-          {
-            "x": 40.0,
-            "y": 260.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "NandGate#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#7",
-          "pinName": ""
-        },
-        "name": "unnamedWire#46",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "name": "unnamedWire#47",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#0",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#48",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#0",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#49",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "S"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#8",
-          "pinName": ""
-        },
-        "name": "unnamedWire#50",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O7"
-        },
-        "pin2": {
-          "compName": "sel1#2",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#51",
-        "path": [
-          {
-            "x": 180.0,
-            "y": 90.0
-          },
-          {
-            "x": 180.0,
-            "y": 30.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "sel1#1",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O6"
-        },
-        "name": "unnamedWire#52",
-        "path": [
-          {
-            "x": 175.0,
-            "y": 50.0
-          },
-          {
-            "x": 175.0,
-            "y": 100.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O5"
-        },
-        "pin2": {
-          "compName": "sel1#3",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#53",
-        "path": [
-          {
-            "x": 170.0,
-            "y": 110.0
-          },
-          {
-            "x": 170.0,
-            "y": 90.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "sel1#5",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O4"
-        },
-        "name": "unnamedWire#54",
-        "path": [
-          {
-            "x": 165.0,
-            "y": 110.0
-          },
-          {
-            "x": 165.0,
-            "y": 120.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O3"
-        },
-        "pin2": {
-          "compName": "sel1#6",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#55",
-        "path": [
-          {
-            "x": 165.0,
-            "y": 130.0
-          },
-          {
-            "x": 165.0,
-            "y": 150.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "sel1#4",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O2"
-        },
-        "name": "unnamedWire#56",
-        "path": [
-          {
-            "x": 170.0,
-            "y": 170.0
-          },
-          {
-            "x": 170.0,
-            "y": 140.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "O1"
-        },
-        "pin2": {
-          "compName": "sel1#0",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#57",
-        "path": [
-          {
-            "x": 175.0,
-            "y": 150.0
-          },
-          {
-            "x": 175.0,
-            "y": 210.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "sel1#7",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "Splitter#2",
-          "pinName": "O0"
-        },
-        "name": "unnamedWire#58",
-        "path": [
-          {
-            "x": 180.0,
-            "y": 230.0
-          },
-          {
-            "x": 180.0,
-            "y": 160.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "Splitter#2",
-          "pinName": "I"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#59",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#6",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#9",
-          "pinName": ""
-        },
-        "name": "unnamedWire#60",
-        "path": [
-          {
-            "x": 10.0,
-            "y": 5.0
-          }
-        ]
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "MUX\n8 bit",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 23.5,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "default",
-  "version": "0.1.5"
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/xnor.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/xnor.json
deleted file mode 100644 (file)
index 176ee95..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-{
-  "width": 45.0,
-  "height": 20.0,
-  "interfacePins": [
-    {
-      "location": {
-        "x": 0.0,
-        "y": 5.0
-      },
-      "name": "A",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 15.0
-      },
-      "name": "B",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 45.0,
-        "y": 5.0
-      },
-      "name": "Y",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    }
-  ],
-  "innerScale": 0.4,
-  "submodel": {
-    "components": [
-      {
-        "id": "NandGate",
-        "name": "NandGate#0",
-        "pos": {
-          "x": 35.0,
-          "y": 2.5
-        },
-        "params": 1
-      },
-      {
-        "id": "NandGate",
-        "name": "NandGate#1",
-        "pos": {
-          "x": 35.0,
-          "y": 27.5
-        },
-        "params": 1
-      },
-      {
-        "id": "NandGate",
-        "name": "NandGate#2",
-        "pos": {
-          "x": 60.0,
-          "y": 2.5
-        },
-        "params": 1
-      },
-      {
-        "id": "NandGate",
-        "name": "NandGate#3",
-        "pos": {
-          "x": 10.0,
-          "y": 15.0
-        },
-        "params": 1
-      },
-      {
-        "id": "NandGate",
-        "name": "NandGate#4",
-        "pos": {
-          "x": 85.0,
-          "y": 2.5
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#0",
-        "pos": {
-          "x": 31.5,
-          "y": 11.5
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#1",
-        "pos": {
-          "x": 4.0,
-          "y": 36.5
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#2",
-        "pos": {
-          "x": 4.0,
-          "y": 11.5
-        },
-        "params": 1
-      },
-      {
-        "id": "WireCrossPoint",
-        "name": "WireCrossPoint#3",
-        "pos": {
-          "x": 31.5,
-          "y": 36.5
-        },
-        "params": 1
-      }
-    ],
-    "wires": [
-      {
-        "pin1": {
-          "compName": "NandGate#0",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "NandGate#2",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#0",
-        "path": [
-          {
-            "x": 57.5,
-            "y": 12.5
-          },
-          {
-            "x": 57.5,
-            "y": 7.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "NandGate#1",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "NandGate#2",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#1",
-        "path": [
-          {
-            "x": 57.5,
-            "y": 37.5
-          },
-          {
-            "x": 57.5,
-            "y": 17.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "NandGate#2",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "NandGate#4",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#2",
-        "path": [
-          {
-            "x": 82.5,
-            "y": 12.5
-          },
-          {
-            "x": 82.5,
-            "y": 7.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "NandGate#3",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "NandGate#4",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#3",
-        "path": [
-          {
-            "x": 82.5,
-            "y": 25.0
-          },
-          {
-            "x": 82.5,
-            "y": 17.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#0",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#4",
-        "path": [
-          {
-            "x": 32.5,
-            "y": 7.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "B"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "name": "unnamedWire#5",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#6",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "name": "unnamedWire#7",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#3",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#8",
-        "path": [
-          {
-            "x": 5.0,
-            "y": 20.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#0",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#9",
-        "path": [
-          {
-            "x": 32.5,
-            "y": 17.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#3",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#10",
-        "path": [
-          {
-            "x": 5.0,
-            "y": 30.0
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "NandGate#4",
-          "pinName": "Y"
-        },
-        "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y"
-        },
-        "name": "unnamedWire#11",
-        "path": []
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#1",
-          "pinName": "B"
-        },
-        "name": "unnamedWire#12",
-        "path": [
-          {
-            "x": 32.5,
-            "y": 42.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "WireCrossPoint#3",
-          "pinName": ""
-        },
-        "pin2": {
-          "compName": "NandGate#1",
-          "pinName": "A"
-        },
-        "name": "unnamedWire#13",
-        "path": [
-          {
-            "x": 32.5,
-            "y": 32.5
-          }
-        ]
-      },
-      {
-        "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "A"
-        },
-        "pin2": {
-          "compName": "WireCrossPoint#2",
-          "pinName": ""
-        },
-        "name": "unnamedWire#14",
-        "path": []
-      }
-    ],
-    "version": "0.1.1"
-  },
-  "symbolRendererSnippetID": "simpleRectangularLike",
-  "symbolRendererParams": {
-    "centerText": "xnor",
-    "centerTextHeight": 5.0,
-    "horizontalComponentCenter": 22.5,
-    "pinLabelHeight": 3.5,
-    "pinLabelMargin": 0.5
-  },
-  "outlineRendererSnippetID": "default",
-  "highLevelStateHandlerSnippetID": "default",
-  "version": "0.1.5"
-}
\ No newline at end of file
index 5d66591..1c567d4 100644 (file)
@@ -11,7 +11,6 @@ import net.mograsim.machine.MachineLoader;
 
 public class Am2900Loader implements BundleActivator
 {
-       // TODO use dff16 in dff16_we & dff16_invwe
        private static AtomicBoolean activated = new AtomicBoolean(false);
 
        @Override
index 679887a..10fe473 100644 (file)
@@ -1,26 +1,27 @@
 {
   "Am2900MainMemory": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.ModelAm2900MainMemory",
-  "Am2900MemoryController": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900MemoryController.json",
   "Am2900MicroInstructionMemory": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.ModelAm2900MicroInstructionMemory",
   "Am2904RegCTInstrDecode": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.am2904.ModelAm2904RegCTInstrDecode",
   "Am2904ShiftInstrDecode": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.am2904.ModelAm2904ShiftInstrDecode",
   "Am2910RegCntr": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.am2910.ModelAm2910RegCntr",
   "Am2910SP": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.am2910.ModelAm2910SP",
   "ram5_12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelram5_12",
+
   "Am2900": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900.json",
+  "Am2900MemoryController": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900MemoryController.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",
   "Am2901ALUInclSourceDecodeInclFunctionDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901ALUInclSourceDecodeInclFunctionDecode.json",
   "Am2901ALUOneBit": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901ALUOneBit.json",
+  "Am2901DestDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901DestDecode.json",
+  "Am2901SourceDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901SourceDecode.json",
   "Am2904": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2904/Am2904.json",
   "Am2910": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2910/Am2910.json",
   "Am2910InstrPLA": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2910/Am2910InstrPLA.json",
   "Am2904MSR": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2904/Am2904MSR.json",
   "Am2904muSR": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2904/Am2904muSR.json",
   "Am2904TestLogic": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2904/Am2904TestLogic.json",
-  "Am2901DestDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901DestDecode.json",
-  "Am2901SourceDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901SourceDecode.json",
   "_rsLatch": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/_rsLatch.json",
   "and": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/and.json",
   "and41": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/and41.json",
   "dff": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff.json",
   "dff4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff4.json",
   "dff4_finewe": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff4_finewe.json",
-  "dff4_invwe": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff4_invwe.json",
-  "dff8": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff8.json",
   "dff12": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff12.json",
-  "dff12_we": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff12_we.json",
   "dff16": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16.json",
-  "dff16_we": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_we.json",
   "dff16_invwe": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_invwe.json",
-  "dff80": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff80.json",
   "dlatch": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dlatch.json",
   "dlatch4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dlatch4.json",
   "dlatch8": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dlatch8.json",
@@ -50,7 +46,6 @@
   "inc16": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/inc16.json",
   "mux1": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1.json",
   "mux1_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_4.json",
-  "mux1_8": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_8.json",
   "mux1_12": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_12.json",
   "mux1_16": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_16.json",
   "mux2": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux2.json",
@@ -68,6 +63,5 @@
   "sel4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/sel4.json",
   "sel4_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/sel4_4.json",
   "sel4_12": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/sel4_12.json",
-  "xnor": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/xnor.json",
   "xor": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/xor.json"
 }
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GenerateDff80HighLevelStateHandler.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GenerateDff80HighLevelStateHandler.java
deleted file mode 100644 (file)
index 7a16134..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-package net.mograsim.logic.model.examples;
-
-import java.util.ArrayList;
-
-import net.mograsim.logic.model.am2900.Am2900Loader;
-import net.mograsim.logic.model.model.LogicModelModifiable;
-import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
-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.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler.BitVectorSplittingAtomicHighLevelStateHandlerParams;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler.DelegatingAtomicHighLevelStateHandlerParams;
-
-public class GenerateDff80HighLevelStateHandler
-{
-       public static void main(String[] args)
-       {
-               Am2900Loader.setup();
-               LogicModelModifiable model = new LogicModelModifiable();
-               DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model, null, null, null);
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#0");// LSB
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#1");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#2");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#3");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#4");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#5");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#6");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#7");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#8");
-               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#9");// MSB
-
-               StandardHighLevelStateHandler hlsh = new StandardHighLevelStateHandler(comp);
-               comp.setHighLevelStateHandler(hlsh);
-               BitVectorSplittingAtomicHighLevelStateHandlerParams p = new BitVectorSplittingAtomicHighLevelStateHandlerParams();
-               p.vectorPartLengthes = new ArrayList<>();
-               p.vectorPartTargets = new ArrayList<>();
-               for (int i = 0; i < 10; i++)
-               {
-                       addHandlersForByte(comp, hlsh, i, p);
-               }
-               hlsh.addAtomicHighLevelState("q", new BitVectorSplittingAtomicHighLevelStateHandler(comp, p));
-
-               System.out.println(comp.getHighLevelStateHandler().getParamsForSerializingJSON(new IdentifyParams()));
-       }
-
-       private static void addHandlersForByte(SubmodelComponent comp, StandardHighLevelStateHandler hlsh, int LSByteIndex,
-                       BitVectorSplittingAtomicHighLevelStateHandlerParams p2)
-       {
-               // TODO remove the "+ 1" as soon as HighLevelStates count from 0
-               // Also replace the 1 in "bitIndexInByte = 1" below with a 0
-               int LSBitIndex = LSByteIndex * 8 + 1;
-               int MSBitIndex = LSBitIndex + 7;
-               String dffThisByte = "dff8#" + LSByteIndex;
-               String thisByteHLSID = "q" + MSBitIndex + "-" + LSBitIndex;
-
-               p2.vectorPartLengthes.add(0, 8);
-               p2.vectorPartTargets.add(0, thisByteHLSID);
-
-               DelegatingAtomicHighLevelStateHandlerParams p = new DelegatingAtomicHighLevelStateHandlerParams();
-               p.delegateTarget = dffThisByte;
-               p.subStateID = "q";
-               hlsh.addAtomicHighLevelState(thisByteHLSID, new DelegatingAtomicHighLevelStateHandler(comp, p));
-               for (int bitIndexOuter = LSBitIndex, bitIndexInByte = 1; bitIndexOuter <= MSBitIndex; bitIndexOuter++, bitIndexInByte++)
-               {
-                       p = new DelegatingAtomicHighLevelStateHandlerParams();
-                       p.delegateTarget = dffThisByte;
-                       p.subStateID = "q" + bitIndexInByte;
-                       hlsh.addAtomicHighLevelState("q" + bitIndexOuter, new DelegatingAtomicHighLevelStateHandler(comp, p));
-               }
-       }
-}
\ No newline at end of file
diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GenerateDlatch80HighLevelStateHandler.java b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GenerateDlatch80HighLevelStateHandler.java
new file mode 100644 (file)
index 0000000..68b27dc
--- /dev/null
@@ -0,0 +1,74 @@
+package net.mograsim.logic.model.examples;
+
+import java.util.ArrayList;
+
+import net.mograsim.logic.model.am2900.Am2900Loader;
+import net.mograsim.logic.model.model.LogicModelModifiable;
+import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
+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.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler.BitVectorSplittingAtomicHighLevelStateHandlerParams;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler.DelegatingAtomicHighLevelStateHandlerParams;
+
+public class GenerateDlatch80HighLevelStateHandler
+{
+       public static void main(String[] args)
+       {
+               Am2900Loader.setup();
+               LogicModelModifiable model = new LogicModelModifiable();
+               DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model, null, null, null);
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#0");// LSB
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#1");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#2");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#3");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#4");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#5");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#6");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#7");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#8");
+               IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dlatch8", "dlatch8#9");// MSB
+
+               StandardHighLevelStateHandler hlsh = new StandardHighLevelStateHandler(comp);
+               comp.setHighLevelStateHandler(hlsh);
+               BitVectorSplittingAtomicHighLevelStateHandlerParams p = new BitVectorSplittingAtomicHighLevelStateHandlerParams();
+               p.vectorPartLengthes = new ArrayList<>();
+               p.vectorPartTargets = new ArrayList<>();
+               for (int i = 0; i < 10; i++)
+               {
+                       addHandlersForByte(comp, hlsh, i, p);
+               }
+               hlsh.addAtomicHighLevelState("q", new BitVectorSplittingAtomicHighLevelStateHandler(comp, p));
+
+               System.out.println(comp.getHighLevelStateHandler().getParamsForSerializingJSON(new IdentifyParams()));
+       }
+
+       private static void addHandlersForByte(SubmodelComponent comp, StandardHighLevelStateHandler hlsh, int LSByteIndex,
+                       BitVectorSplittingAtomicHighLevelStateHandlerParams p2)
+       {
+               // TODO remove the "+ 1" as soon as HighLevelStates count from 0
+               // Also replace the 1 in "bitIndexInByte = 1" below with a 0
+               int LSBitIndex = LSByteIndex * 8 + 1;
+               int MSBitIndex = LSBitIndex + 7;
+               String dlatchThisByte = "dlatch8#" + LSByteIndex;
+               String thisByteHLSID = "q" + MSBitIndex + "-" + LSBitIndex;
+
+               p2.vectorPartLengthes.add(0, 8);
+               p2.vectorPartTargets.add(0, thisByteHLSID);
+
+               DelegatingAtomicHighLevelStateHandlerParams p = new DelegatingAtomicHighLevelStateHandlerParams();
+               p.delegateTarget = dlatchThisByte;
+               p.subStateID = "q";
+               hlsh.addAtomicHighLevelState(thisByteHLSID, new DelegatingAtomicHighLevelStateHandler(comp, p));
+               for (int bitIndexOuter = LSBitIndex, bitIndexInByte = 1; bitIndexOuter <= MSBitIndex; bitIndexOuter++, bitIndexInByte++)
+               {
+                       p = new DelegatingAtomicHighLevelStateHandlerParams();
+                       p.delegateTarget = dlatchThisByte;
+                       p.subStateID = "q" + bitIndexInByte;
+                       hlsh.addAtomicHighLevelState("q" + bitIndexOuter, new DelegatingAtomicHighLevelStateHandler(comp, p));
+               }
+       }
+}
\ No newline at end of file
index 4d49fde..c7e1a46 100644 (file)
@@ -27,7 +27,7 @@ public class ModelComponentTestbench
        {
                Am2900Loader.setup();
 //             ModelComponent comp = new StrictAm2900MachineDefinition().createNew(model).getAm2900();
-               ModelComponent comp = IndirectModelComponentCreator.createComponent(model, "Am2910");
+               ModelComponent comp = IndirectModelComponentCreator.createComponent(model, "Am2900");
 
                List<String> inputPinNames = new ArrayList<>();
                List<String> outputPinNames = new ArrayList<>();
@@ -35,6 +35,7 @@ public class ModelComponentTestbench
                        if (p.usage == PinUsage.INPUT)
                                inputPinNames.add(p.name);
                        else
+                               // TODO handle TRISTATE pins
                                outputPinNames.add(p.name);
 
                inputPinNames.sort(Comparator.comparing(comp::getPin, Comparator.comparing(Pin::getRelY)));
index def5d9a..bbac1f6 100644 (file)
@@ -161,10 +161,25 @@ public class ReserializeAndVerifyJSONs
                                {
                                        System.out.print("  Usage for interface pin " + pin.name + " (empty: " + oldUsage + ") >");
                                        String usageStr = sysin.nextLine().toUpperCase();
-                                       usage = usageStr.equals("") ? oldUsage
-                                                       : usageStr.equals("I") ? PinUsage.INPUT
-                                                                       : usageStr.equals("O") ? PinUsage.OUTPUT
-                                                                                       : usageStr.equals("T") ? PinUsage.TRISTATE : PinUsage.valueOf(usageStr);
+                                       // TODO replace with switch expression if we upgrade to Java 12
+                                       switch (usageStr)
+                                       {
+                                       case "":
+                                               usage = oldUsage;
+                                               break;
+                                       case "I":
+                                               usage = PinUsage.INPUT;
+                                               break;
+                                       case "O":
+                                               usage = PinUsage.OUTPUT;
+                                               break;
+                                       case "T":
+                                               usage = PinUsage.TRISTATE;
+                                               break;
+                                       default:
+                                               usage = PinUsage.valueOf(usageStr);
+                                               break;
+                                       }
                                }
                                catch (@SuppressWarnings("unused") IllegalArgumentException e)
                                {
index b2c3ba1..5c112b1 100644 (file)
@@ -26,6 +26,7 @@ import net.mograsim.logic.model.util.JsonHandler;
 import net.mograsim.preferences.ColorDefinition;
 import net.mograsim.preferences.ColorManager;
 
+//TODO introduce a direction
 public class ModelSplitter extends ModelComponent
 {
        private static final double width = 10;
index 8b087aa..3592128 100644 (file)
@@ -142,21 +142,7 @@ public abstract class SubmodelComponent extends ModelComponent
 
                String name = supermodelPin.name;
                // TODO if we upgrade to Java 12, replace with switch-expression
-               PinUsage submodelPinUsage;
-               switch (supermodelPin.usage)
-               {
-               case INPUT:
-                       submodelPinUsage = PinUsage.OUTPUT;
-                       break;
-               case OUTPUT:
-                       submodelPinUsage = PinUsage.INPUT;
-                       break;
-               case TRISTATE:
-                       submodelPinUsage = PinUsage.TRISTATE;
-                       break;
-               default:
-                       throw new IllegalArgumentException("Unknown enum constant: " + supermodelPin.usage);
-               }
+               PinUsage submodelPinUsage = supermodelPin.usage.getOpposite();
                MovablePin submodelPin = new MovablePin(submodelModifiable, submodelInterface, name, supermodelPin.logicWidth, submodelPinUsage,
                                supermodelPin.getRelX() / submodelScale, supermodelPin.getRelY() / submodelScale);
 
index 5594bdb..e162253 100644 (file)
@@ -59,7 +59,7 @@ public class ModelWireCrossPoint extends ModelComponent
                logicObs = (i) -> model.requestRedraw();
 
                setSize(CIRCLE_DIAM, CIRCLE_DIAM);
-               addPin(this.pin = new Pin(model, this, "", logicWidth, PinUsage.TRISTATE, CIRCLE_RADIUS, CIRCLE_RADIUS));
+               addPin(this.pin = new Pin(model, this, "", logicWidth, PinUsage.INPUT, CIRCLE_RADIUS, CIRCLE_RADIUS));
 
                init();
        }
index f229d02..f31d860 100644 (file)
@@ -3,16 +3,29 @@ package net.mograsim.logic.model.model.wires;
 public enum PinUsage
 {
        /**
-        * The component never affects the value of the wire connected to the pin.
+        * The component never applies a value (other than Z) to the wire connected to the pin.
         */
        INPUT,
        /**
-        * The component is never affected by the value of the wire connected to this pin. This includes the look of the component.
+        * The component expects that the wire is never pulled to a value (other than Z) by another component.
         */
        OUTPUT,
        /**
-        * The component (sometimes) affects the value of the wire connected to the pin, but is also (sometimes) affected by the value of this
-        * wire.
+        * The component is free to use the pin in any way.
         */
        TRISTATE;
+
+       private PinUsage opposite;
+
+       static
+       {
+               INPUT.opposite = OUTPUT;
+               OUTPUT.opposite = INPUT;
+               TRISTATE.opposite = TRISTATE;
+       }
+
+       public PinUsage getOpposite()
+       {
+               return opposite;
+       }
 }
\ No newline at end of file