From 29f0c5000b9d7626d7fcd6425cd0acc5a8c33187 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Sun, 25 Aug 2019 22:35:51 +0200 Subject: [PATCH] Implemented most of the Am2904. Missing: shifts, C0, component layout --- .../META-INF/MANIFEST.MF | 1 + .../components/GUImux2.json | 447 +++ .../components/GUImux2_4.json | 692 +++++ .../components/GUImux3.json | 479 ++++ .../components/GUIsel1.json | 208 ++ .../components/am2904/GUIAm2904.json | 2427 ++++++++++++++-- .../components/am2904/GUIAm2904TestLogic.json | 170 +- .../am2904/GUIAm2904RegCTInstrDecode.java | 128 +- .../model/examples/GUIComponentTestbench.java | 2 +- .../GUIAm2901QReg.json => GUIdff4.json} | 2 +- .../components/GUIdff4_invwe.json | 725 +++++ .../components/GUImux2.json | 447 +++ .../components/GUImux2_4.json | 692 +++++ .../components/GUImux3.json | 479 ++++ .../components/GUIsel1.json | 208 ++ .../components/am2901/GUIAm2901.json | 26 +- .../components/am2904/GUIAm2904.json | 2450 +++++++++++++++++ .../components/am2904/GUIAm2904MSR.json | 1895 +++++++++++++ .../components/am2904/GUIAm2904TestLogic.json | 765 +++++ .../components/am2904/GUIAm2904muSR.json | 1081 ++++++++ .../components/am2910/GUIAm2910.json | 1138 ++++++++ .../components/am2910/GUIAm2910_old.json | 1089 ++++++++ .../standardComponentIDMapping.json | 8 + 23 files changed, 15120 insertions(+), 439 deletions(-) create mode 100644 net.mograsim.logic.model.am2900/components/GUImux2.json create mode 100644 net.mograsim.logic.model.am2900/components/GUImux2_4.json create mode 100644 net.mograsim.logic.model.am2900/components/GUImux3.json create mode 100644 net.mograsim.logic.model.am2900/components/GUIsel1.json rename net.mograsim.logic.model.editor/components/{am2901/GUIAm2901QReg.json => GUIdff4.json} (99%) create mode 100644 net.mograsim.logic.model.editor/components/GUIdff4_invwe.json create mode 100644 net.mograsim.logic.model.editor/components/GUImux2.json create mode 100644 net.mograsim.logic.model.editor/components/GUImux2_4.json create mode 100644 net.mograsim.logic.model.editor/components/GUImux3.json create mode 100644 net.mograsim.logic.model.editor/components/GUIsel1.json create mode 100644 net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json create mode 100644 net.mograsim.logic.model.editor/components/am2904/GUIAm2904MSR.json create mode 100644 net.mograsim.logic.model.editor/components/am2904/GUIAm2904TestLogic.json create mode 100644 net.mograsim.logic.model.editor/components/am2904/GUIAm2904muSR.json create mode 100644 net.mograsim.logic.model.editor/components/am2910/GUIAm2910.json create mode 100644 net.mograsim.logic.model.editor/components/am2910/GUIAm2910_old.json diff --git a/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF b/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF index bd5fcb59..fb03a1f6 100644 --- a/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF +++ b/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF @@ -4,6 +4,7 @@ Bundle-Name: %Bundle-Name Bundle-SymbolicName: net.mograsim.logic.model.am2900;singleton:=true Bundle-Version: 0.1.0.qualifier Export-Package: net.mograsim.logic.model.am2900.components, + net.mograsim.logic.model.am2900.components.am2904, net.mograsim.logic.model.am2900.components.am2910, net.mograsim.logic.model.examples Bundle-RequiredExecutionEnvironment: JavaSE-11 diff --git a/net.mograsim.logic.model.am2900/components/GUImux2.json b/net.mograsim.logic.model.am2900/components/GUImux2.json new file mode 100644 index 00000000..2542ce0a --- /dev/null +++ b/net.mograsim.logic.model.am2900/components/GUImux2.json @@ -0,0 +1,447 @@ +mograsim version: 0.1.3 +{ + "width": 70.0, + "height": 70.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "I00", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "I11", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I10", + "logicWidth": 1 + }, + { + "location": { + "x": 70.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "I01", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "S0", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "S1", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 30.0, + "y": 15.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 29.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 24.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 54.0, + "y": 39.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 24.0, + "y": 49.0 + }, + "params": 1 + }, + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 60.0, + "y": 100.0 + } + }, + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 60.0, + "y": 35.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 115.0, + "y": 20.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S1" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S2" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 25.0, + "y": 115.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 55.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S1" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 55.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#9", + "path": [ + { + "x": 15.0, + "y": 50.0 + }, + { + "x": 15.0, + "y": 10.0 + }, + { + "x": 85.0, + "y": 10.0 + }, + { + "x": 85.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1" + }, + "name": "unnamedWire#8", + "path": [ + { + "x": 105.0, + "y": 105.0 + }, + { + "x": 105.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 105.0, + "y": 40.0 + }, + { + "x": 105.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 20.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I11" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I2" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 20.0, + "y": 150.0 + }, + { + "x": 20.0, + "y": 135.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I10" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I01" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I2" + }, + "name": "unnamedWire#3", + "path": [ + { + "x": 40.0, + "y": 100.0 + }, + { + "x": 40.0, + "y": 70.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I00" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 35.0, + "y": 75.0 + }, + { + "x": 35.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S2" + }, + "name": "unnamedWire#11", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "GUImux2", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUImux2_4.json b/net.mograsim.logic.model.am2900/components/GUImux2_4.json new file mode 100644 index 00000000..f9648eee --- /dev/null +++ b/net.mograsim.logic.model.am2900/components/GUImux2_4.json @@ -0,0 +1,692 @@ +mograsim version: 0.1.3 +{ + "width": 62.0, + "height": 90.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "I00", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "I11", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I10", + "logicWidth": 4 + }, + { + "location": { + "x": 62.0, + "y": 16.0 + }, + "name": "Y", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "I01", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "S0", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "S1", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 19.0, + "y": 34.0 + }, + "params": 1 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 25.0, + "y": 45.0 + }, + "params": 4 + }, + { + "id": "GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 140.0, + "y": 25.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#3", + "pos": { + "x": 25.0, + "y": 180.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 25.0, + "y": 140.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#1", + "pos": { + "x": 25.0, + "y": 85.0 + }, + "params": 4 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 40.0, + "y": 125.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 40.0, + "y": 30.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 100.0, + "y": 20.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#36", + "path": [ + { + "x": 15.0, + "y": 50.0 + }, + { + "x": 15.0, + "y": 20.0 + }, + { + "x": 60.0, + "y": 20.0 + }, + { + "x": 60.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 20.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S0" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 20.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I00" + }, + "name": "unnamedWire#19", + "path": [ + { + "x": 15.0, + "y": 60.0 + }, + { + "x": 15.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "I" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I10" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 15.0, + "y": 155.0 + }, + { + "x": 15.0, + "y": 125.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I01" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_1" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I11" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "I" + }, + "name": "unnamedWire#22", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_3" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y1" + }, + "name": "unnamedWire#27", + "path": [ + { + "x": 80.0, + "y": 75.0 + }, + { + "x": 80.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y3" + }, + "name": "unnamedWire#29", + "path": [ + { + "x": 90.0, + "y": 95.0 + }, + { + "x": 90.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_2" + }, + "name": "unnamedWire#28", + "path": [ + { + "x": 85.0, + "y": 140.0 + }, + { + "x": 85.0, + "y": 85.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_4" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "O2" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "O1" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_4" + }, + "name": "unnamedWire#30", + "path": [ + { + "x": 95.0, + "y": 160.0 + }, + { + "x": 95.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_2" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O0" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y1" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "O3" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "O" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#31", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_1" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I1" + }, + "name": "unnamedWire#33", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "GUImux1_4", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUImux3.json b/net.mograsim.logic.model.am2900/components/GUImux3.json new file mode 100644 index 00000000..69181cde --- /dev/null +++ b/net.mograsim.logic.model.am2900/components/GUImux3.json @@ -0,0 +1,479 @@ +mograsim version: 0.1.3 +{ + "width": 80.0, + "height": 120.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "I000", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 70.0 + }, + "name": "I011", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 100.0 + }, + "name": "I110", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "I010", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 90.0 + }, + "name": "I101", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 80.0 + }, + "name": "I100", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 110.0 + }, + "name": "I111", + "logicWidth": 1 + }, + { + "location": { + "x": 80.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I001", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "S0", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "S1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "S2", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 94.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 19.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 35.0, + "y": 185.0 + } + }, + { + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 35.0, + "y": 85.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 125.0, + "y": 20.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I111" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I11" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 15.0, + "y": 275.0 + }, + { + "x": 15.0, + "y": 245.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I10" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I110" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 10.0, + "y": 235.0 + }, + { + "x": 10.0, + "y": 250.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 110.0, + "y": 95.0 + }, + { + "x": 110.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 115.0, + "y": 195.0 + }, + { + "x": 115.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S2" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 70.0, + "y": 25.0 + }, + { + "x": 70.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I010" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I10" + }, + "name": "unnamedWire#9", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 135.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I01" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I001" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I000" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I00" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 10.0, + "y": 100.0 + }, + { + "x": 10.0, + "y": 115.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 50.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S1" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 20.0, + "y": 205.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I11" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I011" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 15.0, + "y": 145.0 + }, + { + "x": 15.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [ + { + "x": 25.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S1" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I101" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I01" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I00" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I100" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 10.0, + "y": 215.0 + }, + { + "x": 10.0, + "y": 200.0 + } + ] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "GUImux3", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIsel1.json b/net.mograsim.logic.model.am2900/components/GUIsel1.json new file mode 100644 index 00000000..26a25cfb --- /dev/null +++ b/net.mograsim.logic.model.am2900/components/GUIsel1.json @@ -0,0 +1,208 @@ +mograsim version: 0.1.3 +{ + "width": 35.0, + "height": 40.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 25.0 + }, + "name": "I1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 35.0 + }, + "name": "I2", + "logicWidth": 1 + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "Y", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 5.0 + }, + "name": "S1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 15.0 + }, + "name": "S2", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 35.0, + "y": 30.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#3", + "pos": { + "x": 60.0, + "y": 40.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#2", + "pos": { + "x": 35.0, + "y": 55.0 + }, + "params": 1 + } + ], + "innerWires": [ + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#9" + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#8" + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I2" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 15.0, + "y": 87.5 + }, + { + "x": 15.0, + "y": 70.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S2" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 15.0, + "y": 37.5 + }, + { + "x": 15.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 12.5 + }, + { + "x": 25.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I1" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 25.0, + "y": 62.5 + }, + { + "x": 25.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#10" + } + ] + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "GUIsel1", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json index 9e1fd5d4..33bdddab 100644 --- a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json +++ b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json @@ -1,52 +1,44 @@ mograsim version: 0.1.3 { - "width": 72.0, - "height": 61.0, + "width": 120.0, + "height": 94.0, "interfacePins": [ { "location": { - "x": -14.600000000000001, - "y": 24.400000000000002 + "x": 0.0, + "y": 25.0 }, "name": "IOVR", "logicWidth": 1 }, { "location": { - "x": -14.600000000000001, - "y": 19.400000000000002 + "x": 0.0, + "y": 30.0 }, "name": "_CEM", "logicWidth": 1 }, { "location": { - "x": 0.4, - "y": 5.4 + "x": 0.0, + "y": 5.0 }, "name": "C", "logicWidth": 1 }, { "location": { - "x": -14.600000000000001, - "y": 29.400000000000002 - }, - "name": "YN_in", - "logicWidth": 1 - }, - { - "location": { - "x": 0.4, - "y": 31.400000000000002 + "x": 0.0, + "y": 61.0 }, "name": "I", "logicWidth": 13 }, { "location": { - "x": -14.600000000000001, - "y": 9.4 + "x": 0.0, + "y": 40.0 }, "name": "_EN", "logicWidth": 1 @@ -61,26 +53,26 @@ mograsim version: 0.1.3 }, { "location": { - "x": -24.6, - "y": 14.4 + "x": 120.0, + "y": 17.0 }, - "name": "SIOn_in", + "name": "YC", "logicWidth": 1 }, { "location": { "x": -24.6, - "y": 24.400000000000002 + "y": 14.4 }, - "name": "C0", + "name": "SIOn_in", "logicWidth": 1 }, { "location": { - "x": -14.600000000000001, - "y": 54.400000000000006 + "x": -24.6, + "y": 24.400000000000002 }, - "name": "YOVR_in", + "name": "C0", "logicWidth": 1 }, { @@ -93,26 +85,26 @@ mograsim version: 0.1.3 }, { "location": { - "x": -14.600000000000001, - "y": 34.4 + "x": 0.0, + "y": 36.0 }, - "name": "YZ_in", + "name": "_EZ", "logicWidth": 1 }, { "location": { - "x": -24.6, - "y": 9.4 + "x": -14.600000000000001, + "y": 14.4 }, - "name": "_EZ", + "name": "Cx", "logicWidth": 1 }, { "location": { - "x": -14.600000000000001, - "y": 14.4 + "x": 120.0, + "y": 21.0 }, - "name": "Cx", + "name": "YN", "logicWidth": 1 }, { @@ -125,42 +117,42 @@ mograsim version: 0.1.3 }, { "location": { - "x": -24.6, - "y": 29.400000000000002 + "x": 0.0, + "y": 15.0 }, "name": "IC", "logicWidth": 1 }, { "location": { - "x": -14.600000000000001, - "y": 49.400000000000006 + "x": 0.0, + "y": 42.0 }, "name": "_EOVR", "logicWidth": 1 }, { "location": { - "x": -34.6, - "y": 14.4 + "x": 120.0, + "y": 11.0 }, - "name": "IN", + "name": "YZ", "logicWidth": 1 }, { "location": { - "x": -24.6, - "y": 39.400000000000006 + "x": 0.0, + "y": 20.0 }, - "name": "YC_out", + "name": "IN", "logicWidth": 1 }, { "location": { - "x": -34.6, - "y": -0.6000000000000001 + "x": 61.0, + "y": 0.0 }, - "name": "YOVR_out", + "name": "_OEY", "logicWidth": 1 }, { @@ -189,44 +181,28 @@ mograsim version: 0.1.3 }, { "location": { - "x": -34.6, - "y": 24.400000000000002 - }, - "name": "YZ_out", - "logicWidth": 1 - }, - { - "location": { - "x": -24.6, - "y": 4.4 + "x": 0.0, + "y": 10.0 }, "name": "IZ", "logicWidth": 1 }, { "location": { - "x": -24.6, - "y": -0.6000000000000001 + "x": 120.0, + "y": 60.0 }, "name": "CT", "logicWidth": 1 }, { "location": { - "x": -24.6, - "y": 34.4 + "x": 0.0, + "y": 33.0 }, "name": "_CEmu", "logicWidth": 1 }, - { - "location": { - "x": -34.6, - "y": 19.400000000000002 - }, - "name": "YN_out", - "logicWidth": 1 - }, { "location": { "x": -24.6, @@ -237,18 +213,18 @@ mograsim version: 0.1.3 }, { "location": { - "x": -34.6, - "y": 4.4 + "x": 120.0, + "y": 25.0 }, - "name": "_EC", + "name": "YOVR", "logicWidth": 1 }, { "location": { - "x": -14.600000000000001, - "y": 39.400000000000006 + "x": 0.0, + "y": 38.0 }, - "name": "YC_in", + "name": "_EC", "logicWidth": 1 } ], @@ -257,299 +233,2202 @@ mograsim version: 0.1.3 "subComps": [ { "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#14", "pos": { - "x": 190.0, - "y": 10.0 + "x": 520.0, + "y": 190.0 }, - "params": 1 + "params": 4 }, { - "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904RegCTInstrDecode", - "name": "GUIAm2904RegCTInstrDecode#0", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { - "x": 35.0, - "y": 80.0 - } + "x": 330.0, + "y": 125.0 + }, + "params": 1 }, { - "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", - "name": "GUISplitter#0", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { - "x": 5.0, - "y": 90.0 + "x": 255.0, + "y": 255.0 }, - "params": 13 + "params": 4 }, { - "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", - "name": "GUIMerger#1", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 20.0, - "y": 150.0 + "x": 255.0, + "y": 265.0 }, - "params": 5 + "params": 4 }, { - "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", - "name": "GUIMerger#0", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 20.0, - "y": 90.0 + "x": 180.0, + "y": 135.0 }, - "params": 6 + "params": 4 }, { - "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904ShiftInstrDecode", - "name": "GUIAm2904ShiftInstrDecode#0", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 40.0, - "y": 230.0 - } + "x": 165.0, + "y": 150.0 + }, + "params": 1 }, { - "id": "class:net.mograsim.logic.model.am2900.components.GUIdff4_finewe", - "name": "GUIdff4_finewe#0", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 195.0, - "y": 5.0 - } + "x": 335.0, + "y": 270.0 + }, + "params": 4 }, { - "id": "class:net.mograsim.logic.model.am2900.components.GUIdff4_finewe", - "name": "GUIdff4_finewe#1", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 195.0, - "y": 110.0 - } - } - ], - "innerWires": [ - { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O10" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "I4" + "x": 295.0, + "y": 120.0 }, - "name": "unnamedWire#14", - "path": [] + "params": 4 }, { - "pin1": { - "compName": "GUIMerger#1", - "pinName": "I3" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O9" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 530.0, + "y": 100.0 }, - "name": "unnamedWire#13", - "path": [] + "params": 4 }, { - "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "I" - }, - "pin2": { - "compName": "GUIMerger#1", - "pinName": "O" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 150.0, + "y": 160.0 }, - "name": "unnamedWire#16", - "path": [ - { - "x": 35.0, - "y": 265.0 - }, - { - "x": 35.0, - "y": 175.0 - } - ] + "params": 1 }, { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" - }, - "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "I" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 215.0, + "y": 180.0 }, - "name": "unnamedWire#15", - "path": [] + "params": 1 }, { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I5" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O5" + "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer", + "name": "GUITriStateBuffer#0", + "pos": { + "x": 530.0, + "y": 170.0 }, - "name": "unnamedWire#9", - "path": [] + "params": { + "logicWidth": 4, + "orientation": "RIGHT" + } }, { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O4" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I4" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 120.0, + "y": 15.0 }, - "name": "unnamedWire#8", - "path": [] + "params": 1 }, { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I3" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 215.0, + "y": 200.0 }, - "name": "unnamedWire#7", - "path": [] + "params": 1 }, { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O2" - }, - "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 215.0, + "y": 160.0 }, - "name": "unnamedWire#6", - "path": [] + "params": 1 }, { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "C" - }, - "name": "unnamedWire#1", - "path": [] + "id": "GUIAm2904muSR", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 270.0, + "y": 250.0 + } }, { - "pin1": { - "compName": "_submodelinterface", - "pinName": "C" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 195.0, + "y": 55.0 }, - "name": "unnamedWire#0", - "path": [ - { - "x": 5.0, - "y": 25.0 - }, - { - "x": 5.0, - "y": 10.0 - } - ] + "params": 1 }, { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" - }, - "pin2": { - "compName": "GUISplitter#0", - "pinName": "O1" - }, - "name": "unnamedWire#5", - "path": [] + "id": "GUIAm2904MSR", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 225.0, + "y": 95.0 + } }, { - "pin1": { - "compName": "GUISplitter#0", - "pinName": "O6" + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#12", + "pos": { + "x": 195.0, + "y": 35.0 + }, + "params": 1 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 470.0, + "y": 160.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#11", + "pos": { + "x": 195.0, + "y": 15.0 + }, + "params": 1 + }, + { + "id": "GUIand", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 370.0, + "y": 130.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", + "pos": { + "x": 415.0, + "y": 210.0 + } + }, + { + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#4", + "pos": { + "x": 135.0, + "y": 40.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#3", + "pos": { + "x": 510.0, + "y": 165.0 + }, + "params": 4 + }, + { + "id": "GUImux3", + "name": "DeserializedSubmodelComponent#7", + "pos": { + "x": 300.0, + "y": 310.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#2", + "pos": { + "x": 15.0, + "y": 65.0 + }, + "params": 4 + }, + { + "id": "GUIAm2904TestLogic", + "name": "DeserializedSubmodelComponent#6", + "pos": { + "x": 225.0, + "y": 340.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#1", + "pos": { + "x": 25.0, + "y": 305.0 + }, + "params": 5 + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#9", + "pos": { + "x": 480.0, + "y": 305.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 25.0, + "y": 245.0 + }, + "params": 6 + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#8", + "pos": { + "x": 540.0, + "y": 295.0 + } + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#10", + "pos": { + "x": 485.0, + "y": 355.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#10", + "pos": { + "x": 340.0, + "y": 120.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#9", + "pos": { + "x": 205.0, + "y": 10.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#8", + "pos": { + "x": 205.0, + "y": 30.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#5", + "pos": { + "x": 225.0, + "y": 175.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#4", + "pos": { + "x": 225.0, + "y": 155.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#7", + "pos": { + "x": 205.0, + "y": 50.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#6", + "pos": { + "x": 205.0, + "y": 70.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 130.0, + "y": 5.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 190.0, + "y": 145.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#3", + "pos": { + "x": 225.0, + "y": 215.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#2", + "pos": { + "x": 225.0, + "y": 195.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#4", + "pos": { + "x": 395.0, + "y": 225.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#3", + "pos": { + "x": 450.0, + "y": 175.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 395.0, + "y": 195.0 + }, + "params": 2 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#1", + "pos": { + "x": 555.0, + "y": 80.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#8", + "pos": { + "x": 445.0, + "y": 370.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#7", + "pos": { + "x": 445.0, + "y": 330.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#6", + "pos": { + "x": 285.0, + "y": 320.0 + }, + "params": 3 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#5", + "pos": { + "x": 395.0, + "y": 265.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 10.0, + "y": 245.0 + }, + "params": 13 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904RegCTInstrDecode", + "name": "GUIAm2904RegCTInstrDecode#0", + "pos": { + "x": 50.0, + "y": 230.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904ShiftInstrDecode", + "name": "GUIAm2904ShiftInstrDecode#0", + "pos": { + "x": 50.0, + "y": 360.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#36", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_CEmu" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#4", + "pinName": "A" + }, + "name": "unnamedWire#37", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "A" + }, + "name": "unnamedWire#39", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" + }, + "name": "unnamedWire#110", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#111", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y111" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I111" + }, + "name": "unnamedWire#114", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I110" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y110" + }, + "name": "unnamedWire#115", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "pin2": { + "compName": "GUITriStateBuffer#0", + "pinName": "IN" + }, + "name": "unnamedWire#112", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I" + }, + "name": "unnamedWire#113", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y011" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I011" + }, + "name": "unnamedWire#118", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y010" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I010" + }, + "name": "unnamedWire#119", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#41", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y101" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I101" + }, + "name": "unnamedWire#116", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#40", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I100" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y100" + }, + "name": "unnamedWire#117", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EOVR" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#42", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EC" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "Y" + }, + "name": "unnamedWire#45", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EN" + }, + "name": "unnamedWire#44", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#4", + "pinName": "B" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEZ" + }, + "name": "unnamedWire#47", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#4", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EZ" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O0" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "YZ" + }, + "name": "unnamedWire#49", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEC" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "B" + }, + "name": "unnamedWire#48", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_4" + }, + "name": "unnamedWire#100", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_2" + }, + "name": "unnamedWire#103", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#4", + "pinName": "O2" + }, + "name": "unnamedWire#104", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#101", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" + }, + "name": "unnamedWire#102", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "YC" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "name": "unnamedWire#50", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" + }, + "name": "unnamedWire#107", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" + }, + "name": "unnamedWire#108", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "YOVR" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "name": "unnamedWire#52", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" + }, + "name": "unnamedWire#105", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "YN" + }, + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#106", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "name": "unnamedWire#54", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#53", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#56", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#5", + "pinName": "O2" + }, + "name": "unnamedWire#109", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#55", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O10" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "I4" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#1", + "pinName": "I3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O9" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "I" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "O" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 40.0, + "y": 395.0 + }, + { + "x": 40.0, + "y": 325.0 + } + ] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "O" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "I" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IN" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I2" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 5.0, + "y": 100.0 + }, + { + "x": 5.0, + "y": 85.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IOVR" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I3" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 10.0, + "y": 125.0 + }, + { + "x": 10.0, + "y": 95.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IC" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I1" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_CINV" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "CINV" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IZ" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I0" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 5.0, + "y": 50.0 + }, + { + "x": 5.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#2", + "pinName": "O" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "C" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "mu" + }, + "name": "unnamedWire#28", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "C" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "MC_EN" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "COVD_EN" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "MSR_MUX" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "MUX" + }, + "name": "unnamedWire#31", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#33", + "path": [] + }, + { + "pin1": { + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#79", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#10", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "name": "unnamedWire#81", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#10", + "pinName": "A" + }, + "name": "unnamedWire#80", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#10", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" + }, + "name": "unnamedWire#83", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_OEY" + }, + "name": "unnamedWire#82", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_1" + }, + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUITriStateBuffer#0", + "pinName": "EN" + }, + "name": "unnamedWire#84", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_3" + }, + "name": "unnamedWire#87", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y2" + }, + "name": "unnamedWire#86", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIMerger#3", + "pinName": "I0" + }, + "name": "unnamedWire#89", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" + }, + "name": "unnamedWire#88", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I5" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O5" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O4" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I4" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I2" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#3", + "pinName": "I1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" + }, + "name": "unnamedWire#90", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#3", + "pinName": "I3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" + }, + "name": "unnamedWire#92", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIMerger#3", + "pinName": "I2" + }, + "name": "unnamedWire#91", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_MUX" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "MUX" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "Y_MUX" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "I" + }, + "name": "unnamedWire#94", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 25.0 + }, + { + "x": 5.0, + "y": 10.0 + } + ] + }, + { + "pin1": { + "compName": "GUIMerger#3", + "pinName": "O" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#93", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" + }, + "name": "unnamedWire#96", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "S0" + }, + "name": "unnamedWire#95", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O6" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "I0" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "O1" + }, + "name": "unnamedWire#98", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I0" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_1" + }, + "name": "unnamedWire#97", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O8" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "I2" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#1", + "pinName": "I1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O7" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_OVRRET" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "OVRRET" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "O2" + }, + "name": "unnamedWire#99", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEN" + }, + "name": "unnamedWire#58", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_CEM" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#57", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEOVR" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#59", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I" + }, + "name": "unnamedWire#132", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#7", + "pinName": "I" + }, + "name": "unnamedWire#133", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_INV" + }, + "name": "unnamedWire#130", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#10", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I1" + }, + "name": "unnamedWire#131", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "M" }, - "name": "unnamedWire#10", + "name": "unnamedWire#136", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#8", + "pinName": "I" + }, + "name": "unnamedWire#137", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#7", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#10", + "pinName": "A" + }, + "name": "unnamedWire#134", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#8", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#10", + "pinName": "B" + }, + "name": "unnamedWire#135", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#7", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#61", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#6", + "pinName": "A" + }, + "name": "unnamedWire#60", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#9", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#63", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "OEN" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" + }, + "name": "unnamedWire#138", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "A" + }, + "name": "unnamedWire#62", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#65", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#64", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EN" + }, + "pin2": { + "compName": "GUINandGate#7", + "pinName": "Y" + }, + "name": "unnamedWire#67", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#6", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EOVR" + }, + "name": "unnamedWire#66", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#9", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EZ" + }, + "name": "unnamedWire#69", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EC" + }, + "name": "unnamedWire#68", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y000" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I000" + }, + "name": "unnamedWire#121", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "CT" + }, + "name": "unnamedWire#122", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I001" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y001" + }, + "name": "unnamedWire#120", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#6", "pinName": "O0" }, "pin2": { - "compName": "GUIMerger#0", + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S0" + }, + "name": "unnamedWire#125", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S1" + }, + "pin2": { + "compName": "GUISplitter#6", + "pinName": "O1" + }, + "name": "unnamedWire#126", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#70", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" + }, + "name": "unnamedWire#123", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#6", + "pinName": "I" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_MUX" + }, + "name": "unnamedWire#124", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "B" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y2" + }, + "name": "unnamedWire#72", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#9", "pinName": "I0" }, - "name": "unnamedWire#4", + "name": "unnamedWire#129", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUINandGate#9", + "pinName": "B" + }, + "name": "unnamedWire#71", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUINandGate#6", + "pinName": "B" + }, + "name": "unnamedWire#74", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#6", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S2" + }, + "name": "unnamedWire#127", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUINandGate#7", + "pinName": "B" + }, + "name": "unnamedWire#73", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_EXP" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "S0" + }, + "name": "unnamedWire#128", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I" + "pinName": "_EC" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A2" }, - "name": "unnamedWire#3", + "name": "unnamedWire#76", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O8" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A1" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I2" + "compName": "_submodelinterface", + "pinName": "_EZ" }, - "name": "unnamedWire#12", + "name": "unnamedWire#75", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "GUIdff4_finewe#1", - "pinName": "C" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A4" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 190.0, - "y": 115.0 - } - ] + "name": "unnamedWire#78", + "path": [] }, { "pin1": { - "compName": "GUIMerger#1", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A3" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O7" + "compName": "_submodelinterface", + "pinName": "_EN" }, - "name": "unnamedWire#11", + "name": "unnamedWire#77", "path": [] } ] diff --git a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json index ff3abac9..26928e50 100644 --- a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json +++ b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json @@ -1,36 +1,36 @@ mograsim version: 0.1.3 { - "width": 29.0, - "height": 45.0, + "width": 60.0, + "height": 90.0, "interfacePins": [ { "location": { - "x": 29.0, - "y": 30.0 + "x": 60.0, + "y": 60.0 }, "name": "Y101", "logicWidth": 1 }, { "location": { - "x": 29.0, - "y": 10.0 + "x": 60.0, + "y": 20.0 }, "name": "Y001", "logicWidth": 1 }, { "location": { - "x": 29.0, - "y": 25.0 + "x": 60.0, + "y": 50.0 }, "name": "Y100", "logicWidth": 1 }, { "location": { - "x": 29.0, - "y": 40.0 + "x": 60.0, + "y": 80.0 }, "name": "Y111", "logicWidth": 1 @@ -38,139 +38,139 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 22.0 + "y": 50.0 }, "name": "I", "logicWidth": 4 }, { "location": { - "x": 29.0, - "y": 20.0 + "x": 60.0, + "y": 40.0 }, "name": "Y011", "logicWidth": 1 }, { "location": { - "x": 29.0, - "y": 5.0 + "x": 60.0, + "y": 10.0 }, "name": "Y000", "logicWidth": 1 }, { "location": { - "x": 29.0, - "y": 35.0 + "x": 60.0, + "y": 70.0 }, "name": "Y110", "logicWidth": 1 }, { "location": { - "x": 29.0, - "y": 15.0 + "x": 60.0, + "y": 30.0 }, "name": "Y010", "logicWidth": 1 } ], "submodel": { - "innerScale": 0.2, + "innerScale": 0.4, "subComps": [ { - "id": "GUINandGate", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", "name": "GUINandGate#1", "pos": { - "x": 40.0, + "x": 45.0, "y": 50.0 }, "params": 1 }, { - "id": "GUINandGate", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", "name": "GUINandGate#0", "pos": { - "x": 80.0, + "x": 85.0, "y": 20.0 }, "params": 1 }, { - "id": "GUINandGate", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", "name": "GUINandGate#3", "pos": { - "x": 40.0, + "x": 45.0, "y": 105.0 }, "params": 1 }, { - "id": "GUINandGate", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", "name": "GUINandGate#2", "pos": { - "x": 115.0, + "x": 120.0, "y": 15.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#1", "pos": { - "x": 29.0, + "x": 34.0, "y": 99.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#0", "pos": { - "x": 24.0, - "y": 114.0 + "x": 29.0, + "y": 129.0 }, "params": 1 }, { - "id": "GUISplitter", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", "name": "GUISplitter#0", "pos": { "x": 5.0, - "y": 95.0 + "y": 110.0 }, "params": 4 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#3", "pos": { - "x": 74.0, + "x": 79.0, "y": 24.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#2", "pos": { - "x": 74.0, + "x": 79.0, "y": 34.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#5", "pos": { - "x": 19.0, - "y": 109.0 + "x": 24.0, + "y": 119.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#4", "pos": { "x": 19.0, @@ -179,55 +179,55 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#7", "pos": { - "x": 69.0, + "x": 74.0, "y": 59.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#6", "pos": { - "x": 34.0, + "x": 39.0, "y": 64.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#9", "pos": { - "x": 19.0, + "x": 24.0, "y": 149.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#8", "pos": { - "x": 69.0, + "x": 74.0, "y": 119.0 }, "params": 1 }, { - "id": "GUINandGate", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", "name": "GUINandGate#5", "pos": { - "x": 75.0, + "x": 80.0, "y": 165.0 }, "params": 1 }, { - "id": "WireCrossPoint", + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", "name": "WireCrossPoint#10", "pos": { - "x": 34.0, + "x": 39.0, "y": 109.0 }, "params": 1 @@ -236,15 +236,15 @@ mograsim version: 0.1.3 "id": "GUIxor", "name": "DeserializedSubmodelComponent#0", "pos": { - "x": 35.0, + "x": 40.0, "y": 20.0 } }, { - "id": "GUINandGate", + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", "name": "GUINandGate#4", "pos": { - "x": 75.0, + "x": 80.0, "y": 115.0 }, "params": 1 @@ -263,15 +263,11 @@ mograsim version: 0.1.3 "name": "unnamedWire#14", "path": [ { - "x": 70.0, - "y": 45.0 - }, - { - "x": 110.0, - "y": 45.0 + "x": 115.0, + "y": 60.0 }, { - "x": 110.0, + "x": 115.0, "y": 30.0 } ] @@ -312,7 +308,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#15", "path": [ { - "x": 75.0, + "x": 80.0, "y": 50.0 } ] @@ -339,7 +335,12 @@ mograsim version: 0.1.3 "pinName": "" }, "name": "unnamedWire#17", - "path": [] + "path": [ + { + "x": 25.0, + "y": 110.0 + } + ] }, { "pin1": { @@ -351,12 +352,7 @@ mograsim version: 0.1.3 "pinName": "" }, "name": "unnamedWire#19", - "path": [ - { - "x": 20.0, - "y": 105.0 - } - ] + "path": [] }, { "pin1": { @@ -371,7 +367,7 @@ mograsim version: 0.1.3 "path": [ { "x": 20.0, - "y": 95.0 + "y": 110.0 } ] }, @@ -435,11 +431,11 @@ mograsim version: 0.1.3 "name": "unnamedWire#24", "path": [ { - "x": 65.0, + "x": 70.0, "y": 115.0 }, { - "x": 65.0, + "x": 70.0, "y": 130.0 } ] @@ -576,7 +572,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#30", "path": [ { - "x": 70.0, + "x": 75.0, "y": 170.0 } ] @@ -593,11 +589,11 @@ mograsim version: 0.1.3 "name": "unnamedWire#10", "path": [ { - "x": 105.0, + "x": 110.0, "y": 20.0 }, { - "x": 105.0, + "x": 110.0, "y": 30.0 } ] @@ -626,7 +622,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#32", "path": [ { - "x": 20.0, + "x": 25.0, "y": 180.0 } ] @@ -643,7 +639,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#4", "path": [ { - "x": 30.0, + "x": 35.0, "y": 35.0 } ] @@ -660,7 +656,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#31", "path": [ { - "x": 35.0, + "x": 40.0, "y": 120.0 } ] @@ -677,7 +673,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#3", "path": [ { - "x": 25.0, + "x": 30.0, "y": 25.0 } ] @@ -694,7 +690,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#12", "path": [ { - "x": 35.0, + "x": 40.0, "y": 55.0 } ] @@ -711,8 +707,8 @@ mograsim version: 0.1.3 "name": "unnamedWire#2", "path": [ { - "x": 30.0, - "y": 125.0 + "x": 35.0, + "y": 140.0 } ] }, @@ -745,7 +741,7 @@ mograsim version: 0.1.3 "name": "unnamedWire#33", "path": [ { - "x": 25.0, + "x": 30.0, "y": 200.0 } ] diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java index b9e7b2b8..b906d5b4 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904RegCTInstrDecode.java @@ -32,10 +32,10 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp addPin(new Pin(this, "muSR_MUX", 2, 80, 10), Usage.OUTPUT, Position.LEFT); addPin(new Pin(this, "muSR_OVRRET", 1, 80, 20), Usage.OUTPUT, Position.LEFT); addPin(new Pin(this, "muSR_CINV", 1, 80, 30), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "muSR__WEZ", 1, 80, 40), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "muSR__WEC", 1, 80, 50), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "muSR__WEN", 1, 80, 60), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "muSR__WEOVR", 1, 80, 70), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "muSR_WEZ", 1, 80, 40), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "muSR_WEC", 1, 80, 50), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "muSR_WEN", 1, 80, 60), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "muSR_WEOVR", 1, 80, 70), Usage.OUTPUT, Position.LEFT); // MSR MUX: // 000: 0 // 001: 1 @@ -45,13 +45,15 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp // 101: I, invert C // 110: Swap OVR and C // 111: _M - addPin(new Pin(this, "MSR_MUX", 3, 40, 0), Usage.OUTPUT, Position.BOTTOM); + addPin(new Pin(this, "MSR_MUX", 3, 20, 0), Usage.OUTPUT, Position.BOTTOM); + // TODO when is this HIGH? + addPin(new Pin(this, "OEN", 1, 60, 0), Usage.OUTPUT, Position.BOTTOM); // CT SRC MUX: // 00: mu // 01: mu // 10: M // 11: I - addPin(new Pin(this, "CT_SRC_MUX", 2, 10, 80), Usage.OUTPUT, Position.TOP); + addPin(new Pin(this, "Y_MUX", 2, 10, 80), Usage.OUTPUT, Position.TOP); // CT MUX: // see Am2900 Family Data Book, Am2904, Table 4 (CT_MUX2-0 = I3-1) addPin(new Pin(this, "CT_MUX", 3, 30, 80), Usage.OUTPUT, Position.TOP); @@ -91,110 +93,110 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 1: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 3: readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 6: case 7: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ONE); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 8: readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ONE); - readWriteEnds.get("muSR__WEN").feedSignals(ONE); - readWriteEnds.get("muSR__WEOVR").feedSignals(ONE); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ZERO); + readWriteEnds.get("muSR_WEN").feedSignals(ZERO); + readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 9: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ONE); - readWriteEnds.get("muSR__WEN").feedSignals(ONE); - readWriteEnds.get("muSR__WEOVR").feedSignals(ONE); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ZERO); + readWriteEnds.get("muSR_WEN").feedSignals(ZERO); + readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 10: readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ONE); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ONE); - readWriteEnds.get("muSR__WEOVR").feedSignals(ONE); + readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ZERO); + readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 11: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ONE); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ONE); - readWriteEnds.get("muSR__WEOVR").feedSignals(ONE); + readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ZERO); + readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 12: readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ONE); - readWriteEnds.get("muSR__WEC").feedSignals(ONE); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ONE); + readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); + readWriteEnds.get("muSR_WEC").feedSignals(ZERO); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 13: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ONE); - readWriteEnds.get("muSR__WEC").feedSignals(ONE); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ONE); + readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); + readWriteEnds.get("muSR_WEC").feedSignals(ZERO); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO); break; case 14: readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ONE); - readWriteEnds.get("muSR__WEC").feedSignals(ONE); - readWriteEnds.get("muSR__WEN").feedSignals(ONE); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); + readWriteEnds.get("muSR_WEC").feedSignals(ZERO); + readWriteEnds.get("muSR_WEN").feedSignals(ZERO); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 15: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ONE); - readWriteEnds.get("muSR__WEC").feedSignals(ONE); - readWriteEnds.get("muSR__WEN").feedSignals(ONE); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ZERO); + readWriteEnds.get("muSR_WEC").feedSignals(ZERO); + readWriteEnds.get("muSR_WEN").feedSignals(ZERO); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; case 24: case 25: @@ -205,19 +207,19 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("muSR_MUX").feedSignals(ONE, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ONE); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); break; default: readWriteEnds.get("muSR_MUX").feedSignals(ONE, ONE); readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO); readWriteEnds.get("muSR_CINV").feedSignals(ZERO); - readWriteEnds.get("muSR__WEZ").feedSignals(ZERO); - readWriteEnds.get("muSR__WEC").feedSignals(ZERO); - readWriteEnds.get("muSR__WEN").feedSignals(ZERO); - readWriteEnds.get("muSR__WEOVR").feedSignals(ZERO); + readWriteEnds.get("muSR_WEZ").feedSignals(ONE); + readWriteEnds.get("muSR_WEC").feedSignals(ONE); + readWriteEnds.get("muSR_WEN").feedSignals(ONE); + readWriteEnds.get("muSR_WEOVR").feedSignals(ONE); } switch (IAsInt) { @@ -253,7 +255,7 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ONE); break; } - readWriteEnds.get("CT_SRC_MUX").feedSignals(IBits[0], IBits[1]); + readWriteEnds.get("Y_MUX").feedSignals(IBits[0], IBits[1]); readWriteEnds.get("CT_INV").feedSignals(IBits[5]); readWriteEnds.get("CT_MUX").feedSignals(IBits[2], IBits[3], IBits[4]); readWriteEnds.get("CT_EXP").feedSignals((IAsInt & 0b1110) == 0b1110 ? ONE : ZERO); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GUIComponentTestbench.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GUIComponentTestbench.java index 3bef1a07..e5b24f1c 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GUIComponentTestbench.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/GUIComponentTestbench.java @@ -25,7 +25,7 @@ public class GUIComponentTestbench @SuppressWarnings("unused") // for GUIWires being created public static void createTestbench(ViewModelModifiable model) { - GUIComponent comp = IndirectGUIComponentCreator.createComponent(model, "file:components/am2904/GUIAm2904TestLogic.json"); + GUIComponent comp = IndirectGUIComponentCreator.createComponent(model, "file:components/am2904/GUIAm2904.json"); // guess which pins are outputs and which are inputs // TODO this code exists four times... but it seems too "hacky" to put it in a helper class diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json b/net.mograsim.logic.model.editor/components/GUIdff4.json similarity index 99% rename from net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json rename to net.mograsim.logic.model.editor/components/GUIdff4.json index 4f3bc2d7..4064f93e 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json +++ b/net.mograsim.logic.model.editor/components/GUIdff4.json @@ -655,7 +655,7 @@ mograsim version: 0.1.3 }, "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { - "centerText": "GUIAm2901QReg", + "centerText": "D flip flop\n4 bit", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, diff --git a/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json b/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json new file mode 100644 index 00000000..cb697d23 --- /dev/null +++ b/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json @@ -0,0 +1,725 @@ +mograsim version: 0.1.3 +{ + "width": 35.0, + "height": 60.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 55.0 + }, + "name": "D4", + "logicWidth": 1 + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "Q1", + "logicWidth": 1 + }, + { + "location": { + "x": 35.0, + "y": 15.0 + }, + "name": "Q2", + "logicWidth": 1 + }, + { + "location": { + "x": 35.0, + "y": 25.0 + }, + "name": "Q3", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 5.0 + }, + "name": "C", + "logicWidth": 1 + }, + { + "location": { + "x": 35.0, + "y": 35.0 + }, + "name": "Q4", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 25.0 + }, + "name": "D1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 15.0 + }, + "name": "_WE", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 35.0 + }, + "name": "D2", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 45.0 + }, + "name": "D3", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.2, + "subComps": [ + { + "id": "GUIdff", + "name": "GUIdff#1", + "pos": { + "x": 115.0, + "y": 70.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#0", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 104.0, + "y": 74.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 104.0, + "y": 24.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 169.0, + "y": 24.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 104.0, + "y": 124.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 159.0, + "y": 124.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 164.0, + "y": 74.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 154.0, + "y": 174.0 + }, + "params": 1 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 55.0, + "y": 70.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#3", + "pos": { + "x": 115.0, + "y": 170.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#2", + "pos": { + "x": 115.0, + "y": 120.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Q1" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff#0", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#1", + "pinName": "Q" + }, + "name": "unnamedWire#16", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "Q2" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff#2", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 25.0, + "y": 275.0 + }, + { + "x": 25.0, + "y": 115.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Q3" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#3", + "pinName": "Q" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Q4" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIdff#3", + "pinName": "D" + }, + "name": "unnamedWire#23", + "path": [ + { + "x": 95.0, + "y": 105.0 + }, + { + "x": 95.0, + "y": 185.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIdff#2", + "pinName": "D" + }, + "name": "unnamedWire#22", + "path": [ + { + "x": 100.0, + "y": 95.0 + }, + { + "x": 100.0, + "y": 135.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#25", + "path": [ + { + "x": 165.0, + "y": 210.0 + }, + { + "x": 45.0, + "y": 210.0 + }, + { + "x": 45.0, + "y": 135.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "name": "unnamedWire#24", + "path": [ + { + "x": 170.0, + "y": 205.0 + }, + { + "x": 50.0, + "y": 205.0 + }, + { + "x": 50.0, + "y": 125.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "name": "unnamedWire#26", + "path": [ + { + "x": 160.0, + "y": 215.0 + }, + { + "x": 40.0, + "y": 215.0 + }, + { + "x": 40.0, + "y": 145.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#28", + "path": [ + { + "x": 155.0, + "y": 220.0 + }, + { + "x": 35.0, + "y": 220.0 + }, + { + "x": 35.0, + "y": 155.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_WE" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#3", + "pinName": "C" + }, + "name": "unnamedWire#8", + "path": [ + { + "x": 105.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#2", + "pinName": "C" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIdff#0", + "pinName": "D" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 100.0, + "y": 75.0 + }, + { + "x": 100.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#1", + "pinName": "C" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 10.0, + "y": 125.0 + }, + { + "x": 10.0, + "y": 85.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#0", + "pinName": "C" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 20.0, + "y": 225.0 + }, + { + "x": 20.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 15.0, + "y": 175.0 + }, + { + "x": 15.0, + "y": 95.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIdff#1", + "pinName": "D" + }, + "name": "unnamedWire#2", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "D flip flop\n4 bit", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q1": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#0", + "subStateID": "q" + } + }, + "q2": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#1", + "subStateID": "q" + } + }, + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "q1", + "q2", + "q3", + "q4" + ], + "vectorPartLengthes": [ + 1, + 1, + 1, + 1 + ] + } + }, + "q3": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#2", + "subStateID": "q" + } + }, + "q4": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#3", + "subStateID": "q" + } + } + } + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUImux2.json b/net.mograsim.logic.model.editor/components/GUImux2.json new file mode 100644 index 00000000..2542ce0a --- /dev/null +++ b/net.mograsim.logic.model.editor/components/GUImux2.json @@ -0,0 +1,447 @@ +mograsim version: 0.1.3 +{ + "width": 70.0, + "height": 70.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "I00", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "I11", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I10", + "logicWidth": 1 + }, + { + "location": { + "x": 70.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "I01", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "S0", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "S1", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 30.0, + "y": 15.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 29.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 24.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 54.0, + "y": 39.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 24.0, + "y": 49.0 + }, + "params": 1 + }, + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 60.0, + "y": 100.0 + } + }, + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 60.0, + "y": 35.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 115.0, + "y": 20.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S1" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S2" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 25.0, + "y": 115.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 55.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S1" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 55.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#9", + "path": [ + { + "x": 15.0, + "y": 50.0 + }, + { + "x": 15.0, + "y": 10.0 + }, + { + "x": 85.0, + "y": 10.0 + }, + { + "x": 85.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1" + }, + "name": "unnamedWire#8", + "path": [ + { + "x": 105.0, + "y": 105.0 + }, + { + "x": 105.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 105.0, + "y": 40.0 + }, + { + "x": 105.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 20.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I11" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I2" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 20.0, + "y": 150.0 + }, + { + "x": 20.0, + "y": 135.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I10" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I01" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I2" + }, + "name": "unnamedWire#3", + "path": [ + { + "x": 40.0, + "y": 100.0 + }, + { + "x": 40.0, + "y": 70.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I00" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 35.0, + "y": 75.0 + }, + { + "x": 35.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S2" + }, + "name": "unnamedWire#11", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "GUImux2", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUImux2_4.json b/net.mograsim.logic.model.editor/components/GUImux2_4.json new file mode 100644 index 00000000..f9648eee --- /dev/null +++ b/net.mograsim.logic.model.editor/components/GUImux2_4.json @@ -0,0 +1,692 @@ +mograsim version: 0.1.3 +{ + "width": 62.0, + "height": 90.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "I00", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "I11", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I10", + "logicWidth": 4 + }, + { + "location": { + "x": 62.0, + "y": 16.0 + }, + "name": "Y", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "I01", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "S0", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "S1", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 19.0, + "y": 34.0 + }, + "params": 1 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 25.0, + "y": 45.0 + }, + "params": 4 + }, + { + "id": "GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 140.0, + "y": 25.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#3", + "pos": { + "x": 25.0, + "y": 180.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 25.0, + "y": 140.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#1", + "pos": { + "x": 25.0, + "y": 85.0 + }, + "params": 4 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 40.0, + "y": 125.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 40.0, + "y": 30.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 100.0, + "y": 20.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#36", + "path": [ + { + "x": 15.0, + "y": 50.0 + }, + { + "x": 15.0, + "y": 20.0 + }, + { + "x": 60.0, + "y": 20.0 + }, + { + "x": 60.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 20.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S0" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 20.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I00" + }, + "name": "unnamedWire#19", + "path": [ + { + "x": 15.0, + "y": 60.0 + }, + { + "x": 15.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "I" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I10" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 15.0, + "y": 155.0 + }, + { + "x": 15.0, + "y": 125.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I01" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_1" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I11" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "I" + }, + "name": "unnamedWire#22", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_3" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y1" + }, + "name": "unnamedWire#27", + "path": [ + { + "x": 80.0, + "y": 75.0 + }, + { + "x": 80.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y3" + }, + "name": "unnamedWire#29", + "path": [ + { + "x": 90.0, + "y": 95.0 + }, + { + "x": 90.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_2" + }, + "name": "unnamedWire#28", + "path": [ + { + "x": 85.0, + "y": 140.0 + }, + { + "x": 85.0, + "y": 85.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_4" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "O2" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "O1" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_4" + }, + "name": "unnamedWire#30", + "path": [ + { + "x": 95.0, + "y": 160.0 + }, + { + "x": 95.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_2" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O0" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y1" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "O3" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "O" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#31", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_1" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I1" + }, + "name": "unnamedWire#33", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "GUImux1_4", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUImux3.json b/net.mograsim.logic.model.editor/components/GUImux3.json new file mode 100644 index 00000000..69181cde --- /dev/null +++ b/net.mograsim.logic.model.editor/components/GUImux3.json @@ -0,0 +1,479 @@ +mograsim version: 0.1.3 +{ + "width": 80.0, + "height": 120.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "I000", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 70.0 + }, + "name": "I011", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 100.0 + }, + "name": "I110", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 60.0 + }, + "name": "I010", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 90.0 + }, + "name": "I101", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 80.0 + }, + "name": "I100", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 110.0 + }, + "name": "I111", + "logicWidth": 1 + }, + { + "location": { + "x": 80.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I001", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "S0", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "S1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "S2", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 94.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 19.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 35.0, + "y": 185.0 + } + }, + { + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 35.0, + "y": 85.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 125.0, + "y": 20.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I111" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I11" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 15.0, + "y": 275.0 + }, + { + "x": 15.0, + "y": 245.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I10" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I110" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 10.0, + "y": 235.0 + }, + { + "x": 10.0, + "y": 250.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 110.0, + "y": 95.0 + }, + { + "x": 110.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 115.0, + "y": 195.0 + }, + { + "x": 115.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S2" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 70.0, + "y": 25.0 + }, + { + "x": 70.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I010" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I10" + }, + "name": "unnamedWire#9", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 135.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I01" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I001" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I000" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I00" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 10.0, + "y": 100.0 + }, + { + "x": 10.0, + "y": 115.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 50.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S1" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 20.0, + "y": 205.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I11" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I011" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 15.0, + "y": 145.0 + }, + { + "x": 15.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [ + { + "x": 25.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S1" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I101" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I01" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I00" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "I100" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 10.0, + "y": 215.0 + }, + { + "x": 10.0, + "y": 200.0 + } + ] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "GUImux3", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIsel1.json b/net.mograsim.logic.model.editor/components/GUIsel1.json new file mode 100644 index 00000000..26a25cfb --- /dev/null +++ b/net.mograsim.logic.model.editor/components/GUIsel1.json @@ -0,0 +1,208 @@ +mograsim version: 0.1.3 +{ + "width": 35.0, + "height": 40.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 25.0 + }, + "name": "I1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 35.0 + }, + "name": "I2", + "logicWidth": 1 + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "Y", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 5.0 + }, + "name": "S1", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 15.0 + }, + "name": "S2", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 35.0, + "y": 30.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#3", + "pos": { + "x": 60.0, + "y": 40.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#2", + "pos": { + "x": 35.0, + "y": 55.0 + }, + "params": 1 + } + ], + "innerWires": [ + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#9" + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#8" + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I2" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#7", + "path": [ + { + "x": 15.0, + "y": 87.5 + }, + { + "x": 15.0, + "y": 70.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S2" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 15.0, + "y": 37.5 + }, + { + "x": 15.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 12.5 + }, + { + "x": 25.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I1" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#5", + "path": [ + { + "x": 25.0, + "y": 62.5 + }, + { + "x": 25.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#10" + } + ] + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "GUIsel1", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default" +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json index 503d8546..02f17617 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json @@ -549,8 +549,8 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUIAm2901QReg", - "name": "GUIAm2901QReg#0", + "id": "GUIdff4", + "name": "GUIdff4#0", "pos": { "x": 90.0, "y": 2490.0 @@ -1538,7 +1538,7 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "C" }, "name": "unnamedWire#17", @@ -2123,7 +2123,7 @@ mograsim version: 0.1.3 "pinName": "Y2" }, "pin2": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "D2" }, "name": "unnamedWire#87", @@ -2135,7 +2135,7 @@ mograsim version: 0.1.3 "pinName": "Y1" }, "pin2": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "D1" }, "name": "unnamedWire#86", @@ -2147,7 +2147,7 @@ mograsim version: 0.1.3 "pinName": "Y4" }, "pin2": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "D4" }, "name": "unnamedWire#89", @@ -2159,7 +2159,7 @@ mograsim version: 0.1.3 "pinName": "Y3" }, "pin2": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "D3" }, "name": "unnamedWire#88", @@ -2327,7 +2327,7 @@ mograsim version: 0.1.3 "pinName": "QWE" }, "pin2": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "WE" }, "name": "unnamedWire#147", @@ -3003,7 +3003,7 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "Q2" }, "pin2": { @@ -3015,7 +3015,7 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "Q1" }, "pin2": { @@ -3027,7 +3027,7 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "Q4" }, "pin2": { @@ -3039,7 +3039,7 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIAm2901QReg#0", + "compName": "GUIdff4#0", "pinName": "Q3" }, "pin2": { @@ -3406,7 +3406,7 @@ mograsim version: 0.1.3 "qreg": { "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", "params": { - "delegateTarget": "GUIAm2901QReg#0" + "delegateTarget": "GUIdff4#0" } }, "regs": { diff --git a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json new file mode 100644 index 00000000..33bdddab --- /dev/null +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json @@ -0,0 +1,2450 @@ +mograsim version: 0.1.3 +{ + "width": 120.0, + "height": 94.0, + "interfacePins": [ + { + "location": { + "x": 0.0, + "y": 25.0 + }, + "name": "IOVR", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 30.0 + }, + "name": "_CEM", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 5.0 + }, + "name": "C", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 61.0 + }, + "name": "I", + "logicWidth": 13 + }, + { + "location": { + "x": 0.0, + "y": 40.0 + }, + "name": "_EN", + "logicWidth": 1 + }, + { + "location": { + "x": -14.600000000000001, + "y": -0.6000000000000001 + }, + "name": "QIOn_out", + "logicWidth": 1 + }, + { + "location": { + "x": 120.0, + "y": 17.0 + }, + "name": "YC", + "logicWidth": 1 + }, + { + "location": { + "x": -24.6, + "y": 14.4 + }, + "name": "SIOn_in", + "logicWidth": 1 + }, + { + "location": { + "x": -24.6, + "y": 24.400000000000002 + }, + "name": "C0", + "logicWidth": 1 + }, + { + "location": { + "x": -34.6, + "y": 29.400000000000002 + }, + "name": "QIO0_in", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 36.0 + }, + "name": "_EZ", + "logicWidth": 1 + }, + { + "location": { + "x": -14.600000000000001, + "y": 14.4 + }, + "name": "Cx", + "logicWidth": 1 + }, + { + "location": { + "x": 120.0, + "y": 21.0 + }, + "name": "YN", + "logicWidth": 1 + }, + { + "location": { + "x": -24.6, + "y": 19.400000000000002 + }, + "name": "SIOn_out", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 15.0 + }, + "name": "IC", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 42.0 + }, + "name": "_EOVR", + "logicWidth": 1 + }, + { + "location": { + "x": 120.0, + "y": 11.0 + }, + "name": "YZ", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 20.0 + }, + "name": "IN", + "logicWidth": 1 + }, + { + "location": { + "x": 61.0, + "y": 0.0 + }, + "name": "_OEY", + "logicWidth": 1 + }, + { + "location": { + "x": -24.6, + "y": 44.400000000000006 + }, + "name": "SIO0_in", + "logicWidth": 1 + }, + { + "location": { + "x": -24.6, + "y": 49.400000000000006 + }, + "name": "SIO0_out", + "logicWidth": 1 + }, + { + "location": { + "x": -14.600000000000001, + "y": 44.400000000000006 + }, + "name": "QIO0_out", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 10.0 + }, + "name": "IZ", + "logicWidth": 1 + }, + { + "location": { + "x": 120.0, + "y": 60.0 + }, + "name": "CT", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 33.0 + }, + "name": "_CEmu", + "logicWidth": 1 + }, + { + "location": { + "x": -24.6, + "y": 54.400000000000006 + }, + "name": "QIOn_in", + "logicWidth": 1 + }, + { + "location": { + "x": 120.0, + "y": 25.0 + }, + "name": "YOVR", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 38.0 + }, + "name": "_EC", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.2, + "subComps": [ + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#14", + "pos": { + "x": 520.0, + "y": 190.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#13", + "pos": { + "x": 330.0, + "y": 125.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#16", + "pos": { + "x": 255.0, + "y": 255.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#15", + "pos": { + "x": 255.0, + "y": 265.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 180.0, + "y": 135.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 165.0, + "y": 150.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 335.0, + "y": 270.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 295.0, + "y": 120.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 530.0, + "y": 100.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 150.0, + "y": 160.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 215.0, + "y": 180.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer", + "name": "GUITriStateBuffer#0", + "pos": { + "x": 530.0, + "y": 170.0 + }, + "params": { + "logicWidth": 4, + "orientation": "RIGHT" + } + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 120.0, + "y": 15.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 215.0, + "y": 200.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 215.0, + "y": 160.0 + }, + "params": 1 + }, + { + "id": "GUIAm2904muSR", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 270.0, + "y": 250.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 195.0, + "y": 55.0 + }, + "params": 1 + }, + { + "id": "GUIAm2904MSR", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 225.0, + "y": 95.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#12", + "pos": { + "x": 195.0, + "y": 35.0 + }, + "params": 1 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 470.0, + "y": 160.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#11", + "pos": { + "x": 195.0, + "y": 15.0 + }, + "params": 1 + }, + { + "id": "GUIand", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 370.0, + "y": 130.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", + "pos": { + "x": 415.0, + "y": 210.0 + } + }, + { + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#4", + "pos": { + "x": 135.0, + "y": 40.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#3", + "pos": { + "x": 510.0, + "y": 165.0 + }, + "params": 4 + }, + { + "id": "GUImux3", + "name": "DeserializedSubmodelComponent#7", + "pos": { + "x": 300.0, + "y": 310.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#2", + "pos": { + "x": 15.0, + "y": 65.0 + }, + "params": 4 + }, + { + "id": "GUIAm2904TestLogic", + "name": "DeserializedSubmodelComponent#6", + "pos": { + "x": 225.0, + "y": 340.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#1", + "pos": { + "x": 25.0, + "y": 305.0 + }, + "params": 5 + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#9", + "pos": { + "x": 480.0, + "y": 305.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 25.0, + "y": 245.0 + }, + "params": 6 + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#8", + "pos": { + "x": 540.0, + "y": 295.0 + } + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#10", + "pos": { + "x": 485.0, + "y": 355.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#10", + "pos": { + "x": 340.0, + "y": 120.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#9", + "pos": { + "x": 205.0, + "y": 10.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#8", + "pos": { + "x": 205.0, + "y": 30.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#5", + "pos": { + "x": 225.0, + "y": 175.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#4", + "pos": { + "x": 225.0, + "y": 155.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#7", + "pos": { + "x": 205.0, + "y": 50.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#6", + "pos": { + "x": 205.0, + "y": 70.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 130.0, + "y": 5.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 190.0, + "y": 145.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#3", + "pos": { + "x": 225.0, + "y": 215.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#2", + "pos": { + "x": 225.0, + "y": 195.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#4", + "pos": { + "x": 395.0, + "y": 225.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#3", + "pos": { + "x": 450.0, + "y": 175.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 395.0, + "y": 195.0 + }, + "params": 2 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#1", + "pos": { + "x": 555.0, + "y": 80.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#8", + "pos": { + "x": 445.0, + "y": 370.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#7", + "pos": { + "x": 445.0, + "y": 330.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#6", + "pos": { + "x": 285.0, + "y": 320.0 + }, + "params": 3 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#5", + "pos": { + "x": 395.0, + "y": 265.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 10.0, + "y": 245.0 + }, + "params": 13 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904RegCTInstrDecode", + "name": "GUIAm2904RegCTInstrDecode#0", + "pos": { + "x": 50.0, + "y": 230.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904ShiftInstrDecode", + "name": "GUIAm2904ShiftInstrDecode#0", + "pos": { + "x": 50.0, + "y": 360.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#36", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_CEmu" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#4", + "pinName": "A" + }, + "name": "unnamedWire#37", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "A" + }, + "name": "unnamedWire#39", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" + }, + "name": "unnamedWire#110", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#111", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y111" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I111" + }, + "name": "unnamedWire#114", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I110" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y110" + }, + "name": "unnamedWire#115", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "pin2": { + "compName": "GUITriStateBuffer#0", + "pinName": "IN" + }, + "name": "unnamedWire#112", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I" + }, + "name": "unnamedWire#113", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y011" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I011" + }, + "name": "unnamedWire#118", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y010" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I010" + }, + "name": "unnamedWire#119", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#41", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y101" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I101" + }, + "name": "unnamedWire#116", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#40", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I100" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y100" + }, + "name": "unnamedWire#117", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EOVR" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#42", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EC" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "Y" + }, + "name": "unnamedWire#45", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EN" + }, + "name": "unnamedWire#44", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#4", + "pinName": "B" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEZ" + }, + "name": "unnamedWire#47", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#4", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EZ" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O0" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "YZ" + }, + "name": "unnamedWire#49", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEC" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "B" + }, + "name": "unnamedWire#48", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_4" + }, + "name": "unnamedWire#100", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_2" + }, + "name": "unnamedWire#103", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#4", + "pinName": "O2" + }, + "name": "unnamedWire#104", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#101", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" + }, + "name": "unnamedWire#102", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "YC" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "name": "unnamedWire#50", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" + }, + "name": "unnamedWire#107", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#5", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" + }, + "name": "unnamedWire#108", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "YOVR" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "name": "unnamedWire#52", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" + }, + "name": "unnamedWire#105", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "YN" + }, + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#4", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#106", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "name": "unnamedWire#54", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#53", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#56", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#5", + "pinName": "O2" + }, + "name": "unnamedWire#109", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#55", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O10" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "I4" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#1", + "pinName": "I3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O9" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "I" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "O" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 40.0, + "y": 395.0 + }, + { + "x": 40.0, + "y": 325.0 + } + ] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "O" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "I" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IN" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I2" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 5.0, + "y": 100.0 + }, + { + "x": 5.0, + "y": 85.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IOVR" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I3" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 10.0, + "y": 125.0 + }, + { + "x": 10.0, + "y": 95.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IC" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I1" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_CINV" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "CINV" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IZ" + }, + "pin2": { + "compName": "GUIMerger#2", + "pinName": "I0" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 5.0, + "y": 50.0 + }, + { + "x": 5.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#2", + "pinName": "O" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "C" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "mu" + }, + "name": "unnamedWire#28", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "C" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "MC_EN" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "COVD_EN" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "MSR_MUX" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "MUX" + }, + "name": "unnamedWire#31", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#33", + "path": [] + }, + { + "pin1": { + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#79", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#10", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "name": "unnamedWire#81", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#10", + "pinName": "A" + }, + "name": "unnamedWire#80", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#10", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" + }, + "name": "unnamedWire#83", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_OEY" + }, + "name": "unnamedWire#82", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_1" + }, + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUITriStateBuffer#0", + "pinName": "EN" + }, + "name": "unnamedWire#84", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_3" + }, + "name": "unnamedWire#87", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y2" + }, + "name": "unnamedWire#86", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIMerger#3", + "pinName": "I0" + }, + "name": "unnamedWire#89", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" + }, + "name": "unnamedWire#88", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I5" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O5" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O4" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I4" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I2" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#3", + "pinName": "I1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" + }, + "name": "unnamedWire#90", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#3", + "pinName": "I3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" + }, + "name": "unnamedWire#92", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIMerger#3", + "pinName": "I2" + }, + "name": "unnamedWire#91", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_MUX" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "MUX" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "Y_MUX" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "I" + }, + "name": "unnamedWire#94", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 25.0 + }, + { + "x": 5.0, + "y": 10.0 + } + ] + }, + { + "pin1": { + "compName": "GUIMerger#3", + "pinName": "O" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#93", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" + }, + "name": "unnamedWire#96", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "S0" + }, + "name": "unnamedWire#95", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O6" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "I0" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "O1" + }, + "name": "unnamedWire#98", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I0" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_1" + }, + "name": "unnamedWire#97", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O8" + }, + "pin2": { + "compName": "GUIMerger#1", + "pinName": "I2" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#1", + "pinName": "I1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O7" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_OVRRET" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "OVRRET" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "O2" + }, + "name": "unnamedWire#99", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEN" + }, + "name": "unnamedWire#58", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_CEM" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#57", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEOVR" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#59", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I" + }, + "name": "unnamedWire#132", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#7", + "pinName": "I" + }, + "name": "unnamedWire#133", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_INV" + }, + "name": "unnamedWire#130", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#10", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I1" + }, + "name": "unnamedWire#131", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "M" + }, + "name": "unnamedWire#136", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#8", + "pinName": "I" + }, + "name": "unnamedWire#137", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#7", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#10", + "pinName": "A" + }, + "name": "unnamedWire#134", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#8", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#10", + "pinName": "B" + }, + "name": "unnamedWire#135", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#7", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#61", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#6", + "pinName": "A" + }, + "name": "unnamedWire#60", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#9", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#63", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "OEN" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" + }, + "name": "unnamedWire#138", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "A" + }, + "name": "unnamedWire#62", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#65", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#64", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EN" + }, + "pin2": { + "compName": "GUINandGate#7", + "pinName": "Y" + }, + "name": "unnamedWire#67", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#6", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EOVR" + }, + "name": "unnamedWire#66", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#9", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EZ" + }, + "name": "unnamedWire#69", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EC" + }, + "name": "unnamedWire#68", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y000" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I000" + }, + "name": "unnamedWire#121", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "CT" + }, + "name": "unnamedWire#122", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I001" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y001" + }, + "name": "unnamedWire#120", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#6", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S0" + }, + "name": "unnamedWire#125", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S1" + }, + "pin2": { + "compName": "GUISplitter#6", + "pinName": "O1" + }, + "name": "unnamedWire#126", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#70", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" + }, + "name": "unnamedWire#123", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#6", + "pinName": "I" + }, + "pin2": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_MUX" + }, + "name": "unnamedWire#124", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "B" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y2" + }, + "name": "unnamedWire#72", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I0" + }, + "name": "unnamedWire#129", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUINandGate#9", + "pinName": "B" + }, + "name": "unnamedWire#71", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUINandGate#6", + "pinName": "B" + }, + "name": "unnamedWire#74", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#6", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S2" + }, + "name": "unnamedWire#127", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUINandGate#7", + "pinName": "B" + }, + "name": "unnamedWire#73", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_EXP" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#9", + "pinName": "S0" + }, + "name": "unnamedWire#128", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A2" + }, + "name": "unnamedWire#76", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A1" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_EZ" + }, + "name": "unnamedWire#75", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EOVR" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A4" + }, + "name": "unnamedWire#78", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A3" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_EN" + }, + "name": "unnamedWire#77", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "Am2904", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": {} + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904MSR.json b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904MSR.json new file mode 100644 index 00000000..3296f39c --- /dev/null +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904MSR.json @@ -0,0 +1,1895 @@ +mograsim version: 0.1.3 +{ + "width": 45.0, + "height": 46.0, + "interfacePins": [ + { + "location": { + "x": 4.0, + "y": 46.0 + }, + "name": "MUX", + "logicWidth": 3 + }, + { + "location": { + "x": 45.0, + "y": 19.0 + }, + "name": "Q", + "logicWidth": 4 + }, + { + "location": { + "x": 27.5, + "y": 46.0 + }, + "name": "COVD_EN", + "logicWidth": 1 + }, + { + "location": { + "x": 14.0, + "y": 46.0 + }, + "name": "C", + "logicWidth": 1 + }, + { + "location": { + "x": 5.5, + "y": 0.0 + }, + "name": "_EZ", + "logicWidth": 1 + }, + { + "location": { + "x": 37.5, + "y": 46.0 + }, + "name": "COVD_V", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 5.0 + }, + "name": "mu", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 18.0 + }, + "name": "Y", + "logicWidth": 4 + }, + { + "location": { + "x": 0.0, + "y": 31.0 + }, + "name": "I", + "logicWidth": 4 + }, + { + "location": { + "x": 25.5, + "y": 0.0 + }, + "name": "_EN", + "logicWidth": 1 + }, + { + "location": { + "x": 15.5, + "y": 0.0 + }, + "name": "_EC", + "logicWidth": 1 + }, + { + "location": { + "x": 35.5, + "y": 0.2 + }, + "name": "_EOVR", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.1, + "subComps": [ + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", + "pos": { + "x": 89.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", + "pos": { + "x": 194.0, + "y": 234.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 325.0, + "y": 90.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", + "pos": { + "x": 319.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", + "pos": { + "x": 319.0, + "y": 294.0 + }, + "params": 1 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#3", + "pos": { + "x": 5.0, + "y": 295.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 45.0, + "y": 425.0 + }, + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#1", + "pos": { + "x": 5.0, + "y": 165.0 + }, + "params": 4 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 414.0, + "y": 174.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 29.0, + "y": 284.0 + }, + "params": 1 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 5.0, + "y": 35.0 + }, + "params": 4 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 424.0, + "y": 194.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 419.0, + "y": 184.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 84.0, + "y": 344.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 429.0, + "y": 204.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 29.0, + "y": 254.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 94.0, + "y": 364.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 49.0, + "y": 114.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 74.0, + "y": 314.0 + }, + "params": 1 + }, + { + "id": "GUIdff4_finewe", + "name": "GUIdff4_finewe#0", + "pos": { + "x": 375.0, + "y": 170.0 + } + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 35.0, + "y": 250.0 + } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 89.0, + "y": 84.0 + }, + "params": 1 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 55.0, + "y": 110.0 + } + }, + { + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 100.0, + "y": 330.0 + } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", + "pos": { + "x": 19.0, + "y": 294.0 + }, + "params": 1 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 150.0, + "y": 280.0 + } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", + "pos": { + "x": 89.0, + "y": 94.0 + }, + "params": 1 + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", + "pos": { + "x": 200.0, + "y": 230.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#4", + "pos": { + "x": 110.0, + "y": 60.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#7", + "pos": { + "x": 325.0, + "y": 290.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#6", + "pos": { + "x": 250.0, + "y": 180.0 + } + }, + { + "id": "GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 435.0, + "y": 175.0 + }, + "params": 4 + }, + { + "id": "GUIand", + "name": "DeserializedSubmodelComponent#8", + "pos": { + "x": 380.0, + "y": 85.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A3" + }, + "name": "unnamedWire#36", + "path": [ + { + "x": 425.0, + "y": 390.0 + }, + { + "x": 90.0, + "y": 390.0 + }, + { + "x": 90.0, + "y": 355.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#35", + "path": [ + { + "x": 420.0, + "y": 385.0 + }, + { + "x": 85.0, + "y": 385.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_3" + }, + "name": "unnamedWire#79", + "path": [ + { + "x": 205.0, + "y": 85.0 + }, + { + "x": 205.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O0" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#37", + "path": [ + { + "x": 430.0, + "y": 395.0 + }, + { + "x": 95.0, + "y": 395.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_4" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#39", + "path": [ + { + "x": 85.0, + "y": 325.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_1" + }, + "name": "unnamedWire#81", + "path": [ + { + "x": 215.0, + "y": 65.0 + }, + { + "x": 215.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y2" + }, + "name": "unnamedWire#80", + "path": [ + { + "x": 210.0, + "y": 205.0 + }, + { + "x": 210.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "name": "unnamedWire#83", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "S0" + }, + "name": "unnamedWire#82", + "path": [ + { + "x": 245.0, + "y": 445.0 + }, + { + "x": 245.0, + "y": 185.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_3" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#41", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S0" + }, + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_2" + }, + "name": "unnamedWire#40", + "path": [ + { + "x": 95.0, + "y": 305.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "COVD_EN" + }, + "name": "unnamedWire#84", + "path": [ + { + "x": 275.0, + "y": 295.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I0" + }, + "name": "unnamedWire#87", + "path": [ + { + "x": 305.0, + "y": 195.0 + }, + { + "x": 305.0, + "y": 305.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#42", + "path": [ + { + "x": 30.0, + "y": 230.0 + }, + { + "x": 50.0, + "y": 230.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "COVD_V" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I1" + }, + "name": "unnamedWire#86", + "path": [ + { + "x": 375.0, + "y": 325.0 + }, + { + "x": 320.0, + "y": 325.0 + }, + { + "x": 320.0, + "y": 315.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#45", + "path": [ + { + "x": 50.0, + "y": 105.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" + }, + "name": "unnamedWire#89", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_1" + }, + "name": "unnamedWire#44", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "D2" + }, + "name": "unnamedWire#88", + "path": [ + { + "x": 365.0, + "y": 295.0 + }, + { + "x": 365.0, + "y": 235.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_3" + }, + "name": "unnamedWire#47", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_4" + }, + "name": "unnamedWire#49", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" + }, + "name": "unnamedWire#48", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q2" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I1" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I0" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q1" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "name": "unnamedWire#90", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "name": "unnamedWire#92", + "path": [ + { + "x": 320.0, + "y": 95.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#91", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EOVR" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE4" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 355.0, + "y": 30.0 + }, + { + "x": 355.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#50", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "C" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 140.0, + "y": 415.0 + }, + { + "x": 255.0, + "y": 415.0 + }, + { + "x": 255.0, + "y": 280.0 + }, + { + "x": 340.0, + "y": 280.0 + }, + { + "x": 340.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_3" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#52", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "O" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Q" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "mu" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_1" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#54", + "path": [ + { + "x": 90.0, + "y": 75.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EZ" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE1" + }, + "name": "unnamedWire#4", + "path": [ + { + "x": 55.0, + "y": 15.0 + }, + { + "x": 370.0, + "y": 15.0 + }, + { + "x": 370.0, + "y": 185.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_2" + }, + "name": "unnamedWire#53", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 35.0, + "y": 35.0 + }, + { + "x": 35.0, + "y": 125.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A2" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#56", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" + }, + "name": "unnamedWire#3", + "path": [ + { + "x": 155.0, + "y": 20.0 + }, + { + "x": 365.0, + "y": 20.0 + }, + { + "x": 365.0, + "y": 90.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EN" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE3" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 255.0, + "y": 25.0 + }, + { + "x": 360.0, + "y": 25.0 + }, + { + "x": 360.0, + "y": 205.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A4" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#55", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 25.0, + "y": 55.0 + }, + { + "x": 25.0, + "y": 145.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O2" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#58", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 30.0, + "y": 135.0 + }, + { + "x": 30.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_1" + }, + "name": "unnamedWire#57", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "name": "unnamedWire#16", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 20.0, + "y": 155.0 + }, + { + "x": 20.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" + }, + "name": "unnamedWire#59", + "path": [ + { + "x": 20.0, + "y": 245.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#61", + "path": [ + { + "x": 75.0, + "y": 265.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" + }, + "name": "unnamedWire#60", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" + }, + "name": "unnamedWire#63", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" + }, + "name": "unnamedWire#62", + "path": [ + { + "x": 80.0, + "y": 325.0 + }, + { + "x": 80.0, + "y": 275.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" + }, + "name": "unnamedWire#65", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "MUX" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "I" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 40.0, + "y": 435.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" + }, + "name": "unnamedWire#64", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O1" + }, + "pin2": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "name": "unnamedWire#67", + "path": [ + { + "x": 195.0, + "y": 435.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "B" + }, + "name": "unnamedWire#23", + "path": [ + { + "x": 25.0, + "y": 305.0 + }, + { + "x": 25.0, + "y": 265.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#3", + "pinName": "I" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" + }, + "name": "unnamedWire#66", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "S0" + }, + "name": "unnamedWire#69", + "path": [ + { + "x": 105.0, + "y": 235.0 + }, + { + "x": 105.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#24", + "path": [ + { + "x": 60.0, + "y": 425.0 + }, + { + "x": 60.0, + "y": 415.0 + }, + { + "x": 30.0, + "y": 415.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "S0" + }, + "name": "unnamedWire#68", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I2" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q3" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q4" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#28", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "D4" + }, + "name": "unnamedWire#70", + "path": [ + { + "x": 295.0, + "y": 215.0 + }, + { + "x": 295.0, + "y": 255.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE2" + }, + "name": "unnamedWire#72", + "path": [ + { + "x": 420.0, + "y": 90.0 + }, + { + "x": 420.0, + "y": 110.0 + }, + { + "x": 365.0, + "y": 110.0 + }, + { + "x": 365.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "D3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y3" + }, + "name": "unnamedWire#71", + "path": [ + { + "x": 300.0, + "y": 245.0 + }, + { + "x": 300.0, + "y": 205.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_1" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" + }, + "name": "unnamedWire#74", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "D1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y1" + }, + "name": "unnamedWire#73", + "path": [ + { + "x": 310.0, + "y": 225.0 + }, + { + "x": 310.0, + "y": 185.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_3" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y2" + }, + "name": "unnamedWire#76", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" + }, + "name": "unnamedWire#31", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_3" + }, + "name": "unnamedWire#75", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A1" + }, + "name": "unnamedWire#34", + "path": [ + { + "x": 415.0, + "y": 380.0 + }, + { + "x": 80.0, + "y": 380.0 + }, + { + "x": 80.0, + "y": 335.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" + }, + "name": "unnamedWire#78", + "path": [ + { + "x": 200.0, + "y": 225.0 + }, + { + "x": 200.0, + "y": 95.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" + }, + "name": "unnamedWire#33", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_1" + }, + "name": "unnamedWire#77", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "MSR", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "standard", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": {} + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904TestLogic.json b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904TestLogic.json new file mode 100644 index 00000000..26928e50 --- /dev/null +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904TestLogic.json @@ -0,0 +1,765 @@ +mograsim version: 0.1.3 +{ + "width": 60.0, + "height": 90.0, + "interfacePins": [ + { + "location": { + "x": 60.0, + "y": 60.0 + }, + "name": "Y101", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 20.0 + }, + "name": "Y001", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 50.0 + }, + "name": "Y100", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 80.0 + }, + "name": "Y111", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I", + "logicWidth": 4 + }, + { + "location": { + "x": 60.0, + "y": 40.0 + }, + "name": "Y011", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 10.0 + }, + "name": "Y000", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 70.0 + }, + "name": "Y110", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 30.0 + }, + "name": "Y010", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.4, + "subComps": [ + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 45.0, + "y": 50.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 85.0, + "y": 20.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#3", + "pos": { + "x": 45.0, + "y": 105.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#2", + "pos": { + "x": 120.0, + "y": 15.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 34.0, + "y": 99.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 29.0, + "y": 129.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 5.0, + "y": 110.0 + }, + "params": 4 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 79.0, + "y": 24.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 79.0, + "y": 34.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 24.0, + "y": 119.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 19.0, + "y": 74.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 74.0, + "y": 59.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 39.0, + "y": 64.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 24.0, + "y": 149.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 74.0, + "y": 119.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#5", + "pos": { + "x": 80.0, + "y": 165.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 39.0, + "y": 109.0 + }, + "params": 1 + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 40.0, + "y": 20.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#4", + "pos": { + "x": 80.0, + "y": 115.0 + }, + "params": 1 + } + ], + "innerWires": [ + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 115.0, + "y": 60.0 + }, + { + "x": 115.0, + "y": 30.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y000" + }, + "name": "unnamedWire#16", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y001" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 80.0, + "y": 50.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#17", + "path": [ + { + "x": 25.0, + "y": 110.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 20.0, + "y": 110.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y011" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#4", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y100" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y010" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#4", + "pinName": "B" + }, + "name": "unnamedWire#24", + "path": [ + { + "x": 70.0, + "y": 115.0 + }, + { + "x": 70.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#4", + "pinName": "A" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "Y110" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "Y" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "Y101" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#28", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#5", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#30", + "path": [ + { + "x": 75.0, + "y": 170.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 110.0, + "y": 20.0 + }, + { + "x": 110.0, + "y": 30.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "B" + }, + "name": "unnamedWire#32", + "path": [ + { + "x": 25.0, + "y": 180.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "B" + }, + "name": "unnamedWire#4", + "path": [ + { + "x": 35.0, + "y": 35.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 40.0, + "y": 120.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "A" + }, + "name": "unnamedWire#3", + "path": [ + { + "x": 30.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 40.0, + "y": 55.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 35.0, + "y": 140.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 20.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "Y111" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#33", + "path": [ + { + "x": 30.0, + "y": 200.0 + } + ] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "Test\nlogic", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": {} + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904muSR.json b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904muSR.json new file mode 100644 index 00000000..fa3ed355 --- /dev/null +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904muSR.json @@ -0,0 +1,1081 @@ +mograsim version: 0.1.3 +{ + "width": 45.0, + "height": 46.0, + "interfacePins": [ + { + "location": { + "x": 4.0, + "y": 46.0 + }, + "name": "MUX", + "logicWidth": 2 + }, + { + "location": { + "x": 45.0, + "y": 19.0 + }, + "name": "Q", + "logicWidth": 4 + }, + { + "location": { + "x": 27.5, + "y": 46.0 + }, + "name": "CINV", + "logicWidth": 1 + }, + { + "location": { + "x": 14.0, + "y": 46.0 + }, + "name": "C", + "logicWidth": 1 + }, + { + "location": { + "x": 5.5, + "y": 0.0 + }, + "name": "_EZ", + "logicWidth": 1 + }, + { + "location": { + "x": 37.5, + "y": 46.0 + }, + "name": "OVRRET", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 31.0 + }, + "name": "I", + "logicWidth": 4 + }, + { + "location": { + "x": 25.5, + "y": 0.0 + }, + "name": "_EN", + "logicWidth": 1 + }, + { + "location": { + "x": 15.5, + "y": 0.0 + }, + "name": "_EC", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 13.5 + }, + "name": "M", + "logicWidth": 4 + }, + { + "location": { + "x": 35.5, + "y": 0.0 + }, + "name": "_EOVR", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.1, + "subComps": [ + { + "id": "GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 215.0, + "y": 255.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 245.0, + "y": 245.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#2", + "pos": { + "x": 215.0, + "y": 235.0 + }, + "params": 1 + }, + { + "id": "GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 435.0, + "y": 175.0 + }, + "params": 4 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 45.0, + "y": 430.0 + }, + "params": 2 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#1", + "pos": { + "x": 5.0, + "y": 295.0 + }, + "params": 4 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 89.0, + "y": 224.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 89.0, + "y": 234.0 + }, + "params": 1 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 5.0, + "y": 120.0 + }, + "params": 4 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 429.0, + "y": 204.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 89.0, + "y": 214.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 209.0, + "y": 244.0 + }, + "params": 1 + }, + { + "id": "GUIdff4_finewe", + "name": "GUIdff4_finewe#0", + "pos": { + "x": 375.0, + "y": 170.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 100.0, + "y": 190.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 45.0, + "y": 240.0 + } + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 215.0, + "y": 200.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "CINV" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" + }, + "name": "unnamedWire#36", + "path": [ + { + "x": 275.0, + "y": 390.0 + }, + { + "x": 190.0, + "y": 390.0 + }, + { + "x": 190.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "C" + }, + "name": "unnamedWire#38", + "path": [ + { + "x": 140.0, + "y": 325.0 + }, + { + "x": 345.0, + "y": 325.0 + }, + { + "x": 345.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE1" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_EZ" + }, + "name": "unnamedWire#37", + "path": [ + { + "x": 370.0, + "y": 185.0 + }, + { + "x": 370.0, + "y": 5.0 + }, + { + "x": 55.0, + "y": 5.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EOVR" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE4" + }, + "name": "unnamedWire#39", + "path": [ + { + "x": 355.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE2" + }, + "name": "unnamedWire#41", + "path": [ + { + "x": 155.0, + "y": 10.0 + }, + { + "x": 365.0, + "y": 10.0 + }, + { + "x": 365.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "_WE3" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_EN" + }, + "name": "unnamedWire#40", + "path": [ + { + "x": 360.0, + "y": 205.0 + }, + { + "x": 360.0, + "y": 15.0 + }, + { + "x": 255.0, + "y": 15.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "D2" + }, + "name": "unnamedWire#43", + "path": [ + { + "x": 310.0, + "y": 205.0 + }, + { + "x": 310.0, + "y": 235.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "D1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y1" + }, + "name": "unnamedWire#42", + "path": [ + { + "x": 315.0, + "y": 225.0 + }, + { + "x": 315.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y4" + }, + "name": "unnamedWire#45", + "path": [ + { + "x": 160.0, + "y": 245.0 + }, + { + "x": 160.0, + "y": 225.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "D3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y3" + }, + "name": "unnamedWire#44", + "path": [ + { + "x": 305.0, + "y": 245.0 + }, + { + "x": 305.0, + "y": 225.0 + }, + { + "x": 170.0, + "y": 225.0 + }, + { + "x": 170.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#47", + "path": [ + { + "x": 210.0, + "y": 240.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "D4" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#48", + "path": [ + { + "x": 210.0, + "y": 250.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "I1" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q2" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q1" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I0" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "M" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O0" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUIMerger#0", + "pinName": "O" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Q" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 25.0, + "y": 275.0 + }, + { + "x": 25.0, + "y": 140.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q4" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff4_finewe#0", + "pinName": "Q3" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I2" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 20.0, + "y": 150.0 + }, + { + "x": 20.0, + "y": 285.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 35.0, + "y": 255.0 + }, + { + "x": 35.0, + "y": 120.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 30.0, + "y": 130.0 + }, + { + "x": 30.0, + "y": 265.0 + } + ] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 90.0, + "y": 430.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "MUX" + }, + "pin2": { + "compName": "GUISplitter#2", + "pinName": "I" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 40.0, + "y": 435.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_4" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_2" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 90.0, + "y": 205.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_1" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_2" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#25", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" + }, + "name": "unnamedWire#27", + "path": [ + { + "x": 40.0, + "y": 235.0 + }, + { + "x": 40.0, + "y": 245.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_4" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#2", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S0" + }, + "name": "unnamedWire#28", + "path": [ + { + "x": 85.0, + "y": 440.0 + }, + { + "x": 85.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#30", + "path": [ + { + "x": 240.0, + "y": 245.0 + }, + { + "x": 240.0, + "y": 250.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "OVRRET" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#32", + "path": [ + { + "x": 375.0, + "y": 360.0 + }, + { + "x": 205.0, + "y": 360.0 + }, + { + "x": 205.0, + "y": 260.0 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 240.0, + "y": 260.0 + }, + { + "x": 240.0, + "y": 265.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#34", + "path": [ + { + "x": 430.0, + "y": 280.0 + }, + { + "x": 210.0, + "y": 280.0 + }, + { + "x": 210.0, + "y": 270.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#33", + "path": [] + } + ] + }, + "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererParams": { + "centerText": "muSR", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "standard", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": {} + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2910/GUIAm2910.json b/net.mograsim.logic.model.editor/components/am2910/GUIAm2910.json new file mode 100644 index 00000000..647afc30 --- /dev/null +++ b/net.mograsim.logic.model.editor/components/am2910/GUIAm2910.json @@ -0,0 +1,1138 @@ +mograsim version: 0.1.3 +{ + "width": 72.0, + "height": 67.0, + "interfacePins": [ + { + "location": { + "x": 60.0, + "y": 0.0 + }, + "name": "C", + "logicWidth": 1 + }, + { + "location": { + "x": 36.0, + "y": 0.0 + }, + "name": "D", + "logicWidth": 12 + }, + { + "location": { + "x": 72.0, + "y": 40.0 + }, + "name": "CI", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 6.0 + }, + "name": "_RLD", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I", + "logicWidth": 4 + }, + { + "location": { + "x": 19.0, + "y": 67.0 + }, + "name": "_MAP", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 44.0 + }, + "name": "_CCEN", + "logicWidth": 1 + }, + { + "location": { + "x": 49.0, + "y": 67.0 + }, + "name": "_OE", + "logicWidth": 1 + }, + { + "location": { + "x": 72.0, + "y": 14.0 + }, + "name": "_FULL", + "logicWidth": 1 + }, + { + "location": { + "x": 38.0, + "y": 67.0 + }, + "name": "Y", + "logicWidth": 12 + }, + { + "location": { + "x": 13.0, + "y": 67.0 + }, + "name": "_PL", + "logicWidth": 1 + }, + { + "location": { + "x": 25.0, + "y": 67.0 + }, + "name": "_VECT", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 38.0 + }, + "name": "_CC", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.2, + "subComps": [ + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 10.0, + "y": 210.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIram5_12", + "name": "GUIram5_12#0", + "pos": { + "x": 305.0, + "y": 100.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 40.0, + "y": 185.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIdff12", + "name": "GUIdff12#0", + "pos": { + "x": 305.0, + "y": 160.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIinc12", + "name": "GUIinc12#0", + "pos": { + "x": 305.0, + "y": 190.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#3", + "pos": { + "x": 265.0, + "y": 150.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 294.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 324.0, + "y": 149.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 179.0, + "y": 89.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 189.0, + "y": 274.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 4.0, + "y": 219.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 179.0, + "y": 14.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 299.0, + "y": 44.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer", + "name": "GUITriStateBuffer#0", + "pos": { + "x": 180.0, + "y": 290.0 + }, + "params": { + "logicWidth": 12, + "orientation": "DOWN_ALT" + } + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 299.0, + "y": 79.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 299.0, + "y": 114.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 299.0, + "y": 169.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUInor12", + "name": "GUInor12#0", + "pos": { + "x": 190.0, + "y": 80.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#0", + "pos": { + "x": 160.0, + "y": 95.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA", + "name": "GUIAm2910InstrPLA#0", + "pos": { + "x": 80.0, + "y": 155.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910SP", + "name": "GUIAm2910SP#0", + "pos": { + "x": 305.0, + "y": 55.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#1", + "pos": { + "x": 260.0, + "y": 115.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#2", + "pos": { + "x": 345.0, + "y": 180.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12", + "name": "GUIsel4_12#0", + "pos": { + "x": 150.0, + "y": 175.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910RegCntr", + "name": "GUIAm2910RegCntr#0", + "pos": { + "x": 160.0, + "y": 25.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#36", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff12#0", + "pinName": "C" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910SP#0", + "pinName": "C" + }, + "name": "unnamedWire#37", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "C" + }, + "name": "unnamedWire#39", + "path": [] + }, + { + "pin1": { + "compName": "GUIinc12#0", + "pinName": "CI" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "CI" + }, + "name": "unnamedWire#41", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#40", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_MAP" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_MAP" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_PL" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_PL" + }, + "name": "unnamedWire#42", + "path": [ + { + "x": 85.0, + "y": 290.0 + }, + { + "x": 65.0, + "y": 290.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "I" + }, + "name": "unnamedWire#45", + "path": [ + { + "x": 70.0, + "y": 250.0 + }, + { + "x": 70.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_VECT" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_VECT" + }, + "name": "unnamedWire#44", + "path": [ + { + "x": 105.0, + "y": 290.0 + }, + { + "x": 125.0, + "y": 290.0 + } + ] + }, + { + "pin1": { + "compName": "GUIram5_12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#1", + "pinName": "" + }, + "name": "unnamedWire#47", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#0", + "pinName": "" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#3", + "pinName": "" + }, + "name": "unnamedWire#49", + "path": [] + }, + { + "pin1": { + "compName": "GUIinc12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#2", + "pinName": "" + }, + "name": "unnamedWire#48", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910SP#0", + "pinName": "B" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "B" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910SP#0", + "pinName": "A" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "A" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "D" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YR" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SB" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "C" + }, + "name": "unnamedWire#50", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YD" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SA" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#52", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "GUInor12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "R\u003d0" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 230.0, + "y": 90.0 + }, + { + "x": 230.0, + "y": 120.0 + }, + { + "x": 95.0, + "y": 120.0 + } + ] + }, + { + "pin1": { + "compName": "GUIinc12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff12#0", + "pinName": "D" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUITriStateBuffer#0", + "pinName": "EN" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_OE" + }, + "name": "unnamedWire#53", + "path": [ + { + "x": 245.0, + "y": 300.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YmuPC" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SD" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RDEC" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "DEC" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 120.0, + "y": 170.0 + }, + { + "x": 120.0, + "y": 55.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YF" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SC" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RWE" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "WE" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 115.0, + "y": 160.0 + }, + { + "x": 115.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI1" + }, + "pin2": { + "compName": "GUIAm2910SP#0", + "pinName": "STKI1" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 290.0, + "y": 230.0 + }, + { + "x": 290.0, + "y": 70.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI0" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 295.0, + "y": 220.0 + } + ] + }, + { + "pin1": { + "compName": "GUIram5_12#0", + "pinName": "WE" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#16", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910SP#0", + "pinName": "STKI0" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 295.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUIinc12#0", + "pinName": "A" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 325.0, + "y": 275.0 + } + ] + }, + { + "pin1": { + "compName": "GUIsel4_12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "GUIram5_12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "C" + }, + "name": "unnamedWire#19", + "path": [ + { + "x": 200.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "B" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "D" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUInor12#0", + "pinName": "D" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "A" + }, + "name": "unnamedWire#25", + "path": [ + { + "x": 145.0, + "y": 15.0 + }, + { + "x": 145.0, + "y": 150.0 + }, + { + "x": 160.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "D" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "GUITriStateBuffer#0", + "pinName": "IN" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_RLD" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "_RLD" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_CC" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "PASS" + }, + "name": "unnamedWire#28", + "path": [ + { + "x": 65.0, + "y": 195.0 + }, + { + "x": 65.0, + "y": 160.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_CCEN" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#32", + "path": [ + { + "x": 5.0, + "y": 225.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 5.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910SP#0", + "pinName": "_FULL" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_FULL" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#33", + "path": [ + { + "x": 35.0, + "y": 220.0 + }, + { + "x": 35.0, + "y": 200.0 + } + ] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "Am2910", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": {} + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2910/GUIAm2910_old.json b/net.mograsim.logic.model.editor/components/am2910/GUIAm2910_old.json new file mode 100644 index 00000000..ae71c6d0 --- /dev/null +++ b/net.mograsim.logic.model.editor/components/am2910/GUIAm2910_old.json @@ -0,0 +1,1089 @@ +mograsim version: 0.1.3 +{ + "width": 72.0, + "height": 61.0, + "interfacePins": [ + { + "location": { + "x": 19.0, + "y": 61.0 + }, + "name": "_MAP", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 44.0 + }, + "name": "_CCEN", + "logicWidth": 1 + }, + { + "location": { + "x": 60.0, + "y": 0.0 + }, + "name": "C", + "logicWidth": 1 + }, + { + "location": { + "x": 36.0, + "y": 0.0 + }, + "name": "D", + "logicWidth": 12 + }, + { + "location": { + "x": 72.0, + "y": 14.0 + }, + "name": "_FULL", + "logicWidth": 1 + }, + { + "location": { + "x": 72.0, + "y": 40.0 + }, + "name": "CI", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 6.0 + }, + "name": "_RLD", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 50.0 + }, + "name": "I", + "logicWidth": 4 + }, + { + "location": { + "x": 38.0, + "y": 61.0 + }, + "name": "Y", + "logicWidth": 12 + }, + { + "location": { + "x": 13.0, + "y": 61.0 + }, + "name": "_PL", + "logicWidth": 1 + }, + { + "location": { + "x": 25.0, + "y": 61.0 + }, + "name": "_VECT", + "logicWidth": 1 + }, + { + "location": { + "x": 0.0, + "y": 38.0 + }, + "name": "_CC", + "logicWidth": 1 + } + ], + "submodel": { + "innerScale": 0.2, + "subComps": [ + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 10.0, + "y": 210.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIram5_12", + "name": "GUIram5_12#0", + "pos": { + "x": 305.0, + "y": 100.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 40.0, + "y": 185.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIdff12", + "name": "GUIdff12#0", + "pos": { + "x": 305.0, + "y": 160.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIinc12", + "name": "GUIinc12#0", + "pos": { + "x": 305.0, + "y": 190.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#3", + "pos": { + "x": 265.0, + "y": 150.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 294.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 324.0, + "y": 149.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 179.0, + "y": 89.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 189.0, + "y": 274.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 4.0, + "y": 219.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#4", + "pos": { + "x": 179.0, + "y": 14.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 299.0, + "y": 44.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#6", + "pos": { + "x": 299.0, + "y": 79.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 299.0, + "y": 114.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 299.0, + "y": 169.0 + }, + "params": 1 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12", + "name": "GUIsel4_12#0", + "pos": { + "x": 150.0, + "y": 175.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.GUInor12", + "name": "GUInor12#0", + "pos": { + "x": 190.0, + "y": 80.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#0", + "pos": { + "x": 160.0, + "y": 95.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA", + "name": "GUIAm2910InstrPLA#0", + "pos": { + "x": 80.0, + "y": 155.0 + } + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910SP", + "name": "GUIAm2910SP#0", + "pos": { + "x": 305.0, + "y": 55.0 + } + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#1", + "pos": { + "x": 260.0, + "y": 115.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay", + "name": "GUIBitDisplay#2", + "pos": { + "x": 345.0, + "y": 180.0 + }, + "params": 12 + }, + { + "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910RegCntr", + "name": "GUIAm2910RegCntr#0", + "pos": { + "x": 160.0, + "y": 25.0 + } + } + ], + "innerWires": [ + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#36", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff12#0", + "pinName": "C" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910SP#0", + "pinName": "C" + }, + "name": "unnamedWire#37", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "C" + }, + "name": "unnamedWire#39", + "path": [] + }, + { + "pin1": { + "compName": "GUIinc12#0", + "pinName": "CI" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "CI" + }, + "name": "unnamedWire#41", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#40", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_MAP" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_MAP" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_PL" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_PL" + }, + "name": "unnamedWire#42", + "path": [ + { + "x": 85.0, + "y": 290.0 + }, + { + "x": 65.0, + "y": 290.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "I" + }, + "name": "unnamedWire#45", + "path": [ + { + "x": 70.0, + "y": 250.0 + }, + { + "x": 70.0, + "y": 175.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_VECT" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_VECT" + }, + "name": "unnamedWire#44", + "path": [ + { + "x": 105.0, + "y": 290.0 + }, + { + "x": 125.0, + "y": 290.0 + } + ] + }, + { + "pin1": { + "compName": "GUIram5_12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#1", + "pinName": "" + }, + "name": "unnamedWire#47", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#0", + "pinName": "" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#3", + "pinName": "" + }, + "name": "unnamedWire#49", + "path": [] + }, + { + "pin1": { + "compName": "GUIinc12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIBitDisplay#2", + "pinName": "" + }, + "name": "unnamedWire#48", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910SP#0", + "pinName": "B" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "B" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910SP#0", + "pinName": "A" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "A" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "D" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YR" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SB" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUIram5_12#0", + "pinName": "C" + }, + "name": "unnamedWire#50", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YD" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SA" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "GUInor12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "R\u003d0" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 230.0, + "y": 90.0 + }, + { + "x": 230.0, + "y": 120.0 + }, + { + "x": 95.0, + "y": 120.0 + } + ] + }, + { + "pin1": { + "compName": "GUIinc12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff12#0", + "pinName": "D" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YmuPC" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SD" + }, + "name": "unnamedWire#3", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RDEC" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "DEC" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 120.0, + "y": 170.0 + }, + { + "x": 120.0, + "y": 55.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YF" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SC" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RWE" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "WE" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 115.0, + "y": 160.0 + }, + { + "x": 115.0, + "y": 45.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI1" + }, + "pin2": { + "compName": "GUIAm2910SP#0", + "pinName": "STKI1" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 290.0, + "y": 230.0 + }, + { + "x": 290.0, + "y": 70.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI0" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#13", + "path": [ + { + "x": 295.0, + "y": 220.0 + } + ] + }, + { + "pin1": { + "compName": "GUIram5_12#0", + "pinName": "WE" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#16", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910SP#0", + "pinName": "STKI0" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 295.0, + "y": 60.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUIinc12#0", + "pinName": "A" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 325.0, + "y": 275.0 + } + ] + }, + { + "pin1": { + "compName": "GUIsel4_12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "GUIram5_12#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "C" + }, + "name": "unnamedWire#19", + "path": [ + { + "x": 200.0, + "y": 130.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "B" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "D" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUInor12#0", + "pinName": "D" + }, + "name": "unnamedWire#22", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "A" + }, + "name": "unnamedWire#25", + "path": [ + { + "x": 145.0, + "y": 15.0 + }, + { + "x": 145.0, + "y": 150.0 + }, + { + "x": 160.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "D" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_RLD" + }, + "pin2": { + "compName": "GUIAm2910RegCntr#0", + "pinName": "_RLD" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_CC" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "PASS" + }, + "name": "unnamedWire#28", + "path": [ + { + "x": 65.0, + "y": 195.0 + }, + { + "x": 65.0, + "y": 160.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_CCEN" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#32", + "path": [ + { + "x": 5.0, + "y": 225.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 5.0, + "y": 215.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2910SP#0", + "pinName": "_FULL" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_FULL" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#33", + "path": [ + { + "x": 35.0, + "y": 220.0 + }, + { + "x": 35.0, + "y": 200.0 + } + ] + } + ] + }, + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "symbolRendererParams": { + "centerText": "Am2910", + "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, + "pinLabelHeight": 3.5, + "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": {} + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardComponentIDMapping.json b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardComponentIDMapping.json index 14bb97ba..e510661a 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardComponentIDMapping.json +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardComponentIDMapping.json @@ -7,8 +7,12 @@ mograsim version: 0.1.3 "GUIAm2901ALUInclDecode": "file:components/am2901/GUIAm2901ALUInclDecode.json", "GUIAm2901ALUInclSourceDecodeInclFunctionDecode": "file:components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json", "GUIAm2901ALUOneBit": "file:components/am2901/GUIAm2901ALUOneBit.json", + "GUIAm2904": "file:components/am2904/GUIAm2904.json", + "GUIAm2904MSR": "file:components/am2904/GUIAm2904MSR.json", + "GUIAm2904muSR": "file:components/am2904/GUIAm2904muSR.json", "GUIAm2904RegCTInstrDecode": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904RegCTInstrDecode", "GUIAm2904ShiftInstrDecode": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904ShiftInstrDecode", + "GUIAm2904TestLogic": "file:components/am2904/GUIAm2904TestLogic.json", "GUIAm2901DestDecode": "file:components/am2901/GUIAm2901DestDecode.json", "GUIAm2901SourceDecode": "file:components/am2901/GUIAm2901SourceDecode.json", "GUIAm2910InstrPLA": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA", @@ -35,6 +39,9 @@ mograsim version: 0.1.3 "GUIinc12": "class:net.mograsim.logic.model.am2900.components.GUIinc12", "GUImux1": "file:components/GUImux1.json", "GUImux1_4": "file:components/GUImux1_4.json", + "GUImux2": "file:components/GUImux2.json", + "GUImux2_4": "file:components/GUImux2_4.json", + "GUImux3": "file:components/GUImux3.json", "GUInand3": "file:components/GUInand3.json", "GUInor12": "class:net.mograsim.logic.model.am2900.components.GUInor12", "GUInot4": "file:components/GUInot4.json", @@ -43,6 +50,7 @@ mograsim version: 0.1.3 "GUIram2": "file:components/GUIram2.json", "GUIram4": "file:components/GUIram4.json", "GUIram5_12": "class:net.mograsim.logic.model.am2900.components.GUIram5_12", + "GUIsel1": "file:components/GUIsel1.json", "GUIsel2_4": "file:components/GUIsel2_4.json", "GUIsel3_4": "file:components/GUIsel3_4.json", "GUIsel4_12": "class:net.mograsim.logic.model.am2900.components.GUImux4_12", -- 2.17.1