Created gate-based implementations of an incrementer for 4, 12, 16 bit
[Mograsim.git] / plugins / net.mograsim.logic.model.am2900 / components / net / mograsim / logic / model / am2900 / components / Am2900.json
index 136fcd0..78623e1 100644 (file)
@@ -9,8 +9,16 @@
         "id": "Am2900MainMemory",
         "name": "Am2900MainMemory#0",
         "pos": {
-          "x": 35.0,
-          "y": 30.0
+          "x": 80.0,
+          "y": 105.0
+        }
+      },
+      {
+        "id": "Am2900MemoryController",
+        "name": "Am2900MemoryController#0",
+        "pos": {
+          "x": 155.0,
+          "y": 275.0
         }
       },
       {
         "name": "BitDisplay#2",
         "pos": {
           "x": 280.0,
-          "y": 60.0
+          "y": 65.0
         },
         "params": 16
       },
+      {
+        "id": "Clock",
+        "name": "Clock#0",
+        "pos": {
+          "x": 115.0,
+          "y": 355.0
+        },
+        "params": {
+          "delta": 7000,
+          "orientation": "RIGHT"
+        }
+      },
       {
         "id": "FixedOutput",
         "name": "FixedOutput#0",
         "pos": {
-          "x": 540.0,
+          "x": 555.0,
           "y": 270.0
         },
         "params": {
         "id": "FixedOutput",
         "name": "FixedOutput#1",
         "pos": {
-          "x": 635.0,
-          "y": 380.0
+          "x": 645.0,
+          "y": 390.0
         },
         "params": {
           "bits": [
         "id": "FixedOutput",
         "name": "FixedOutput#2",
         "pos": {
-          "x": 365.0,
-          "y": 505.0
+          "x": 385.0,
+          "y": 510.0
         },
         "params": {
           "bits": [
         "id": "FixedOutput",
         "name": "FixedOutput#4",
         "pos": {
-          "x": 420.0,
+          "x": 430.0,
           "y": 570.0
         },
         "params": {
         "id": "FixedOutput",
         "name": "FixedOutput#5",
         "pos": {
-          "x": 475.0,
-          "y": 505.0
+          "x": 485.0,
+          "y": 510.0
         },
         "params": {
           "bits": [
         "id": "FixedOutput",
         "name": "FixedOutput#6",
         "pos": {
-          "x": 535.0,
-          "y": 370.0
+          "x": 545.0,
+          "y": 380.0
         },
         "params": {
           "bits": [
         "id": "FixedOutput",
         "name": "FixedOutput#7",
         "pos": {
-          "x": 260.0,
-          "y": 370.0
+          "x": 270.0,
+          "y": 380.0
         },
         "params": {
           "bits": [
           ]
         }
       },
-      {
-        "id": "ManualSwitch",
-        "name": "ManualSwitch#0",
-        "pos": {
-          "x": 120.0,
-          "y": 355.0
-        },
-        "params": 1
-      },
       {
         "id": "NandGate",
         "name": "NandGate#0",
         "id": "NandGate",
         "name": "NandGate#5",
         "pos": {
-          "x": 190.0,
-          "y": 100.0
+          "x": 125.0,
+          "y": 285.0
         },
         "params": 1
       },
         "id": "NandGate",
         "name": "NandGate#6",
         "pos": {
-          "x": 150.0,
+          "x": 145.0,
           "y": 375.0
         },
         "params": 1
         "name": "TextComponent#0",
         "pos": {
           "x": 305.0,
-          "y": 30.0
+          "y": 25.0
         },
         "params": "D bus"
       },
         "name": "TextComponent#1",
         "pos": {
           "x": 305.0,
-          "y": 60.0
+          "y": 55.0
         },
         "params": "A bus"
       },
         },
         "params": "MPM addr"
       },
-      {
-        "id": "TextComponent",
-        "name": "TextComponent#3",
-        "pos": {
-          "x": 110.0,
-          "y": 355.0
-        },
-        "params": "c"
-      },
       {
         "id": "TriStateBuffer",
         "name": "TriStateBuffer#0",
           "orientation": "RIGHT_ALT"
         }
       },
-      {
-        "id": "TriStateBuffer",
-        "name": "TriStateBuffer#4",
-        "pos": {
-          "x": 205.0,
-          "y": 70.0
-        },
-        "params": {
-          "logicWidth": 16,
-          "orientation": "RIGHT_ALT"
-        }
-      },
       {
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#0",
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#38",
         "pos": {
-          "x": 174.0,
+          "x": 169.0,
           "y": 384.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#40",
         "pos": {
-          "x": 144.0,
+          "x": 139.0,
           "y": 364.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#41",
         "pos": {
-          "x": 144.0,
+          "x": 139.0,
           "y": 379.0
         },
         "params": 1
         "id": "WireCrossPoint",
         "name": "WireCrossPoint#42",
         "pos": {
-          "x": 364.0,
-          "y": 289.0
+          "x": 479.0,
+          "y": 364.0
         },
         "params": 1
       },
         },
         "params": 12
       },
+      {
+        "id": "WireCrossPoint",
+        "name": "WireCrossPoint#44",
+        "pos": {
+          "x": 364.0,
+          "y": 364.0
+        },
+        "params": 1
+      },
       {
         "id": "and",
         "name": "and#0",
         }
       },
       {
-        "id": "inc",
-        "name": "inc#0",
+        "id": "inc16",
+        "name": "inc16#0",
         "pos": {
           "x": 315.0,
           "y": 135.0
-        },
-        "params": 16
+        }
       },
       {
         "id": "mux1_4",
         "name": "mux1_12#0",
         "pos": {
           "x": 365.0,
-          "y": 420.0
+          "y": 415.0
         }
       },
       {
             "y": 355.0
           },
           {
-            "x": 470.0,
+            "x": 490.0,
             "y": 355.0
           },
           {
-            "x": 470.0,
-            "y": 505.0
+            "x": 490.0,
+            "y": 500.0
           },
           {
             "x": 400.0,
-            "y": 505.0
+            "y": 500.0
           },
           {
             "x": 400.0,
         "path": [
           {
             "x": 660.0,
-            "y": 390.0
+            "y": 395.0
           }
         ]
       },
         "name": "unnamedWire#37",
         "path": [
           {
-            "x": 480.0,
+            "x": 470.0,
             "y": 540.0
           },
           {
-            "x": 480.0,
-            "y": 570.0
+            "x": 470.0,
+            "y": 565.0
           }
         ]
       },
         "path": [
           {
             "x": 445.0,
-            "y": 580.0
+            "y": 575.0
           }
         ]
       },
         "path": [
           {
             "x": 560.0,
-            "y": 380.0
+            "y": 385.0
           }
         ]
       },
         "path": [
           {
             "x": 570.0,
-            "y": 280.0
+            "y": 275.0
           }
         ]
       },
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#42",
           "pinName": ""
         },
         "name": "unnamedWire#93",
       },
       {
         "pin1": {
-          "compName": "ManualSwitch#0",
+          "compName": "Clock#0",
           "pinName": ""
         },
         "pin2": {
         "name": "unnamedWire#96",
         "path": [
           {
-            "x": 145.0,
+            "x": 140.0,
             "y": 390.0
           }
         ]
         "name": "unnamedWire#99",
         "path": [
           {
-            "x": 175.0,
+            "x": 170.0,
             "y": 485.0
           },
           {
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#20",
+          "compName": "WireCrossPoint#44",
           "pinName": ""
         },
         "name": "unnamedWire#100",
         },
         "pin2": {
           "compName": "NandGate#5",
-          "pinName": "A"
+          "pinName": "B"
         },
         "name": "unnamedWire#121",
         "path": [
           },
           {
             "x": 340.0,
-            "y": 260.0
+            "y": 325.0
           },
           {
-            "x": 180.0,
-            "y": 260.0
+            "x": 120.0,
+            "y": 325.0
           },
           {
-            "x": 180.0,
-            "y": 105.0
+            "x": 120.0,
+            "y": 300.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#19",
-          "pinName": ""
+          "compName": "Am2900MemoryController#0",
+          "pinName": "Dmach"
         },
         "pin2": {
-          "compName": "Am2900MainMemory#0",
-          "pinName": "A"
+          "compName": "WireCrossPoint#29",
+          "pinName": ""
         },
         "name": "unnamedWire#125",
-        "path": []
+        "path": [
+          {
+            "x": 145.0,
+            "y": 280.0
+          },
+          {
+            "x": 145.0,
+            "y": 260.0
+          },
+          {
+            "x": 225.0,
+            "y": 260.0
+          },
+          {
+            "x": 225.0,
+            "y": 45.0
+          }
+        ]
       },
       {
         "pin1": {
-          "compName": "Am2900MainMemory#0",
-          "pinName": "D"
+          "compName": "WireCrossPoint#19",
+          "pinName": ""
         },
         "pin2": {
-          "compName": "TriStateBuffer#4",
-          "pinName": "IN"
+          "compName": "Am2900MemoryController#0",
+          "pinName": "Amach"
         },
         "name": "unnamedWire#126",
-        "path": []
+        "path": [
+          {
+            "x": 230.0,
+            "y": 60.0
+          },
+          {
+            "x": 230.0,
+            "y": 265.0
+          },
+          {
+            "x": 150.0,
+            "y": 265.0
+          },
+          {
+            "x": 150.0,
+            "y": 285.0
+          }
+        ]
       },
       {
         "pin1": {
       },
       {
         "pin1": {
-          "compName": "inc#0",
+          "compName": "inc16#0",
           "pinName": "Y"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "inc#0",
+          "compName": "inc16#0",
           "pinName": "A"
         },
         "pin2": {
       },
       {
         "pin1": {
-          "compName": "inc#0",
+          "compName": "inc16#0",
           "pinName": "CI"
         },
         "pin2": {
         "path": [
           {
             "x": 285.0,
-            "y": 380.0
+            "y": 385.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#4",
-          "pinName": "OUT"
+          "compName": "Am2900MemoryController#0",
+          "pinName": "Dmem"
         },
         "pin2": {
-          "compName": "WireCrossPoint#29",
-          "pinName": ""
+          "compName": "Am2900MainMemory#0",
+          "pinName": "D"
         },
         "name": "unnamedWire#135",
         "path": [
           {
-            "x": 230.0,
-            "y": 80.0
+            "x": 205.0,
+            "y": 280.0
           },
           {
-            "x": 230.0,
-            "y": 45.0
+            "x": 205.0,
+            "y": 155.0
           }
         ]
       },
           },
           {
             "x": 360.0,
-            "y": 425.0
+            "y": 420.0
           }
         ]
       },
         "path": [
           {
             "x": 435.0,
-            "y": 450.0
+            "y": 445.0
           }
         ]
       },
         "path": [
           {
             "x": 350.0,
-            "y": 480.0
+            "y": 475.0
           },
           {
             "x": 350.0,
       },
       {
         "pin1": {
-          "compName": "Am2900MainMemory#0",
-          "pinName": "RW"
-        },
-        "pin2": {
           "compName": "Splitter#10",
           "pinName": "O0"
         },
+        "pin2": {
+          "compName": "Am2900MemoryController#0",
+          "pinName": "RWmach"
+        },
         "name": "unnamedWire#241",
         "path": [
           {
-            "x": 175.0,
-            "y": 100.0
+            "x": 345.0,
+            "y": 320.0
           },
           {
-            "x": 175.0,
-            "y": 265.0
+            "x": 150.0,
+            "y": 320.0
           },
           {
-            "x": 345.0,
-            "y": 265.0
+            "x": 150.0,
+            "y": 300.0
           }
         ]
       },
         "path": [
           {
             "x": 355.0,
-            "y": 265.0
+            "y": 320.0
           },
           {
-            "x": 480.0,
-            "y": 265.0
+            "x": 485.0,
+            "y": 320.0
           },
           {
-            "x": 480.0,
+            "x": 485.0,
             "y": 185.0
           }
         ]
           "pinName": ""
         },
         "name": "unnamedWire#330",
-        "path": []
+        "path": [
+          {
+            "x": 275.0,
+            "y": 35.0
+          }
+        ]
       },
       {
         "pin1": {
           "pinName": ""
         },
         "name": "unnamedWire#333",
-        "path": []
+        "path": [
+          {
+            "x": 275.0,
+            "y": 70.0
+          }
+        ]
       },
       {
         "pin1": {
         },
         "pin2": {
           "compName": "NandGate#5",
-          "pinName": "B"
+          "pinName": "A"
         },
         "name": "unnamedWire#335",
         "path": [
           {
-            "x": 185.0,
+            "x": 270.0,
             "y": 230.0
           },
           {
-            "x": 185.0,
-            "y": 115.0
+            "x": 270.0,
+            "y": 270.0
+          },
+          {
+            "x": 120.0,
+            "y": 270.0
+          },
+          {
+            "x": 120.0,
+            "y": 290.0
           }
         ]
       },
         "path": [
           {
             "x": 260.0,
-            "y": 440.0
+            "y": 435.0
           }
         ]
       },
       {
         "pin1": {
-          "compName": "TriStateBuffer#4",
-          "pinName": "EN"
+          "compName": "Am2900MemoryController#0",
+          "pinName": "Amem"
         },
         "pin2": {
-          "compName": "NandGate#5",
-          "pinName": "Y"
+          "compName": "Am2900MainMemory#0",
+          "pinName": "A"
         },
         "name": "unnamedWire#344",
         "path": [
           {
-            "x": 215.0,
-            "y": 110.0
+            "x": 210.0,
+            "y": 285.0
+          },
+          {
+            "x": 210.0,
+            "y": 135.0
           }
         ]
       },
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#38",
+          "compName": "WireCrossPoint#44",
           "pinName": ""
         },
         "pin2": {
-          "compName": "WireCrossPoint#42",
+          "compName": "WireCrossPoint#20",
           "pinName": ""
         },
         "name": "unnamedWire#346",
