MPROMEditor now calls its columns "Opcode" and "muPC"
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / components / net / mograsim / logic / model / am2900 / components / mux1_4.json
index b5b16b8..980b8df 100644 (file)
@@ -1,77 +1,23 @@
 {
-  "width": 35.0,
-  "height": 90.0,
+  "width": 50.0,
+  "height": 80.0,
   "interfacePins": [
     {
       "location": {
         "x": 0.0,
-        "y": 15.0
+        "y": 20.0
       },
-      "name": "I0_1",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 25.0
-      },
-      "name": "I0_2",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 35.0
-      },
-      "name": "I0_3",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 45.0
-      },
-      "name": "I0_4",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 55.0
-      },
-      "name": "I1_1",
-      "logicWidth": 1,
+      "name": "I0",
+      "logicWidth": 4,
       "usage": "INPUT"
     },
     {
       "location": {
         "x": 0.0,
-        "y": 65.0
+        "y": 50.0
       },
-      "name": "I1_2",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 75.0
-      },
-      "name": "I1_3",
-      "logicWidth": 1,
-      "usage": "INPUT"
-    },
-    {
-      "location": {
-        "x": 0.0,
-        "y": 85.0
-      },
-      "name": "I1_4",
-      "logicWidth": 1,
+      "name": "I1",
+      "logicWidth": 4,
       "usage": "INPUT"
     },
     {
     },
     {
       "location": {
-        "x": 35.0,
-        "y": 5.0
+        "x": 50.0,
+        "y": 20.0
       },
-      "name": "Y1",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 15.0
-      },
-      "name": "Y2",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 25.0
-      },
-      "name": "Y3",
-      "logicWidth": 1,
-      "usage": "OUTPUT"
-    },
-    {
-      "location": {
-        "x": 35.0,
-        "y": 35.0
-      },
-      "name": "Y4",
-      "logicWidth": 1,
+      "name": "Y",
+      "logicWidth": 4,
       "usage": "OUTPUT"
     }
   ],
   "innerScale": 0.4,
   "submodel": {
     "components": [
+      {
+        "id": "NandGate",
+        "name": "NandGate#0",
+        "pos": {
+          "x": 20.0,
+          "y": 7.5
+        },
+        "params": 1
+      },
+      {
+        "id": "Splitter",
+        "name": "Splitter#0",
+        "pos": {
+          "x": 5.0,
+          "y": 35.0
+        },
+        "params": {
+          "logicWidth": 4,
+          "orientation": "RIGHT"
+        }
+      },
+      {
+        "id": "Splitter",
+        "name": "Splitter#1",
+        "pos": {
+          "x": 110.0,
+          "y": 35.0
+        },
+        "params": {
+          "logicWidth": 4,
+          "orientation": "LEFT"
+        }
+      },
+      {
+        "id": "Splitter",
+        "name": "Splitter#2",
+        "pos": {
+          "x": 5.0,
+          "y": 110.0
+        },
+        "params": {
+          "logicWidth": 4,
+          "orientation": "RIGHT"
+        }
+      },
       {
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "pos": {
-          "x": 24.0,
+          "x": 14.0,
           "y": 11.5
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#1",
         "pos": {
-          "x": 24.0,
-          "y": 46.5
+          "x": 44.0,
+          "y": 19.0
         },
         "params": 1
       },
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#2",
         "pos": {
-          "x": 24.0,
-          "y": 81.5
+          "x": 44.0,
+          "y": 64.0
         },
         "params": 1
       },
       {
-        "id": "mux1",
-        "name": "mux1#0",
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#3",
         "pos": {
-          "x": 30.0,
-          "y": 7.5
+          "x": 44.0,
+          "y": 109.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#4",
+        "pos": {
+          "x": 49.0,
+          "y": 29.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#5",
+        "pos": {
+          "x": 49.0,
+          "y": 74.0
+        },
+        "params": 1
+      },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#6",
+        "pos": {
+          "x": 49.0,
+          "y": 119.0
+        },
+        "params": 1
+      },
+      {
+        "id": "sel1",
+        "name": "sel1#0",
+        "pos": {
+          "x": 55.0,
+          "y": 15.0
         }
       },
       {
-        "id": "mux1",
-        "name": "mux1#1",
+        "id": "sel1",
+        "name": "sel1#1",
         "pos": {
-          "x": 30.0,
-          "y": 42.5
+          "x": 55.0,
+          "y": 60.0
         }
       },
       {
-        "id": "mux1",
-        "name": "mux1#2",
+        "id": "sel1",
+        "name": "sel1#2",
         "pos": {
-          "x": 30.0,
-          "y": 77.5
+          "x": 55.0,
+          "y": 105.0
         }
       },
       {
-        "id": "mux1",
-        "name": "mux1#3",
+        "id": "sel1",
+        "name": "sel1#3",
         "pos": {
-          "x": 30.0,
-          "y": 112.5
+          "x": 55.0,
+          "y": 150.0
         }
       }
     ],
           "pinName": ""
         },
         "pin2": {
-          "compName": "mux1#0",
-          "pinName": "S0"
+          "compName": "NandGate#0",
+          "pinName": "A"
         },
         "name": "unnamedWire#1",
         "path": []
       },
