From dbc018487dfd5f532e4e217588d0215c6ee00788 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Sat, 17 Oct 2020 22:47:30 +0200 Subject: [PATCH] Extracted the program counter into its own component. Fixes #13 --- .../logic/model/am2900/components/Am2900.json | 1174 +++++------------ .../model/am2900/components/Am2900PC.json | 682 ++++++++++ .../am2900/standardComponentIDMapping.json | 1 + 3 files changed, 1012 insertions(+), 845 deletions(-) create mode 100644 plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900PC.json diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900.json index 6bb044ab..3f608a6e 100644 --- a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900.json +++ b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900.json @@ -1,10 +1,18 @@ { - "width": 504.0, - "height": 342.0, + "width": 505.0, + "height": 345.0, "interfacePins": [], "innerScale": 0.4, "submodel": { "components": [ + { + "id": "Am2900PC", + "name": "Am2900PC#0", + "pos": { + "x": 275.0, + "y": 140.0 + } + }, { "id": "Am2900MPROM", "name": "Am2900MPROM#0", @@ -74,7 +82,7 @@ "id": "BitDisplay", "name": "BitDisplay#1", "pos": { - "x": 280.0, + "x": 400.0, "y": 30.0 }, "params": 16 @@ -83,7 +91,7 @@ "id": "BitDisplay", "name": "BitDisplay#2", "pos": { - "x": 280.0, + "x": 400.0, "y": 65.0 }, "params": 16 @@ -166,33 +174,6 @@ { "id": "NandGate", "name": "NandGate#0", - "pos": { - "x": 395.0, - "y": 195.0 - }, - "params": 1 - }, - { - "id": "NandGate", - "name": "NandGate#1", - "pos": { - "x": 335.0, - "y": 165.0 - }, - "params": 1 - }, - { - "id": "NandGate", - "name": "NandGate#2", - "pos": { - "x": 395.0, - "y": 220.0 - }, - "params": 1 - }, - { - "id": "NandGate", - "name": "NandGate#3", "pos": { "x": 935.0, "y": 685.0 @@ -201,7 +182,7 @@ }, { "id": "NandGate", - "name": "NandGate#4", + "name": "NandGate#1", "pos": { "x": 935.0, "y": 710.0 @@ -210,7 +191,7 @@ }, { "id": "NandGate", - "name": "NandGate#5", + "name": "NandGate#2", "pos": { "x": 125.0, "y": 285.0 @@ -219,7 +200,7 @@ }, { "id": "NandGate", - "name": "NandGate#6", + "name": "NandGate#3", "pos": { "x": 145.0, "y": 375.0 @@ -517,18 +498,6 @@ { "id": "Splitter", "name": "Splitter#24", - "pos": { - "x": 310.0, - "y": 235.0 - }, - "params": { - "logicWidth": 4, - "orientation": "UP" - } - }, - { - "id": "Splitter", - "name": "Splitter#25", "pos": { "x": 365.0, "y": 815.0 @@ -542,7 +511,7 @@ "id": "TextComponent", "name": "TextComponent#0", "pos": { - "x": 305.0, + "x": 425.0, "y": 25.0 }, "params": "D bus" @@ -551,8 +520,8 @@ "id": "TextComponent", "name": "TextComponent#1", "pos": { - "x": 305.0, - "y": 55.0 + "x": 425.0, + "y": 60.0 }, "params": "A bus" }, @@ -589,30 +558,6 @@ "orientation": "RIGHT_ALT" } }, - { - "id": "TriStateBuffer", - "name": "TriStateBuffer#2", - "pos": { - "x": 425.0, - "y": 120.0 - }, - "params": { - "logicWidth": 16, - "orientation": "RIGHT_ALT" - } - }, - { - "id": "TriStateBuffer", - "name": "TriStateBuffer#3", - "pos": { - "x": 425.0, - "y": 145.0 - }, - "params": { - "logicWidth": 16, - "orientation": "RIGHT_ALT" - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#0", @@ -644,10 +589,10 @@ "id": "WireCrossPoint", "name": "WireCrossPoint#3", "pos": { - "x": 329.0, - "y": 179.0 + "x": 364.0, + "y": 59.0 }, - "params": 1 + "params": 16 }, { "id": "WireCrossPoint", @@ -661,15 +606,6 @@ { "id": "WireCrossPoint", "name": "WireCrossPoint#5", - "pos": { - "x": 419.0, - "y": 129.0 - }, - "params": 16 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "pos": { "x": 894.0, "y": 44.0 @@ -678,7 +614,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#6", "pos": { "x": 844.0, "y": 794.0 @@ -687,7 +623,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#7", "pos": { "x": 984.0, "y": 599.0 @@ -696,25 +632,25 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#8", "pos": { - "x": 274.0, + "x": 394.0, "y": 44.0 }, "params": 16 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#9", "pos": { - "x": 274.0, + "x": 394.0, "y": 59.0 }, "params": 16 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#10", "pos": { "x": 444.0, "y": 364.0 @@ -723,43 +659,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", - "pos": { - "x": 389.0, - "y": 209.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", - "pos": { - "x": 449.0, - "y": 44.0 - }, - "params": 16 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", - "pos": { - "x": 454.0, - "y": 59.0 - }, - "params": 16 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", - "pos": { - "x": 389.0, - "y": 224.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "name": "WireCrossPoint#11", "pos": { "x": 929.0, "y": 714.0 @@ -768,16 +668,16 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "name": "WireCrossPoint#12", "pos": { - "x": 249.0, + "x": 284.0, "y": 44.0 }, "params": 16 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "name": "WireCrossPoint#13", "pos": { "x": 564.0, "y": 399.0 @@ -786,7 +686,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "name": "WireCrossPoint#14", "pos": { "x": 569.0, "y": 399.0 @@ -795,7 +695,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#15", "pos": { "x": 929.0, "y": 699.0 @@ -804,16 +704,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", - "pos": { - "x": 339.0, - "y": 229.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#16", "pos": { "x": 824.0, "y": 699.0 @@ -822,7 +713,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#17", "pos": { "x": 169.0, "y": 384.0 @@ -831,7 +722,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#18", "pos": { "x": 179.0, "y": 364.0 @@ -840,7 +731,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#19", "pos": { "x": 139.0, "y": 364.0 @@ -849,7 +740,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#20", "pos": { "x": 139.0, "y": 379.0 @@ -858,7 +749,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "name": "WireCrossPoint#21", "pos": { "x": 479.0, "y": 364.0 @@ -867,7 +758,7 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#22", "pos": { "x": 239.0, "y": 564.0 @@ -876,21 +767,13 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#29", + "name": "WireCrossPoint#23", "pos": { - "x": 364.0, + "x": 334.0, "y": 364.0 }, "params": 1 }, - { - "id": "dff16", - "name": "dff16#0", - "pos": { - "x": 370.0, - "y": 105.0 - } - }, { "id": "dff16_invwe", "name": "dff16_invwe#0", @@ -915,14 +798,6 @@ "y": 675.0 } }, - { - "id": "inc16", - "name": "inc16#0", - "pos": { - "x": 335.0, - "y": 115.0 - } - }, { "id": "mux1_4", "name": "mux1_4#0", @@ -950,14 +825,6 @@ { "id": "mux1_16", "name": "mux1_16#0", - "pos": { - "x": 255.0, - "y": 110.0 - } - }, - { - "id": "mux1_16", - "name": "mux1_16#1", "pos": { "x": 910.0, "y": 215.0 @@ -1141,7 +1008,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { @@ -1245,11 +1112,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "NandGate#6", + "compName": "NandGate#3", "pinName": "A" }, "name": "unnamedWire#11", @@ -1328,7 +1195,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { @@ -1448,7 +1315,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { @@ -1465,7 +1332,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { @@ -1477,7 +1344,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { @@ -1884,7 +1751,7 @@ "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "name": "unnamedWire#50", @@ -1892,7 +1759,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { @@ -1913,11 +1780,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "mux1_16#1", + "compName": "mux1_16#0", "pinName": "I1" }, "name": "unnamedWire#52", @@ -1930,7 +1797,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { @@ -1955,7 +1822,7 @@ "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#21", "pinName": "" }, "name": "unnamedWire#54", @@ -1967,7 +1834,7 @@ "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#19", "pinName": "" }, "name": "unnamedWire#55", @@ -1975,11 +1842,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#18", "pinName": "" }, "name": "unnamedWire#56", @@ -1987,11 +1854,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "NandGate#6", + "compName": "NandGate#3", "pinName": "B" }, "name": "unnamedWire#57", @@ -2004,11 +1871,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#20", "pinName": "" }, "name": "unnamedWire#58", @@ -2016,11 +1883,11 @@ }, { "pin1": { - "compName": "NandGate#6", + "compName": "NandGate#3", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#17", "pinName": "" }, "name": "unnamedWire#59", @@ -2028,7 +1895,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { @@ -2053,11 +1920,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#23", "pinName": "" }, "name": "unnamedWire#61", @@ -2086,7 +1953,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { @@ -2119,111 +1986,126 @@ }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "Splitter#24", + "pinName": "I" }, "pin2": { - "compName": "NandGate#0", - "pinName": "B" + "compName": "Am2900PC#0", + "pinName": "I" }, "name": "unnamedWire#64", - "path": [] + "path": [ + { + "x": 380.0, + "y": 620.0 + }, + { + "x": 315.0, + "y": 620.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "Am2900PC#0", + "pinName": "_AOUT" }, "pin2": { - "compName": "NandGate#0", + "compName": "NandGate#2", "pinName": "A" }, "name": "unnamedWire#65", "path": [ { - "x": 390.0, + "x": 270.0, "y": 200.0 + }, + { + "x": 270.0, + "y": 270.0 + }, + { + "x": 120.0, + "y": 270.0 + }, + { + "x": 120.0, + "y": 290.0 } ] }, { "pin1": { - "compName": "Splitter#24", - "pinName": "O2" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "Am2900PC#0", + "pinName": "C" }, "name": "unnamedWire#66", - "path": [ - { - "x": 320.0, - "y": 210.0 - } - ] + "path": [] }, { "pin1": { - "compName": "NandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "TriStateBuffer#2", - "pinName": "EN" + "compName": "WireCrossPoint#4", + "pinName": "" }, "name": "unnamedWire#67", - "path": [ - { - "x": 450.0, - "y": 205.0 - }, - { - "x": 450.0, - "y": 140.0 - }, - { - "x": 435.0, - "y": 140.0 - } - ] + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "Am2900MemoryController#0", + "pinName": "Amach" }, "pin2": { - "compName": "NandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#3", + "pinName": "" }, "name": "unnamedWire#68", - "path": [] + "path": [ + { + "x": 150.0, + "y": 285.0 + }, + { + "x": 150.0, + "y": 265.0 + }, + { + "x": 230.0, + "y": 265.0 + }, + { + "x": 230.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "NandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#9", + "pinName": "" }, "name": "unnamedWire#69", - "path": [ - { - "x": 390.0, - "y": 235.0 - } - ] + "path": [] }, { "pin1": { - "compName": "Splitter#24", - "pinName": "O0" + "compName": "Am2900PC#0", + "pinName": "A" }, "pin2": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#3", "pinName": "" }, "name": "unnamedWire#70", @@ -2231,28 +2113,23 @@ }, { "pin1": { - "compName": "NandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "TriStateBuffer#3", - "pinName": "EN" + "compName": "Am2900PC#0", + "pinName": "D" }, "name": "unnamedWire#71", - "path": [ - { - "x": 435.0, - "y": 230.0 - } - ] + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "NandGate#4", + "compName": "NandGate#1", "pinName": "A" }, "name": "unnamedWire#72", @@ -2260,11 +2137,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "NandGate#4", + "compName": "NandGate#1", "pinName": "B" }, "name": "unnamedWire#73", @@ -2277,7 +2154,7 @@ }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { @@ -2302,7 +2179,7 @@ }, { "pin1": { - "compName": "NandGate#4", + "compName": "NandGate#1", "pinName": "Y" }, "pin2": { @@ -2327,11 +2204,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "NandGate#5", + "compName": "NandGate#2", "pinName": "B" }, "name": "unnamedWire#76", @@ -2356,11 +2233,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "NandGate#3", + "compName": "NandGate#0", "pinName": "B" }, "name": "unnamedWire#77", @@ -2368,11 +2245,11 @@ }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "NandGate#3", + "compName": "NandGate#0", "pinName": "A" }, "name": "unnamedWire#78", @@ -2389,7 +2266,7 @@ "pinName": "EN" }, "pin2": { - "compName": "NandGate#3", + "compName": "NandGate#0", "pinName": "Y" }, "name": "unnamedWire#79", @@ -2406,7 +2283,7 @@ "pinName": "Dmach" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#12", "pinName": "" }, "name": "unnamedWire#80", @@ -2429,151 +2306,6 @@ } ] }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "Am2900MemoryController#0", - "pinName": "Amach" - }, - "name": "unnamedWire#81", - "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": { - "compName": "Splitter#24", - "pinName": "O3" - }, - "pin2": { - "compName": "mux1_16#0", - "pinName": "S" - }, - "name": "unnamedWire#82", - "path": [ - { - "x": 310.0, - "y": 225.0 - }, - { - "x": 240.0, - "y": 225.0 - }, - { - "x": 240.0, - "y": 115.0 - } - ] - }, - { - "pin1": { - "compName": "inc16#0", - "pinName": "Y" - }, - "pin2": { - "compName": "dff16#0", - "pinName": "D" - }, - "name": "unnamedWire#83", - "path": [] - }, - { - "pin1": { - "compName": "inc16#0", - "pinName": "A" - }, - "pin2": { - "compName": "mux1_16#0", - "pinName": "Y" - }, - "name": "unnamedWire#84", - "path": [ - { - "x": 315.0, - "y": 130.0 - }, - { - "x": 315.0, - "y": 160.0 - } - ] - }, - { - "pin1": { - "compName": "inc16#0", - "pinName": "CI" - }, - "pin2": { - "compName": "NandGate#1", - "pinName": "Y" - }, - "name": "unnamedWire#85", - "path": [ - { - "x": 330.0, - "y": 145.0 - }, - { - "x": 330.0, - "y": 160.0 - }, - { - "x": 360.0, - "y": 160.0 - }, - { - "x": 360.0, - "y": 175.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "pin2": { - "compName": "NandGate#1", - "pinName": "A" - }, - "name": "unnamedWire#86", - "path": [ - { - "x": 330.0, - "y": 170.0 - } - ] - }, - { - "pin1": { - "compName": "NandGate#1", - "pinName": "B" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#87", - "path": [] - }, { "pin1": { "compName": "Am2900MPROM#0", @@ -2583,26 +2315,9 @@ "compName": "mux1_12#0", "pinName": "I0" }, - "name": "unnamedWire#88", + "name": "unnamedWire#81", "path": [] }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "TriStateBuffer#3", - "pinName": "IN" - }, - "name": "unnamedWire#89", - "path": [ - { - "x": 420.0, - "y": 155.0 - } - ] - }, { "pin1": { "compName": "Am2900MemoryController#0", @@ -2612,7 +2327,7 @@ "compName": "Am2900MainMemory#0", "pinName": "D" }, - "name": "unnamedWire#90", + "name": "unnamedWire#82", "path": [ { "x": 205.0, @@ -2633,7 +2348,7 @@ "compName": "mux1_12#0", "pinName": "S" }, - "name": "unnamedWire#91", + "name": "unnamedWire#83", "path": [ { "x": 420.0, @@ -2649,18 +2364,6 @@ } ] }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "dff16#0", - "pinName": "Q" - }, - "name": "unnamedWire#92", - "path": [] - }, { "pin1": { "compName": "dlatch80#1", @@ -2670,7 +2373,7 @@ "compName": "Splitter#4", "pinName": "I" }, - "name": "unnamedWire#93", + "name": "unnamedWire#84", "path": [ { "x": 330.0, @@ -2695,7 +2398,7 @@ "compName": "Am2910#0", "pinName": "_CCEN" }, - "name": "unnamedWire#94", + "name": "unnamedWire#85", "path": [ { "x": 565.0, @@ -2720,7 +2423,7 @@ "compName": "Splitter#4", "pinName": "O21" }, - "name": "unnamedWire#95", + "name": "unnamedWire#86", "path": [] }, { @@ -2732,7 +2435,7 @@ "compName": "Splitter#6", "pinName": "O2" }, - "name": "unnamedWire#96", + "name": "unnamedWire#87", "path": [] }, { @@ -2744,7 +2447,7 @@ "compName": "Splitter#4", "pinName": "O19" }, - "name": "unnamedWire#97", + "name": "unnamedWire#88", "path": [] }, { @@ -2756,7 +2459,7 @@ "compName": "Splitter#6", "pinName": "O0" }, - "name": "unnamedWire#98", + "name": "unnamedWire#89", "path": [] }, { @@ -2768,7 +2471,7 @@ "compName": "Am2910#0", "pinName": "I" }, - "name": "unnamedWire#99", + "name": "unnamedWire#90", "path": [ { "x": 540.0, @@ -2793,7 +2496,7 @@ "compName": "Splitter#4", "pinName": "O17" }, - "name": "unnamedWire#100", + "name": "unnamedWire#91", "path": [] }, { @@ -2805,7 +2508,7 @@ "compName": "Splitter#5", "pinName": "O10" }, - "name": "unnamedWire#101", + "name": "unnamedWire#92", "path": [] }, { @@ -2817,7 +2520,7 @@ "compName": "Splitter#4", "pinName": "O15" }, - "name": "unnamedWire#102", + "name": "unnamedWire#93", "path": [] }, { @@ -2829,7 +2532,7 @@ "compName": "Splitter#5", "pinName": "O8" }, - "name": "unnamedWire#103", + "name": "unnamedWire#94", "path": [] }, { @@ -2841,7 +2544,7 @@ "compName": "Splitter#4", "pinName": "O13" }, - "name": "unnamedWire#104", + "name": "unnamedWire#95", "path": [] }, { @@ -2853,7 +2556,7 @@ "compName": "Splitter#5", "pinName": "O6" }, - "name": "unnamedWire#105", + "name": "unnamedWire#96", "path": [] }, { @@ -2865,7 +2568,7 @@ "compName": "Splitter#4", "pinName": "O11" }, - "name": "unnamedWire#106", + "name": "unnamedWire#97", "path": [] }, { @@ -2877,7 +2580,7 @@ "compName": "Splitter#5", "pinName": "O4" }, - "name": "unnamedWire#107", + "name": "unnamedWire#98", "path": [] }, { @@ -2889,7 +2592,7 @@ "compName": "Splitter#4", "pinName": "O9" }, - "name": "unnamedWire#108", + "name": "unnamedWire#99", "path": [] }, { @@ -2901,7 +2604,7 @@ "compName": "Splitter#5", "pinName": "O2" }, - "name": "unnamedWire#109", + "name": "unnamedWire#100", "path": [] }, { @@ -2913,7 +2616,7 @@ "compName": "Splitter#4", "pinName": "O7" }, - "name": "unnamedWire#110", + "name": "unnamedWire#101", "path": [] }, { @@ -2925,7 +2628,7 @@ "compName": "Splitter#5", "pinName": "O0" }, - "name": "unnamedWire#111", + "name": "unnamedWire#102", "path": [] }, { @@ -2937,7 +2640,7 @@ "compName": "Am2910#0", "pinName": "D" }, - "name": "unnamedWire#112", + "name": "unnamedWire#103", "path": [ { "x": 435.0, @@ -2954,7 +2657,7 @@ "compName": "Splitter#5", "pinName": "I" }, - "name": "unnamedWire#113", + "name": "unnamedWire#104", "path": [ { "x": 350.0, @@ -2979,19 +2682,7 @@ "compName": "dlatch80#0", "pinName": "Q" }, - "name": "unnamedWire#114", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "name": "unnamedWire#115", + "name": "unnamedWire#105", "path": [] }, { @@ -3000,43 +2691,22 @@ "pinName": "O5" }, "pin2": { - "compName": "Splitter#25", + "compName": "Splitter#24", "pinName": "O3" }, - "name": "unnamedWire#116", + "name": "unnamedWire#106", "path": [] }, - { - "pin1": { - "compName": "Splitter#24", - "pinName": "I" - }, - "pin2": { - "compName": "Splitter#25", - "pinName": "I" - }, - "name": "unnamedWire#117", - "path": [ - { - "x": 325.0, - "y": 640.0 - }, - { - "x": 380.0, - "y": 640.0 - } - ] - }, { "pin1": { "compName": "Am2900MicroInstructionMemory#0", "pinName": "A" }, "pin2": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#22", "pinName": "" }, - "name": "unnamedWire#118", + "name": "unnamedWire#107", "path": [ { "x": 205.0, @@ -3057,7 +2727,7 @@ "compName": "Am2904#0", "pinName": "_CEM" }, - "name": "unnamedWire#119", + "name": "unnamedWire#108", "path": [ { "x": 635.0, @@ -3086,7 +2756,7 @@ "compName": "Am2904#0", "pinName": "_CEmu" }, - "name": "unnamedWire#120", + "name": "unnamedWire#109", "path": [ { "x": 645.0, @@ -3115,7 +2785,7 @@ "compName": "Splitter#4", "pinName": "O23" }, - "name": "unnamedWire#121", + "name": "unnamedWire#110", "path": [] }, { @@ -3127,7 +2797,7 @@ "compName": "Splitter#4", "pinName": "O25" }, - "name": "unnamedWire#122", + "name": "unnamedWire#111", "path": [] }, { @@ -3139,7 +2809,7 @@ "compName": "Splitter#4", "pinName": "O24" }, - "name": "unnamedWire#123", + "name": "unnamedWire#112", "path": [] }, { @@ -3151,7 +2821,7 @@ "compName": "Splitter#8", "pinName": "O3" }, - "name": "unnamedWire#124", + "name": "unnamedWire#113", "path": [] }, { @@ -3163,7 +2833,7 @@ "compName": "Splitter#4", "pinName": "O27" }, - "name": "unnamedWire#125", + "name": "unnamedWire#114", "path": [] }, { @@ -3175,7 +2845,7 @@ "compName": "Splitter#8", "pinName": "O5" }, - "name": "unnamedWire#126", + "name": "unnamedWire#115", "path": [] }, { @@ -3187,7 +2857,7 @@ "compName": "Splitter#4", "pinName": "O31" }, - "name": "unnamedWire#127", + "name": "unnamedWire#116", "path": [] }, { @@ -3199,7 +2869,7 @@ "compName": "Splitter#10", "pinName": "O1" }, - "name": "unnamedWire#128", + "name": "unnamedWire#117", "path": [] }, { @@ -3211,7 +2881,7 @@ "compName": "Splitter#4", "pinName": "O33" }, - "name": "unnamedWire#129", + "name": "unnamedWire#118", "path": [] }, { @@ -3223,7 +2893,7 @@ "compName": "Splitter#10", "pinName": "O3" }, - "name": "unnamedWire#130", + "name": "unnamedWire#119", "path": [] }, { @@ -3235,7 +2905,7 @@ "compName": "Splitter#4", "pinName": "O35" }, - "name": "unnamedWire#131", + "name": "unnamedWire#120", "path": [] }, { @@ -3247,7 +2917,7 @@ "compName": "Splitter#9", "pinName": "O1" }, - "name": "unnamedWire#132", + "name": "unnamedWire#121", "path": [] }, { @@ -3259,7 +2929,7 @@ "compName": "Splitter#8", "pinName": "I" }, - "name": "unnamedWire#133", + "name": "unnamedWire#122", "path": [ { "x": 755.0, @@ -3280,7 +2950,7 @@ "compName": "Splitter#12", "pinName": "I" }, - "name": "unnamedWire#134", + "name": "unnamedWire#123", "path": [ { "x": 670.0, @@ -3301,7 +2971,7 @@ "compName": "Splitter#9", "pinName": "I" }, - "name": "unnamedWire#135", + "name": "unnamedWire#124", "path": [ { "x": 665.0, @@ -3322,7 +2992,7 @@ "compName": "Splitter#7", "pinName": "O0" }, - "name": "unnamedWire#136", + "name": "unnamedWire#125", "path": [] }, { @@ -3334,7 +3004,7 @@ "compName": "Splitter#7", "pinName": "O1" }, - "name": "unnamedWire#137", + "name": "unnamedWire#126", "path": [] }, { @@ -3346,7 +3016,7 @@ "compName": "Splitter#11", "pinName": "O2" }, - "name": "unnamedWire#138", + "name": "unnamedWire#127", "path": [] }, { @@ -3358,7 +3028,7 @@ "compName": "Splitter#7", "pinName": "O3" }, - "name": "unnamedWire#139", + "name": "unnamedWire#128", "path": [] }, { @@ -3370,7 +3040,7 @@ "compName": "Splitter#11", "pinName": "O4" }, - "name": "unnamedWire#140", + "name": "unnamedWire#129", "path": [] }, { @@ -3382,7 +3052,7 @@ "compName": "Splitter#7", "pinName": "O5" }, - "name": "unnamedWire#141", + "name": "unnamedWire#130", "path": [] }, { @@ -3394,7 +3064,7 @@ "compName": "Splitter#7", "pinName": "O6" }, - "name": "unnamedWire#142", + "name": "unnamedWire#131", "path": [] }, { @@ -3406,7 +3076,7 @@ "compName": "Splitter#12", "pinName": "O1" }, - "name": "unnamedWire#143", + "name": "unnamedWire#132", "path": [] }, { @@ -3418,7 +3088,7 @@ "compName": "Splitter#7", "pinName": "O8" }, - "name": "unnamedWire#144", + "name": "unnamedWire#133", "path": [] }, { @@ -3430,7 +3100,7 @@ "compName": "Splitter#12", "pinName": "O3" }, - "name": "unnamedWire#145", + "name": "unnamedWire#134", "path": [] }, { @@ -3442,7 +3112,7 @@ "compName": "Splitter#7", "pinName": "O11" }, - "name": "unnamedWire#146", + "name": "unnamedWire#135", "path": [] }, { @@ -3454,7 +3124,7 @@ "compName": "Splitter#13", "pinName": "O1" }, - "name": "unnamedWire#147", + "name": "unnamedWire#136", "path": [] }, { @@ -3466,7 +3136,7 @@ "compName": "Splitter#4", "pinName": "O73" }, - "name": "unnamedWire#148", + "name": "unnamedWire#137", "path": [] }, { @@ -3478,7 +3148,7 @@ "compName": "Splitter#14", "pinName": "O14" }, - "name": "unnamedWire#149", + "name": "unnamedWire#138", "path": [] }, { @@ -3490,7 +3160,7 @@ "compName": "Splitter#4", "pinName": "O71" }, - "name": "unnamedWire#150", + "name": "unnamedWire#139", "path": [] }, { @@ -3502,7 +3172,7 @@ "compName": "Splitter#14", "pinName": "O12" }, - "name": "unnamedWire#151", + "name": "unnamedWire#140", "path": [] }, { @@ -3514,7 +3184,7 @@ "compName": "Splitter#4", "pinName": "O69" }, - "name": "unnamedWire#152", + "name": "unnamedWire#141", "path": [] }, { @@ -3526,7 +3196,7 @@ "compName": "Splitter#14", "pinName": "O10" }, - "name": "unnamedWire#153", + "name": "unnamedWire#142", "path": [] }, { @@ -3538,7 +3208,7 @@ "compName": "Splitter#4", "pinName": "O67" }, - "name": "unnamedWire#154", + "name": "unnamedWire#143", "path": [] }, { @@ -3550,7 +3220,7 @@ "compName": "Splitter#14", "pinName": "O8" }, - "name": "unnamedWire#155", + "name": "unnamedWire#144", "path": [] }, { @@ -3562,7 +3232,7 @@ "compName": "Splitter#4", "pinName": "O65" }, - "name": "unnamedWire#156", + "name": "unnamedWire#145", "path": [] }, { @@ -3574,7 +3244,7 @@ "compName": "Splitter#14", "pinName": "O6" }, - "name": "unnamedWire#157", + "name": "unnamedWire#146", "path": [] }, { @@ -3586,7 +3256,7 @@ "compName": "Splitter#4", "pinName": "O63" }, - "name": "unnamedWire#158", + "name": "unnamedWire#147", "path": [] }, { @@ -3598,7 +3268,7 @@ "compName": "Splitter#14", "pinName": "O4" }, - "name": "unnamedWire#159", + "name": "unnamedWire#148", "path": [] }, { @@ -3610,7 +3280,7 @@ "compName": "Splitter#4", "pinName": "O61" }, - "name": "unnamedWire#160", + "name": "unnamedWire#149", "path": [] }, { @@ -3622,7 +3292,7 @@ "compName": "Splitter#14", "pinName": "O2" }, - "name": "unnamedWire#161", + "name": "unnamedWire#150", "path": [] }, { @@ -3634,7 +3304,7 @@ "compName": "Splitter#4", "pinName": "O59" }, - "name": "unnamedWire#162", + "name": "unnamedWire#151", "path": [] }, { @@ -3646,7 +3316,7 @@ "compName": "Splitter#14", "pinName": "O0" }, - "name": "unnamedWire#163", + "name": "unnamedWire#152", "path": [] }, { @@ -3658,7 +3328,7 @@ "compName": "Splitter#4", "pinName": "O57" }, - "name": "unnamedWire#164", + "name": "unnamedWire#153", "path": [] }, { @@ -3670,7 +3340,7 @@ "compName": "Splitter#15", "pinName": "O1" }, - "name": "unnamedWire#165", + "name": "unnamedWire#154", "path": [] }, { @@ -3682,7 +3352,7 @@ "compName": "Splitter#4", "pinName": "O55" }, - "name": "unnamedWire#166", + "name": "unnamedWire#155", "path": [] }, { @@ -3694,7 +3364,7 @@ "compName": "Splitter#16", "pinName": "O2" }, - "name": "unnamedWire#167", + "name": "unnamedWire#156", "path": [] }, { @@ -3706,7 +3376,7 @@ "compName": "Splitter#4", "pinName": "O53" }, - "name": "unnamedWire#168", + "name": "unnamedWire#157", "path": [] }, { @@ -3718,7 +3388,7 @@ "compName": "Splitter#16", "pinName": "O0" }, - "name": "unnamedWire#169", + "name": "unnamedWire#158", "path": [] }, { @@ -3730,7 +3400,7 @@ "compName": "Splitter#4", "pinName": "O51" }, - "name": "unnamedWire#170", + "name": "unnamedWire#159", "path": [] }, { @@ -3742,7 +3412,7 @@ "compName": "Splitter#17", "pinName": "O1" }, - "name": "unnamedWire#171", + "name": "unnamedWire#160", "path": [] }, { @@ -3754,7 +3424,7 @@ "compName": "Splitter#4", "pinName": "O49" }, - "name": "unnamedWire#172", + "name": "unnamedWire#161", "path": [] }, { @@ -3766,7 +3436,7 @@ "compName": "Splitter#4", "pinName": "O48" }, - "name": "unnamedWire#173", + "name": "unnamedWire#162", "path": [] }, { @@ -3778,7 +3448,7 @@ "compName": "Splitter#18", "pinName": "O2" }, - "name": "unnamedWire#174", + "name": "unnamedWire#163", "path": [] }, { @@ -3790,7 +3460,7 @@ "compName": "Splitter#4", "pinName": "O46" }, - "name": "unnamedWire#175", + "name": "unnamedWire#164", "path": [] }, { @@ -3802,7 +3472,7 @@ "compName": "Splitter#18", "pinName": "O0" }, - "name": "unnamedWire#176", + "name": "unnamedWire#165", "path": [] }, { @@ -3814,7 +3484,7 @@ "compName": "Splitter#4", "pinName": "O40" }, - "name": "unnamedWire#177", + "name": "unnamedWire#166", "path": [] }, { @@ -3826,7 +3496,7 @@ "compName": "Splitter#19", "pinName": "O1" }, - "name": "unnamedWire#178", + "name": "unnamedWire#167", "path": [] }, { @@ -3838,7 +3508,7 @@ "compName": "Splitter#4", "pinName": "O42" }, - "name": "unnamedWire#179", + "name": "unnamedWire#168", "path": [] }, { @@ -3850,19 +3520,19 @@ "compName": "Splitter#19", "pinName": "O3" }, - "name": "unnamedWire#180", + "name": "unnamedWire#169", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { "compName": "Splitter#7", "pinName": "O10" }, - "name": "unnamedWire#181", + "name": "unnamedWire#170", "path": [ { "x": 680.0, @@ -3879,7 +3549,7 @@ "compName": "Splitter#17", "pinName": "I" }, - "name": "unnamedWire#182", + "name": "unnamedWire#171", "path": [] }, { @@ -3891,7 +3561,7 @@ "compName": "Splitter#16", "pinName": "I" }, - "name": "unnamedWire#183", + "name": "unnamedWire#172", "path": [] }, { @@ -3903,7 +3573,7 @@ "compName": "Splitter#15", "pinName": "I" }, - "name": "unnamedWire#184", + "name": "unnamedWire#173", "path": [] }, { @@ -3915,7 +3585,7 @@ "compName": "Splitter#20", "pinName": "O0" }, - "name": "unnamedWire#185", + "name": "unnamedWire#174", "path": [] }, { @@ -3927,7 +3597,7 @@ "compName": "Splitter#23", "pinName": "O1" }, - "name": "unnamedWire#186", + "name": "unnamedWire#175", "path": [] }, { @@ -3939,7 +3609,7 @@ "compName": "Splitter#20", "pinName": "O2" }, - "name": "unnamedWire#187", + "name": "unnamedWire#176", "path": [] }, { @@ -3951,7 +3621,7 @@ "compName": "Splitter#23", "pinName": "O3" }, - "name": "unnamedWire#188", + "name": "unnamedWire#177", "path": [] }, { @@ -3963,7 +3633,7 @@ "compName": "Splitter#22", "pinName": "O1" }, - "name": "unnamedWire#189", + "name": "unnamedWire#178", "path": [] }, { @@ -3975,7 +3645,7 @@ "compName": "Splitter#22", "pinName": "O2" }, - "name": "unnamedWire#190", + "name": "unnamedWire#179", "path": [] }, { @@ -3987,7 +3657,7 @@ "compName": "Splitter#21", "pinName": "O0" }, - "name": "unnamedWire#191", + "name": "unnamedWire#180", "path": [] }, { @@ -3996,10 +3666,10 @@ "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#192", + "name": "unnamedWire#181", "path": [] }, { @@ -4011,19 +3681,19 @@ "compName": "Splitter#21", "pinName": "O2" }, - "name": "unnamedWire#193", + "name": "unnamedWire#182", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { "compName": "Splitter#23", "pinName": "O7" }, - "name": "unnamedWire#194", + "name": "unnamedWire#183", "path": [] }, { @@ -4035,7 +3705,7 @@ "compName": "Am2904#0", "pinName": "I" }, - "name": "unnamedWire#195", + "name": "unnamedWire#184", "path": [ { "x": 720.0, @@ -4060,7 +3730,7 @@ "compName": "Am2900MemoryController#0", "pinName": "RWmach" }, - "name": "unnamedWire#196", + "name": "unnamedWire#185", "path": [ { "x": 345.0, @@ -4085,7 +3755,7 @@ "compName": "Am2900MPROM#0", "pinName": "A" }, - "name": "unnamedWire#197", + "name": "unnamedWire#186", "path": [ { "x": 590.0, @@ -4107,14 +3777,14 @@ }, { "pin1": { - "compName": "mux1_16#1", + "compName": "mux1_16#0", "pinName": "Y" }, "pin2": { "compName": "Am2901x4#0", "pinName": "D" }, - "name": "unnamedWire#198", + "name": "unnamedWire#187", "path": [ { "x": 970.0, @@ -4132,14 +3802,14 @@ }, { "pin1": { - "compName": "mux1_16#1", + "compName": "mux1_16#0", "pinName": "S" }, "pin2": { "compName": "Splitter#4", "pinName": "O74" }, - "name": "unnamedWire#199", + "name": "unnamedWire#188", "path": [ { "x": 905.0, @@ -4169,10 +3839,10 @@ "pinName": "I" }, "pin2": { - "compName": "mux1_16#1", + "compName": "mux1_16#0", "pinName": "I0" }, - "name": "unnamedWire#200", + "name": "unnamedWire#189", "path": [ { "x": 1000.0, @@ -4198,14 +3868,14 @@ }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { "compName": "TriStateBuffer#0", "pinName": "IN" }, - "name": "unnamedWire#201", + "name": "unnamedWire#190", "path": [] }, { @@ -4214,10 +3884,10 @@ "pinName": "IN" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#202", + "name": "unnamedWire#191", "path": [ { "x": 985.0, @@ -4225,101 +3895,6 @@ } ] }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "TriStateBuffer#2", - "pinName": "IN" - }, - "name": "unnamedWire#203", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "mux1_16#0", - "pinName": "I1" - }, - "name": "unnamedWire#204", - "path": [ - { - "x": 420.0, - "y": 95.0 - }, - { - "x": 245.0, - "y": 95.0 - }, - { - "x": 245.0, - "y": 200.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#205", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#206", - "path": [] - }, - { - "pin1": { - "compName": "TriStateBuffer#2", - "pinName": "OUT" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#207", - "path": [ - { - "x": 450.0, - "y": 130.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "pin2": { - "compName": "TriStateBuffer#3", - "pinName": "OUT" - }, - "name": "unnamedWire#208", - "path": [ - { - "x": 455.0, - "y": 155.0 - } - ] - }, { "pin1": { "compName": "WireCrossPoint#4", @@ -4329,7 +3904,7 @@ "compName": "dff16_invwe#0", "pinName": "D" }, - "name": "unnamedWire#209", + "name": "unnamedWire#192", "path": [ { "x": 475.0, @@ -4337,18 +3912,6 @@ } ] }, - { - "pin1": { - "compName": "Splitter#24", - "pinName": "O1" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#210", - "path": [] - }, { "pin1": { "compName": "Splitter#4", @@ -4358,7 +3921,7 @@ "compName": "dff16_invwe#0", "pinName": "_WE" }, - "name": "unnamedWire#211", + "name": "unnamedWire#193", "path": [ { "x": 355.0, @@ -4376,14 +3939,14 @@ }, { "pin1": { - "compName": "Splitter#25", + "compName": "Splitter#24", "pinName": "O2" }, "pin2": { "compName": "Splitter#4", "pinName": "O4" }, - "name": "unnamedWire#212", + "name": "unnamedWire#194", "path": [] }, { @@ -4392,22 +3955,22 @@ "pinName": "O3" }, "pin2": { - "compName": "Splitter#25", + "compName": "Splitter#24", "pinName": "O1" }, - "name": "unnamedWire#213", + "name": "unnamedWire#195", "path": [] }, { "pin1": { - "compName": "Splitter#25", + "compName": "Splitter#24", "pinName": "O0" }, "pin2": { "compName": "Splitter#4", "pinName": "O2" }, - "name": "unnamedWire#214", + "name": "unnamedWire#196", "path": [] }, { @@ -4419,7 +3982,7 @@ "compName": "Splitter#19", "pinName": "I" }, - "name": "unnamedWire#215", + "name": "unnamedWire#197", "path": [ { "x": 610.0, @@ -4453,147 +4016,84 @@ }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#12", "pinName": "" }, - "name": "unnamedWire#216", + "name": "unnamedWire#198", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { "compName": "BitDisplay#1", "pinName": "" }, - "name": "unnamedWire#217", + "name": "unnamedWire#199", "path": [ { - "x": 275.0, + "x": 395.0, "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" - }, - "pin2": { - "compName": "mux1_16#0", - "pinName": "I0" - }, - "name": "unnamedWire#218", - "path": [ - { - "x": 250.0, - "y": 135.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { "compName": "BitDisplay#2", "pinName": "" }, - "name": "unnamedWire#219", + "name": "unnamedWire#200", "path": [ { - "x": 275.0, + "x": 395.0, "y": 70.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { "compName": "WireCrossPoint#15", "pinName": "" }, - "name": "unnamedWire#220", - "path": [ - { - "x": 340.0, - "y": 225.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" - }, - "pin2": { - "compName": "NandGate#5", - "pinName": "A" - }, - "name": "unnamedWire#221", - "path": [ - { - "x": 270.0, - "y": 230.0 - }, - { - "x": 270.0, - "y": 270.0 - }, - { - "x": 120.0, - "y": 270.0 - }, - { - "x": 120.0, - "y": 290.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" - }, - "name": "unnamedWire#222", + "name": "unnamedWire#201", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#13", "pinName": "" }, - "name": "unnamedWire#223", + "name": "unnamedWire#202", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#224", + "name": "unnamedWire#203", "path": [] }, { @@ -4605,7 +4105,7 @@ "compName": "Am2900MainMemory#0", "pinName": "A" }, - "name": "unnamedWire#225", + "name": "unnamedWire#204", "path": [ { "x": 210.0, @@ -4623,10 +4123,10 @@ "pinName": "O38" }, "pin2": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#16", "pinName": "" }, - "name": "unnamedWire#226", + "name": "unnamedWire#205", "path": [ { "x": 725.0, @@ -4640,43 +4140,26 @@ }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#10", "pinName": "" }, - "name": "unnamedWire#227", + "name": "unnamedWire#206", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", - "pinName": "" - }, - "pin2": { - "compName": "dff16#0", - "pinName": "C" - }, - "name": "unnamedWire#228", - "path": [ - { - "x": 365.0, - "y": 110.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#21", "pinName": "" }, "pin2": { "compName": "dff16_invwe#0", "pinName": "C" }, - "name": "unnamedWire#229", + "name": "unnamedWire#207", "path": [ { "x": 480.0, @@ -4686,14 +4169,14 @@ }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#22", "pinName": "" }, "pin2": { "compName": "Am2910#0", "pinName": "Y" }, - "name": "unnamedWire#230", + "name": "unnamedWire#208", "path": [ { "x": 440.0, @@ -4703,14 +4186,14 @@ }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#22", "pinName": "" }, "pin2": { "compName": "BitDisplay#0", "pinName": "" }, - "name": "unnamedWire#231", + "name": "unnamedWire#209", "path": [ { "x": 240.0, @@ -4727,7 +4210,7 @@ "compName": "Am2900MemoryController#0", "pinName": "RWmem" }, - "name": "unnamedWire#232", + "name": "unnamedWire#210", "path": [ { "x": 215.0, @@ -4741,50 +4224,50 @@ }, { "pin1": { - "compName": "NandGate#5", + "compName": "NandGate#2", "pinName": "Y" }, "pin2": { "compName": "Am2900MemoryController#0", "pinName": "EN" }, - "name": "unnamedWire#233", + "name": "unnamedWire#211", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { "compName": "Am2900MemoryController#0", "pinName": "C" }, - "name": "unnamedWire#234", + "name": "unnamedWire#212", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { "compName": "Am2900MemoryController#0", "pinName": "_C" }, - "name": "unnamedWire#235", + "name": "unnamedWire#213", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#21", "pinName": "" }, - "name": "unnamedWire#236", + "name": "unnamedWire#214", "path": [] }, { @@ -4796,7 +4279,7 @@ "compName": "mux1_4#0", "pinName": "Y" }, - "name": "unnamedWire#237", + "name": "unnamedWire#215", "path": [ { "x": 765.0, @@ -4870,7 +4353,8 @@ "pc": { "id": "delegating", "params": { - "delegateTarget": "dff16#0" + "delegateTarget": "Am2900PC#0", + "prefix": "pc" } }, "ram": { @@ -4885,7 +4369,7 @@ "id": "wireForcing", "params": { "wiresToForce": [ - "unnamedWire#118" + "unnamedWire#107" ], "wiresToForceInverted": [] } diff --git a/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900PC.json b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900PC.json new file mode 100644 index 00000000..c10100a0 --- /dev/null +++ b/plugins/net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/Am2900PC.json @@ -0,0 +1,682 @@ +{ + "width": 100.0, + "height": 70.0, + "interfacePins": [ + { + "location": { + "x": 90.0, + "y": 0.0 + }, + "name": "A", + "logicWidth": 16, + "usage": "TRISTATE" + }, + { + "location": { + "x": 60.0, + "y": 70.0 + }, + "name": "C", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 10.0, + "y": 0.0 + }, + "name": "D", + "logicWidth": 16, + "usage": "TRISTATE" + }, + { + "location": { + "x": 40.0, + "y": 70.0 + }, + "name": "I", + "logicWidth": 4, + "usage": "INPUT" + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "_AOUT", + "logicWidth": 1, + "usage": "OUTPUT" + } + ], + "innerScale": 0.4, + "submodel": { + "components": [ + { + "id": "NandGate", + "name": "NandGate#0", + "pos": { + "x": 160.0, + "y": 115.0 + }, + "params": 1 + }, + { + "id": "NandGate", + "name": "NandGate#1", + "pos": { + "x": 110.0, + "y": 100.0 + }, + "params": 1 + }, + { + "id": "NandGate", + "name": "NandGate#2", + "pos": { + "x": 160.0, + "y": 140.0 + }, + "params": 1 + }, + { + "id": "Splitter", + "name": "Splitter#0", + "pos": { + "x": 85.0, + "y": 155.0 + }, + "params": { + "logicWidth": 4, + "orientation": "UP" + } + }, + { + "id": "TriStateBuffer", + "name": "TriStateBuffer#0", + "pos": { + "x": 190.0, + "y": 40.0 + }, + "params": { + "logicWidth": 16, + "orientation": "RIGHT_ALT" + } + }, + { + "id": "TriStateBuffer", + "name": "TriStateBuffer#1", + "pos": { + "x": 190.0, + "y": 65.0 + }, + "params": { + "logicWidth": 16, + "orientation": "RIGHT_ALT" + } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 104.0, + "y": 114.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 184.0, + "y": 49.0 + }, + "params": 16 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 154.0, + "y": 129.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 154.0, + "y": 144.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 114.0, + "y": 149.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 24.0, + "y": 14.0 + }, + "params": 16 + }, + { + "id": "dff16", + "name": "dff16#0", + "pos": { + "x": 135.0, + "y": 25.0 + } + }, + { + "id": "inc16", + "name": "inc16#0", + "pos": { + "x": 95.0, + "y": 35.0 + } + }, + { + "id": "mux1_16", + "name": "mux1_16#0", + "pos": { + "x": 20.0, + "y": 30.0 + } + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "Splitter#0", + "pinName": "I" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "dff16#0", + "pinName": "C" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 150.0, + "y": 85.0 + }, + { + "x": 130.0, + "y": 85.0 + }, + { + "x": 130.0, + "y": 30.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "NandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "NandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#3", + "path": [ + { + "x": 155.0, + "y": 120.0 + } + ] + }, + { + "pin1": { + "compName": "Splitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [ + { + "x": 95.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "NandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "TriStateBuffer#0", + "pinName": "EN" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 215.0, + "y": 125.0 + }, + { + "x": 215.0, + "y": 60.0 + }, + { + "x": 200.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "NandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "NandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 155.0, + "y": 155.0 + } + ] + }, + { + "pin1": { + "compName": "Splitter#0", + "pinName": "O0" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "NandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "TriStateBuffer#1", + "pinName": "EN" + }, + "name": "unnamedWire#9", + "path": [ + { + "x": 200.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "Splitter#0", + "pinName": "O3" + }, + "pin2": { + "compName": "mux1_16#0", + "pinName": "S" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 85.0, + "y": 145.0 + }, + { + "x": 5.0, + "y": 145.0 + }, + { + "x": 5.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "inc16#0", + "pinName": "Y" + }, + "pin2": { + "compName": "dff16#0", + "pinName": "D" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "inc16#0", + "pinName": "A" + }, + "pin2": { + "compName": "mux1_16#0", + "pinName": "Y" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 80.0, + "y": 50.0 + }, + { + "x": 80.0, + "y": 80.0 + } + ] + }, + { + "pin1": { + "compName": "inc16#0", + "pinName": "CI" + }, + "pin2": { + "compName": "NandGate#1", + "pinName": "Y" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 90.0, + "y": 65.0 + }, + { + "x": 90.0, + "y": 95.0 + }, + { + "x": 135.0, + "y": 95.0 + }, + { + "x": 135.0, + "y": 110.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "NandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 105.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "NandGate#1", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "TriStateBuffer#1", + "pinName": "IN" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 185.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "dff16#0", + "pinName": "Q" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "TriStateBuffer#0", + "pinName": "IN" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "mux1_16#0", + "pinName": "I1" + }, + "name": "unnamedWire#19", + "path": [ + { + "x": 185.0, + "y": 20.0 + }, + { + "x": 10.0, + "y": 20.0 + }, + { + "x": 10.0, + "y": 120.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_AOUT" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A" + }, + "pin2": { + "compName": "TriStateBuffer#1", + "pinName": "OUT" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 225.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "Splitter#0", + "pinName": "O1" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "mux1_16#0", + "pinName": "I0" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#23", + "path": [ + { + "x": 15.0, + "y": 55.0 + }, + { + "x": 15.0, + "y": 15.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#24", + "path": [ + { + "x": 115.0, + "y": 145.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "D" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "TriStateBuffer#0", + "pinName": "OUT" + }, + "name": "unnamedWire#26", + "path": [ + { + "x": 215.0, + "y": 15.0 + }, + { + "x": 215.0, + "y": 50.0 + } + ] + } + ], + "version": "0.1.1" + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "Program\ncounter", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "standard", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "pc": { + "id": "delegating", + "params": { + "delegateTarget": "dff16#0" + } + } + }, + "atomicHighLevelStates": {} + }, + "version": "0.1.5" +} \ No newline at end of file diff --git a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/standardComponentIDMapping.json b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/standardComponentIDMapping.json index 39967754..2cc31c0f 100644 --- a/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/standardComponentIDMapping.json +++ b/plugins/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/standardComponentIDMapping.json @@ -4,6 +4,7 @@ "Am2900MPROM": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.ModelAm2900MPROM", "Am2900": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900.json", + "Am2900PC": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900PC.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", -- 2.17.1