-        "path": [
-          {
-            "x": 175.0,
-            "y": 290.0
-          }
-        ]
+        "path": []
       },
       {
         "pin1": {
-          "compName": "WireCrossPoint#42",
+          "compName": "WireCrossPoint#44",
           "pinName": ""
         },
         "pin2": {
         "name": "unnamedWire#348",
         "path": [
           {
-            "x": 485.0,
-            "y": 290.0
-          },
-          {
-            "x": 485.0,
+            "x": 480.0,
             "y": 170.0
           }
         ]
         },
         "name": "unnamedWire#350",
         "path": []
+      },
+      {
+        "pin1": {
+          "compName": "Am2900MainMemory#0",
+          "pinName": "RW"
+        },
+        "pin2": {
+          "compName": "Am2900MemoryController#0",
+          "pinName": "RWmem"
+        },
+        "name": "unnamedWire#351",
+        "path": [
+          {
+            "x": 215.0,
+            "y": 175.0
+          },
+          {
+            "x": 215.0,
+            "y": 300.0
+          }
+        ]
+      },
+      {
+        "pin1": {
+          "compName": "NandGate#5",
+          "pinName": "Y"
+        },
+        "pin2": {
+          "compName": "Am2900MemoryController#0",
+          "pinName": "EN"
+        },
+        "name": "unnamedWire#352",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#39",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "Am2900MemoryController#0",
+          "pinName": "C"
+        },
+        "name": "unnamedWire#353",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#38",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "Am2900MemoryController#0",
+          "pinName": "_C"
+        },
+        "name": "unnamedWire#354",
+        "path": []
+      },
+      {
+        "pin1": {
+          "compName": "WireCrossPoint#20",
+          "pinName": ""
+        },
+        "pin2": {
+          "compName": "WireCrossPoint#42",
+          "pinName": ""
+        },
+        "name": "unnamedWire#355",
+        "path": []
       }
     ],
     "version": "0.1.1"
         }
       }
     },
-    "atomicHighLevelStates": {}
+    "atomicHighLevelStates": {
+      "mpm_address": {
+        "id": "wireForcing",
+        "params": {
+          "wiresToForce": [
+            "unnamedWire#163"
+          ],
+          "wiresToForceInverted": []
+        }
+      }
+    }
   },
   "version": "0.1.5"
 }
\ No newline at end of file