+      {
+        "pin1": {
+          "compName": "_submodelinterface",
+          "pinName": "I0"
+        },
+        "pin2": {
+          "compName": "Splitter#0",
+          "pinName": "I"
+        },
+        "name": "unnamedWire#2",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#2",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "I1"
+        },
+        "name": "unnamedWire#3",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#1",
+          "pinName": "I"
+        },
+        "pin2": {
+          "compName": "_submodelinterface",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#4",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "NandGate#0",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#1",
+          "pinName": ""
+        },
+        "name": "unnamedWire#5",
+        "path": [
+          {
+            "x": 45.0,
+            "y": 17.5
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#1",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "sel1#0",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#6",
+        "path": []
+      },
       {
         "pin1": {
           "compName": "WireCrossPoint#1",
           "compName": "WireCrossPoint#2",
           "pinName": ""
         },
-        "name": "unnamedWire#10",
+        "name": "unnamedWire#7",
         "path": []
       },
       {
           "pinName": ""
         },
         "pin2": {
-          "compName": "mux1#2",
-          "pinName": "S0"
+          "compName": "sel1#1",
+          "pinName": "S1"
         },
-        "name": "unnamedWire#11",
+        "name": "unnamedWire#8",
         "path": []
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I0_3"
+          "compName": "WireCrossPoint#2",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "mux1#2",
-          "pinName": "I0"
+          "compName": "WireCrossPoint#3",
+          "pinName": ""
         },
-        "name": "unnamedWire#12",
+        "name": "unnamedWire#9",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#3",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "sel1#2",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#10",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#3",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "sel1#3",
+          "pinName": "S1"
+        },
+        "name": "unnamedWire#11",
         "path": [
           {
-            "x": 5.0,
-            "y": 87.5
-          },
-          {
-            "x": 5.0,
-            "y": 92.5
+            "x": 45.0,
+            "y": 155.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I1_3"
+          "compName": "WireCrossPoint#4",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "mux1#2",
-          "pinName": "I1"
+          "compName": "WireCrossPoint#5",
+          "pinName": ""
+        },
+        "name": "unnamedWire#12",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#4",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "sel1#0",
+          "pinName": "S2"
         },
         "name": "unnamedWire#13",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#5",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#6",
+          "pinName": ""
+        },
+        "name": "unnamedWire#14",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#6",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "sel1#2",
+          "pinName": "S2"
+        },
+        "name": "unnamedWire#15",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#6",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "sel1#3",
+          "pinName": "S2"
+        },
+        "name": "unnamedWire#16",
         "path": [
           {
-            "x": 20.0,
-            "y": 187.5
-          },
-          {
-            "x": 20.0,
-            "y": 102.5
+            "x": 50.0,
+            "y": 165.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "mux1#2",
-          "pinName": "Y"
+          "compName": "WireCrossPoint#5",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y3"
+          "compName": "sel1#1",
+          "pinName": "S2"
         },
-        "name": "unnamedWire#14"
+        "name": "unnamedWire#17",
+        "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#2",
+          "compName": "WireCrossPoint#0",
           "pinName": ""
         },
         "pin2": {
-          "compName": "mux1#3",
-          "pinName": "S0"
+          "compName": "NandGate#0",
+          "pinName": "B"
         },
-        "name": "unnamedWire#15",
+        "name": "unnamedWire#18",
         "path": [
           {
-            "x": 25.0,
-            "y": 117.5
+            "x": 15.0,
+            "y": 22.5
           }
         ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I0_4"
+          "compName": "WireCrossPoint#0",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "mux1#3",
-          "pinName": "I0"
+          "compName": "WireCrossPoint#4",
+          "pinName": ""
         },
-        "name": "unnamedWire#16",
+        "name": "unnamedWire#19",
         "path": [
           {
-            "x": 5.0,
-            "y": 112.5
+            "x": 15.0,
+            "y": 5.0
           },
           {
-            "x": 5.0,
-            "y": 127.5
+            "x": 50.0,
+            "y": 5.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I1_4"
+          "compName": "Splitter#0",
+          "pinName": "O3"
         },
         "pin2": {
-          "compName": "mux1#3",
+          "compName": "sel1#0",
           "pinName": "I1"
         },
-        "name": "unnamedWire#17",
+        "name": "unnamedWire#20",
         "path": [
           {
-            "x": 25.0,
-            "y": 212.5
+            "x": 40.0,
+            "y": 35.0
           },
           {
-            "x": 25.0,
-            "y": 137.5
+            "x": 40.0,
+            "y": 40.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "mux1#3",
-          "pinName": "Y"
+          "compName": "Splitter#0",
+          "pinName": "O2"
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y4"
+          "compName": "sel1#1",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#18"
+        "name": "unnamedWire#21",
+        "path": [
+          {
+            "x": 40.0,
+            "y": 45.0
+          },
+          {
+            "x": 40.0,
+            "y": 85.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I0_1"
+          "compName": "Splitter#0",
+          "pinName": "O1"
         },
         "pin2": {
-          "compName": "mux1#0",
-          "pinName": "I0"
+          "compName": "sel1#2",
+          "pinName": "I1"
         },
-        "name": "unnamedWire#2",
+        "name": "unnamedWire#22",
         "path": [
           {
-            "x": 5.0,
-            "y": 37.5
+            "x": 35.0,
+            "y": 55.0
           },
           {
-            "x": 5.0,
-            "y": 22.5
+            "x": 35.0,
+            "y": 130.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I1_1"
+          "compName": "Splitter#0",
+          "pinName": "O0"
         },
         "pin2": {
-          "compName": "mux1#0",
+          "compName": "sel1#3",
           "pinName": "I1"
         },
-        "name": "unnamedWire#3",
+        "name": "unnamedWire#23",
         "path": [
           {
-            "x": 10.0,
-            "y": 137.5
+            "x": 30.0,
+            "y": 65.0
           },
           {
-            "x": 10.0,
-            "y": 32.5
+            "x": 30.0,
+            "y": 175.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "mux1#0",
-          "pinName": "Y"
+          "compName": "sel1#3",
+          "pinName": "I2"
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y1"
+          "compName": "Splitter#2",
+          "pinName": "O0"
         },
-        "name": "unnamedWire#4",
-        "path": []
+        "name": "unnamedWire#24",
+        "path": [
+          {
+            "x": 20.0,
+            "y": 185.0
+          },
+          {
+            "x": 20.0,
+            "y": 140.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#0",
-          "pinName": ""
+          "compName": "Splitter#2",
+          "pinName": "O1"
         },
         "pin2": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
+          "compName": "sel1#2",
+          "pinName": "I2"
         },
-        "name": "unnamedWire#5",
-        "path": []
+        "name": "unnamedWire#25",
+        "path": [
+          {
+            "x": 25.0,
+            "y": 130.0
+          },
+          {
+            "x": 25.0,
+            "y": 140.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#1",
-          "pinName": ""
+          "compName": "sel1#1",
+          "pinName": "I2"
         },
         "pin2": {
-          "compName": "mux1#1",
-          "pinName": "S0"
+          "compName": "Splitter#2",
+          "pinName": "O2"
         },
-        "name": "unnamedWire#6",
-        "path": []
+        "name": "unnamedWire#26",
+        "path": [
+          {
+            "x": 25.0,
+            "y": 95.0
+          },
+          {
+            "x": 25.0,
+            "y": 120.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I0_2"
+          "compName": "Splitter#2",
+          "pinName": "O3"
         },
         "pin2": {
-          "compName": "mux1#1",
-          "pinName": "I0"
+          "compName": "sel1#0",
+          "pinName": "I2"
         },
-        "name": "unnamedWire#7",
+        "name": "unnamedWire#27",
         "path": [
           {
-            "x": 5.0,
-            "y": 62.5
+            "x": 20.0,
+            "y": 110.0
           },
           {
-            "x": 5.0,
-            "y": 57.5
+            "x": 20.0,
+            "y": 50.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "_submodelinterface",
-          "pinName": "I1_2"
+          "compName": "Splitter#1",
+          "pinName": "O3"
         },
         "pin2": {
-          "compName": "mux1#1",
-          "pinName": "I1"
+          "compName": "sel1#0",
+          "pinName": "Y"
         },
-        "name": "unnamedWire#8",
+        "name": "unnamedWire#28",
         "path": [
           {
-            "x": 15.0,
-            "y": 162.5
+            "x": 95.0,
+            "y": 35.0
           },
           {
-            "x": 15.0,
-            "y": 67.5
+            "x": 95.0,
+            "y": 20.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "mux1#1",
+          "compName": "sel1#2",
           "pinName": "Y"
         },
         "pin2": {
-          "compName": "_submodelinterface",
-          "pinName": "Y2"
+          "compName": "Splitter#1",
+          "pinName": "O1"
+        },
+        "name": "unnamedWire#29",
+        "path": [
+          {
+            "x": 100.0,
+            "y": 110.0
+          },
+          {
+            "x": 100.0,
+            "y": 55.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "Splitter#1",
+          "pinName": "O2"
         },
-        "name": "unnamedWire#9"
+        "pin2": {
+          "compName": "sel1#1",
+          "pinName": "Y"
+        },
+        "name": "unnamedWire#30",
+        "path": [
+          {
+            "x": 95.0,
+            "y": 45.0
+          },
+          {
+            "x": 95.0,
+            "y": 65.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "sel1#3",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "Splitter#1",
+          "pinName": "O0"
+        },
+        "name": "unnamedWire#31",
+        "path": [
+          {
+            "x": 105.0,
+            "y": 155.0
+          },
+          {
+            "x": 105.0,
+            "y": 65.0
+          }
+        ]
       }
     ],
     "version": "0.1.1"